ServermanのVPSサーバ(CentOS5.5 64bit)の設定メモ

今レンタルしてる、さくらのVPSサーバからServermanのVPSへの移行メモ。

今回行った作業は以下の通り。

・基本的な環境の確認
・不要な32bitパッケージの削除
・yumのアップデート

まずはOSの確認。

# cat /proc/version
Linux version 2.6.18-194.3.1.el5.028stab069.6xen (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Wed May 26 18:35:38 MSD 2010

続いてCentOSのバージョン確認

# cat /etc/redhat-release
CentOS release 5.5 (Final)

てことで、CentOS5.5の64bit版なんですね。
一応CPUのアーキテクチャも確認しておく。

# arch
x86_64

つづいてシステムのロケールの設定。

# vi /etc/sysconfig/i18n

で、設定を以下に変更する。

LANG="ja_JP.UTF-8"

とりあえずyumのupdateをチェックしてみる。

# yum check-update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
http://mirror.centos.org/centos/5/addons/x86_64/repodata/primary.sqlite.bz2: [Errno 12] Timeout: 
Trying other mirror.
Error: failure: repodata/primary.sqlite.bz2 from addons: [Errno 256] No more mirrors to try.

なんぞこれ。。。
Timeoutしてるっぽいけど。。

ググったら、とりあえず yum.conf でtimeoutの時間を変更できるみたいなので、60秒に設定してみる。

# vi /etc/yum.conf 
timeout=60

これでtimeoutはクリアできたみたいで一覧がズラズラと表示されました。
で、見てると同じパッケージで32bitと64bitの両方が表示されてたり

libgcc.i386
libgcc.x86_64

とか

zlib.i386
zlib.x86_64

最初に調べた通り、インストール済のCentOSは64bitなので、32bit(i386)の方は不要っぽい。
で yum.conf に除外設定すればOKっぽい

exclude=*.i386 *.i586 *.i686

64bit(x86_64)のみをアップデートする

# yum update *.x86_64

一覧がズラズラと出てるかと思ったら、エラーっぽいのが出た。

glibc-2.5-49.el5_5.7.i686 from installed has depsolving problems
  --> Missing Dependency: glibc-common = 2.5-49.el5_5.7 is needed by package glibc-2.5-49.el5_5.7.i686 (installed)
Error: Missing Dependency: glibc-common = 2.5-49.el5_5.7 is needed by package glibc-2.5-49.el5_5.7.i686 (installed)

むぅ、i686がどうのとか言ってるが、さっき yum.conf のexcludeで設定したのが駄目なんか。。
よく分からんが、yum.conf から*.i686を削ってみる。

exclude=*.i386 *.i586

で、再度アップデート実行

# yum update *.x86_64

Transaction Summary
=============================================================================================================================
Install       2 Package(s)
Upgrade     116 Package(s)

Total download size: 147 M
Is this ok [y/N]: 

何か解決したっぽいので、あまり気にしないことにする。
おもむろに y をタイプでアップデート開始。

Running rpm_check_debug
Running Transaction Test
Finished Transaction Test

順調と思いきや、Error出やがった。

Transaction Check Error:
  file /etc/pki/tls/certs/Makefile from install of openssl-0.9.8e-22.el5.x86_64 conflicts with file from package openssl-0.9.8e-12.el5_5.7.i686
  file /etc/pki/tls/certs/ca-bundle.crt from install of openssl-0.9.8e-22.el5.x86_64 conflicts with file from package openssl-0.9.8e-12.el5_5.7.i686
  file /usr/share/man/man1/ca.1ssl.gz from install of openssl-0.9.8e-22.el5.x86_64 conflicts with file from package openssl-0.9.8e-12.el5_5.7.i686
  file /usr/share/man/man1/req.1ssl.gz from install of openssl-0.9.8e-22.el5.x86_64 conflicts with file from package openssl-0.9.8e-12.el5_5.7.i686
  file /usr/share/man/man1/x509.1ssl.gz from install of openssl-0.9.8e-22.el5.x86_64 conflicts with file from package openssl-0.9.8e-12.el5_5.7.i686
(以下略)

何かググってみると、32bitと64bitのパッケージが混在してるのが原因らしいみたいですが、アップデートの前にyum.confで32bit除外したハズなんですが、ハナから32bitパッケージがインストールされてたってこと??
よくわからんが試しに

# yum list | grep curl

ってやってみると

curl.i386                                  7.15.5-9.el5                installed
curl.x86_64                                7.15.5-9.el5                installed
curl.x86_64                                7.15.5-15.el5               base     
curl-devel.x86_64                          7.15.5-15.el5               base     
python-pycurl.x86_64                       7.15.5.1-8.el5              base     

1行目2行目のinstalledが文字通りインストール済み。
あらやだ、何か32bit入ってるやん。何の嫌がらせ?いや、入ってるからには何か意味があるんか?
疑問に思ってググってたら、以下のような記事が。

http://serverfault.com/questions/178285/is-it-safe-to-run-yum-remove-i386-on-a-64bit-centos-system

とりあえず、この記事の返信部分に載ってたコマンド実行してみる

rpm -qa --queryformat='%{n}-%{v}-%{r}.%{arch}\n' | grep '\.i[3456]86$' | sort

aspell-0.60.3-7.1.i386
curl-7.15.5-9.el5.i386
device-mapper-1.02.39-1.el5_5.2.i386
e2fsprogs-libs-1.39-23.el5_5.1.i386
glibc-2.5-49.el5_5.7.i686
keyutils-libs-1.2-1.el5.i386
krb5-libs-1.6.1-36.el5_5.6.i386
libgcc-4.1.2-48.el5.i386
libidn-0.6.5-1.1.i386
(以下略)

うほ、結構でた(全部で20個くらい)。
こいつら消していいんよね?消すよ?消すよ?

# yum erase \*.i386

Removed:
  aspell.i386 12:0.60.3-7.1              curl.i386 0:7.15.5-9.el5                device-mapper.i386 0:1.02.39-1.el5_5.2       e2fsprogs-libs.i386 0:1.39-23.el5_5.1      
  keyutils-libs.i386 0:1.2-1.el5         krb5-libs.i386 0:1.6.1-36.el5_5.6       libgcc.i386 0:4.1.2-48.el5                   libidn.i386 0:0.6.5-1.1                    
  libselinux.i386 0:1.33.4-5.5.el5       libsepol.i386 0:1.15.2-3.el5            libstdc++.i386 0:4.1.2-48.el5                libutempter.i386 0:1.1.4-4.el5             
  ncurses.i386 0:5.5-24.20060715         serversman.i386 0:1.0-008               slang.i386 0:2.0.6-4.el5                     smadmin.i386 0:2.0-001                     
  zlib.i386 0:1.2.3-3                   

Dependency Removed:
  openssl.i686 0:0.9.8e-12.el5_5.7                                                                                                                                         

Complete!

無事消えたっぽい。
では改めてyumのアップデート実行

# yum update *.x86_64

Downloading Packages:
Running rpm_check_debug
Running Transaction Test

ドキドキ。。

Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : libgcc
  Updating       : filesystem
 (以下略)

上記が表示され、無事にアップデートが開始されました。
いくつかwarningが出たものの、ErrorじゃなけりゃOK!特に気にしない!

とりあえず今日はここまで。

One Comment

コメントを残す

メールアドレスが公開されることはありません。