APT(ソフトウェア)

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
高度なパッケージツール
Apt-get install mediawiki.png
apt-getインストール前に確認を要求する
開発者Debianプロジェクト_
初回リリース1998年3月31日; 24年前[1] (1998-03-31
安定リリース
2.2.4 [2] /2021年6月10日; 11ヶ月前 (2021-06-10
プレビューリリース
2.4.5 [3] /2022年4月8日; 41日前 (2022-04-08
リポジトリ
で書かれているC ++
オペレーティング·システムUnixライク
タイプパッケージマネージャー
ライセンスGPLv2 +
Webサイトwiki .debian .org / Apt

Advanced Package ToolAPT)は、コアライブラリと連携してDebianおよびDebianベースのLinuxディストリビューションでのソフトウェアのインストールと削除を処理するフリーソフトウェアの ユーザーインターフェイスです。[4] APTは、プリコンパイルされたファイルから、またはソースコードをコンパイルすることにより、ソフトウェアパッケージの取得、構成、およびインストールを自動化することにより、 Unixライクなコンピューターシステムでソフトウェアを管理するプロセスを簡素化します。[4]

使用法

APTは、aptという名前のパッケージで配布されるツールのコレクションです。APTの重要な部分は、関数のC++ライブラリで定義されています。APTには、ライブラリを使用するパッケージを処理するためのコマンドラインプログラムも含まれています。そのような3つのプログラムは、、aptおよびapt-getですapt-cacheそれらは単純でどこにでもあるため、例で一般的に使用されます。aptパッケージは、現在のすべてのDebianリリースで「重要」な優先順位を持っているため、デフォルトのDebianインストールに含まれています。APTは、古いフロントエンドよりも使いやすいフロントエンド見なすことができますその間dpkgdselectdpkg個々のパッケージに対してアクションを実行し、APTはそれらの間の関係(特に依存関係)を管理し、より高いレベルのバージョン管理決定(リリース追跡とバージョン固定)の調達と管理を行います。

APTは、Debianの最高の機能の1つとしてしばしば称賛されており[5] [6] [7] [8]、Debian開発者はDebianのポリシーにおける厳格な品質管理に起因しています。[9] [10]

APTの主な機能は、呼び出し方法です。インストールまたは削除するパッケージのリストをトポロジカルソートdpkg、可能な限り最良の順序で呼び出します。場合によっては、のオプションを利用しますただし、これを行うのは、アクションを強制する必要が ある理由を回避する方法を計算できない場合のみです。dpkg--forcedpkgdpkg

ソフトウェアのインストール

ユーザーは、インストールする1つ以上のパッケージを指定します。各パッケージ名は、完全修飾ファイル名ではなく、パッケージの名前部分として表現されます(たとえば、Debianシステムでlibc6は、提供される引数はではなくlibc6_1.9.6-2.deb)。特に、APTは、指定されたパッケージが依存するパッケージを自動的に取得してインストールします(必要な場合)。これは、依存関係地獄の一種である依存関係の欠落によるインストールの失敗を回避したため、APTベースのパッケージ管理システムの本来の特徴でした

もう1つの違いは、リモートリポジトリからのパッケージの取得です。APTは、ロケーション構成ファイル(/etc/apt/sources.list)を使用して、ネットワークやリムーバブルストレージメディアなどで利用できる可能性のある目的のパッケージを見つけて取得し、利用可能な(インストールされていない)パッケージに関する情報も取得します。

APTは、apt-getの競合解決システムによって行われた決定をオーバーライドするための他のコマンドオプションを提供します。1つのオプションは、パッケージの特定のバージョンを強制することです。これにより、パッケージがダウングレードされ、依存するソフトウェアが動作しなくなる可能性があるため、ユーザーは注意する必要があります。

最後に、このapt_preferencesメカニズムにより、ユーザーは個々のパッケージの代替インストールポリシーを作成できます。

ユーザーは、POSIX正規表現を使用してパッケージを指定できます。

APTは、キャッシュされたパッケージのリストを検索し、インストールまたは更新する必要のある依存関係を一覧表示します。

APTは、依存関係を自動的に取得、構成、およびインストールします。

トリガーは、延期されたアクションの処理です。

更新、アップグレード、およびdist-upgrade

aptインストールされたパッケージの更新を容易にするおよびの使用モードは次のapt-getとおりです。

  • updateソースからパッケージインデックスファイルを再同期するために使用されます。使用可能なパッケージのリストは、で指定された場所から取得されます/etc/apt/sources.listたとえば、Debianアーカイブを使用する場合、このコマンドはPackages.gzファイルを取得してスキャンするため、新しいパッケージと更新されたパッケージに関する情報を利用できます。
  • upgradeに列挙されているソースから、システムに現在インストールされているすべてのパッケージの最新バージョンをインストールするために使用されます/etc/apt/sources.list利用可能な新しいバージョンで現在インストールされているパッケージが取得され、アップグレードされます。現在インストールされているパッケージが削除されたり、まだインストールされていないパッケージが取得およびインストールされたりすることはありません。別のパッケージのインストールステータスを変更せずにアップグレードできない現在インストールされているパッケージの新しいバージョンは、現在のバージョンのままになります。
  • full-upgradeapt)とdist-upgradeapt-get)は、の機能を実行するだけでなくupgrade、新しいバージョンのパッケージとの依存関係の変更もインテリジェントに処理します。apt「スマートな」競合解決システムをapt-get備えており、必要に応じて重要度の低いパッケージを犠牲にして、最も重要なパッケージのアップグレードを試みます。この/etc/apt/sources.listファイルには、目的のパッケージファイルを取得する場所のリストが含まれています。[4] aptitudeには、と呼ばれるよりスマートなdist-upgrade機能がありfull-upgradeます。[11]

