アップグレード後のチェックリスト
Warning
26.10: rc 状態の OpenSSH パッケージを一括パージしないでください。 置換パッケージはまだ古い構成を使用している可能性があり、パージすると SSH が壊れる可能性があります。 26.10 既知の問題 を確認し、リモート メンテナンスの前に回復アクセスを保持します。
システムのアップグレードが完了し、システムが再起動したら、このチェックリストの項目ごとに従って、すべてのサービスと機能が適切に動作していることを確認します。
1. 基本的なシステムの検証
バージョン情報の確認
# Confirm system version
lsb_release -a
cat /etc/os-release
# Confirm kernel version
uname -r
# Confirm architecture
uname -m
dpkg --print-architectureシステムの起動を確認する
# View boot time
uptime
systemd-analyze
# Check for errors during boot
systemd-analyze blame
journalctl -b -p err
# Check dmesg for errors
dmesg --level=err,warn | tail -302. パッケージ管理チェック
潜在的なパッケージの問題を修正する
# Check for broken packages
sudo dpkg --audit
# Fix broken dependencies
sudo apt --fix-broken install
# Complete any interrupted configuration
sudo dpkg --configure -a
# Check for held-back packages
apt list --upgradable完全なアップデート
# Update package lists and install remaining updates
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y古いパッケージをクリーンアップする
# Remove packages that are no longer needed
sudo apt autoremove --purge -y
# Clean package cache
sudo apt clean
# View installed old kernels
dpkg --list | grep linux-image | grep -v $(uname -r)
# Old kernels will be handled by autoremove; you can also remove them manually
# sudo apt purge linux-image-x.x.x-xx-generic3. サービス状況の確認
サービス実行ステータスの表示
# Check for failed services
systemctl --failed
# If there are failed services, view details
# systemctl status failed-service-name
# journalctl -u failed-service-name
# View all running services
systemctl list-units --type=service --state=runningアップグレード前のサービスリストとの比較
# If you saved the service list before upgrading
diff <(cat /backup/services-running-*.txt | awk '{print $1}' | sort) \
<(systemctl list-units --type=service --state=running | awk '{print $1}' | sort)共通サービスチェック
# SSH
sudo systemctl status ssh
ssh localhost
# Web server
sudo systemctl status nginx 2>/dev/null || sudo systemctl status apache2 2>/dev/null
curl -I http://localhost
# Database
sudo systemctl status mysql 2>/dev/null || sudo systemctl status postgresql 2>/dev/null
# Docker
sudo systemctl status docker
docker ps
# Check all auto-start services
systemctl list-unit-files --state=enabled --type=service4. ネットワークチェック
基本的なネットワーク接続
# Check network interfaces
ip addr
# Check routing table
ip route
# Check DNS resolution
resolvectl status 2>/dev/null || cat /etc/resolv.conf
dig ubuntu.com +short
nslookup ubuntu.com
# Test external connectivity
ping -c 3 8.8.8.8
ping -c 3 ubuntu.com
# Check listening ports
ss -tlnpネットワークの変更を比較する
# Check Netplan configuration
cat /etc/netplan/*.yaml
# Confirm network management tool
systemctl status systemd-networkd 2>/dev/null
systemctl status NetworkManager 2>/dev/nullファイアウォール
# Check UFW status
sudo ufw status verbose
# Confirm rules are intact
sudo ufw status numbered5. ストレージとファイルシステム
# Check disk space
df -h
# Check inode usage
df -i
# Check for filesystem errors
sudo dmesg | grep -i "ext4\|xfs\|btrfs" | grep -i error
# Check LVM status (if using LVM)
sudo lvs
sudo vgs
sudo pvs
# Check mount points
mount | column -t
cat /etc/fstab6. セキュリティチェック
SSH の構成
# Confirm SSH configuration was not overwritten
sudo sshd -t
grep -E "^(PermitRootLogin|PasswordAuthentication|Port)" /etc/ssh/sshd_config
grep -rE "^(PermitRootLogin|PasswordAuthentication|Port)" /etc/ssh/sshd_config.d/
# Confirm custom SSH configuration is still in effect
sudo systemctl restart sshユーザーと権限
# Check user list
cat /etc/passwd | grep -v nologin | grep -v /bin/false
# Check sudo permissions
sudo cat /etc/sudoers.d/*
# Check SSH authorized keys
cat ~/.ssh/authorized_keys自動セキュリティ更新
# Check auto-update configuration
cat /etc/apt/apt.conf.d/20auto-upgrades
cat /etc/apt/apt.conf.d/50unattended-upgrades
# Ensure unattended-upgrades is running
sudo systemctl status unattended-upgrades7. 申請内容の確認
ウェブアプリケーション
# Check web server configuration syntax
sudo nginx -t 2>/dev/null
sudo apache2ctl configtest 2>/dev/null
# Check PHP version and modules (if using PHP)
php -v
php -m
# Check SSL certificates
sudo certbot certificates 2>/dev/nullDocker コンテナー
# Check Docker service
docker info
# Check running containers
docker ps
# Check stopped containers
docker ps -a --filter "status=exited"
# Restart Docker Compose projects
cd /path/to/project && docker compose up -d
docker compose psデータベース
# MySQL/MariaDB
mysql -u root -p -e "SHOW DATABASES;"
mysql -u root -p -e "SELECT VERSION();"
# PostgreSQL
sudo -u postgres psql -c "SELECT version();"
sudo -u postgres psql -l8. サードパーティのソースと PPA
無効なソースを確認する
# Third-party sources disabled during the upgrade
ls /etc/apt/sources.list.d/*.distUpgrade 2>/dev/null
# View currently active sources
apt-cache policy | head -30
grep -r "^Types:" /etc/apt/sources.list.d/*.sources 2>/dev/null
grep -r "^deb " /etc/apt/sources.list.d/*.list 2>/dev/null必要なサードパーティソースを復元する
# Restore after confirming the source supports 26.04
# For example, restoring the Docker source
# sudo mv /etc/apt/sources.list.d/docker.list.distUpgrade /etc/apt/sources.list.d/docker.list
# Or re-add
# sudo add-apt-repository ppa:example/ppa
# Update sources
sudo apt update9. スケジュールされたタスク
# Check user cron
crontab -l
# Check system cron
cat /etc/crontab
ls /etc/cron.d/
ls /etc/cron.daily/
ls /etc/cron.weekly/
# Check systemd timers
systemctl list-timers --all10. ログとモニタリング
アップグレードログを確認する
# Upgrade log directory
ls -la /var/log/dist-upgrade/
# View main log
cat /var/log/dist-upgrade/main.log | grep -E "(ERROR|WARNING)"
# View APT log
cat /var/log/dist-upgrade/apt.log | tail -50ログのクリーンアップ
# Clean old logs to free space
sudo journalctl --vacuum-time=7d
sudo journalctl --vacuum-size=500Mチェックリストの概要
- システムバージョンは 26.04 LTS として確認されました
- 壊れたパッケージや保留されたパッケージはありません
- すべての重要なサービスは正常に実行されています
- ネットワーク接続は正常です (内部および外部)
- ファイアウォールルールはそのままです
- ディスク容量は十分です
- SSH リモート アクセスが機能する
- Web アプリケーションは正常に応答しています
- データベースサービスは正常です
- Docker コンテナーは正常に実行されています
- スケジュールされたタスクは機能しています
- 自動セキュリティ更新が有効になっています
- 必要に応じて復元されるサードパーティのソース
- 古いカーネルと不要なパッケージがクリーンアップされました
- アップグレード ポリシーが
ltsに設定されました
# Final confirmation
grep Prompt /etc/update-manager/release-upgrades
# Should output: Prompt=lts