Software über die Kommandozeile installieren

Aus EasyLinux 03/2007

Software über die Kommandozeile installieren

Verflixt und zugenäht

Programme auf der Kommandozeile zu installieren, ist nicht schwieriger, als einen Knopf von Hand anzunähen – wenn man weiß, wie es funktioniert.

Es gibt Aufgaben, die erledigt ein erfahrener Linux-Benutzer auf der Kommandozeile wesentlich schneller als über eine grafische Oberfläche. Dazu gehört auch das Paketmanagement. Mandriva Linux, OpenSuse und Ubuntu benutzen dafür jeweils unterschiedliche Programme. Es gibt aber auch Paketmanager, die unter allen drei Distributionen funktionieren, zum Beispiel Smart [1], [2]. Dieses Guru-Training konzentriert sich auf Kommandozeilentools, die die drei EasyLinux-Distributionen von Haus aus mitbringen: urpmi (Mandriva Linux), zypper (OpenSuse) und apt-get (Ubuntu).

Verwechseln Sie diese Tools nicht mit dem eigentlichen Paketsystem: Mandriva Linux und OpenSuse basieren auf dem RPM-System (Red Hat Package Management), Ubuntu setzt das DEB-Paketsystem von Debian ein. Im Unterschied zu den Befehlen rpm und dpgk, mit denen Sie zwar Pakete abfragen, installieren und löschen können, sind urpmi, zypper und apt-get darauf spezialisiert, automatisch mehrere Pakete zu installieren.

Langsame Suse

Das Paketmanagement funktioniert unter Suse Linux seit Version 10.1 alles andere als schnell. Schuld daran ist eine Erweiterung, die eigentlich nur im Business-Bereich sinnvoll ist: der Zenworks Daemon (zmd). Dass Otto Normalbenutzer diesen nicht braucht, hat inzwischen auch Novell eingesehen: Ab Version 10.3 kommt die Novell-Distribution ohne den Ressourcenfresser. Auch unter Suse Linux 10.1 und OpenSuse 10.2 besteht die Möglichkeit, das System ohne den Zenworks-Daemon zu benutzen. Details dazu lesen Sie im Kasten “So werden Sie zmd los”. Unter Suse Linux 10.1 verwenden Sie ohne Zenworks auf der Kommandozeile am besten Smart. OpenSuse bringt bereits ein schlankes Kommandozeilentool mit: zypper.

So werden Sie zmd los

Nach einer Standardinstallation von Suse Linux 10.1 oder OpenSuse 10.2 ist der Zenworks-Daemon aktiv. Ob er auch auf Ihrem Rechner arbeitet, überprüfen Sie am einfachsten über die KDE-Prozessüberwachung: Drücken Sie zum Starten des Tools [Strg]+[Esc] und geben Sie dann in die Suchmaske den Buchstaben z ein. Erscheint zen-updater oder zmd in der Liste, benutzt Ihr System die Zenworks-Tools (Abbildung 1).

Abbildung 1: Die Prozesse     <code srcset=

zen-updater und zmd schlummern in der Regel vor sich hin. Beim Überprüfen von Updates belasten jedoch zusätzliche Prozesse die CPU, zum Beispiel update-status.” width=”300″ height=”140″ /> Abbildung 1: Die Prozesse zen-updater und zmd schlummern in der Regel vor sich hin. Beim Überprüfen von Updates belasten jedoch zusätzliche Prozesse die CPU, zum Beispiel update-status.

Um den hungrigen Daemon loszuwerden, öffnen Sie über [Alt]+[F2] und den Befehl kdesu konsole ein Terminalfenster mit Administratorrechten und geben hier folgenden Befehl ein:

rpm -e zen-updater zmd rug

Nach einem Reboot starten Sie nochmals die KDE-Prozessüberwachung und überprüfen, ob Sie dem Daemon wirklich den Garaus gemacht haben.

Mit zen-updater haben Sie allerdings auch das Miniprogramm gelöscht, das Sie regelmäßig über Updates informieren sollte. Unter OpenSuse 10.2 muss Sie das nicht weiter stören, hier installieren Sie einfach den alternativen OpenSuse-Updater (im Paket opensuseupdater). Benutzern von Suse Linux 10.1 steht nach dem Löschen von Zen-Updater kein Tool mehr zur Verfügung, das die Online-Updates anzeigt. Benutzen Sie deshalb regelmäßig das Online-Update-Modul von YaST, um keine Aktualisierungen zu verpassen.

Flott mit Zypper

