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


54

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

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代わりの使用についてのこの人気の後apt-get、私はapt-getが非推奨になり、私のbashプログラムで使用できなくなったと考え始めています。

私のbashプログラムでは、

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

7
この関連記事を参照: askubuntu.com/q/445384/295286
Sergiy Kolodyazhnyy

aptはapt-getよりもきれいです
WinEunuuchs2Unix

2
一部のユーザー(私など)が使用するapt理由は、それがに比べて短いためapt-getです。キーストロークが減り、時間が短縮されます。しかし、私はのapt-getようなものに使用しcheckます。
ガリフレヤン

回答:


36

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

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

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

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

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


19
apt-getではなく、aptではない機能は何ですか?そしてエンドユーザーにとってどのように適切なのでしょうか?
アンワル

4
繰り返しますが、apt-getはaptよりも低いレベルではありません。これは誤解を招く情報です。aptはapt-getと同じレベルにあり、aptはapt-getとapt-cacheのラッパーにすぎません
アンワー

@Anwar:違いがあります。一つの例:apt upgradeapt-get upgrade前者は、新しいパッケージをインストールするので、後者はそうではありません。
グンナルHjalmarsson 16

26
@Anwar If aptがラッパーarountである場合apt-get、それは間違いなく高レベルです。
タビアンバーンズ

2
@Anwarこれは、実際には「より高いレベル」または「より低いレベル」の定義です。aptは、apt-getをラップするため、より高いレベルです。ある種のテストは、aptが破損した場合でもapt-getは機能しますが、その逆はできません。
ロバート

47

いいえ、apt-get非推奨ではありません。のmanページにaptは、aptvs apt-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危険な?

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

aptUbuntu 15.10で使用できますか?

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

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

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


7

aptそして、apt-get基本的に同じパッケージマネージャです、彼らがやっていることは同じです。

違いは、aptたとえばからの機能も含まれapt-cacheており、見栄えの良い出力があることです。

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

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


aptは、遅延を追加したapt-cache機能を提供します!apt検索パッケージとapt-cache検索パッケージを使用してみてください。ポリシーを使用して同じ
アンワー

@Anwarを使用してもまったく違いはありませんapt(-cache) policy。でapt(-cache) search、速度に違いがあります、はい、しかしの出力aptはソートされ、見返りにうまくフォーマットされます。
バイトコマンダー

-1

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

以来apt-get、このような状況で非常に優れていたし、それがどんな欠点を持っていなかった、私はあきらめたaptと使用して保管apt-get代わりに。これは数年前のことなので、変更された可能性がありますが、同様の状況に陥った場合は、両方を試して、どちらが競合をよりよく解決できるかを確認することをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.