apt
これはLinuxディストリビューションに推奨されるコマンドです。パッケージ管理に必要なオプションを提供します。オプションは少ないですが、覚えやすく使いやすいです。
引用したとおりフォックスウェブサイト
apt-getのより多くの機能を活用する特定のタスクを実行したくない限り、apt-getに固執する理由はありません。
apt
apt-get および apt-cache コマンドのサブセットで、パッケージ管理に必要なコマンドを提供します。- apt-getは使用されなくなりましたが、通常のユーザーはaptを頻繁に使用する必要があります。
シェルスクリプトで使用するとこのエラーが発生しapt
、使用するとこのエラーは発生しませんapt-get
。
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
私の質問は次のとおりです
apt
信頼性の高いCLIインタフェースがない理由は何ですか?apt
慎重にまたは安全に使用する方法は?- このエラーメッセージを無効にするにはどうすればよいですか?
答え1
apt
推奨されるコマンドですインタラクティブ管理者が使用し、シェルスクリプトでは使用できません。
この問題はほとんど解決されましたapt
マンページ:
これ適度な(8)コマンドラインはエンドユーザーツールとして設計されており、バージョン間で動作が変わる可能性があります。以前のバージョンとの互換性を維持しようとしましたが、変更が対話型の使用に役立つ場合は、これを保証することはできません。
すべての機能適度な(8)以下の専用APTツールで利用可能適切 - ゲット(8)そして適切なキャッシュ(8)しかも。適度な(8)一部のオプションのデフォルト値を変更するだけです(参照apt.conf(5)特にバイナリ範囲)。したがって、可能な限り以前のバージョンとの互換性を維持するため、スクリプトでこれらのコマンドを使用することをお勧めします(一部の追加オプションが有効になる場合があります)。
したがって:
apt
有益と見なされる主な変更を可能にする信頼性の高いCLIインタフェースはありません。あなたはできません。ツールは明らかにそれのために設計されていません。
スクリプトで使用する
apt-get
か、エラー メッセージを防止します。apt-cache
答え2
apt-get
すでに存在しており、スクリプトインターフェイスを変更する理由は何もありませんapt
でした。いいえ完全な以前のバージョンとの互換性に注意する必要があります。したがって、apt-get
将来のインターフェイスの変更を防ぐために、スクリプトでのみ使用する必要があります。
OTOHはapt
「親切に」設計されているのでそれが言う内容に注意を払う限り安全である。
私は推測しています(しかしまだテストしていません)。apt
ログインシェルの直接の子として実行すると、対話的に実行されていると思われる可能性があるため、次のことを実行してみてくださいsh -l -c "apt $ARGS"
。