Smart: Unterschied zwischen den Versionen
(→Smart installieren) |
Admine (Diskussion | Beiträge) K (→Smart installieren: Link angepasst - siehe Diskussion) |
||
(24 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | {{Infobox_Software| | ||
+ | Name= [[Bild:Smartpm.png]] | ||
+ | |Screenshot= [[Bild:Smart.jpg|240px]] | ||
+ | |Beschreibung= Smart 0.5 | ||
+ | |Hersteller= Gustavo Niemeyer | ||
+ | |AktuelleVersion= 0.5 | ||
+ | |AktuelleVersionFreigabeDatum= ? | ||
+ | |Betriebssystem= Linux, OS X | ||
+ | |Kategorie= [[Paketmanager]] | ||
+ | |Lizenz= [http://de.wikipedia.org/wiki/GNU_General_Public_License GNU General Public License] | ||
+ | |Deutsch= ja | ||
+ | |Website= [http://labix.org/smart smart-Projektseite] | ||
+ | }} | ||
+ | |||
==Was ist Smart?== | ==Was ist Smart?== | ||
− | Der Smart Package Manager ist eine Software, mit der man unter Linux die Softwarepakete verwaltet. Da es rpm, deb, yum, apt, urpmi, slackware und noch weitere Quellen | + | Der Smart-Package-Manager ist eine Software, mit der man unter Linux die Softwarepakete verwaltet. Da es rpm, deb, yum, apt, urpmi, slackware und noch weitere Quellen verwalten kann, sind die Entwickler bestrebt, Smart plattformunabhängig einsetzbar zu machen. |
Smart löst eigenständig Abhängigkeiten auf. Updates und Upgrades werden auf Knopfdruck eingespielt. | Smart löst eigenständig Abhängigkeiten auf. Updates und Upgrades werden auf Knopfdruck eingespielt. | ||
===Smart installieren=== | ===Smart installieren=== | ||
− | Smart wird nicht | + | Smart wird nicht standardmäßig bei der Suse-Installation installiert. Die entsprechenden Pakete werden zwar auf den Installationsmedien mitgeliefert, aber diese Versionen bringen Probleme mit sich, die bei der aktuellen Version nicht mehr vorhanden sind. Daher holen wir uns die aktuellen Pakete von [http://download.opensuse.org/repositories/smart/ hier], wobei man die für die [http://de.wikipedia.org/wiki/Linux-Distribution Distribution] und [[I386 i586 i686 was heisst/bedeutet das?|Architektur]] richtigen Pakete nehmen sollte. Anschließend wechseln wir auf der Konsole in das Verzeichnis, in das die Pakete gespeichert wurden, und führen |
su -c "rpm -i *" | su -c "rpm -i *" | ||
− | aus. Bei der | + | aus. Bei der Passwortabfrage geben wir das root-Passwort ein und drücken die ENTER-Taste. |
===Smart einrichten=== | ===Smart einrichten=== | ||
Zeile 13: | Zeile 27: | ||
in Smart einlesen kann. Smart fragt jetzt bei jedem in der Textdatei gefundenen Channel, ob er eingebunden werden soll. Wenn man eine vernünftige Channel-Liste hat, kann man getrost mit „J“ und Return bestätigen. | in Smart einlesen kann. Smart fragt jetzt bei jedem in der Textdatei gefundenen Channel, ob er eingebunden werden soll. Wenn man eine vernünftige Channel-Liste hat, kann man getrost mit „J“ und Return bestätigen. | ||
− | + | Channels für openSUSE findet man unter: [[Smart-Channels für openSUSE]] | |
+ | |||
+ | und eine Bespiel-Konfiguration unter [[Smart_Musterkonfigurationen|smart-Musterkonfiguration]]. | ||
===Das Update=== | ===Das Update=== | ||
Zeile 30: | Zeile 46: | ||
K-Menü ->System ->Konfiguration ->smart | K-Menü ->System ->Konfiguration ->smart | ||
Auch hier muss wieder das root-Passwort eingegeben werden. | Auch hier muss wieder das root-Passwort eingegeben werden. | ||
− | Im Smart Hauptfenster wählt man dann | + | Im Smart-Hauptfenster wählt man dann |
− | Bearbeiten ->Channel ->Neu ->Lese Channel Beschreibung vom Lokalem Pfad | + | Bearbeiten ->Channel ->Neu ->Lese Channel-Beschreibung vom Lokalem Pfad |
Hier wählt man dann die gespeicherte Textdatei. | Hier wählt man dann die gespeicherte Textdatei. | ||
Zeile 38: | Zeile 54: | ||
− | Sind alle Channel eingelesen, klickt man im Channel-Fenster auf „Schließen“ und landet wieder in der Hauptmaske von Smart, wobei man alternativ auch die Tastenkombination „Alt“ und „C“ verwenden kann. Das Channel-Update erreicht man, indem man auf den Kreispfeil klickt, das | + | Sind alle Channel eingelesen, klickt man im Channel-Fenster auf „Schließen“ und landet wieder in der Hauptmaske von Smart, wobei man alternativ auch die Tastenkombination „Alt“ und „C“ verwenden kann. Das Channel-Update erreicht man, indem man auf den Kreispfeil klickt, das Upgrade, indem man auf den nach oben zeigenden Pfeil klickt. |
− | Möchte man ein neues Paket installieren, kann man einfach auf „Suche“ klicken, den Namen des zu installierenden Pakets eingeben und auf Return klicken. Wenn in einem der angegebenen Channel das Paket liegt, wird es gefunden. Angezeigt werden allerdings die Paketrubriken, nicht die Pakete selbst. Das | + | Möchte man ein neues Paket installieren, kann man einfach auf „Suche“ klicken, den Namen des zu installierenden Pakets eingeben und auf Return klicken. Wenn in einem der angegebenen Channel das Paket liegt, wird es gefunden. Angezeigt werden allerdings die Paketrubriken, nicht die Pakete selbst. Das heißt, man muss die einzelnen Rubriken durch einen Klick auf das kleine Dreieck vor der Rubrik öffnen und nachschauen. |
Wenn man beispielsweise den Email-Client „Evolution“ installieren möchte, sollte man dementsprechend die Rubrik „Productivity/Networking/Emails/Clients“ wählen. | Wenn man beispielsweise den Email-Client „Evolution“ installieren möchte, sollte man dementsprechend die Rubrik „Productivity/Networking/Emails/Clients“ wählen. | ||
Zeile 64: | Zeile 80: | ||
===Pakete sperren=== | ===Pakete sperren=== | ||
− | Möchte man verhindern, | + | Möchte man verhindern, dass bestimmte Pakete erneuert werden, geht das folgendermaßen: |
smart flag --set lock ''Paketname'' | smart flag --set lock ''Paketname'' | ||
− | Im GUI sucht man einfach nach dem Paket, macht einen Rechtsklick auf die installierte Version (die mit grünem Kästchen) | + | Im GUI sucht man einfach nach dem Paket, macht einen Rechtsklick auf die installierte Version (die mit grünem Kästchen) und wählt "Sperre diese Version". |
− | Um die Sperrung aufzuheben, wählt man im GUI einfach "Ensperre diese Version" | + | Um die Sperrung aufzuheben, wählt man im GUI einfach "Ensperre diese Version"; auf der Konsole erledigen das die Befehle |
smart flag --remove lock ''Paketname'' | smart flag --remove lock ''Paketname'' | ||
− | Möchte man eine bestimmte Version eines Paketes sperren geht das folgendermaßen: | + | Möchte man eine bestimmte Version eines Paketes sperren, geht das folgendermaßen: |
smart flag --set lock "paket=version" | smart flag --set lock "paket=version" | ||
("paket=version" sind natürlich Platzhalter für Paketname und Versionsnummer und werden ohne Anführungszeichen eingegeben!) | ("paket=version" sind natürlich Platzhalter für Paketname und Versionsnummer und werden ohne Anführungszeichen eingegeben!) | ||
Zeile 79: | Zeile 95: | ||
smart channel --set packman-i686-101-apt priority=2 | smart channel --set packman-i686-101-apt priority=2 | ||
smart channel --set packman-101-apt priority=1 | smart channel --set packman-101-apt priority=1 | ||
− | würde die i686-Pakete von Packman den nicht auf i686-optimierten | + | würde die i686-Pakete von Packman den nicht auf i686-optimierten Paketen gegenüber vorziehen. Die nicht optimierten Pakete von Packman würden aber noch den Suse-Paketen gegenüber vorgezogen. Die normale Priorität der Kanäle ist auf 0 eingestellt. Die Skala der Prioritäten reicht dabei von -100 bis 100. Diese Einstellungen können auch über die smart Oberfläche unter ''Bearbeiten - Channel - Eigenschaften des Channels'' vorgenommen werden. |
− | ====Bei bestimmten | + | ====Bei bestimmten Paketen Channel auf andere Prioritäten setzen==== |
− | Möchte man für bestimmte | + | Möchte man für bestimmte Pakete irgendwelche Channel auf andere Prioritäten setzen, um die Updates für diese Paktete aus diesen Channels auszuschließen, geht das folgendermaßen: |
smart priority --set ''pkgname mychannel'' 100 | smart priority --set ''pkgname mychannel'' 100 | ||
Zeile 88: | Zeile 104: | ||
===Kernel-Updates=== | ===Kernel-Updates=== | ||
− | Bei Kernel-Updates mit Smart | + | Bei Kernel-Updates mit Smart gibt es einiges zu beachten. Einerseits kann die Situation eintreten, dass der alte Kernel nicht entfernt wird und man dadurch mehrere Kernel-Versionen auf dem System hat. Das ist generell unproblematisch, da es einem erlaubt, den neuen Kernel zu testen ohne bereits den alten weggeworfen zu haben. Natürlich wird dadurch etwas mehr Plattenplatz belegt. (Dieses Problem sollte durch die Installation der aktuellen Version eliminiert sein. Ansonsten muss man die alte Version eben noch explizit entfernen.)<br /> |
− | + | Eine andere Sache ist, dass einige Channels wie z.B. ''suser-jengelh'' und ''jacklab'' Kernel-Pakete anbieten, die von unerfahrenen Anfängern nicht installiert werden sollten. Daher sind sie in den [[Smart_Musterkonfigurationen|Musterkonfigurationen hier im Wiki]] zwar enthalten, aber nicht aktiviert. | |
− | Als erstes müssen wir natürlich wissen, welche Kernel- | + | |
− | rpm -qa kernel* | + | Als erstes müssen wir natürlich wissen, welche Kernel-Pakete installiert sind. Daher führen wir |
− | auf der Konsole aus. Die Ausgabe sagt uns welche Kernel-Pakete installiert sind. Normalerweise sollte das ''kernel-default'' und eventuell ''kernel-source'' (bei welchem wir das ganze nicht machen müsssen) sein. | + | rpm -qa "kernel-*" |
− | Danach weisen wir dem Update-Channel (dort liegen Sicherheits-Updates von opensuse) und dem Base-Channel (Inhalt der Installationsmedien) für die installierten Kernel-Pakete die höchste Priorität zu. Wenn man '''opensuse 10.1''' hat und diese [[ | + | auf der Konsole aus. Die Ausgabe sagt uns, welche Kernel-Pakete installiert sind. Normalerweise sollte das ''kernel-default'' und eventuell ''kernel-source'' (bei welchem wir das ganze nicht machen müsssen) sein.<br /> |
+ | Danach weisen wir dem Update-Channel (dort liegen Sicherheits-Updates von opensuse) und dem Base-Channel (Inhalt der Installationsmedien) für die installierten Kernel-Pakete die höchste Priorität zu. Wenn man '''opensuse 10.1''' hat und diese [[Channels_OpenSUSE10_1_32|Channel-Liste]] verwendet geht das folgendermaßen: | ||
smart priority --set kernel-default suse-101-apt-base 100 | smart priority --set kernel-default suse-101-apt-base 100 | ||
smart priority --set kernel-default suse-101-apt-update 100 | smart priority --set kernel-default suse-101-apt-update 100 | ||
− | Falls eine der Bedingungen nicht zutrifft muß man eventuell anpassen. Weitere Information dazu stehen auch im Abschnitt [[ | + | Falls eine der Bedingungen nicht zutrifft muß man eventuell anpassen. Weitere Information dazu stehen auch im Abschnitt [[Smart#Bei bestimmten Pakten Channel auf andere Prioritäten setzen|"Bei bestimmten Pakten Channel auf andere Prioritäten setzen"]]. |
===Channel-Vorschläge von Smart=== | ===Channel-Vorschläge von Smart=== | ||
− | Es | + | Es kann vorkommen, dass Smart vorschlägt, bestimmmte Channels hinzuzufügen. Es wird geraten, solche Vorschläge aus folgenden Gründen abzulehnen: Einerseits kann es sein, dass der Channel schon in der Liste ist. Dadurch wäre der Channel dann doppelt vorhanden, was nur den Updatevorgang verlangsamt. Andererseits besteht die Möglichkeit, dass Channels vorgeschlagen werden, die man außen vor lassen sollte. Es ist besser, wenn man weiß, was für Channel man sich da an Land zieht. |
+ | ==smart Fehlermeldungen== | ||
+ | smart gibt gelegentlich bei Upgrades Fehler nach folgendem Muster aus: | ||
+ | Übermittle Transaktion ... | ||
+ | Bereite vor ... ######################################## [ 0%] | ||
+ | FEHLER!: file /usr/lib/libmad.so.0.2.1 from install of mad-0.15.1b-1.pm.5 conflicts with file from package libmad-0.15.1b-2.4 | ||
+ | Der Grund dafür ist meistens, dass ein Paket in unterschiedlichen Channel vorliegt und smart dann tatsächlich Konflikte sieht, weil das installierte Paket aus einem anderen Channel kommt. Hier ist es meistens am einfachsten, das installierte Paket zu deinstallieren, | ||
+ | smart update | ||
+ | und | ||
+ | smart upgrade | ||
+ | auszuführen und das "Problempaket" wieder zu installieren. | ||
Der ursprüngliche Autor dieses HowTos ist omasenkel. Inzwischen wurde das HowTo aber stark überarbeitet. | Der ursprüngliche Autor dieses HowTos ist omasenkel. Inzwischen wurde das HowTo aber stark überarbeitet. | ||
− | [[ | + | == siehe auch == |
+ | * [[Smart/Fehlermeldungen]] | ||
+ | |||
+ | == Quellen == | ||
+ | * [http://labix.org/smart labix.org/smart] (englisch) - Projektseite | ||
+ | * [http://www.pro-linux.de/news/2005/7668.html Pro-Linux-Bericht über Smart-Package-Manager] | ||
+ | * [http://de.susewiki.org/index.php?title=Smart Umfangreiches WIKI über Smart-Package-Manager] | ||
+ | * [http://de.wikipedia.org/wiki/Smart_Package_Manager smart-Beschreibung in der Wikipedia] | ||
+ | * [http://liquidat.wordpress.com/2005/10/19/set-up-smartpm-on-suse-linux-100-3/ blog Eintrag zum Aufsetzen von Smart unter SUSE LINUX 10.0 (englisch)] | ||
+ | |||
+ | ---- | ||
+ | [[Paketmanager|Zurück zum Paketmanager]] | ||
− | [[Smart Musterkonfigurationen | Zu den | + | [[Smart Musterkonfigurationen | Zu den Smart Musterkonfigurationen und Channellisten]] |
− | [[Category: | + | [[Category:Smart]] |
+ | [[Category:Paketmanager]] |
Aktuelle Version vom 7. Januar 2008, 14:36 Uhr
Smart 0.5 | |
Basisdaten | |
Entwickler: | Gustavo Niemeyer |
Aktuelle Version: | 0.5 |
letzte Veröffentlichung: | ? |
Betriebssystem: | Linux, OS X |
Kategorie: | Paketmanager |
Lizenz: | GNU General Public License |
Deutschsprachig: | ja |
Webseite: | smart-Projektseite |
Inhaltsverzeichnis
Was ist Smart?
Der Smart-Package-Manager ist eine Software, mit der man unter Linux die Softwarepakete verwaltet. Da es rpm, deb, yum, apt, urpmi, slackware und noch weitere Quellen verwalten kann, sind die Entwickler bestrebt, Smart plattformunabhängig einsetzbar zu machen. Smart löst eigenständig Abhängigkeiten auf. Updates und Upgrades werden auf Knopfdruck eingespielt.
Smart installieren
Smart wird nicht standardmäßig bei der Suse-Installation installiert. Die entsprechenden Pakete werden zwar auf den Installationsmedien mitgeliefert, aber diese Versionen bringen Probleme mit sich, die bei der aktuellen Version nicht mehr vorhanden sind. Daher holen wir uns die aktuellen Pakete von hier, wobei man die für die Distribution und Architektur richtigen Pakete nehmen sollte. Anschließend wechseln wir auf der Konsole in das Verzeichnis, in das die Pakete gespeichert wurden, und führen
su -c "rpm -i *"
aus. Bei der Passwortabfrage geben wir das root-Passwort ein und drücken die ENTER-Taste.
Smart einrichten
Wenn Smart frisch installiert ist, stehen noch keine Installationsquellen (sogenannte Channels) zur Verfügung. Diese müssen erst noch eingerichtet werden. Im Internet kursieren etliche Channel-Listen als txt-Datei, die man herunterladen kann und an der Konsole mit root-Rechten (also su, Return, Root-Paßwort (Achtung, es wird blind eingegeben!), Return) mit dem Befehl
smart channel --add /Speicherort/Datei
in Smart einlesen kann. Smart fragt jetzt bei jedem in der Textdatei gefundenen Channel, ob er eingebunden werden soll. Wenn man eine vernünftige Channel-Liste hat, kann man getrost mit „J“ und Return bestätigen.
Channels für openSUSE findet man unter: Smart-Channels für openSUSE
und eine Bespiel-Konfiguration unter smart-Musterkonfiguration.
Das Update
Wenn man nun eine geeignete Channel-Liste eingelesen hat, sollte man mit
smart update
die Smart-Paketinformationen aktualisieren. Damit werden die neuen Channels eingelesen und die Informationen aktualisiert. Diesen Vorgang sollte man vor jeder Aktion, die man mit smart durchführen will, vollziehen, da nur dann smart auch auf aktuelle Informationen zurückgreifen kann.
Das Upgrade des Systems startet man ganz einfach mit
smart upgrade
So einfach hat man Smart eingerichtet und alle verfügbaren Aktualisierungen auf sein System gespielt. Wenn das Upgrade beendet ist, kann man in der Konsole mit dem Befehl
exit
smart beenden. Der Exit-Befehl ist deshalb wichtig, weil durch das bloße Schließen der Konsole Smart weiter ausgeführt wird. Das kann zu Problemen führen, wenn man später Smart wieder auf der Konsole oder als GUI ausführen möchte.
Die GUI
Die Grafische Benutzeroberfläche ist gerade für Anfänger wesentlich komfortabler. Möchte man mittels GUI eine Channel-Liste einlesen, wählt man K-Menü ->System ->Konfiguration ->smart Auch hier muss wieder das root-Passwort eingegeben werden. Im Smart-Hauptfenster wählt man dann
Bearbeiten ->Channel ->Neu ->Lese Channel-Beschreibung vom Lokalem Pfad
Hier wählt man dann die gespeicherte Textdatei.
Die dann aufpoppenden Fenster beinhalten nochmals die Channel-Informationen. Zum Bestätigen klickt man jeweils auf OK. Teilweise kann es passieren, dass sich dieses Fenster immer weiter vergrößert, so dass der „OK“-Button nicht mehr zu sehen ist. Die Tastenkombination „Alt“ und „O“ hat den selben Effekt.
Sind alle Channel eingelesen, klickt man im Channel-Fenster auf „Schließen“ und landet wieder in der Hauptmaske von Smart, wobei man alternativ auch die Tastenkombination „Alt“ und „C“ verwenden kann. Das Channel-Update erreicht man, indem man auf den Kreispfeil klickt, das Upgrade, indem man auf den nach oben zeigenden Pfeil klickt.
Möchte man ein neues Paket installieren, kann man einfach auf „Suche“ klicken, den Namen des zu installierenden Pakets eingeben und auf Return klicken. Wenn in einem der angegebenen Channel das Paket liegt, wird es gefunden. Angezeigt werden allerdings die Paketrubriken, nicht die Pakete selbst. Das heißt, man muss die einzelnen Rubriken durch einen Klick auf das kleine Dreieck vor der Rubrik öffnen und nachschauen.
Wenn man beispielsweise den Email-Client „Evolution“ installieren möchte, sollte man dementsprechend die Rubrik „Productivity/Networking/Emails/Clients“ wählen. Hat man das Paket dann gefunden, wählt man es zur Installation aus, indem man auf das Icon vor dem Namen klickt. Danach werden noch zusätzlich zu installierende Pakete angezeigt. Dieses Fenster kann man mit „OK“ schließen. Um die Installation zu starten, klickt man auf das Zahnrad, und schon beginnt der Download der Pakete und deren Installation.
Allgemeine Hinweise
smart cache
Smart speichert die ausgeführten Aktionen in einem sogenannten Cache. Da dieser Cache einerseits für Smart wichtig ist, andererseits eine beachtliche Größe erreichen kann, gibt es einen Schalter, mit dem man einstellen kann, was mit dem Cache passiert. Wenn man auf der Konsole (mit root- Rechten, siehe oben!)
smart config --set remove-packages=false
eingibt (gefolgt von Return), dann wird der Cache nicht gelöscht. Möchte man allerdings den Cache doch löschen, dann gibt man in der Konsole
smart config --set remove-packages=true
ein.
Signaturprüfung
Wie schon unter apt gibt es auch unter Smart eine Signaturprüfung für die Paketinstallation. Diese aktiviert man mit
smart config --set rpm-check-signatures=true
auf der Konsole. Ersetzt man "true" durch "false", ist die Signaturprüfung abgeschaltet. Das Abschalten der Prüfung wird aber ausdrücklich nicht empfohlen.
Entsprechende Schlüssel kann sich smart auch direkt besorgen. Dazu trägt man mit
smart config --set keyserver="subkeys.pgp.net"
einen Schlüsselserver ein und smart holt sich dann automatisch die Schlüssel dort ab.
Pakete sperren
Möchte man verhindern, dass bestimmte Pakete erneuert werden, geht das folgendermaßen:
smart flag --set lock Paketname
Im GUI sucht man einfach nach dem Paket, macht einen Rechtsklick auf die installierte Version (die mit grünem Kästchen) und wählt "Sperre diese Version".
Um die Sperrung aufzuheben, wählt man im GUI einfach "Ensperre diese Version"; auf der Konsole erledigen das die Befehle
smart flag --remove lock Paketname
Möchte man eine bestimmte Version eines Paketes sperren, geht das folgendermaßen:
smart flag --set lock "paket=version"
("paket=version" sind natürlich Platzhalter für Paketname und Versionsnummer und werden ohne Anführungszeichen eingegeben!)
Kanäle priorisieren
Wenn man Pakete aus einem bestimmten Kanal bevorzugt, wie es z.B. im Falle von Packman meist gewünscht ist, kann man diesen Kanälen einen Vorrang einräumen.
smart channel --set packman-i686-101-apt priority=2 smart channel --set packman-101-apt priority=1
würde die i686-Pakete von Packman den nicht auf i686-optimierten Paketen gegenüber vorziehen. Die nicht optimierten Pakete von Packman würden aber noch den Suse-Paketen gegenüber vorgezogen. Die normale Priorität der Kanäle ist auf 0 eingestellt. Die Skala der Prioritäten reicht dabei von -100 bis 100. Diese Einstellungen können auch über die smart Oberfläche unter Bearbeiten - Channel - Eigenschaften des Channels vorgenommen werden.
Bei bestimmten Paketen Channel auf andere Prioritäten setzen
Möchte man für bestimmte Pakete irgendwelche Channel auf andere Prioritäten setzen, um die Updates für diese Paktete aus diesen Channels auszuschließen, geht das folgendermaßen:
smart priority --set pkgname mychannel 100
pkgname steht natürlich für den Namen des Paketes und mychannel für den des Channels.
Kernel-Updates
Bei Kernel-Updates mit Smart gibt es einiges zu beachten. Einerseits kann die Situation eintreten, dass der alte Kernel nicht entfernt wird und man dadurch mehrere Kernel-Versionen auf dem System hat. Das ist generell unproblematisch, da es einem erlaubt, den neuen Kernel zu testen ohne bereits den alten weggeworfen zu haben. Natürlich wird dadurch etwas mehr Plattenplatz belegt. (Dieses Problem sollte durch die Installation der aktuellen Version eliminiert sein. Ansonsten muss man die alte Version eben noch explizit entfernen.)
Eine andere Sache ist, dass einige Channels wie z.B. suser-jengelh und jacklab Kernel-Pakete anbieten, die von unerfahrenen Anfängern nicht installiert werden sollten. Daher sind sie in den Musterkonfigurationen hier im Wiki zwar enthalten, aber nicht aktiviert.
Als erstes müssen wir natürlich wissen, welche Kernel-Pakete installiert sind. Daher führen wir
rpm -qa "kernel-*"
auf der Konsole aus. Die Ausgabe sagt uns, welche Kernel-Pakete installiert sind. Normalerweise sollte das kernel-default und eventuell kernel-source (bei welchem wir das ganze nicht machen müsssen) sein.
Danach weisen wir dem Update-Channel (dort liegen Sicherheits-Updates von opensuse) und dem Base-Channel (Inhalt der Installationsmedien) für die installierten Kernel-Pakete die höchste Priorität zu. Wenn man opensuse 10.1 hat und diese Channel-Liste verwendet geht das folgendermaßen:
smart priority --set kernel-default suse-101-apt-base 100 smart priority --set kernel-default suse-101-apt-update 100
Falls eine der Bedingungen nicht zutrifft muß man eventuell anpassen. Weitere Information dazu stehen auch im Abschnitt "Bei bestimmten Pakten Channel auf andere Prioritäten setzen".
Channel-Vorschläge von Smart
Es kann vorkommen, dass Smart vorschlägt, bestimmmte Channels hinzuzufügen. Es wird geraten, solche Vorschläge aus folgenden Gründen abzulehnen: Einerseits kann es sein, dass der Channel schon in der Liste ist. Dadurch wäre der Channel dann doppelt vorhanden, was nur den Updatevorgang verlangsamt. Andererseits besteht die Möglichkeit, dass Channels vorgeschlagen werden, die man außen vor lassen sollte. Es ist besser, wenn man weiß, was für Channel man sich da an Land zieht.
smart Fehlermeldungen
smart gibt gelegentlich bei Upgrades Fehler nach folgendem Muster aus:
Übermittle Transaktion ... Bereite vor ... ######################################## [ 0%] FEHLER!: file /usr/lib/libmad.so.0.2.1 from install of mad-0.15.1b-1.pm.5 conflicts with file from package libmad-0.15.1b-2.4
Der Grund dafür ist meistens, dass ein Paket in unterschiedlichen Channel vorliegt und smart dann tatsächlich Konflikte sieht, weil das installierte Paket aus einem anderen Channel kommt. Hier ist es meistens am einfachsten, das installierte Paket zu deinstallieren,
smart update
und
smart upgrade
auszuführen und das "Problempaket" wieder zu installieren.
Der ursprüngliche Autor dieses HowTos ist omasenkel. Inzwischen wurde das HowTo aber stark überarbeitet.
siehe auch
Quellen
- labix.org/smart (englisch) - Projektseite
- Pro-Linux-Bericht über Smart-Package-Manager
- Umfangreiches WIKI über Smart-Package-Manager
- smart-Beschreibung in der Wikipedia
- blog Eintrag zum Aufsetzen von Smart unter SUSE LINUX 10.0 (englisch)