Aptitude: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
nessun oggetto della modifica
mNessun oggetto della modifica
Nessun oggetto della modifica
Riga 7: Riga 7:
== Cos'è Aptitude ==
== Cos'è Aptitude ==


Aptitude è un frontend per la gestione avanzata dei pacchetti di una distribuzione Debian, ma risulta valida per tutte le distribuzioni che supportano APT (http://www.debian.org/doc/manuals/apt-howto/ch-distros.it.html).
Aptitude è un frontend per la gestione avanzata dei pacchetti di una distribuzione Debian, ma risulta valido per tutte le distribuzioni che supportano APT (http://www.debian.org/doc/manuals/apt-howto/ch-distros.it.html).


Aptitude è ormai lo strumento preferenziale per l'amministrazione dei pacchetti su Debian, in quanto non solo raggruppa in un unico semplice programma le funzionalità di molti tool (apt-get, apt-cache ...) ma anche perchè permette di gestire in modo molto più facile (ed efficace) situazioni complesse (dipendenze, dipendenze inverse, rimozione pacchetti non utilizzati, ecc ...).
Aptitude è ormai lo strumento preferenziale per l'amministrazione dei pacchetti su Debian, in quanto non solo raggruppa in un unico semplice programma le funzionalità di molti tool (apt-get, apt-cache ...) ma anche perché permette di gestire in modo molto più facile (ed efficace) situazioni complesse (dipendenze, dipendenze inverse, rimozione pacchetti non utilizzati, ecc ...).


Aptitude è un frontend a dpkg esattamente come apt-get, che sembra essere destinato a sostituire integralmente lo stesso [[Introduzione_all%27_Apt_System | apt-get (e affini)]], tanto che nelle release notes di Sarge si legge:
Aptitude è un frontend a dpkg esattamente come apt-get, che sembra essere destinato a sostituire integralmente lo stesso [[Introduzione_all%27_Apt_System | apt-get (e affini)]], tanto che nelle release notes di Sarge si legge:
Riga 21: Riga 21:
Si può utilizzare Aptitude in due modi: da linea di comando, cioè come apt-get (la sintassi e le opzioni sono identiche, o quasi), oppure tramite l'interfaccia visuale basata sulle librerie ncurses.
Si può utilizzare Aptitude in due modi: da linea di comando, cioè come apt-get (la sintassi e le opzioni sono identiche, o quasi), oppure tramite l'interfaccia visuale basata sulle librerie ncurses.


L'interfaccia visuale verrà trattata più diffusamente, perchè si ritiene che sia uno strumento fondamentale per la gestione dei pacchetti e soprattutto per la diagnostica e la risoluzione degli eventuali problemi riscontrati.
L'interfaccia visuale verrà trattata più diffusamente, perché si ritiene che sia uno strumento fondamentale per la gestione dei pacchetti e soprattutto per la diagnostica e la risoluzione degli eventuali problemi riscontrati.


{{Box|Prima di iniziare|Prima di iniziare a mettere le mani sulla tastiera, notiamo che aptitude, a differenza della maggior parte delle opzioni di apt-get, si può lanciare anche con i diritti di utente comune.  
{{Box|Prima di iniziare|Prima di iniziare a mettere le mani sulla tastiera, notiamo che aptitude, a differenza della maggior parte delle opzioni di apt-get, si può lanciare anche con i diritti di utente comune.  
Riga 40: Riga 40:
; <tt>aptitude safe-upgrade</tt> : aggiorna tutti i pacchetti aggiornabili senza che nascano conflitti. Se l'aggiornamento di un pacchetto causa un conflitto il pacchetto non viene aggiornato (piuttosto che, ad esempio, rimuovere i pacchetti che generano il conflitto)
; <tt>aptitude safe-upgrade</tt> : aggiorna tutti i pacchetti aggiornabili senza che nascano conflitti. Se l'aggiornamento di un pacchetto causa un conflitto il pacchetto non viene aggiornato (piuttosto che, ad esempio, rimuovere i pacchetti che generano il conflitto)


; <tt>aptitude full-upgrade</tt> : anche questo comando aggiorna tutti i pacchetti, ma è più aggressivo nella risoluzione delle dipendenze: nuovi pacchetti saranno installati e altri rimossi, fino a quando tutte le dipendenze non saranno soddifatte. Questo comando potrebbe fare cose non desiderate (come, appunto, installare nuovi pacchetti o rimuoverne altri) quindi deve essere usato con cautela.
; <tt>aptitude full-upgrade</tt> : anche questo comando aggiorna tutti i pacchetti, ma è più aggressivo nella risoluzione delle dipendenze: nuovi pacchetti saranno installati e altri rimossi, fino a quando tutte le dipendenze non saranno soddisfatte. Questo comando potrebbe fare cose non desiderate (come, appunto, installare nuovi pacchetti o rimuoverne altri) quindi deve essere usato con cautela.


; <tt>aptitude [ install | remove | purge | reinstall ] pkg1 [pkg2...]</tt>: questi comandi installano, rimuovono o fanno il ''purge'' (eliminazione anche dei file di configurazione) dei pacchetti specificati.
; <tt>aptitude [ install | remove | purge | reinstall ] pkg1 [pkg2...]</tt>: questi comandi installano, rimuovono o fanno il ''purge'' (eliminazione anche dei file di configurazione) dei pacchetti specificati.
Riga 48: Riga 48:
; <tt>aptitude show pkg1 [pkg2...]</tt> : mostra su terminale le informazioni di ogni pacchetto specificato.
; <tt>aptitude show pkg1 [pkg2...]</tt> : mostra su terminale le informazioni di ogni pacchetto specificato.


I comandi che installano, aggiornano o rimuovo pacchetti accettano tutti il parametro "-s" che stà per "simula". Quando viene passato "-s" nella linea di comando, aptitude svolge tutte le azioni che svolgerebbe normalmente, ma non scarica o installa/rimuove effettivamente nessun file.
I comandi che installano, aggiornano o rimuovo pacchetti accettano tutti il parametro "-s" che sta per "simula". Quando viene passato "-s" nella linea di comando, aptitude svolge tutte le azioni che svolgerebbe normalmente, ma non scarica o installa/rimuove effettivamente nessun file.


==Interfaccia grafica==
==Interfaccia grafica==
Riga 57: Riga 57:
Nella parte superiore troviamo una zona a sfondo blu con un menù che propone diverse opzioni, e una zona a sfondo nero in cui si vede l'albero dei pacchetti disponibili, classificati in base al loro stato (installati, non installati, ecc.).  
Nella parte superiore troviamo una zona a sfondo blu con un menù che propone diverse opzioni, e una zona a sfondo nero in cui si vede l'albero dei pacchetti disponibili, classificati in base al loro stato (installati, non installati, ecc.).  


Per vedere il contenuto di uno dei rami usiamo le frecce "su" e "giu" fino a selezionare la riga corrispondente e premiamo invio. Sotto al ramo in questione ora abbiamo dei sotto-rami, e premendo invio sui vari sotto-rami si accede allo stesso modo ai sotto-sotto-rami e così via, fino ad arrivare ai pacchetti.
Per vedere il contenuto di uno dei rami usiamo le frecce "su" e "giù" fino a selezionare la riga corrispondente e premiamo invio. Sotto al ramo in questione ora abbiamo dei sotto-rami, e premendo invio sui vari sotto-rami si accede allo stesso modo ai sotto-sotto-rami e così via, fino ad arrivare ai pacchetti.


La parte inferiore è invece dedicata alla descrizione del pacchetto attualmente selezionato. Alcuni pacchetti, per esempio k3b, hanno una descrizione molto lunga: premendo TAB e usando le frecce è possibile leggerla tutta.  
La parte inferiore è invece dedicata alla descrizione del pacchetto attualmente selezionato. Alcuni pacchetti, per esempio k3b, hanno una descrizione molto lunga: premendo TAB e usando le frecce è possibile leggerla tutta.  


Ogni riga che mostra il nome di un pacchetto riporta anche molte informazioni.  
Ogni riga che mostra il nome di un pacchetto riporta anche molte informazioni.  
Per esempio, riporto lo stato di alcuni pacchetti nel mio sistema (nota: il mio sistema è una sarge, ma ho installato diversi pacchetti da testing e anche alcuni da unstable. Per informazioni sul pinning vedere [[APT_uso_avanzato:_mixare_releases_diverse | APT uso avanzato: mixare releases diverse ]]):
Per esempio, riporta lo stato di alcuni pacchetti nel mio sistema (nota: il mio sistema è una sarge, ma ho installato diversi pacchetti da testing e anche alcuni da unstable. Per informazioni sul pinning vedere [[APT_uso_avanzato:_mixare_releases_diverse | APT uso avanzato: mixare releases diverse ]]):
<pre>
<pre>
stato    nome                vers. attuale    vers. aggiornata
stato    nome                vers. attuale    vers. aggiornata
Riga 152: Riga 152:
==Cercare un pacchetto==
==Cercare un pacchetto==


Ora supponiamo di voler vedere se in debian c'è qualche programma per la gestione dei contenuti, e l'acronimo in inglese è "cms". Per fare questo possiamo usare le funzioni di ricerca di aptitude: per prima cosa digitiamo <tt>'''/'''</tt> per la ricerca della stringa "cms" nei nomi dei pacchetti.
Ora supponiamo di voler vedere se in Debian c'è qualche programma per la gestione dei contenuti, e l'acronimo in inglese è "cms". Per fare questo possiamo usare le funzioni di ricerca di aptitude: per prima cosa digitiamo <tt>'''/'''</tt> per la ricerca della stringa "cms" nei nomi dei pacchetti.


Ora però ci viene in mente che un cms non contiene necessariamente la stringa "cms" nel nome, quindi facciamo, con la stessa stringa, una ricerca nelle descrizioni dei pacchetti: digitiamo ancora <tt>'''/'''</tt> e inseriamo "<tt>~dcms</tt>". Aptitude ci mostra il primo risultato della ricerca, per vedere i risultati successivi premiamo <tt>'''n'''</tt>, e per tornare indietro nella lista <tt>'''\'''</tt>.
Ora però ci viene in mente che un cms non contiene necessariamente la stringa "cms" nel nome, quindi facciamo, con la stessa stringa, una ricerca nelle descrizioni dei pacchetti: digitiamo ancora <tt>'''/'''</tt> e inseriamo "<tt>~dcms</tt>". Aptitude ci mostra il primo risultato della ricerca, per vedere i risultati successivi premiamo <tt>'''n'''</tt>, e per tornare indietro nella lista <tt>'''\'''</tt>.
Riga 159: Riga 159:


=== Ricerca avanzata ===
=== Ricerca avanzata ===
Aptitude supporta numerose opzioni di dicerca come il precedente <tt>~d</tt> per cercare una stringa nelle descrizioni. La stringa di ricerca può inoltre essere una [[REGEXP]] (espressione regolare). Queste opzioni possono essere usate indifferentemente da linea di comando (dopo <code>search</code>) che dall'interfaccia grafica (premendo <tt>'''/'''</tt> oppure <tt>'''l'''</tt>).
Aptitude supporta numerose opzioni di ricerca come il precedente <tt>~d</tt> per cercare una stringa nelle descrizioni. La stringa di ricerca può inoltre essere una [[REGEXP]] (espressione regolare). Queste opzioni possono essere usate indifferentemente da linea di comando (dopo <code>search</code>) che dall'interfaccia grafica (premendo <tt>'''/'''</tt> oppure <tt>'''l'''</tt>).


Di seguito si riporta qualche esempio. fare riferimento alla guida di aptitude citata all'inizio per i dettagli.
Di seguito si riporta qualche esempio. Fare riferimento alla guida di aptitude citata all'inizio per i dettagli.


Volete sapere quali pacchetti di gnome 2.14 son entrati in etch? Semplice:
Volete sapere quali pacchetti di gnome 2.14 son entrati in etch? Semplice:
Riga 179: Riga 179:
Le sezioni nelle quali sono raggruppati i pacchetti quando si avvia Aptitude (e non solo) sono generate dinamicamente da un insieme di regole separate da virgola. &grave; possibile vedere e modificare le regole che generano la vista attuale premendo ''''G''''.
Le sezioni nelle quali sono raggruppati i pacchetti quando si avvia Aptitude (e non solo) sono generate dinamicamente da un insieme di regole separate da virgola. &grave; possibile vedere e modificare le regole che generano la vista attuale premendo ''''G''''.


Le regole vengono elaborate in sequenza dalla prima all'ultima  
Le regole vengono elaborate in sequenza dalla prima all'ultima.


Vediamo alcune regole:
Vediamo alcune regole:
Riga 195: Riga 195:
; <tt>section[(''mode''[,passthrough])]</tt> : Raggruppa i pacchetti in base alla loro sezione. ''mode'' può assumere uno dei seguenti valori:
; <tt>section[(''mode''[,passthrough])]</tt> : Raggruppa i pacchetti in base alla loro sezione. ''mode'' può assumere uno dei seguenti valori:


:; <tt>topdir</tt> : Raggruppa un base alla sezione dell'archivio debian (esempio: ''"main", "contrib", "non-free" ...'').  
:; <tt>topdir</tt> : Raggruppa un base alla sezione dell'archivio Debian (esempio: ''"main", "contrib", "non-free" ...'').  
:; <tt>subdir</tt> : Raggruppa in base alla sezione logica (esempio: ''"adim", "base", "devel", "gnome", "kde", ecc ...'')
:; <tt>subdir</tt> : Raggruppa in base alla sezione logica (esempio: ''"admin", "base", "devel", "gnome", "kde", ecc ...'')
:; <tt>none</tt> : Raggruppa in base delle sezioni formate dalla somma delle  precedenti (esempio: ''"controb/admin", "contrib/devel", "non-free/admin", "non-free/devel").
:; <tt>none</tt> : Raggruppa in base delle sezioni formate dalla somma delle  precedenti (esempio: ''"controb/admin", "contrib/devel", "non-free/admin", "non-free/devel").
:; <tt>task</tt> : Crea un albero dei pacchetti raggruppandoli per task.
:; <tt>task</tt> : Crea un albero dei pacchetti raggruppandoli per task.
6 999

contributi

Menu di navigazione