- apt-getとaptはどちらもDebianパッケージ管理システム内のツールです。
- apt-getはdpkgに対するフル機能のインターフェースですが、aptはapt-getの機能を少し削ったユーザーフレンドリーなバージョンです。
- aptとapt-getには、install、remove、purge、update、upgrade、autoremoveなど共通のコマンドがありますが、aptにはsearch、show、list、edit-sourcesなどの追加コマンドもあります。
DebianベースのLinuxディストリビューションにはapt
とapt-get
の両方があるのはなぜですか?apt
はapt-get
を置き換えたのでしょうか?それとも異なる目的があるのでしょうか?この2つのコマンドの関係を説明します。
Debianパッケージ管理システム
Linuxディストリビューションを作成する際の主要な取り組みは、パッケージ管理システムを設計して作成することです。ユーザーには、ソフトウェアパッケージをインストールおよびアンインストールする方法が必要です。そのためには、ソフトウェアリポジトリからパッケージファイルを取得し、ユーザーのコンピュータに正しくインストールするためのソフトウェアが必要です。
これは簡単な作業ではありません。ソフトウェアエンジニアリングを別にしても、ソフトウェアリポジトリのホスティングには時間、労力、費用がかかります。これが、「新しい」Linuxディストリビューションの多くが既存のLinuxディストリビューションから派生している理由の1つです。
これにより、Debianベースのディストリビューション、Red Hatベースのディストリビューション、Archベースのディストリビューションなどの、Linuxディストリビューションのファミリーまたは系統が生まれます。
UbuntuとすべてのUbuntu派生ディストリビューションを含む、Debianファミリーのディストリビューションは、Debianパッケージマネージャーを使用します。これは、DEBファイルと呼ばれる「.deb」ファイル拡張子のパッケージファイルを使用します。DEBファイルは、他のアーカイブファイルを含む圧縮ファイルです。アーカイブファイルには、アプリケーションの実行可能ファイル、マニュアルページ、ライブラリなどが含まれています。
DEBファイルからソフトウェアをインストールするには、これらのコンポーネントファイルをすべて解凍して、コンピュータの正しい場所に配置する必要があります。また、オペレーティングシステムとデスクトップ環境と対話して、アプリケーションがアプリケーション検索に表示され、そのアイコンをドックまたはシステムメニューに追加できるようにする必要があります。
apt-get
とapt
コマンドはどちらもそれを行います。しかし、なぜ同じことをするコマンドが2つあるのでしょうか?
コマンドチェーン
実際にインストールを実行するパッケージはdpkg
と呼ばれます。実際には、dpkg-split
、dpkg-trigger
、dpkg-divert
を含むコマンドのファミリーです。これらは、Advanced Package Toolスイート(APT)のツールによって、必要に応じて呼び出されます。APTは、apt-get
、apt-cache
、apt
を含む別のツールの集まりです。
dpkg
コマンドは低レベルコマンドとみなされます。最も単純な操作を超えると、非常に多くのオプションが複雑になります。apt-get
コマンドは、dpkg
コマンドスイートのフロントエンドとして機能します。これは、問題を大幅に簡素化します。apt-get
は、ユーザー向けの低レベルのバックグラウンドコマンドではなく、ユーザー向けのコマンドとして設計されています。それでも、人間が直面する役割にもかかわらず、ユーザーに情報を表示するためにapt-cache
という別のコマンドが使用されました。
apt
コマンドは、よりアクセスしやすくユーザーフレンドリーなコマンドラインツールを介してdpkg
と「会話」する別の方法を提供します。apt-get
の機能のサブセットを提供しますが、大きなサブセットであり、一般的に使用されるすべての機能を提供し、apt-cache
の機能も含まれています。
ここでLinux Mintに特別に言及する必要があります。Linux Mintのメンテナーは、apt-get
のPythonラッパーである独自のバージョンのapt
を開発しました。それは私たちがここで話しているapt
ではありません。私たちは、2014年にリリースされ、2016年にUbuntu 16.04に含まれたときにユーザーバースで注目と支持を集めた、メインストリームのDebianapt
について言及しています。
aptとapt-getの違い
つまり、dpkg
は低レベルのバックグラウンドアプリケーションです。apt-get
コマンドは、dpkg
に対するフル機能でありながら簡略化されたインターフェースであり、apt
はapt-get
のよりユーザーフレンドリーでありながら機能が少し削られたバージョンです。
しかし、apt-get
とapt
は、dpkg
への簡単なインターフェース以上のものを提供します。dpkg
が行わないことを行います。リポジトリからファイルを検索し、不足している依存関係や競合の解決を支援しようとします。
一方で、apt
コマンドはapt-get
が行わないことを行います。インストール中に平均的なユーザーが見たいと思うタイプの情報をより多く提供し、apt-get
が表示する不明瞭な情報を一部抑制します。apt
は優れた視覚的なフィードバックを提供し、ターミナルウィンドウでカラーハイライトと進行状況バーを使用します。
apt
とapt-get
の間にはいくつかの共通のコマンドがあります。これらのコマンドはすべてapt
またはapt-get
の前に置くことができ、同じように動作します:
- install packagename:パッケージをインストールします。
- remove packagename:パッケージを削除(アンインストール)します。
- purge packagename:パッケージとその設定ファイルを削除します。
- updatepackagename:リポジトリ情報を更新します。
- upgrade:すべてのパッケージを更新します。
- autoremove:不要になったライブラリやその他のパッケージを削除します。
apt full-upgrade
オプションはapt-get dist-upgrade
オプションに置き換わりました。
apt
の新しいコマンドは次のとおりです。
- apt search:リポジトリでパッケージ名を探します。これは
apt-cache search
と同じです。 - apt show:パッケージに関する情報を表示します。これは
apt-cache show
と同じです。 - apt list option:インストール済みまたはアップグレード可能なパッケージのリストを表示します。
- apt edit-sources:
apt
がパッケージを検索するリポジトリのリストを直接編集します。
Aptを使用したアプリケーションのインストール
apt search
を使用して、リポジトリにパッケージがあるかどうかを確認したり、パッケージの正しい名前を確認したりできます。Scribusをインストールしたいが、パッケージ名がわからないとします。scribus-desktop
を調べてみるかもしれません。
apt search scribus-desktop
その検索では何も見つかりませんでした。より短く、より一般的な検索手がかりで再試行します。
apt search scribus
これによりいくつかのヒットが返され、「scribus」という名前のものがあり、それが確かにScribusデスクトップパブリッシングアプリケーションのコアパッケージであることがわかります。apt show
コマンドはより詳細な情報を提供します。
apt show scribus
インストールされる内容とソフトウェアの説明を含む、パッケージに関する情報ダンプを取得します。
また、ニーズに応じて必要な可能性のある他のパッケージも提案しています。
パッケージをインストールするには、sudo
を使用する必要があります。
sudo apt install scribus
ファイルはリポジトリから取得されます。現在取得されているファイルは茶色で強調表示されています。
ファイルが取得されると、インストールされます。インストールの進行状況は、数字で表示されるパーセンテージと進行状況バーとして表示されます。
その他のコマンド
apt list
とapt edit-sources
コマンドはapt
のオプションであり、apt-get
には存在しません。
apt list
コマンドは、--installed
または--upgradeable
オプションとともに使用して、コンピュータにインストールされているパッケージとアップグレードできるパッケージを確認できます。
コンピュータにインストールされているアプリケーションのリストを表示するには、次を使用します。
apt list --installed
出力をスクロールすると、新しくインストールしたScribusアプリケーションの2つのエントリが表示されます。
インストールされているアプリケーションをアップグレードできるかどうかを確認するには、--upgradeable
オプションを使用します。
apt list --upgradeable
apt
コマンドは、apt
がパッケージを検索するリポジトリに関する情報を編集する方法も提供します。何をやっているのかがわかっている場合にのみ、これを実行してください。
sudo apt edit-sources
このコマンドは、デフォルトのエディタを開き、リポジトリ情報を保持するファイルを読み込みます。
aptとapt-getのどちらを使用すべきですか?
apt-get
コマンドは頻繁に更新されませんが、それは良いことです。下位互換性を維持する必要があります。下位互換性はapt
にとってそれほど懸念事項ではありません。それはユーザー向けの命令として考えられ、扱われます。
日常的な使用にはapt
を使用します。
パッケージのインストールに関連するスクリプトを作成する場合は、apt-get
を使用します。これにより、スクリプトの移植性と互換性が最大限に高まります。
コメントする