- PR -

●binやetcが消えました。。。助けて下さい。

投稿者投稿内容
りかっち
常連さん
会議室デビュー日: 2004/07/15
投稿数: 22
投稿日時: 2006-01-25 22:18
takeponさん 度々ありがとうございます。
入力したコマンドが仮に、
 # mv ./* ./tmp
  ではなく、
 # mv /* ./tmp
だとしたら。。。。
/以下全て/WorkDir/tmpに移動されたことになるということですよね?。。

でもlsで見ることもできないですが、CDできるかどうかためしてみると、
/homeとか/varとかはCDできます。
/etcや/binにはCDすらできませんでした。。。

また、HPへアクセスできるということは、/htmlの下にあるWebコンテンツのhtmlファイルもあると思うのですが・・。良くわからなくなってきました。。。


引用:

takeponさんの書き込み (2006-01-25 21:48) より:
引用:

りかっちさんの書き込み (2006-01-25 21:42) より:
   rootにチェンジした後、
   (01)ディレクトリの場所を確かめる為、WorkDirへ移動しました(cd WorkDir) 
   (02)WorkDirの中にさらにサブフォルダtmpを作成(Mkdir tmp) 
   (03)WorkDirの下のファイルa,b,cを、(02)で作成したtmpへ移動(mv ./* ./tmpかな?)だったと思います。



まさか、

# mv ./* ./tmp

ではなく、

# mv /* ./tmp

としたのでは・・・。

日常の作業を root 権限で行うのは検討の余地ありだと思います。

[ メッセージ編集済み 編集者: takepon 編集日時 2006-01-25 21:51 ]

rimmer
会議室デビュー日: 2005/05/20
投稿数: 6
投稿日時: 2006-01-25 22:20
昔後輩が glibc か何かをむりやりアップデートして
ls 等のコマンドが使えなくなったことがあります。
そのときは bash のタブ補完は使えました。
例えば
$ /bin
と入力してタブキーを3回入力等。こうすると /bin 以下に
あるファイルが表示されます。
(なぜだか説明はできませんが,,,)
りっかちさんの場合に使えるか分かりませんが参考までに。
jk
ベテラン
会議室デビュー日: 2005/08/19
投稿数: 94
投稿日時: 2006-01-26 01:16

※以下文中の${WorkDir}はどこのディレクトリかわかりませんので適当に直してください。

仮に
#cd ${WorkDir}
#mv /* ./tmp
だったと仮定すると

多分表示されたエラーは
コード:
mv: cannot move `${WorkDir}のどこかの親ディレクトリ/' to a subdirectory of itself, `${WorkDir}/tmp'


な感じのやつじゃないですかね?

そうだとすると WorkDir系列のディレクトリは生きているはずで

/bin/ls -> ${WorkDir}/tmp/bin/ls
になっているはずなので

#${WorkDir}/tmp/bin/ls -l ${WorkDir}/tmp/
とかやってみたら実行できたりしませんか?

実行できたなら
#${WorkDir}/tmp/bin/mv ${WorkDir}/tmp/* /
とかで戻せるかも知れません。
ただし、補償は出来ません。
他の方の意見も参考にしてみてください。

なんにしても、コマンドが動作したなら必要なデータはすぐにバックアップを取ったほうがいいと思います。

データだけ拾い出して助けたいなら Knopixという手もありますね。
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2006-01-26 01:52
/tmp に移動してしまった可能性があるのであれば、他の方も指摘されているように、/tmp/bin/ls とか、mv /tmp/* / とかを実行してみることですね。ただ、くれぐれも慎重に。

もし、本当に /tmp に送ってしまったのであれば、再起動するとそこにあるファイルは全て消えてしまうかもしれません。(ただ、rm コマンドが機能しない状況なので何とも言えませんが^^;

従って、まずは、/tmp に元のファイルが存在しないかどうかを確認してみることが先決です。/tmp にあるのであれば、CD-ROM ブートどころじゃないでしょう。

ちなみに、linux rescue はセーフモードとは若干違います。Windows でいう「起動ディスク」みたいなものだと思って下さい。CD-ROM には書込ができないはずですので、乱暴なことをしない限りはそれほど大きな問題になることはないはずです。/mnt/sysimage だったかに HDD がマウントされ、CD-ROM に附属しているコマンドを使用して HDD の中身を確認することができます。

あと、再構築するのであれば、普通の設定をしている場合でセカンダリ DNS をプロバイダーに依頼している場合、2週間程度の猶予があると思いますので、その間にやれば大丈夫でしょう。Web サーバは死んでしまいますが、コンテンツのバックアップがあるということですので・・・。この際に、バージョンアップを検討するのも悪くはないかもしれません。
takepon
ベテラン
会議室デビュー日: 2005/11/28
投稿数: 55
お住まい・勤務地: 千葉県・東京都
投稿日時: 2006-01-26 05:29
こんばんは。

ls コマンドが使えないとのことなので、こんな方法は如何でしょう?

★カレントディレクトリのファイル名を表示

# echo *

★ルートディレクトリが見たければ、

# echo /*

復旧の手助けとなれば幸いです。

ls コマンドが使えないなんて状況、遭遇した記憶がないのですが、
だいぶ昔に、こんなときは echo が使えるという話を聞いたことがありました。
# 年代がバレそうです。

機会があれば、knoppix の仮想PC環境版あたりを使って、
ためしに /bin とか /etc を消してみたいですね・・・。(笑)


_________________
takepon
てんてこダンス


[ メッセージ編集済み 編集者: takepon 編集日時 2006-01-26 05:30 ]
りかっち
常連さん
会議室デビュー日: 2004/07/15
投稿数: 22
投稿日時: 2006-01-26 11:35
皆様ありがとうございます。
まずrimmerさんやtakeponさんから教えていただいた方法で、ディレクトリやファイル構成を見ることができました。ありがとうございました。
確認していった所、takeponさんのご指摘通り、
 # mv ./* ./tmpではなく、# mv /* ./tmp
とコマンド入力していたようです。最悪です。。。
WorkDir/tmpの中に、bin、etc、boot、lib、mnt、opt、root、sbin、usrなどのディレクトリ以下が移動してしまっています。。。
あんとれさん、jkさんに教えていただいたように、
cdで/tmp/binに移動した後、lsコマンドを入力してみたり、
フルパスで/親Dir/WorkDir/tmp/bin/ls -l /親Dir/とかやってみたりしましたが、
エラー /lib/ld-linux.so.2:bad ELF interpreter : No such file or directory
となり実行できませんでした。他のコマンドも同じでした。
皆様のおかげでやっとコマンドの存在する場所までたどりつけたのですが、何とかコマンドを実行する方法なないでしょうか?。
私の不注意が原因なのでホントにお恥ずかしいのですが、お力添え宜しくお願い致します。
 
takepon
ベテラン
会議室デビュー日: 2005/11/28
投稿数: 55
お住まい・勤務地: 千葉県・東京都
投稿日時: 2006-01-26 11:47
引用:

りかっちさんの書き込み (2006-01-26 11:35) より:

確認していった所、takeponさんのご指摘通り、
 # mv ./* ./tmpではなく、# mv /* ./tmp
とコマンド入力していたようです。最悪です。。。
WorkDir/tmpの中に、bin、etc、boot、lib、mnt、opt、root、sbin、usrなどのディレクトリ以下が移動してしまっています。。。




orz

引用:

cdで/tmp/binに移動した後、lsコマンドを入力してみたり、
フルパスで/親Dir/WorkDir/tmp/bin/ls -l /親Dir/とかやってみたりしましたが、
エラー /lib/ld-linux.so.2:bad ELF interpreter : No such file or directory
となり実行できませんでした。他のコマンドも同じでした。
皆様のおかげでやっとコマンドの存在する場所までたどりつけたのですが、何とかコマンドを実行する方法なないでしょうか?。



そうですか、/lib が移動してしまったのはイタイですね。
スタティックリンク版のコマンドがあると良かったのですが。

 ⇒識者の方、よろしくお願いします。

ファイルがなくなった訳ではない、ということは確認できたので、
あんとれさんの書き込みにあったように、レスキューCDで起動し、
HDDをマウントして復旧するのが良いかと思います。
(レスキューCDには最低限必要なコマンド類が入った状態になります)

ちなみに、Fedora Core 3 のレスキューCD使用法は、

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/731fc3rescue.html

にありますね。

又は、CDブートする knoppix を使って復旧できた!という方もいらっしゃいます。

一旦シャットダウンすると、復旧するまで二度と正常には立ち上がらないので、
手順はよく調査されてから取り掛かったほうが良いと思います。
## というか、シャットダウンって出来るのかな・・・。

では、ご検討をお祈りしております。
jk
ベテラン
会議室デビュー日: 2005/08/19
投稿数: 94
投稿日時: 2006-01-26 13:41
こんにちは。

ldconfigを使えば解決と思ったんですが、viが使えないから ld.so.configが
編集できないですもんね?

で、ManPageを眺めていたらこんなのを見つけました。
[ld.so]

もしかしたら、こんな風にしたら実行できませんか?
${WorkDir}/tmp/lib/ld-linux.so.2 --library-path ${WorkDir}/tmp/lib/ ${WorkDir}/tmp/bin/ls -l

共有ライブラリのリンクを間接的に指定できると書いてありました。

スキルアップ/キャリアアップ(JOB@IT)