2012年4月29日日曜日

Ubuntu12.04にアップグレードする

Ubuntu12.04にアップグレードする

目標

仮想マシン上のUbuntu10.04や10.10を、コマンドラインで、12.04にアップデートする

 

だいたいの流れ

  • バックアップ
  • 必要なアップデートなどをする
  • 不要なカーネルなどを消して空きスペースを確保
  • grubのインストール、アップデートをしておく
  • インストール中の質問 `/etc/updatedb.conf' の置き換えの正解は、新しいものに置き換える

 

アップグレード前の事前準備

とりあえず、何はともあれバックアップ。 大事なことだからもう一度言います。

バックアップをとる。

/etc/apt/sources.listを編集し、jpリポジトリを見るようにする

$ sudo vi /etc/apt/sources.list

viで置換

: %s/us.archive/us.archive/g

まだインストールしていなければ、update-manager-coreをインストールする

$ sudo apt-get install update-manager-core

現在のバージョンで使用できるアップデートは全て適応しておく

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade

最新と一世代前以外のkernelを削除

$ dpkg -l | grep linux-image
$ sudo apt-get remove --purge linux-image-2.6.31-14-generic
$ sudo apt-get remove --purge linux-image-2.6.32-21-server
$ sudo apt-get remove --purge linux-image-2.6.32-36-server
$ sudo apt-get remove --purge linux-image-2.6.32-37-server
$ sudo apt-get remove --purge linux-image-2.6.32-41-server
$ sudo apt-get remove --purge linux-image-2.6.35-32-server 
$ sudo apt-get remove --purge linux-image-2.6.38-14-server 

ディスクの確認

$ sudo fdisk -l

fdisk -l の 結果 例

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *           1         973     7815591   83  Linux
/dev/sda2             974        1702     5855692+  83  Linux
/dev/sda3            1703        2431     5855692+  83  Linux
/dev/sda4            2432        2610     1437817+  82  Linux スワップ / Solaris

grubをインストール

$ sudo grub-install /dev/sda
$ sudo update-grub

 

通常リリースから12.04LTSの場合

/etc/update-manager/release-upgradesファイルの編集

$ sudo vi /etc/update-manager/release-upgrades

Promptが以下のようになっていることを確認

Prompt=normal

アップグレード開始

$ sudo do-release-upgrade

 

10.04LTSから12.04LTSの場合

/etc/update-manager/release-upgradesファイルの編集

$ sudo vi /etc/update-manager/release-upgrades

Promptが以下のようになっていることを確認

Prompt=lts

アップグレード開始 コマンドオプションが違うので注意

$ sudo do-release-upgrade -d

 

アップグレード中の注意

grub関連
インストール後の再起動で、grubプロンプトを出して止まっ場合の対処方法 未確認。

GRUB> ls
GRUB> set root=(hdX,Y)
GRUB> linux /vmlinuz root=/dev/sdZ ro
GRUB> initrd /initrd.img
GRUB> boot

たぶん、root=(hd0,1)で /dev/sda1になると思う。未確認。

/etc/updatedb.conf 関連
以下のメッセージが出たら注意

設定ファイル `/etc/updatedb.conf'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** updatedb.conf (Y/I/N/O/D/Z) [デフォルト=N] ? 

これは Y と答えて変更する。

 

参考

 

12.04へのアップグレード関係

https://wiki.ubuntu.com/PrecisePangolin/ReleaseNotes/UbuntuServer

 

grub関係

https://wiki.ubuntulinux.jp/UbuntuTips/Others/CustomizeGrub2

https://wiki.ubuntulinux.jp/UbuntuTips/Others/GrubShell

http://psychomotorcycle.blogspot.jp/2011/04/grub-no-loaded-kernel.html

http://liann.jp/wiki/index.php?Trouble%2FLinux%2F %E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%E5%BE%8CGRUB%E3%81%AE%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%81%8C%E5%87%BA%E3%82%8B

https://help.ubuntu.com/community/Grub2

http://aaron-kelley.net/blog/2011/04/grub-prompt-after-upgrade-to-ubuntu-11-04/

0 コメント: