Beim Wechseln zwischen Linux-Distributionen kann es schwierig sein, reibungslos zwischen den verschiedenen Schnittstellen zu Paketverwaltungstools zu wechseln. In diesem Artikel werden wir einige gängige Vorgänge besprechen und erläutern, wie sie mit dnf
ausgeführt werden und apt
.
Grundfunktionen
Glücklicherweise können die meisten Ihrer täglichen Grundoperationen mit beiden Tools auf die gleiche Weise ausgeführt werden. Die Installation eines Pakets nach Namen ist dnf install
und apt install
, und das Entfernen ist dnf remove
und apt remove
. Das Entfernen von Abhängigkeiten, die nicht mehr benötigt werden, ist dnf autoremove
und apt autoremove.
Manchmal kennen Sie den genauen Paketnamen nicht, den Sie benötigen, um ein bestimmtes Tool zu erhalten. In diesen Fällen können Sie die dnf search
verwenden und apt search
um Paketnamen und -beschreibungen zu suchen. Diese Tools unterstützen reguläre Ausdrücke, die dabei helfen können, Ergebnisse zu reduzieren.
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 ~]#
Ein zu beachtendes Problem ist, dass die Upgrade-Befehle etwas anders funktionieren. dnf update
und dnf upgrade
beide funktionieren auf die gleiche Weise und kombinieren die Schritte, die von apt update
durchgeführt werden und apt upgrade
. Das bedeutet, dass ein dnf
System wird versuchen, alle ausstehenden Updates aus seinen konfigurierten Repositories und abzurufen fordert den Benutzer auf, Pakete zu aktualisieren, alles in einem einzigen Befehl. Sie haben natürlich immer noch die Möglichkeit, das Update tatsächlich durchzuführen oder nicht, aber es kann für Leute, die an Ubuntu gewöhnt sind, etwas überraschend sein, ein dnf update
zu sehen fordert den Benutzer plötzlich auf, Pakete zu aktualisieren. dnf distro-sync
funktioniert ähnlich und kombiniert die Funktionen von apt update
und apt dist-upgrade
.
[ Leser mochten auch: Create an Apache-based YUM/DNF repository on Red Hat Enterprise Linux 8 ]
Paketinformationen abfragen
Bei der Abfrage von Paketinformationen dnf
bietet ein paar kleine Annehmlichkeiten durch die Kombination einiger apt
Funktionalität in einem einzigen Befehl. apt show
gibt Ihnen Informationen über ein Paket und apt-cache policy
liefert Informationen über das Repository, aus dem ein Paket stammt, und seinen Aktualisierungsstatus. dnf
rollt all dies in dnf info
Und enthält auch Remote-Paketinformationen, die apt
sind bietet über 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.
Um Dateien aufzulisten, die von einem lokalen Paket bereitgestellt werden, können Sie rpm -ql
verwenden auf dnf
-Systeme und dpkg -L
auf apt
Systeme. Um die von einem Remote-Paket bereitgestellten Dateien aufzulisten, wird es jedoch etwas komplizierter. Auf dnf
Systemen kann dies über dnf repoquery -l
erfolgen . Dazu können Sie unter Ubuntu ein Dienstprogramm namens apt-file
verwenden und führen Sie apt-file list
aus . Möglicherweise müssen Sie dies selbst installieren, da es vom apt-Team gepflegt wird, aber nicht Teil von apt
ist selbst.
Quellen herunterladen
Manchmal müssen Sie nur den Quellcode durchsuchen, um zu sehen, was los ist. Glücklicherweise gibt es eine einfache Möglichkeit, direkt über Ihren Paketmanager an den Quellcode zu gelangen. Um das Quellpaket mit dem angegebenen Paketnamen anzuzeigen, verwenden Sie dnf repoquery -s
und apt-cache showsrc
. Um es abzurufen, dnf download --source
wird dies schnell für Sie herunterziehen, ebenso wie apt-get source
.
In diesem Artikel haben wir einige gängige dnf
durchgespielt und apt
Operationen, denen Systemingenieure begegnen werden. Für einen eingehenderen Blick auf die Optionen, die auf verschiedenen Distributionen verfügbar sind, empfehle ich Ihnen, einen Blick auf Pacman Rosetta zu werfen, das im Wiki von Arch Linux verfügbar ist. Obwohl es für Benutzer entwickelt wurde, die von anderen Distributionen zu Arch kommen, ist es eine großartige Ressource für alle, die für eine Vielzahl gängiger Vorgänge vom Paketmanager einer Distribution in einen anderen übersetzen möchten.
[ Kostenloser Online-Kurs:Technischer Überblick zu Red Hat Enterprise Linux. ]