Aus Mageia wiki
Wechseln zu: Navigation, Suche
Drakconf multiflag.png
Weitere Sprachen

Deutsch ; English ; Français ;


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.

Inhaltsverzeichnis

Ü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.
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 hier sind die wichtigsten Programme enthalten, die von Mageia unterstützt werden;
  • non-free welches einige proprietäre Software enthält
  • tainted 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 vier untergeordnete Medien:

  • release Die Pakete die am Tag der Veröffentlichung verfügbar waren.
  • updates Die Pakete die seit dem Tag der Veröffentlichung aktualisiert wurden (aus Sicherheitsgründen oder sie wahren fehlerhaft). 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 Melder des Fehler 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. ownCloud unter Mageia 5)
  • 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.

Damit es möglich ist ein Paket von einem Spiegelserver zu installieren benötigt urpmi eine der beiden Dateien, in dem in komprimierten Format entweder : die wichtigsten oder der fast komplette Datensatz enthalten ist.

Eine vollständige Übersicht über die Struktur der Spiegelserver, welche auf den meisten Spiegelserver gefunden werden kann, findest du unter Mirrors policy (en).

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. main, updates, contrib ...) 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 http://mirrors.mageia.org/ aufgelistet - Wähle einen welcher in deiner Nähe ist (gemessen an der Internet Route)

Die Statusseite http://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.

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 Aktualisierungsprozess 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 Aktualisierungsprozess 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

Installation eines neuen / anderen Kernel

Wenn du eine separate /boot Partition haben, vergewissere dich, dass du genügend Speicherplatz zur Verfügung hast:

$ df

Anzeigen des zur Zeit verwendeten Kernel

$ uname -r

Anzeigen der installierten Kernel (Pakete die mit "kernel" beginnen)

$ rpm -qa | grep ^kernel | sort

Um verfügbare Kernel und Versionen aufzulisten (und andere Pakete die "kernel" im Namen haben)

# urpmq -y kernel

"-y" ist die Kurzform von "--fuzzy"

Informationen zu den verschiedenen Kernel-Arten: https://wiki.mageia.org/en/Kernel_flavours

Du sollten überprüfen, dass du auch die entsprechenden "-devel-" Pakete für deinen Kernel hast. Als Beispiel: Wenn du das Paket kernel-desktop-4.9.30-2.mga6 besitzt, vergewissere dich, dass du auch kernel-desktop-devel-4.9.30-2.mga6 hast. Dieses wird z.B. zum verlinken des Nvidia Treibers benötigt.

Dementsprechend gibt es auch "-source-" Pakete, jedoch benötigst du diese normalerweise nicht: Diese enthalten den Source Code (Quellcode) des aktuell in den Update-Quellen verfügbaren Kernels. Du müsst nur die Source Pakete des Kernel installieren, falls du etwas kompilieren musst, wie z.B. einen Gerätetreiber. (jedoch kann dies auch zum durchsuchen der Dokumentation des Pakets nützlich sein). Vergewissere dich, dass du die selbe Version von kernel-source installiert hast, die dem aktuell verwendeten Kernel entspricht, ansonsten werden die kompilierten Treiber nicht funktionieren.

Weitere Abhängigkeiten Falls du virtualbox installiert hast, solltest du auch die "virtualbox-kernel-..." Pakete installiert haben. Und falls du "-latest" für deinen Kernel installiert hast, solltest du auch dementsprechend das "virtualbox-kernel-...-latest Paket installieren.

Automatische Aktualisierungen Falls du ein Kernel-Paket besitzt, dass mit "-latest" endet, dann wird automatisch die aktuellste Version deines entsprechenden Kernels installiert, wenn du normale Aktualisierungen durchführst. Vergewissere dich, dass du die "latest" Pakete auch für die -devel- und -source- Pakete installiert, wenn du diese für deinen aktuellen Kernel installiert hast. Die "-latest" Pakete werden Standardmäßig installiert. Deinstalliere diese, falls du nicht möchtest, dass der Kernel über den normalen Aktualisierungsvorgang mit aktualisiert werden soll.

Um einen Kernel zu installieren: Führe einfach urpmi aus und die neuen Dateien die für den Startvorgang benötigt werden, werden unter /boot installiert, neben denen älteren Kernel(n). Die Konfiguration von grub oder lilo wird automatisch angepasst, indem eine neue Instanz eingefügt wird, um es zu ermöglichen, sowohl den alten als auch den neuen Kernel zu starten. Die vorgegebene 'linux' Instanz startet den neuen Kernel.

Wenn du es wünschst, kannst du auch stattdessen die rpmdrake GUI rpmdrake verwenden um einen neuen Kernel zu installieren: Mageia Kontrollzentrum --> Software verwalten --> Aktualisieren des Systems.

