このブログを検索

2012年10月9日火曜日

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

openSUSE 11.4 のライフタイムが、2012年11月5日までと迫ってきましたので、あとひと月を切ったところでバージョンアップを実施いたしました
方法は、以前もやりましたが、zypperを使用したバージョンアップです。
(弊社の場合、リモート管理がメインですので、DVDによるバージョンアップは余りしなくなりました。)
個人的には、zypperでやるやり方が一番簡単で好きです。

ここからはコマンド主体で書いていきます。




[確認]
/etc/init.d/サービス status (サービスの稼働確認)
zypper lr -u (リポジトリの URI もテーブルに含め一覧表示)

[追加]
server=http://download.opensuse.org
new_ver=12.2
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.2-Update'
zypper modifyrepo -er 'openSUSE-12.2-Debug'
zypper modifyrepo -er 'openSUSE-12.2-Update-Debug'
zypper modifyrepo -er 'openSUSE-12.2-Non-Oss'
zypper modifyrepo -er 'openSUSE-12.2-Oss'
zypper modifyrepo -er 'openSUSE-12.2-Source'

zypper repos (リポジトリの一覧表示)

※他にも必要なレポジトリがあれば、同じように追加してください。

[削除]
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 -> NG
zypper repos -> 項番確認
zypper rr 項番             -> 個別に削除
zypper rr openSUSE-$old_ver-Update-Debug

※他にも古いレポジトリがあれば、個別に削除してください。

zypper repos
e.g.
# | 別名                       | 名前                       | 有効     | 更新  
--+----------------------------+----------------------------+----------+---------
1 | openSUSE-12.2-Debug        | openSUSE-12.2-Debug        | はい (Y) | はい (Y)
2 | openSUSE-12.2-Non-Oss      | openSUSE-12.2-Non-Oss      | はい (Y) | はい (Y)
3 | openSUSE-12.2-Oss          | openSUSE-12.2-Oss          | はい (Y) | はい (Y)
4 | openSUSE-12.2-Source       | openSUSE-12.2-Source       | はい (Y) | はい (Y)
5 | openSUSE-12.2-Update       | openSUSE-12.2-Update       | はい (Y) | はい (Y)
6 | openSUSE-12.2-Update-Debug | openSUSE-12.2-Update-Debug | はい (Y) | はい (Y)

[rename]
zypper renamerepo 'openSUSE-12.2-Update' repo-update
zypper renamerepo 'openSUSE-12.2-Debug' repo-debug
zypper renamerepo 'openSUSE-12.2-Update-Debug' repo-update-debug
zypper renamerepo 'openSUSE-12.2-Non-Oss' repo-non-oss
zypper renamerepo 'openSUSE-12.2-Oss' repo-oss
zypper renamerepo 'openSUSE-12.2-Source' repo-source

zypper repos
e.g.
# | 別名              | 名前                       | 有効     | 更新
--+-------------------+----------------------------+----------+---------
1 | repo-debug        | openSUSE-12.2-Debug        | はい (Y) | はい (Y)
2 | repo-non-oss      | openSUSE-12.2-Non-Oss      | はい (Y) | はい (Y)
3 | repo-oss          | openSUSE-12.2-Oss          | はい (Y) | はい (Y)
4 | repo-source       | openSUSE-12.2-Source       | はい (Y) | はい (Y)
5 | repo-update       | openSUSE-12.2-Update       | はい (Y) | はい (Y)
6 | repo-update-debug | openSUSE-12.2-Update-Debug | はい (Y) | はい (Y)

[update]
zypper ref --> 「全てのリポジトリを更新しました。」が表示されるまで待つ。
zypper up zypper (zypperこけると怖いので、必ずやるようにしています。)

今回のホストでは、以下2つの問題点が出ましたが、古い奴さえ入れなければ、問題ないと考えます。(競合する奴が入っているとこけます。)

問題点: zypper-1.7.3-1.2.2.x86_64 は libstdc++.so.6(GLIBCXX_3.4.15)(64bit) を必 要としていますが、この要求を解決する方法がありません
解決方法 1: libstdc++45-4.5.1_20101208-9.8.x86_64 のアンインストール
解決方法 2: zypper-1.7.3-1.2.2.x86_64 をインストールしない
解決方法 3: いくつかの依存関係を無視することによって zypper を壊します
-> 1

問題点: zypper-1.7.3-1.2.2.x86_64 は libzypp.so.1106()(64bit) を必要としていますが、この要求を解決する方法がありません
解決方法 1: 以下の動作を実行します
 e.g.yast2-xxxのアンインストール
解決方法 2: 以下の動作を実行します
 libpurple-2.7.10-4.50.1.x86_64 のアンインストール
 libpurple-tcl-2.7.10-4.50.1.x86_64 のアンインストール
 telepathy-haze-0.4.0-2.1.x86_64 のアンインストール
解決方法 3: libtelepathy-farsight0-0.0.15-3.1.x86_64 のアンインストール
解決方法 4: zypper-1.7.3-1.2.2.x86_64 をインストールしない
解決方法 5: zypper-1.7.3-1.2.2.x86_64 をインストールしない
解決方法 6: いくつかの依存関係を無視することによって zypper を壊します
-> 2

