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.
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).
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 Paketname
smart install /lokaler/Pfad/Paketname
Paket suchen smart search Paketname
Paketliste aktualisieren (geschieht vor der Installation automatisch) smart update
Channel hinzufügen smart channel --add Channeldatei
smart 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.
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.