構成とファイル

/etc/aptAPT構成フォルダーとファイルが含まれています。

apt-configAPT構成クエリプログラムです。[12] apt-config dumpは構成を示しています。[13]

ファイル

  • /etc/apt/sources.list[14]パッケージをフェッチする場所。
  • /etc/apt/sources.list.d/:追加のソースリストフラグメント。
  • /etc/apt/apt.conf:APT構成ファイル。
  • /etc/apt/apt.conf.d/:APT構成ファイルのフラグメント。
  • /etc/apt/preferences.d/:バージョン設定ファイルのあるディレクトリ。ここで、「ピン留め」を指定します。つまり、特定のパッケージを別のソースまたは別のバージョンのディストリビューションから取得するように設定します。
  • /var/cache/apt/archives/:取得したパッケージファイルのストレージ領域。
  • /var/cache/apt/archives/partial/:転送中のパッケージファイルのストレージ領域。
  • /var/lib/apt/lists/:で指定された各パッケージリソースの状態情報のストレージ領域sources.list
  • /var/lib/apt/lists/partial/:転送中の状態情報のストレージ領域。

ソース

APTは、ソフトウェアを見つけて依存関係を解決するために、リポジトリの概念に依存しています。APTの場合、リポジトリは、インデックスファイルとともにパッケージを含むディレクトリです。これは、ネットワークまたはCD-ROMの場所として指定できます2021年8月14日の時点で、Debianプロジェクトは、50,000を超えるソフトウェアパッケージの中央リポジトリをダウンロードおよびインストールできる状態に保っています。[15]

APTのsources.list構成ファイル( )に任意の数の追加リポジトリーを追加して、APT/etc/apt/sources.listによって照会することができます。グラフィカルなフロントエンドでは、多くの場合、sources.listより簡単に変更できます(apt-setup)。パッケージリポジトリが指定されると(システムのインストール時など)、そのリポジトリ内のパッケージはソースを指定せずにインストールでき、自動的に最新の状態に保たれます。

ネットワークリポジトリに加えて、コンパクトディスクやその他のストレージメディア(USBキードライブ、ハードディスクなど)も使用でき、apt-cdrom[16]を使用するか、ソースリストファイルにfile:/URI [17]を追加します。オプション(ハードディスクまたはUSBキードライブ)apt-cdromを使用して、CD-ROM以外のフォルダを指定できます。-dダウンロード可能なDebianCDには、Debianリポジトリが含まれています。これにより、ネットワークに接続されていないマシンをアップグレードできます。を使用することもできますapt-zip

複数のソースが同じパッケージを提供している場合、問題が発生する可能性があります。このような競合する可能性のあるソースを持つシステムは、APTピン留めを使用して、どのソースを優先するかを制御できます。

APTピン留め

APT固定機能を使用すると、ユーザーはAPTに、さまざまなリポジトリからさまざまなバージョンで利用できる可能性のある特定のバージョンのパッケージを選択させることができます。これにより、管理者は、システム上の他のパッケージと競合する可能性のあるバージョン、または望ましくない変更について十分にテストされていないバージョンにパッケージがアップグレードされないようにすることができます。

これを行うには、APTの設定ファイル( )のピンを変更する必要があります[18]。ただし、グラフィカルなフロントエンドを使用すると、ピン留めが簡単になることがよくあります。 /etc/apt/preferences

フロントエンド

Synapticパッケージマネージャーは、APTで利用できるフロントエンドの1つです。

