Schnelle Paketmanager-Alternative

Aus LinuxUser 10/2006

Schnelle Paketmanager-Alternative

Auf die smarte Art

Der Paketmanager gehört zu den zentralen Komponenten jedes Linux-Systems. Wenn er – wie im Fall von Suse Linux 10.1 – nicht oder nur unzulässig funktioniert, muss eine Alternative her. Hier setzt Smart an.

Wie gut ein Paketmanager bei Installation oder beim Entfernen von Paketen arbeitet, zeigt vor allem an einem: dem Auflösen von Abhängigkeiten. Smart gehört hier zu den besten Werkzeugen. Das Tool arbeitet unabhängig von der eingesetzten Distribution und beherrscht über zehn Repository-Formate, darunter auch lokale Verzeichnisse mit RPM- oder DEB-Dateien. Der Paketmanager besteht aus dem Kommandozeilentool smart, der Smart-Shell (smart --shell) und aus einer grafischen Oberfläche (Abbildung 1), die Sie über den Befehl smart --gui aufrufen.

Abbildung 1: Die grafische Oberfläche von Smart bietet eine komfortable Suchfunktion. Der Reiter <code srcset=

URLs zeigt zudem an, aus welchem Repository ein Paket stammt.” width=”300″ height=”214″ /> Abbildung 1: Die grafische Oberfläche von Smart bietet eine komfortable Suchfunktion. Der Reiter URLs zeigt zudem an, aus welchem Repository ein Paket stammt.

Installation

Den Sourcecode von Smart sowie Pakete für Fedora Core 5, SuSE Linux 10.1 und Ubuntu 6.06 finden Sie auf der Heft-CD. Bei aktiver Internetverbindung ist es allerdings einfacher, Smart über den bestehenden Paketmanager zu installieren. Unter Ubuntu installiert der Befehl sudo apt-get install smartpm das Paket aus dem Universe-Repository.

Bei Fedora Core 5 befindet sich Smart im Repository extras. Benutzer von Suse Linux installieren es aus dem Guru-Repository. Details zu Smart-Repositories für andere Distributionen finden Sie auf der Projektseite [1]. Tipps zu Online-Repositories im Allgemeinen gibt ein Artikel im LinuxUser 07/2006 [2].

Für die Installation aus dem Quellcode benötigen Sie die Entwicklerpakete zum RPM oder Deb-System sowie einige Python-Pakete. Danach genügt der Befehl make im Quellcode-Verzeichnis zum Übersetzen und ein anschließendes make install mit Administratorrechten, um die Software zu installieren.

Nach der Installation benutzen Sie den Paketmanager entweder auf der Kommandozeile, zum Beispiel mit dem Befehl smart install amarok oder starten die grafische Oberfläche über den Befehl smart --gui. Die Software erlaubt auch das Kombinieren. Um Pakete zu installieren oder zu löschen, benötigen Sie jeweils Administratorrechte.

Repositories einrichten

Je nach Distribution und Paketbauer bringt Smart bereits eine Channelliste mit. Channels stehen bei Smart für jede Art von Paketquelle oder Repository. Die SuSE-Pakete von Guru [3] richten zum Beispiel Channels für Packman und Guru gleich mit ein. Eine Liste mit weiteren Smart-Channels für SuSE Linux 10.0 und 10.1 findet sich im Netz [4]. Andere Distributionen benötigen traditionellerweise nur wenige Repositories, sodass für diese kaum Listen kursieren. Um einen neuen Channel hinzu zu fügen, wählen Sie unter der grafischen Oberfläche den Punkt Bearbeiten | Channel | Neu und wählen im nächsten Schritt eine der fünf Methoden aus (Abbildung 2).

Abbildung 2: Smart bietet fünf verschiedene Methoden, um neue Paketquellen einzubinden.

Abbildung 2: Smart bietet fünf verschiedene Methoden, um neue Paketquellen einzubinden.

Um den Channel von Hand einzutragen, wählen Sie den Punkt Stelle Channel Informationen bereit. Um die RPM-Pakete eines lokalen Verzeichnisses (zum Beispiel einer Heft-CD) einzulesen, wählen Sie den letzten Punkt. Die Übrigen drei Punkte lesen bereits vorhandene Channel-Informationen ein. Diese Anleitung beschränkt sich im Weiteren auf das manuelle Einrichten eines Repositories über Stelle Channel Informationen bereit. Alternativ fügen Sie Paketquellen auf der Kommandozeile über den Befehl smart channel --add hinzu. Ein Beispiel für Ubuntu 6.06 zeigt der Kasten “Smart-Befehle”.

Smart-Befehle

Paket installieren smart install Paketnamesmart install /lokaler/Pfad/Paketname

Paket suchen smart search Paketname

Paketliste aktualisieren (geschieht vor der Installation automatisch) smart update

