web-dev-qa-db-ja.com

「apt-get」は非推奨ですか?

最近、私は多くの人々が使用するのを見ました

Sudo apt

の代わりに

Sudo apt-get

また、UbuntuはSudo aptでインストールを指示し続けます

The program 'foo' is currently not installed. You can install it by typing:
Sudo apt install foo

(fooはアプリではなくプレースホルダーです)

コミュニティでapt-getの代わりにaptを使用するようになった後、apt-getは非推奨になり、bashプログラムでは使用できなくなると考え始めています。

私のbashプログラムでは、

  • すべてのapt-getコマンドをaptに置き換える必要がありますか?
  • apt-getは危険ですか?
  • 私のプログラムはまだ動作しますか?
54
Skybbles

apt-getは下位レベルであり、下位互換性があります。 aptはエンドユーザーにとってより適切であり、apt-getに存在するいくつかの追加機能を必要としない、または含むことはありません。

どちらもまったく問題ありません。 apt-getは非推奨ではありませんが、15.10インストールは:)

編集:apt(8)のmanページから

Aptコマンドはエンドユーザーにとって快適なものであり、apt-get(8)のように後方互換性がある必要はありません。

Edit2:aptは、apt-getの基本的な依存関係の欠陥のいくつかを修正するために設計されました。ラッパーであるため、aptはより高いレベルであり、下位互換性とスクリプト機能も失われます。

36
negusp

いいえ、apt-getは非推奨ではありません。 aptのmanページには、aptapt-get(およびapt-cache)についての説明があります。

スクリプトの使用法と他のAPTツールとの違い

Apt(8)コマンドラインはエンドユーザーツールとして設計されており、バージョン間で動作が変わる場合があります。下位互換性を損なわないように努めていますが、変更がインタラクティブな使用に有益と思われる場合も、これは保証されません。

Apt(8)のすべての機能は、apt-get(8)やapt-cache(8)などの専用APTツールでも利用できます。 apt(8)は、一部のオプションのデフォルト値を変更するだけです(apt.conf(5)、特にBinaryスコープを参照)。したがって、可能な限り下位互換性を維持するため、スクリプトでこれらのコマンドを使用することをお勧めします(いくつかの追加オプションを有効にして)。

aptは次のような警告も表示します

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

パイプが検出された場合。例えば:

$ apt show python | grep Package

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Package: python
APT-Sources: http://us.archive.ubuntu.com/ubuntu xenial/main AMD64 Packages

ご質問については、

すべてのapt-getコマンドをaptに置き換える必要がありますか?

いいえ、apt-getaptに置き換える必要はありません。むしろ、スクリプトで使用する場合は、apt-getに固執する必要があります。これは、安定したCLI APIがあり、下位互換性が保証されているためです。

apt-getは危険ですか?

aptapt-getと同じくらい危険です。ソフトウェアは、信頼できるソースからのみインストールする必要があります。

ubuntu 15.10でaptを使用できますか?

はい、できます。ここでの問題は、まだサポートされていないUbuntu 15.10を使用していることです! LTSバージョンである16.04にアップグレードしてください。

私のプログラムはまだ動作しますか?

プログラムによって、私はあなたがスクリプトを意味すると仮定します。はい、apt-getは非推奨ではないため、引き続き機能します。実際、aptのマニュアルページで提案されているように、下位互換性のためにスクリプトでapt-getを使用することをお勧めします。

47
edwinksl

aptapt-getは基本的に同じパッケージマネージャーであり、その機能は同じです。

違いは、aptには、たとえばapt-cacheおよび見栄えの良い出力があります。

ただし、少なくともその出力を解析する場合は、aptをスクリプトでまだ使用しないでください。これはまだ開発中であり、出力形式が変更される可能性があるためです。 Bashのタブオートコンプリートは、多くのaptコマンドでもまだ機能していません。

どちらを使用してもかまいません。

7
Byte Commander

他の回答からわかるように、aptまたはapt-getのいずれかを使用できます。追加したいのは、数年前にaptを試したときに、apt-getとは異なる方法で競合を解決したことです。状況がトリッキーな場合(何かを削除する必要があったり、一部のパッケージを特定のバージョンに固定したり、パッケージをダウングレードしたり、異なるリリースのパッケージを混合して使用したり)、apt競合を解決できませんでした。

apt-getはこれらの状況ではるかに優れており、マイナス面もなかったため、aptをあきらめ、代わりにapt-getを使用し続けました。これは数年前でしたので、これは変更された可能性がありますが、同様の状況に陥った場合は、両方を試して、どちらが競合をよりよく解決できるかを確認することができます。

0
Zoltan