Jak mogę usunąć ten katalog? Zrobiłem to fsck
i znalazłem śmieci, przejrzałem te pliki i nie było nic ważnego. Więc próbowałem usunąć zawartość /lost+found
i wszystko poszło oprócz tego dziwnego katalogu. Pomyślałem, że ustawienie go /tmp
(mogę przenieść ten katalog na wolumin) spowoduje usunięcie go przy następnym restarcie, ale nadal będzie dostępne zarówno po ponownym uruchomieniu, jak i kolejnym fsck
.
Ponieważ wydaje się, że problem jest niski, a gra z prawem własności i uprawnieniami nie wystarczy, sprawiłem, że możesz sam odtworzyć problem. Cieszyć się!
- Jest to bezpieczne, będziesz mógł umountować obraz, aby pozbyć się tych katalogów na swoim komputerze ;
- To nie jest izo-obraz, to wynik
dd if=/dev/sda1 of=/files/broken.iso
;
Zrobiłem 15 MB archiwum z obrazem o wielkości ~ 1,2 GB. Możesz go pobierać i stosować za pomocą następujących poleceń:
cd /tmp
wget https://dl.dropboxusercontent.com/u/22701362/broken.tar.xz
tar xvf broken.tar.xz
mkdir test
sudo mount broken.iso test
cd test
Byłyby dwa katalogi (podczas tworzenia tego obrazu wydaje się, że na moim dysku są dwa takie katalogi):
/tmp/test> tree
.
├── 1
│ └── plexus-component-annotations-1.5.5.jar.sha1 [error opening dir]
└── 2
└── #1589030 [error opening dir]
4 directories, 0 files
Powodzenia w usuwaniu tych dwóch katalogów:
/tmp/test> sudo rm -rf *
rm: cannot remove '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
rm: cannot remove '2/#1589030': Operation not permitted
/tmp/test> sudo chown -R root:root *
chown: changing ownership of '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
chown: cannot read directory '2/#1589030': Permission denied
/tmp/test> sudo chmod -R 777 *
chmod: changing permissions of '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
chmod: changing permissions of '2/#1589030': Operation not permitted
chmod: cannot read directory '2/#1589030': Permission denied
df
wynik pokazuje, że twój / tmp` jest w rzeczywistości normalnym katalogiem, /
a nie tmpfs, który jest domyślną konfiguracją. To zaskakujące, ale wyjaśnia zarówno, dlaczego można skopiować katalog /tmp
i dlaczego przetrwa ponowne uruchomienie. perl
Wyjście naprawdę nie dodać dużo nie, ale warto było spróbować. Trzymam się tutaj słomek.
/tmp
domyślnie jest normalny katalog. Odbywa się to, aby zapobiec jego wypełnieniu do 100% i zaoszczędzić pamięć RAM. Jest czyszczony podczas uruchamiania. To zachowanie istnieje przez długi czas.
/tmp
na tym samym woluminie? Czy możesz opublikować wynikdf
? Ponadto, proszę opublikować wyniksudo perl -MFile::Path -e 'rmtree("/tmp/foo") || die "$!"'
na wypadek, gdybyśmy otrzymali bardziej informacyjny komunikat o błędzie.