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.


Vorwort

Da nun DNF als alternativer Paketmanager Flag-united-kingdom02.png integriert ist, ist es möglich, diesen nun zu verwenden. Bevor damit begonnen wird, sollte die Warnung bezüglich des orphans Mechanismus, weiter unten, gelesen werden und eine Suche in unserem Bugzilla ausgeführt werden. Am Ende dieser Dokumentation befinden sich Links zu den Anleitungen.

Installation

Stabil

Es ist normalerweise als Voreinstellung installiert. Falls nicht: urpmi dnf.

Nächste Generation

Es gibt auch eine Version der nächsten Generation von DNF, DNF5 in Cauldron. Hierbei handelt es sich um eine vollständige Neuschreibung von DNF, jedoch funktionieren die meisten der alten Switche und Befehle weiterhin.

Um es zu installieren: dnf install dnf5

Verwendung: Verwenden Sie einfach auf die gleiche Weise wie den stabilen Zweig, nur mit hinzugefügter 5 am Ende.

Beispiel: dnf5 upgrade --refresh --allowerasing um das System zu aktualisieren.

Dokumentation: https://dnf5.readthedocs.io/en/latest/

Die Repositorien auswählen

In den Voreinstellung sind zwei Repositorien aktiviert und sollten immer: core und core updates sein; In DNF werden diese als mageia-x86_64 und updates-x86_64 bei einem 64-Bit System angezeigt; mageia-i586 und updates-i586 bei einem 32-Bit System.

Falls Sie Pakete von einem anderen Repository installiert haben können Sie jederzeit dieses Repository und dessen Repository für Aktualisierungen aktiviert haben.

Beachten Sie, dass auch wichtig ist, wenn Sie von urpmi nach DNF wechseln, oder beide verwenden; die entsprechenden Repositorien für beide aktiviert haben!

  • Wenn es gewünscht ist, die nonfree paketquellen oder tainted paketquellen zu verwenden, können diese mit dem dnf config-manager, wie im Beispiel für 64-Bit Systeme gezeigt, aktiviert werden (ersetze x86_64 durch i586 für 32-Bit Systeme):
# dnf config-manager --set-enabled mageia-x86_64-nonfree updates-x86_64-nonfree
# dnf config-manager --set-enabled mageia-x86_64-tainted updates-x86_64-tainted
  • 32-Bit Repositorys sind in den Voreinstellungen, bei 64-Bit x86 Installationen, ausgeschaltet. Falls Sie diese benötigen:
# dnf config-manager --set-enabled mageia-i586 updates-i586

Führen Sie dies in ähnlicher Weise aus (siehe vorheriges Beispiel), falls Sie auch die nonfree und tainted Repositorys benötigen (ersetzen Sie x86_64 durch i586).

  • Unter Cauldron ersetze "mageia" durch "cauldron" und "updates", "backports", usw. durch "cauldron-updates", "cauldron-backports", usw. in den oben aufgeführten Befehle.
  • Falls Sie wünschen, dass die Spiegelserver-Auswahl mit Ihren eigenen gewünschten Spiegelserver überschrieben werden soll, können Sie dies durch das bearbeiten der Repository-Konfigurationsdateien in /etc/yum.repos.d tun. Unkommentiere die Zeile "baseurl=" und ändere die URL, damit diese auf Ihren gewünschten Spiegelserver verweist. Dies wird die "metalink" und "mirrorlist" Einstellungen automatisch überschreiben, wodurch die gewünschten Spiegelserver verwendet werden. Falls Sie möchten können Sie die "metalink" und "mirrorlist" Einstellungen auskommentieren, jedoch wird dies den Failover-Mechanismus deaktivieren, welcher verwendet wird, falls ein "primärer" Spiegelserver nicht funktioniert.

Beispiel: Hier eine Liste an Repositorien, bei einem 64-Bit System, mit aktivierten nonfree und tainted Repositorien, sowie mit 32-Bit Repositorien:

