1.9. /lib

La directory /lib contiene i moduli del kernel e quelle immagini delle librerie condivise (le librerie del codice di programmazione di C) necessarie per avviare il sistema ed eseguire i comandi nel filesystem root, cioè tramite i file binari nelle directory /bin e /sbin. Le librerie sono facilmente identificabili dall'estensione *.so; in Windows l'equivalente di una libreria condivisa sarebbe un file DLL (dynamically linked library); le librerie sono essenziali per la funzionalità di base del sistema. I moduli del Kernel (driver) si trovano nella sottodirectory /lib/modules/"versione-del-kernel". Per essere sicuri che un modulo venga compilato correttamente bisogna assicurarsi che la directory /lib/modules/"versione-del-kernel"/kernel/build punti a /usr/src/"versione-del-kernel" o che nel Makefile ci siano indicazioni sulla posizione dei sorgenti del kernel.

/lib/"architettura-della-macchina"

Contiene le librerie dipendenti dalla piattaforma/architettura.

/lib/iptables

I file della libreria condivisa iptables.

/lib/kbd

Contiene diverse mappature di tasti.

/lib/modules/"versione-del-kernel"

La directory di partenza di tutti i moduli del kernel. L'organizzazione dei file è sufficientemente chiara, per cui non sono necessarie ulteriori spiegazioni.

/lib/modules/"versione-del-kernel"/isapnpmap.dep

Contiene i dettagli sulle schede di tipo ISA, sui moduli richiesti e diversi altri attributi.

/lib/modules/"versione-del-kernel"/modules.dep

Elenca tutte le dipendenze dei moduli. Questo file può essere aggiornato col comando depmod.

/lib/modules/"versione-del-kernel"/pcimap

È l'equivalente del file /lib/modules/'kernel-version'/isapnpmap.dep per le schede di tipo PCI.

/lib/modules/"versione-del-kernel"/usbmap

È l'equivalente del file /lib/modules/'kernel-version'/isapnpmap.dep per le schede USB.

/lib/oss

Tutti i file relativi all'OSS (Open Sound System) sono installati in questa directory in modo predefinito.

/lib/security

I file della libreria PAM.


Il FSSTND specifica che la directory /lib contiene quelle immagini delle
librerie condivise necessarie per avviare il sistema ed eseguire i comandi nel
filesystem root, cioè tramite i file binari nelle directory /bin e
/sbin.

Le librerie condivise che servono solo per l'esecuzione dei binari in /usr
(come tutti i binari per X Window) non devono stare in /lib. Possono stare in
/lib solo le librerie condivise richieste per l'esecuzione dei binari in /bin e
/sbin. In particolare, la libreria libm.so.* può stare anche in /usr/lib
se non è richiesta da nessun file in /bin or /sbin.

È richiesto almeno uno dei seguenti tipi di file (possono essere file o 
collegamenti simbolici):

libc.so.* La libreria C collegata dinamicamente (opzionale)
ld*       Il linker/loader istantaneo (opzionale)

Se c'è un preprocessore C installato, /lib/cpp dev'essere un riferimento
a questo, per motivi storici. La posizione ordinaria di questo binario è
/usr/bin/cpp.

Le seguenti directory, o collegamenti simbolici a directory, devono essere in
/lib, se è installato il sottosistema corrispondente:

modules   I moduli del kernel caricabili (opzionale)

/lib<qual> : Un formato alternativo delle librerie condivise essenziali
(opzionale)

Ci possono essere una o più varianti della directory /lib su sistemi che
supportano più di un formato binario che richiede librerie separate.

Normalmente questo è usato per il supporto ai 64-bit o 32-bit su sistemi
che supportano più formati binari, ma richiedono librerie con lo stesso
nome. In questo caso /lib32 e /lib64 potrebbero essere le directory delle
librerie, e /lib un collegamento simbolico a una di esse.

Se è presente una o più di queste directory, i requisiti per i loro
contenuti sono gli stessi della directory /lib normale, con l'eccezione che
la directory /lib<qual>/cpp non è richiesta.

/lib<qual>/cpp è tuttavia possibile: uno di questi casi è
quando /lib e /lib<qual> sono le stesse (una è un collegamento
simbolico all'altra).