Debian Upgrade · 2 min read · Dec 05, 2025

Debian Lenny (Debian 5.0) を Squeeze (Debian 6.0) にアップグレードする方法 (Xen VPS 上)

Debian Lenny (Debian 5.0) を Squeeze (Debian 6.0) にアップグレードする方法 (Xen VPS 上)

このチュートリアルでは、Xen ベースの仮想プライベートサーバー (VPS) 上の Debian Lenny (Debian 5.0) インストールを Squeeze (Debian 6.0) にアップグレードする方法を示します。これには、カーネルの更新、依存関係に基づくブートシーケンス、および UUID への変換が含まれます。

通常の Debian の方法で apt-get dist-upgrade を使用すると、システムが起動しなくなる可能性が高いです。これは主に grub の更新が失敗するためです。

制限: grub を更新することはできません。代わりに古い grub バージョンを使用し続ける必要があります。このチュートリアルでは、これを達成する方法を示します。この問題の解決策を見つけた方は、コメントを投稿してください。ただし、コメントや批判はいつでも歓迎です!

免責事項: このハウツーのすべてのステップは慎重にテストされていますが、これがあなたにとって機能する保証はありません! 自己責任で行ってください。プロダクション環境で試さないでください。手順を元に戻すためにシリアルコンソールにアクセスできない場合は試さないでください。また、データをバックアップするか、事前にスナップショットを作成してください! システムが起動しなくなる可能性があります!

0 一部のオプションステップ

以下のステップは Squeeze へのアップグレードには必要ありませんが、いくつかの方には役立つかもしれません。

0.1 スワップファイルの追加 (オプション)

私のように RAM とスワップスペースが非常に少ない VPS を運営している方には、スワップスペースを拡張することが良いか、あるいは必要かもしれません。

以下のコマンドは、ルートディレクトリに swapfile という名前の 2 GB のスワップファイルを作成し、フォーマットしてアクティブにします:

dd if=/dev/zero of=/swapfile bs=1024 count=2097152 && mkswap /swapfile && swapon /swapfile

これにより、ブート時にスワップファイルを自動的にアクティブにするために /etc/fstab に行が追加されます: echo “/swapfile none swap sw 0 0” >> /etc/fstab

0.2 シェルプロンプトをカラーにする (オプション)

このコマンドは、次回のログイン時に root@host: /etc # のようなカラーのプロンプトを提供するために /root/.bashrc にエントリを追加します:

echo "PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '" >>/root/.bashrc

1 Debian Squeeze (Debian 6.0) へのシステムアップグレード

すべてのステップを注意深く実行していることを確認してください。このハウツーを最後まで完了するまで、他のことは何もしないでください。特に、終了するまで再起動しないでください!

1.1 sources.list の更新

/etc/apt/sources.list に以下のエントリを使用します:

vi /etc/apt/sources.list

us をあなたの近くのミラーに置き換えてください。これらの行の後に必要に応じて追加のソースを含めることができます。

#squeeze
deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free
# squeeze release replacement mirrors for volatile sources
deb     http://mirrors.kernel.org/debian squeeze-updates main contrib
deb-src http://mirrors.kernel.org/debian squeeze-updates main contrib
#security-squeeze
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

実行します

apt-get update

1.2 ロケールのインストール / 更新 / 設定

このステップを事前に行い、ロケールを設定できないという煩わしいエラーメッセージを取り除きます。インストール中に $LC_* と $LANG が正しいことを確認してください:

apt-get install locales

GNU libc ライブラリのアップグレードのために再起動するサービス:
[…]

