yum updateで早速エラーですよ。

ServersMan@VPSサービスで遊んでます。

Entryプランで毎月105円♪

SSHで接続して・・・yumを叩くと早速エラー。

# yum update
Loaded plugins: fastestmirror
Repository 'vz-base' is missing name in configuration, using id
Repository 'vz-updates' is missing name in configuration, using id
Loading mirror speeds from cached hostfile
 * ftp.oss.eznetsols.org : 99999999998.000000 secs
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in ?
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 309, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 178, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 345, in doCommands
    self._getTs(needTsRemove)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 101, in _getTs
    self._getTsInfo(remove_only)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 112, in _getTsInfo
    pkgSack = self.pkgSack
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 661, in 
    pkgSack = property(fget=lambda self: self._getSacks(),
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 501, in _getSacks
    self.repos.populateSack(which=repos)
  File "/usr/lib/python2.4/site-packages/yum/repos.py", line 232, in populateSack
    self.doSetup()
  File "/usr/lib/python2.4/site-packages/yum/repos.py", line 79, in doSetup
    self.ayum.plugins.run('postreposetup')
  File "/usr/lib/python2.4/site-packages/yum/plugins.py", line 179, in run
    func(conduitcls(self, self.base, conf, **kwargs))
  File "/usr/lib/yum-plugins/fastestmirror.py", line 181, in postreposetup_hook
    all_urls = FastestMirror(all_urls).get_mirrorlist()
  File "/usr/lib/yum-plugins/fastestmirror.py", line 333, in get_mirrorlist
    self._poll_mirrors()
  File "/usr/lib/yum-plugins/fastestmirror.py", line 376, in _poll_mirrors
    pollThread.start()
  File "/usr/lib/python2.4/threading.py", line 416, in start
    _start_new_thread(self.__bootstrap, ())
thread.error: can't start new thread

ちょっと調べてみると、yum-metadata-parserを入れ替えれば良いよという方がいたので、やってみた。

# rpm -qa | grep yum-metadata-parser
yum-metadata-parser-1.1.2-3.el5.centos

↑これを消す。

# rpm -ev --nodeps yum-metadata-parser-1.1.2-3.el5.centos

そうすると・・・

# yum update
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named sqlitecachec

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.4.3 (#1, Sep  3 2009, 15:37:12) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)]

If you cannot solve this problem yourself, please go to 
the yum faq at:
  http://wiki.linux.duke.edu/YumFaq

ますますひどくなります(笑)

慌てて、yum-metadata-parser-1.1.2-3.el5.centosを入れ直します。


もう少し調べてみて・・・やっと見つけました。

Basically this issue is rare to see, it's a memory resource issue with the vps which is caused by yum's fastestmirror plugin. This issue can be repeated when the following two conditions are met:

1, You're running VPS, for example in an OpenVZ virtual server.
2, There's a mysql instance running in this vritual server already.

This is a reported bug which had been fixed two months ago.

As we know the exactly reason for this error, there're two ways to bypass it:
1, Stop the mysql instance and run yum again.
2, Disable yum's fastestmirror plugin when start yum, like this:

要するに、VPSだとyumでメモリ不足の問題が発生する事が多いから、
fastestmirror pluginは使わないでね、という事みたいですね。

ということで・・・

# yum --disableplugin=fastestmirror update
Repository 'vz-base' is missing name in configuration, using id
Repository 'vz-updates' is missing name in configuration, using id
addons                                                             |  951 B     00:00
base                                                               | 2.1 kB     00:00
extras                                                             | 2.1 kB     00:00
updates                                                            | 1.9 kB     00:00
vz-base                                                            |  951 B     00:00
vz-updates                                                         |  951 B     00:00
Setting up Update Process
No Packages marked for Update

成功しました(^^)

さて、メモリが256MBしかない専用サーバ。

yumですら、きちんと動かない専用サーバ。

今後がすごく心配になりました(笑)

(そんなに高くない)期待に応えてくれるといいな。

追記)
yumコマンドの度に--disableplugin=fastestmirrorをつけるのは面倒なので、
プラグインを削除しました。

# rpm -qa | grep yum
yum-3.2.22-20.el5.centos
yum-metadata-parser-1.1.2-3.el5.centos
yum-fastestmirror-1.1.16-14.el5.centos.1  ←これ

普通に--nodeps オプションなしでは・・・

# rpm -ev yum-fastestmirror-1.1.16-14.el5.centos.1
error: Failed dependencies:
        yum-fastestmirror is needed by (installed) yum-3.2.22-20.el5.centos.noarch

やはり依存関係で怒られてしまいますね。
あっても使えないオプションなので、強引に削除すると・・・

# rpm -ev --nodeps yum-fastestmirror-1.1.16-14.el5.centos.1
warning: /etc/yum/pluginconf.d/fastestmirror.conf saved as /etc/yum/pluginconf.d/fastestmirror.conf.rpmsave

設定ファイルは別名保存してくれました。

で・・・yumを--disableplugin=fastestmirrorなしで実行してみると・・・

# yum update
Repository 'vz-base' is missing name in configuration, using id
Repository 'vz-updates' is missing name in configuration, using id
addons                                                             |  951 B     00:00
base                                                               | 2.1 kB     00:00
extras                                                             | 2.1 kB     00:00
updates                                                            | 1.9 kB     00:00
vz-base                                                            |  951 B     00:00
vz-updates                                                         |  951 B     00:00
Setting up Update Process
No Packages marked for Update

無事完了〜♪
よかったよかった。


追記その2)

Repository 'vz-base' is missing name in configuration, using id
Repository 'vz-updates' is missing name in configuration, using id

このメッセージを消したいですよね。

Repositoryの設定ファイルに2行追記してやれば消えてくれます。

/etc/yum.repos.d/vz.repo

[vz-base]
name=vz-base  ←これ
mirrorlist=http://vzdownload.swsoft.com/download/mirrors/centos-5
gpgcheck=0

[vz-updates]
name=vz-updates ←これ
mirrorlist=http://vzdownload.swsoft.com/download/mirrors/updates-released-ce5
gpgcheck=0

いじょ!