e.g.
112 個のパッケージをアップグレードします, 62 個の新規, 9 個の削除, 5
個のアーキテクチャ変更.
全ダウンロードサイズ: 42.9 MiB この操作を行なうと、20.7 MiB
の容量が開放されます。
続行しますか? [y/n/?] (y):

最近のアップグレードにより削除されたファイルについて、これらを使用する実行中プログラムが存在しています。これらを再起動してください。なお 'zypper ps' と入力する と、プログラムの一覧を表示することができます。

zypper ps
e.g.
PID   | PPID  | UID  | ログイン   | コマンド                 | サービス     | ファイル                                                                        
------+-------+------+------------+--------------------------+--------------+----------------------------------------------------------------------------------------------------
1     | 0     | 0    | root       | init                     |              | /lib64/ld-2.11.3.so                                                              
      |       |      |            |                          |              | /lib64/libc-2.11.3.so                                                            
      |       |      |            |                          |              | /lib64/libdl-2.11.3.so                                                          
401   | 1     | 0    | root       | udevd                    |              | /lib64/ld-2.11.3.so                                                              
      |       |      |            |                          |              | /lib64/libpthread-2.11.3.so                                                      
---途中略---
これらのプロセスを再起動する必要があります。
上記の表内にある値の意味については、 'man zypper' をご覧ください。

※どっちみち、zypper dupするので、無視。
※じゃ、zypper up zypperも必要ないじゃない。とはいっても念のため、up zypperします。。。

zypper dup -> ディストリビューションのアップグレード

e.g.
警告: 全ての有効なリポジトリを利用して、ディストリビューションのアップグレードを行なおうとしています。続行する前に、これらのリポジトリに互換性があることをご確認ください。このコマンドについての詳しい情報は 'man zypper' をご覧ください。
リポジトリのデータを読み込んでいます...
インストール済みのパッケージを読み込んでいます...
ディストリビューションのアップグレードを準備しています...

以下の新しいパッケージをインストールします:
---途中略---
以下のパッケージを削除します:
---途中略---
以下のパッケージをアップグレードします:
---途中略---
以下の製品をアップグレードします:
  openSUSE

以下のパッケージをダウングレードします:
---途中略---
以下のパッケージのアーキテクチャを変更します:
---途中略---

1019 個のパッケージをアップグレードします, 37 個のダウングレード, 840 個の新規,
163 個の削除, 10 個のアーキテクチャ変更.
全ダウンロードサイズ: 978.2 MiB この操作を行なうには、追加で 682.7 MiB
の容量が必要です。
続行しますか? [y/n/?] (y):

---本文省略---
ライセンス (使用許諾) 契約条項に同意しますか? [はい (y)/いいえ (n)] (いいえ (n)): y
---本文省略---
ライセンス (使用許諾) 契約条項に同意しますか? [はい (y)/いいえ (n)] (いいえ (n)): y
---本文省略---
ライセンス (使用許諾) 契約条項に同意しますか? [はい (y)/いいえ (n)] (いいえ (n)): y

※3つほど使用許諾が出てきますが、全部yesにしないと進まないので、yを押して進めます。
(本文中はスペースを押すことで、ページごと飛ばせますので、最後が来るまでスペースを何度か押します。)
※ダウンロードとインストールが完了するまで、数分待ちます。

最近のアップグレードにより削除されたファイルについて、これらを使用する実行中プログラムが存在しています。これらを再起動してください。なお 'zypper ps' と入力する と、プログラムの一覧を表示することができます。
※これが出ましたら、下記を実行し、設定をアップデートします。

SuSEconfig

※Warningが出ることもありますので、Finishedが出たからと言って、安心しないように。
問題の無いワーニングであれば、再起動でOKです。
このためしたホストでは、中国語と韓国語のワーニングでしたが、そんなのは無視で、問題ありません。

shutdown -r now

※シャットダウン中、エラーが出たりしますが、起動後、YaST2で修正してあげましょう。
※弊社の場合は、ブートローダーに余計なものが入っていたので、削除したり、VMware Toolsを改めて、インストールしたりしています。
VMWare Toolsはカーネルに依存します。

[確認]
/etc/init.d/サービス status (サービスの稼働確認)

[修正]
以下は修正しなければいけないプログラムですが、根本解決というよりはとりあえず動かすようにしたというだけです。

[c-icap]
なんと/var/run/c-icap/c-icap.ctlが/etc/init.d/c-icap起動時に作られません。
なので、boot.localで作成し、os起動後、c-icapを起動させています。
vi /etc/init.d/boot.local
 # 2012/10/09 os12.2 update added #
 mkdir /var/run/c-icap/
 touch /var/run/c-icap/c-icap.ctl
 /etc/init.d/c-icap start
 ### end ###
※before.localやafter.localでうまくいかなかったので、boot.localに書いてます。

[vmware-tools]
VMwareTools-8.6.5-652272.tar.gz
のバージョンのものを改めてインストールしました。
ホームディレクトリの中に解凍して、vmware-install.plを実行すれば、あとはenterを押していけば、完了するはずです。

以上でバージョンアップは完了です。
他にも動かないサービスあるかもしれませんが、その時には、再設定してあげれば、ほとんど動きます。
動かないのは、大抵、個別でインストールしたプログラムですから。

それでは、また。

ご用命は、webmaster@niriakot.jp までどうぞ。

0 件のコメント:

コメントを投稿