Uruchomiłem „chown” na wszystko w katalogu / usr dla użytkownika innego niż root. Chciałbym uruchomić go dla / usr / local / Teraz pojawia się błąd poniżej przy otwieraniu terminalu
login(89809,0x7fff7bac5960) malloc: *** error for object 0x7fc7cb500b40: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
[Process completed]
Odpowiedzi:
Jeśli nie możesz przywrócić
/usr/
z kopii zapasowej, możesz najpierw uruchomić w trybie pojedynczego użytkownika (przytrzymując Command-S podczas uruchamiania) i uruchomićchown -R root /usr/
.Podczas mojej instalacji wszystkie pliki poniżej
/usr/local/
były własnością root lub ja, kilka plików poniżej/usr/
było własnością_uucp
, a wszystkie pozostałe pliki/usr/
należały do roota:Spowodowałoby to zmianę właściciela
uucp
plików:/usr/local/
nie istnieje w nowej instalacji OS X. Jeśli korzystasz tylko/usr/local/
z Homebrew, możesz usunąć,/usr/local/
a następnie ponownie zainstalować Homebrew.Alternatywnie możesz użyć Pacifist, aby skopiować domyślną wersję
/usr/
z instalatora OS X pobranego z App Store. Wykonanie instalacji aktualizacji OS X z partycji odzyskiwania lub aktualizacji do wersji 10.9 może również przywrócić właścicieli niektórych plików.źródło
Myślę, że jest to przypadek, w którym uprawnienia do naprawy faktycznie robią coś pożytecznego. Przywróci prawidłowe uprawnienia do wszystkich plików dostarczonych przez Apple, które, jak sądzę, są wszystkie oprócz tych w / usr / local Ten katalog zawiera elementy, które dodałeś, więc powinieneś być w stanie odtworzyć.
Aby naprawić uprawnienia Użyj narzędzia Disk Utility.app i wybierz dysk rozruchowy z listy dysków po lewej stronie. Będą przyciski do weryfikacji lub naprawy uprawnień do dysku.
źródło
/usr/!(local)/
, które nie były zawarte w systemie OS X: na przykład pliki, które zostały dodane przez pakiet narzędzi wiersza poleceń, pliki dodane przez instalatory MacTeX, Java i Haskell, a niektóre pliki binarne/usr/bin
zostały dodane przezsudo /usr/bin/gem install
./usr/!(local)/
Apple, aby zarządzać tym obszarem