とりあえず最近ようやく理解できるようになったので、ブログにまとめておきます。 ## aptってなに DebianとかUbuntuで採用されてるパッケージ管理ソフト。Ubuntuに入ってるソフトウェアを導入・アップデート・削除するツールだと思っていただければOK。`apt`によるアップデートは、鯖メンテの最初のステップとなるので、まずはここから押さえていきます。 ## 大まかな流れ 1. `apt update`でアップデートリストを取得する 2. `apt upgrade`でソフトウェアのアップデートをかける 3. (必要に応じて)`apt upgrade <パッケージ名>`で保留されたソフトウェアのアップデート 4. (必要に応じて)`apt full-upgrade`でカーネルのアップデート 5. `reboot`で再起動 ## 詳細 ### アップデートリストを取得する `apt update`は「ソフトウェアのアップデート一覧を取得する」コマンドです。Gitでいうfetchみたいなもの。(と私は思っています)そのため、アップデートをする際は必ず最初このコマンドを入力する必要があります。 ### ソフトウェアのアップデートをかける `apt update`で取得したリストをもとに、`apt upgrade`でアップデートをかけます。 たまに `<数字> not apgraded`みたいな表示が出ますが、これは「アップデートが保留されたソフトウェアがあるよ」という意味です。上の行に何のソフトウェアが更新されなかったか書いてあるので、その時は次の作業に移ります。 ### 保留されたソフトウェアのアップデート `apt upgrade <パッケージ名>`といったように、直接ソフトウェアを指名してアップデートをかけていきます。 ### システムのアップデート Ubuntu自体のシステムアップデートを行う場合、`apt full-upgrade`を行います。この際不要なパッケージを削除したり、コア部分のアップデートがかかるため、動作がおかしくなる可能性があります。 一度仮想環境などで、アップデートをしてから本番環境に適応してください。 ### 再起動を行う 念のため`reboot`でサーバーを再起動します。 ## もっと効率的にできないの? `sudo apt update && sudo apt upgrade -y`を行えば、リスト更新とアップデートができます。`apt upgrade`の`-y`オプションは「アップデートをかける前に聞かれる質問をYesで答える」というものです。 このコマンドで基本のアップデートを行い、再起動していきましょう。 ## コマンドまとめ ``` $ sudo apt update && sudo apt upgrade -y $ sudo apt upgrade <パッケージ名> $ sudo apt full-upgrade $ sudo reboot ``` ## 参考サイト - [aptコマンドによるパッケージ更新メモ - Qiita](https://qiita.com/syutorum001/items/c6fab8196d6353321f4d) - [apt-get upgradeとapt-get dist-upgradeとapt upgradeとapt full-upgradeの違い](https://penpen-dev.com/blog/upgrade-tigai/)