$ dnf repolist
repo id                                           repo name
mageia-i586                                       Mageia 9 - i586
mageia-i586-nonfree                               Mageia 9 - i586 - Nonfree
mageia-i586-tainted                               Mageia 9 - i586 - Tainted
mageia-x86_64                                     Mageia 9 - x86_64
mageia-x86_64-nonfree                             Mageia 9 - x86_64 - Nonfree
mageia-x86_64-tainted                             Mageia 9 - x86_64 - Tainted
updates-i586                                      Mageia 9 - i586 - Updates
updates-i586-nonfree                              Mageia 9 - i586 - Nonfree - Updates
updates-i586-tainted                              Mageia 9 - i586 - Tainted - Updates
updates-x86_64                                    Mageia 9 - x86_64 - Updates
updates-x86_64-nonfree                            Mageia 9 - x86_64 - Nonfree - Updates
updates-x86_64-tainted                            Mageia 9 - x86_64 - Tainted - Updates  

Einige Befehle zum Anfang

Siehe hierzu auch diese Dokumentation.

Als root:

  • dnf install ri-li installiert ri-li
  • dnf reinstall ri-li installiert ri-li erneut
  • dnf downgrade ri-li führt ein Downgrade von ri-li aus (ältere Version wird installiert)
  • dnf remove ri-li entfernt ri-li
  • dnf makecache erneuert die Metadaten (was in den Repos verfügbar ist)
  • dnf check-update --refresh erneuert die Metadaten und überprüft auf neue Aktualisierungen
  • dnf upgrade --refresh erneuert die Metadaten und installiert alle Aktualisierungen
  • dnf upgrade --best erzwingt die Auswahl der am besten verfügbaren Paketversionen, was zur Bestimmung von Abhängigkeitsfehler helfen kann
  • dnf distro-sync --refresh erneuert die Metadaten und synchronisiert die Pakete, welche als "installiert" auf Ihrem Computer markiert sind, mit den Versionen auf den Spiegelservern
  • dnf distro-sync --allowerasing --best hilft bei der Aktualisierung, wenn größere Änderungen bzw. Versionswechsel durchgeführt wurden, z.B. lib64clang3.8 auf lib64clang3.9
  • dnf history list zeigt die installiert/entfernt/aktualisiert History
  • dnf history info 12 zeigt was seit dem 12. Eintrag in der History-Liste passiert ist an
  • dnf shell ruft die interaktive Shell auf, um mehrere Aktionen in einem Befehl auszuführen
  • dnf install --enablerepo updates_testing-x86_64 caja Installiert ein Paket (für caja) aus einem spezifischen Repository (updates_testing-x86_64)

Als Benutzer (oder root):

  • dnf help zeigt die Hilfe-Seite
  • dnf search fax zeigt alle Pakete mit "fax" im Namen oder in der Zusammenfassung
  • dnf repolist zeigt, wann zuletzt die Aktualität der Metadaten überprüft wurde, die aktivierten Spiegelserver und deren Speichergröße. Es werden zuerst alle nicht heruntergeladenen Daten heruntergeladen.

Kurze Befehlsvarianten

Seit DNF 2.6.2 gibt es einige Abkürzungen für häufig verwendete Befehle:
Als root:

  • dnf in ri-li installiert ri-li
  • dnf ri ri-li installiert ri-li erneut
  • dnf dg ri-li führt ein Downgrade von ri-li aus (ältere Version wird installiert)
  • dnf rm ri-li entfernt ri-li
  • dnf mc erneuert die Metadaten (Liste, was auf den Repositorys verfügbar ist)
  • dnf up führt alle verfügbaren Aktualisierungen durch
  • dnf dsync synchronisiert die installierten Pakete auf dem Computer mit den Versionen, die in den Repositorys verfügbar sind
  • dnf sh ruft die interaktive Shell auf, um mehrere Aktionen in einem Befehl auszuführen

Als Benutzer (oder root):

  • dnf se fax zeigt alle Pakete mit "fax" im Namen oder in der Zusammenfassung

Falls Sie ein nicht-englischsprachiges System nutzen und die Ausgaben von DNF in englisch benötigen, dann fügen Sie den Code LANGUAGE=C in die gleiche Zeile vor dem eigentlichen Befehl ein.

Grafische Oberfläche

Installation : dnf in dnfdragora

Ausführen : Mageia Menü > Werkzeuge > Systemwerkzeuge > dnfdragora (oder im Terminal mit dem Befehl dnfdragora)

Quirk: mga#21453 - dnfdragore merkt sich die Auswahl der Paketquellen nicht.

