Odată cu apariția lui OS X 10.11 El Capitan, greutățile lui fără rădăcini Modul a devenit real. Acest nou mod este o caracteristică de securitate prin blocarea scrisului în orice zonă controlată de sistem a calculatorului dvs. Mac. Aceasta înseamnă că puteți edita și schimba lucrurile numai în directorul de domiciliu.
Pentru mulți dintre noi, aceasta reprezintă o problemă reală. iubesc homebrew, dar pune totul în / Usr / local
director. Pe o instalare nouă căpitanul, acest director nu există și nu îl puteți crea în mod normal.
Pe un sistem actualizat care are deja acel director, proprietarul devine rădăcină (și totul în el!). Acest lucru se sparge complet homebrew cu un operatie nepermisa mesaj de eroare. Cel mai rău dintre toate, dacă remediați, următoarea actualizare o întrerupe din nou. Sistemul meu a fost actualizat căpitanul de două ori și de fiecare dată când trebuia să o rezolv pentru a folosi corect homebrew.
Dacă nu sunteți familiarizat cu utilizarea liniei de comandă și a celor mai frecvent utilizate comenzi, vă rugăm să citiți Linia de comandă este cel mai bun prieten al tău tutorial primul. Acest tutorial are o treabă excelentă de a explica elementele de bază ale utilizării liniei de comandă.
De asemenea, vă puteți referi la Linia de comandă pentru Web Design serii și cursuri Cum să fii un terminal și Tehnici avansate de linie de comandă.
Dacă nu sunteți familiarizați cu homebrew, citiți tutorialul Homebrew demystificat: Managerul de pachete Ultimate pentru OS X.
sudo
comandă standuri Super Utilizator DO. Acesta vă permite să executați orice altă comandă terminal ca superutilizator sau mai frecvent denumit "utilizator rădăcină". Superuserul este șeful de sus al computerului. Superuserul poate face orice pe computer, atât pentru fixare cât și pentru distrugere.
Utilizarea acestei comenzi poate fi foarte periculoasă.
Această comandă se află în / Usr / bin
director. Mai întâi trebuie să vă asigurați că aveți acel director în calea voastră. Prin urmare, executați această comandă în terminal:
env | grep "PATH"
În linia care începe cu PATH =
, verificați calea / Usr / bin
în lista separată de colon. Dacă nu este acolo, adăugați aceasta la ~ / .Bashrc
fișier pentru shell shell sau ~ / .Zshrc
fișierul zsh pentru shell-ul zsh:
exportul PATH = "$ PATH: / usr / bin";
Acum, puteți folosi sudo comanda. Unii ar putea să se gândească că acest lucru este implicit, dar am descoperit că unele sisteme nu au această configurație. Am depanare probleme de calculator pentru mulți oameni și au văzut / Usr / bin
director lipsește de la multe persoane de autentificare scripturi.
Pentru a utiliza sudo
comanda, tastați linia de comandă pe care doriți să o efectuați după sudo
cu un spațiu.
Pentru exemplul de fixare homebrew, trebuie să modificați proprietatea asupra structurii de directoare la numele de conectare. Dacă nu sunteți sigur ce utilizează sistemul pentru numele de conectare, deschideți Terminal.app în directorul de acasă și tip:
ls -ld .
ls
va comanda Listă conținutul unui director. Steagurile -ld
spune ls
pentru a afișa vizualizarea lungă cu atributele fișierului (l) și numai pentru directorul (d). .
înseamnă directorul curent. Acest lucru ar trebui să producă o ieșire similară cu aceasta:
drwxr-xr-x 132 personalul raguay 884 Nov 6 14:11 .
raguay
este numele de conectare din sistemul meu. Acesta va fi diferit pentru tine și este numele de care aveți nevoie pentru a schimba / Usr / local /
proprietate.
Acum, pentru a fixa dreptul de proprietate asupra / Usr / local /
director, trebuie să utilizați chown
comanda. chown
comandă standuri CHANGE OWNer și asta este ceea ce face. Pe sistemul meu, comanda este:
sudo chown -R raguay / usr / local
-R
pavilionul spune chown
pentru a schimba proprietatea recursiv. Aceasta înseamnă că fiecare fișier și directorul din / Usr / local
li se va schimba proprietarul raguay
. Trebuie să modificați numele de utilizator pentru a reflecta sistemul dvs..
Mai sus, puteți vedea mesajul de eroare când încercați să schimbați / Usr / local
directorul de proprietate fără a utiliza sudo
. Nu am folosit -R
ca ar fi generat o eroare pentru fiecare fișier și director. Următoarea linie de comandă utilizează funcția sudo
comanda. Comanda va cere parola și apoi va efectua acțiunea fără erori.
După cum am spus, acest lucru vă oferă multă putere asupra sistemului. Fiți foarte atent, puteți cauza ca sistemul să fie inutilizabil utilizând sudo
comanda. De exemplu, linia de comandă pentru a șterge un fișier este rm
pentru ReMove un fișier. Dacă tastați:
sudo rm -R /
Veți șterge totul de pe hard disk. Asta ar însemna că va trebui să reinstalați complet sistemul de operare, toate programele pe care le-ați avut și toate fișierele de date dintr-o copie de rezervă. Dacă nu aveți o copie de rezervă, ei bine, tocmai au dispărut.
Pana si chown
comanda poate face lucrurile inutilizabile. Dacă schimbați proprietarul tuturor fișierelor din / Applicatons
la un nume care nu există, atunci nu veți putea rula oricare dintre aplicațiile dvs. din acel director.
Prin urmare, fiți foarte atent cum utilizați sudo
comanda.
Acum că acum cum să remediați problemele de proprietate pe Mac, aveți cunoștințele necesare pentru a remedia probleme similare pe care le-ați putea avea în viitor. Nu uitați să folosiți comanda foarte atent și verificați comanda pe care o introduceți înainte de a vă da parola.
Odată executat, dezactivarea poate fi greu de aproape imposibilă fără reinstalarea completă a sistemului de operare.