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を使用してください。 これにより、スクリプトの移植性と互換性の可能性が最も高くなります。
関連:シェルスクリプトの初心者向けガイド:基本



