手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 APT リポジトリとパッケージ更新 – proxy と更新方針を管理する

関連する記事

Ubuntu 26.04 のサーバー構築では、APT が正しく動くことが後続作業の前提になります。リポジトリ、proxy、CA 証明書、更新候補、保留パッケージ、再起動要否を確認してから、ミドルウェアや運用ツールの導入へ進みます。

この記事では、apt updateapt upgradeapt full-upgrade の違い、deb822 形式の sources、APT proxy、保留パッケージ、自動更新との関係、更新後確認を扱います。

APT の基本状態を確認する

まずパッケージインデックスを更新し、更新候補とリポジトリ優先度を確認します。ここで失敗する場合は、DNS、ネットワーク、proxy、CA、リポジトリ設定を先に切り分けます。

sudo apt update
apt list --upgradable
apt-cache policy
apt-cache policy bash systemd linux-generic

リポジトリ設定を確認する

Ubuntu 26.04 では deb822 形式の .sources ファイルを使う構成があります。/etc/apt/sources.list だけを見ると、実際に使われているリポジトリを見落とすことがあります。

find /etc/apt -maxdepth 3 -type f | sort
cat /etc/apt/sources.list 2>/dev/null || true
find /etc/apt/sources.list.d -maxdepth 1 -type f -print -exec sed -n '1,160p' {} \;

deb822 形式の sources を確認する

deb822 形式では TypesURIsSuitesComponentsSigned-By などが項目として分かれます。ミラー変更や内部リポジトリ追加時は、署名鍵の扱いも含めて確認します。

sed -n '1,200p' /etc/apt/sources.list.d/ubuntu.sources
apt-cache policy
sudo apt update

APT proxy を確認する

閉域環境や proxy 環境では、APT だけ専用 proxy 設定を持つ場合があります。インストール時の一時設定が残っていると、構築後に外部通信だけ失敗する原因になります。

grep -R "Acquire::http" /etc/apt/apt.conf.d/ || true
grep -R "Acquire::https" /etc/apt/apt.conf.d/ || true
apt-config dump | grep -E '^Acquire::(http|https)::Proxy'

APT proxy を設定する

APT proxy を明示する場合は、専用ファイルに分けて管理します。環境全体の proxy 変数とは別に、APT の取得経路を固定したい場合に使います。

sudo tee /etc/apt/apt.conf.d/90proxy >/dev/null <<'EOF'
Acquire::http::Proxy "http://proxy.example.local:8080/";
Acquire::https::Proxy "http://proxy.example.local:8080/";
EOF
sudo apt update
apt-config dump | grep -E '^Acquire::(http|https)::Proxy'

APT proxy を無効にする

proxy を使わない環境に戻す場合は、専用ファイルを退避または削除します。変更後は apt update で確認します。

sudo mv /etc/apt/apt.conf.d/90proxy /etc/apt/apt.conf.d/90proxy.disabled
sudo apt update
apt-config dump | grep -E '^Acquire::(http|https)::Proxy' || true

CA 証明書を確認する

内部 proxy や内部リポジトリが TLS を終端する場合は、システムが内部 CA を信頼している必要があります。APT エラーが証明書由来かどうかを確認します。

dpkg -l ca-certificates
update-ca-certificates --verbose
openssl s_client -connect archive.ubuntu.com:443 -servername archive.ubuntu.com </dev/null

upgrade と full-upgrade を使い分ける

apt upgrade は通常の更新に使い、パッケージ削除や依存関係の大きな変更が必要な場合は制限されます。apt full-upgrade は依存関係の解決のために削除を含む可能性があるため、実行前に候補を確認します。

sudo apt update
sudo apt upgrade --dry-run
sudo apt full-upgrade --dry-run

更新を実行する

dry-run の結果を確認したうえで、メンテナンス時間と再起動要否を考慮して更新します。

sudo apt upgrade
sudo apt full-upgrade

保留パッケージを管理する

カーネル、ミドルウェア、ドライバー、Kubernetes 関連パッケージなど、更新タイミングを制御したいものは apt-mark hold で保留できます。保留したまま忘れると更新が止まるため、一覧確認を運用に含めます。

apt-mark showhold
sudo apt-mark hold kubelet kubeadm kubectl
apt-mark showhold
sudo apt-mark unhold kubelet kubeadm kubectl

自動更新との関係を確認する

セキュリティ更新を自動適用する場合は unattended-upgrades と役割を分けます。手動更新では、現在の設定とログを確認し、自動更新の詳細は専用記事で扱います。

systemctl status unattended-upgrades.service --no-pager
sudo sed -n '1,220p' /etc/apt/apt.conf.d/50unattended-upgrades
sudo sed -n '1,120p' /etc/apt/apt.conf.d/20auto-upgrades
sudo tail -n 80 /var/log/unattended-upgrades/unattended-upgrades.log

再起動が必要か確認する

カーネル、systemd、libc などが更新された場合は、再起動が必要になることがあります。更新作業の最後に /var/run/reboot-required を確認します。

test -f /var/run/reboot-required && cat /var/run/reboot-required || true
test -f /var/run/reboot-required.pkgs && cat /var/run/reboot-required.pkgs || true
uname -r
dpkg -l 'linux-image*' | awk '/^ii/{print $2, $3}'

不要パッケージを確認する

autoremove は便利ですが、いきなり実行せず、まず dry-run で削除候補を確認します。古いカーネルや依存パッケージの扱いは、復旧方針とディスク容量を見て判断します。

sudo apt autoremove --dry-run
df -h /boot / 2>/dev/null || df -h /
dpkg -l | awk '/^rc/{print $2}'

更新後の状態を確認する

更新後は、APT の結果だけでなく、主要サービス、再起動要否、ログを確認します。Docker、Kubernetes、Nextcloud などを動かすサーバーでは、それぞれのサービス確認へ進みます。

systemctl --failed
journalctl -b -p err --no-pager
apt list --upgradable
test -f /var/run/reboot-required && cat /var/run/reboot-required || true

確認項目

  • sudo apt update が成功しているか。
  • 利用中の sources と署名鍵を確認しているか。
  • proxy が必要な環境で APT proxy が設定されているか。
  • proxy が不要な環境で古い APT proxy が残っていないか。
  • 保留パッケージを把握しているか。
  • 更新後の再起動要否と failed unit を確認しているか。

まとめ

Ubuntu 26.04 の APT 管理では、更新コマンドだけでなく、リポジトリ、proxy、CA 証明書、保留パッケージ、自動更新、再起動要否を合わせて確認します。APT が安定していると、サーバー構築と継続運用のトラブルを減らしやすくなります。

関連する記事
Ubuntu 26.04 APT リポジトリとパッケージ更新 – proxy と更新方針を管理する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る