Při přeskakování mezi distribucemi Linuxu může být náročné plynule přecházet mezi různými rozhraními na nástroje pro správu balíčků. V tomto článku se podíváme na některé běžné operace a na to, jak je provádět pomocí obou dnf
a apt
.
Základní operace
Naštěstí lze většinu vašich každodenních základních operací provádět stejným způsobem pomocí obou nástrojů. Instalace balíčku podle názvu je dnf install
a apt install
a odstranění je dnf remove
a apt remove
. Odstranění závislostí, které již nejsou potřeba, je dnf autoremove
a apt autoremove.
Někdy nebudete znát přesný název balíčku, který potřebujete k získání určitého nástroje. V těchto případech můžete použít dnf search
a apt search
vyhledávat názvy a popisy balíčků. Tyto nástroje podporují regulární výrazy, které mohou pomoci zkrátit výsledky.
root@ubuntu:~# apt search ripgrep
Sorting... Done
Full Text Search... Done
elpa-dumb-jump/groovy 0.5.3-1 all
jump to definition for multiple languages without configuration
ripgrep/groovy 12.1.1-1 amd64
Recursively searches directories for a regex pattern
ugrep/groovy 2.4.1+dfsg-1 amd64
faster grep with an interactive query UI
[root@fedora ~]# dnf search ripgrep
Last metadata expiration check: 0:04:09 ago on Sun 25 Oct 2020 09:43:35 PM UTC.
====================== Name Exactly Matched: ripgrep ======================
ripgrep.x86_64 : Line oriented search tool using Rust's regex library
[root@fedora ~]#
Je třeba mít na paměti, že příkazy pro upgrade fungují mírně odlišně. dnf update
a dnf upgrade
oba fungují stejným způsobem a kombinují kroky provedené apt update
a apt upgrade
. To znamená, že dnf
systém se pokusí načíst všechny čekající aktualizace ze svých nakonfigurovaných úložišť a vyzve uživatele k aktualizaci balíčků, vše v jediném příkazu. Stále máte možnost skutečně provést aktualizaci nebo ne, samozřejmě, ale pro lidi zvyklé na Ubuntu může být mírně překvapivé, když uvidí dnf update
náhle vyzve uživatele k aktualizaci balíčků. dnf distro-sync
funguje podobně a kombinuje funkce apt update
a apt dist-upgrade
.
[ Čtenářům se také líbilo: Vytvořte úložiště YUM/DNF založené na Apache na Red Hat Enterprise Linux 8 ]
Dotaz na informace o balíčku
Při dotazu na informace o balíčku dnf
nabízí několik malých vymožeností tím, že kombinuje některé apt
funkce do jediného příkazu. apt show
vám poskytne informace o balíčku a apt-cache policy
poskytne informace o úložišti, ze kterého balíček přišel, a stavu jeho aktualizace. dnf
zařadí toto vše do dnf info
A také obsahuje informace o vzdáleném balíčku, které apt
poskytuje prostřednictvím apt-cache show
.
root@ubuntu:~# apt show curl
Package: curl
Version: 7.68.0-1ubuntu4
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Alessandro Ghedini <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 411 kB
Depends: libc6 (>= 2.17), libcurl4 (= 7.68.0-1ubuntu4), zlib1g (>= 1:1.1.4)
Homepage: http://curl.haxx.se
Task: server, cloud-image, server-raspi, ubuntu-budgie-desktop
Download-Size: 161 kB
APT-Manual-Installed: no
APT-Sources: http://mirrors.digitalocean.com/ubuntu groovy/main amd64 Packages
Description: command line tool for transferring data with URL syntax
curl is a command line tool for transferring data with URL syntax, supporting
DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3,
POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP.
.
curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form
based upload, proxies, cookies, user+password authentication (Basic, Digest,
NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling and a
busload of other useful tricks.
root@ubuntu:~# apt-cache policy curl
curl:
Installed: 7.68.0-1ubuntu4
Candidate: 7.68.0-1ubuntu4
Version table:
*** 7.68.0-1ubuntu4 500
500 http://mirrors.digitalocean.com/ubuntu groovy/main amd64 Packages
100 /var/lib/dpkg/status
[root@fedora ~]# dnf info curl
Last metadata expiration check: 0:10:03 ago on Sun 25 Oct 2020 09:43:35 PM UTC.
Installed Packages
Name : curl
Version : 7.69.1
Release : 1.fc32
Architecture : x86_64
Size : 654 k
Source : curl-7.69.1-1.fc32.src.rpm
Repository : @System
From repo : anaconda
Summary : A utility for getting files from remote servers (FTP, HTTP, and others)
URL : https://curl.haxx.se/
License : MIT
Description : curl is a command line tool for transferring data with URL syntax, supporting
: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP,
: SMTP, POP3 and RTSP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP
: uploading, HTTP form based upload, proxies, cookies, user+password
: authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer
: resume, proxy tunneling and a busload of other useful tricks.
Available Packages
Name : curl
Version : 7.69.1
Release : 6.fc32
Architecture : x86_64
Size : 289 k
Source : curl-7.69.1-6.fc32.src.rpm
Repository : updates
Summary : A utility for getting files from remote servers (FTP, HTTP, and others)
URL : https://curl.haxx.se/
License : MIT
Description : curl is a command line tool for transferring data with URL syntax, supporting
: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP,
: SMTP, POP3 and RTSP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP
: uploading, HTTP form based upload, proxies, cookies, user+password
: authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer
: resume, proxy tunneling and a busload of other useful tricks.
Chcete-li zobrazit seznam souborů poskytovaných místním balíčkem, můžete použít rpm -ql
na dnf
systémy a dpkg -L
na apt
systémy. Vypsat seznam souborů poskytovaných vzdáleným balíčkem je však trochu složitější. Na dnf
systémů, lze to provést pomocí dnf repoquery -l
. Chcete-li to provést v Ubuntu, můžete použít nástroj s názvem apt-file
a spusťte apt-file list
. Možná si ji budete muset nainstalovat sami, protože ji spravuje tým apt, ale není součástí apt
sám.
Stahování zdrojů
Někdy se prostě musíte prohrabat zdrojovým kódem, abyste viděli, co se děje. Naštěstí existuje snadný způsob, jak se ke zdrojovému kódu dostat přímo prostřednictvím správce balíčků. Chcete-li zobrazit zdrojový balíček se zadaným názvem balíčku, použijte dnf repoquery -s
a apt-cache showsrc
. Chcete-li jej získat, dnf download --source
toto rychle stáhne za vás, stejně jako apt-get source
.
V tomto článku jsme si prošli několik běžných dnf
a apt
operace, se kterými se systémoví inženýři setkají. Pro podrobnější pohled na možnosti dostupné na různých distribucích vám doporučuji podívat se na Pacman Rosetta, který je k dispozici na wiki Arch Linux. Přestože je navržen pro uživatele přicházející do Archu z jiných distribucí, je skvělým zdrojem pro každého, kdo chce překládat ze správce balíčků jedné distribuce do jiného pro širokou škálu běžných operací.
[ Bezplatný online kurz:Technický přehled Red Hat Enterprise Linux. ]