Linux
Yum
dmesg

yum が動かなったときの対処(Cannot open logfile /var/log/yum.log)

More than 1 year has passed since last update.

yumが動かなかったときの対処(Cannot open logfile /var/log/yum.log)

結論

 yum install を実行したら失敗→rebootしたら問題なく実行できた。
 本来はしっかりとチェックしてからrebootすべき。
 原因:ファイルシステムのエラーが原因でディスクがread-onlyになっていました。

ログ

vpsを借りてgitをインストールしようとしたら失敗した。

# yum install git
読み込んだプラグイン:fastestmirror
Cannot open logfile /var/log/yum.log
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 298, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 124, in main
    base.doLock()
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1851, in doLock
    while not self._lock(lockfile, mypid, 0644):
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 1917, in _lock
    errmsg = _('Could not create lock at %s: %s ') % (filename, str(msg))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 11: ordinal not in range(128)

調査〜復旧

dmesgコマンドでOSのログを確認しました。

#dmesg
・・・・
JBD2: Detected IO errors while flushing file data on sda1-8
JBD2: Detected IO errors while flushing file data on sda1-8
JBD2: Detected IO errors while flushing file data on sda1-8
・・・・
Aborting journal on device sda1-8.
EXT4-fs error (device sda1): ext4_journal_start_sb: Detected aborted journal
EXT4-fs (sda1): Remounting filesystem read-only
・・・・

ファイルシステムがエラーを検知して読み込み専用になったようです。
なにも載っていないサーバなので容赦なくrebootしてみました。(危険!!)

reboot後にログの確認

#dmesg | tail -50
・・・・
sd 2:0:0:0: [sda] Attached SCSI disk
EXT4-fs (sda1): INFO: recovery required on readonly filesystem
EXT4-fs (sda1): write access will be enabled during recovery
EXT4-fs warning (device sda1): ext4_clear_journal_err: Filesystem error recorded from previous mount: IO failure
EXT4-fs warning (device sda1): ext4_clear_journal_err: Marking fs in need of filesystem check.
EXT4-fs (sda1): recovery complete
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: 
dracut: Mounted root filesystem /dev/sda1
・・・・

問題なく復旧したっぽい。
yumも問題なく実行できました。

本来すべきことは

今回は壊れても問題ないサーバのため容赦なくリブートしてみました。

ちょっと検索してみると

  • ハードディスクが壊れていないかチェック(badblocksコマンド?)
  • バックアップの取得
  • (壊れていたら)fsckコマンド

などなどあるので慎重に調査のした上で対処してください。

<参考>
ファイルシステムが読み込み専用になってしまった
Ubuntu システムログ その6 - HDDが故障もしくは故障しそうな時に出力されるログ・ファイルのバックアップについて
Web系エンジニアbcoのメモ帳