Möchten Sie unter OpenSuse ein neues Programm installieren, starten Sie dazu in der Regel das Paketmanagement-Modul von YaST, tippen dann in der Suchmaske den gewünschten Begriff ein, markieren das Paket und klicken auf Anwenden. Der komplette Vorgang dauert selbst auf einem schnellen Rechner zwei bis drei Minuten. Erfahrene Anwender kennen in der Regel den Namen des gewünschten Pakets auswendig. Sie starten über [Alt]+[F2] und den Befehl kdesu konsole ein Terminal mit Root-Rechten und geben hier den Befehl zypper install Paketname ein. (Paketname müssen Sie dazu durch den Namen des zu installierenden Pakets ersetzen).

Der komplette Vorgang dauert je nach Anzahl der Paketquellen gut 30 Sekunden. Neben der Geschwindigkeit hat zypper noch weitere Vorteile. So können Sie mit dem Programm auch Installationsquellen verwalten, ohne dazu YaST zu starten. Für die tägliche Arbeit benötigen Sie in der Regel nur die zwei Befehle zypper search und zypper install. Beiden Kommandos geben Sie als Parameter den gewünschten Paketnamen mit. Zum Beispiel sucht

zypper search amarok

in sämtlichen Paketquellen nach der KDE-Jukebox Amarok. Seit Verson 0.6.15 unterstützt Zypper zudem die Option -d (description) und sucht dann nicht nur nach Paketnamen, sondern auch in den Beschreibungen. OpenSuse 10.2 installiert standardmäßig Version 0.6.13, per Online Update können Sie Version 0.6.15 einspielen. Die neueste Version von Zypper (0.7.1) finden Sie unter [3].

Um ein Paket zu installieren, genügt der Befehl

zypper install Paketname

Abhängigkeiten löst das Kommandozeilentool automatisch. Findet zypper mehrere Pakete mit dem Namen amarok, versucht es das neueste zu installieren. Um eine ältere Version oder eine Version aus einer bestimmten Paketquelle einzuspielen, müssen Sie zurzeit noch YaST benutzen. Dieses Feature steht aber auf der Todo-Liste der Zypper-Entwickler.

Möchten Sie ein Paket löschen, rufen Sie zypper remove datei.rpm auf, wobei Sie datei.rpm durch den Dateinamen des RPM-Pakets ersetzen müssen.

Das Kommandozeilentool von Suse hilft Ihnen auch, Aktualisierungen abzufragen und einzuspielen. Eine Liste sämtlicher Updates gibt Ihnen der Befehl zypper lu (list updates) aus. Um die Updates einzuspielen, genügt der Befehl zypper update oder dessen Kurzform zypper up.

Arbeiten mit Katalogen

Zypper nennt Installationsquellen Services bzw. Kataloge. Um eine Liste der verfügbaren Quellen anzuzeigen, geben Sie folgenden Befehl in einer Root-Konsole ein:

zypper sl

Die Abkürzung sl steht dabei für service-list. Abbildung 2 zeigt die Ausgabe des Befehls nach einer Standardinstallation mit zusätzlichen Quellen für das Online-Update und die proprietären Pakete von OpenSuse 10.2. In der ersten Spalte sehen Sie die Nummer der Quelle. Die nächsten zwei Spalten zeigen an, ob der Paketmanager diese Quellen benutzt (Enabled) und regelmäßig aktualisiert (Refresh). Die Spalte Type verrät, um welche Art von Installationsquelle es sich handelt. Zypper erkennt YaST-, YUM– und Repo-MD-Quellen. Unter Name steht in der Grundeinstellung das Datum, an dem die Quelle dem System hinzugefügt wurde. Die URI zeigt an, unter welcher Adresse der Paketmanager nach Software sucht.

Abbildung 2: Der Befehl     <code srcset=

zypper sl listet die vorhandenen Installationsquellen auf.” width=”300″ height=”186″ /> Abbildung 2: Der Befehl zypper sl listet die vorhandenen Installationsquellen auf.

Steht bei einer Quelle in der Spalte Enabled der Eintrag No, benutzt das System diese nicht zur Installation. Sie müssen die Quelle dann in YaST über Software / Installationsquelle wechseln einschalten.

Möchten Sie eine neue Installationsquelle hinzufügen, rufen Sie Zypper mit dem Befehl zypper service-add URIName auf. Als URI geben Sie die Adresse der Quelle an, den Namen können Sie frei wählen. Anstelle von service-add können Sie auch die Kurzform sa benutzen. Für das Packman-Repository auf dem Server der Universität Bremen lautet der komplette Aufruf zum Beispiel:

