Differenze tra le molte cartelle lib in Linux


14

Qual è la differenza tra le molte librerie nel sistema Linux? (/ lib, / usr / lib, / var / lib, / usr / share / lib, ecc, ecc.).

So che viene gestito automaticamente da Synaptic ogni volta che installo un'applicazione, ma nel caso in cui volessi diventare uno sviluppatore Linux, ho sicuramente bisogno di sapere dove inserire le librerie dell'applicazione nel sistema.

Risposte:


10

In genere, il software verrà installato in /, o / usr o / usr / local. Questo si chiama "prefisso". / è in genere riservato ai programmi di sistema operativo più critici. / usr / è riservato ai gestori di pacchetti. Pertanto, quando si scrive un software, è molto educato configurarlo in modo che il prefisso sia / usr / local. Quindi questo può essere ignorato quando qualcuno lo impacchetta per una distribuzione.

Nota che non sto parlando specificamente di "lib". Ci sono molti sottodiretti comuni sotto il prefisso, lib essendo solo uno di questi. "bin" è usato per eseguibili, "share" per file di dati, "lib" per librerie condivise e così via. Quindi se il tuo programma è una libreria, puoi installarlo di default su / usr / local / lib. Se è un programma normale, puoi averlo installato su / usr / local / bin con i tuoi file di dati in / usr / local / share. L'importante è farlo in modo che il prefisso sia selezionabile in fase di compilazione. Alcuni potrebbero preferire installare su / usr piuttosto che / usr / local o viceversa.


Quindi il tuo punto è che le posizioni sono piuttosto una linea guida che un limite rigido?
Andreas Wong,

1
È una linea guida, ma DOVREBBE essere seguito e molte applicazioni prevedono determinati file in determinati punti.
Jim Deville,

@James punto preso: D
Andreas Wong,

8

C'è anche uno standard che descrive la gerarchia del filesystem linux / unix. È disponibile all'indirizzo: http://www.pathname.com/fhs/ . Questo è pensato principalmente per gli sviluppatori di distribuzione, ma non vedo alcun motivo per cui un utente / sviluppatore non dovrebbe esserne consapevole.


0

/ bin e / sbin

  • binari utilizzati per l'amministrazione del sistema e anche in modalità utente singola. I loro file di libreria si trovano in / lib.

/ usr / bin e / usr / sbin

  • contengono binari non essenziali non essenziali utilizzati da tutti gli utenti e binari utilizzati per i servizi di rete e tutti. Le loro librerie sono inserite in / usr / lib.

/ Var / lib

  • contiene file che conservano informazioni sullo stato dei programmi in esecuzione o istanze di programmi. L'utente non deve modificarlo.

/ Usr / share / lib

  • Contiene file di dati indipendenti dall'architettura.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.