Con l'avvento di OS X 10.11 El Capitan, le difficoltà di senza radici la modalità è diventata reale. Questa nuova modalità è una funzione di sicurezza bloccando la scrittura su qualsiasi area controllata dal sistema del tuo Mac. Ciò significa che puoi modificare e modificare le cose solo nella home directory.
Per molti di noi, questo pone un vero problema. io amo homebrew, ma mette tutto nel / Usr / local
directory. In una nuova installazione di Il capitano, quella directory non esiste e non puoi normalmente crearla.
Su un sistema aggiornato che ha già quella directory, il proprietario diventa root (e tutto ciò che contiene!). Questo si rompe completamente homebrew con un operazione non permessa messaggio di errore. Peggio ancora, se lo aggiusti, il prossimo aggiornamento lo rompe di nuovo. Il mio sistema è aggiornato Il capitano due volte e ogni volta ho dovuto risolverlo per usare correttamente homebrew.
Se non si ha familiarità con l'uso della riga di comando e dei comandi più comuni, leggere La riga di comando è il tuo migliore amico prima il tutorial. Questo tutorial fa un ottimo lavoro per spiegare le basi dell'utilizzo della riga di comando.
Puoi anche fare riferimento a La riga di comando per il web design serie e i corsi Come essere un Terminal Pro e Tecniche avanzate della linea di comando.
Se non hai familiarità con homebrew, per favore leggi il tutorial Homebrew Demystified: Ultimate Package Manager di OS X.
Il sudo
comando sta per Super User DO. Permette di eseguire qualsiasi altro comando terminale come superuser o più comunemente indicato come utente root. Il superutente è il principale capo del computer. Il superuser può fare qualsiasi cosa sul computer sia per riparare che per distruggere.
L'uso di questo comando può essere molto pericoloso.
Questo comando è nel / Usr / bin
directory. Prima devi assicurarti di avere quella directory sul tuo percorso. Pertanto, esegui questo comando nel terminale:
env | grep "PATH"
Nella linea che inizia con PATH =
, controlla il percorso / Usr / bin
nella lista separata dal colon. Se non è lì, aggiungi questo al ~ / .Bashrc
file per la shell bash o il ~ / .Zshrc
file zsh per la shell zsh:
export PATH = "$ PATH: / usr / bin";
Ora puoi usare il sudo comando. Alcuni potrebbero pensare che questo sia il default, ma ho trovato alcuni sistemi che mancano questa configurazione. Eseguo il debug dei problemi del computer per molte persone e ho visto il / Usr / bin
directory mancante dagli script di accesso di molti popoli.
Per usare il sudo
comando, si digita la riga di comando che si desidera eseguire dopo sudo
con uno spazio.
Per l'esempio del fissaggio homebrew, è necessario modificare la proprietà della struttura di directory sul nome di accesso. Se non si è sicuri del sistema utilizzato per il nome di accesso, aprire il Terminal.app nella directory home e digitare:
ls -ld .
Il ls
comando lo farà Elenco il contenuto di una directory. Le bandiere -ld
raccontare ls
per mostrare la vista lunga con gli attributi del file (l) e solo la directory (d). Il .
significa la directory corrente. Questo dovrebbe produrre un risultato simile a questo:
drwxr-xr-x 132 raguay staff 884 nov 6 14:11 .
Il raguay
è il nome di accesso sul mio sistema. Sarà diverso per te ed è il nome a cui devi cambiare il / Usr / local /
Proprietà.
Ora, per fissare la proprietà del / Usr / local /
directory, è necessario utilizzare il chown
comando. Il chown
comando sta per Cambiare proprietario e questo è quello che fa. Sul mio sistema, il comando è:
sudo chown -R raguay / usr / local
Il -R
la bandiera dice chown
per modificare la proprietà in modo ricorsivo. Ciò significa, ogni file e directory in / Usr / local
avrà il proprietario cambiato in raguay
. Devi cambiare il nome utente per riflettere il tuo sistema.
Sopra, è possibile visualizzare il messaggio di errore quando si tenta di modificare il / Usr / local
proprietà della directory senza utilizzo sudo
. Non ho usato il -R
segnala come dovrebbe generare un errore per ogni file e directory. La prossima riga di comando usa il sudo
comando. Il comando chiederà la password e quindi eseguirà l'azione senza errori.
Come ho già detto, questo ti dà un sacco di potere sul sistema. Stai molto attento, puoi far sì che il sistema sia inutilizzabile usando il sudo
comando. Ad esempio, la riga di comando per eliminare un file è rm
per ReMove un file. Se si digita:
sudo rm -R /
Cancellerai tutto sul disco rigido. Ciò significherebbe che dovresti reinstallare completamente il tuo sistema operativo, tutti i programmi che hai e tutti i tuoi file di dati da un backup. Se non hai un backup, beh, è tutto finito.
Persino il chown
il comando può rendere le cose inutilizzabili. Se cambi il proprietario di tutti i file nel / Applicatons
directory a un nome che non esiste, quindi non sarà possibile eseguire alcuna delle applicazioni in quella directory.
Pertanto, stai molto attento a come usi il sudo
comando.
Ora che ora risolvi i problemi di proprietà sul tuo Mac, hai le conoscenze per risolvere problemi simili che potresti avere in futuro. Ricordati di usare il comando con molta attenzione e controlla il comando che scrivi prima di dare la tua password.
Una volta eseguito, annullarlo può essere quasi impossibile senza una completa reinstallazione del sistema operativo.