はじめに
Dockerファイルを読んだりすると、apt apt-get で統一されてない環境に遭遇することが多々あったので何か意図があるのか気になっていました。
公式とAWSから言及されているドキュメントをみつけたので掲載します。
個人的な結論としては、AWSのドキュメントを読んで二つのコマンドの違いを把握した上で、上位互換であるaptを使っていくようにしたいと思いました。
公式ドキュメントでは
正直これだけでは分かりませんでした。
抜粋
Note:
While apt is a command-line tool, it is intended to be used interactively, and >not to be called from non-interactive scripts. The apt-get command should be >used in scripts (perhaps with the --quiet flag). For basic commands the syntax >of the two tools is identical.
DeepL翻訳
apt はコマンドラインツールですが、対話的に使用することを目的としており、 > 非対話的なスクリプトから呼び出されることはありません。apt-get コマンドはスクリプトで使用されるべきです (おそらく --quiet フラグ付き)。基本的なコマンドは、2つのツールのシンタックスは同じです。
AWSのドキュメントでは
下記のリンク先の一部抜粋をします。
apt-get コマンドを apt コマンドに置き換えについて
既存の Linux スクリプトでは、apt-get コマンドを apt コマンドに置き換える必要はありません。これらは引き続き正常に動作し、apt-get は引き続きサポートされています。過去の apt-get コマンドの機能の一部は apt でわずかに変更されています。そのため、apt-get をスクリプトに残しておくことで、正しく動作するようになります。
どっちを使うべきかについて
平均的な Linux ユーザーは、プロジェクトや環境が必要としない限り、apt-get の代わりに apt を使うべきです。
apt と apt-get の比較表
結論
既存のスクリプトで使われているapt-get
はそのまま使って、新規のスクリプトを書く際にはapt
を使うようにしたいと思っています。
apt
だとCLIでコマンドを流した後の進行状況が分かること、apt upgrade
を使用する場合に古いバージョンのパッケージが削除されることを抑えて置けばOKかなと思いました。
参考