Channel hinzufügen smart channel --add Channeldateismart channel --add Aliasname name="Ausführliche Beschreibung" type=apt-deb distribution=dapper baseurl=http://archive.ubuntu.com/ubuntu components="universe"

Spiegelserver verwalten smart mirror --add ftp://hauptserver.url/pfad http://mirror.url/pfad/smart mirror --show

Prioritäten setzen smart channel --set Aliasname priority=50

Im folgenden Dialog (Abbildung 3) wählen Sie das passende Format aus. Für Ubuntu ist dies in der Regel APT-DEB Repository, für Fedora Core und SuSE Linux RPM MetaData. Seit Version 0.42 verwaltet das Tool auch YaST-Installationsquellen. Über die Einträge Als RPM installierte Pakete und DPKG installierte Pakete liest Smart die bereits installierten Pakete ein, sodass ein Löschen der Software mit Smart möglich ist.

Abbildung 3: Smart unterstützt sehr viele Paketquellenformate.

Abbildung 3: Smart unterstützt sehr viele Paketquellenformate.

Haben Sie sich für ein Format entschieden, tragen Sie im Dialog Bearbeite Channel (Abbildung 4) die benötigten Informationen ein. Für die Alias-Angabe sollten Sie einen kurzen, einfach zu merkenden Namen wählen. Eine ausführlichere Beschreibung nimmt das Feld Name auf. Über die Checkbox manuelle Aktualisierung legen Sie fest, ob Smart den Channel bei jedem Start einliest. Bei aktivierter Checkbox überspringt das Tool diesen Schritt für die Quelle. Das empfiehlt sich bei statischen Paketquellen, zum Beispiel einem RPM-Verzeichnis auf einer CD oder einer lokalen Paketsammlung.

Ein Häkchen vor gesperrt bedeutet, dass Smart aus diesem Channel keine Pakete installiert. Das ist praktisch, wenn Sie eine Quelle vorübergehend deaktivieren möchten, ohne gleich den ganzen Eintrag zu löschen. Über entfernbar teilen Sie Smart mit, dass es sich der Channel auf einem externen Datenträger (CD/DVD) befindet. Der Paketmanager fordert dann bei Bedarf den Datenträger an.

Die Zahl hinter Priorität gibt die Wichtigkeit der Quelle an. Je höher ihr Wert, desto wahrscheinlicher, dass Smart ein Paket aus dieser Quelle installiert. Der Prioritätenbereich reicht theoretisch von -100000 bis 100000, Zweistellige Werte sind aber in der Regel bereits genug hoch. In der Grundeinstellung besitzt jeder Channel die Priorität 0.

Tipp

Vergeben Sie für die offiziellen Paketquellen des Distributors die höchste Priorität, nicht etwa für diejenigen von Drittanbietern. So vermeiden Sie am besten Probleme bei gemischten Paketquellen.

Im Feld Basis-URL legen Sie die Download-Adresse fest. Diese Informationen finden Sie in der Regel in einer bestehenden Konfigurationsdatei, wie zum Beispiel der source.list unter Ubuntu/Debian oder yum.conf. Benutzer von Fedora Core müssen hier allerdings Einträge wie $basearch ausschreiben (zum Beispiel i386).

Die weiteren Felder hängen vom ausgewählten Format ab. Für Apt-Deb-Quellen verlangt das Programm zum Beispiel noch die Angabe von Distribution und Komponenten. Nach Änderungen sollten Sie Smart über DateiVerlassen beenden. In den Tests vergaß das Programm sonst manchmal die neuen Channels.

Abbildung 4: Ein neuer Channel für eine Quelle im RPM-Metadaten-Format. Hier das Livna-Repository für Fedora Core 5.

Abbildung 4: Ein neuer Channel für eine Quelle im RPM-Metadaten-Format. Hier das Livna-Repository für Fedora Core 5.

Smart benutzen

Über [Strg]+[F] oder einen Klick auf das Symbol mit der Lupe schalten Sie das wichtigste Arbeitswerkzeug ein: die Suchfunktion. In der Grundeinstellung sucht das Programm nur nach Paketnamen (Automatisch). Möchten Sie auch in den Beschreibungen suchen, markieren Sie die entsprechende Checkbox. Die Suchfunktion von Smart unterscheidet nicht zwischen Groß- und Kleinschreibung. Auch auf der Kommandozeile verhält sich Smart wesentlich toleranter als zum Beispiel apt-get: So findet smart search realpla nicht nur das Paket RealPlayer, sondern auch sämtliche Pakete, die RealPlayer in den Beschreibungen aufführen. Auch bei der Installation hilft das Tool mit nützlichen Vorschlägen (siehe Kasten “Tolerante Suche”).

Nach einer Suche zeigt Smart zunächst die Paketgruppen an, in denen sich entsprechende Pakete befinden. Möchten Sie die Treffer lieber nach Paketquellen sortiert haben, wählen Sie AnsichtBaumansichtChannel. Am effizientesten arbeiten Sie vermutlich mit der Einstellung AnsichtBaumansichtNichts. Smart zeigt in diesem Fall gleich die Treffer an.