Warnung bezüglich des orphans Mechanismus

Das abwechselnde Verwenden des orphans Mechanismus über urpmi und DNF kann zu einem unzuverlässigen System führen.

Falls Sie DNF verwenden möchten, wechseln Sie zu diesem so schnell wie möglich, nach einer Neuinstallation.

Entfernen des URPMI Aktualisierungs-Applet

Uninstall mgaonline.

DNF Aktualisierungs-Applet

Install dnfdragora-updater.

Synchronisieren mit den Repositorien

In diesem Abschnitt demonstrieren wir die offline Synchronisation von installierten Paketen. Dies bedeutet, dass in einem Vorbereitungsschritt geprüft wird, was zu tun ist, verifiziert den Anwender und ladet schließlich alle benötigten Pakete herunter und bereitet die auszuführenden Scripte vor. Später verwendet der Anwender einen weiteren Befehl wodurch das System neu gestartet wird und den Vorgang während des Systemstarts durchführt. Dies minimiert das Risiko an Problemen, im Vergleich zum Austauschen der Pakete während das System vollständig ausgeführt wird.

(Um aus einem laufenden System heraus dies auszuführen siehe "dnf distro-sync" weiter oben.)

Diese Befehle synchronisieren die installierten Paketversionen mit denen in den aktivierten Repositories - sowohl Aktualisierungen, als auch Installationsabhängigkeiten und Runterstufungen, optional auch entfernen von Paketen, welche nicht in den Repositorien vorhanden sind.

Als Beispiel ist es perfekt auf einem System auszuführen, welches Sie zuvor verwendet hatten um Mageia zu testen, bevor die finale Version veröffentlicht wurde oder falls Sie beim testen von Aktualisierungen mithelfen und nun sich vergewissern möchten, dass Sie nur offizielle Paketversionen verwenden - nicht mehr und nicht weniger. Es ist auch nützlich wenn Ihre Mageia Aktualisierung fehlschlug.

Vergewissern Sie sich, dass Sie die richtigen Repositorien aktiviert haben, siehe: Die Repositorien auswählen. Repositorien können für die Durchführung deaktiviert werden, siehe hierzu das Beispiel weiter unten - Option "disablerepo".

Sie müssen den folgenden Befehl als root ausführen: dnf install 'dnf-command(offline-distrosync)'

Der Befehl zum ausführen lautet dnf offline-distrosync download --disablerepo=\*cauldron\* --allowerasing - Beachten Sie hier, dass Sie möglicherweise die "--allowerasing" Option in Ihrem Fall nicht ausführen möchten, falls etwas gelöscht werden sollte, was Sie benötigen und nicht erneut installiert werden kann. Der --disablerepo Abschnitt ist dafür gedacht um jedes Cauldron Repository, welches eingerichtet ist, zu überspringen. Sie möchten dies gegebenenfalls auch für jedes testing Repository durchführen, falls Sie welche eingerichtet haben.

Anbei ein Beispiel in dem es an einem System ausgeführt wird welches ein Cauldron/Mageia 9 Testsystem war, bevor die finale Veröffentlichung erschienen ist und während dem Wechsel zur finalen Veröffentlichung festgestellt wurde, dass einige Pakete die falsche Version hatte - DNF zur Rettung :) Wie Sie sehen das es aktualisiert, Abhängigkeiten installiert, heruntergestuft und Pakete entfernt wurden. Bei diesem System wurde zuvor DNF nicht verwendet, weshalb ich die gleichen Repositorien aktivieren musste, welche bei urpmi aktiviert wurden: nonfree und tainted Repositorien, sowie 32-Bit Repositorien.

