Come visualizzare tutte le dipendenze di un eseguibile con ldd

Cerca

Lavorando su sistemi Linux based, si interagisce costantemente con file eseguibili sia da terminale che da GUI. Ogni eseguibile può necessitare di librerie che sono file condivisi e riutilizzati da molteplici programmi. Su Windows queste hanno tipicamente estensione .dll, mentre in Linux sono solitamente file con estensione .o o .so.

Questa guida mostra come utilizzare la command line utility ldd per visualizzare l’elenco delle dipendenze di un eseguibile.

What is ldd

Ldd è un potente tool a riga di comando che permette di visualizzare tutte le librerie da cui dipende l’eseguibile.

In Linux i file di libreria sono comunemente collocati nei percorsi /lib o /usr/lib. Le librerie sono sostanzialmente dei pacchetti di codice che aiutano gli sviluppatori a salvare tempo richiamando funzioni preconfezionate e sgravandoli così dal dover “reinventare la ruota” ad ogni sviluppo.

Ci sono due tipi di librerie:

  • Librerie statiche (Static libraries)
  • Librerie dinamiche (Dynamic or Shared libraries)

Come installare ldd

Generalmente ldd è disponibile preinstallato in quasi tutte le distribuzioni Linux, ma nel caso non dovesse esserlo, si può procedere all’installazione con questo comando

				
					apt install libc-bin
				
			

Sintassi di base di ldd

La sintassi generale per il comando ldd è piuttosto semplice. Di default l’esecuzione del comando mostra in output l’elenco delle dipendenze

				
					ldd [options] executable
				
			

Per esempio per mostrare le dipendenze del binario bash, il comando è il seguente

				
					ldd /bin/bash
				
			

Options del comando ldd

Per modificare il comportamento del comando possiamo utilizzare le seguenti opzioni:

  • -v – Verbose mode, che stampa tutte le informazioni
  • -u – Mostra le dipendenze dirette inutilizzate
  • -d – Esegue una data relocation e mostra gli ELF mancanti
  • -r – Esegue una data and function relocation e mostra gli ELF e le funzioni mancanti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Most Recent

Come realizzare un client NTP in Python

In questo post vediamo come realizzare, utilizzando poche righe di codice, uno script Python che agisca da client NTP. Soluzione 1 In questa prima soluzione

Come avviare UEFI dopo reboot su Linux

L’accesso a UEFI al boot del computer richiede la pressione di un tasto che varia per ogni produttore di hardware. I tasti che più comunemente

Partners