aptとapt-get:Linuxでの違いは何ですか?

公開: 2022-06-16
赤い背景の上のラップトップ上のLinux端末。
fatmawati achmad zaenuri / Shutterstock

DebianベースのLinuxディストリビューションにapt apt-getだけでなくaptがあるのはなぜですか? aptapt-get取って代わりましたか、それとも異なる目的がありますか? これら2つのコマンドの関係について説明します。

Debianパッケージ管理システム

Linuxディストリビューションを作成する際の主な取り組みは、パッケージ管理システムの設計と作成です。 ユーザーは、ソフトウェアパッケージをインストールおよびアンインストールする方法を持っている必要があります。 そのためには、ソフトウェアリポジトリからパッケージファイルを取得し、ユーザーのコンピューターに正しくインストールするためのソフトウェアが必要です。

Linuxでのソフトウェアインストールとパッケージマネージャーの動作
Linuxでのソフトウェアインストールおよびパッケージマネージャーの動作に関連

これは小さな仕事ではありません。 ソフトウェアエンジニアリングを片側に置いても、ソフトウェアリポジトリをホストするには、時間、労力、および費用がかかります。 これが、多くの「新しい」Linuxディストリビューションが既存のLinuxディストリビューションから派生したものである理由の1つです。

これにより、Debianベースのディストリビューション、Red Hatベースのディストリビューション、ArchベースのディストリビューションなどのLinuxディストリビューションのファミリーまたは系統が生まれます。

UbuntuおよびUbuntuから派生したすべてのディストリビューションを含むDebianファミリーのディストリビューションは、DebianPackageManagerを使用します。 これは、DEBファイルと呼ばれる「.deb」ファイル拡張子のパッケージファイルを使用します。 DEBファイルは、他のアーカイブファイルを含む圧縮ファイルです。 アーカイブファイルには、アプリケーションの実行可能ファイル、マニュアルページ、ライブラリなどが含まれています。

LinuxにDEBファイルをインストールする方法
LinuxにDEBファイルをインストールする方法

DEBファイルからソフトウェアをインストールするということは、これらすべてのコンポーネントファイルを解凍し、コンピューターの正しい場所に配置することを意味します。 また、アプリケーションがアプリケーション検索に表示され、そのアイコンをドックまたはシステムメニューに追加できるように、オペレーティングシステムおよびデスクトップ環境と対話する必要があります。

広告

apt-getコマンドとaptコマンドはどちらもそれを行います。 しかし、なぜ同じことに対して2つのコマンドがあるのでしょうか。

コマンドのチェーン

実際にインストールを実行するパッケージはdpkgと呼ばれます。 これは実際には、 dpkg-splitdpkg-trigger 、およびdpkg-divertを含むコマンドのファミリーです。 これらは、必要に応じて、Advanced Package Toolスイート(APT)のツールによって呼び出されます。 APTは、 apt-getapt-cacheaptなどのツールの別のコレクションです。

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の少し簡素化されたバージョンです。

Ubuntuでソフトウェアをコンパイルする際に依存関係を解決する方法
Ubuntuでソフトウェアをコンパイルする際に依存関係を解決する方法

しかし、 apt-getaptは、 dpkgへの単なる簡単なインターフェース以上のものを提供します。 彼らはdpkgがしないことをします。 彼らはリポジトリからファイルを取得し、依存関係の欠落や競合を支援しようとします。

次に、 aptコマンドはapt-getが実行しないいくつかのことを実行します。 これは、平均的なユーザーがインストール中に見たいタイプのより多くの情報を提供し、 apt-get表示するよりあいまいな情報の一部を抑制します。 aptは優れた視覚的フィードバックを提供し、ターミナルウィンドウでカラーハイライトとプログレスバーを使用します。

aptapt-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-sourcesaptがパッケージを検索するリポジトリのリストを直接編集します。

アプリケーションのインストール

apt searchを使用して、パッケージがリポジトリに存在するかどうかを確認したり、パッケージの正しい名前を持っていることを確認したりできます。 Scribusをインストールしたいが、パッケージ名がわからないとします。 scribus-desktopを探してみてください。

 aptsearchscribus-デスクトップ

リポジトリでscribus-desktopというパッケージを検索する

その検索では何も見つかりませんでした。 より短く、より一般的な検索の手がかりを使って再試行します。

 apt search scribus 

リポジトリでscribusというパッケージを検索する

広告

これはいくつかのヒットを返し、「scribus」と呼ばれるものがあり、それがScribusデスクトップパブリッシングアプリケーションのコアパッケージであるように見えることがわかります。 apt showコマンドで詳細を確認できます。

 apt show scribus 

aptshowを使用してscribusパッケージの詳細を確認する

インストールされるものやソフトウェアの説明など、パッケージに関する情報のダンプを取得します。

Scribusパッケージに関する情報

また、ニーズに応じて、必要になる可能性のある他のパッケージも提案します。

パッケージをインストールするには、 sudoを使用する必要があります。

 sudo apt install scribus 

Scribusパッケージのインストール

ファイルはリポジトリから取得されます。 現在取得中のファイルは茶色で強調表示されています。

パッケージのインストールの一部としてのファイルの取得

ファイルが取得されると、それらがインストールされます。 インストールの進行状況は、数字で表示されるパーセンテージと進行状況バーとして表示されます。

パーセンテージとプログレスバー付きのパッケージのインストール

その他のコマンド

apt listおよびapt edit-sourcesコマンドは、 apt-getには存在しないaptのオプションです。

広告

apt listコマンドを--installedまたは--upgradeableオプションとともに使用すると、インストールされているコンピューター上のパッケージと、アップグレードできるパッケージを確認できます。

コンピュータにインストールされているアプリケーションのリストを表示するには、次を使用します。

 apt list --installed 

aptを使用して、インストールされているアプリケーションを一覧表示します

出力をスクロールすると、新しくインストールされたScribusアプリケーションの2つのエントリが表示されます。

インストールされているアプリケーションのリスト

インストールされているアプリケーションのいずれかをアップグレードできるかどうかを確認するには、 --upgradeableオプションを使用します。

 apt list --upgradeable 

アップグレードできるアプリケーションのリスト

aptコマンドは、 aptがパッケージを検索するリポジトリについて保存されている情報を編集する方法も提供します。 自分が何をしているのかを知っている場合にのみ、これを行ってください。

 sudo aptedit-sources 

aptでリポジトリ情報を編集する

広告

このコマンドは、デフォルトのエディターを開き、リポジトリ情報を保持しているファイルをロードします。

nanoエディターで開いたリポジトリデータファイル

aptまたはapt-getを使用する必要がありますか?

apt-getコマンドは頻繁に更新されることはなく、それは良いことです。 下位互換性を維持する必要があります。 下位互換性は、 aptにとってそれほど重要ではありません。 これは、ユーザー向けのコマンドと見なされ、扱われます。

日常的に使用するには、 aptを使用します。

パッケージのインストールに関係するスクリプトを作成する場合は、 apt-getを使用してください。 これにより、スクリプトの移植性と互換性の可能性が最も高くなります。

関連:シェルスクリプトの初心者向けガイド:基本