Dove dovrebbero essere installati gli strumenti della shell?

5

Ci sono delle linee guida Apple su dove installare gli strumenti della shell utente in Mountain Lion? Alcuni (es. TeX, o Git di Apple) finiscono in /usr , e altri (es. X11) sembrano finire in /opt (a volte con un link simbolico da /usr ), mentre altri (es. Git) finiscono in /user/local , e mi chiedo quale sia la differenza, e se uno è preferito rispetto all'altro.

    
posta orome 03.02.2013 - 18:52
fonte

1 risposta

7

Il Standard di gerarchia del file system è seguito in Linux e in altri sistemi operativi basati su Unix, e OS X segue anche questo, per un larga misura. La cartella /private è dove fondamentalmente risiede il tuo nucleo di OS X e le cartelle /etc e /var sono solo puntatori simbolici rispettivamente a /private/etc e /private/var . Puoi verificarlo utilizzando readlink come% % co_de.

La cartella readlink /etc è per applicazioni utente aggiuntive e quindi è /opt , e puoi scegliere di installarne uno solo. Non importa (a patto che tu ti occupi di aggiungere ai tuoi percorsi in modo appropriato) e l'intento principale è di mantenerlo isolato dagli aggiornamenti del sistema operativo (che sovrascriverà roba, diciamo, /usr/local ).

Spesso, viene adottata la seguente "convenzione libera":

  • se il pacchetto / l'applicazione segue gli standard unix, quindi installalo su /bin . Non ci saranno sorprese nel pacchetto e puoi sicuramente aspettarti una struttura di sottodirectory come /usr/local/ , bin , etc , include , e così via.

  • se il software viene compresso come applicazione autonoma in cui la struttura della sottodirectory è arbitraria , devi semplicemente installarla su share . Sulla mia macchina, ho il mio VPN, /opt installato in cisco e ha le seguenti directory: /opt , anyconnect , hostscan . Nessuna di queste cartelle sono compatibili con Unix e l'installazione su vpn non sarebbe una buona idea.

Entrambi hanno i loro "vantaggi" e "svantaggi", a seconda di come lo visualizzi e di quale sia la tua familiarità con unix.

  • L'installazione su /usr/local è "conveniente" in quanto se si aggiunge semplicemente /usr/local al proprio percorso, tutto il resto viene impostato e non è necessario modificare nulla se si aggiunge una nuova applicazione. D'altra parte, se è necessario rimuovere qualcosa, è un problema perché tutti i programmi sono raggruppati insieme e non si ricordano quali binari sono stati installati per l'applicazione X e quali quelli per l'applicazione Y.

  • L'installazione su /usr/local/bin richiede l'aggiunta manuale al percorso e forse l'installazione di collegamenti simbolici, ma la rimozione di un'applicazione è conveniente, perché è sufficiente rimuovere la cartella e il gioco è fatto.

risposta data 03.02.2013 - 19:20
fonte

Leggi altre domande sui tag