btrfs: ls는 디렉터리에 동일한 파일을 두 번 나열합니다.

btrfs: ls는 디렉터리에 동일한 파일을 두 번 나열합니다.

저는 Linux 4.10.8에서 btrfs를 사용하고 있습니다. 하드 재부팅 후 Google 크롬은 로컬 데이터를 찾을 수 없다고 주장합니다. 해당 사용자 ID를 추가했더니 그 중 일부가 다시 돌아왔는데 무슨 일인지 궁금합니다. ~/.config/google-chrome을 살펴보고 다음을 발견했습니다.

$ ls -i 

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

동일한 inode를 가진 동일한 파일이 두 번 있습니다. 이것이 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

손상된 디렉토리를 발견하고 수정합니다. 아마도 거기에서 시작할 수 있지만 완전성을 위해 제가 취한 다른 단계를 그대로 유지하겠습니다.

관련 정보