APTには他にもいくつかのフロントエンドがあり、より高度なインストール機能とより直感的なインターフェイスを提供します。これらには以下が含まれます:

  • Synaptic GTK グラフィカルユーザーインターフェイス
  • UbuntuソフトウェアセンターUbuntuプロジェクトによって開発されたGTK グラフィカルユーザーインターフェイス
  • aptitude 、 CLIおよびncursesベースのTUIインターフェイスを備えたコンソールクライアント
  • KPackage KDEの一部
  • Adeptパッケージマネージャー、 KDEのグラフィカルユーザーインターフェイス(deb、rpm、bsd)
  • PackageKit freedesktop.orgフロントエンド。
  • UbuntuがスポンサーとなっているGTKベースのツールであるGDebi 。(Ubuntuリポジトリでgdebi-kdeとして利用できるQtバージョンもあります。)
  • apt-cdrom、APTの利用可能なリポジトリのリスト(sources.lists)に新しいCDROMを追加する方法。APTシステムにCDを追加するには、apt-cdromを使用する必要があります。手動で行うことはできません。
  • apt-zip 、リムーバブルメディア、特にUSBフラッシュドライブでaptを使用する方法
  • aptURLは、エンドユーザーアプリケーションがブラウザを介してシングルクリックでインストールできるようにするUbuntuソフトウェアパッケージです。[19] [20]
  • Cydia 、 APTに基づくジェイルブレイクされたiOSのパッケージマネージャー[21] [22]
  • Sileoは、 Cydiaのように、新しいバージョンのAPT(ElectraチームによってiOSに移植された)に基づくジェイルブレイクされたiOSのパッケージマネージャーです。
  • gnome-apt、GTK/ GNOME-ウィジェットベースのグラフィカルフロントエンド。ハヴォックペニントンによって開発された[23]
  • Muon Discover(以前のMuonソフトウェアセンター)、Qtベースのグラフィカルユーザーインターフェイス
  • Hildonアプリケーションマネージャー(Maemoアプリケーション)Maemoフロントエンド
  • apticronは、 cronを介して実行され、保留中の更新の通知をシステム管理者(sysadmin)に電子メールで送信するように設計されたサービスです。
  • APT Daemonは、ユーザーがPolicyKitを介してソフトウェアをインストールできるようにするサービスとして実行されるフロントエンドであり、 Ubuntuソフトウェアセンター( Linux Mintソフトウェアマネージャーと共に)で使用されるフレームワークです。
  • パッケージインストーラー、MXLinuxの一部。[1]
  • Apt-offline:直接インターネット接続を使用せずに、DebianタイプのLinuxインストールにコンテナ化されていない変更を加えるための便利な方法。ただし、関連するタイプのLinuxの一部にApt-offlineをインストールしたり、ソースリストにPPAを追加したりするなど、一時的な直接接続が必要になる場合があり

APTフロントエンドは次のことができます。

  • 新しいパッケージを検索します。
  • パッケージをアップグレードします。
  • パッケージをインストールまたは削除し、
  • システム全体を新しいリリースにアップグレードします。

APTフロントエンドは、インストールまたはアップグレードされるパッケージの依存関係を一覧表示し、新しくインストールされたパッケージによって推奨または提案されたパッケージもインストールする必要があるかどうかを管理者に問い合わせ、依存関係を自動的にインストールし、古いファイルやパッケージの削除など、システム上の他の操作を実行できます。

歴史

apt-getプログラムにつながった当初の取り組みは、コードネームDeitydselectで知られる代替プロジェクトでした[24]このプロジェクトは、当時のDebianリリースマネージャーであるBrianWhiteによって1997年に委託されました。の最初の機能バージョンが呼び出され、新しいユーザーインターフェイス(UI)を支えるコアライブラリ関数のテストプログラムとしてのみ意図されていました。[25]apt-getdpkg-get

APTの最初の開発の多くは、インターネットリレーチャット(IRC)で行われたため、記録が失われました。「神の創造チーム」のメーリングリストのアーカイブには、主要なハイライトのみが含まれています。

「神」の名前は、その名前の宗教的性質への懸念から、プロジェクトの正式な名前として放棄されました。APTの名前は、かなりの内部および公開の議論の後に最終的に決定されました。最終的に、名前はIRCで提案され、承認されてから、メーリングリストで最終決定されました。[26]

APTは1998年に導入され、オリジナルのテストビルドがIRCで配布されました。それを含む最初のDebianバージョンは、1999年3月9日にリリースされたDebian2.1でした。[27]

dselect結局、ユーザーインターフェイスを置き換えるというDeityプロジェクトの当初の目標は失敗でした。プロジェクトのユーザーインターフェイス部分での作業は、の最初のパブリックリリース後に放棄されました(ユーザーインターフェイスディレクトリは同時バージョンシステムapt-getから削除されました) 。メソッドおよびコマンドラインユーティリティとしてのAPTへの反応dselectは非常に素晴らしく、前向きであったため、すべての開発作業はツールの保守と改善に重点を置いていました。何人かの独立した人々が上にユーザーインターフェースを構築したのはずっと後のことでしlibapt-pkgた。

