Aptitude: differenze tra le versioni

m
aggiunti link
m (verificata)
m (aggiunti link)
Riga 82: Riga 82:
<pre>$ aptitude search '~S ~i (!~stable ~Atesting !~Aunstable ~O"Unofficial Multimedia Packages")'</pre>
<pre>$ aptitude search '~S ~i (!~stable ~Atesting !~Aunstable ~O"Unofficial Multimedia Packages")'</pre>


Mostrerà tutti i pacchetti installati appartenenti alla sola release testing e solo se provenienti dal repository di ''deb-multimedia'' (identificato attraverso l'attributo "origine"). Se nel proprio <code>sources.list</code> non sono specificati repository relativi ad altre distribuzioni i parametri <code>!~stable</code> e <code>!~Aunstable</code> possono essere omessi. In sintesi è necessario esplicitare sia i repositori disponibili che si vuole escludere che quelli da includere nel risultato della ricerca.
Mostrerà tutti i pacchetti installati appartenenti alla sola [[suite]] (detta anche ''archive'') testing e solo se provenienti dal repository di ''deb-multimedia'' (identificato attraverso l'attributo "origine"). Se nel proprio <code>sources.list</code> non sono specificati repository relativi ad altre [[suite]] i parametri <code>!~stable</code> e <code>!~Aunstable</code> possono essere omessi. In sintesi è necessario esplicitare sia i repositori disponibili che si vuole escludere che quelli da includere nel risultato della ricerca.


<pre>$ aptitude search '?installed?origin(Unofficial Multimedia Packages)?not(?origin(Debian))'</pre>
<pre>$ aptitude search '?installed?origin(Unofficial Multimedia Packages)?not(?origin(Debian))'</pre>


Sintassi simile alla precedente, ma in questo caso si è usato un comando che mostra tutti i pacchetti, a prescindere dalla distribuzione, appartenenti a ''deb-multimedia'', ma non appartenenti al repository principale. Per filtrare in base alla distribuzione è sufficiente usare ''archive'' invece di ''origin'' e specificare ovviamente il nome della distribuzione.
Sintassi simile alla precedente, ma in questo caso si è usato un comando che mostra tutti i pacchetti, a prescindere dalla [[suite]], appartenenti a ''deb-multimedia'', ma non appartenenti al repository principale. Per filtrare in base alla [[suite]] è sufficiente usare ''archive'', che ne è un sinonimo, e specificarne il nome, invece di ''origin''. Si veda la pagina "[[I repository ed il loro utilizzo]]" per capire dove dove trovare i parametri relativi al nome della release, all'origine e altro.
Si veda la pagina "[[I repository ed il loro utilizzo]]" per capire dove dove trovare i parametri relativi al nome della distribuzione, all'origine e altro.


<pre>$ aptitude search '?origin(Unofficial Multimedia Packages) ?upgradable' -F '%p %v %V'</pre>
<pre>$ aptitude search '?origin(Unofficial Multimedia Packages) ?upgradable' -F '%p %v %V'</pre>
Riga 103: Riga 102:
<pre>$ aptitude versions espressione</pre>
<pre>$ aptitude versions espressione</pre>


Elenca, per ogni pacchetto cui corrisponde l'espressione specificata, lo stato (installato o meno), il numero di verisone, la distribuzione di appartenenza e il valore di pin (si veda la guida dedicata al pinning).
Elenca, per ogni pacchetto cui corrisponde l'espressione specificata, lo stato (installato o meno), il numero di verisone, la [[release]] di appartenenza e il valore di pin (si veda la guida dedicata al [[Repository %26 pinning | pinning]]).


{{Suggerimento|Se si teme che un comando in grado di installare o rimuovere pacchetti effettui delle azioni indesiderate eseguire il suddetto comando una prima volta in modalità simulazione (si veda la sezione dedicata alle opzioni).}}
{{Suggerimento|Se si teme che un comando in grado di installare o rimuovere pacchetti effettui delle azioni indesiderate eseguire il suddetto comando una prima volta in modalità simulazione (si veda la sezione dedicata alle opzioni).}}
Riga 115: Riga 114:
==== -t, --target-release ====
==== -t, --target-release ====


Permette in genere di aggiornare/installare i pacchetti specificati e le relative dipendenze in base alla distribuzione bersaglio, es.: <code># aptitude install pacchetto -t unstable</code>. Si veda la guida dedicata al pinning per maggiori, ma soprattutto fondamentali, informazioni. Non usare questa opzione se non si a chiaro in cosa consiste.
Permette in genere di aggiornare/installare i pacchetti specificati e le relative dipendenze in base alla [[release]] bersaglio. Per esempio:
<pre># aptitude -t wheezy-backports install pacchetto</pre>


==== -V, --verbose-versions ====
==== -V, --verbose-versions ====
Riga 158: Riga 158:
</pre>
</pre>
Questa configurazione definisce quanto segue:
Questa configurazione definisce quanto segue:
* La target relase è ''testing''; in pratica qualora nel file <code>/etc/apt/sources.list</code> siano disponibili più repository relativi a differenti distribuzioni (pratica che è sconsigliata, se non si è utenti esperti e si sa cosa si sta facendo, qui trattata a solo titolo di esempio) apt saprà di dover dare la precedenza alla versione presente in testing. Se si usa solo il repository principale della propria distribuzione (non confondere "repository principale" con "sezione principale", ovvero main, di un repository, che è tutt'altro discorso), ed eventualmente ove presente anche quello di sicurezza, questo parametro può essere ignorato e/o omesso, ed è in genere preferibile non impostarlo, per non alterare il funzionamento di default degli altri repository (si veda la pagina dedicata al [[Repository & pinning|pinning]] per maggiori informazioni su come APT decide la priorità dei pacchetti da installare).
* La target relase è ''testing''; in pratica qualora nel file <code>/etc/apt/sources.list</code> siano disponibili più repository relativi a differenti [[release]] (pratica che è sconsigliata, se non si è utenti esperti e si sa cosa si sta facendo, qui trattata a solo titolo di esempio) apt saprà di dover dare la precedenza alla versione presente in testing. Se si usa solo il repository principale della propria [[release]] (non confondere "repository principale" con "sezione principale", ovvero main, di un repository, che è tutt'altro discorso), ed eventualmente ove presente anche quello di sicurezza, questo parametro può essere ignorato e/o omesso, ed è in genere preferibile non impostarlo, per non alterare il funzionamento di default degli altri repository (si veda la pagina dedicata al [[Repository %26 pinning|pinning]] per maggiori informazioni su come APT decide la priorità dei pacchetti da installare).
* La massima dimensione in byte per memorizzare le informazioni dei pacchetti disponibili nei vari sorgenti; maggiore il numero di repository specificato in <code>source.list</code> maggiore sarà lo spazio occupato (questo parametro NON definisce lo spazio riservato alla memorizzazione dei pacchetti installati e/o scaricati).
* La massima dimensione in byte per memorizzare le informazioni dei pacchetti disponibili nei vari sorgenti; maggiore il numero di repository specificato in <code>source.list</code> maggiore sarà lo spazio occupato (questo parametro NON definisce lo spazio riservato alla memorizzazione dei pacchetti installati e/o scaricati).
* Da specificare SOLO e soltanto se si è installato e configurato correttamente un proxy per la gestione dei pacchetti, come <code>apt-cacher</code> per esempio.
* Da specificare SOLO e soltanto se si è installato e configurato correttamente un proxy per la gestione dei pacchetti, come <code>apt-cacher</code> per esempio.
Riga 181: Riga 181:


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, 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 ]]):
Per esempio, riporta lo stato di alcuni pacchetti nel mio sistema (nota: il mio sistema ha [[codename]] Sarge, ma ho installato diversi pacchetti dalla [[suite]] testing e anche alcuni da unstable. Per informazioni sul [[pinning]] si legga la guida [[Repository %26 pinning]]):
<pre>
<pre>
stato    nome                vers. attuale    vers. aggiornata
stato    nome                vers. attuale    vers. aggiornata
Riga 233: Riga 233:
Dopo aver fatto l'update potremmo trovare una, due, o tre voci nuove nell'albero dei pacchetti: "Aggiornamenti di sicurezza", "Pacchetti aggiornabili", e "Pacchetti nuovi". Per fare scomparire le prime due è necessario aggiornare tutti i pacchetti contenuti nei rispettivi rami, mentre per far sparire la terza è sufficiente premere <code>f</code> (forget).
Dopo aver fatto l'update potremmo trovare una, due, o tre voci nuove nell'albero dei pacchetti: "Aggiornamenti di sicurezza", "Pacchetti aggiornabili", e "Pacchetti nuovi". Per fare scomparire le prime due è necessario aggiornare tutti i pacchetti contenuti nei rispettivi rami, mentre per far sparire la terza è sufficiente premere <code>f</code> (forget).


Una buona regola per l'amministratore è quella di far sì che alla fine dell'aggiornamento queste tre voci non siano presenti. Se ci sono dei pacchetti che risultano aggiornabili, ma che non volete aggiornare, probabilmente dovreste bloccarli alla versione desiderata con <code>=</code>, oppure dovreste leggere la guida già citata sul pinning.
Una buona regola per l'amministratore è quella di far sì che alla fine dell'aggiornamento queste tre voci non siano presenti. Se ci sono dei pacchetti che risultano aggiornabili, ma che non volete aggiornare, probabilmente dovreste bloccarli alla versione desiderata con <code>=</code>, oppure dovreste leggere la guida già citata sul [[pinning]].


Ora torniamo ai pacchetti mostrati prima e supponiamo di voler aggiornare amule: lo selezioniamo e premiamo <code>+</code>. Questo marcherà in verde, cioè per l'installazione, sia amule che amule-common.  
Ora torniamo ai pacchetti mostrati prima e supponiamo di voler aggiornare amule: lo selezioniamo e premiamo <code>+</code>. Questo marcherà in verde, cioè per l'installazione, sia amule che amule-common.  
Riga 252: Riga 252:
premiamo invio su udev, e ci appare la schermata con tutte le informazioni su udev stesso, comprese le dipendenze: selezioniamo module-init-tools e premiamo invio. Ora ci appaiono tutte le versioni disponibili di module-init-tools, tra cui vediamo che è presente la 3.2pre9-1: non ci resta che selezionarla e marcarla per l'installazione :-D.
premiamo invio su udev, e ci appare la schermata con tutte le informazioni su udev stesso, comprese le dipendenze: selezioniamo module-init-tools e premiamo invio. Ora ci appaiono tutte le versioni disponibili di module-init-tools, tra cui vediamo che è presente la 3.2pre9-1: non ci resta che selezionarla e marcarla per l'installazione :-D.


Quello che è successo è semplicemente che nel mio sistema udev è in testing, e fino alla versione 0.070 funzionava bene con module-init-tools-3.2pre1-2, che invece è in stable. Aggiornando tutto abbiamo marcato per l'installazione il nuovo udev, versione 0.074, che però dipende da module-init-tools >= 3.2pre9-1. Poiché questo pacchetto è in testing, APT non ha potuto risolvere la dipendenza automaticamente: se un pacchetto è in una distribuzione (e APT è configurato nel modo giusto) non verrà mai passato ad un'altra, a meno che non siamo noi a farlo manualmente.
Quello che è successo è semplicemente che nel mio sistema udev è in testing, e fino alla versione 0.070 funzionava bene con module-init-tools-3.2pre1-2, che invece è in stable. Aggiornando tutto abbiamo marcato per l'installazione il nuovo udev, versione 0.074, che però dipende da module-init-tools >= 3.2pre9-1. Poiché questo pacchetto è in testing, APT non ha potuto risolvere la dipendenza automaticamente: se un pacchetto è in una [[release]] (e APT è configurato nel modo giusto) non verrà mai passato ad un'altra, a meno che non siamo noi a farlo manualmente.


Si prega di notare che questo comportamento non è un bug, ma una cosa voluta: APT ha ricevuto un comando ambiguo e lo segnala generando un errore, proprio come noi ci aspettiamo da lui ;-).
Si prega di notare che questo comportamento non è un bug, ma una cosa voluta: APT ha ricevuto un comando ambiguo e lo segnala generando un errore, proprio come noi ci aspettiamo da lui ;-).


