• 締切済み

/usr のリネーム

わけあって /usr をリネームしてしまったため ほとんどのコマンドが使用できなくなり boot cdrom によるOS再インストールも 出来なくなってしまいました。 リネームした/usr(/rsuと仮定します) を mv で/usr に名前を戻せればよいのですが ♯/rsu/bin/mv /rsu /usr としても mv: Cannot find /usr/lib/ld.so.1 Killed となってしまいます。 どのように復旧すればよいかご教授ください。

みんなの回答

回答No.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だけで何とか修復する方法沢山知っている気がします。

  • prowler
  • ベストアンサー率75% (3/4)
回答No.5

何度もすいません、static link な mount を失念していました。 以下のコマンドは通りますか? # /sbin/mount -o remount,rw / これがエラー無く実行できれば、再度 /rsu/sbin/static/mv を試してみてください。

samba11
質問者

お礼

直りました!! アドバイスどおりにコマンドを入力したら 再度リネームが出来ました。 今回のトラブルで少しだけスキルがあがった気がします。本当にありがとうございました。

  • prowler
  • ベストアンサー率75% (3/4)
回答No.4

あら、read-only ですか??? あぁ~reboot してしまったんですね(そんな文脈か・・・) /usr がないから single user で停止、、、と。 そうすると # mount -o remount,rw / この mount が永遠に実行できませんから / を read-write に出来ないので、そのディスクからブートしている限りでは復旧は無理です。 すいません、結局回答になっていませんが、なんとかして boot cdrom または boot net の道を探りましょう。 boot cdrom すると、どんなメッセージが出ます?

  • prowler
  • ベストアンサー率75% (3/4)
回答No.3

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

samba11
質問者

補足

ご回答ありがとうございます。 早速実行いたしましたが # /rsu/sbin/static/mv /rsu /usr mv: cannot rename /usr_abe to /usr: Read-only file system となってしまいました。 申し訳ありませんが、static linkされたmkdir の場所をご存知でしたら教えていただけませんでしょうか。 mkdir /usr とし、/rsuを/usrにマウントしようかと 考えています。 お手数ですがよろしくお願いします。

  • shige_70
  • ベストアンサー率17% (168/946)
回答No.2

あー、だめでしたか。。。 えーと。。。 要は、mv実行時に、/usr/libの下にある共有ライブラリが必要なのですが、それがないのでだめということなんですけど。。。 たしか、非常時用に、実行時にライブラリ不要なモジュールがどこかにあったと思うんですが、いかんせん手元にないもんで。。。 /sbin/mv とかだったような気がするんですが。。。 あと、cdromからブートすることはできるはずですが、、、 なんか、お役に立てなくてすみません。 上記でだめなら、他の方の回答を待ちましょう。。。

  • shige_70
  • ベストアンサー率17% (168/946)
回答No.1

あらら。。。たいへんな失敗をしましたね ^-^;; ちょっと今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 を別の名前で参照したいときは、シンボリックリンクを張りましょうね。

samba11
質問者

補足

早速のご解答、ありがとうございます! 現在、Maintenance Mode で作業しているのですが (それでしか立ち上がらないので・・・) 教えていただいた上記コマンドを実行したところ mv: Cannot find /usr/lib/ld.so.1 Killed とでてしまい、コマンドを実行できませんでした。 他にも考えられる対処方法がありますでしょうか。 また、cdrom bootによるOS再インストールを することは可能でしょうか。 ご教授ください。

関連するQ&A