``` dpkg-reconfigure locales ``` 使用に適したロケールを選択します。この例では en_DK.UTF-8 です: 生成されるロケール: [...] [*] en_DK.UTF-8 [...] デフォルトロケールを設定します: システム環境のデフォルトロケール: en_DK.UTF-8 #### 1.3 grub の自動アップグレードを防ぐ 以下のコマンドは、apt を設定して grub、grub-common、および grub-pc (インストールされている場合) を アップグレードしない ようにします: ``` echo "grub hold" | dpkg --set-selections && echo "grub-common hold" | dpkg --set-selections && echo "grub-pc hold" | dpkg --set-selections ``` #### 1.4 dist-upgrade の実行 これで、実際のアップグレードをダウンロードしてインストールする準備が整いました。最後の更新に応じて、ダウンロードしてインストールするものがかなりあります。インストール中にいくつかの重要な質問がされるので、すべてを注意深く読んでください。実行します: ``` apt-get dist-upgrade ``` ステップ 1.3 からすべてが正常に動作していることを確認するために、これらの行を確認してください: アップグレードを計算中... 完了 次のパッケージが削除されます: [...] 次の新しいパッケージがインストールされます: [...] 次のパッケージが保持されます: grub grub-common 次のパッケージがアップグレードされます: [...] 続行しますか [Y/n]? Y dash を使用するかどうかはお好みで、アップグレードプロセスには影響しません: デフォルトのシステムシェルとして dash を使用しますか (/bin/sh)? PAM ライブラリのアップグレードのために再起動するサービス: [...] 依存関係に基づくブートシーケンスに移行します: レガシーブートシーケンスを依存関係に基づくシーケンスに移行しますか? デバイス名の代わりに UUID を使用します: システム設定内のディスクデバイス ID を更新しますか? ディスクデバイス ID に対する設定変更を適用しますか? #### 1.5 /etc/fstab の編集 ``` vi /etc/fstab ``` /etc/fstab から /dev/pts と /dev/shm のコメントを外してください。そうしないと、システムが起動しなくなります: ``` [...] # none /dev/pts devpts gid=5,mode=620 0 0 # none /dev/shm tmpfs defaults 0 0 [...] ``` #### 1.6 grub の設定 最後に、デバイス名の代わりに UUID を使用するように grub を設定する必要があります。 ``` cat /etc/fstab ``` / パーティションの UUID を見つけてコピーします。重要: この例の UUID ではなく、あなたの fstab から UUID をコピーしてください: ``` [...] # /dev/sda1 / ext3 defaults 1 1 UUID=your-uuid-here / ext3 defaults 1 1 [...] ``` 現在の menu.lst をバックアップします: ``` mv /boot/grub/menu.lst /boot/grub/menu.lst.backup ``` menu.lst を再構築します: ``` update-grub ``` /boot/grub/menu.lst を編集します: ``` vi /boot/grub/menu.lst ``` すべての root=/dev/... の出現を root=UUID=... に置き換え、あなたの /etc/fstab からコピーした UUID 文字列を使用します: ``` [...] ## ## End Default Options ## title Debian GNU/Linux, kernel 2.6.32-5-xen-amd64 root (hd0) kernel /boot/vmlinuz-2.6.32-5-xen-amd64 root=UUID=your-uuid-here ro initrd /boot/initrd.img-2.6.32-5-xen-amd64 title Debian GNU/Linux, kernel 2.6.32-5-xen-amd64 (single-user mode) root (hd0) kernel /boot/vmlinuz-2.6.32-5-xen-amd64 root=UUID=your-uuid-here ro single initrd /boot/initrd.img-2.6.32-5-xen-amd64 [...] ``` UUID= という単語の後に番号が続くことを確認してください。UUID 自体だけではありません! #### 1.7 クリーンアップ (オプション) 自動的にインストールされ、もはや必要ないパッケージを削除することができます。もう必要ないと確信している場合は: ``` apt-get autoremove ``` ### 2 新しいシステムに再起動 上記のすべてのステップを注意深く実行し、エラーメッセージが表示されなかった場合は、今すぐ新しいシステムに再起動する時です。もう一度言いますが、あなたのシステムが起動する保証はありませんが、幸運を祈ります! ;-) すべてが失敗した場合は、VPS のシリアルコンソールエミュレーションにアクセスし、手順を元に戻すか、バックアップまたはスナップショットを復元する必要があります! ``` reboot ``` Debian 6.0 Squeeze を楽しんでください! コメントや批判は歓迎です!
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。