$ LANGUAGE=C sudo dnf offline-distrosync download --disablerepo=\*cauldron\* --allowerasing
No repository match: *cauldron*
Mageia 9 - i586                                                                    8.8 kB/s | 2.5 kB     00:00    
Mageia 9 - i586 - Updates                                                          5.5 kB/s | 1.5 kB     00:00    
Mageia 9 - i586 - Nonfree                                                          6.0 kB/s | 2.0 kB     00:00    
Mageia 9 - i586 - Nonfree - Updates                                                4.3 kB/s | 1.5 kB     00:00    
Mageia 9 - x86_64 - Nonfree                                                        4.1 kB/s | 2.0 kB     00:00    
Mageia 9 - x86_64 - Nonfree - Updates                                              4.5 kB/s | 1.5 kB     00:00    
Mageia 9 - i586 - Tainted                                                          2.4 kB/s | 1.5 kB     00:00    
Mageia 9 - i586 - Tainted - Updates                                                4.6 kB/s | 1.5 kB     00:00    
Mageia 9 - x86_64 - Tainted                                                        4.5 kB/s | 1.5 kB     00:00    
Mageia 9 - x86_64 - Tainted - Updates                                              4.7 kB/s | 1.5 kB     00:00    
Mageia 9 - x86_64                                                                  7.4 kB/s | 2.5 kB     00:00    
Mageia 9 - x86_64 - Updates                                                        5.7 kB/s | 1.5 kB     00:00    
Dependencies resolved.
===================================================================================================================
 Package                                Architecture Version                     Repository                   Size
===================================================================================================================
Installing:
 kernel-desktop                         x86_64       6.4.9-4.mga9                mageia-x86_64                80 M
Installing dependencies:
 lib64bind9.18.15                       x86_64       9.18.15-2.mga9              mageia-x86_64               1.2 M
Removing:
 kernel-desktop                         x86_64       6.3.9-1.1.mga9              @System                      89 M
 kernel-desktop                         x86_64       6.4.8-3.mga9                @System                      90 M
 kernel-desktop                         x86_64       6.4.8-4.mga9                @System                      90 M
 kernel-desktop                         x86_64       6.4.9-2.mga9                @System                      90 M
Downgrading:
 bind-utils                             x86_64       9.18.15-2.mga9              mageia-x86_64               194 k
- 65 lines omitted for this wiki post... -
 wireless-regdb                         noarch       20230503-1.mga9             mageia-i586                  15 k

Transaction Summary
===================================================================================================================
Install     2 Packages
Remove      4 Packages
Downgrade  67 Packages

Total download size: 143 M
DNF will only download packages, install gpg keys, and check the transaction.
Is this ok [y/N]: y
Downloading Packages:
(1/69): gurpmi-8.131-1.mga9.noarch.rpm                                             254 kB/s |  25 kB     00:00    
 - 67 lines omitted for this wiki post... -
(69/69): kernel-desktop-6.4.9-4.mga9.x86_64.rpm                                    1.9 MB/s |  80 MB     00:41    
-------------------------------------------------------------------------------------------------------------------
Total                                                                              2.2 MB/s | 143 MB     01:06     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Complete!
Transaction saved to /var/lib/dnf/system-upgrade/system-upgrade-transaction.json.
Download complete! Use 'dnf offline-distrosync reboot' to start the upgrade.
To remove cached metadata and transaction use 'dnf offline-distrosync clean'
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.   

Lesen Sie die Meldung sorgfältig. Falls Sie wünschen können Sie das Repository ändern oder Optionen in der Befehlszeile und dies erneut ausführen.

Falls Sie sich dazu entscheiden den Befehl auszuführen

  1. Sichern Sie Ihre Arbeit und schließen Sie geöffnete Anwendungen!
  2. Führen Sie das Upgrade aus: dnf offline-distrosync reboot - /!\ HINWEIS: Dies startet Ihr System sofort neu! /!\

Wenn das System erneut verfügbar ist, vergewissern Sie sich das mageia-repos-cauldron deinstalliert ist: dnf remove mageia-repos-cauldron.

Eine weiterführende Dokumentation finden Sie hier.

Aktualisieren von Mageia über DNF

