以下を使ってこのディレクトリを移動したいと思います。
sudo mv /usr/lib /tmp/bad_files/
sudo mkdir /usr/lib
sudo mv /tmp/bad_files/lib/* /usr/lib/
なぜこれを行うべきですか?
ファイルシステムに関連する問題があり、fsck
以下を使用して問題を解決することはできません。http://talk.radxa.com/topic/949/how-to-fsck-nandこれは不思議だと思う人のために)私はFSを欺きたいので、私は使用できないすべてのファイルをいくつかのダンプディレクトリ(読み取れないので破損した場所ではない場所)に移動します。
試してみましたが、問題の単一のファイルだけを移動することはできません。
/usr/lib → sudo mv ./libpostfix-tls.so.1 /tmp/bad_files/
mv: cannot stat ‘./libpostfix-tls.so.1’: Input/output error
apt-get install -- reinstall
問題のあるファイルは元のパッケージを使用して再インストールします。
ただそれをしてはいけませんか?
もし私がするなら
sudo strace mv ./libpostfix-tls.so.1 /tmp/bad_files/
mvコマンド自体が使用されているのを見て、これは/usr/lib
OSがシャットダウンするのを心配します。
...
open("/usr/lib/locale/C.UTF-8/LC_COLLATE", O_RDONLY|O_CLOEXEC) = 3
...
だから私の質問は:このフォルダを安全に移動できますか?オペレーティングシステムとデバイス情報:
Distributor ID: Linaro
Description: Linaro 14.04
Release: 14.04
Codename: trusty
/dev/mtdblock1 on / type ext4 (rw)
答え1
メンテナンスのためにシステムをシャットダウンできない場合、実際に使用しているシステムファイルを移動することは可能であれば非常に困難です。メンテナンスのためにシステムをシャットダウンできる場合は、2つの方法を考えることができます。
構造システムの開始
リカバリディスクやgpartedなどの他のシステムから起動し、ルートパーティションをマウントし、提案どおりに/ usrを移動する必要があります。これが実際に実行されている間に独自のファイルを移動して元のシステムを妨げないようにするために、私が見ることができる最も安全な方法です。
同じシステム:シングルユーザーモード+ LD_LIBRARY_PATH
何らかの理由で起動する他のシステムがない場合でも、次の方法で同じシステムから起動できます。
入るにはシステムを再起動してください。シングルユーザーモード(ほとんどのLinuxディストリビューションでは実行レベル1)
コピー/usr/lib/* 次の安全な場所
cp /usr/lib/* /tmp/tmplib/
これを指すようにLD_LIBRARY_PATHを設定します。 bashシェルがあると仮定すると、次のようになります。
export LD_LIBRARY_PATH=/tmp/tmplib
試した方法でファイルを移動します。
婦人声明:ライブシステムでこれを試す機会がなかったので、それを考慮して常にすべてのファイルをバックアップしてください。