Ubuntuベースのディストリビューションは、ソフトウェアのインストール、アップグレード、依存関係の管理、および削除のためのいくつかのパッケージ管理システムを備えています。 Advanced Packaging Tool(APT)は、Ubuntu、Debian、Linux Mint、POP!_OSなどのディストリビューションのデフォルトのパッケージマネージャーです。
APTはUbuntuのaptコマンドと連携して、60,000を超えるソフトウェアパッケージ、依存関係、メタデータ、およびシステムにソフトウェアアプリケーションをインストールするための手順へのアクセスを提供します。
この記事では、aptコマンドによるAPTの操作、パッケージの検索、インストール、更新、システムのアップグレード、および追加のソフトウェア用の追加のリポジトリーの追加についてユーザーをガイドします。また、aptitudeやdpkgなどの他のパッケージマネージャーも紹介します。
パッケージ管理システムの利点
Ubuntuのパッケージ管理システムは通常、DEBパッケージまたは拡張子が.debのファイルを管理します。これは通常リポジトリに存在します。お気に入りのディストリビューションでパッケージ管理システムを使用する必要がある理由はいくつかあります。
- インストール済みの利用可能なパッケージを簡単に照会できます。
- パッケージまたは古いアプリケーションとそのすべてのファイルを完全に削除できます。
- パッケージファイルの整合性を確認できます。
- バグ修正とパッケージアップグレードでアプリケーションを最新の状態に保ちます。また、システムを破壊する可能性のある古いバージョンのファイルもすべて削除されます。
- パッケージを以前のバージョンに簡単にダウングレードできます。
- 冗長なライブラリとソフトウェアの依存関係を管理することで、システムを軽量に保ちます。
- パッケージのグループを簡単にインストールまたは削除できます。
APTの機能
- 複数のリポジトリをサポートします。
- シンプルな構成とインターフェースが特徴です。
- DEB-一貫した動作。
- パッケージグループのサポートと複数のリポジトリグループを備えています。
APTコマンド
aptコマンドは、パッケージの検索、インストール、削除などを行うための強力なコマンドラインツールです。
パッケージまたはソフトウェアを検索する
ソフトウェアをインストールする前に、Ubuntuリポジトリに存在するかどうかを確認する必要がある場合があります。 aptsearchコマンドでアプリケーションの一般名を使用します。たとえば、コックピットサーバー管理アプリケーションをインストールできるかどうかを検索できます。
$ sudo apt search zsh
パッケージをインストールする
パッケージが存在することを確認したら、aptinstallコマンドを使用してパッケージをインストールできます。
$ sudo apt install cockpit
パッケージメタデータを表示する
インストールするかどうかを決定する前に、パッケージに関する詳細情報を見つける必要がある場合があります。 apt showコマンドを使用して詳細を確認し、パッケージのメタデータを参照して、プロジェクトのURL、ライセンス、詳細な説明などの情報を確認します。
$ sudoaptshowコックピット
ファイルを提供するパッケージを探す
場合によっては、ファイル名の1つを使用してパッケージを検索する必要があります。たとえば、qmake-qt5のような依存関係のapt検索クエリでは、必要なパッケージが見つかりません。
$ sudo apt searchqmake-qt5
並べ替え...完了
全文検索...完了
検索で探しているものが見つかった場合は、apt-fileコマンドを使用してパッケージ内を探索できます。
$ sudo apt-file search qmake-qt5
qt5-qmake-bin:/usr/share/man/man1/qmake-qt5.1.gz
パッケージに含まれているファイルを調べる
特定のインスタンスでアプリケーションがシステムにすでにインストールされている場合があり、パッケージに含まれているファイルを知りたい場合があります。このような詳細を確認するには、apt-filelistコマンドを使用する必要があります。このコマンドは、パッケージに関するリポジトリメタデータを調べ、指定されたパッケージによって提供されるすべてのファイルを返します。
$ sudo apt-file list cockpit
cockpit:/usr/share/doc/cockpit/TODO.Debian
cockpit:/ usr / share / doc / cockpit / copyright
cockpit: /usr/share/metainfo/cockpit.appdata.xml
パッケージを削除する
システムにパッケージが不要になった場合は、aptremoveを使用してアンインストールします。このコマンドは、インストールされているすべてのパッケージファイルと不要な依存関係を削除します。
$sudoaptはコックピットを削除します
パッケージと構成ファイルを削除する
-purgeオプションをaptremoveに追加すると、パッケージ構成ファイルも削除されます。ただし、–purgeオプションを使用する場合は、システムに望ましくない影響を与える可能性があるため、注意が必要です。
$sudoaptパージコックピット
2つ以上のパッケージが同じ依存関係を必要とする場合、パッケージを削除してもすべての依存関係が自動的に削除されるわけではありません。そのため、多くのアプリケーションやパッケージをインストールおよびアンインストールした後、パッケージが迷子になる可能性があります。未使用のパッケージをクリアしてハウスキーピングを実行するには、aptautoremoveコマンドを使用します。
$ sudo apt autoremove
パッケージインデックスを更新する
APTパッケージインデックスは、システムで/etc/apt/sources.listの下に定義されているリポジトリから利用可能なすべてのパッケージのリストです。 ファイルと/etc/apt/sources.list.d ディレクトリ。次のコマンドを実行して、リポジトリの最新の変更でローカルパッケージインデックスを更新します。
$ sudo apt update
システムパッケージのアップグレード
aptコマンドを使用してパッケージを直接更新し、重要なパッチ、バグ修正、およびセキュリティ更新プログラムを入手できます。システムパッケージをアップグレードする前に、パッケージインデックスを更新してから、aptupgradeコマンドを使用してアップグレードしてください。
$ sudo apt upgrade
aptコマンドログを表示
ATPコマンドのすべてのアクションは、 /var/log/dpkg.logに記録されます。 ファイルを作成しておくと、問題が発生してATPのトラブルシューティングを行う場合に便利です。
APTガイド
$ sudo apt help
追加のリポジトリ
Aptは、ソフトウェアリポジトリのリストをファイル/etc/apt/sources.listに保存し、拡張子が.listのファイルを/etc/apt/sources.list.d/ディレクトリに保存します。 。これらのファイルを編集して、リポジトリを追加、削除、または無効にすることができます。
sources.listファイルの編集を開始する前に、ファイルのバックアップを作成することをお勧めします。破損が避けられないという明らかな理由で!次のコマンドでバックアップを作成します。
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
リポジトリの追加
Ubuntuで公式にサポートされているパッケージリポジトリとは別に、ユニバースやマルチバース、さらにはLaunchpadPPAリポジトリなどのコミュニティが管理するリポジトリを追加できます。
ユニバースとマルチバースリポジトリの追加
使用したいリポジトリに対応するapt行のコメントを解除することで、追加のリポジトリを有効にできます。たとえば、各行の前にある「#」を削除して、ユニバースまたはマルチバースリポジトリのコメントを解除します。
deb http://us.archive.ubuntu.com/ubuntu/ release_name universe
deb-src http://us.archive.ubuntu.com/ubuntu/ release_name universe
deb http: //us.archive.ubuntu.com/ubuntu/release_name-updatesユニバース
deb-srchttp://us.archive.ubuntu.com/ubuntu/release_name-updatesユニバース
add-apt-repositoryコマンドを使用してリポジトリを追加することもできます:
$ sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ release_name universe multiverse"
$ sudo add-apt-repository "deb http://us.archive .ubuntu.com / ubuntu/release_name-ユニバースマルチバースを更新します"
ヒント:リリースを確認するには、lsb_release-scと入力します。
パートナーリポジトリの追加
次の行のコメントを解除して、パートナーリポジトリを有効にします。
debhttp://archive.canonical.com/ubunturelease_nameパートナー
deb-srchttp://archive.canonical.com/ubunturelease_nameパートナー
次に、次のコマンドを使用して、変更を有効にするためにパッケージリストを更新できます。
$ sudo apt update
LaunchpadPPAリポジトリの追加
add-apt-repositoryコマンドを使用して、Launchpad PPA(Personal Package Archive)リポジトリーを追加できます。
$ sudo add-apt-repository ppa:
その他のリポジトリ
場合によっては、Ubuntu以外のリポジトリを追加する必要があります。 Ubuntu以外のリポジトリを追加するには、ソフトウェアソースのaptリポジトリ行をsources.listファイルに追加します。
注意:信頼できるリポジトリのみを追加してください。
deb http://mirror3.ubuntulinux.nl/ repo_name pckg
いつものように、変更を更新することを忘れないでください:
$ sudo apt update
aptの詳細については、公式のmanページ(man apt)を参照してください。
自動更新
Aptは、自動更新の管理と構成に使用できる無人アップグレードパッケージを提供します。次のコマンドでパッケージをインストールできます:
$ sudo apt install unattended-upgrades
次のステップは、 /etc/apt/apt.conf.d/50unattended-upgradesを編集することです。 。
無人-Upgrade::Allowed-Origins {
"$ {distro_id}:$ {distro_codename}";
"$ {distro_id}:$ {distro_codename} -security";
// "$ {distro_id}:${distro_codename}-更新";
// "$ {distro_id}:${distro_codename}-提案";
};
注:記号「//」はコメントを示しているため、評価されません。
特定のパッケージをパッケージ-ブラックリストリストに追加することで、自動更新から除外することもできます。
無人-Upgrade::Package-ブラックリスト{
// "vim";
// "libc6";
// "libc6-dev";
}
次のステップは、 /etc/apt/apt.conf.d/20auto-upgrades を編集して、自動更新を有効にすることです。 適切な構成オプションを使用します。たとえば、次の構成では、パッケージリストが更新され、利用可能なアップグレードが5日ごとにインストールされます。さらに、ローカルダウンロードアーカイブを隔週でクリーンアップするようにaptに指示します。
APT ::Periodic ::Update-Package-Lists "5";
APT ::Periodic ::Download-Upgradeable-Packages "5";
APT ::Periodic ::AutocleanInterval "14 ";
APT ::Periodic::Unattended-アップグレード"5";
新しいUbuntuリリースへのアップグレード
Ubuntuは、あるLTSから次のLTSへの順番でのアップグレードをサポートしています。たとえば、Ubuntu16.04LTSをUbuntu18.04LTSにアップグレードしてから、Ubuntu20.04LTSに別のアップグレードを実行することしかできません。したがって、ニュースリリースにアップグレードする前に、次のコマンドを使用してシステムを完全に更新してください。
$ sudo apt update
$ sudo apt upgrade
システムのアップグレードを実行するには、do-release-upgradeコマンドを使用することをお勧めします。
$ sudo do-release-upgrade
プロセスが開始する前に、システムは変更を受け入れるように促し、変更を受け入れた後にのみ続行します。この時点でコーヒーを飲み、システムにアップグレードプロセスを完了させるのは安全です。すべてのパッケージが更新されると、システムは、廃止されたパッケージを削除するように再度要求します。
最後に、システムを再起動して、アップグレードしたシステムにログオンします。
適性
Aptitudeは、APTシステム用のNcursesベースのフロントエンドであり、テキストベースのフロントエンドまたはコマンドラインツールとして起動できます。 Aptitudeの使用は簡単で、シングルキーコマンドで一般的なパッケージ管理機能を実行できます。次のコマンドを入力して、メニュー方式のインターフェースを開始します。
$ sudo aptitude
このコマンドは、新しいパッケージやインストールされていないパッケージなどのカテゴリを含むメニューバーを表示します。その後、パッケージのインストール、削除、更新、パッケージのアップグレードなどの機能を実行できます。
以下は、パッケージの状態を説明するために使用される一般的なキーの例です。
- i:インストールされたパッケージ。
- c:パッケージがインストールされていません。
- p:システムからパッケージを削除しました。
- v:仮想パッケージ。
- u:解凍されたファイル。
- C:半分構成されています。つまり、パッケージ構成が失敗し、修正する必要があります。
- B:壊れたパッケージ。
- H:半分インストールされている、つまり削除に失敗しました。
- U:解凍されたファイルですが、まだ構成されていません。
- q:qキーを押してAptitudeを終了します。
適性について詳しくは、manページをご覧ください:man aptitude
コマンドラインの適性
aptitudeコマンドを使用してコマンドラインツールとしてAptitudeを使用することもできます。 aptコマンドとaptitudeコマンドも同様に機能します。たとえば、パッケージをインストールするには、以下に示すように、aptitudeの代わりにaptを使用できます。
$ sudo aptitude install cockpit
パッケージを削除します:
$sudoaptitudeはコックピットを削除します
dpkg
dpkgは、Debianベースのシステム用のさらに別のパッケージマネージャーです。 dpkgは、AptとAptitudeがほとんどの機能を実行するために使用する「バックエンド」パッケージマネージャーと見なすことができます。これを使用して、ローカルパッケージの管理、パッケージのインストール、削除、およびビルドを行うことができます。ただし、dpkgの注意点の1つは、パッケージと依存関係を自動的にダウンロードしてインストールできないことです。
以下は、dpkgの使用方法の例です。
システムにインストールおよびアンインストールされたすべてのパッケージを一覧表示します:
$ dpkg -l </ pre>パイプとgrepを使用して特定のパッケージを表示する:
$ dpkg -l | grepコックピットパッケージによってインストールされたファイルを一覧表示します:
$dpkg-Lコックピットファイルをインストールしたパッケージを検索します:
$ dpkg -S /etc/host.conf
ベースファイル:/etc/host.confローカルの.debファイルをインストールします:
$ sudo dpkg -i new_package_1.0.1_amd64.debパッケージをアンインストールします:
$ sudo dpkg -r new_packageシステムの依存関係を壊す可能性があるため、dpkgを使用してパッケージをアンインストールすることはお勧めしません。より良い代替手段はaptです。これは、依存関係を処理し、システムパッケージの一貫性を確保できます。
dpkgの詳細については、manページを参照してください:man dpkg
DNFと比較したAPT/APT-GETコマンド
CentOSのようなRHELディストリビューションの一般的なユーザーでない場合は、Debianベースのディストリビューションのaptと「同義」であるFedoraのDNFパッケージマネージャーに慣れることをお勧めします。ここでは、いくつかの一般的なAPTコマンドとそれに相当するDNFを示します。
APTコマンド | DNFコマンド |
---|---|
apt update apt-get update | dnf check-update |
apt upgrade apt-get upgrade | dnfアップグレード |
apt full-upgrade apt-get dist-upgrade | dnfdistro-syncまたは dnfシステムアップグレード |
apt remove apt-get remove | dnf remove |
aptパージ apt-getパージ | --- |
apt autoremove apt-get autoremove | dnf自動削除 |
apt検索 apt-cache検索 | dnf検索 |
まとめ
aptパッケージマネージャーを理解して使用するのは簡単です。記事で強調したように、aptは、Ubuntuやその他のDebianベースのディストリビューションでアプリケーションやソフトウェアをクエリしてインストールするための強力で堅牢なツールです。
主にGUIを好むユーザーは、SynapticおよびGNOMEソフトウェアをチェックアウトして、Ubuntuパッケージおよびソフトウェアにアクセスできます。