2023-12-03

【備忘録】Linux コンテナのアップグレード

Google ChromeOS は、Google が設計した OS です。Linux カーネルをベースにしており、Google Chrome ウェブブラウザをメインのユーザインタフェース (UI) として使用しています。そのため、ChromeOS は主にウェブアプリケーションをサポートしています。ChromeOS 上で Linux の仮想環境(Linux コンテナ)を利用できます。

Chromebook の Linux コンテナは現在のところ Debian 11 が採用されていますが、Debian プロジェクトは既に Debian 12 をリリースしています。新しい Debian 12 を使った方が都合の良い場合があるので、手作業で Linux コンテナをアップグレードしてみました。

今回のテーマ

Chromebook の Linux コンテナの Debian 11 を Debian 12 へアップグレードする。

参考サイト [1] の情報をもとにして何度も確認した上でまとめていますが、それでも非公式なやり方に過ぎませんので、本記事に従ってアップグレードする際には、自己責任において実施するようお願いいたします。

下記の ARM 系プロセッサを搭載した、古い Chromebook で動作確認をしています。

Chromebook: Lenovo Ideapad Duet (MediaTek P60T)
Google ChromeOS 119.0.6045.158 (Official Build)  (32 bit)

Debian 11 から 12 へのアップグレード

Chromebook で Linux コンテナを用意します。

まず、下記のコマンドを実行して Debian 11 (bullseye) のシステム全体を最新の状態に更新します。

~$ sudo apt update && sudo apt dist-upgrade -y

次に下記の2つのファイルの内容で、文字列 bullseyebookworm に置き換えます。

  • /etc/apt/sources.list.d/cros.list
  • /etc/apt/sources.list

管理者権限 (sudo) で vi (vim) エディタを起動して、それぞれのファイルを編集して保存します。赤字の部分が置換した部分です。

~$ sudo vi /etc/apt/sources.list.d/cros.list
...
...
~$ cat /etc/apt/sources.list.d/cros.list
deb https://storage.googleapis.com/cros-packages/119 bookworm main
deb https://deb.debian.org/debian bookworm-backports main
~$ sudo vi /etc/apt/sources.list
...
...
~$ cat /etc/apt/sources.list
# Generated by distrobuilder
deb https://deb.debian.org/debian bookworm main
deb https://deb.debian.org/debian bookworm-updates main
deb https://deb.debian.org/debian-security/ bookworm-security main

再び、下記のコマンドを実行してシステムを最新の状態に更新します。これで Debian 12 (bookworm) に更新されるはずです。

~$ sudo apt update && sudo apt dist-upgrade -y

しばらくして、更新処理が終わります。

一旦「ターミナル」(端末エミュレータ)を閉じて、あらたに「ターミナル」を起動して、hostnamectl コマンドで、OS が Debian 12 (bookworm) に更新されていることを確認します。

以下のコマンドで、依存関係がなくなって不要になったパッケージをアンインストールしておきます。

~$ sudo apt autoremove -y

スクリプトで自動化

Linux コンテナの使い方は人それぞれですが、自分の場合、ほとんど使い捨てに近く、結構な頻度で Linux コンテナを作り直します。簡単に Debian をアップグレードできましたが、毎回同じことをするのは、やはり面倒です。

前述のアップグレードの手順は、レポジトリファイルの文字列の置換がメインですので、スクリプトを用意しておけば1コマンドでアップグレードが出来てしまいます。

以下のスクリプトでアップグレードをできるようにしました。

~$ sudo sh upgrade_debian.sh

Linux のパワーユーザーであればきっと sed で置換するのでしょうが、使い慣れている Python で置換する処理を作りました。😅

upgrade_debian.sh

Python スクリプトでレポジトリファイルの文字列 bullseyebookworm に置き換えています。

update_info.sh

参考サイト

  1. Update Debian Bullseye (11)to Bookworm (12) in ChromeOS | by Perdana Hadi Sanjaya | Medium [2023-08-21]

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ オープンソースへ
にほんブログ村

オープンソース - ブログ村ハッシュタグ
#オープンソース



このエントリーをはてなブックマークに追加

0 件のコメント: