Andere Sprachen Deutsch ; English ; Español ; Français ; Nederlands ; 简体中文 ; |
Contents
- 1 Vorwort
- 2 Installation
- 3 Die Repositorien auswählen
- 4 Einige Befehle zum Anfang
- 5 History
- 6 Grafische Oberfläche
- 7 Warnung bezüglich des orphans Mechanismus
- 8 Entfernen des URPMI Aktualisierungs-Applet
- 9 DNF Aktualisierungs-Applet
- 10 Synchronisieren mit den Repositorien
- 11 Aktualisieren von Mageia über DNF
- 12 Einen Container für eine nicht-native Architektur einrichten
- 13 Dokumentation
Vorwort
Da nun DNF als alternativer Paketmanager 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
odertainted paketquellen
zu verwenden, können diese mit demdnf 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-lidnf reinstall ri-li
installiert ri-li erneutdnf downgrade ri-li
führt ein Downgrade von ri-li aus (ältere Version wird installiert)dnf remove ri-li
entfernt ri-lidnf makecache
erneuert die Metadaten (was in den Repos verfügbar ist)dnf check-update --refresh
erneuert die Metadaten und überprüft auf neue Aktualisierungendnf upgrade --refresh
erneuert die Metadaten und installiert alle Aktualisierungendnf upgrade --best
erzwingt die Auswahl der am besten verfügbaren Paketversionen, was zur Bestimmung von Abhängigkeitsfehler helfen kanndnf distro-sync --refresh
erneuert die Metadaten und synchronisiert die Pakete, welche als "installiert" auf Ihrem Computer markiert sind, mit den Versionen auf den Spiegelserverndnf distro-sync --allowerasing --best
hilft bei der Aktualisierung, wenn größere Änderungen bzw. Versionswechsel durchgeführt wurden, z.B. lib64clang3.8 auf lib64clang3.9dnf history list
zeigt die installiert/entfernt/aktualisiert Historydnf history info 12
zeigt was seit dem 12. Eintrag in der History-Liste passiert ist andnf shell
ruft die interaktive Shell auf, um mehrere Aktionen in einem Befehl auszuführendnf 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-Seitednf search fax
zeigt alle Pakete mit "fax" im Namen oder in der Zusammenfassungdnf 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-lidnf ri ri-li
installiert ri-li erneutdnf dg ri-li
führt ein Downgrade von ri-li aus (ältere Version wird installiert)dnf rm ri-li
entfernt ri-lidnf mc
erneuert die Metadaten (Liste, was auf den Repositorys verfügbar ist)dnf up
führt alle verfügbaren Aktualisierungen durchdnf dsync
synchronisiert die installierten Pakete auf dem Computer mit den Versionen, die in den Repositorys verfügbar sinddnf 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.
History
Ein großer Vorteil von DNF ist der Verlauf der durchgeführten Ausführungen. Es kann auch als eine Art undo (rückgängig machen) verwendet werden. Logischerweise protokolliert es nicht die Dinge, welche mit uprm*, dem Installer oder der voreingestellten Aktualsierungsanwendung durchgeführt wurde - erst nachdem diese auf DNF umgestellt wurde. Mehr in der Dokumentation und Beispiele.
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
- Sichern Sie Ihre Arbeit und schließen Sie geöffnete Anwendungen!
- 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.
- Vergewissern Sie sich, dass Sie die richtigen Repositorien aktiviert haben, siehe Die_Repositorien_auswählen.
- Vergewissern Sie sich, dass Ihr System auf dem aktuellsten Stand ist:
dnf --refresh upgrade
- Installieren Sie das System-Upgrade Plug-in:
dnf install 'dnf-command(system-upgrade)'
- Starten Sie es:
dnf system-upgrade --releasever <Zielversion> download --allowerasing
. Um beispielsweise auf Mageia 8 zu aktualisieren, verwenden Sie8
für<Zielversion>
.- 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. - 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.
- 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
- Wenn das Herunterladen und der Test der Übertragung erfolgreich war
- Speichern Sie Ihre Arbeiten und schließen Sie offene Anwendungen!
- 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:
- Installiere
qemu-user-static
auf dem Host-System - Starte
systemd-binfmt.service
neu, damit die Informationen über das neue binäre Format übernommen werden - Erstelle das Verzeichnis für die chroot Umgebung der fremde Architektur. Zum Beispiel
/var/lib/machines/mga8armv7hl
- 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