Pakete Installieren für Newbies => "The Linux Way to do it"

Status
Für weitere Antworten geschlossen.

Rain_Maker

Administrator
Teammitglied
Pakete Installieren für Newbies => "The Linux Way to do it"

Ziel dieses kleinen HowTos ist es, einem Einsteiger die richtige Weise nahe zu bringen, wie man sich ein bestimmtes Softwarepaket sauber und "the Linux Way" auf den Rechner bringt.
Dabei werden die häufigsten Fehler, die von Neulingen gemacht werden, angesprochen und das Prinzip und die Vorteile des Paketmanagements erläutert.

Teil 1: Die häufigsten Fehler und der Paketmanager als Lösung

Fehler Nr.1

Ich will *Programxyz* installieren, dazu habe ich mir *Programxyz* als tar.gz/bz2 heruntergeladen und entpackt, nun bekomme ich Fehler bei ...
STOP!

Zu 99% ist ein Selbstkompilieren eines Paketes NICHT notwendig, meist gibt es fertige Pakete als rpm (oder deb bei Debian und Derivaten).

Wo kann man nach Paketen suchen? (und NICHT mehr!)

rpmseek.com - Die Suchmaschine für Linux rpm und Debian Pakete

RPM Search

Diese Adressen eigenen sich ausgezeichnet zum Suchen nach Paketen, nicht mehr und nicht weniger. Sonst kommt es oft zu ..

Fehler Nr.2

Ich will *Programxyz* installieren, dazu habe ich mir *Programxyz* als rpm bei *einer der beiden obigen Adressen* heruntergeladen, nun bekomme ich Fehler "unresolved Dependencies" oder "nicht erfüllte Abhängigkeiten" bei ......
STOP!

Recht oft wird das erstbeste Paket genommen, dessen Name zu passen scheint, oft nicht einmal für die richtige Distribution.

Ein Paket wie z.B.

kopete-0.7.5-0.92mdk.i586.rpm

ist für "Mandrake 9.2", eines wie

kopete-0.9.2-1.guru.suse92.kde33.i686.rpm

ist für SuSE 9.2 und KDE 3.3, beide werden z.B. auf einer SuSE 10.1 mit KDE 3.5.x sicher NICHT laufen.

Fehler Nr.3

Ich habe für meine Distribution *Distri_Version*ein Paket *Programmname_Distri_Version*.rpm gefunden ud bekomme beim Installieren immer noch Fehler mit "unresolved Dependencies" oder "nicht erfüllte Abhängigkeiten"....
STOP!

Die meisten Linux-Distributionen sind sehr modular aufgebaut. Ein Paket A benötigt die Programmbibliothek libB, welche wiederum von libC abhängen kann, usw. usw.....

Statt nun die benötigten Bibliotheken libB und libC mit in das rpm-Paket zu packen, setzten die Programmierer einfach diese Paket als Abhängigeit, da es meist ein paar Bibliotheken gibt, von denen viele Pakete abhängen. So ist es cleverer (und weniger Download!), diese Bibliothek in einem extra Paket anzubieten, damit sie nur einmal installiert werden muß.

Will ich dann später Programm D installieren, welches auch von libB und/oder libC abhängt, dann muß diese nicht noch einmal heruntergeladen werden.

Das ist übrigens unter Windows nicht anders, auch dort gibt es gemeinsame Programmbibliotheken (dll-Dateien), z.B. als anschauliches Beispiel die typischen Grafikbausteine eines GUI-Fensters mit den typischen Buttons und Menüs.
Es wäre doch Unsinn, wenn jedes Programm seine eigenen Knöpfe mitbringen müsste, vor allem, wenn man doch ein möglichst einheitliches Look&Feel haben will.
Allerdings wird dieses Prinzip unter Linux deutlich mehr verwendet und konsequenter umgesetzt.

Vorteil => Zu 95% sind die selben Programmpakete bei Linux deutlich kleiner als unter Windows.

Nachteil => Wer soll diese ganzen Abhängigkeiten denn Auflösen?

Lösung => Ein intelligenter Paketmanager, den praktisch jede Distribution heutzutage bietet und der diese Arbeit übernimmt.

Teil 2: Fallbeispiel und Vorgehensweise

Fallbeispiel vlc:

Ich möchte mir den -auch unter Windows beliebten- Mediaplayer vlc für meine SuSE installieren und fange mal bei "0" an, wie es sich gehört.

0. Ich bin mir aber nicht sicher, welche SuSE-Version ich habe.

Code:
cat /etc/SuSE-release
SUSE LINUX 10.1 (i586) OSS
VERSION = 10.1
=> Ich brauche Pakete für SuSE 10.1 und 32 Bit, also i586 oder i686.