zypper sa http://packman.iu-bremen.de/suse/10.2/ packman

Der Paketmanager liest dann die Informationen zur Quelle ein und fragt Sie am Schluss, ob Sie dem Schlüssel der Paketbauer vertrauen und diesen in den Schlüsselring importieren möchten (Abbildung 3). Drücken Sie hier zwei mal [Y], um den Schlüssel zu übernehmen. Da der Vorgang je nach Paketquelle etwas länger dauern kann, empfiehlt es sich, zypper zusätzlich mit der Option -v zu starten. Das Tool gibt sich dann deutlich gesprächiger und Sie können den Fortschritt am Bildschirm mitverfolgen.

Abbildung 3: Mit dem Befehl     <code srcset=

zypper sa fügen Sie auf der Kommandozeile eine neue Paketquelle hinzu.” width=”300″ height=”140″ /> Abbildung 3: Mit dem Befehl zypper sa fügen Sie auf der Kommandozeile eine neue Paketquelle hinzu.

Möchten Sie eine Installationsquelle löschen, lassen Sie sich zunächst mit zypper sl die Liste der Kataloge ausgeben und merken sich die Nummer des Katalogs. Danach rufen Sie zypper service-delete Nummer auf.

Haben Sie die Paketquellen bisher über YaST verwaltet, besitzen die meisten Einträge vermutlich keinen sprechenden Namen, sondern nur einen Datumseintrag, zum Beispiel 20070524-105417. Um diesen zu ändern, benutzen Sie den Befehl zypper sr NummerName. Anstelle der Abkürzung sr können Sie auch service-rename schreiben:

zypper service-rename 1 Updates

Achten Sie beim Umbenennen mehrerer Paketquellen darauf, sich nach jedem service-rename-Befehl mit zypper sl wieder die Liste sämtlicher Services anzeigen zu lassen, da sich die Nummern verschieben.

Über die aufgezeigten Funktionen hinaus beherrscht zypper noch einige weitere. Am besten lesen Sie sich mit man zypper das Handbuch des Tools durch. Eine Übersicht über die wichtigsten Befehle zeigt auch die Tabelle “Vergleich der wichtigsten Funktionen”.

Vergleich der wichtigsten Funktionen

  Mandriva Suse Ubuntu
Suchen urpmi -y Paketname zypper search Paketname apt-cache search Paketname
Installieren urpmi Paketname zypper install Paketname apt-get install Paketname
Löschen zypper remove Paketname apt-get remove Paketname
Quelle hinzufügen urpmi.addmedia NameURL with hdlist.cz zypper service-add URLName
Quellen auffrischen urpmi.update -a zypper refresh apt-get update
Updates einspielen urpmi --auto-select zypper update apt-get upgrade

Ubuntu-Befehle

Ubuntu benutzt das Paketverwaltungssystem von Debian. Die im Folgenden beschriebenen Befehle gelten somit auch für Debian-Systeme und alle Distributionen, die Apt einsetzen. Anders als zypper verwaltet apt-get keine Installationsquellen. Dazu benutzen Sie entweder den Paketmanager Synaptic oder ändern die Datei /etc/apt/sources.list in einem Editor. Details dazu lesen Sie im Kasten “Ubuntu-Paketquellen”.

Ubuntu-Paketquellen

Aus welchen Quellen Ihr Ubuntu-System Programme installiert, legen Sie in der Datei /etc/apt/sources.list fest. Die Datei enthält pro Zeile eine Paketquelle. Befindet sich vor der Zeile ein Rautezeichen, ist die Quelle nicht aktiv. Um eine CD oder DVD mit DEB-Paketen als neue Quelle hinzuzufügen, legen Sie das Medium ins Laufwerk ein und geben danach folgenden Befehl in ein Terminalfenster ein:

sudo apt-cdrom add