In effetti, i reali colpevoli della generazione dell'errore siamo noi. Infatti, per permettere ad APT di gestire correttamente delle dipendenze in testing, dobbiamo semplicemente usare "testing" come distribuzione predefinita.  
In effetti, i reali colpevoli della generazione dell'errore siamo noi. Infatti, per permettere ad APT di gestire correttamente delle dipendenze in testing, dobbiamo semplicemente usare "testing" come [[suite]] predefinita.  


Ricordate che abbiamo lanciato Aptitude semplicemente con il comando <code>aptitude</code>? E ricorderete anche che il mio sistema è una Sarge (stable). Questo equivale a lanciare Aptitude con il comando <code>aptitude -t stable</code>, da cui il nostro problema.  
Ricordate che abbiamo lanciato Aptitude semplicemente con il comando <code>aptitude</code>? E ricorderete anche che il mio sistema è una Sarge (stable). Questo equivale a lanciare Aptitude con il comando <code>aptitude -t stable</code>, da cui il nostro problema.  


Se avessimo usato <code>aptitude -t testing</code> Aptitude avrebbe risolto correttamente la dipendenza, ma attenzione: in questo modo diciamo ad Aptitude che testing è la nostra release predefinita (che non è vero) e lui ci mostrerà come aggiornabili tutti i pacchetti che lo sono in testing, cioè anche tutti quelli in stable (come peraltro ci aspettiamo che faccia ;-)).
Se avessimo usato <code>aptitude -t testing</code> Aptitude avrebbe risolto correttamente la dipendenza, ma attenzione: in questo modo diciamo ad Aptitude che testing è la nostra [[release]] predefinita (che non è vero) e lui ci mostrerà come aggiornabili tutti i pacchetti che lo sono in testing, cioè anche tutti quelli in stable (come peraltro ci aspettiamo che faccia ;-)).


Il fatto è che Aptitude, per quanto avanzato, ancora non legge il pensiero dell'amministratore, e fa solo il suo mestiere: prende tutte le decisioni ovvie autonomamente, e genera un errore quando non sa cosa decidere.
Il fatto è che Aptitude, per quanto avanzato, ancora non legge il pensiero dell'amministratore, e fa solo il suo mestiere: prende tutte le decisioni ovvie autonomamente, e genera un errore quando non sa cosa decidere.
Riga 358: Riga 358:
: [[Utente:Achille cotone|Achille cotone]]
: [[Utente:Achille cotone|Achille cotone]]
: [[Utente:Wtf|Wtf]]
: [[Utente:Wtf|Wtf]]
: [[Utente:HAL 9000|HAL 9000]] 11:34, 24 ago 2014 (CEST)
: [[Utente:HAL 9000|HAL 9000]] 18:41, 30 ago 2014 (CEST)
|Estesa_da =
|Estesa_da =
: [[Utente:TheNoise|TheNoise]]
: [[Utente:TheNoise|TheNoise]]
3 581

contributi