Impara la gestione delle dipendenze usando il comando ldd per amministrare meglio la tua macchina Linux e i pacchetti installati.

La gestione delle dipendenze è parte integrante della manutenzione del sistema Linux. Il software è complesso e si basa su una moltitudine di librerie e file condivisi. A volte diventa difficile tenere traccia dei file richiesti da un'applicazione.

È qui che entra in gioco il comando ldd su Linux. ldd è uno strumento da riga di comando pieno di risorse per tenere traccia delle dipendenze degli oggetti condivisi richieste da un'applicazione.

Impariamo come puoi usare il comando ldd a tuo vantaggio e diventare un professionista nella gestione delle dipendenze su Linux!

Cosa sono le dipendenze dei pacchetti?

Il software non è solo codice sorgente autonomo, ma piuttosto una fusione di codice sorgente nativo e codice preso in prestito da librerie esterne. Quando queste librerie e altri oggetti condivisi non sono presenti nel sistema, un'applicazione che dipende da esse potrebbe non funzionare correttamente o persino rifiutarsi di avviarsi.

instagram viewer

Tutti questi file condivisi, pacchetti, librerie, ecc., sono cumulativamente chiamati dipendenze su Linux. Sebbene questa breve definizione dia un'idea approssimativa delle dipendenze, il quadro reale è un po' più complesso di così, ed è per questo che è importante imparare quali sono le dipendenze del pacchetto in profondità.

Che cos'è il comando ldd e come funziona?

ldd è l'abbreviazione di List Dynamic Dependencies. Come suggerisce il nome, ldd elenca tutti gli oggetti condivisi richiesti da un'applicazione.

Funziona invocando il linker dinamico con appositamente impostato variabili ambientali. Quando esegui ldd con la posizione di un binario, restituisce un output contenente l'elenco delle dipendenze, la loro posizione e un valore esadecimale che rappresenta dove sono caricate in memoria.

Trovare le dipendenze degli oggetti condivisi con il comando ldd

Ora che hai un'idea chiara di cosa sia ldd, mettiamoci in pratica e impariamo come puoi trovare dipendenze software con esso.

Prima di imparare a usare ldd, per prima cosa conferma se è installato sul tuo sistema stampando la versione installata di ldd:

ldd --versione

Se ritorna un errore "comando non trovato"., devi prima installare ldd.

Sui sistemi basati su Ubuntu e Debian, eseguire:

sudo apt install libc-bin

Per le distribuzioni basate su Arch:

sudo pacman -S glibc

Su RHEL e Fedora:

sudo dnf installa glibc-common

Con ldd installato, ora puoi concentrarti sull'imparare a usarlo. Ecco la sintassi di base per il comando ldd:

ldd posizione_binario

Nel caso in cui non si conosca la posizione del file binario, è possibile utilizzare uno dei file molti operatori della riga di comando di Linux e combina l'output del comando which con ldd per trovare le dipendenze per il pacchetto:

ldd -flag $(quale nome_binario)

Il comando ldd offre quattro diverse opzioni per modificare l'output. Sono:

  • -v: Stampa un output dettagliato che include informazioni aggiuntive come le informazioni sulla versione per ogni dipendenza
  • -u: Stampa tutte le dipendenze inutilizzate, ovvero le dipendenze caricate ma non implementate
  • -D: Stampa gli oggetti mancanti ed esegue i riposizionamenti
  • -R: Stampa gli oggetti e le funzioni mancanti ed esegue i riposizionamenti

Gestione delle dipendenze dei pacchetti su Linux

Con ldd nel tuo arsenale software, sarai in grado di risolvere i problemi relativi alla dipendenza da oggetti condivisi con la tua applicazione.

Inoltre, poiché ldd restituisce anche la posizione in cui è caricata una libreria, sarai in grado di eseguire il debug di un'applicazione e capire meglio come viene implementata una particolare libreria. ldd stampa anche le versioni delle librerie condivise utilizzate in un'applicazione.

Utilizzando questa funzione, puoi controllare le tue applicazioni per qualsiasi potenziale vulnerabilità associata a una versione obsoleta di una libreria condivisa.

La gestione delle dipendenze è un'abilità fondamentale che è fondamentale per mantenere integro il tuo sistema Linux. Tuttavia, a volte, un pacchetto può rompersi nonostante tutte le sue dipendenze siano integre. È importante sapere come trovare e riparare i pacchetti rotti.