6 Linux Gestioni Pacchetti Debian

21
Stratificazione degli strumenti di gestione dei pacchetti Debian

Transcript of 6 Linux Gestioni Pacchetti Debian

Stratificazione degli strumenti di gestione dei pacchetti Debian

Stratificazione degli strumenti di gestione dei pacchetti Debian

dpkg-deb interviene solo al livello di archivi Debian, consentendo l'estrazione e l'archiviazione in questo formato;

dpkg-split è uno strumento aggiuntivo in grado di suddividere e riassemblare assieme gli archivi Debian, in modo da poterli gestire in file più piccoli, soprattutto quando questi devono essere trasportati su dischetti;

Dpkg (l'eseguibile dpkg) interviene nei pacchetti Debian, a livello elementare, consentendone l'installazione e la loro disinstallazione, avvalendosi eventualmente di dpkg-deb quando necessario;

apt-get interviene nei pacchetti Debian, a livello più evoluto di Dpkg, essendo in grado di risolvere da solo molti problemi di dipendenze;

Dselect si trova al livello più alto per la gestione dei pacchetti (assieme a APT) e si avvale di tutti gli strumenti inferiori;

APT è un sistema di strumenti paralleli a Dselect, composto da diversi programmi frontali alternativi che poi si avvalgono di apt-get per lo svolgimento dei loro compiti.

Dpkg Comandi Base

sudo dpkg -i pacchetto: Per installare dei programmi

sudo dpkg -L pacchetto: Se vogliamo conoscere il contenuto di un pacchetto deb già installato scriviamo da terminale.

sudo dpkg --info pacchetto.deb: se il pacchetto non è ancora installato e ci interessa avere delle informazioni dettagliati sul suo contenuto, sui programmi che ne fanno parte ecc. basta scrivere:

Dpkg Comandi Base

sudo dpkg -S nome file: Un'altra eventualità che si può verificare è quella di voler conoscere a quale pacchetto installato cossisponde un precisaso file, basta che scriviamo:

sudo dpkg -r pacchetto: Per disinstallare programmi

sudo dpkg --purge pacchetto: Per rimuovere applicazioni e i relativifile di configurazione si scrive

sudo dpkg -reconfigure pacchetto: riconfigurare un pacchetto già installato

Stato di un pacchetto

Secondo la logica del sistema di gestione dei pacchetti Debian, lo stato di un pacchetto può avere tre gruppi di caratteristiche:

1) lo stato in relazione a ciò che è installato nel sistema

2) lo stato di selezione

3) caratteristiche speciali.

dpkg -l

