※当サイトの記事には、広告・プロモーションが含まれます。

Ubuntu 20.04 LTSからUbuntu 22.04 LTSへupgradeする

news.mynavi.jp

Aqua Securityはこの脅威に対し、次のように対処することを推奨している。

  • 環境を適切に設定し、ブルートフォース攻撃で認証を突破されないようにする
  • システムに未知の脅威がないか、定期的に脅威のスキャンを行う
  • システムの開発者やセキュリティチームに脆弱性や設定ミスを検出できるツールを提供する

Tomcatサーバへのサイバー攻撃、設定ミスを突くブルートフォースで認証突破 | TECH+(テックプラス)

⇧ その適切な設定ってのが知りたいのだけど...

公式のドキュメントでは、upgrade前のバックアップに言及していない

公式のドキュメントによると、

ubuntu.com

Ubuntu supports the ability to upgrade from one LTS to the next LTS in sequential order. For example, a user on Ubuntu 16.04 LTS can upgrade to Ubuntu 18.04 LTS, but cannot jump directly to Ubuntu 20.04 LTS. To do this, the user would need to upgrade twice: once to Ubuntu 18.04 LTS, and then upgrade again to Ubuntu 20.04 LTS.

https://ubuntu.com/server/docs/upgrade-introduction

⇧ 段階的にupgradeする必要があるらしい。

16.04 LTS → 18.04 LTS → 20.04 LTS

のようにupgradeを進める必要があるらしいので、もし、更新前と更新後のバージョンに開きがある場合はかなり面倒ではある。

そして、一般的なのかは知らんけど、upgradeする際に、バックアップについては一切触れていない。

何だろうな、普通の感覚からすると、移行前にバックアップを行うのは定石な気もするのだけど、Ubuntuだとバックアップを取らないのが普通なのかね?

一応、バックアップの方法は

ubuntu.com

ubuntu.com

ubuntu.com

⇧ ドキュメントのページが別に用意されているけど、upgradeのドキュメントのページで一言バックアップについて言及があっても良い気はするのだけど...

Ubuntuのバックアップする

公式のドキュメントによると、バックアップの方法としては、

  1. Install Bacula
  2. Install rsnapshot
  3. Backup with shell scripts

の3つの方法があるらしい。

一般的な方法が分からんのだけど、

qiita.com

⇧ 上記サイト様が、「3. Backup with shell scripts」の実例を情報公開してくれていたので、「3. Backup with shell scripts」でバックアップすることにしました。

実際の現場では、有識者の方にお任せしましょう。

teratail.com

⇧ 参考サイト様のコマンドだと、圧縮ファイル名が、「p」になってしまうので、上記サイト様を参考に、コマンドは修正で。

あとは、「--exclude」の位置も駄目みたいなので、

shobon.hatenablog.com

⇧ 上記サイト様を参考に、コマンド修正。

バックアップを実行するシェルスクリプトを作成します。

で、バックアップのシェルスクリプトを実行。

バックアップを実行するシェルスクリプトを実行。

cd /home/[ユーザー名]/backup
sudo -u root bash ./backup.sh > /home/[ユーザー名]/backup.log

「tar: Removing leading `/' from member names」というエラーについては、

blog.myntinc.com

そもそも、エラーが出ようが出まいが、結果は正常に終了しているので、この警告レベルのエラーは無視してしまうという方法もあります。

[Server] tarコマンドで「tar: Removing leading `/ from member names」エラーが出た時の話-MYNT Blog

⇧ らしいです。

一応、バックアップが正常に終了したということで良いのだろうか?

⇧「backup_yyyyMMdd_hhmmss_sss.tar.gz」の圧縮ファイルができてはいるけども、圧縮結果の検証とかは、

teratail.com

何を確認したいかですね。

1.tar形式として正しいか? ⇒ tar tvfで十分
2.含まれるファイルリストが正しいか? ⇒ tar tvfで十分
3.個々のファイル内容が元のものと一致するか? ⇒ 展開が必要

追記:
--verifyオプションって、書いた直後に読み直すので、ディスクファイルに使ってもほとんど意味が無いです。
テープとかフロッピーみたいなメディアに出力するときに使います。

tarコマンドでtar.gzファイルを作成した際のファイルの整合性確認

アーカイブに含まれるメタデータ (ファイルのモード、名前、サイズなど) の確認については、他の方のご回答の通り、tar tvftar dfで足りると思います。

tarコマンドでtar.gzファイルを作成した際のファイルの整合性確認

⇧ だそうです。

tar -tvzf backup_20230730_141608_237.tar.gz

圧縮が正常に行われたということで良いのかな?

バックアップを退避する

とりあえず、バックアップされたファイルは別サーバーに退避しておく。

WinSCPでダウンロードしました。(かなり時間かかります)

2時間半ぐらいかかったのかな。

 

Ubuntu 20.04 LTSからUbuntu 22.04 LTSへupgradeする

ネットの情報を見てる限りでは、OSのアップグレードで様々な不具合が発生するらしいので、実際にアップグレードする際は、対応時間の取れる時に実施するのが吉ですかね。

バックアップが正常に取れてると仮定して、漸くupgradeをすることができます。

アップデート内容を確認。

sudo apt update    

アップデートを実行。

sudo apt upgrade    

do-release-upgradeでupgradeする。

sudo do-release-upgrade

⇧ アップグレードされたようです。
とりあえず、Vulsで、脆弱性の検証してみました。

脆弱性は無い模様。

実際の現場の環境だと、いろいろインストールされてると思うから、アップグレードによる不具合が大量に出てくるんでしょうね。

何やら、

www.labohyt.net

⇧ 上記サイト様によりますと、sudo apt update でエラーが出るようになると...

アップグレード直後については、

⇧ エラーが出なかったので、事象を再現できず...

事象を再現できた際には、時間がある時に対応ですかね...

毎度モヤモヤ感が半端ない...

今回はこのへんで。