Lorsque vous passez d'une distribution Linux à l'autre, il peut être difficile de passer en douceur des différentes interfaces aux outils de gestion de packages. Dans cet article, nous allons passer en revue certaines opérations courantes et la façon de les effectuer en utilisant à la fois dnf
et apt
.
Opérations de base
Heureusement, la plupart de vos opérations de base quotidiennes peuvent être effectuées de la même manière en utilisant les deux outils. L'installation d'un package par son nom est dnf install
et apt install
, et la suppression est dnf remove
et apt remove
. La suppression des dépendances qui ne sont plus nécessaires est dnf autoremove
et apt autoremove.
Parfois, vous ne connaissez pas le nom exact du package dont vous avez besoin pour obtenir un certain outil. Dans ces cas, vous pouvez utiliser la dnf search
et apt search
pour rechercher des noms et des descriptions de packages. Ces outils prennent en charge les expressions régulières, ce qui peut aider à réduire les résultats.
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 ~]#
Un "gotcha" à garder à l'esprit est que les commandes de mise à niveau fonctionnent légèrement différemment. dnf update
et dnf upgrade
les deux fonctionnent de la même manière et combinent les étapes effectuées par apt update
et apt upgrade
. Cela signifie qu'un dnf
le système essaiera de récupérer toutes les mises à jour en attente à partir de ses référentiels configurés et invite l'utilisateur à mettre à jour les packages, le tout en une seule commande. Vous avez toujours la possibilité d'effectuer ou non la mise à jour, bien sûr, mais il peut être légèrement surprenant pour les personnes habituées à Ubuntu de voir une dnf update
invitant soudainement l'utilisateur à mettre à jour les packages. dnf distro-sync
fonctionne de manière similaire, combinant les fonctions de apt update
et apt dist-upgrade
.
[ Les lecteurs ont également aimé : Créer un référentiel YUM/DNF basé sur Apache sur Red Hat Enterprise Linux 8 ]
Demander des informations sur le package
Lors de la demande d'informations sur le package, dnf
offre quelques petites commodités en combinant certains apt
fonctionnalité en une seule commande. apt show
vous donnera des informations sur un paquet et la apt-cache policy
fournira des informations sur le référentiel d'où provient un paquet et son état de mise à niveau. dnf
transforme tout cela en dnf info
Et inclut également des informations sur le package distant qui apt
fournit via 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.
Pour répertorier les fichiers fournis par un package local, vous pouvez utiliser rpm -ql
sur dnf
systèmes et dpkg -L
sur apt
systèmes. Cependant, pour lister les fichiers fournis par un package distant, cela devient un peu plus compliqué. Sur dnf
systèmes, cela peut être fait via dnf repoquery -l
. Pour ce faire sur Ubuntu, vous pouvez utiliser un utilitaire appelé apt-file
et exécutez apt-file list
. Vous devrez peut-être l'installer vous-même, car il est géré par l'équipe apt mais ne fait pas partie de apt
lui-même.
Sources de téléchargement
Parfois, il suffit de fouiller dans le code source pour voir ce qui se passe. Heureusement, il existe un moyen simple d'accéder au code source directement via votre gestionnaire de packages. Pour afficher le package source sous le nom de package donné, utilisez dnf repoquery -s
et apt-cache showsrc
. Pour le récupérer, dnf download --source
le récupèrera rapidement pour vous, tout comme apt-get source
.
Dans cet article, nous avons passé en revue quelques dnf
courants et apt
opérations auxquelles les ingénieurs système seront confrontés. Pour un examen plus approfondi des options disponibles sur les différentes distributions, je vous encourage à jeter un œil au Pacman Rosetta disponible sur le wiki Arch Linux. Bien qu'il soit conçu pour les utilisateurs venant d'autres distributions sur Arch, c'est une excellente ressource pour tous ceux qui cherchent à traduire d'un gestionnaire de paquets d'une distribution à un autre pour une vaste gamme d'opérations courantes.
[ Cours en ligne gratuit :Présentation technique de Red Hat Enterprise Linux. ]