Archivio

Archive for marzo 2023

Comandi utili per la gestione dei package Debian

tasksel

Permette di vedere per quali task è stato creato in origine il sistema
 

apt list --installed

Fornisce la lista di tutti i pacchetti installati dando anche l’indicazione se è stato installato in automatico.
I package installati in automatico sono quelli installati come dipendenze di un package installato per esplicita richiesta dell’utente.
 

apt-rdepends -p --state-follow=installed --state-show=installed [package]

Mostra tutte le dipendenze di un package in modo ricorsivo. Il parametro -p mostra se il package è installato.
E’ possibile anche usare il parametro -r per vedere le dipendenze inverse
N.B. Generalmente non presente nel sistema base, va installato con apposito package.
 

dpkg-query -W -f='${Package;24}\t${db-fsys:Last-Modified}\n'

Permette, grazie allo switch -W di ottenere una lista di package installati. Lo switch -f permette di definire quali informazioni si vogliono visualizzare e di formattarle opportunamente. Le informazioni che possono essere visualizzate si possono vedere grazie al comando man.
L’esempio specifico visualizza il nome del package in un campo largo 24 caratteri e il timestamp dell’ultima modifica di installazione.
 

aptitude show [nomepkg]

Mostra tutte le informazioni riguardanti un package, anche non ancora installato.
Altri usi utili di aptitude sono:

aptitude search [parte_di_nomepkg]

Permette di cercare tutti i pacchetti che hanno nel nome la stringa indicata

aptitude search ~prequired

Torna una lista di tutti i pacchetti marcati come “required”

aptitude search ~pimportant

Torna una lista di tutti i pacchetti marcati come “important”
N.B. Generalmente non presente nel sistema base, va installato con apposito package.

Uso di comandi linux per analizzare l’attività di un processo

Il comando “ps”

Il comando ps permette di mostrare l’elenco dei processi attivi. Le informazioni che il comando può mostrare permettono una prima analisi di ciò che sta facendo un processo. La forma base solitamente è

ps -ely
-e -> mostra tutti i processi del sistema
-l -> mostra il formato esteso
-y -> mostra il valore di RSS (resident set size) al posto di ADDR

Altri switch aggiuntivi utili sono:

-L -> Mostra i singoli thread di ogni processo con LWP associato
-F -> Mostra le informazioni richieste in formato esteso

E’ possibile personalizzare il formato delle informazioni mostrate con lo switch -O seguito dai campi che si vogliono visualizzare. Un esempio è

ps -eL -O uid,nlwp,lwp,pri,ni,rss,sz,rtprio

 

Il comando “lsof”

Il comando lsof mostra i file/socket/device aperti nel sistema.

-n -> Non converte gli indirizzi numerici di rete in indirizzi simbolici
-K i  -> In caso di processi con più thread evita di ripetere il device aperto da ciascun singolo thread
-i[46][protocol][@hostname|hostaddr][:service|port]  -> Permette di filtrare per i vari parametri di socket di rete

 

Il comando “strace”

Il comando strace mostra le chiamate che un determinato processo sta facendo al kernel.

strace -i -p [pid/tid]
-i -> Inserisce l'instruction pointer del programma al momento della chiamata
-p [pid/tid] -> Il processo/thread esistente al da monitorare

 

Il comando “netstat”

Il comando netstat mostra le connessioni TCP/UDP attive, in chiusura o in listening.
Alcuni switch utili sono:

-n -> mostra solo gli indirizzi numerici senza tentare la risoluzione dei nomi
-l -> mostra solo i socket in listening
-t -> mostra solo i socket tcp
-u -> mostra solo i socket udp
-x -> mostra solo i socket unix
-p -> mostra il PID/processo proprietario del socket