最終的に、新しいチームがプロジェクトをピックアップし、新しい機能の構築を開始し、強力な暗号化 署名を使用してパッケージリポジトリを認証するセキュアAPT機能を導入したバージョン0.6のAPTをリリースしました。[28]

バリアント

APTは元々、dpkgがDebianの.debパッケージと連携するためのフロントエンドとして設計されました。RPM Package Managerシステムでも動作するように変更されたAPTのバージョンは、APT-RPMとしてリリースされました。[29] Finkプロジェクトは独自のパッケージ管理タスクの一部のためにAPTをMacOSXに移植しました[ 30] 。また、APTはOpenSolarisでも利用できます。

apt-file

apt-fileは、APTとは別にパッケージ化されたコマンドで、特定のファイルが含まれているパッケージを検索したり、リモートリポジトリのパッケージに含まれているすべてのファイルを一覧表示したりします。[31]

も参照してください

参照

  1. ^ 「初期リリース」aptパッケージchangelogDebianプロジェクト。1998年3月31日2021年12月18日取得
  2. ^ 「ブルズアイに適したパッケージの詳細」DebianパッケージDebianプロジェクト。2021年6月10日2021年12月18日取得
  3. ^ 「不安定なものにapt2.4.5(ソース)を受け入れました」DebianパッケージトラッカーDebianプロジェクト。2022年4月8日2022年5月9日取得
  4. ^ a b c "apt-get(8)"Debianマンページ2021年12月18日取得
  5. ^ バイフィールド、ブルース(2004年12月9日)。「apt-get入門書」2021年12月18日取得
  6. ^ 「アーカイブから:2000年の最高のディストリビューション」タックスレーダー。2020年7月26日にオリジナルからアーカイブされました。
  7. ^ Dorgan、David(2004年1月19日)。「Debianへの移行」linux.ie。2006年5月13日にオリジナルからアーカイブされました。
  8. ^ 「使い慣れた最小限のDebianを使用したモバイルLinux開発」モバイルタックス。2008年9月15日にオリジナルからアーカイブされました。
  9. ^ 「なぜDebian」2021年12月18日取得
  10. ^ 「Debianポリシーマニュアル」2021年12月18日取得
  11. ^ 「dist-upgradeとfull-upgradeに関する議論」2021年12月18日取得
  12. ^ "apt-config(8)"Debianマンページ2021年12月18日取得
  13. ^ 「apt-configを使用してAPT設定を照会する-Debian管理者」2021年12月18日取得
  14. ^ "SourcesList"DebianWiki 2021年12月18日取得
  15. ^ 「Debian11「bullseye」がリリースされました」www.debian.org 2022-05-11を取得
  16. ^ "apt-cdrom(8)"Debianマンページ2021年12月27日取得
  17. ^ 例:deb file:/ mnt / install stable main contrib non-free{{citation}}:CS1 maint:postscript(リンク
  18. ^ 「AptConfiguration」DebianWiki 2020年5月18日取得
  19. ^ 「AptURL」UbuntuWiki 2021年12月27日取得
  20. ^ 「UbuntuLinuxにソフトウェアをインストールする方法:初心者のための完全なガイド」2018年6月17日2021年12月27日取得
  21. ^ Jurick、David(2009)。iPhoneのハッキング:iPhoneとiPodtouchを限界を超えてプッシュしますO'Reilly Media、Inc.p。20. ISBN 97805965166422021年12月27日取得
  22. ^ Adhikari、Richard(2008年3月20日)。「Android、Schmandroid:iPhone上のLinux」LinuxInsider 2021年12月27日取得
  23. ^ Mullikin、Glenn(2001年12月)。「Debianパッケージ管理システムの進化」AUUGN22、いいえ。4.p。50.ISSN1035-7521 _ _ gnome-aptはHavocPenningtonによって書かれました 
  24. ^ ホワイト、ブライアンC.(1997年4月11日)。「」"dselect"置換プロジェクト( "deity") " [email protected](メーリングリスト)
  25. ^ ガンソープ、ジェイソン(1998年3月2日)。「動作しています」[email protected](メーリングリスト)。
  26. ^ ガンソープ、ジェイソン(1998年3月19日)。「Re:2つのこと(!)」[email protected](メーリングリスト)。
  27. ^ 「Debianの簡単な歴史」debian.org。2003年8月24日にオリジナルからアーカイブされました。
  28. ^ 「安全なAPT」DebianWiki 2021年12月27日取得
  29. ^ 「APT-RPM」apt-rpm.org。2008年4月21日にオリジナルからアーカイブされました2021年12月27日取得
  30. ^ 「フィンク-について」www.finkproject.org。2008年5月11日にオリジナルからアーカイブされました2021年12月27日取得
  31. ^ 「Debianパッケージの内容の検査と抽出」Packagecloudブログ2015年10月13日2021年12月27日取得

外部リンク