Desired=Unknown/Install/Remove/Purge| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)||/ Name Version Description+++-===============-==============-============================================ii gnome-admin 1.0.1-1 Gnome Admin Utilities (gulp and logview)ii gnome-bin 1.0.3-1 Miscellaneous binaries used by Gnomerc gnome-card-game 1.0.1-4 Gnome card games - Solitaire games (FreeCellrc gnome-control-c 0.30-2 The Gnome Control Centerii gnome-core 1.0.1-0.3 Common files for Gnome core apps ii gnome-dev-doc 1.0.3-1 Gnome developers documentationpn gnome-games <none> (no description available)ii gnome-games-loc 1.0.1-4 The locale databases for the gnomerc gnome-gnibbles 1.0.1-4 A cute little game that has no descriptionrc gnome-gnobots 1.0.1-4 Gnome version of text based robotspn gnome-guile <none> (no description available)un gnome-gxnsnmp <none> (no description available)pn gnome-gxsnmp <none> (no description available)ii gnome-terminal 1.0.1-0.3 The Gnome terminal emulator application

Stato di un pacchetto

Colonna Sigla Significato1 u Pacchetto sconosciuto.1 i Pacchetto da installare.1 r Pacchetto da rimuovere (lasciando la configurazione).1 p Pacchetto da eliminare completamente.

Colonna Sigla Significato2 n Pacchetto non installato.2 i Pacchetto installato.2 c Sono presenti solo i file di configurazione.2 u Pacchetto estratto dall'archivio, ma non configurato.2 f Configurazione interrotta.2 h Installazione interrotta.

Colonna Sigla Significato3 Nessuno stato particolare.3 h Segnato per la conservazione alla versione attuale.3 r Si richiede la reinstallazione.3 x Equivalente a «h» e a «r» messi assieme.

Stato di un pacchetto Colonna 1

unknown/sconosciuto: quando non è mai stata richiesta la sua installazione (e di conseguenza non è nemmeno installato);

install/da installare: quando è stata richiesta la sua installazione, o il suo aggiornamento;

remove/deinstall: da togliere quando è stata richiesta la sua disinstallazione normale, cioè senza cancellare i file di configurazione;

purge/da eliminare: completamente quando è stata richiesta la sua eliminazione totale, compresi i file di configurazione.

Stato di un pacchetto Colonna 2

installed/installato: il pacchetto risulta installato correttamente nel sistema e anche la configurazione è stata completata;

half-installed /semi-installato: l'installazione del pacchetto non è stata completata per qualche ragione;

not-installed/non installato: il pacchetto non risulta installato;

unpacked/estratto: il pacchetto risulta estratto dall'archivio, ma non è stato configurato;

half-configured/semi-configurato: il pacchetto risulta estratto dall'archivio e la configurazione non è stata completata per qualche ragione;

config-files/file di configurazione: del pacchetto sono presenti solo i file di configurazione.

Controllo dei processi

Il comando fondamentale per il controllo dei processi è ps.

ps [Invio] Mostra i processi in riferimento al utente che ha eseguito il comando.

ps x [Invio] Mostra i processi senza il terminale di controllo

ps a [Invio] Mostra tutti i processi

ps ax [Invio] Mostra tutti i processi senza il terminale di controllo

PS opzioni frequenti

l formato lungo

f le righe di comando sono mostrate in un albero

a mostra anche i processi degli altri utenti

x mostra i processi senza terminale di controllo

S aggiunge il tempo di cpu dei figli e i page fault

w output largo: non tronca le righe di comando per farle stare una per riga. Per essere precisi, ogni w aggiunto metterà a

disposizione un’altra riga di output per ogni processo. Se lo spazio non è necessario non sarà usato. Si può arrivare fino a 100w

ps l OUTPUT

PID: ID del processo UNIVOCO

PPID: ID del processo figlio

Nota: Ogni processo ha un proprio PID (process ID) che lo identifica. Ogni processo, tranne init, è generato da un'altro processo di cui si definisce il PPID (Parent PID). Si parla quindi di processo padre (parent) e processo figlio (child).

ps l OUTPUT

STAT: Informazione sulla stato del processo.

Il primo campo può essere R per runnableS per sleeping Z per un processo zombieD per sleep non interrompibileT per stopped o traced

Il secondo campo può essereW se il processo non ha pagine residenti.

ps l OUTPUT

STAT: Informazione sulla stato del processo.

< Alta PrioritàN Bassa Priorità+ Processo in ForegroundL Processo con pages bloccata in memorial Il processo fa parte di un thread

ps l OUTPUT

NI: Informazione sulla priorità del processo

Il valore NI è un numero che puo andare da :

-20 Processi ad altissima priorità

19 Processi a bassa priorità

pstree

pstree[Invio]

Visualizza i processi organizzando l'output in albero

Invio di segnali ai processi

I segnali sono dei numeri ai quali i programmi attribuiscono significati determinati.

- I segnali rappresentano sia un'informazione che un ordine

- i programmi possono intercettare i segnali e compiere delle operazioni correlate prima di adeguarsi al nuovo stato

Invio di segnali ai processi

SIGHUP Il collegamento con il terminale è stato interrotto.SIGINT Interruzione attraverso un comando dalla tastiera.SIGQUIT Conclusione attraverso un comando dalla tastiera.SIGILL Istruzione non valida.SIGABRT Interruzioni di sistema.SIGFPE Eccezione in virgola mobile.SIGKILL Conclusione immediata.SIGSEGV Riferimento non valido a un segmento di memoria.SIGPIPE Condotto interrotto.SIGALRM Timer.SIGTERM Conclusione.SIGUSR1 Primo segnale definibile dall'utente.SIGUSR2 Secondo segnale definibile dall'utente.SIGCHLD Eliminazione di un processo figlio.SIGCONT Riprende l'esecuzione se in precedenza è stato fermato.SIGTSTOP Ferma immediatamente il processo.SIGTSTP Stop attraverso un comando della tastiera.SIGTTIN Processo sullo sfondo che richiede dell'input.SIGTTOU Processo sullo sfondo che deve emettere dell'output.

Segnali attraverso la tastiera

Alcuni segnali possono essere inviati al programma con il quale si interagisce attraverso

delle combinazioni di tasti.

SIGINT [Ctrl c] Interruzione attraverso un comando dalla tastiera.

SIGTSTP [Ctrl z] Stop attraverso un comando della tastiera.

SIGTQUIT [Ctrl \] Conclusione attraverso un comando dalla tastiera.

SIGCONT fg(comando di sistema) Riprende l'esecuzione se in precedenza è stato fermato.

Comando «kill»

Sintassi

kill [opzioni] [numero_pid...]Opzioni

-s segnale Specifica il nome o il numero del segnale da inviare.-l Mostra l'elenco dei segnali disponibili con i numeri corrispondenti.

E.s.kill -l[Invio]

Mostra l'elenco dei segnali disponibili.

kill -s SIGHUP 1203[Invio] Invia il segnale SIGHUP al processo corrispondente alnumero 1203.

Comando «kill»

E.s.kill -s 1 1203[Invio]

Esattamente come nell'esempio precedente

kill 1 1203[Invio]Esattamente come nell'esempio precedente

kill -9 1203[Invio]Invia il segnale SIGKILL al processo corrispondente alnumero 1203.