仗剑只为她

仗剑只为她

Debian12のアップグレードはできませんか? それなら、このスクリプトを使用してください。

前書き#

2023 年 6 月 10 日、Debian は正式に最新の安定版である Debian 12(コードネーム:bookworm)をリリースしました。Linux の愛好家として、私たちはそれを最初にアップグレードすることができません。

Debian 12 は Debian 11 と比べて多くのアップデートされたソフトウェアパッケージを含んでいます(前のバージョンの 67%以上)。個人的にはアップグレードできると感じますが、初期段階ではメインマシンでは使用しないでください。

準備作業#

物理サーバーでない限り、またはカスタマイズされたカーネルを使用していない KVM フレームワークの VPS やクラウドホストの場合、大規模なカーネルのアップグレードは Grub のロードに失敗する可能性があるため、重要なデータをバックアップすることを忘れないでください!

OpenVZ 6 および LXC フレームワークの VPS はアップグレードできません。なぜなら、彼らには独自のカーネルがないからです。

もう一度強調しますが、重要なデータをバックアップすることを忘れないでください!

自分がどのバージョンの Debian を使用しているかを確認するコマンド。

cat /etc/debian_version

# または
cat /etc/os-release

システムの更新#

インストールする前に、システムを更新してください。

apt update
apt upgrade -y
apt dist-upgrade -y
apt autoclean
apt autoremove -y

カーネルが更新された場合は、最新のカーネルを有効にするために再起動するか、直接アップグレードすることができます。

システムのアップグレード#

手動アップグレード#

まず、apt のソースを更新し、bullseye を bookworm に置き換えます:

sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*.list

Debian 12 以降のバージョンでは、Debian が配布できる非自由ファームウェアのバイナリパッケージ(non-free)は、Debian Archive の新しいコンポーネントである非自由ファームウェア(non-free-firmware)に移動されました。古いバージョンの Debian からアップグレードして、これらのファームウェアのバイナリファイルが必要な場合は、システム上の /etc/apt/sources.list を更新して、この新しいコンポーネントを使用する必要があります(出典):

sed -i 's/non-free/non-free non-free-firmware/g' /etc/apt/sources.list

デフォルトのシステムの apt ソースファイル /etc/apt/sources.list は次のようになります:

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware

deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware

国内のサーバーでは、deb.debian.org と security.debian.org を mirrors.tuna.tsinghua.edu.cn に置き換えることができます。

その後、再度システムを更新します:

apt update
apt upgrade -y
apt dist-upgrade -y

更新プロセス中に、一部のソフトウェアが自動的に再起動する必要があるかどうか、および一部のソフトウェアの設定ファイルを更新する必要があるかどうかを尋ねられます。自分の状況に応じて選択してください。旧い設定ファイルを使用する場合は、デフォルトで Enter キーを押すと、一般的に OpenSSH などのソフトウェアの更新時に表示されます。

apt-listchanges: News 画面で q を押して終了できます:

image

サービスを自動的に再起動するかどうかを尋ねるプロンプト:

再起動するかどうか

OpenSSH の設定ファイルを更新するかどうかを尋ねるプロンプト:

OpenSSH の設定ファイルを更新するかどうか

一部のソフトウェアの更新後、systemd のサービス設定が更新される場合があります。その場合は、systemctl daemon-reload コマンドを実行して設定を再読み込みできます。

次のエラーがアップグレード中に発生した場合:

Setting up dbus-daemon (1.14.6-1) ...
UUID file '/var/lib/dbus/machine-id' should contain a hex string of length 32, not length 0, with no other text
dpkg: error processing package dbus-daemon (--configure):
 installed dbus-daemon package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of dbus:
 dbus depends on dbus-daemon (= 1.14.6-1); however:
  Package dbus-daemon is not configured yet.

dpkg: error processing package dbus (--configure):
 dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.36-9) ...
Errors were encountered while processing:
 dbus-daemon
 dbus
E: Sub-process /usr/bin/dpkg returned an error code (1)

この空のファイル /var/lib/dbus/machine-id を削除してコマンドを再実行すれば、dbus のアップグレード時にこのファイルが自動的に生成されます。

rm -rf /var/lib/dbus/machine-id

更新後、不要なソフトウェアと依存関係を削除します:

apt autoclean
apt autoremove -y

そして、reboot コマンドを使用してシステムを再起動し、しばらくお待ちください。最新のシステムバージョンを確認します:

root@debian ~ # cat /etc/debian_version 
12.0
root@debian ~ # lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm
root@debian ~ # uname -a
Linux debian 6.1.0-9-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64 GNU/Linux

これで、最新の Debian 12 Bookworm とカーネルにアップグレードされました。

一括スクリプトを使用した自動アップグレード#

スクリプトの場所:Github

スクリプトコマンド:

bash <(curl -sSL https://raw.githubusercontent.com/wikihost-opensource/linux-toolkit/main/system-upgrade/debian.sh)

Debian 10 のシステムの場合、スクリプトを 2 回実行する必要があります。スクリプトは 1 回の実行で 1 つのバージョンのみをアップグレードします。

Debian 9からDebian 10にアップグレード
Debian 10からDebian 11にアップグレード
Debian 11からDebian 12にアップグレード

更新プロセス中に、一部のソフトウェアが自動的に再起動する必要があるかどうか、および一部のソフトウェアの設定ファイルを更新する必要があるかどうかを尋ねられます。自分の状況に応じて選択してください。旧い設定ファイルを使用する場合は、デフォルトで Enter キーを押すと、一般的に OpenSSH などのソフトウェアの更新時に表示されます。詳細については、手動インストールのセクションを参照してください。

最後に#

みなさん、楽しんでください。

以下の記事に感謝します:

  1. https://ybfl.xyz/sites/258.html
  2. https://sysin.org/blog/debian-12/
  3. https://u.sb/debian-upgrade-12/

湖上西風斜日,荷花落盡紅英

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。