Der Befehl fügt der Datei /etc/apt/sources.list einen Eintrag vom Typ deb cdrom: [Name der CD] hinzu. Nach einer Standardinstallation benutzt Ubuntu 7.04 zudem folgende Quellen aus dem Internet:

  • main: Hier finden Sie die Hauptpakete von Ubuntu, zum Beispiel den Kernel, KDE und Gnome. Den größten Teil dieser Pakete bringt die DVD bereits mit.
  • restricted: Diese Paketquelle beinhaltet Programme, die auf Grund ihrer Lizenz nur bedingt weitergegeben werden dürfen oder nicht Open Source sind. Dazu gehören zum Beispiel die ISDN-Treiber von AVM und die 3D-Treiber von ATI und Nvidia.
  • universe: Hier befinden sich viele Zusatzprogramme von KDE und Gnome, sowie zahlreiche Tools. Ubuntu unterstützt diese Pakete offiziell nicht, trotzdem gibt es dazu Updates.
  • multiverse: Dieses Repository beinhaltet Pakete, die aus lizenz- oder patentrechtlichen Gründen von Ubuntu offiziell nicht unterstützt werden.
  • feisty-updates: Für die meisten Repositories gibt es eine zugehörige Paketquelle feisty-updates mit Aktualisierungen.
  • feisty-security: Für einige Repositories gibt es zudem Paketquellen mit Sicherheitsaktualisierungen.

Auch diese Quellen können Sie je nach Bedarf durch ein vorangestelltes Rautezeichen deaktivieren. Sicherheitsaktualisierungen für Feisty finden Sie auch auf der Heft-DVD. Zu jedem deb-Eintrag existiert zudem eine deb-src-Zeile: Die Abkürzung src steht für Source. Die entsprechende Quelle beinhaltet somit den Sourcecode.

Bevor Sie Programme installieren können, müssen Sie die Liste der verfügbaren Pakete auffrischen. Dazu geben Sie in einem Terminalfenster den Befehl sudo apt-get update ein. Sind Sie bereits als Administrator angemeldet, entfällt der vorangestellte sudo-Befehl. Je nach Anzahl der Quellen und Geschwindigkeit der Internetverbindung dauert dieser Vorgang einige Minuten. Der Befehl apt-get update speichert die Paketnamen, Beschreibungen und Informationen zu den Abhängigkeiten in der Datei /var/apt/cache/pkgcache.bin. Um in dieser Datei zu suchen, rufen Sie den Befehl apt-cache search Suchbegriff auf, der Ihnen als Resultat eine Liste mit Paketnamen und Kurzbeschreibungen anzeigt. Manchmal gibt es zu viele Treffer (Abbildung 4). Möchten Sie die Suche deshalb auf den Paketnamen beschränken, rufen Sie apt-cache search mit der Option --names-only auf, zum Beispiel

apt-cache search --names-only k3b
Abbildung 4: Die Suche mit dem Befehl     <code srcset=

apt-cache search player ergibt über 600 Treffer.” width=”300″ height=”186″ /> Abbildung 4: Die Suche mit dem Befehl apt-cache search player ergibt über 600 Treffer.

Installieren und löschen

Die zwei zentralen Befehle für das Paketmanagement unter Ubuntu lauten apt-get install Paketname und apt-get remove Paketname. Mit ersterem Befehl installieren Sie Pakete, mit letzterem entfernen Sie Software aus dem System. Abhängigkeiten von anderen Paketen löst das Tool automatisch. Sollte sich das Programm bei einer Installation über nicht verfügbare Pakete oder unstimmige Versionsnummern beschweren, haben Sie vermutlich vergessen, zuvor apt-get update aufzurufen.

Bei der Installation von Programmen unterscheidet Ubuntu vier Pakettypen: das eigentliche Paket, unbedingt benötigte Pakete, vorgeschlagene Pakete und empfohlene Pakete. Rufen Sie zum Beispiel apt-get install mplayer auf, sehen Sie als Ausgabe, welche Pakete unbedingt installiert werden müssen und welche zusätzlichen Pakete das Programm noch empfiehlt. Bestätigen Sie die Nachfrage Möchten Sie fortfahren [J/n] mit [J] oder [Eingabe], installiert das Programm nur die benötigten Pakete, keine empfohlenen. Am besten notieren Sie sich die vorgeschlagenen und empfohlenen Pakete und installieren sie je nach Wunsch später nach. Eine automatische Installation mit apt-get ist nicht möglich.

Eine sehr nützliche Funktion ist apt-get autoremove. Sie entfernt Pakete, die über Abhängigkeiten auf Ihren Rechner kamen, aber nicht mehr benötigt werden. Bei der Installation des mplayer-Pakets richtet apt-get neben dem gewünschten Paket selbst 13 weitere auf Ihrem Ubuntu-System ein. Entfernen Sie nun den Mediaplayer mit apt-get remove mplayer, bleiben diese 13 Pakete weiterhin auf Ihrem Rechner. Der Befehl

apt-get autoremove

sucht nach solchen überflüssigen Paketen und entfernt sie (Abbildung 5).

Abbildung 5: Über     <code srcset=

