Nie można usunąć folderu o nazwie __MACOSX

1

Mam więc folder w moim ~./Trashfolderze i nie mogę go usunąć. Nazywa się __MACOSX i wypróbowałem wszystko, co mogę wymyślić, aby się go pozbyć. Finder w ogóle się nie uruchomi z tego powodu (zaczyna się trochę przy logowaniu, ale potem się zawiesza / zawiesza), terminal zatrzymuje się, gdy próbuje go usunąć (zarówno jako ja, jak i jako sudo), a nawet zawiesza się, gdy automatyczne uzupełnianie (tabulacja) po wpisaniu kilku pierwszych znaków. Jakieś sugestie?

Aktualizacja : wykonanie normalnej lslisty jest w porządku, ale ls -lpróba dowiedzenia się więcej na ten temat powoduje zawieszenie terminala:

polaris:~ rob$ cd .Trash/
polaris:.Trash rob$ ls
__MACOSX
polaris:.Trash rob$ ls -l
^C^C

(Naciśnięcie ^ C nic nie robi)

Kolejna aktualizacja : narzędzie Onyx trash zawiesza się podczas usuwania kosza lub bezpiecznego usuwania kosza, awarie SuperEmptyTrash,

pingwin
źródło
Czy próbowałeś sprawdzić dysk pod kątem problemów?
Matteo
@Matteo masz na myśli weryfikację / naprawę dysku w Disk Utility.app?
Penguinrob
Tak, a także uprawnienia.
Matteo
Oboje i wrócili dobrze. Mówił, że wolumen wydaje się być w porządku, a jedynym zmienionym zezwoleniem był dokument z apache, który zmieniłam, co wątpię, czy będzie to problem
penguinrob

Odpowiedzi:

2

Mogę wymyślić kilka rzeczy.

Najpierw spróbuj usunąć wszystko z .Trashfolderu z uprawnieniami sudo:

sudo rm -rf ~/.Trash/*

Jeśli to się nie powiedzie, spróbuj zresetować PRAM na komputerze Mac. Czasami może to zaskakująco naprawić dziwne błędy.

Na koniec upewnij się, że uprawnienia do twojego .Trashfolderu są poprawne

ls -ale ~/.Trash/

Uprawnienia do folderu powinny wyglądać następująco:

drwx------ 24 username staff 816 Mar 24 22:06 .

drwxr-xr-x+ 34 username staff 1156 Mar 24 09:51 ..

sudo rm -rf
źródło
Oczywiście, jeśli ls -lzawiesi się Terminal, sprawdzenie uprawnień prawdopodobnie spowoduje to samo. Jednak warto to zrobić.
sudo rm -rf
tak, wciąż to zamraża.
Penguinrob
Czy próbowałeś usunąć folder kosza, jak już wspomniałem? Jeśli tak, spróbuj naprawić uprawnienia do folderu domowego: osxdaily.com/2011/11/15/… Należy pamiętać, że naprawa uprawnień różni się od standardowej naprawy Narzędzia dyskowego. Musisz zrestartować urządzenie Lion.
sudo rm -rf
Tak, mam. Nadal mam tę komendę otwartą w zakładce Terminal od godziny temu, aby sprawdzić, czy to zajmie trochę czasu, ale nadal jest zamrożone.
Penguinrob
Przed ponownym uruchomieniem możesz spróbować czegoś dla mnie? Mam przeczucie. sudo fs_usage -f filesys | grep ~/.Trash To pokaże, gdy cokolwiek spróbuje uzyskać dostęp do folderu śmieci. Zastanawiam się, czy coś ma blokadę odczytu i nie pozwala jej odejść.
sudo rm -rf
1

Najpierw zasugerowałem „sudo rm -rf __MACOSX” - który zamraża terminal.

Hmm. Mam tylko .Trashes w moim ~, jesteś w 10.7?

W każdym razie - „ls -lA” pokazuje, że końcowy znak uprawnień to t, więc „tylko właściciele plików mogą łączyć lub odłączać pliki w określonym katalogu”. W tym przypadku chcesz odłączyć (usunąć). Właścicielem tego katalogu jest root, więc musisz być rootem.

Domyślnie nie można „su” w Lion. Możesz włączyć konto roota za pomocą Usług katalogowych w / System / Library / CoreServices. Uwierzytelnij, a następnie wybierz „Włącz użytkownika root” w menu edycji.

Gdy już to zrobisz, zwykłe „su”, po którym następuje hasło, sprawia, że ​​faktycznie „rootujesz” nie tylko innego użytkownika, który robi rzeczy z uprawnieniami roota. Monit zmieni się na coś bardzo podobnego sh-3.2#do zwykłego i whoamiodpowie „root”.

Wtedy powinieneś być w stanie zabić ten plik!

Adam Eberbach
źródło
Tak, próbowałem tego, po prostu zamrażam terminal.
Penguinrob
Myślę, że znalazłem drogę po kopaniu ...
Adam Eberbach
Zakładam, że uruchamianie su jest takie samo jak sudo -i, ponieważ nadal mam roota dla whoami. Nadal zamraża terminal podczas próby jego usunięcia.
Penguinrob
1
Spróbuj „sudo chflags nouchg __MACOSX” - a następnie spróbuj ponownie? Sugerowałbym także „sudo chflags noschg __MACOSX”, ale myślę, że musisz uruchomić system w trybie jednego użytkownika - jeśli chcesz go wypróbować, uruchom ponownie i przytrzymaj komendę-S podczas uruchamiania.
Adam Eberbach
Jak poszedłeś, pingwinie? Wygląda na to, że zdobyłem tutaj downvote drive-by, zakładam, że to nie byłeś ty.
Adam Eberbach
1

Przeniosłem folder do /tmpi ponownie uruchomiłem komputer. Sądzę, że /tmpnie został on zachowany w trakcie ponownego uruchamiania, więc pozwoliłem systemowi zająć się tym problemem.

Gerard
źródło
I czy to zadziałało?
nohillside
1

Wypróbowałem wszystkie powyższe sugestie z wyjątkiem ostatniej, ponieważ nie chciałem, aby maszyna nie uruchamiała się w przypadku zawieszenia się, próbując usunąć nieusuwalny plik. Ale działały:

  1. Przeniesiono __MACOSX z kosza, przeciągając go do pustego folderu.
  2. Od Findera zmieniono uprawnienia, tak aby właściciel, grupa, wszyscy mogli czytać / zapisywać / wykonywać.
  3. Otwarty terminal i wydany sudo -r -f __MACOSX

Byłem zaskoczony, że powyższe zadziałało, ale tak się stało!

Jeff Fried
źródło
1
Zakładam, że użyłeś Findera do przeniesienia folderu z kosza, ale to by nie działało, ponieważ Finder w ogóle by się nie zaczął. Terminal wisiał za każdym razem, gdy próbowałem coś zrobić, ale dzięki za to, że powiedziałeś, co działa dla ciebie!
Penguinrob