1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL2上のUbuntuを安全にアップデートした記録【初心者向け】

1
Last updated at Posted at 2026-05-16

目次


はじめに

Linuxでは、権限昇格系の脆弱性が見つかることがあります。

権限昇格とは、通常ユーザーの権限しか持っていない状態から、何らかの脆弱性を悪用して管理者権限に近い操作ができてしまうような問題です。

今回は、WSL2上で使用しているUbuntu環境について、セキュリティ更新を適用するためにアップデート作業を行いました。

この記事では、実際に確認したコマンド、操作順、確認ポイント、躓いた点を初心者向けにまとめます。


環境

  • Windows 11
  • WSL2
  • Ubuntu 24.04 LTS
  • PowerShell 7
  • Docker / Laravel Sail 学習環境あり

Ubuntuのバージョン確認結果です。

ubuntu-version-check.png

WSL本体のバージョン確認結果です。

wsl-version-check.png


今回やったこと

今回実施した作業は以下です。

  1. Ubuntuのバージョン確認
  2. WSL本体のバージョン確認
  3. WSL本体のアップデート
  4. Ubuntuのパッケージ一覧更新
  5. 更新可能なパッケージの確認
  6. Ubuntuのパッケージ更新
  7. 不要パッケージの確認・削除

1. Ubuntuのバージョン確認

Ubuntu側で以下を実行しました。

lsb_release -a

実行結果では、Ubuntu 24.04 LTS 系であることを確認できました。

Description:    Ubuntu 24.04.4 LTS
Release:        24.04
Codename:       noble

No LSB modules are available. という表示も出ましたが、これは異常ではありません。


2. WSL本体のバージョン確認

Windows側のPowerShellで以下を実行しました。

wsl --version

WSL本体やカーネルのバージョンを確認できます。

wsl-version-check.png

Ubuntuの更新とWSL本体の更新は別物です。

  • Ubuntu側の更新:apt update / apt upgrade
  • WSL本体の更新:wsl --update

という違いがあります。


3. WSL本体のアップデート

Windows側のPowerShellで以下を実行しました。

wsl --update

wsl-update-result.png

今回は、WSLがバージョン 2.7.3 に更新されました。

WSL本体の更新では、WSLの機能やLinuxカーネル側の更新が行われます。


4. Ubuntuのパッケージ一覧を更新

Ubuntu側で以下を実行しました。

sudo apt update

ubuntu-apt-update-result.png

このコマンドは、実際にパッケージを更新するのではなく、更新可能なパッケージ一覧を取得するコマンドです。

実行結果に以下のような表示が出ました。

45 packages can be upgraded.

これは、45個のパッケージに更新があるという意味です。


5. 更新可能なパッケージを確認

sudo apt update の実行後、更新可能なパッケージの中身を確認します。

apt list --upgradable

このコマンドを使うと、どのパッケージに更新があるのかを事前に確認できます。

sudo apt update の結果に以下のような表示が出た場合でも、

45 packages can be upgraded.

この時点ではまだ実際の更新は行われていません。

そのため、sudo apt upgrade を実行する前に、apt list --upgradable で更新対象を確認しておくと安心です。


6. Ubuntuのパッケージを更新

次に以下を実行しました。

sudo apt upgrade

ubuntu-apt-upgrade-confirm.png

ここで重要なのは、すぐに Y を押さず、更新内容を確認することです。

見るポイントは以下です。

確認箇所 今回の表示 意味
The following packages will be upgraded: libgnutls30t64 rsync 更新されるパッケージ
2 upgraded 2件 更新される件数
0 newly installed 0件 新しく追加されるパッケージはない
0 to remove 0件 削除されるパッケージはない
1 not upgraded 1件 今回更新されないパッケージがある
Need to get ... 0 B/1445 kB ダウンロード容量
Do you want to continue? [Y/n] 続行確認 Y で更新を進める

今回は以下のように表示されました。

2 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

特に重要なのは、以下の2点です。

