From Mageia wiki
Jump to: navigation, search


Drakconf multiflag.png
Andere Sprachen
Deutsch ; English ; Español ; Français ; Nederlands ;
Diese Seite wurde im März 2019 von wiki.mageia.org/de/ übernommen und erweitert. Für die ursprüngliche/n Seite/Autoren siehe hier. Hierbei handelt es sich um eine Übersetzung aus dem englischen.


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

Ü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ält
  • tainted 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 kann urpmi 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ätigen
  • backports 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 Flag-united-kingdom02.png.

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/.

$ cd ~/RPMS
genhdlist2

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. Versuche urpmq -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.

$ urpmq --list-media active --list-url
Core Release http://ftp.acc.umu.se/mirror/mageia/distrib/7.1/x86_64/media/core/release Core Updates http://ftp.acc.umu.se/mirror/mageia/distrib/7.1/x86_64/media/core/updates Nonfree Release http://ftp.acc.umu.se/mirror/mageia/distrib/7.1/x86_64/media/nonfree/release Nonfree Updates http://ftp.acc.umu.se/mirror/mageia/distrib/7.1/x86_64/media/nonfree/updates Core 32bit Release http://ftp.acc.umu.se/mirror/mageia/distrib/7.1/i586/media/core/release Core 32bit Updates http://ftp.acc.umu.se/mirror/mageia/distrib/7.1/i586/media/core/updates Nonfree 32bit Release http://ftp.acc.umu.se/mirror/mageia/distrib/7.1/i586/media/nonfree/release Nonfree 32bit Updates http://ftp.acc.umu.se/mirror/mageia/distrib/7.1/i586/media/nonfree/updates

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.
  • Aktiviere die 32-Bit Repositorys, während du ein 64-Bit System nutzt, nur, wenn diese benötigt wird (z. B. für Steam). Sollte ein Paket aus den 32-Bit Repositorys installiert worden sein, lasse das Repository und das entsprechende Update-Repository aktiv, damit keine zukünftige Aktualisierung der Pakete verhindert wird.
  • Tainted Repositorys enthalten Programme, die möglicherweise von Patenten betroffen sind und zuvor die Legalität in Ihrem Land geprüft werden muss.
  • Backport enthält nur Pakete, welche von der kommenden Mageia Veröffentlichung, für die aktuell verwendete Mageia Veröffentlichung, zurückportiert wurden.
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.

$ urpmq -r 0ad
0ad-0.0.23b-16.mga8 0ad-0.0.25-1.mga8 0ad-0.0.25b-1.mga8 0ad-0.0.25b-1.1.mga8

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:

$ urpmq -r 0a
Kein Paket mit dem Namen 0a gefunden

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 0ad
0ad-0.0.25b-1.1.mga8 0ad-data-0.0.25b-1.mga8

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.

$ urpmq -r --fuzzy fvwm
fvwm-crystal-3.7.0-1.mga8

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 die man 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 einfach man: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 mit rpm -qa | grep drak, werden alle Pakete angezeigt, welche "drak" im Namen enthalten.
  • "Von welchem Quellpaket wurde drakrpm gebaut?" rpm -qif `which drakrpm`

Weitere Möglichkeiten um Anwendungen in Mageia zu installieren

Siehe Möglichkeiten um Anwendungen zu installieren‎‎