GNU/Linux >> Linux Esercitazione >  >> Linux

Che male ci sarebbe nell'eseguire strip su tutti i file?

Non è il caso di Linux (appena controllato...), ma su altri sistemi (come BSD, ad es. OSX) questa operazione rimuoverà qualsiasi autorizzazione setuid/setgid come effetto collaterale. Inoltre (guardando sempre OSX), la proprietà del file potrebbe cambiare (per l'utente che scrive).

Per Linux, ricordo che all'inizio, l'eliminazione di una libreria condivisa impediva il collegamento ad essa. Questo non è un problema ora, anche se, come fa notare il Program Library HOWTO, renderà i debugger non utili. Impedisce il collegamento a librerie statiche.

Ulteriori letture:

  • 24.14 Non usare la striscia con noncuranza (Unix Power Tools)
  • Come rimuovo i simboli locali dal modulo del kernel Linux senza romperlo?
  • Cosa possono imparare l'uno dall'altro Linux e Solaris

La maggior parte delle distribuzioni, incluso OpenSUSE, rimuove gli eseguibili come parte dei loro script di compilazione. Non è necessario rimuovere gli eseguibili del sistema perché è già stato fatto.

Ci sono binari che non devono essere rimossi. I manutentori dei pacchetti si preoccupano di usare le opzioni di compilazione corrette per evitare di rimuoverle. Ciò include binari che caricano le librerie dinamicamente in modi insoliti, eseguendo un'auto-introspezione piuttosto che il normale caricamento all'avvio o un semplice dlopen . Ciò include anche molti eseguibili costituiti da bytecode più un interprete di bytecode per cui strip sbaglia il bytecode per il debug dei dati.

Una nota a margine:se vuoi risparmiare spazio, OpenSUSE non è la distribuzione giusta per te. OpenSUSE ha una granularità dei pacchetti molto grossolana. Per un sistema più piccolo, usa una distribuzione con una granularità del pacchetto più fine in modo da poter installare solo le parti di cui hai bisogno. Nella gamma desktop/server, Debian e Arch sono buone scelte. Puoi anche prendere in considerazione distribuzioni destinate a sistemi embedded come WRT.


Linux
  1. Quale versione di Linux sto eseguendo? Ecco come scoprirlo

  2. Linux:cosa accadrebbe se un disco rigido si guastasse mentre il kernel Linux era in esecuzione?

  3. Come trovare tutti i file sparsi in Linux

  4. Cosa sono i file sparsi in Linux

  5. Come faccio a sapere quale versione di Linux sto utilizzando?

Quale versione di Linux sto utilizzando?

Come controllare tutti i servizi in esecuzione in Linux

Che cos'è /dev/null in Linux

Come elencare tutti i file ordinati per dimensione in Linux?

Come rimuovere un sistema Linux?

Come elencare tutti i file di una partizione su Linux?