aptとapt-get:Linuxでの違いは何ですか?
公開: 2022-06-16 DebianベースのLinuxディストリビューションにapt
apt-get
だけでなくaptがあるのはなぜですか? apt
はapt-get
取って代わりましたか、それとも異なる目的がありますか? これら2つのコマンドの関係について説明します。
Debianパッケージ管理システム
Linuxディストリビューションを作成する際の主な取り組みは、パッケージ管理システムの設計と作成です。 ユーザーは、ソフトウェアパッケージをインストールおよびアンインストールする方法を持っている必要があります。 そのためには、ソフトウェアリポジトリからパッケージファイルを取得し、ユーザーのコンピューターに正しくインストールするためのソフトウェアが必要です。
これは小さな仕事ではありません。 ソフトウェアエンジニアリングを片側に置いても、ソフトウェアリポジトリをホストするには、時間、労力、および費用がかかります。 これが、多くの「新しい」Linuxディストリビューションが既存のLinuxディストリビューションから派生したものである理由の1つです。
これにより、Debianベースのディストリビューション、Red Hatベースのディストリビューション、ArchベースのディストリビューションなどのLinuxディストリビューションのファミリーまたは系統が生まれます。
UbuntuおよびUbuntuから派生したすべてのディストリビューションを含むDebianファミリーのディストリビューションは、DebianPackageManagerを使用します。 これは、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
機能も含まれています。
LinuxMintはここで特別な言及が必要です。 Linux Mintのメンテナは、 apt-get
のPythonラッパーである独自のバージョンのapt
を開発しました。 それは私たちがここで話しているapt
ではありません。 2014年にリリースされ、2016年にUbuntu 16.04に組み込まれたときにユーザーの注目を集めた、主流のapt
を指します。
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 :パッケージをインストールします。
- packagenameの削除:パッケージを削除(アンインストール)します。
- packagenameのパージ:パッケージとその構成ファイルを削除します。
- packagenameの更新:リポジトリ情報を更新します。
- アップグレード:すべてのパッケージを更新します。
- autoremove :不要になったライブラリやその他のパッケージを削除します。
apt full-upgrade
オプションは、 apt-get dist-upgrade
upgradeオプションに置き換わるものです。
これらはapt
の新しいコマンドです:
- apt search :リポジトリでパッケージ名を検索します。 これは
apt-cache search
と同じです - apt show :パッケージに関する情報を表示します。 これは
apt-cache show
と同じです。 - apt listオプション:インストール済みまたはアップグレード可能なパッケージのリストを表示します。
- apt edit-sources :
apt
がパッケージを検索するリポジトリのリストを直接編集します。
アプリケーションのインストール
apt search
を使用して、パッケージがリポジトリに存在するかどうかを確認したり、パッケージの正しい名前を持っていることを確認したりできます。 Scribusをインストールしたいが、パッケージ名がわからないとします。 scribus-desktop
を探してみてください。
aptsearchscribus-デスクトップ
その検索では何も見つかりませんでした。 より短く、より一般的な検索の手がかりを使って再試行します。
apt search scribus
これはいくつかのヒットを返し、「scribus」と呼ばれるものがあり、それがScribusデスクトップパブリッシングアプリケーションのコアパッケージであるように見えることがわかります。 apt show
コマンドで詳細を確認できます。
apt show scribus
インストールされるものやソフトウェアの説明など、パッケージに関する情報のダンプを取得します。
また、ニーズに応じて、必要になる可能性のある他のパッケージも提案します。
パッケージをインストールするには、 sudo
を使用する必要があります。
sudo apt install scribus
ファイルはリポジトリから取得されます。 現在取得中のファイルは茶色で強調表示されています。
ファイルが取得されると、それらがインストールされます。 インストールの進行状況は、数字で表示されるパーセンテージと進行状況バーとして表示されます。
その他のコマンド
apt list
およびapt edit-sources
コマンドは、 apt-get
には存在しないapt
のオプションです。
apt list
コマンドを--installed
または--upgradeable
オプションとともに使用すると、インストールされているコンピューター上のパッケージと、アップグレードできるパッケージを確認できます。
コンピュータにインストールされているアプリケーションのリストを表示するには、次を使用します。
apt list --installed
出力をスクロールすると、新しくインストールされたScribusアプリケーションの2つのエントリが表示されます。
インストールされているアプリケーションのいずれかをアップグレードできるかどうかを確認するには、 --upgradeable
オプションを使用します。
apt list --upgradeable
apt
コマンドは、 apt
がパッケージを検索するリポジトリについて保存されている情報を編集する方法も提供します。 自分が何をしているのかを知っている場合にのみ、これを行ってください。
sudo aptedit-sources
このコマンドは、デフォルトのエディターを開き、リポジトリ情報を保持しているファイルをロードします。
aptまたはapt-getを使用する必要がありますか?
apt-get
コマンドは頻繁に更新されることはなく、それは良いことです。 下位互換性を維持する必要があります。 下位互換性は、 apt
にとってそれほど重要ではありません。 これは、ユーザー向けのコマンドと見なされ、扱われます。
日常的に使用するには、 apt
を使用します。
パッケージのインストールに関係するスクリプトを作成する場合は、 apt-get
を使用してください。 これにより、スクリプトの移植性と互換性の可能性が最も高くなります。
関連:シェルスクリプトの初心者向けガイド:基本