« | »

Weekly News/28 で紹介されていた Benjamin Weber のブログ記事より。

以下に紹介するアップグレード手順はある程度システムに精通している方を対象とした手順であり、完全に無保証です。実行される場合は自己責任で行ってください。また、必要なデータのバックアップをお忘れなく!

稼働中の openSUSE を新しいバージョンにアップグレードしようと思っても、現状では公式にサポートされた方法はありません。インストールメディアから起動してオプションでアップグレードを選択するという方法のみがサポートされています。とはいえ、稼働中のシステムをアップグレードすることは可能です。RPM のペイロード・フォーマットが bz2 から lzma に変更されたことに伴い 10.3 のシステムへ 11.0 の RPM をインストールすることができなくなったため、10.3 から 11.0 へのアップグレードは、これまでよりも難しくなっています。

以下がその方法の概要です。

  1. RPM を 11.0 で使われているものにアップグレードする

  2. 11.0 のすべてのパッケージマネジメントスタックをインストールする

  3. すべてのパッケージをアップグレードする

手順

アップグレードするための具体的なステップはシステムにより異なってきます。以下はあくまで一例です。

10.3 で使っていたすべてのリポジトリを無効にする。

mv /etc/zypp/repos.d /etc/zypp/repos.d.old

リポジトリのキャッシュを削除する。

rm /var/cache/zypp/zypp.db

openSUSE 11.0 のメインリポジトリを追加する。

zypper ar http://download.opensuse.org/distribution/11.0/repo/oss \
openSUSE110

openSUSE 11.0 の新しい RPM をインストールする。

64bit 版の場合

rpm -Uhv ‘http://download.opensuse.org/distribution/11.0/repo/oss/suse/x86_64/rpm-4.4.2-199.1.x86_64.rpm’

32bit 版の場合

rpm -Uhv ‘http://download.opensuse.org/distribution/11.0/repo/oss/suse/i586/rpm-4.4.2-199.1.i586.rpm’

11.0 のパッケージマネジメントスタックをインストールする。

zypper in zypper

インストールソースとして追加していたリポジトリがあるなら、それらの 11.0 対応リポジトリを追加する。(以下、例として nonoss と packman の 11.0 対応リポジトリを追加する場合)

zypper ar http://download.opensuse.org/distribution/11.0/repo/non-oss \
openSUSE110_NonFree

zypper ar http://packman.iu-bremen.de/suse/11.0/ packman

すべてのパッケージをアップグレード。この段階でいくつかのパッケージでベンダが変更されることや、いくつかの古いパッケージがなくなっていることを確認されます。

zypper ref
zypper dup

再起動します。

問題点

アップグレードの後、いくつか重要な問題が発生するようです。以下に例として紹介する2点については、いずれもアップデートされた設定ファイルが自動では上書きされず、自前で編集した設定ファイルがなくなってしまっていたために起こる問題でした。

Networkmanager が、接続後すぐに切断してしまう。これは、古い dhclient の設定ファイルがなくなっていたことに起因していました。これについては以下の通り対処します。

mv /etc/dhclient.conf.rpmnew /etc/dhclient.conf

openSUSE updater がバックエンドを見つけ出せない。これは、古い zypp の設定ファイルがなくなっていたことに起因していました。これについては以下の通り対処します。

mv /etc/zypp/zypp.conf.rpmnew /etc/zypp/zypp.conf

アップグレードに伴い設定ファイルが欠落すると、予期せぬ箇所での不具合がを引き起こされます。アップグレード後何らかの問題が確認された場合、ど の設定ファイルを見ればいいのか、どう修復すればいいのか見当がつかないようでしたら、上記手順でのアップグレードは止めておいた方が無難かもしれませ ん。その点はどうぞご承知置きください。

コメント/トラックバック

コメント

  1. Puckwings - 2008/07/17 21:44

    紹介された方法でアップグレードを試してみました。

    「11.0 のパッケージマネジメントスタックをインストールする。」

    # zypper in zypper

    でフリーズする問題に躓きましたので,代わりに

    # rpm -Uhv –force –nodeps http://download.opensuse.org/distribution/11.0/repo/oss/suse/i586/satsolver-tools-0.9.2-1.1.i586.rpm http://download.opensuse.org/distribution/11.0/repo/oss/suse/i586/libzypp-4.26.4-1.1.i586.rpm http://download.opensuse.org/distribution/11.0/repo/oss/suse/i586/zypper-0.11.6-4.1.i586.rpm

    で依存性無視して強制的に更新。おすすめはしません。
    後は紹介されたフロー通り。今回の手元の環境では約800MB,一晩(寝てしまった・・・)のダウンロードでインストール完了しました。

    Dolphin のパッケージ名が10.3と11.0で変わっているので,別途インストールする必要がありました。

    私の環境では上記「問題点」で指摘されている問題はなかったので,やはり環境ごとに差が出るのでしょうか?
    まだ気づいていない他の問題点があるかもしれません。
    やはり推奨はクリーン・インストールだと思います。

    環境:SONY VGN-G1 with openSUSE 10.3 to 11.0
    外部ソフト:atokx2

  2. nachtfalterの日記 - 2008/11/15 16:31

    [openSuSE][Linux]10.3から11.0へのアップグレード(続き)

    参考にした記事:http://blog.geeko.jp/?s=10.3 # 一部転載させていただきました。長いので切る。 10.3 で使っていたすべてのリポジトリを無効にする。 # mv /etc/zypp/repos.d /etc/zypp/repos.d.old リポジト…