🐧 Linux 総合学習プラットフォーム
Raspberry Pi セットアップ ・ 中級

パッケージの更新

OSを書き込んだ直後は、まずソフトウェアを最新の状態にするのが基本です。Raspberry Pi OS は Debian 系なので apt を使います。最初に sudo apt update でパッケージ一覧(どんな更新があるかの台帳)を取得し、続いて sudo apt full-upgrade で実際の更新を適用します。full-upgrade は通常の upgrade と違い、依存関係の都合で必要なら不要パッケージの入れ替えまで行うため、ラズパイでは推奨されます。

OSをmicroSDへ書き込んだ直後の状態は、一見すると新品でまっさらに思える。だが中身は、そのイメージが作られた時点のソフトウェア構成のまま止まっている。

公開からあなたの手元に届くまでの間に、不具合の修正やセキュリティの更新が積み重なっているのが普通だ。だから最初にやるべきことは決まってくる。ソフトウェア一式を最新に揃えることだ。

Raspberry Pi OS は Debian という系統をベースにしており、ソフトウェアの導入・更新・削除には apt というパッケージ管理コマンドを使う。

パッケージとは、プログラム本体・設定ファイル・ライブラリ・マニュアルなどをひとまとめにした配布単位のことだ。apt はこの単位でソフトを安全に出し入れし、依存関係(あるソフトが動くのに別のライブラリが要る、という関係)も自動で解決してくれる。

🔗
たとえapt は、信頼できる公式の商店から箱(パッケージ)を取り寄せる仕組み。中身がはっきりし、出し入れもきれいだ。

外部サイトから野良の実行ファイルを拾って手で置くのに比べ、どこから来た何が入っているかが明確で、更新も削除もきれいに行えるのが大きな利点だ。

📋 なぜ、いきなり更新せず「一覧」から始めるのか

更新は2段階で進める。最初に行うのが sudo apt update だ。

sudo apt update ……更新版の一覧(台帳)を配布元から取り直す。ここではまだ何もインストールされない。

これはソフトウェアを実際に更新するコマンドではない。「どのパッケージにどんな新しい版が出ているか」という台帳(パッケージ一覧)を配布元から取り直す作業である。

💡
ポイントupdate は台帳の取り直し、upgrade 系が実際の入れ替え。名前が似ているが、役割ははっきり別物だ。

手元の台帳が古いままだと、新しい版があることに気づけない。だから、必ずこちらを先に走らせる。

実行すると、登録された配布元(リポジトリ)に問い合わせて最新の一覧を取得し、最後に「N個のパッケージが更新可能です」のように、更新できる数を教えてくれる。システム全体に関わる操作なので管理者権限が必要で、先頭に sudo を付ける。

sudo apt update台帳(一覧)を取り直すまだ何も入れ替えないsudo apt full-upgrade実際に最新へ入れ替える追加・削除もして最新化必ず1.一覧を取り直す → 2.実際に入れ替える の順を守る

ここではまだ何もインストールされず、あくまで情報を新しくするだけ、という点を押さえておくと、次の段階との役割の違いがはっきりする。

名前が似ているうえに紛らわしいのだが、一覧を取り直すのが update、実際に新しい版へ入れ替えるのが次に説明する upgrade 系であり、この2語は役割がはっきり別物だ。

⬆ 台帳を新しくしたら、何で実際に入れ替えるのか

台帳を新しくしたら、続いて実際の更新を適用する。Raspberry Pi OS で推奨されるのは sudo apt full-upgrade だ。

sudo apt full-upgrade ……保留を残さず最新へ。必要なら不要パッケージの削除や入れ替えまで行う。Raspberry Pi OS の推奨。

通常の apt upgrade は、すでに入っているパッケージを新しい版に置き換えるだけで、その過程でパッケージの追加や削除が必要になる更新は保留する。

これに対し full-upgrade は、依存関係の都合で必要なら不要になったパッケージの削除や別パッケージへの入れ替えまで行い、保留を残さずに最新の状態へ持っていく。

Raspberry Pi OS はこの全体的な更新を前提に作られているため、中途半端な状態を避けられる full-upgrade が推奨される。

実行すると、何を更新し何を削除するかの内訳と、ダウンロードする容量が示され、「続行しますか? [Y/n]」と確認が出るので、内容を見て y で承認する。

問い合わせに自動で答えてスクリプト化したいときは sudo apt full-upgrade -y のように -y を付ける。だが、何が起きるか把握しないままの多用は避け、慣れるまでは内訳を一度目で確かめる習慣をつけると安全だ。

🚧 順番を飛ばすと、何を取りこぼすのか

つまずきapt update を飛ばしていきなり full-upgrade を走らせると、古い台帳のまま更新を取りこぼす。必ず update → full-upgrade の順で。

最も多いのは、apt update を飛ばしていきなり full-upgrade を走らせるパターンだ。台帳が古いままだと更新を取りこぼすので、必ず update → full-upgrade の順に実行する。

次に、sudo の付け忘れである。これらはシステム全体に影響するため管理者権限が必須で、付け忘れると権限エラーで止まる。

また、apt はインターネットからパッケージを取得するので、ネットワークにつながっていないと一覧の取得やダウンロードに失敗する。更新前に通信できているかを確かめておこう。

意外な落とし穴として、microSDの空き容量不足で更新が途中で止まることもある。

つまずき更新中に電源が抜けると、書き込みの途中でOSが壊れて起動しなくなる恐れがある。更新中は電源を安定させる。

さらに、更新中に電源が抜けると、書き込みの途中でOSが壊れて起動しなくなる恐れがある。更新中は電源を安定させ、勝手に切らないことが大切だ。

📦 同じ流儀で、個別のソフトも入れられるのか

apt は全体更新だけでなく、個別のソフトを入れるときにも同じ流儀で使う。

sudo apt update してから sudo apt install -y ibus-mozc ……一覧を更新してから install にパッケージ名を渡す。

たとえば日本語入力を入れるなら、まず sudo apt update で一覧を更新してから sudo apt install -y ibus-mozc のように install サブコマンドにパッケージ名を渡す。

新しいRaspberry Pi OS(Bookworm 以降)では日本語入力の土台が変わり、fcitx5-mozc(sudo apt install -y fcitx5-mozc)が使われることも増えている。導入後は再起動すると設定が反映される。

不要になったソフトは sudo apt remove パッケージ名 で削除できる。依存して引きずられた不要物の後始末は sudo apt autoremove でまとめて行える。

入れる・更新する・消すという操作のすべてが同じ apt に集約されている、と捉えると全体像が掴みやすくなる。

⚖ 更新は、いつでも正解なのか

更新は最初の一回で終わりではなく、運用中も定期的に行ってセキュリティを保つのが基本だ。

ただし、更新は常に正解とは限らない。新しい版でソフトの構成が変わり、連携している別のソフトや自作のプログラムが動かなくなることがあるからだ。

コツ本番機では、いきなり全更新せず、更新前にmicroSDの内容を別カードへ複製しておくと、もしもの時に元へ戻せる。

常時稼働させる本番のRaspberry Piでは、いきなり全更新をかけるのは避けたい。動作確認が済むまで更新を控えたり、更新前にmicroSDの内容を別カードへ複製してバックアップを取っておいたりすると、もしもの時に元へ戻せて安心だ。

なお、Raspberry Pi のファームウェアやカーネルといった本体寄りの更新も apt full-upgrade に含まれて入ってくることがあり、その場合は再起動して初めて効く。

日々の運用では「迷ったら sudo apt update して様子を見る」を起点に、更新の影響範囲を意識しながら Raspberry Pi OS を健全に保っていこう。

この項目に出てくる用語

Raspberry Pi OSらずべりーぱいおーえす
Raspberry Pi 向けの公式OS。Debian をベースにしている。

関連コマンド

apt updateapt full-upgrade

▶ 学習アプリでこの続きを学ぶ・演習する