Linuxシステムにアプリケーションをインストールする方法はたくさんあります。 Flatpakやコンテナのように、いくつかは新しいものです。 DEBやRPMのような他のものは、時の試練に耐えてきた古典的なフォーマットです。
どのオペレーティングシステムにもユニバーサルインストーラーはありません。現在、ソフトウェアを提供している開発者は無数にいるため、すべての主要なOSは、アプリストア(ファーストパーティとサードパーティの両方)、ドラッグアンドドロップインストール、およびインストールウィザードを組み合わせて使用しています。開発者が異なれば、提供するコードの要件も異なります。これにより、開発者がそれぞれ選択するインストール方法がわかります。
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
Linuxは、パッケージマネージャーの概念を開拓しました。 、アプリケーションをインストール、管理、およびアンインストールするためのコマンド。 2つの一般的なパッケージマネージャーコマンドはapt
です およびdnf
。 apt
コマンドはDEBパッケージを管理し、dnf
RPMパッケージを管理します。理論的には、この2つは厳密には互いに排他的ではありませんが、実際には、Linuxディストリビューションは一般的にどちらか一方を使用します。理論的には両方を1つのシステムで実行することは可能ですが、パッケージのインストールが重複し、バージョン管理が困難になり、コマンドが相互に冗長になります。ただし、混合Linux環境で作業していて、あるディストリビューションを実行しているワークステーションと別のディストリビューションを実行しているサーバーを操作する場合は、両方を知っておく必要があります。
パッケージマネージャーを使用してアプリケーションをインストールする前に、パッケージの名前を知っておく必要があります。通常、アプリケーション名とパッケージ名は同じです。インストールするパッケージの名前を確認するプロセスは、dnf
でもまったく同じです。 およびapt
:
$ sudo dnf search zsh
====== Name Exactly Matched: zsh ======
zsh.x86_64 : Powerful interactive shell
[...]
apt
を使用 :
$ sudo apt search zsh
Sorting... Done
Full Text Search... Done
csh/stable 20110502-4+deb10u1 amd64
Shell with C-like syntax
ddgr/stable 1.6-1 all
DuckDuckGo from the terminal
direnv/stable 2.18.2-2 amd64
Utility to set directory specific environment variables
draai/stable 20180521-1 all
Command-line music player for MPD
[...]
apt
から関連する結果を取得するには 検索の早い段階で、正規表現を使用できます:
apt search ^zsh
Sorting... Done
Full Text Search... Done
zsh/stable 5.7.1-1 amd64
shell with lots of features
[...]
一部のコマンドは、他のコマンドとすべて1つのパッケージにバンドルされています。その場合、パッケージマネージャーを使用して、必要なものを提供するパッケージを確認できます。 dnf
およびapt
コマンドは、この種のメタデータを検索する方法によって異なります。
dnf
について :
$ sudo dnf provides pgrep
procps-ng-3.3.15-6.el8.x86_64 : System and process monitoring utilities
Repo : baseos
Matched from:
Filename : /usr/bin/pgrep
apt
コマンドはサブコマンドapt-file
を使用します 。 apt-file
を使用するには 、最初にインストールしてから、キャッシュを更新するように求める必要があります:
$ sudo apt install apt-file
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
The following NEW packages will be installed:
apt-file libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
0 upgraded, 5 newly installed, 0 to remove and 14 not upgraded.
Need to get 297 kB of archives.
After this operation, 825 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
$ sudo apt-file update
[...]
apt-file
を使用できます コマンドを検索します。コマンドを検索するだけで非常に広いネットをキャストできますが、コマンドの予想されるパスがわかっている場合は、より正確です。
$ sudo apt-file search /usr/bin/pgrep
pgreplay: /usr/bin/pgreplay
procps: /usr/bin/pgrep
アプリケーションのインストールは、基本的にapt
と同じです。 およびdnf
:
$ sudo apt install zsh
dnf
を使用 、同じオプションを使用して単一のパッケージをインストールできます:
$ sudo dnf install zsh
多くのRPMベースのディストリビューションはインストールグループを備えています 、表面的に関連するアプリケーションを1つの簡単にインストール可能なターゲットに収集します。たとえば、FedoraのDesign Suiteグループには、人気のあるクリエイティブアプリケーションが含まれています。 1つのクリエイティブなアプリケーションを必要とする多くのアーティストは、同様のアプリケーションを必要とする可能性があります。グループ全体をインストールすることは、デジタルスタジオの構築を賢明に始めるための簡単で迅速な方法です。 group list
で利用可能なグループを表示できます (-v
を使用します スペースなしでグループ名を表示するには):
$ sudo dnf group list -v
[...]
Available Groups:
Container Management (container-management)
RPM Development Tools (rpm-development-tools)
Design Suite (design-suite)
Development Tools (development)
[...]
group install
を使用してRPMグループをインストールします サブコマンド:
$ sudo dnf group install design-suite
@
を使用できます タイピングを減らすための表記法:
$ sudo dnf install @design-suite
パッケージマネージャーを使用する利点の1つは、すべてを認識していることです。 これまでにインストールしたアプリケーション。つまり、更新されたバージョンのアプリケーションを探す必要はありません。代わりに、パッケージマネージャーに更新をスキャンするように指示できます。
dnf
で使用されるサブコマンド およびapt
少し違います。 apt
定期的な更新が必要な情報のキャッシュを保持し、upgrade
を使用します アプリケーション更新のサブコマンド:
$ sudo apt upgrade
対照的に、dnf
コマンドを使用するたびにメタデータが更新されるため、update
およびupgrade
サブコマンドは交換可能です:
$ sudo dnf upgrade
これは次と同じです:
$ sudo dnf update
いずれかのプラットフォームでアプリケーションを手動で削除しようとしたことがある場合は、アプリケーションを削除した後、必然的に、設定ファイル、アセット、アイコンなどのファイルがハードドライブ全体に散らばっていることをご存知でしょう。パッケージマネージャーを使用するもう1つの利点は、パッケージマネージャーがすべての単一ファイルを知っていることです。 パッケージとともにインストール:
$ sudo dnf remove zsh
remove
サブコマンドはapt
にも使用されます :
$ sudo apt remove zsh
apt
を使用してパッケージを削除する 誤ってパッケージを削除した場合に備えて、変更されたユーザー構成ファイルは削除されません。 apt
が必要な場合 アプリケーションを削除するには その構成ファイルについては、purge
を使用してください 以前に削除したアプリケーションの場合:
$ sudo apt purge zsh
両方のapt
およびdnf
(purge
でも )ホームディレクトリ内のデータまたは構成ファイルを削除しないでください。ホームディレクトリからデータを削除するには、手動で行う必要があります(通常、~/.config
にあります)。 および~/.local
。
選択したLinuxディストリビューションがapt
を優先するかどうか またはdnf
、コマンドの目的はほぼ同じです。パッケージのインストール、更新、削除に役立ちます。最も一般的なパッケージマネージャーであるこれら2つは、相互の最も重要な構文要素をほぼ反映しているため、これらの切り替えは非常に簡単です。
それぞれに、リポジトリ管理など、大幅に分岐するいくつかの高度な機能がありますが、それらはsearch
の従来のシーケンスほど頻繁には実行されない傾向があります。 およびinstall
。
どのパッケージマネージャーを頻繁に使用するかに関係なく、aptチートシートとdnfチートシートをダウンロードして、最も重要な構文を最も必要なときにすぐに利用できるようにすることができます。