Comprendere le Cartelle di Sistema del Tuo Mac

Le cartelle di sistema non sono destinate ad essere accessibili dall’utente. Aiutano le applicazioni e il sistema operativo a funzionare, fornendo supporto e risorse. Sono lo strato che consente agli utenti di manipolare l’host tramite applicazioni e programmi. Alcune sono nascoste, altre no, ma quasi tutte sono accessibili all’utente in qualche modo.
Ma a cosa servono le varie cartelle di sistema? Cos’è “bin” e in che modo aiuta il tuo computer? Esamineremo le cartelle di sistema più comunemente referenziate qui di seguito.
La cartella “/System” stessa sul tuo Mac non contiene molto. Inizieremo a esaminare il suo contenuto prima di passare ad altre cartelle di sistema più profonde.
Nota: Non aggiungere, rimuovere o modificare cartelle e file di sistema. Puoi navigare in sicurezza, ma aggiungere, rimuovere o modificare file o cambiare le cartelle stesse può avere conseguenze imprevedibili - e talvolta dannose per il sistema. Se devi sperimentare, fai un clone avviabile del tuo Mac prima di procedere.
Cartelle della Libreria: /System/Library e ~/Library

Le cartelle della libreria sono quelle più vicine all’utente. Vengono create dalle applicazioni, le quali aggiungono, rimuovono e modificano file nel corso della loro operazione. A dire il vero, il processo organizzativo qui può essere un po’ caotico. Le applicazioni sono fondamentalmente libere di fare ciò che vogliono riguardo alla collocazione dei file nella Libreria, ma la maggior parte segue un processo abbastanza simile.
Troverai una grande varietà di file e cartelle sia nella cartella della libreria dell’utente (situata in “~/Library”) che nella cartella della libreria di sistema (situata in “/System/Library”). Questi file memorizzano preferenze, database delle applicazioni, metadati, plugin, stati delle applicazioni salvati, profili di sistema, cookie e molto, molto altro.
Supporto per le Applicazioni

La cartella “~/Library/Application Support” è la libreria più frequentemente accessibile. Qui le applicazioni salvano file necessari per il loro funzionamento. Lontano dalle cartelle di dati dell’utente, questi file possono essere segregati per evitare contaminazione o modifica.
Quando gli utenti accedono a questa cartella, lo fanno per modificare il modo in cui un programma funziona in un modo non supportato dalle impostazioni predefinite o per risolvere un errore nel cache o nel database. Rimuovere la cartella di supporto dell’applicazione di un programma è un buon modo per ripristinarlo allo stato predefinito e forzare un avvio pulito. E se vuoi esplorare un’applicazione, ti troverai presto nella cartella di supporto dell’applicazione di quel programma.
Qual è la differenza tra /System/Library e ~/Library?
Perché macOS ha bisogno di due cartelle di libreria? La libreria di sistema è utilizzata da tutti gli utenti per necessità a livello di sistema. È accessibile a tutti gli utenti. La libreria dell’utente, d’altra parte, è accessibile solo da quell’utente specifico.
Cartelle Unix: /bin, /sbin, /usr, /var, /private

macOS è costruito su un kernel Unix. Questo significa che gran parte della sua funzionalità profonda si basa sulla funzionalità di Unix. Quindi, oltre alle cartelle di sistema macOS di livello superiore, troverai anche cartelle Unix. Queste cartelle sono universamente nascoste, quindi dovrai rivelare i file nascosti per seguire il tour.
Troverai diverse cartelle Unix nella tua directory home. Le più notevoli sono “/bin” e “/sbin,” “/usr,” “/var,” e “/private.”

“/bin” e “/sbin” contengono entrambe file binari. “sbin” contiene binari necessari per avviare, ripristinare, recuperare e riparare il sistema anche senza un file system montato. “/bin” contiene essenzialmente comandi utente utilizzabili da tutti gli utenti. “bin” sta per bin ari e “sbin” sta per s istem bin ari.
Su macOS la maggior parte dei binari per il montaggio del file system in “/sbin” sono collegati simbolicamente ai plugin del file system macOS nella cartella “/System/Library/Filesystems”.

“/usr” contiene file binari e librerie utilizzati durante il normale funzionamento del sistema. I file qui vengono utilizzati dopo che un file system è montato. “usr” è l’abbreviazione di “user” o U nix S ystem R esources.

“/var” contiene file che il sistema scrive nel corso del suo funzionamento, come cache, librerie di dati e log. Var sta per var iabile ed è tipicamente scritto solo da applicazioni di sistema a livello core. Su macOS “/var” è collegato simbolicamente a “/private/var.”

“/private” contiene configurazioni per daemon e strumenti da riga di comando, cache, variabili, file di swap della memoria virtuale, file temporanei e immagini di sonno. Alcune cartelle di sistema Unix come “/etc” e “/tmp” sono collegate simbolicamente a una directory con lo stesso nome in /private per i loro contenuti.
Se vuoi conoscere il contenuto di queste cartelle, puoi dare un’occhiata a questo dettagliato riepilogo delle cartelle Unix del Mac.
Estensioni

Se hai mai costruito un Hackintosh, hai sentito parlare di “System/Library/Extensions.” Comunemente abbreviata “S/L/E,” questa cartella contiene “kexts,” o estensioni del kernel, che espandono la funzionalità del kernel di macOS. Aggiungere kexts aiuta il kernel di macOS a comunicare con nuovo hardware. Se vieni dal mondo Windows, i kexts sono come i driver.
Modificare il contenuto di questa cartella è un’operazione delicata, che richiede una gestione attenta dei permessi. Se desideri aggiungere o rimuovere kexts su macOS, assicurati di farlo correttamente.
Agent e Daemons
I daemon e gli agent funzionano in background, eseguendo compiti senza interazione da parte dell’utente. Il nome insolito (pronunciato come “demon”) deriva dal daemon di Maxwell.
I daemon eseguono operazioni di sistema e vengono eseguiti da root, mentre gli agent sono eseguiti dall’utente attualmente connesso. Gli agent e i daemon globali possono essere accessibili ed eseguiti per conto di qualsiasi utente, mentre gli agent di un utente possono essere eseguiti solo per conto dell’utente che possiede il loro file di libreria.
- “~/Library/LaunchAgents” contiene agenti utente eseguiti per conto dell’utente connesso
- “/Library/LaunchAgents” contiene agenti globali eseguiti per conto dell’utente connesso
- “/System/Library/LaunchAgents” contiene agenti di sistema eseguiti per conto dell’utente connesso
- “/Library/LaunchDaemons” contiene daemon globali eseguiti da root
- “/System/Library/LaunchDaemons” contiene daemon di sistema eseguiti da root
Puoi creare nuovi daemon e configurare quelli esistenti con il programma da riga di comando launchctl.
Conclusione
Ci sono altre cartelle non utente nascoste nel tuo Mac, ma quelle sopra sono le più comunemente accessibili. Puoi saperne di più su come i file system Unix sono organizzati consultando il Filesystem Hierarchy Standard, che spiega i requisiti e le linee guida per la collocazione di file e directory simili a Unix.