Skončil někdy váš pokus instalovat nebo updatovat balíčky Yumem zklamáním? Bylo to hrozně pomalé? A nebo jste zkusili napsat rozšíření nad Yumem a utopili se v jeho API? Nabízíme něco nového: DNF — nástroj pro správu balíčků nové generace.
Český překlad článku z blogu DNF.
O co jde
DNF je nástroj pro mangement softwaru, který vznikl z kraje roku 2012 forkem z Yumu. Cílem bylo postavit program, který se bude z příkazové řádky chovat a vypadat stejně jako Yum, ale nabídne lepší možnosti modifikování za použití rozšíření a pluginů.
Zkuste to také
První Fedorou, která DNF obsahovala, byla Fedora 18 minulou zimu. Mnoho příkazů stále chybělo a těm, kdo se odvážili DNF vyzkoušet, se dostalo mnohých překvapení. Verze, kterou distribuujeme ve Fedoře 20 (0.4.9), je na tom zcela jinak. DNF se funkcionalitou daleko víc přiblížilo Yumu a má i solidní stabilitu. Není mnoho věcí, které v Yumu fungují, a v DNF ne. O tom se ale můžete přesvědčit sami teď hned: nainstalujte DNF (yum install dnf
) a od té chvíle prostě nahrazujte slovo 'yum' slovem 'dnf', kdykoliv provádíte balíčkovací operace:
dnf install thunderbird
nebo i:
dnf upgrade -y
Je faktem, že DNF občas zpracuje příkazovou řádku jinak nebo rozluští záhadu zavislostí odlišným způsobem (někteří by řekli více korektním) než Yum. Abychom předešli zmatení, shrnuli jsme všechny tyto záměrné rozdíly do jediného dokumnetu.
Rychlost a pohodlí
Jako odměnu uživatelům za nepříjemnosti spojené se změnami nabízíme rychlost a pohodlí: DNF nastavuje systémový časovač, který zajišťuje že balíčkovací metadata jsou za všech okolností aktuální, takže náhlé zavolání DNF z příkazové řádky se na dvě minuty nezastaví kvůli jejich synchronizaci. DNF místo toho prostě začne pracovat na tom, co je potřeba. Jádrem DNF je kvalitní depsolver vyvinutý a používaný v SUSE. Od současných uživatelů zatím přichází pozitivní zprávy, řešení závislostí se zrychlilo o řád. Naše měření ukazují, že DNF je šetrnější k operační paměti.
Funkce jako Yum
Abychom jen nekázali vodu: team za projektem DNF a další vývojáři Fedory používají DNF každý den k updatu a instalaci balíčků na svých strojích. Během podzimu došlo k integraci DNF s Anacondou, a celý systém tak může být instalován kompletně bez použití Yumu. Prosby raných uživatelů byly vyslyšeny během nedávných vývojových cyklů, a tak podporujeme i pokročilé funkce Yumu jako například paralelní stahování balíčků či historii.
Král je mrtev, ať žije král
Co bude dál? Už brzo budou k mání pluginy do DNF, které doplní zbylou funkcionalitu, po které uživatelé volali, ale která nezapadala do jádra DNF. Vývojáři se mohou podívat na naše stále rostoucí API. Integrace s Anacondou se dočká potřebných oprav a vyladění. A potom samozřejmě netrpělivě čekáme na vaše zkušenosti s používáním DNF ve Fedoře 20. Náš konečný cíl je dát lidem všechno, co si kdy přáli od Yumu a mnohem víc, a ve Fedoře 22 s klidným srdcem říct, že je Yum mrtev a DNF je nový Yum!
Přečtěte si také:
28. 12. 2013 at 18:07
`dnf update` nedělá to samé co `yum update`.
31. 12. 2013 at 15:47
uz dokaze dnf stiahnut iba DeltaRPM? pretoze ak nie tak potom celkom nechapem tie slova o rychlosti. To, ze mi spocita zavislosti o 30% rychlejsie a stiahne o cosi menej metadat ale nasledne stahuje rpm v plnej velkosti 5x dlhsie tak to mi nepride ako velke zlepsienie. tj zaujimali by ma realne cisla napr pri libreoffice.
2. 1. 2014 at 07:44
@sid Na Delta RPM se pracuje https://bugzilla.redhat.com/show_bug.cgi?id=909468
6. 1. 2014 at 10:45
Ač je zrychlení reakční doby
dnf
oprotiyum
především optické (pochopil jsem jako průběžnou aktualizaci metadat), tak mi z uživatelského hlediska vyhovuje a pro mě tím padá poslední důvod, proč jsem se Fedoru jako distro zdráhal doporučovat.Dokonce asi padla i má poslední výhrada a to boot přímo z ISO image LiveCD. Žel momentálně nemám HW na vyzkoušení, tudíž jsem neověřil praxí.
4. 8. 2014 at 07:07
Potvrzuji funkční boot přímo z *.iso. Pro multi-boot je funkční např.:
menuentry 'Live Fedora 20' --class fedora --class gnu-linux --class gnu --class os { set isolabel=Fedora-Live-LXDE-x86_64-20-1 set isofile="/boot/iso/Fedora-Live-LXDE-x86_64-20-1.iso" loopback loop $isofile linux (loop)/isolinux/vmlinuz0 boot=isolinux iso-scan/filename=$isofile root=live:LABEL=$isolabel ro rd.live.image quiet rhgb initrd (loop)/isolinux/initrd0.img }
12. 8. 2014 at 09:20
This kind of game gives a real experience of building a cfdkdbkcedke