Linuxディストリビューション間を移動する場合、パッケージ管理ツールへの異なるインターフェイス間をスムーズに移行するのは難しい場合があります。この記事では、いくつかの一般的な操作と、両方のdnf
を使用してそれらを実行する方法を確認します。 およびapt
。
基本操作
ありがたいことに、日常の基本的な操作のほとんどは、両方のツールを使用して同じ方法で実行できます。名前でパッケージをインストールするのは、dnf install
です。 およびapt install
、削除はdnf remove
およびapt remove
。不要になった依存関係を削除するには、dnf autoremove
およびapt autoremove.
特定のツールを入手するために必要な正確なパッケージ名がわからない場合があります。そのような場合は、dnf search
を使用できます およびapt search
パッケージ名と説明を検索します。これらのツールは正規表現をサポートしており、結果を削減するのに役立ちます。
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 ~]#
覚えておくべき「落とし穴」の1つは、アップグレードするコマンドの動作が少し異なることです。 dnf update
およびdnf upgrade
どちらも同じように動作し、apt update
によって実行される手順を組み合わせます およびapt upgrade
。これは、dnf
システムは、構成されたリポジトリから保留中の更新を取得しようとします。および すべて1つのコマンドでパッケージを更新するようにユーザーに促します。もちろん、実際にアップデートを実行するかどうかを選択することはできますが、Ubuntuに慣れている人がdnf update
を見るのは少し意外かもしれません。 突然、パッケージを更新するようにユーザーに促します。 dnf distro-sync
apt update
の機能を組み合わせて、同様に動作します およびapt dist-upgrade
。
[読者も気に入っています:Red Hat EnterpriseLinux8でApacheベースのYUM/DNFリポジトリを作成します]
パッケージ情報を問い合わせるときは、dnf
いくつかのapt
を組み合わせることで、いくつかの小さな便利さを提供します 機能を単一のコマンドに。 apt show
パッケージに関する情報と、apt-cache policy
が表示されます パッケージの元となったリポジトリとそのアップグレードステータスに関する情報を提供します。 dnf
これらすべてをdnf info
にまとめます また、apt
のリモートパッケージ情報も含まれています 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.
ローカルパッケージによって提供されるファイルを一覧表示するには、rpm -ql
を使用できます。 dnf
で システムとdpkg -L
apt
で システム。ただし、リモートパッケージによって提供されるファイルを一覧表示するには、少し複雑になります。 dnf
について システムの場合、これはdnf repoquery -l
を介して実行できます。 。 Ubuntuでこれを行うには、apt-file
というユーティリティを使用できます。 apt-file list
を実行します 。これはaptチームによって管理されていますが、apt
の一部ではないため、自分でインストールする必要がある場合があります。
場合によっては、ソースコードを調べて、何が起こっているのかを確認する必要があります。ありがたいことに、パッケージマネージャーから直接ソースコードを取得する簡単な方法があります。指定されたパッケージ名のソースパッケージを表示するには、dnf repoquery -s
を使用します およびapt-cache showsrc
。取得するには、dnf download --source
apt-get source
と同様に、これをすばやくプルダウンします 。
この記事では、いくつかの一般的なdnf
について説明しました。 およびapt
システムエンジニアが遭遇する操作。さまざまなディストリビューションで利用できるオプションの詳細については、ArchLinuxwikiで利用できるPacmanRosettaをご覧になることをお勧めします。他のディストリビューションからArchにアクセスするユーザー向けに設計されていますが、あるディストリビューションのパッケージマネージャーから別のディストリビューションに変換して、さまざまな一般的な操作を行うことを検討しているユーザーにとっては、優れたリソースです。
[無料のオンラインコース:Red HatEnterpriseLinuxの技術概要。 ]