今回はaptとかapt-get 関連について、まとめてみた。
正直自分はそれほど、詳しくないのでこの記事は参考程度で許してください。
自分用の知識のまとめ程度の話なので、申し訳ないけど悪しからず。
- パッケージ管理用フロントエンドツール
- apt と apt-get は何が違うのか
- update と upgrade の違い
- dist-upgrade と full-upgrade の違い
- 最後に
- 参考
パッケージ管理用フロントエンドツール
apt は Debian系の OS を使っている人ならよく利用するパッケージ管理用のコマンドである。Red Hat系であれば yum 、Vine Linux とかだと rpm が同じ機能を持つ。
まず、 Debian系のパッケージ管理用ツールはいくつもありその中でよく使われるのがapt-get , apt , aptitude らしい。
apt-get
Debian系のパッケージ管理用ツールの始まりである。
apt
apt-get に続き開発されたもの。基本的に apt-get のサブコマンドをそのまま使える。
apt よりも後に開発された。CUIツール だがGUI的にパッケージの管理ができる。基本的に apt-get のサブコマンドをそのまま使える。個人的にはあまり役に立つ気がしないが、もしもの時のために覚えておくのもいいかもしれない。今回は触れない。
apt と apt-get は何が違うのか
apt を使う人もいるし、apt-get を使う人もいる。しかし、apt-get より apt が推奨されているのをご存知だろうか。
apt
は APT から提供されているもう一つのコマンドラインベースフロントエンドで、apt-get
の持っていた設計上のミスを克服しています。Debian 管理者ハンドブックより
設計上のミスがどのようなものかは分からないが apt を利用した方が良いのだろう。
ここまでの参考サイト
update と upgrade の違い
OSの初回起動時など、アップデートの確認を行うときに使うコマンド
$sudo apt update
$sudo apt upgrade
これらこの順で行うべきだというのには理由がある。それはどのようなものなのか。
update
パッケージのリポジトリから、パッケージの名前やバージョン、依存関係を取得するコマンドです。そして更新すべきソフトのリストを更新する。ソフトウェアのアップデートに必要なものをダウンロードするだけで、まだソフトウェアのアップデートは行われない。アップデートできるパッケージの個数を教えてくれる。
upgrade
アップグレード可能なパッケージを更新する。ただし、パッケージのアップグレードのためにインストール済みのパッケージの削除が必要な場合は、安全のためそのパッケージを[保留]としてインストールしない。
これらより、
$sudo apt update
$sudo apt upgrade
の順で入力する必要がある。
ここまでの参考
dist-upgrade と full-upgrade の違い
$sudo apt-get dist-upgrade
$sudo apt full-upgrade
この二つがシステム全体をアップグレードするために必要とされる場合には、現在インストール済みのパッケージを削除した上でアップデートができるコマンドであり、upgrade だけだと[保留]になる分もアップデートする。
少し話は変わって apt では基本的に apt-get でのコマンドが使えるので、
$sudo apt dist-upgrade
は可能である。Debian 管理者ハンドブックには次のコマンドは使えないと考えていたが、
$sudo apt-get full-upgrade
実際に打ち込んでみるとそんなことはなかった。
本題に入る。dist-upgrade と full-upgradeの違いについて StackExchage にあったものを見てみる。
https://askubuntu.com/questions/770135/apt-full-upgrade-versus-apt-get-dist-upgrade
ここでは二つのコマンドが同じであるという意見と異なるという意見がある。ただ、異なるという意見を挙げた側は部分的に同じだという結論に至っている。
次にDebian 管理者ハンドブックには、この二つの違いについて、
より重要なアップグレード、たとえば Debian のメジャーバージョンをアップグレードするなどの場合、apt full-upgrade
を使ってください。apt full-upgrade
を実行した場合、apt
はアップグレードに伴う新しい依存関係により不要となったパッケージを削除します。また、apt full-upgrade
は Debian 不安定版 リリースを日常的に使い、毎日開発進化を追いかけているユーザが使うコマンドです。これは説明がほとんど必要ないくらいとても単純です。そして APT の評判はこの偉大なる機能性が担っています。apt
と異なり、aptitude
およびapt-get
ではfull-upgrade
コマンドを使うことができません。その代わり、apt-get dist-upgrade
(「ディストリビューションアップグレード」) を使ってください。dist-upgrade コマンドは歴史的かつよく知られており、apt
とaptitude
はユーザの利便性を考慮して dist-upgrade を受け付けます。Debian 管理者ハンドブック 6.2.3. システムのアップグレード より
個人的な結論としては、細かくみるとこれらのコマンドは違うものであるが見かけ上の振る舞いは同じ動作をするコマンドだと考える。今後アップデートを行う場合は、公式で推奨されている。
$sudo apt full-upgrade
を使うべきだろう。
最後に
挑発的なタイトルにしてはいるが、結局のところ記事を読んでどう判断するかはそれぞれ色々あると思うので己が信じるものを信じていただきたい。
参考