Andere Sprachen Deutsch ; English ; Español ; Français ; Nederlands ; |
Einleitung:urpmi , ist Mageias Befehlszeilen-Werkzeug um Pakete und Repositorys (Medien) zu verwalten. Zum Beispiel kannst du damit Softwarepakete installieren, aktualisieren und entfernen. urpmi verwaltet auch Abhängigkeiten automatisch, z. B. prüft es und behebt Abhängigkeiten, falls nötig. Für Anfänger wird das grafische Werkzeug rpmdrake empfohlen, statt urpmi , da es anwenderfreundlicher für unerfahrene Nutzer ist.
|
Contents
- 1 Übersicht
- 2 urpmi.addmedia
- 2.1 Kopieren einer CD oder einer DVD in ein home Verzeichnis, unter Verwendung des entsprechenden Kommandos in urpmi
- 2.2 Kopieren von RPM's (inklusive der Installations CD oder DVD) in ein einzelnes Verzeichnis und diese in urpmi verwenden
- 2.3 Medien für eine Distribution hinzufügen
- 2.4 Manuell einen Spiegelserver auswählen
- 2.5 Mit aria2 automatisch einen Spiegelserver wählen
- 3 urpmi.update
- 4 urpmi.removemedia
- 5 urpmf
- 6 urpmi
- 7 urpme
- 8 urpmq
- 9 Verwenden der grafischen Schnittstelle
- 10 Eine Frage der Sicherheit
- 11 Fehlersuche
- 12 Andere Orte um mehr über urpmi zu lernen
- 13 Installierte Pakete mit rpm anzeigen lassen
- 14 Weitere Möglichkeiten um Anwendungen in Mageia zu installieren
Übersicht
Um einen generellen Einblick von urpmi
zu erhalten, kannst du dir die Befehlszeile und einige Standardbefehle anschauen.
Übersicht des Befehlszeilen Interface
Das Befehlszeilen Interface von urpmi
ist in folgende grundlegende Befehle aufgeschlüsselt:
Befehl | Beschreibung |
---|---|
urpmi | Installiert oder aktualisiert ein Paket |
urpme | Entfernt ein Paket |
urpmq | Sucht nach Pakete oder Informationen über die Pakete |
urpmf | Sucht nach Pakete, welche die angegebene Datei enthält |
urpmi.update | Aktualisiert ein Repository/Medium z.B. aktualisiert die Liste von verfügbaren Pakete auf dem lokalen System |
urpmi.addmedia | Fügt ein neues Repository/Medium auf dem lokalen System hinzu |
urpmi.removemedia | Entfernt ein Repository/Medium aus deinem lokalen System |
Übersicht der am häufigsten verwendeten Befehle
Die folgende Liste enthält eine kurze Übersicht der am häufigsten verwendeten Befehle von urpmi
:
Grundlegende Befehle: Installieren, entfernen, aktualisieren
PKG = Paketname
Befehl | Beschreibung |
---|---|
urpmi PKG.. | Installiert oder aktualisiert das spezifische Paket. PKG kann auch eine lokale RPM Datei sein, die dann installiert wird. Falls kein übereinstimmendes Paket gefunden werden kann, wird eine Suche durchgeführt und Vorschläge werden angezeigt. |
urpme PKG.. | Entfernt das spezifische Paket und alle Pakete die davon abhängig sind. Falls es kein Paket mit dem Paketnamen gibt, wird eine Suche durchgeführt und Vorschläge werden angezeigt. |
urpmi --auto-update | Aktualisiert zunächst alle Medien (wie urpmi.update -a (siehe unten)) und wählt automatisch die Pakete aus, die aktualisiert werden können und installiert diese (wie urpmi --auto-select). |
Medien/Repository-Befehle
Befehl | Beschreibung |
---|---|
urpmi.update -a | Aktualisiert alle Medien z. B. aktualisiert die lokale Liste an verfügbaren Pakete |
urpmi.update MED.. | Aktualisiert das spezifische Medium z. B. aktualisiert seine lokale Liste an verfügbaren Aktualisierungen |
urpmq --list-url | Zeigt alle Repositorys und ihre URLs. |
urpmq --list-media active | Zeigt alle aktiven Repositorys. |
urpmq --list-media active --list-url | Zeigt alle aktiven Repositorys und ihre URLs. |
urpmi.addmedia NAME URL | Hinzufügen eines neuen Medium mit Name und URL. |
urpmi.removemedia NAME | Entfernt das Medium. |
Suchbefehle
Befehl | Beschreibung |
---|---|
urpmq PKG | Sucht ein Paket nach seinem exakten Namen (der Suchbegriff PKG und der Paketname müssen exakt übereinstimmen). |
urpmq -Y --summary PKG | Sucht ein Paket nach seinem Namen und zeigt eine Zusammenfassung des Pakets an. Die Option -Y deaktiviert die Unterscheidung zwischen Groß- und Kleinschreibung und aktiviert den unscharfen Suchmodus (Pakete werden gefunden, wenn die Suchphrase und der Paketname teilweise übereinstimmen). |
urpmq -i PKG | Zeigt Informationen über ein Paket. PKG kann auch auf eine lokale RPM-Datei verweisen. |
urpmq --requires PKG | Zeigt die Abhängigkeiten des Pakets an. |
urpmf FILE | Sucht nach Paketen, welche die Datei mit dem Namen FILE enthalten. |
urpmi.addmedia
Hier beginnt alles. Du fügst ein Software-Repository ein (auch bekannt als Medium, Spiegelserver), unter Verwendung des Kommandos urpmi.addmedia
. Das Format zum Hinzufügen eines neuen Repository lautet wie folgt:
urpmi.addmedia namedesmediums ftp://ftp.site.com/pfad/nach/Mageia/RPMS |
aber dies arbeitet effektiv im Hintergrund, jongliert in der gleichen Weise als würdest du drakrpm-edit-media
verwenden, was die GUI im Mageia Kontrollzentrum unter Software verwalten --> Paketquellen für Installation und Aktualisierungen einrichten
ausgeführt wird.
Mageia Spiegelserver für Finale Versionen enthalten letztendlich:
core paketquellen
hier sind die wichtigsten Programme enthalten, die von Mageia unterstützt werden;nonfree paketquellen
welches einige proprietäre Software enthälttainted paketquellen
hier sind einige Programme zu welche in einigen Ländern mit Patenten behaftet sein können.
Eine ausführliche Beschreibung über die Kategorien findet sich hier.
Jedes Medium besitzt fünf untergeordnete Medien:
release
Die Pakete die am Tag der Veröffentlichung verfügbar waren.updates
Die Pakete die seit dem Tag der Veröffentlichung, aufgrund von Sicherheits- oder Fehlergründen oder aufgrund wichtigen Aktualisierungen (z. B. Webbrowser), aktualisiert wurden. Jeder sollte dieses Medium aktivieren, auch bei einer sehr langsamen Internetverbindung. Wenn du ein "update" Medium hinzufügst, und--update
geändert wird, so kannurpmi
diese von regulären Medien unterscheiden.update testing
wird dazu verwendet, um neue Aktualisierungen zu testen, damit der Finder eines Bugs die Möglichkeit hat die Korrektur zu bestätigenbackports
einige Pakete von neueren Versionen die aus Cauldron rückportiert wurden oder Aktualisierungen welche beim Installieren ggf. ein manuelles Eingreifen benötigen, wodurch diese nicht unter "updates" geführt werden können (z.B. Nextcloud Server)backport testing
wird für zeitweilige Tests von Portierungen, von neueren Mageia Versionen auf ältere Versionen verwendet, so das Fehler gefunden und korrigiert werden können.
Eine vollständige Übersicht über die Struktur der Spiegelserver, welche auf den meisten Spiegelserver gefunden werden kann, findest du unter Mirrors policy .
Kopieren einer CD oder einer DVD in ein home Verzeichnis, unter Verwendung des entsprechenden Kommandos in urpmi
Möchtest du nicht die CD oder DVD verwenden, wenn du dein System aktualisierst, und du besitzt genügend Platz auf deiner Festplatte, so kannst du ein Verzeichnis erzeugen (z.B.: /home/uid/repo/
), kopiere nun die Verzeichnisse x86_64/media
oder i586/media
rekursiv von der CD oder DVD hierher. Anschließend entfernst du die Installations-CD oder -DVD, öffnest ein Terminal (oder eine Konsole) und als root gibts du nun folgendes ein:
cd/home/uid/repo genhdlist2 |
Nun kann das Medium mit urpmi.addmedia hinzugefügt werden:
urpmi.addmedia --distrib HD file://home/uid/repo |
oder verwende die Medienverwaltung unter Mageia Kontrollzentrum --> Software verwalten --> Paketquellen für Installation und Aktualisierungen einrichten
um das neue Verzeichnis einzustellen und um alle CD oder DVD Einträge zu löschen
Kopieren von RPM's (inklusive der Installations CD oder DVD) in ein einzelnes Verzeichnis und diese in urpmi verwenden
Erstelle ein Verzeichnis, z.B. ~/RPMS
, das alle RPM's aufnehmen soll. Um anschließend ein ganzes Bündel an RPM's (von der Installations-CD oder -DVD z.B.) zu kopieren, verwendest du:
find /INSTALL_CD/ -name *.rpm -print -exec cp {} ~/RPMS \; |
Hast du die Installations-CD oder -DVD auf die Festplatte kopiert, oder hast du deren ISO Abbilder auf der Festplatte (siehe Kopieren einer CD oder einer DVD in ein home Verzeichnis, unter Verwendung des entsprechenden Kommandos in urpmi, von wo aus sie dann eingehängt werden können), kann dies in einem Schritt geschehen.
In diesem Beispiel, wird die CD oder DVD wie folgt eingehängt /INSTALL_CD/
.
Dies erzeugt eine Datei namens hdlist.cz
und eine Namens sythesis.hdlist.cz
, basierend auf den geundenen Inhalte des Verzeichnisses.
Finde die pubkeys
(Public Keys - öffentliche Schlüssel) für die RPM's und kopiere diese nach ~/RPMS/pubkey
. Diese sollten in INSTALL_CD/media/media_info
zu finden sein:
$ mkdir ~/RPMS/pubkey |
$ cp /INSTALL_CD/media/media_info/pubkey* ~/RPMS/pubkey/ |
Füge nun als root
dieses Medium ein:
# urpmi.addmedia local_rpms file://home/uid/RPMS/ |
Medien für eine Distribution hinzufügen
urpmi
kann wichtige Medien hinzufügen (z.B. core, nonfree, tainted ...) aus einem ausgewählten Spiegelserver, mittels einem einzigen Befehl einbinden. Als root gebe folgendes in die Konsole/Terminal ein:
urpmi.addmedia --distrib ftp://'MIRROR_SITE'/mirror/mageia/distrib/'VERSION'/'ARCH' |
was folgende Bedeutungen besitzt:
- 'MIRROR_SITE' ist die aktuelle URL des FTP-Server,
- 'VERSION' ist die aktuelle oder eine andere Version aus unserer Mageia-Auswahl für die du dieses Medium hinzufügen willst,
- 'ARCH' ist entweder: i586 oder x86_64, oder möglicherweise eine andere Architektur die noch nicht für alle Mageia-Versionen existiert (z.B sparc, pcc, usw.)
Manuell einen Spiegelserver auswählen
Spiegelserver sind auf der Seite https://mirrors.mageia.org/ aufgelistet - Wähle einen welcher in deiner Nähe ist (gemessen an der Internet Route)
Die Statusseite https://mirrors.mageia.org/status hilft dabei, schlechte Server zu vermeiden (z.B. zur Zeit nicht erreichbare).
Mit aria2 automatisch einen Spiegelserver wählen
Es ist möglich Spiegelserver automatisch zu wählen, indem die Option --mirrorlist
verwendet wird. Dieses Kommando fügt wichtige Medien hinzu, wodurch die Spiegelserver automatisch ausgewählt werden:
urpmi.addmedia --distrib --mirrorlist '$MIRRORLIST' |
urpmi.update
Das Kommando urpmi.update
aktualisiert die Liste der Pakete einer Paket-Repository. Diese Liste ändert sich immer dann wenn sich die Pakete auf dem Server ändern. Aus diesem Grund muss diese Liste immer aktualisiert werden, bevor du ein neues Paket von einer sich ändernden Repository installieren willst, wie z.B. Mageia Cauldron (Sei vorsichtig mit den Cauldron Paketen; diese können funktionieren, aber das Installieren dieser Pakete verursacht zumeist Probleme, auf dem weiten Weg zur stabilen Version!). Verwendest du eine Repository für eine Finale Veröffentlichung, so ändert sich diese normalerweise nicht, so dass du diese Liste nicht aktualisieren musst, wann du etwas installieren willst. Du kannst urpmi.update
wie folgt verwenden:
urpmi.update namedesmediums |
oder
# urpmi.update -a |
Das erste Beispiel aktualisiert nur das spezifische Medium, wobei der letzte Befehl alle Medien aktualisiert.
urpmi.removemedia
Willst du ein Repository entfernen, so verwende folgenden Befehl:
urpmi.removemedia namedesmediums |
Um alle Repositorys zu entfernen:
$ urpmi.removemedia -a |
urpmf
Mit urpmf
findest du jede Datei die du willst, weist zu welchem Paket diese Datei gehört, siehst eine Beschreibung des Pakets und noch viele andere Dinge.
Beachte, dass nur in den aktivierten Medien gesucht wird. Siehe hierzu #urpmq.
Wenn du dir vorstellst dass du ein C-Programm kompilieren willst und der Compiler "meckert" dass er jpeglib.h
nicht finden kann. So musst du nur folgendes ausführen:
urpmf jpeglib.h
Du erhältst nun eine Ausgabe, ähnlich dem nachfolgenden Beispiel:
libjpeg62-devel:/usr/include/jpeglib.h mozilla-devel:/usr/include/mozilla-1.4a/jpeg/jpeglib.h |
Diese bedeutet, dass die jpeglib
Header-Datei ein Teil des Pakets libjpeg62-devel
ist, und nun in folgender Weise installiert werden kann:
urpmi libjpeg62-devel
Ein anderes Beispiel: du möchtest einen Mail-Client installieren, aber du kennst keinen Mail-Clienten für Linux. Aus diesem Grund möchtest du in der Zusammenfassung der Pakete nach Ausdrücken wie 'mail' und 'client' suchen. Das Kommando
urpmf --summary mail -a client
gibt folgende Antwort aus:
evolution:Integrated GNOME mail client, calendar and address book. squirrelmail:Squirrelmail is a webmail client for PHP4. sylpheed-claws:Enhanced version of the Sylpheed e-mail client comsat:A mail checker client and comsat mail checking server. cscmail:CSCMail is a GTK email client written in Perl sylpheed:A GTK+ based, lightweight, and fast e-mail client tradeclient:Email Client with PIM features for X |
Die Option --summary
wird verwendet um eine Suche durch die Zusammenfassung auszuführen, und das -a
kann als 'and' (und) übersetzt werden.
urpmi
Dies ist das Kommando für die grundlegende Paketverwaltung, das du verwendest um die Pakete zu installieren, so wie die entsprechenden Abhängigkeiten:
urpmi namedespakets |
Wenn du z.B. denkst, dass Sylpheed
ein guter E-Mail Client ist, da dieser als 'leichtgewichtig' beschrieben wird, so installierst du diesen wie folgt: urpmi sylpheed
.
Warnung: die Ausführung von urpmi nameofpackage
führt normalerweise (aber nicht notwendigerweise) dazu, dass die neueste Version des Pakets installiert wird. urpmi
vergleicht die Versionsnummer des installierten Pakets mit der des aktivierten Mediums. Die Ausnahme tritt dann auf, wenn eine Aktualisierung eines Paketes verfügbar ist, dies aber unter einem etwas anderen Namen, während sowohl die alte als auch die neue Version im entsprechend Medium verfügbar bleiben. Dies ist manchmal nötig, um eine Rückwärtskompatibilität zu erhalten.
Hier ein anmerkenswertes Beispiel: urpmi autoconf
endet nicht mit der neuesten Version nach einer Installation, für die höchste Version dieses Pakets ist der Name autoconf2.5-2.60
zu verwenden.
Du solltest das Kommando urpmi autoconf2.5
stattdessen verwenden, so dass du die neueste Version 2.5*
erhältst. Beachte dass auf deinem Mageia System, beide Versionen installiert sein sollten: Mageia wählt automatisch jene die am besten passt. Siehe in /usr/share/doc/autoconf-2.13/IMPORTANT.README.MDK
für weitere Informationen zu diesem besonderen Beispiel.
Verschiedene Anmerkungen über urpmq --fuzzy
, findest du weiter unten, um zu lernen wie solche Versionsprobleme verhindert werden.
Systemaktualisierung
Ein weiteres Beispiel zur Verwendung von urpmi
ist das Aktualisieren deines Systems mit den neuesten Sicherheits-Aktualisierungen/Fehlerbehebungen:
# urpmi --auto-update |
Der obige Befehl bringt das System auf den neuesten Stand und ist gleichbedeutend mit folgender Befehlssequenz:
# urpmi.update -a && urpmi --auto-select |
Die Zeichen &&
bedeuten "WENN das erste Kommando erfolgreich war, dann führe das zweite Kommando aus". Der erste Befehl (urpmi.update -a
) aktualisiert, für alle Medien, die Liste der verfügbaren Softwarepakete. Der zweite Befehl (urpmi --auto-select
) wählt alle verfügbaren Aktualisierungen für bereits installierte Pakete aus und stößt den Aktualisierungsvorgang an. urpmi
listet daraufhin die aktualisierbaren Pakete auf und fragt, ob du wünschst weiter zu machen. Willst du weitermachen, gib einfach j
für ja oder n
für nein ein und drücke Enter
. Ist der Aktualisierungsvorgang beendet, zeigt die Installation eine neue Eingabeaufforderung am unteren Ende des Bildschirms an.
Bevorzugst du die Verwendung einer grafischen Benutzerschnittstelle ('GUI') so verwende rpmdrake
im Mageia Kontrollzentrum: Software verwalten --> Paketquellen für Installation und Aktualisierungen einrichten
Systemupgrade auf die neueste Mageia version
urpmi
kann auch verwendet werden um Ihr System auf eine neuere Version von Mageia zu aktualisieren:
Kurzfassung:
Entfernen der alten Spiegelserverliste:
# urpmi.removemedia -a |
Hinzufügen der neuen Spiegelserverliste (hier am Beispiel von Mageia 9):
# urpmi.addmedia --distrib --mirrorlist 'http://mirrors.mageia.org/api/mageia.9.$ARCH.list' |
Starten der Systemaktualisierung:
# urpmi --auto-update --auto --force |
Wichtig: Lesen sie vor Beginn der Aktualisierung die ausführlichen Hinweise in den Veröffentlichungshinweisen. (Lesen Sie ebenfalls den Rest der Veröffentlichungshinweise und der Errata.)
Schauen Sie auch wie man die richtige Upgrade-Methode auswählt.
urpmi --parallel verteilt Aktualisierungen auf einen Computer in Ihrem Netzwerk
Aktualisierungen können auf einen Computer geladen und von dort zu den anderen Computern im Netzwerk verteilt werden.
urpmi --parallel
aktualisiert alle von dir angegebenen Computern. Siehe unter man urpmi
für weitere Informationen und man urpmi.files
, sowie auch unter: http://www.happyassassin.net/2005/05/04/a-quick-guide-to-urpmi-parallel .
Der Modus urpmi parallel macht das, wonach es sich anhört: du führst ein urpmi
Kommando aus und dies wird auf jedem Computer parallel ausgeführt. Um es genauer zu sagen - der Computer auf dem dieses Kommando ausgeführt wird testet die Resultate mit jedem Computer in der Gruppe, lädt alle notwendige Pakete für alle Computer in der Gruppe herunter, verteilt die entsprechende Pakete an die Computer. Nun wird urpmi
auf dem Computer aufgerufen um die aktuelle Installation auszuführen. Dies ist brilliant für eine schnelle Installation von Software auf allen Computern, oder um diese auf den neuesten Stand zu halten, mit nur wenigen Kommandos und der Verminderung an Internetzugriffen, da jedes nötige Paket nur einmal heruntergeladen werden muss. Der einzige Nachteil ist in diesem Moment jener, dass du den Server-Computer nicht in die Gruppe einfügen kannst, was es für kleinere Heim-Netzwerke nicht so gut macht.
(Eine Alternative und flexiblerer Weg wäre es, urpmi-proxy auf einem Ihrer Computer zu installieren, welcher am häufigsten angeschaltet ist. Stelle dann alle Mageia Computer (inklusive dem, auf welchem urpmi-proxy läuft) anschließend um, dass diese die Pakete von diesem Computer erhalten. Dieser Computer empfängt alle Pakete welche von den anderen Computern angefragt werden und speichert diese im Cache, wodurch andere Geräte, welche auch nach diesem Paket anfragen, diese schneller aus dem Cache empfangen können.)
So, wie verwendet man urpmi --parallel? Es ist ganz einfach, wirklich.
Zuerst muss du sicherstellen dass du vom Server auf jeden Client mit ssh
, als root zugreifen kannst (du musst ein Passwort eingeben, kannst es aber auch so einstellen dass die Hinterlegung eines Schlüssels an den Clients verwendet wird und du dann ssh-add
verwendest, um dich nicht jedes Mal anmelden zu müssen). Nun installierst du urpmi-parallel-ssh
auf dem Server. Ändere /etc/urpmi/parallel.cfg
auf folgenden Inhalt:
local:ssh:toy:htpc |
Der erste Parameter ist der Name der Gruppe, dieser Name kann so gewählt werden wie du es willst. Lasse den zweiten Namen bei ssh
. Die verbleibenden Parameter sind die Hostnamen der Computer in der Gruppe; die wieder nach deinem Geschmack sein können (aber ohne den Server: urpmi
stolpert sonst über seine eigenen 'lock' Dateien).
Nun kannst du das ganze verwenden. Am Server führst du folgendes aus:
urpmi --parallel local einpaket |
Solange urpmi
am Server Zugriff auf alle Pakete besitzt die von allen Computern benötigt werden, von dessen urpmi Medium, sollte alles nun glatt verlaufen. Der leichteste Weg, dies zu erreichen ist, sicher zu stellen dass alle Computer - Server und Client - das gleiche urpmi Medium verwenden.
Installation von inaktiven Medien, z.Bsp. Backports
Um nicht versehentlich zurückportierte Pakete zu installieren, sollten Sie Backport-Medien nicht aktiviert haben.
Sie können urpmi anweisen, trotzdem von einem nicht aktivierten Medium zu installieren, wenn Sie es wollen.
(Natürlich müssen die Medien konfiguriert und aktualisiert werden, siehe urpmi.update)
Hier ist ein Beispiel für die Installation von gnucash aus Backports testing:
urpmi --search-media 'Backports Testing' gnucash |
urpme
Dieses Kommando entfernt die Software von deinem Computer. So wie bei urpmi
, arbeitet dieses Kommando mit den Abhängigkeiten und sagt dir, wenn eine weiterhin installierte Software von dem abhängig ist, die entfernt werden soll. Hier wird dir eine Möglichkeit gegeben diese Prozedur abzubrechen oder die Pakete mit all seinen Abhängigkeiten zu entfernen. Der Aufruf sieht wie folgt aus:
urpme nameofpackage |
So ist für dich zum Beispiel Sylpheed so gut, dass du Evolution, deinen früheren E-Mail-Client, loswerden willst. So erhältst du wieder mehr Platz auf deiner Festplatte, wenn du folgendes ausführst: urpme evolution
.
Beachte die Warnung, dass gegebenenfalls zu viel entfernt wird.
Fortgeschrittene Verwendung
Um alle nicht mehr verwendete Pakete oder ganze Desktop-Umgebungen zu entfernen, schaue unter Pakete_entfernen.
urpmq
Durch die Verwendung von urpmq
kannst du viele Informationen über ein rpm herausfinden.
urpmq -i
liefert Information über die rpm's die du installieren kannst. Versucheurpmq -i bash
urpmq -d
liefert eine Liste aller rpm's die nötig sind um ein Stück einer Software zu installieren,urpmq -d bash
zeigt welche rpm's benötigt werden,- hinzufügen des Schalters/switch
-m
, zeigt dir die Dateien an, die im Moment nicht auf deinem System installiert sind. --sources
zeigt die Quelldateien an.- Mit
urpmq -d -m --sources
, erhältst du einfach eine Liste an url's die sich auf die rpm bezieht, die du benötigst: ziemlich praktisch wenn dir eine gute Verbindung zum Internet fehlt. urpmq --list-media
listet alle konfigurierten Medien, inklusive den inaktiven, auf.
Um nur die aktiven Medien anzuzeigen, füge den Zusatz "active" in der Befehlszeile hinzu und durch die Option "--list-url", kann man sehen, von welchem Repository die Daten geholt werden.
Dieses Beispiel wurde an einem 64-Bit System mit aktivierten 32-Bit Medien und ohne den tainted-Repositorys, ausgeführt.
Um die Medien zu ändern, rufe die Konfiguration der Medien drakrpm-edit-media
auf (, alternativ kann das Mageia Kontrollzentrum verwendet werden). Falls du zusätzlich ein Medium für Aktualisierungen auswählen oder abwählen möchtest (z. B. wenn Cauldron verwendet wird), führe den Befehl drakrpm-edit-media --expert
aus.
Note: urpmq sucht nur in aktiven Repositorys - Du musst diese einrichten und aktivieren, damit urpmq alle von uns bereitgestellte Pakete finden kann.
|
Warnung! Wenn du urpmq verwendest, um nach bestimmten Paketen zu suchen, vergewissere dich, dass du den Unterschied zwischen der Verwendung und Nichtverwendung der Option --fuzzy kennst. Du wirst möglicherweise einige Pakete, nach denen du suchst, verpassen, wenn du nicht vorsichtig bist. Wenn urpmq ein Paket findet, welches den gleichen Namen hat, wird es als Voreinstellung nur dieses Paket anzeigen und keine Pakete, welche auch Dateien mit dem gleichen Namen enthalten.
|
Als Beispiel: Du wirst auf das real-time strategy Spiel 0ad aufmerksam gemacht.
Toll! Es gibt ein Mageia Paket mit dem gleichen Namen! Jedoch siehst du nicht die anderen Pakete, welche auch den Namen enthalten! Nun suchen wir erneut: Beachte das fehlende 'd' am Ende des Paketnamens:
Dieses Mal sieht die Ausgabe anders aus: Es wird nicht nur ein Paket, sondern zwei Pakete angezeigt. Vergleiche die folgende Ausgabe mit den vorherigen zwei.
urpmq -r --fuzzy
ist auch gut um anzeigen zu lassen, welche anderen verfügbare Versionen für dieses Paket gibt: manchmal stellt eine neue Hauptversion nicht die vollständige Rückwärtskompatibilität zu Verfügung. Aus diesem Grund wird die neuere Version unter einem etwas anderen Paketnamen zur Verfügung gestellt. Nun kannst du dir sicher sein, nichts zu verpassen.
fvwm2-2.6.9-4.mga8 fvwm2-config-mageia-2.6.9-4.mga8 fvwm2-doc-2.6.9-4.mga8 fvwm3-1.0.2-1.1.mga8 fvwm3-config-mageia-1.0.2-1.1.mga8 fvwm3-doc-1.0.2-1.1.mga8 task-fvwm2-1-7.mga8 </nowiki>}}
Hier siehst du: Die neue Version wurde mit einem anderen Namen als Paket bereitgestellt (der Name enthält eine aufsteigende Versionsnummer)
Verwenden der grafischen Schnittstelle
gurpmi
gurpmi
ist das grafische Front-End für urpmi
und kann an der Kommandozeile oder Eingabeaufforderung verwendet werden, um Pakete von einem Medium, zu installieren oder um nach Pakete zu suchen. Es wird von rpmdrake
verwendet um Meldungen anzuzeigen die eine Interaktion mit dem Anwender benötigen.
rpmdrake
Mageia bietet einen Satz an netten grafischen Werkzeugen um die gleichen Aufgaben auszuführen. Rpmdrake befindet sich im Mageia Kontrollzentrum um Programme zu installieren oder zu entfernen. Du kannst damit auch die Aktualisierungen durchführen und Repositorys auswählen. Siehe unsere offizielle Dokumentation (en).
manatools
Eine noch nicht vollständige Neuerstellung des Mageia Kontrollzentrums, die in Mageia 5 hinzugefügt wurde. Versuche mpan
oder mana
auszuführen.
dnfdragora
DNF
ist der aufgehende Stern bei der Paketverwaltung. Dnfdragora
ist die grafische Benutzeroberfläche.
Weitere Informationen, wie DNF eingerichtet und verwendet wird, sowie Vorsichtsmaßnahmen, finden sich auf der Seite Verwenden von DNF.
Eine Frage der Sicherheit
Was gibt es zur Sicherheit zu sagen
Urpmi
muss als root ausgeführt werden um in folge die Pakete installieren zu können. Eine clevere aber böswillige Person kann möglicherweise einen nicht so cleveren Mageia Anwender austricksen (Ich weiß dass alle Mageia Anwender clever sind, lass uns aber dennoch annehmen dass es irgendwo einen leichtgläubigen Mageia Anwender gibt, nur um dies erklären zu können) und ihn veranlassen ein Paket zu installieren dass wie ein reguläres Paket aussieht, dass von vielen verwendet wird, aber möglicherweise ein trojanisches Pferd ist und einen böswilligen Code enthält. Einmal installiert, kann diese Anwendung einige Viren, Würmer oder irgendeine andere Spionagesoftware freisetzen... Bisher haben wir noch nichts über solche Dinge erfahren, aber in einigen Jahren, wenn GNU/Linux das am weitesten verbreitetste Betriebssystem ist, ist es leicht möglich dass einige Leute solche Attacken versuchen. Glücklicherweise, schlägt dies fehl, da ein beachtenswerter Teil der GNU/Linux Gemeinde immer ein Augenmerk auf die Sicherheit richtet. Die meisten Pakete sind vom Paketbauer signiert um deren Authentizität sicher zu stellen.
Außer dass eine arglistigen Person versucht dich zu täuschen, so dass du seine Malware installierst, ist es wahrscheinlicher dass du versuchst Pakete zu installieren die beschädigt sind, entweder während des ftp Transfers, oder durch einen Kratzer auf deiner CD/DVD... Bevor die Installation ausgeführt wird, überprüft urpmi
die Integrität der Pakete unter Verwendung eines MD5 Hash Code und den enthaltenen gpg Paket-Schlüssel. Sieh den entsprechenden Abschnitt weiter unten, für weitere Details.
Manchmal, wenn du urpmi
verwendest, endet es mit folgenden Zeilen:
rpmdb: /var/lib/rpm/Pubkeys: unexpected file type or format rpmdb: /var/lib/rpm/Pubkeys: unexpected file type or format rpmdb: /var/lib/rpm/Pubkeys: unexpected file type or format rpmdb: /var/lib/rpm/Pubkeys: unexpected file type or format rpmdb: /var/lib/rpm/Pubkeys: unexpected file type or format rpmdb: /var/lib/rpm/Pubkeys: unexpected file type or format rpmdb: /var/lib/rpm/Pubkeys: unexpected file type or format rpmdb: /var/lib/rpm/Pubkeys: unexpected file type or format |
Es ist unklar was der Ursprung des Problems ist: möglicherweise wurde die Datei durch ein Upgrade beschädigt oder wenn ein urpmi
Prozess von einem ungeduldigen Anwender abgebrochen wurde.
Die Lösung hierzu besteht darin die Datei rpmdb
: /var/lib/rpm/Pubkeys
und die öffentlichen Schlüssel neuerlich zu importieren.
MD5 Hash
Der MD5 Hash ist ein Code, der innerhalb des RPM Pakets enthalten ist, womit mit rpm
überprüft wird ob der Paket-Hash in Ordnung ist oder nicht. Ist aus irgendeinem Grund das Paket beschädigt, so wird von rpm
(und urpmi
) eine Installation abgelehnt; rpmdrake
fragt den Anwender ob weitergemacht werden soll oder nicht.
Hier ist ein entsprechendes Beispiel:
[root@localhost yourusername]# urpmi kdesdk rpmdb: /var/lib/rpm/Pubkeys: unexpected file type or format error: cannot open Pubkeys index using db3 - Invalid argument (22) The following packages have bad signatures: /var/cache/urpmi/rpms/kdesdk-3.1.3-9mdk.i586.rpm: Invalid signature ((SHA1) DSA sha1 MD5 GPG GPG#70771ff3 NOT OK) Do you want to continue installation ? (y/N) y installing /var/cache/urpmi/rpms/kdesdk-3.1.3-9mdk.i586.rpm error: /var/cache/urpmi/rpms/kdesdk-3.1.3-9mdk.i586.rpm: MD5 digest: BAD Expected(97f2ba5a91888cd3af40f89be6b65868) != (393221db35071aa90eaa73816a9a5ba8) unable to install package /var/cache/urpmi/rpms/kdesdk-3.1.3-9mdk.i586.rpm |
Beachte die beiden Zeilen Invalid signature ((SHA1) DSA sha1 MD5 GPG GPG#70771ff3 NOT OK) und MD5 digest: BAD Expected(97f2ba5a91888cd3af40f89be6b65868) != (393221db35071aa90eaa73816a9a5ba8). Die Datei kdesdk-3.1.3-9mdk.i586.rpm ist beschädigt und wird nicht installiert.
Die Lösung ist hierbei die Datei von /var/cache/urpmi/rpms/
zu entfernen und nochmals herunter zu laden. Versuche nochmals eine Installation mit urpmi
oder rpm --import <dateiname>
Wenn es noch immer nicht funktioniert, scheint es dass der Spiegelserver eine beschädigte Datei enthält. Versuche ein händisches Herunterladen von zwei oder drei anderen Spiegelservern und speichere diese Datei im Ordner /var/cache/urpmi/rpms/
. Es sollten die zuvor heruntergeladenen Dateien immer händisch entfernt werden, bevor ein anderer Server versucht wird. Dann versuche eine weitere Installation mit urpmi
.
Es kann auch vorkommen dass eine beschädigte Datei auf jedem der FTP-Server gespiegelt ist. Hast du verschiedene Server probiert und du bekommst immer wieder die gleichen Probleme, so versuche in einem Mageia Anwenderforum oder einer Mail-Liste zu erfragen ob ein anderer Anwender die gleichen Probleme, mit der gleichen Datei hat. Ist dies der Fall, wird aller Wahrscheinlichkeit nach bald eine neue Version veröffentlicht werden.
Fehlersuche
RPM Datenbank ist gesperrt
Erhältst du die Fehlermeldung "urpmi database is locked", während du versuchst ein Paket zu installieren, bedeutet dies wahrscheinlich dass zur Zeit ein anderer Prozess diese Datenbank verwendet. Dies kann z.B. einer der folgenden sein:
- Eines der Software Verwaltungsanwendungen von Mageia:
- rpmdrake auch bekannt unter "Installieren & Entfernen von Software"
- drakrpm-edit-media auch bekannt unter "Paketquellen für Installation und Aktualisierungen einrichten"
- mgaapplet, das Applet für Aktualisierungen, Aktualisieren der
urpmi
Datenbank im Hintergrund (dies ist das Applet das für das Symbol verantwortlich ist, dass du in der Werkzeugleiste siehst um dich darauf aufmerksam zu machen das Aktualisierungen vorhanden sind) - Ein urpmi/rpm Prozess der ein Paket installiert oder entfernt
Seit der Mageia 1 Veröffentlichung, zeigt urpmi
in der Kommandozeile die ganzen Prozesse der urpmi
Datenbank an, so dass es leichter ist diesen zu identifizieren.
Wenn du dir sicher bist kein anderes urpmi
Kommando gestartet zu haben, oder auch kein Fenster einer Softwareverwaltung offen ist, so ist es vielleicht mgaapplet
, dass gerade die Datenbank aktualisiert und im Hintergrund auf Aktualisierungen überprüft. Warte einfach eine Weile und versuche es noch einmal.
Wenn das Problem weiterhin besteht, so überprüfe wer die Datenbank verwendet, das nachfolgend gezeigte Kommando sollte dies ermöglichen (wie oben schon beschrieben, zeigt urpmi
in der Kommandozeile den Prozesses der die Datenbank verwendet):
ps aux | grep rpm |
du kannst nun den Prozess killen, muss aber beachten dabei nicht die urpmi/rpm
Datenbank zu beschädigen. Ist z.B. der Prozess urpmi.update, so kannst du diesen Prozess killen, da dieses Kommando nur die urpmi
Datenbank aktualisiert, und wenn dieser Prozess abgebrochen wird, ohne das die Aktualisierung komplett durchgeführt wurde, so wird die Datenbank bei der nächsten Ausführung aktualisiert.
Das händische Löschen der urpmi LOCK Dateien ist nicht zu empfehlen oder nötig
urpmi verwendet f-lock um die urpmi Datenbank zu sperren wenn ein urpmi Prozess läuft. Dies bedeutet dass urpmi entdecken kann wenn die LOCK Dateien (/var/lib/urpmi/.LOCK und /var/lib/rpm/RPMLOCK) "veraltet" sind (z.B. ein Prozess ausgeführt wurde bevor die LOCK Dateien erstellt worden sind, aber nicht sauber bereinigt wurden und deshalb die LOCK-Dateien nicht gelöscht wurden); entdeckt urpmi solche "veraltete" LOCK Dateien, so werden diese gelöscht und eine neue erzeugt. Aus diesem Grund solltest du niemals diese LOCK Dateien händisch löschen, stattdessen solltest du die obigen Schritte befolgen um die Fehlermeldung "urpmi database is locked" zu beheben, wann immer diese auftritt.
Neubilden der Datenbank
Wird die Datenbank inkonsistent (eine inkonsistente Datenbank kann dazu führen dass rpm meldet dass ein "package is already installed" auch wenn es aktuell nicht der Fall ist, und umgekehrt) dann kannst du mit dem nachfolgenden Kommando die Datenbank neu bilden:
rpm --rebuilddb
- * Es ist eine gute Idee regelmäßig die Daten im Verzeichnis
/var/lib/rpm
zu sichern. Dann kannst du immer auf die zuvor gute Datenbank zurückgreifen und die Pakete neu installieren die später gekommen sind:
rpm -ivh --justdb --noscripts --notriggers
Fehlgeschlagene Downloads
Fehlgeschlagene Downloads verhindern möglicherweise einen erfolgreichen Aktualisierungsvorgang.
Um fehlerhafte rpm Dateien zu löschen, verwende den Befehl urpmi --clean
.
Oder verwende urpmi --resume
, um den unterbrochenen Download fortzusetzen.
Der Fehler "medium <Medienname> uses an invalid list"
rm /var/lib/urpmi/list.<Medienname> |
Die stoppt den Fehler vom ausführen, ohne die Paketinstallation zu stören.
Überprüfen der RPM-Pakete
Ein sehr nützliches Werkzeug zum Überprüfen eines beschädigten Systems ist das Vergleichen der Pakete mit der rpm Datenbank.
rpm -Va |
Dies zeigt dir welche Pakete geändert wurden seit du diese installiert hast (d.h. es zeigt dir auf, in welcher Weise dein System im Vergleich zur RPM Datenbank inkonsistent ist). Wenn du z.B. während des Startvorganges einen Stromausfall hattest, können einige Dateien beschädigt worden sein (oder wenn du etwas albernes getan hast). Mit diesem Wissen kannst du das System bereinigen, so dass das System durch die Neuinstallation der betroffenen Pakete wieder in Ordnung gebracht wird. (Dies kann auch bei einem nicht mehr startbaren System ausgeführt werden, wenn du von einer Rettungs-CD startest um dies zu beheben.)
Um ein einzelnes Paket zu überprüfen, verwendest du rpm -V paketname
(Der Name ist ausreichend, Versionsnummer usw. kann ausgelassen werden).
Um ein Paket wieder zu installieren, verwende folgendes Kommando:
urpmi --replacepkgs paketname |
Du kannst auch das Kommando urpmi --no-install paketname
verwenden um die rpm Datei(en) herunterzuladen, ohne dass diese installiert werden, und anschließend folgendes Kommando eingeben:
rpm -i --replacepkgs /var/cache/urpmi/rpms/paketname.rpm |
um das Paket zu installieren (vorausgesetzt das Paketname.rpm der Name der rpm Datei ist).
Um einen oder mehrere Pakete mit den entsprechenden md5sum-, hash- und gpg-Signaturen zu vergleichen:
rpm -K foo.123.rpm, or rpm -K foo* |
RPM Quellen
Um in Folge mit den Quelldateien eines Pakets arbeiten zu können, kannst du urpmi verwenden, um die SRPMS rpm Datei zu laden:
# urpmi.addmedia core_src ftp://ftp.mirrror.com/mirror/mageia/distrib/6/SRPMS/core/release |
und anschließend installieren:
urpmi --install-src paketname
Wenn du --noclean
hinzufügst, so bleibt die Paketdatei im ersten rpm build Verzeichnis erhalten. Beachte bitte, dass du nicht root sein musst um die Datei src.rpm zu laden, gibt einfach folgendes ein:
/usr/sbin/urpmi --install-src paketname |
und du erhältst die entpackte SRPM in ~/rpmbuild . Nun kannst du deine Binärdatei neu erstellen.
rpm-build -bb ~/rpmbuild/SPECS/packagename.spec |
Frühaufsteher sind langsam
Wenn msec
dein System überprüft, so wird die Datenbank rpm
verwendet, aber dies geschieht mit nice 19
, und wahrscheinlich ist es noch sehr früh am Morgen. Mit einem sehr langsamen System kann dies sehr lange dauern. Wenn ps -e
folgendes zeigt: msec, rpmv, grep
und sort
, so kannst du rpmdrake
/ urpmi
durch "renicing" rpmw, grep
und sort
auf 0 setzend, beschleunigen.
Andere Orte um mehr über urpmi zu lernen
Weiter unten befinden sich weitere Möglichkeiten um detaillierte Informationen über URPMI zu erhalten:
- Geben nur den urpm* Befehl ein, um eine kurze Hilfe angezeigt zu bekommen
man
Seiten: schau in dieman
Seiten um alle Optionen anzeigen zu lassen. Dies ist die aktuellste Quelle für Informationen (Vergiss nicht: diese kann auch in vielen Browsern geöffnet werden, gib einfachman:urpmi
in das Adressfeld ein).- Schauen Sie in den Mageia Veröffentlichungshinweise zur jeweiligen der Version, auf die aktualisiert werden soll.
Installierte Pakete mit rpm anzeigen lassen
rpm -qa
listet alle installierte Pakete. Durch eine pipe mit grep, zum Beispiel mitrpm -qa | grep drak
, werden alle Pakete angezeigt, welche "drak" im Namen enthalten.- "Von welchem Quellpaket wurde drakrpm gebaut?"
rpm -qif `which drakrpm`