Benutzer von Synaptic dürfte das Bedienen von Smart leicht fallen. Ein Klick auf das Viereck vor dem Paketnamen markiert die Software zur Installation. Bereits installierte Pakete merken Sie durch einen Klick zum Löschen vor. Bei Pakete, die mit einem gelben Stern markiert sind, wäre ein Update möglich. Erweiterte Funktionen des Paketmanagers erreichen Sie über das Kontextmenü der rechten Maustaste. Sie erlaubt es, Pakete erneut zu installieren oder einzelne Pakete vor dem Update zu schützen (Sperre diese Version). Ebenfalls per Rechtsklick legen Sie die Priorität eines Pakets fest.

Die eigentliche Installation startet ein Klick auf das Zahnradsymbol. Alternativ wählen Sie DateiÄnderungen anwenden oder drücken [Strg]+[C]. Smart lädt dann die ausgewählten Pakete parallel herunter. Sofern eingerichtet greift das Tool dazu auf verschiedene Mirrors zu, wobei sich Smart die schnellsten und zuverlässigsten merkt und diese nach Möglichkeit bevorzugt. Um einen neuen Mirror hinzuzufügen, wählen Sie BearbeitenMirror. Hier markieren Sie den gewünschten Hauptserver und klicken dann auf Neu. Wie Sie Mirrors auf der Kommandozeile hinzufügen, lesen Sie im Kasten “Smart-Befehle”.

Tolerante Suche

kim:~ # apt-get install realplay
Lese Paketlisten… Fertig
Erzeuge Abhängigkeitsbaum… Fertig
E: Konnte Paket realplay nicht finden
kim:~ # smart install realplay
Lade Zwischenspeicher…
Update Zwischenspeicher…   ########### [100%]
FEHLER!: 'realplay' passt zu keinem Paket: Vorschläge:
FEHLER!:     RealPlayer-10.0.7-10@i586
Sichere Zwischenspeicher…

Tipps und Tricks

Smart versteht sich auch auf lokale Pakete. Der Befehl smart install ~/*.rpm installiert sämtliche RPM-Pakete in Ihrem Home-Verzeichnisse und bezieht dabei – falls nötig – die übrigen Channels mit ein. Wer seine geliebte sources.list ganz einfach in eine Smart-Channel-Datei umwandeln möchte, dem stehen dazu zwei Skripte zur Verfügung [5].

Prioritäten lassen sich nicht nur für einzelne Channels festlegen, sondern auch für Pakete. Damit verhindern Sie zum Beispiel, dass eine gut funktionierende Xine-Installation ein Update erfährt. Allerdings sollten Sie sich gut merken und überlegen, bei welchen Paketen Sie Prioritäten festlegen, da Sie damit unter Umständen das Update wichtiger Pakete verhindern. Im Zweifelsfall wählen Sie besser die Option Paket sperren. Beginnt Smart zunehmend, Pakete downzugraden, ist das ein deutliches Indiz für vergessene Prioritäten. Rufen Sie dann auf der grafischen Oberfläche BearbeitenPrioritäten auf.

In der Grundeinstellung löscht Smart heruntergeladene Paketarchive nach der Installation. Möchten Sie dies für einen Durchgang verhindern, rufen Sie den Paketmanager auf der Kommandozeile mit der Option -o remove-packages=false auf. Sie finden die heruntergeladenen Pakete im Verzeichnis /var/lib/smart/packages/. Diese eignen sich zum Beispiel für das Upgrade eines zweiten Rechners. Um Smart das Löschen der Downloads generell zu verbieten, genügt der Befehl smart config --set remove-packages=false auf der Kommandozeile.

Arbeiten Sie unter KDE, lohnt die Installation des Kontrollleisten-Applets KSmarttray. Es hält Sie über Neuerungen auf dem Laufenden. Wie eingangs erwähnt, besteht die Hauptaufgabe des Paketmanagers darin, Abhängigkeiten zu lösen. Sollte es trotz Smart einmal zu einem solchen Problem kommen, hilft der Menüpunkt BearbeitenLöse alle Probleme…. Smarter geht’s nicht.

Infos

[1] Smart: http://labix.org/smart

[2] Oliver Frommel, Kristian Kißling, Peter Kreußel, Carsten Schnober: “Die richtige Mischung – Die besten Paketquellen”, LinuxUser 07/2006, S. 48.

[3] Guru-RPM-Seite: http://linux01.gwdg.de/~pbleser/

[4] Smart-Channels für SuSE: http://divine160281.di.funpic.de

[5] Apt-Liste in eine Channel-Datei umwandeln: http://www30.websamba.com/texpert/ und http://linux01.gwdg.de/~pbleser/files/smart/apt-sources-to-smart.sh

LinuxUser 10/2006 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