このブログを検索

2012年4月6日金曜日

openSUSE 11.4 から 12.1 へバージョンアップ

今回のバージョンアップはコマンドからzypperを使ったバージョンアップです。
DVDによるGUIのバージョンアップではございません。
コマンドのほうが何かとパフォーマンスがいいのと、YaST2を使えば、GUIと変わらぬ操作性を保てますので、この頃はもっぱら、コマンドラインからの利用が多くなってます。
(サーバーとしてしか使ってないので、当然と言えば当然なのかもしれませんけど。。。)

さて、以前11.3から11.4に上げた時とほぼ同内容です。
http://niriakot.blogspot.jp/2011/06/opensuse-113114.html

稼働していたサービスは、
bind、apache2、samba、nagios、ssh、postgresql
ぐらいなので、事前にsnapshotでバックアップしてから、実行しています。
(ESXi 5.0上で稼働しています。)
なお、postgresqlは9.0から9.1.1になり、データのアップグレードをしなければいけないらしいです。
(pg_upgradeかpg_dumpでバージョンアップ後に実施。)
何も考えずに12.1に上げたら、postgresqlが9.1.1になっており、起動しなくて焦りました。
なので、postgresqlが書き換わってしまいますので、データディレクトリを別名にして保管しておくことをお勧めします。(mvでいいかと思いますが、試してません。)
他の上記のサービスは特に問題なく立ち上がりました。

さて、以下からがコマンドの羅列です。


[1.確認]
zypper lr -u

[2.追加]
server=http://download.opensuse.org
new_ver=12.1
zypper ar $server/update/$new_ver/ openSUSE-$new_ver-Update
zypper ar $server/debug/distribution/$new_ver/repo/oss/ openSUSE-$new_ver-Debug
zypper ar $server/debug/update/$new_ver/ openSUSE-$new_ver-Update-Debug
zypper ar $server/distribution/$new_ver/repo/non-oss/ openSUSE-$new_ver-Non-Oss
zypper ar $server/distribution/$new_ver/repo/oss/ openSUSE-$new_ver-Oss
zypper ar $server/source/distribution/$new_ver/repo/oss/ openSUSE-$new_ver-Source

zypper modifyrepo -er 'openSUSE-12.1-Update'
zypper modifyrepo -er 'openSUSE-12.1-Debug'
zypper modifyrepo -er 'openSUSE-12.1-Update-Debug'
zypper modifyrepo -er 'openSUSE-12.1-Non-Oss'
zypper modifyrepo -er 'openSUSE-12.1-Oss'
zypper modifyrepo -er 'openSUSE-12.1-Source'

zypper repos

[3.削除]
old_ver=11.4
zypper rr openSUSE-$old_ver-Debug
zypper rr openSUSE-$old_ver-Non-Oss
zypper rr openSUSE-$old_ver-Oss
zypper rr openSUSE-$old_ver-Source
zypper rr openSUSE-$old_ver-Update
zypper rr openSUSE-$old_ver-Update-Debug

zypper repos

[4.リポジトリ名変更]
zypper renamerepo 'openSUSE-12.1-Update' repo-update
zypper renamerepo 'openSUSE-12.1-Debug' repo-debug
zypper renamerepo 'openSUSE-12.1-Update-Debug' repo-update-debug
zypper renamerepo 'openSUSE-12.1-Non-Oss' repo-non-oss
zypper renamerepo 'openSUSE-12.1-Oss' repo-oss
zypper renamerepo 'openSUSE-12.1-Source' repo-source

zypper repos

[5.アップデート]
zypper ref --> a few times
zypper up zypper

注:うちの環境では以下のように2点ほど警告が出ました。
libstdc++46は警告が出た直後、キャンセルで抜けて、yastを立ち上げ、++45を削除し、++46をインストし、再度zypper up zypperを実行しました。
libsnmpは必要ならあとで入れてもいいので、1を選択し、アンインストールして進めます。

***ワーニング***
問題点: zypper-1.6.21-5.14.1.x86_64 は libstdc++.so.6(GLIBCXX_3.4.15)(64bit) を 必要としていますが、この要求を解決する方法がありません
  インストール不可能なプロバイダ: libstdc++46-4.6.2_20111026-1.1.4.x86_64[repo-oss]
 解決方法 1: libstdc++45-4.5.1_20101208-9.8.x86_64 のアンインストール
 解決方法 2: zypper-1.6.21-5.14.1.x86_64 をインストールしない
 解決方法 3: いくつかの依存関係を無視することによって zypper を壊します

いずれかの数字を入力するか、キャンセル(C) を入力してください [1/2/3/c] (c):

問題点: zypper-1.6.21-5.14.1.x86_64 は libzypp >= 10.3.7 を必要としていますが、 この要求を解決する方法がありません
  インストール不可能なプロバイダ: libzypp-10.3.7-1.9.4.i586[repo-update]
                   libzypp-10.3.7-1.9.4.x86_64[repo-update]
 解決方法 1: libsnmp25-5.6.1-4.5.1.x86_64 のアンインストール
 解決方法 2: zypper-1.6.21-5.14.1.x86_64 をインストールしない
 解決方法 3: zypper-1.6.21-5.14.1.x86_64 をインストールしない
 解決方法 4: いくつかの依存関係を無視することによって zypper を壊します

いずれかの数字を入力するか、キャンセル(C) を入力してください [1/2/3/4/c] (c): -> 1
***ワーニング終わり***

[6.インストール]
zypper dup

ライセンスが3度出てきますが、忘れずにyを入力しましょう。
デフォルトがnになってますので、何も考えずにenterをたたき続けると、途中で終了してしまいます。

***途中の警告***
1331 個のパッケージをアップグレードします, 13 個のダウングレード, 316 個の新規,
54 個の削除, 10 個のアーキテクチャ変更.
全ダウンロードサイズ: 1.06 GiB この操作を行なうには、追加で 690.6 MiB
の容量が必要です。
続行しますか? [y/n/?] (y):
ライセンス (使用許諾) 契約条項に同意しますか? [はい (y)/いいえ (n)] (いいえ (n)): y
ライセンス (使用許諾) 契約条項に同意しますか? [はい (y)/いいえ (n)] (いいえ (n)): y
ライセンス (使用許諾) 契約条項に同意しますか? [はい (y)/いいえ (n)] (いいえ (n)): y
***警告終わり***

[7.もろもろ自動変更]
SuSEconfig

[8.最後に再起動]
shutdown -r now
で再起動。

起動しましたら、自分が使用しているサービスを確認しましょう。
ちなみにsystemdになっても、以前のinitdもまだ使えます。

不具合報告はおいおい。

ではでは、また。

1 件のコメント:

  1. sftpの場所が
    /usr/lib64/ssh/sftp-server から
    /usr/lib/ssh/sftp-server に変わってます。
    /etc/ssh/sshd_configのパスを変更しないと
    sshは繋がるのに、sftpは繋がらないという羽目になりますので、お気を付け下さい。

    返信削除