0 newly installed
0 to remove

新しく追加されるパッケージはなく、削除されるパッケージもありませんでした。

また、以下の表示から、今回の更新がセキュリティ更新であることも確認できました。

2 standard LTS security updates

そのため、問題なさそうだと判断し、Y を入力して更新を進めました。

なお、以下のように snapd は今回更新されませんでした。

The following upgrades have been deferred due to phasing:
  snapd

これはUbuntuの段階的配信によるもので、今回はそのまま進めました。


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

最後に、不要パッケージが残っていないか確認しました。

sudo apt autoremove

実行結果です。

ubuntu-apt-autoremove-result.png

今回は以下のように表示されました。

0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

特に重要なのは以下です。

0 to remove

これは、現在不要になっているパッケージが存在しないことを意味します。

そのため、今回削除されるパッケージはありませんでした。

また、

1 not upgraded

は、前の手順で確認した snapd の段階的配信による保留分です。

異常ではなく、Ubuntuの通常動作です。


私が躓いた点

1. sudo が片方にしか効いていなかった

最初に以下のように実行しました。

sudo apt update && apt upgrade -y

一見問題なさそうに見えますが、これは後半の apt upgrade -ysudo が付いていません。

そのため、以下のようなエラーになりました。

E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (...), are you root?

正しくは以下です。

sudo apt update && sudo apt upgrade -y

ただし、今回は更新内容を確認したかったため、最終的には -y なしで実行しました。

sudo apt update
sudo apt upgrade

2. apt updateapt upgrade の違い

最初は、apt update だけで更新されると思っていました。

しかし実際には役割が違います。

コマンド 役割
sudo apt update 更新可能なパッケージ一覧を取得する
sudo apt upgrade 実際にパッケージを更新する

つまり、apt update の後に apt upgrade が必要です。


3. -y を付けるか迷った

-y を付けると、確認なしで自動的に Yes として進みます。

sudo apt upgrade -y

学習環境や本番環境では、削除対象や更新対象を確認したい場面があります。

そのため今回は、以下のように -y なしで実行しました。

sudo apt upgrade

初心者のうちは、確認画面を見てから Y を入力する方が安全だと感じました。


4. autoremove-y なしの方が安心だった

不要パッケージ削除も、以下のように -y なしで実行しました。

sudo apt autoremove

削除対象を確認してから進められるためです。

今回は 0 to remove だったので、削除対象はありませんでした。


今回使ったコマンドまとめ

lsb_release -a

Ubuntuのバージョン確認。

wsl --version

WSL本体のバージョン確認。

wsl --update

WSL本体の更新。

sudo apt update

Ubuntuのパッケージ一覧更新。

apt list --upgradable

Ubuntuの更新対象の一覧表示。

sudo apt upgrade

Ubuntuのパッケージ更新。

sudo apt autoremove

不要パッケージの確認・削除。


どのくらいの頻度で更新すればよいのか

今回調べた中で、Ubuntu や WSL 環境は、定期的にセキュリティ更新を適用することが重要だと分かりました。

ただし、毎日大型アップデートをする必要があるわけではありません。

学習環境や個人開発環境であれば、以下くらいが現実的だと思います。

  • sudo apt update
  • sudo apt upgrade
  • wsl --update

を週1回程度確認する。

特に Docker、Composer、npm などを使う環境では、セキュリティ修正が入ることもあるため、定期的な更新は大切だと感じました。


まとめ

今回、WSL2上のUbuntu環境でセキュリティ更新のためにアップデート作業を行いました。

学んだことは以下です。

  • apt update は一覧更新
  • apt upgrade は実際の更新
  • sudo&& の後ろにも必要
  • -y なしなら更新内容を確認してから進められる
  • autoremove は不要になった依存パッケージの整理に使う
  • Ubuntuの更新とWSL本体の更新は別物

Linuxのアップデートは、コマンドを丸暗記するよりも、何を確認してから進めるかが大切だと感じました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?