プロが教えるわが家の防犯対策術!

わけあって /usr をリネームしてしまったため
ほとんどのコマンドが使用できなくなり
boot cdrom によるOS再インストールも
出来なくなってしまいました。

リネームした/usr(/rsuと仮定します)
を mv で/usr に名前を戻せればよいのですが
♯/rsu/bin/mv /rsu /usr としても

mv: Cannot find /usr/lib/ld.so.1
Killed

となってしまいます。

どのように復旧すればよいかご教授ください。

A 回答 (6件)

既に解決しているようですが。



shellだけ動けば

echo /*/mv /*/*/mv /*/*/*/mv /*/*/*/*/mv
見たいな感じでmvコマンドの在処を調べる事ができます。

shellだけでファイル読んだりもできますし。
while read line ; do echo $line; done < /etc/ld.so.conf

同様にコピーもできます。
touch /rescue/bin/mv
while read line ; do echo $line>>/rescue/bin/mv; done < /bin/mv

http://d.hatena.ne.jp/inuz/20080330/p1

※ /etc/ld.so.conf.d/とかにある場合も

コマンドのディレクトリが変わる様な操作をする場合には関係ない場所にコピーを作って、それを使うのが良いでしょう。

mkdir /rescue/{bin,lib}
cp xxxxx/mv /rescue/bin
cp yyyyy/ld.so /rescue/lib

setenv LD_LIBRARY_PATH /rescue/lib
path=(/rescue/bin $path)

mv xxxxx yyyyy


大昔unix使ってた方はshellだけで何とか修復する方法沢山知っている気がします。
    • good
    • 0

何度もすいません、static link な mount を失念していました。


以下のコマンドは通りますか?

# /sbin/mount -o remount,rw /

これがエラー無く実行できれば、再度 /rsu/sbin/static/mv を試してみてください。
    • good
    • 0
この回答へのお礼

直りました!!

アドバイスどおりにコマンドを入力したら
再度リネームが出来ました。

今回のトラブルで少しだけスキルがあがった気がします。本当にありがとうございました。

お礼日時:2004/08/03 22:53

あら、read-only ですか???


あぁ~reboot してしまったんですね(そんな文脈か・・・)
/usr がないから single user で停止、、、と。

そうすると

# mount -o remount,rw /

この mount が永遠に実行できませんから / を read-write に出来ないので、そのディスクからブートしている限りでは復旧は無理です。

すいません、結局回答になっていませんが、なんとかして boot cdrom または boot net の道を探りましょう。
boot cdrom すると、どんなメッセージが出ます?
    • good
    • 0

static link された mv を使えばいけるかと。



# /rsu/sbin/static/mv /rsu /usr

boot cdrom 出来ないのは不思議ですが、
CDROM からブートできれば OS インストール中
に中断して shell へ抜けて、その状態から ディスクを
マウントしてリネームでもいけるはずですが。

この回答への補足

ご回答ありがとうございます。
早速実行いたしましたが

# /rsu/sbin/static/mv /rsu /usr
mv: cannot rename /usr_abe to /usr: Read-only file system

となってしまいました。

申し訳ありませんが、static linkされたmkdir
の場所をご存知でしたら教えていただけませんでしょうか。
mkdir /usr
とし、/rsuを/usrにマウントしようかと
考えています。

お手数ですがよろしくお願いします。

補足日時:2004/08/03 08:21
    • good
    • 0

あー、だめでしたか。

。。

えーと。。。
要は、mv実行時に、/usr/libの下にある共有ライブラリが必要なのですが、それがないのでだめということなんですけど。。。

たしか、非常時用に、実行時にライブラリ不要なモジュールがどこかにあったと思うんですが、いかんせん手元にないもんで。。。
/sbin/mv とかだったような気がするんですが。。。

あと、cdromからブートすることはできるはずですが、、、

なんか、お役に立てなくてすみません。
上記でだめなら、他の方の回答を待ちましょう。。。
    • good
    • 0

あらら。

。。たいへんな失敗をしましたね ^-^;;

ちょっと今Solarisの入ったマシンが手元にないので(会社にいけばあるんですが、今週1週間会社休むことにしたんで^-^;;;)
確認はしてないのですが、、、

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/rsu/lib /rsu/bin/mv /rsu /usr

を試してみてください。
シェルがcshのばあいは、setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/rsu/lib としてからmvを実行してみてください。

/usr を別の名前で参照したいときは、シンボリックリンクを張りましょうね。

この回答への補足

早速のご解答、ありがとうございます!
現在、Maintenance Mode で作業しているのですが
(それでしか立ち上がらないので・・・)

教えていただいた上記コマンドを実行したところ

mv: Cannot find /usr/lib/ld.so.1
Killed

とでてしまい、コマンドを実行できませんでした。
他にも考えられる対処方法がありますでしょうか。

また、cdrom bootによるOS再インストールを
することは可能でしょうか。
ご教授ください。

補足日時:2004/08/01 22:57
    • good
    • 0

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