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 <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Alessandro Ghedini <ghedo@debian.org>
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. ]