システムファイルを消してしまった。

よく聞かれる問題とその回答

モデレータ: 暇人, YoN, nyu

返信する
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

システムファイルを消してしまった。

投稿記事 by シノバー »

パピーリナックスでは他のリナックスと違ってシステムファイルも簡単に消せてしまいます。どのファイルを消したのか分かっている場合は対処の方法があります。Frugalインストールとフルインストールでは方法が異なります。まずFrugalインストール(pupsaveを使っている)の場合について2つの方法を説明します。1つは正攻法。もう一つは裏技 :wink:

Frugalインストールでは、システムファイルはメインSFS (たとえば pup_431.sfsなど)内にあり、変更部分は pupsave に保存されます。パピーが動作中は メインSFSの内容は /initrd/pup_ro2以下に見ることができます。 pupsaveの内容は /initrd/pup_rw あるいはフラッシュメモリからの起動では /initrd/pup_ro1。

したがって、消したファイルが分かっている場合、そのオリジナルは /initrd/pup_ro2以下にあります。たとえば /usr/bin/seamonkey を消してしまったという場合、/nitrd/pup_ro2/usr/bin/seamonkey を /usr/bin/seamonkey にコピーしてやれば、このファイルに関して初期状態に戻ります。
第1の方法ここまで

さて、ここから先は裏技になるので、よい子は真似をしないでください 8)
pupsave に保存される変更部分は、ファイルの追加とともに削除も含みます。削除がどうして保存されるかというと、.wh. で始まる特別のファイル名が記録されます。このファイルは /initrd/pup_rw あるいは /initrd/pup_ro1 以下にあります。ただし .(ドット)で始まるファイル名は隠しファイルなので、 ROX-Filerで見る場合は開いたフォルダの上部にある目玉アイコンをクリックします。そうすると、さきの例で /usr/bin/seamonkey を削除すると /initrd/pup_rw/usr/bin/.wh.seamonkey なるファイルが作られます。
さしあたり影響の少ない /root/my-documents/tmp/README-tmp.txt のファイルを実際に削除してみるとその様子が分かります。

このことを知っていると、/initrd/pup_rw 以下を探索して .wh. で始まるファイルを見つけることで、どのシステムファイルが消されたのかを知ることができます。

では、この /initrd/pup_rw 以下の wh. で始まるファイルを削除することで、もとのシステムファイルが復活するのではないか。 さきの/root/my-documents/tmp/README-tmp.txt で実験してください。/root/my-documents/tmp/README-tmp.txt を削除すると /initrd/pup_rw//root/my-documents/tmp/.wh.README-tmp.txt というファイルが作られます。この wh.README-tmp.txt を削除すると README-tmp.txt が復活すると思いきや、消えたままです。

ここで PCを再起動します。するとなんと、README-tmp.txt が復活してるではないか :D
これがFrugalインストールにおける第2の方法です。
最後に編集したユーザー シノバー [ 13/05/03(金) 13:53 ], 累計 1 回
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

正攻法

投稿記事 by シノバー »

言い忘れましたが、ほんとうの正攻法は、pupsaveを新しく作り直すことです。
viewtopic.php?f=17&t=2145
The bar master, Shino's Bar
http://shinobar.net/
返信する