dポイントプレゼントキャンペーン実施中!

こんにちは。

いきなりですが、
ファイルが消失しているパッケージだけ再インストールすることはできないのでしょうか。


なぜそのようなことをしたいのかと言うと、
先週ごろからyumでRPMパッケージを新しくインストールする時、たまにですが
error: ~ scriptlet failed, exit status 1
のようなエラーが出ていました。
しかしインストールも(多分)成功していたようなのでほっといておきました。
しかし一昨日の夜ごろにシャットダウンさせようと
sudo /sbin/init 0
としたところ/sbin/initがないと言われてしまったので、rpm -qf /sbin/initしてパッケージを調べた後インストールして、無事シャットダウンすることができました。
しかし、今日起動する際に
/etc/rc.d/rc.sysinit: line 648: fsck: command not found
と言われてしまい、どうやら色んなコマンドが無くなっているようだということにやっと気付きました。
バックアップは取っておいたのでそこから/sbinに無いコマンドだけ移すと、無事起動できました。


現状、エラーもなく稼働しているのでこのままでもいいのですが、
ファイルが無くなったままだと気持ち悪いので、冒頭のように一部のファイルが消失しているパッケージだけを再インストールすることができないのかと思いました。


OSはCentOS 5です。
よろしくお願いします。

A 回答 (1件)

rpmのforceオプションだと思ったけど


yumにreinstallオプションができたらしいので
そっちで行けるんじゃないかと思います。

また、普通はファイルシステムの事故で失われたファイルは
それぞれのファイルシステム(パーティション)のルートに
lost+foundディレクトリがあって、そこにあると思います。

気づきにくいファイルもあると思いますので
そこのファイルを全部rpm -qして
全部リストアップした上で
sortしてuniqしておいたほうがいいと思います。

逆に、そこに無いとなると、その状況が起きた原因が
どこにあるのか、すごく不安になりそうな気もします。
host.dennyとかなくなっていたりすると、がっかりするし。

この回答への補足

回答ありがとうございます。

yumのreinstallコマンドはインストールするパッケージを指定しなきゃいけないので、「ファイルが消失しているパッケージ」だけを再インストールすることはできないようです。
rpmのforceオプションについても同様でした。


> また、普通はファイルシステムの事故で失われたファイルは
> それぞれのファイルシステム(パーティション)のルートに
> lost+foundディレクトリがあって、そこにあると思います。

ありませんでした。
恐らく自分のミスでパッケージを削除してしまったような気がしますorz

補足日時:2009/06/20 00:45
    • good
    • 0
この回答へのお礼

rpmコマンドでファイルリストを吐かせて、そこに含まれるファイルが無いパッケージをリストアップするスクリプトを自分で書いた方がいい気がしてきました。
質問していきなり締め切ってすみませんが回答してくださったvaidurya様ありがとうございます。

お礼日時:2009/06/20 00:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!