Die können Mageia in einigen wenigen Schritten upgraden. Beachten Sie, dass alle Befehle als root/Administrator ausgeführt werden müssen.

  1. Vergewissern Sie sich, dass Sie die richtigen Repositorien aktiviert haben, siehe Die_Repositorien_auswählen.
  2. Vergewissern Sie sich, dass Ihr System auf dem aktuellsten Stand ist: dnf --refresh upgrade
  3. Installieren Sie das System-Upgrade Plug-in: dnf install 'dnf-command(system-upgrade)'
  4. Starten Sie es: dnf system-upgrade --releasever <Zielversion> download --allowerasing. Um beispielsweise auf Mageia 8 zu aktualisieren, verwenden Sie 8 für <Zielversion>.
    1. Vor dem herunterladen der Pakete werden Sie gefragt, ob Sie ein Upgrade durchführen wollen und Sie erhalten die Information, wie viel Speicherplatz benötigt wird. Falls Sie nicht genügend Speicherplatz zur Verfügung haben, sowie zusätzlich weitere hundert MB für die /var Partition (falls /var keine separate Partition, allerdings ein Teil der / Partition ist, fügen Sie dieser Berechnung einige weitere hundert MB hinzu), dann prüfen Sie, dass Sie den benötigten Speicherplatz freiräumen können oder fügen Sie die Option --downloaddir pfad_zum_verzeichnis_mit_freiem_speicherplatz zu diesem Befehl, sowie dem nächsten System-Upgrade Befehl, hinzu. Vergewissern Sie sich auch, dass unter / zusätzlicher Platz für neue und größere Programme zur Verfügung stehen. Beachten Sie auch, dass Sie auch nicht nur Speicherplatz für einen, sondern für zwei Kernel benötigten. Sehen Sie hierzu den Abschnitt Zusätzliche Kernel-Varianten an. Vor allem, wenn Sie eine separate /boot Partition haben, prüfen Sie, dass auf dieser genügend Speicherplatz vorhanden ist.
    2. Wenn Sie wissen, dass Sie genügend Speicherplatz zur Verfügung haben, beantworten Sie die Frage nach dem Upgrade mit Ja bzw. Yes, damit der Download gestartet wird. Es wird hierbei auch ein Test bezüglich der Übertragung durchgeführt.
  5. Wenn das Herunterladen und der Test der Übertragung erfolgreich war
    1. Speichern Sie Ihre Arbeiten und schließen Sie offene Anwendungen!
    2. Starten Sie das Upgrade : dnf system-upgrade reboot - /!\ HINWEIS: Dies startet Ihr System sofort neu! /!\

Genießen Sie nun ein Getränk, während Sie die Blasen auf dem Startbildschirm betrachten - und darüber die Meldungen, was gerade passiert. Sobald der Vorgang abgeschlossen ist, wird das System neu gestartet und Sie können das neue Mageia verwenden.

Zusätzliche Kernel-Varianten

DNF verwendet eine andere Methode, als der Installer, um Kernel-Varianten auszuwählen. Dies führt dazu, dass bei einem System, auf welchem der Desktop-Kernel installiert war, nach dem Upgrade sowohl den Desktop- als auch den Server-Kernel erhält und der Server-Kernel verwendet wird. Eine einfache Behebung ist es, beim Startvorgang den Desktop-Kernel auszuwählen und den Server-Kernel anschließend zu deinstallieren. mga#28272

Einen Container für eine nicht-native Architektur einrichten

Seit DNF 2.6.2 ist es möglich chroots oder Container für fremde Architekturen zu bauen

Der Vorgang, um einen ARMv7 chroot auf einem x86_64 System zu erstellen, wird folgendermaßen durchgeführt:

  1. Installiere qemu-user-static auf dem Host-System
  2. Starte systemd-binfmt.service neu, damit die Informationen über das neue binäre Format übernommen werden
  3. Erstelle das Verzeichnis für die chroot Umgebung der fremde Architektur. Zum Beispiel /var/lib/machines/mga8armv7hl
  4. Führe DNF als root aus, um das installroot (Root-Verzeichnis) zu erstellen:
dnf --installroot=/var/lib/machines/mga8armv7hl --releasever=8 --forcearch=armv7hl --repofrompath=mga8rel,http://mirrors.kernel.org/mageia/distrib/8/armv7hl/media/core/release/ --repofrompath=mga8up,http://mirrors.kernel.org/mageia/distrib/8/armv7hl/media/core/updates/ --disablerepo=* --enablerepo=mga8rel --enablerepo=mga8up --setopt=install_weak_deps=False install basesystem-minimal-core dnf

Führe zum Schluss einen Test des chroot aus, um zu überprüfen, ob ein Programm ausgeführt wird. Hier ist ein vorgeschlagener Befehl, um dies zu tun (führe dies als root aus): chroot /var/lib/machines/mga8armv7hl /usr/bin/uname -r -m

Dokumentation