1. Ich suche mir einen passenden Kandidaten.

RPM Search Suchbegriff vlc.

Hier ein paar Treffer

Code:
SuSE 10.X   packman.iu-bremen.de/suse/10.0/x86_64/vlc-0.8.5-2.pm.8.x86_64.rpm
[B]  SuSE 10.X   packman.iu-bremen.de/suse/10.1/i686/vlc-0.8.5-2.pm.8.i686.rpm[/B]
  SuSE 9.X   packman.iu-bremen.de/suse/9.3/i686/vlc-0.8.5-2.pm.8.i686.rpm
  SuSE 10.X   packman.iu-bremen.de/suse/10.0/i686/vlc-0.8.5-2.pm.8.i686.rpm
  [B]SuSE 10.X   packman.iu-bremen.de/suse/10.1/i586/vlc-0.8.5-2.pm.8.i586.rpm[/B]
  SuSE 9.X   packman.iu-bremen.de/suse/9.3/i586/vlc-0.8.5-2.pm.8.i586.rpm
Die Fett markierten kämen in Frage, alle anderen scheiden aus, weil sie entweder für eine andere SuSE-Version sind, oder aber die falsche Architektur haben (x86_64 = 64 Bit-System).

Aber => Alle Pakete scheinen von Packman zu stammen.

Schauen wir doch mal nach.

PackMan :: Startseite => Suchbegriff vlc

PackMan :: Informationen zum Paket vlc

Passt, es gibt Pakete auch für meine SuSE-Version als i586 oder i686. Das ist beides OK, das lassen wir den Paketmanager entscheiden.

Ein Blick in die Rubrik "Abhängigkeiten" zeigt uns:

Code:
Abhängigkeiten:
  libdvbpsi4: libdvbpsi4-0.1.5-1.pm.1.i586.rpm
  libmpcdec: libmpcdec-1.2.2-1.pm.2.i586.rpm
  mad: mad-0.15.1b-1.pm.3.i586.rpm
  libdca: libdca-0.0.2-1.i586.rpm
  faad2: faad2-2.5-0.pm.2.i586.rpm
  speex: speex-1.1.99_1.2beta1-0.pm.0.i586.rpm
  libcddb: libcddb-1.3.0-0.pm.0.i586.rpm
  xvid: xvid-1.1.2-0.pm.0.i586.rpm
  x264: x264-0.0svn20061031-1.i586.rpm
  ffmpeg: libffmpeg0-0.4.9-8.pm.svn20061008.i586.rpm
=> Keine Chance, das in vernünftiger Zeit von Hand aufzulösen.
Packman-Pakete haben aber den großen Vorteil, daß sie so gebaut werden, daß bis auf Pakete, die es bei Packman selbst gibt nur Abhängigkeiten zu Paketen auftreten können, die von SuSE selbst kommen, also auf der DVD bzw. den CDs sein müssen.

=> Ich binde mir Packman als Installationsquelle ein und installiere den vlc über meinen Paketmanager, der den Rest erledigt und die zusätzlich benötigten Pakete automatisch mitinstalliert.
Ein weiterer Vorteil dieser Mehrarbeit ist, daß mir ab sofort ALLE weiteren Pakete von Packman über diesen Weg zur Verfügung stehen (und das sind eine ganze Menge).


Vorgehensweise (erklärt für Yast, APT und smart)

Dazu brauche ich eine passende Online-Quelle, hierzu gibt es eines zu sagen.

Verwendet MIRROR-Server, um die Server von SuSE zu entlasten, eine Liste von Mirrors findet ihr hier:

Mirrors Released Version - openSUSE

Mirrors Development Build - openSUSE

Ich werde im Folgenden den Mirror-Server [noparse]ftp://ftp.gwdg.de[/noparse] verwenden, bei anderen Mirrors sind die Verzeichnisse anzupassen, der Weg ist jedoch analog.

1. Yast.

a) Quelle einbinden

- Yast => Software => Installationsquelle wechseln

- Hinzufügen => URL

Code:
ftp://ftp.gwdg.de/pub/linux/misc/packman/suse/10.1
- Aktualisieren "AN" und Aktivieren "AN" => etwas warten, bis die Paketliste heruntergeladen wurde.

b) Installieren

Yast ==> Software ==> Software installieren

- Nach vlc suchen, ankreuzen => Übernehmen => Fertig.

Weitere Informationen zur Paketverwaltung mit Yast findet man hier:

http://www.pc-forum24.de/showthread.php?t=1132

http://www.pc-forum24.de/showthread.php?t=668

http://www.pc-forum24.de/showthread.php?t=569

2. APT

a) Quelle einbinden

Es gibt 2 Repositories, packman und packman i686.

