見出し画像

【第5回】 apt と apt-get コマンドの違い

稚拙ながらもファイルサーバーを1ヶ月以上運用し続けているダイスケです。
僕は普段の仕事ではサーバーは利用する側ですが、最近サーバーの仕組みもわかっておかないと適切な対応できない依頼を受けています。
なので簡単なサーバーを運用して、仕事に活かせる範囲の基礎的なことを理解しようとしています。

今回はサーバーを運用していると必ずついてまわるソフトウェア・アップデートについてです。

CLIでのアップデートは何種類かある

運用しているサーバーはこちらに書いていますがUbuntuでのソフトウェア・アップデートの仕方を検索すると主に2種類のコマンドが記述されています。

$ apt update
$ apt-get update

どちらも試してみましたが挙動は同じに見えて何が違うのかわからなかったんですよね。

aptに限らず、見た目の挙動が同じなのに目に見えないところで違う場合、知らずに使っていると不要なトラブルを招きかねないので調べてみました。

apt

いつもお世話になっているbash manはこのように書いています。

apt は、パッケージ管理システム用の高レベルのコマンドラインインターフェースを提供します。エンドユーザインターフェースとして設計されていま
す。また apt-get(8) や apt-cache(8) のような専用の APT ツールと比べて、デフォルトでインタラクティブな使用に適したいくつかのオプションが有効
になっています。
apt 自身と同じように、man ページはエンドユーザインターフェースとして意図されています。さらに、一部のオプションや詳細の豊富さで読者を圧倒することを避けるため、複数の場所で部分的に情報を複製しないよう、最も使用されるコマンドとオプションを言及するように意図されています。

なるほど、わからん。
ちなみに apt-get は

apt-get

apt-get は、パッケージを操作するコマンドラインツールで、APT ライブラリを用いる他のツールのユーザ側「バックエンド」といえるものです。「フロントエンド」インターフェースには、aptitude(8), synaptic(8), wajig(1) などがあります。-h オプションや --help オプションを除き、以下に挙げるコマンドが必要です。

といった感じです。
僕が初心者だからなのか、理解力が足りなかったのかわかりませんがとにかくこの2つのコマンドの違いがわからなかったので、さらに調べると大体こんなところでした。

・aptの方が新しくて多機能
・aot-getにしかないオプショがあるっぽい
・原則aptでいいけどアップデート内容によってupgradeでお節介あるかも

結果、僕のやりかた

こうした方がいい!的な結論は運用環境によって異なると思いますので明言は避けてあくまで僕の場合を書いておきます。

僕の場合は仕事の都合上、経験の蓄積を積極的に行いたいので不具合やエラーはウェルカムなので基本的にaptで週に1回アップデートを行っています。

もちろん実際に運用されているサーバーは運用開始後は必要に応じてバージョン凍結したりするみたいですし、その重要性を理解した上でのアップデートです。
今のところ、依存関係によってインストールが保留にされた場合はdist-upgradeで無理矢理アップデートしています。
ただ複雑なサーバーではないからか不具合は起きにくく、残念ながらクリティカルなものは一度もないです。

簡単ですがこんな感じで引き続き運用していこうと思います。
なにかエラーがあればまた報告したいと思います。

いただいたサポートは「ホームスクーリングサポート」運営費用として学校に通えない子供たちの学習のために使用します。