btrfs:lsは、ディレクトリに同じファイルを2回一覧表示します。

btrfs:lsは、ディレクトリに同じファイルを2回一覧表示します。

私はLinux 4.10.8でbtrfsを使用しています。ハード再起動後、Google Chromeはローカルデータが見つからないと主張します。そのユーザーIDを追加したところ、それらのいくつかが戻ってきましたが、何が起こったのか疑問に思いました。 ~/.config/google-chrome を見て、次のことを見つけました。

$ ls -i 

...
3529523 'Local State'
3529523 'Local State'
...

同じinodeを持つ同じファイルが2回あります。これがGoogle Chromeが混乱している理由だと思います。再起動するたびに正常に動作しているように見えますが、このLocal\Stateファイルに多くの内容を書き込んでいます。ただし、再起動するとローカル状態をロードできないというメッセージが表示されます。 SMARTチェックまたはbtrfsckはどちらもエラーを報告しませんでした。どんなアイデアがありますか?

ベストアンサー1

カーネルを使用するbtrfsでも同じ問題が発生しましたが、4.14.0重複ファイルは.config/google-chrome-unstable/Default/TransportSecurity次のように解決できました。

cd .config/google-chrome-unstable/Default
mkdir -p ~/tmp/Default
chmod 700 ~/tmp/Default
tar cf - . | (cd ~/tmp/Default && tar xf -)
cd ~
rm -rf .config/google-chrome-unstable/Default # this will error because the directory isn't empty because the duplicated file left some residue
mv .config/google-chrome-unstable/Default{,.old}
mv ~/tmp/Default .config/google-chrome-unstable/

今私がls -l .config/google-chrome-unstable/Default.old得るとき:

ls: cannot access '.config/google-chrome-unstable/Default.old/TransportSecurity': No such file or directory
total 0
-????????? ? ? ? ?            ? TransportSecurity

この時点でシングルユーザーモードで再起動し、以下を実行しました。

umount /home
btrfs check --repair /dev/sdc1

破損したディレクトリを見つけて修正します。おそらくそこから始めることができますが、完全性のために私が取った他のステップをそのまま維持します。

おすすめ記事