- Als root mit einem Texteditor die Datei /etc/apt/sources.list öffnen

Code:
sudo kate /etc/apt/sources.list #KDE

sudo gedit /etc/apt/sources.list #GNOME

sudo vi /etc/apt/sources.list #Hardcore-User *SCNR*
und folgende Zeile eintragen:

Code:
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/10.1-i386 packman-i686 packman
Die Reihenfolge ist dabei so gewählt, daß bei gleicher Versionsnummer das i686-Paket bevorzugt wird.

b) Installieren

Nun ein beherztes
Code:
sudo apt update 

sudo apt install vlc
und fertig.

Mehr zu APT und Beispiele für eine sources.list finden sich hier:

http://www.pc-forum24.de/showthread.php?t=632

http://www.pc-forum24.de/showthread.php?t=50

http://www.pc-forum24.de/showthread.php?t=678

http://www.pc-forum24.de/showthread.php?t=1016

3. smart

a) Quelle einbinden. Hier tritt eine Besonderheit und Stärke von smart auf, da dieser Paketmanager sowohl Quellen für Yast als auch für APT und noch einige weitere Formate verwenden kann. Ich werde als Beispiel ein rpm-md Repository verwenden.

Ich lege mir eine Datei "Packman.txt" mit folgendem Inhalt an.

Code:
[packman]
type = rpm-md
name = Packman 3rd Party Package Repository
baseurl = ftp://ftp.gwdg.de/pub/linux/misc/packman/suse/10.1

Code:
sudo smart channel --add /Pfad/zur/Datei/Packman.txt
und bestätigen.

b) Installation

Code:
sudo smart update

sudo smart install vlc
fertig.

Mehr zur Einrichtung von smart findet sich hier:

http://www.pc-forum24.de/showthread.php?t=1678

Eine umfangreiche Channellliste findet sich bei Divine sowie im Linux-Club.

Smart Channel for openSUSE

Thema anzeigen - [TIP] Smart Channel SuSE-10.0 und SuSE 10.1, x86 und x86_64 - SuSE Linux

Schlußbemerkung:

Wer sich einmal die Mühe macht einen der oben genannten Paketmanager mit einer sorgfältig ausgewählten Liste von Installationsquellen einzurichten, der wird viel Spaß an seinem Linux-System haben und wenig Ärger mit der Installation von Software. Auch wenn hier die Verwendung von APT/smart auf der Kommandozeile demonstriert wird, es gibt für beide schöne. bunte GUIs (synaptic für apt und smart-gui für smart).

Greetz,

RM
 

Rain_Maker

Administrator
Teammitglied
AW: Pakete Installieren für Newbies => "The Linux Way to do it"

Ab SuSE 10.1 empfiehlt sich zur Paketsuche als erste Anlaufstelle "Webpin".

http://benjiweber.co.uk:8080/webpin/

Des weiteren kann man sich das Tool "Webpin", welches ein in python geschriebener Konsolenclient für die obige Websuche ist, für seine Distribution von hier installieren.

Index of /repositories/openSUSE:/Tools

Die Bedienung ist eigentlich selbsterklärend.

Code:
webpin *Suchbegriff*
Der Schalter "-u" ist außerdem allgemein sehr zu empfehlen.

Für weitere Optionen:

Code:
webpin --help
Greetz,

RM
 

Rain_Maker

Administrator
Teammitglied
AW: Pakete Installieren für Newbies => "The Linux Way to do it"

Weitere Möglichkeiten zur Softwaresuche:

Software.openSUSE.org

Hier besteht auch die Möglichkeit zur sogenannten "1-Click-Installation", ich möchte allerdings _ausdrücklich_ darauf hinweisen, daß man die Meldungen, die YaST bei diesem Vorgang ausspuckt, _genaustens_ lesen sollte.

So sollte man sich gut überlegen, ob man die Repositories, welche für die "1-Click"-Installation hinzugefügt werden (müssen) behalten möchte oder nicht.

Im Zweifelsfall => Finger weg, denn auch wenn diese Methode sehr "Newbiefreundlich" aussieht, ist sie IMHO für absolute Einsteiger nicht ungefährlich, der Weg über das Einbinden empfohlener Quellen und ein Kennenlernen des Prinzips "Paketmanager" sollte zuerst gegangen werden, bevor man sich wahllos irgendwelche Pakete über diese "1-Click" Installation ins System prügelt.

Die Seite für die "Webpin" Online-Suche (siehe letztes Posting) hat sich mittlerweile geändert:

Webpin

Der Service ist nun deutlich schneller und zuverlässiger (kein Wunder, da der Entwickler diese Seite zuvor auf seinem eigenen Server gehostet hat).

Greetz,

RM
 
Status
Für weitere Antworten geschlossen.
Oben