apt-get autoremove entfernen Sie Pakete, die das System nicht mehr benötigt.” width=”300″ height=”201″ /> Abbildung 5: Über apt-get autoremove entfernen Sie Pakete, die das System nicht mehr benötigt.

Updates spielen Sie mit dem Befehl apt-get upgrade ein. Der Befehl hat die gleiche Wirkung wie das grafische Update-Tool von Ubuntu.

Mandriva Linux

Analog zu zypper von OpenSuse gibt es auch für Mandriva ein Kommandozeilentool, das sich zwischen dem rpm-Befehl und dem grafischen Paketmanager von Mandriva ansiedelt: urpmi. Es verwaltet Installationsquellen und die einzelnen Software-Pakete.

Um auf der Kommandozeile eine neue Quelle hinzuzufügen, geben Sie in der Konsole mit Root-Rechten den Befehl urpmi.addmedia gefolgt von einem Namen und der URL ein, zum Beispiel urpmi.addmedia PLF ftp://ftp.easynet.fr/plf/mandriva/2007.1/free/release/binary/i586/. Möchten Sie, dass der Paketmanager die Liste der vorhandenen Programme jeweils auffrischt, rufen Sie den urpmi.addmedia-Befehl zusätzlich mit der Option --update auf.

Informationen zu den einzelnen Paketen stellen die Mandriva-Server in zwei Formaten bereit: Die hdlist-Datei enthält sehr viele Informationen zu den einzelnen Paketen und ist deshalb mehrere MByte groß. Die synthesis-Paketlisten bringen nur die wichtigsten Informationen zu den Abhängigkeiten sowie eine Kurzbeschreibung mit. Bei Quellen, die Sie öfters auffrischen, arbeitet urpmi mit der Synthesis-Liste deshalb deutlich flotter. Auch Benutzer einer Modem- oder ISDN-Verbindung sollten bevorzugt diesen Paketlistentyp einsetzen. Welche der zwei Listen urpmi.addmedia benutzen soll, teilen Sie dem Befehl bei Bedarf über die Option with Paketlistendatei mit.

Da die Syntax des urpmi.addmedia-Befehls relativ kompliziert ist, gibt es unter [4] ein Tool, das Ihnen die Kommandos für die wichtigsten Mandriva-Quellen per Mausklick zusammenstellt.

Updates und Pakete einspielen

Bevor Sie Programme installieren können, müssen Sie die Liste der vorhandenen Pakete aktualisieren. Dies erledigt der Befehl

urpmi.update -a

Sind alle Quellen auf dem neuesten Stand, rufen Sie über urpmi --auto-select die Update-Funktion auf, die alle Neuerungen einspielt. Einzelne Pakete installiert der Befehl urpmi Paketname. Zu Programmen, die sich bereits auf dem System befinden, gibt er detaillierte Informationen aus. Möchten Sie ein Paket nicht gleich installieren, sondern nur danach suchen, rufen Sie urpmi mit der Option -y Paketname auf.

Eine nützliche Funktion erreichen Sie über den Parameter --no-install: Das Mandriva-Tool lädt dann die zur Installation ausgewählten Pakete nur herunter, ohne sie zu installieren. Sie finden die Pakete anschließend im Verzeichnis /var/cache/urpmi/rpms und können sie zum Beispiel auf eine CD brennen, um einen Rechner ohne Internetverbindung aufzufrischen.

Glossar

YUM

Yellowdog Updater, Modified. Ursprünglich für die Distribution Yellow Dog entwickelter Paketmanager, der heute von Fedora als Hauptpaketmanger benutzt wird. Eine YUM-Quelle erkennen Sie daran, dass sich im Hauptverzeichnis der Software ein Verzeichnis ”repodata” befindet.

Repo-MD

Auch RPM-Metadata genannt. Ein auf YUM-basierendes Format, das Installationsquellen mit XML-Dateien beschreibt. Der Vorteil von Repo-MD gegenüber Yum besteht darin, dass eine Repo-MD-Quelle auf mehrere Medien verteilt sein kann.

Infos

[1] Smart-Paketmanager: http://www.labix.org/smart

[2] Heike Jurzik: “Smartes Chamäleon – Software-Installation unter Suse Linux”, EasyLinux 09/2006, S. 61.

[3] OpenSuse-Entwicklerversion: http://download.opensuse.org/distribution/SL-OSS-factory/inst-source/suse/

[4] Easyurpmi: http://easyurpmi.zarb.org

EasyLinux 03/2007 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben