Vertalingsoverzicht: Dit artikel is een gelocaliseerde versie van Using DNF. De laatste vertaling is gedateerd 25/12/2023. U kunt meehelpen om de vertaling te synchroniseren, als er wijzigingen zijn geweest in de originele versie. |
Andere talen Deutsch ; English ; Español ; Français ; Nederlands ; 简体中文 ; |
Contents
- 1 Samenvatting
- 2 Installeren
- 3 Kies pakketdepots
- 4 Enkele opdrachten om aan de slag te gaan
- 5 Grafische schil dnfdragora installeren
- 6 Waarschuwing over weespakketten
- 7 URPMI-updater-applet verwijderen
- 8 DNF-updater-applet installeren
- 9 Synchroniseren met de pakketdepots
- 10 Vernieuw een nieuwe Mageia-uitgave met DNF
- 11 Een container opzetten voor een ongebruikelijke architectuur
- 12 Documentatie
Samenvatting
DNF
is de rijzende ster in pakketbeheer, onder meer voor RPM-pakketten. Dnfdragora
is hiervoor de grafische schil. De opvolger van DNF is DNF5.
DNF wordt sinds Mageia 6 standaard geïnstalleerd. DNF5 nog niet.
Mogelijk wordt DNF5 in de toekomst het standaardprogramma voor pakketbeheer binnen Mageia 10.
DNF is bijna klaar is als alternatief beheerprogramma voor de urpmi-pakketdepots, dus u kunt het eens proberen te gebruiken. Voordat u met DNF aan de slag gaat, lees eerst deze WAARSCHUWING over het gebruik van 'wees-pakketten': https://wiki.mageia.org/en/Using_DNF#Warning_about_orphans_mechanisms. Bekijk ook de foutmeldingen in onze Bugzilla. Aan het einde van dit document vindt u links naar handleidingen.
Zie ook: Feature:Add DNF as Alternate Repository Manager
Installeren
Stabiel
Normaal gesproken wordt het DNF-pakket sinds Mageia 6 standaard geïnstalleerd. Zo niet: urpmi dnf
.
Volgende generatie DNF5
De volgende generatie van DNF DNF5
is beschikbaar in Cauldron (ons pakketdepot voor toekomstige Mageia-uitgave 10). Deze nieuwe versie DNF5 is feitelijk een volledige herschrijving, maar de meeste oude commando's en hun schakelaars werken gewoon goed.
Om DNF5 te installeren gebruikt u in een tekstconsole het commando: dnf install dnf5
Het pakket DNF5 kunt u, geheel op eigen risico, op dezelfde manier installeren als de stabiele tak, met een 5 toegevoegd aan het einde.
Voorbeeld: dnf5 upgrade --refresh --allowerasing
voor het vernieuwen van het systeem.
Documentatie: https://dnf5.readthedocs.io/en/latest/
Kies pakketdepots
Standaard zijn twee pakketdepots ingeschakeld en deze moeten altijd zijn: Core en Core updates; in DNF heten ze mageia-x86_64 en updates-x86_64 voor een 64-bits systeem; of mageia-i586 en updates-i586 voor een 32-bit systeem.
Als u pakketten uit een ander pakketdepot hebt geïnstalleerd, moet u altijd dat depot en het bijbehorende depot met herzieningen ingeschakeld hebben.
Merk op dat dit ook belangrijk is als u overschakelt van urpmi naar DNF, of misschien beide naast elkaar gebruikt; u moet dan de overeenkomstige pakketdepots in beide ingeschakeld te hebben!
- Als niet-vrije (Nonfree) of besmette (Tainted) pakketdepots gewenst zijn, kunnen deze worden geactiveerd met behulp van
dnf config-manager
, zoals u ziet in dit voorbeeld voor een 64-bits systeem (vervang x86_64 door i586 voor 32-bits):
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-bits pakketdepots zijn standaard uitgeschakeld op 64-bit x86. Als u ze nodig hebt:
dnf config-manager --set-enabled mageia-i586 updates-i586
Herhaal dit op dezelfde manier (zie vorig voorbeeld) als u ook Nonfree en Tainted nodig hebt (vervang x86_64 door i586).
- Voor Cauldron (toekomstige Mageia-uitgaven) vervangt u in bovenstaande commando's "mageia" door "cauldron" en "updates", "backports", enz. door respectievelijk "cauldron-updates", "cauldron-backports", enzovoorts.
- Als u de selectie van mirrors (spiegel-servers) wilt overschrijven met uw favoriete spiegelserver, kunt u dit doen door de configuratiebestanden van het pakketdeot in
/etc/yum.repos.d
te bewerken. Verwijder het commentaar op de regel "baseurl=" en wijzig de URL, zodat deze naar de spiegelserver van uw voorkeur verwijst. Hierdoor worden automatisch de eigenschappen "metalink" en "mirrorlist" overschreven, zodat de aangewezen spiegel wordt gebruikt. Als u wilt, kunt u de vermeldingen "metalink=" en "mirrorlist=" van commentaar voorzien, maar dat elimineert het failover-mechanisme dat optreedt wanneer de "primaire" spiegel niet functioneert.
Voorbeeld: Hier is een lijst met pakketdepots op een 64-bits systeem met niet-vrije en besmette pakketdepots en met 32-bits pakketdepots:
$ 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
Enkele opdrachten om aan de slag te gaan
Zie ook de documentatie: documentatie.
Als root:
dnf install ri-li
installeert ri-lidnf reinstall ri-li
installeert ri-li opnieuwdnf downgrade ri-li
draait ri-li terugdnf remove ri-li
verwijdert ri-lidnf makecache
vernieuwt de metadata (alles wat beschikbaar is in de repo's)dnf check-update --refresh
vernieuwt de metadata en controleert op nieuwe herzieningendnf upgrade --refresh
vernieuwt de metadata en voert alle beschikbare opwaarderingen uitdnf upgrade --best
dwingt pogingen af om de best beschikbare versies te selecteren, wat kan helpen bij het vaststellen van afhankelijkheidsfoutendnf distro-sync --refresh
ververst de metagegevens en synchroniseert de pakketset die op de computer is geïnstalleerd met de versies in de pakketdepotsdnf distro-sync --allowerasing --best
helpt bij het vernieuwen van een pakket met een gewijzigd versienummer, zoals van lib64clang3.8 naar lib64clang3.9dnf history list
toont de geschiedenislijst van installeren/verwijderen/vernieuwendnf history info 12
laat zien wat er gebeurde tijdens onderwerp 12 uit de geschiedenislijstdnf shell
roept de interactieve shell aan om meerdere acties uit te voeren als één transactiednf install --enablerepo updates_testing-x86_64 caja
installeert een pakket (voor caja) vanuit een specifiek pakketdepot (updates_testing-x86_64)
Als gebruiker (of root):
dnf help
toont een helppaginadnf search fax
toont alle pakketten met "fax" in de naam of in de samenvattingdnf repolist
toont de laatste metadata controle, de ingeschakelde pakketdepots en hun grootte. Eerst worden alle nog niet gedownloade bestanden gedownload.
Korte commandovarianten
Vanaf DNF 2.6.2 zijn er korte afkortingen voor veelgebruikte opdrachten:
Als root:
dnf in ri-li
installeert ri-lidnf ri ri-li
installeert ri-li opnieuwdnf dg ri-li
draait de herzieningen van ri-li terugdnf rm ri-li
verwijdert ri-lidnf mc
vernieuwt de metadata (wat beschikbaar is in de repo's)dnf up
voert alle beschikbare herzieningen uitdnf dsync
synchroniseert de pakketset die op de computer is geïnstalleerd met versies in de pakketdepotsdnf sh
roept de interactieve shell aan om meerdere acties als één transactie uit te voeren
Als gebruiker (of root):
dnf se fax
toont alle pakketten met "fax" in de naam of in de samenvatting
Als u een niet-Engels systeem heeft en de uitvoer in het Engels nodig heeft, zet dan LANGUAGE=C
op dezelfde regel vóór het commando.
Grafische schil dnfdragora installeren
De grafische schil installeren: dnf in dnfdragora
De grafsche schil starten: Mageia menu
> Extra
> Systeemtools
> dnfdragora
. (Of u tikt in de tekstconsole: dnfdragora
)
Let op: mga#21453 - dnfdragora onthoudt de bronselectie van pakketten niet.
Waarschuwing over weespakketten
Weespakketten zijn pakketten die als bibliotheken of afhankelijkheden worden geïnstalleerd op uw systeem, wanneer u programma's installeert. Deze hulppakketten blijven soms op uw systeem bestaan, ook nadat het programma waar ze bijhoren is verwijderd. Het weggooien van weespakketten kan tot een instabiel systeem leiden, zeker wanneer u de pakketstelsels URPMI en DNF combineert. Het weggooimechanisme wordt onbetrouwbaar wanneer u beide stelsels door elkaar gebruikt. Zie: orphan mechanisms .
Als u DNF gaat gebruiken, schakel dan zo snel mogelijk na een verse installatie hiernaar over.
URPMI-updater-applet verwijderen
Verwijder mgaonline
.
DNF-updater-applet installeren
Installeer dnfdragora-updater
.
Synchroniseren met de pakketdepots
In dit hoofdstuk demonstreren we de offline synchronisatie van geïnstalleerde pakketten. Dit betekent dat het DNS-systeem eerst in een voorbereidingsstap bekijkt wat er moet gebeuren, dit vervolgens bij de gebruiker verifieert en daarna alle benodigde pakketten downloadt en scripts voorbereidt. Latere geeft de gebruiker een ander commando, waardoor het systeem opnieuw opstart en het proces uit tijdens de systeemstart uitvoert. Dit minimaliseert het risico op problemen vergeleken met het wijzigen van pakketten op een volledig draaiend systeem.
(Voor het werken op een draaiend systeem, zie "dnf distro-sync" hierboven kort beschreven.)
Deze opdrachten synchroniseren de geïnstalleerde pakketversies met die in de ingeschakelde pakketdepots - zowel herzieningen, als ook installatie-afhankelijkheden, en ook downgrades; optioneel verwijderen deze commando's ook pakketten die niet in pakketdepots bestaan.
Dit is bijvoorbeeld handig om uit te voeren op een systeem dat u vóór de uitgave hebt gebruikt voor het testen van Mageia, of u hebt deelgenomen aan het testen van herzieningen, of u wilt er nu zeker van zijn dat u alleen officiële pakketversies gebruikt. De synchronisatie komt ook van pas als de opwaardering (upgrade) van Mageia fout is gegaan.
Zorg ervoor dat de juiste pakketdepots staan ingeschakeld, zie Kies pakketdepots. Pakketdepots kunnen voor de uitvoering van deze opdracht worden uitgeschakeld, zie onderstaand voorbeeld, optie "disablerepo".
U moet het commando eerst installeren, als root: dnf offline-distrosync download --disablerepo=\*cauldron\* --allowerasing
Het uitvoeren van het commando gaat als volgt:
dnf offline-distrosync download --disablerepo=\*cauldron\* --allowerasing
Houd er rekening mee dat u de optie "--allowerasing" misschien niet wilt hebben aan staan, omdat als dit iets kan wissen dat u nodig hebt en niet opnieuw kunt installeren. Het gedeelte --disablerepo is bedoeld voor het overslaan van geconfigureerde pakketdepots van Cauldron (de toekomstie Mageia-uitgave). U kunt hetzelfde doen voor bijvoorbeeld alle Testing-opslagplaatsen als u die heeft aan staan.
Hier is een voorbeeld uitgevoerd op een systeem dat Cauldron/Mageia 9 aan het testen was vóór de release, en ik een tijdje nadat ik overschakelde naar Release, mij realiseerde dat sommige pakketten verkeerde versies hadden. DNF schoot mij te hulp :)
Zoals u kunt zien heeft DNF pakketten vernieuwd, hun afhankelijkheden geïnstalleerd, pakketten gedowngraded en pakketten verwijderd. Mijn Mageia-systeem had DNF nog niet eerder gebruikt, dus moest ik dezelfde pakketdepots inschakelen die urpmi gebruikte: Nonfree, Tainted, en 32-bits pakketdepots.
$ 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 (afhankelijkheden opgelost) =================================================================================================================== 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 regels weggelaten in dit bericht... - 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 regels weggelaten in dit bericht... - (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'.
Lees het bovenstaande verslag aandachtig door. Als u wilt, kunt u de opslagplaatsen of de opties wijzigen in de tekstconsole, en ze opnieuw uitvoeren.
Voordat u besluit uit te voeren:
- Sla uw werk op en sluit applicaties!
- Activeer de opwaardering:
dnf offline-distrosync reboot
- /!\ OPMERKING: Hiermee wordt uw systeem onmiddellijk opnieuw opgestart! /!\
Wanneer het systeem weer actief is, zorg er dan voor dat het pakketdepotmageia-repos-cauldron
is verwijderd: dnf remove mageia-repos-cauldron
.
Meer informatie: Documentation here.
Vernieuw een nieuwe Mageia-uitgave met DNF
U kunt Mageia in slechts een paar stappen vernieuwen naar een nieuwe uitgave. Houd er rekening mee dat alle opdrachten als root moeten worden uitgevoerd.
- Zorg ervoor dat de juiste pakketdepots staan ingeschakeld, zie Kies pakketdepots.
- Zorg er voor dat u volledig up-to-date bent:
dnf --refresh upgrade
- Installeer de plug-in voor systeemopwaardering:
dnf install 'dnf-command(system-upgrade)'
- Start de opwaardering aldus:
dnf system-upgrade --releasever <targetversion> download --allowerasing
.
Als u bijvoorbeeld wilt vernieuwen naar Mageia 9, gebruikt u 9
voor <targetversion>
.
- Het systeem zal toestemming vragen voordat pakketten worden gedownload en zal melden hoeveel ruimte er nodig is. Als u niet beschikt over de opslagruimte die nodig is (plus een paar honderd MB vrije ruimte) op partitie
/var
(if/var
is niet apart maar onderdeel van {{folder|/} } partitie, voeg nog een paar honderd MB) toe, maak dan voldoende ruimte vrij, of voeg de optie--downloaddir path_to_directory_with_free_space
toe aan deze en de volgende systeemupgradeopdrachten. Zorg er ook voor dat/
extra ruimte heeft voor de grotere nieuwe programma's. Houd er rekening mee dat er misschien niet alleen ruimte moet zijn voor slechts één, maar voor twee kernels (zie Extra kernelsmaak hieronder). Vooral als u een aparte/boot
partitie hebt, controleer dan of daar voldoende ruimte voor is. - Als u er zeker van bent dat u voldoende ruimte hebt, zeg dan ja om de opwaardering te laten downloaden. Er zal ook een droge transactietest worden uitgevoerd.
- Het systeem zal toestemming vragen voordat pakketten worden gedownload en zal melden hoeveel ruimte er nodig is. Als u niet beschikt over de opslagruimte die nodig is (plus een paar honderd MB vrije ruimte) op partitie
- Als de download- en transactietest is geslaagd,
- Sla uw werk op en sluit programma's!
- Activeer de opwaardering:
dnf system-upgrade reboot
Waarschuwing! Dit commando herstart uw Mageia-systeem onmiddellijk! |
Geniet nu van een drankje terwijl u naar de bubbels op het opstartbeeldscherm kijkt - en bekijk de berichten op het scherm die beschrijven wat er gebeurt. Als u klaar bent, wordt het systeem opnieuw opgestart, zodat u kunt genieten van uw nieuwe Mageia.
Een container opzetten voor een ongebruikelijke architectuur
Vanaf DNF 2.6.2 is het mogelijk om chroots of containers te bouwen voor vreemde architecturen.
De procedure voor het maken van een ARMv7-chroot op een x86_64-systeem is als volgt:
- Installeer
qemu-user-static
op het hostsysteem. - Start
systemd-binfmt.service
opnieuw op om nieuwe informatie over het binaire formaat van kracht te laten worden. - Maak de map aan van uw vreemde arch-chroot. Bijvoorbeeld
/var/lib/machines/mga8armv7hl
- Voer DNF uit als root om de install-root te maken:
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
Test ten slotte de chroot om te zien of er een programma draait. Hier is een suggestie voor een commando (uitvoeren als root): chroot /var/lib/machines/mga8armv7hl /usr/bin/uname -r -m
Documentatie