urpmi --parallel schiebt Aktualisierungen auf einen Computer in Ihrem Netz

Aktualisierungen können auf einen Computer geladen werden und von hier zu den anderen Computern im Netzwerk geschoben wird <-- (siehe auch: http://archives.mandrivalinux.com/expert/2006-03/msg00001.php ) -->

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.

Referenzen

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.

urpmq

urpmq erlaubt es dir die rpm Datenbank abzufragen, so dass du Informationen über die Pakete herausfinden kannst die auf deinem Computer installiert sind oder die Sie installieren können, wie auch andere Dinge, in der Datenbank, wie die Quellmedien, die Sie haben, welche so wie hier angezeigt werden:

[root@localhost root]# urpmq --list-media 
Core Release (distrib1)
Core Release Debug (distrib2)
Core Updates (distrib3)
Core Updates Debug (distrib4)
Nonfree Release (distrib11)
Nonfree Release Debug (distrib12)
Nonfree Updates (distrib13)
Nonfree Updates Debug (distrib14)
Tainted Release (distrib21)
Tainted Release Debug (distrib22)
Tainted Updates (distrib23)
Tainted Updates Debug (distrib24)
Core 32bit Release (distrib31)
Core 32bit Release Debug (distrib32)
Core 32bit Updates (distrib33)
Core 32bit Updates Debug (distrib34)

Warnung: wenn du urpmq verwendest um nach Paketen zu suchen, so solltest du sicherstellen, dass du den Unterschied zwischen der Verwendung des Programms mit oder ohne der Option --fuzzy verstehst. Du könntest einige Pakete vermissen, nach denen du suchst, wenn du nicht sorgsam damit umgehst. Wenn urpmq ein Paket mit dem exakten Namen findet, statt jenen, nach dem du gesucht hast, so wird nur dieses Paket angezeigt, und als Vorgabe werden die Pakete, die den gleichen Namen enthalten, nicht angezeigt.

Ein Beispiel:

         // Stell dir vor dein bester Freund erzählt etwas über vegastrike, ein cooles 3D Spiel.
[root@localhost yourusername]# urpmq vegastrike             
vegastrike                                                
         // Großartig! Es gibt ein Mageia Paket mit genau diesem Namen!
         // Aber man sieht die anderen Pakete die diesen Namen ebenfalls enthalten!

         // Wir fragen nochmals: beachte das fehlende 'e' am Ende des Programmnamens.
[root@localhost deinusername]# urpmq vegastrik
No package named vegastrik
The following packages contain vegastrik: vegastrike, vegastrike-data
You should use "-a" to use all of them
          // Diesmal ist das Ergebnis der Abfrage ganz anders:
          // Wir sehen keines der beiden Pakete.

         // Vergleiche diese Abfrage mit den beiden zuvor verwendeten.
[root@localhost yourusername]# urpmq --fuzzy vegastrike  
vegastrike
vegastrike-data
          // Dies ist der Unterschied, den die Option --fuzzy ausmacht.

urpmq --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 können Sie sicher sein, alles zu wissen.

Ein Beispiel:

[root@localhost augustin]# urpmi mplayer
      // Dies installiert NICHT die neueste Version von mplayer.
[root@localhost yourusername]# urpmq --fuzzy mplayer
The following packages contain mplayer:
kmplayer
mplayer
mplayer-fonts
mplayer-gui
mplayer-skins
mplayer1.0
mplayer1.0-gui
mplayerplugin
transcode
xmms-mplayer
      // Du siehst: die neue Version 1.0 befindet sich in einem eigenen Paket. 
      // Du wurdest gewarnt!!

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

manatoosl

Eine noch nicht vollständige Neuerstellung des Mageia Kontrollzentrums die in Mageia 5 hinzugefügt wurde. Versuche "mpan" oder "mana" zum starten.

dnfdragora

DNF ist der aufgehende Stern beim Paketmanagement. Dnfdragora ist eine in Entwicklung befindliche grafische Benutzeroberfläche in Mageia 6.

Zuerst muss DNF eingerichtet werden. Siehe Verwenden von DNF

Beachte das es immer noch ein paar Macken gibt, siehe Bugzilla. Du musst z.B. die Repositorys mit dem Befehl "dnf makecache" aus der Befehlszeile aktualisieren. Bug 20922

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. Siehe unter: GnuPG

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 Software Verwaltungs-Anwendung 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 können Sie 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

Der Fehler "medium contrib uses an invalid list"

rm /var/lib/urpmi/list.contrib

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.

Mit urpmi auf die neueste Version von Mageia aktualisieren

urpmi kann auch verwendet werden um dein System auf eine neuere Version von Mageia zu aktualisieren : füge die URL des Spiegelservers, mit den Paketen der neuen Version in deine urpmi Konfiguration ein: Mageia Kontrollzentrum --> Software verwalten --> Paketquellen für Installation und Aktualisierungen einrichten

(Weitere) coole Tricks die urpmi verwenden

Installieren von einer url oder einer lokalen Datei

urpmi kann verwendet werden um lokale rpm's zu installieren, und anschließend Abhängigkeiten aufzulösen. Wenn du z.B. die Datei foo-1.0-1bar.rpm neu erstellst oder neu compilierst, kannst du einfach urpmi foo-1.0-1bar.rpm verwenden. Dies funktioniert auch mit einer http oder ftp url (und ebenso ssh, vorausgesetzt dass auf beiden Seiten der Verbindung {{Cmd|rsync} installiert ist). Wenn aktiviert arbeitet bash_completion sehr gut mit solchen Kommandos.

Eine Abhängigkeitsliste erhalten, bevor installiert wird

Durch die Verwendung von urpmq kannst du einiges an Informationen über eine rpm herausfinden.

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

Information über eine rpm erhalten

urpmq -i liefert Information über die rpm's die du installieren kannst. Versuche urpmq -i bash

Installieren einer nicht-rpm-gepackte Software

Wenn nur irgendwie möglich, solltest du urpmi verwenden um eine Software zu installieren, womit die Pakete vom korrekten urpmi Medium für deine Version Mageia verwendet werden. Nahezu alles was du willst ist hier verfügbar. Hast du Medien für nonfree und tainted aktiviert: dies ist ein Weg um eine Menge an Schmerzen zu vermeiden! Es gibt natürlich auch manchmal Gelegenheiten, dass du ein anderes Paket installieren willst, oder eine neuere Version die in den Mageia Medien verfügbar ist.

Die goldene Regel hierbei ist, umgehe niemals die rpm Paketdatenbank, wenn diese möglicherweise helfen könnte und installiere niemals ein Paket mit Gewalt. Wenn du diese Regel beachtest, die vielleicht ärgerlich erscheinen, garantieren sie dir jedoch, nie ein System in einem inkonsistenten Zustand zu besitzen. Wenn sich rpm/urpmi weigert, irgendetwas zu installieren, so gibt es sicherlich einen guten Grund!

Kompilieren einer Quelldatei

Statt der vertrauten Trilogie von:

./configure
make
make install

kannst du checkinstall verwenden, um eine rpm zu generieren:

./configure
make
checkinstall

somit erhältst du eine rpm die mit urpmi installiert werden kann, und ebenso wieder entfernt werden kann, wenn du es wünschst. Gibt es bereits eine "tarball" worin eine gute "spec"-Datei enthalten ist, ist es natürlich einfacher:

rpmbuild -tb ballname.tar.gz

Neubilden von RPM'S

Erstellen für andere Distributionen

Eine fremde RPM kann häufig unter Mageia erstellt werden. Siehe hierzu das Packagers RPM tutorial.

Von einer neueren Mageia Veröffentlichung

In der Mageia Entwicklerveröffentlichung "Cauldron" sind gegebenenfalls neuere Versionen von Programmen enthalten, die du benötigst.

Du kannst häufig diese RPM herunterladen und diese neu bauen, damit diese mit der Mageia Version, die du verwendest, funktioniert. Siehe Wie man eigene Backports erstellt.

Die proprietären Treiber

Die proprietären Treiber werden in den non-free Medien bereitgestellt. Probiere immer als erstes die Mageia Pakete aus. Für Nvidia z.B., aktiviere die nonfree und nonfree_updates Quellen und wenn du im MCC die Nvidia Grafikkarte einrichtest, wirst du danach gefragt, ob du die nouveau oder die Nvidia Treiber verwenden möchtest.

Dadurch musst du nicht den schrecklichen Nvidia Installer verwenden, welcher alle oben aufgeführten Regeln bricht. Das Ergebnis funktioniert gut, aber der Vorgang ist nicht angenehm!

Andere Orte um mehr über urpmi zu lernen

Weiter unten befinden sich weitere Möglichkeiten um detaillierte Informationen über URPMI zu erhalten:

  • 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).
  • Upgrading Mageia with urpmi (en) beschreibt das Aufsteigen von einer veröffentlichten Mageia Version zu einer anderen, unter Verwendung von urpmi

Weitere Möglichkeiten um Anwendungen in Mageia zu installieren

Siehe Möglichkeiten um Anwendungen zu installieren‎‎