Usare Aptitude al posto di APT

Da qualche tempo a questa parte al posto di APT sto usando Aptitude, interfaccia a dpkg che molti erroneamente identificano solo con qualcosa del genere:

aptitude.jpg
Aptitude non è solo questa (seppur comoda) strana interfaccia!

Ma che in realtà può essere comodamente usato da linea di comando, come e meglio di APT e del suo infinito corollario di comandi. Vi mostro qualche vantaggio da me riscontrato e spero di incuriosirvi un po’ ;)

Un solo comando per tutte le esigenze

Sarà capitato anche a voi, oltre ad avere una musica in testa, di leggere qualche critica rivolta all’eccessivo numero di comandi utilizzati normalmente nella gestione dei pacchetti in Debian e derivate (es. Ubuntu). Parliamo più che altro di gestione avanzata: i lettori più smaliziati sapranno bene che esistono comandi come:

apt-troppi.jpg

E notate che questi sono solo quelli che mi ritrovo nella mia installazione standard di Ubuntu Gutsy, in realtà ne esistono ben di più: ricordo ad esempio che durante la mia carriera da utente Debian Sid non potevo fare a meno di apt-listbugs :)

Bene, aptitude non racchiuderà certamente le funzioni di tutti i comandi con prefisso “apt-” esistenti, questo è ovvio, ma diciamo che tende ad unificare molti di quelli più comunemente usati, in un unico comando che accetta degli argomenti molto chiari come: install, remove, search, show, hold, eccetera.

Ecco una tabella con i principali e più comuni comandi di Aptitude, a confronto con i relativi comandi apt:

aptitude install apt-get install
aptitude reinstall apt-get install –reinstall
aptitude remove apt-get remove
aptitude purge apt-get –purge remove
aptitude hold echo <nomepacchetto> hold | dpkg –set-selections
aptitude unhold echo <nomepacchetto> install | dpkg –set-selections
apitude update apt-get update
aptitude safe-upgrade apt-get upgrade
aptitude full-upgrade apt-get dist-upgrade
aptitude search apt-cache search
aptitude show apt-cache show

Che ne dite?

Gestione superiore delle dipendenze

I sostenitori di Aptitude ne hanno da sempre sottolineato l’impeccabile gestione delle dipendenze dei pacchetti.

Non solo l’applicazione in questione risolve le dipendenze in installazione, come da sempre fa APT, ma in più Aptitude tiene traccia di tali informazioni: in caso di una disinstallazione, oltre al pacchetto direttamente interessato, elimina eventuali dipendenze non più necessari al sistema, che con APT invece rimarrebbero.

C’è da dire che di recente in APT è stato introdotto il nuovo comando autoremove, che imita un po’ il comportamento di Aptitude, giusto per completezza :)

Risoluzione automatica dei conflitti

No, non parlo della risoluzione automatica dei conflitti interraziali, quella resta una prerogativa della felitopicaDistro Finale” ;)

Mi riferisco alla capacità che ha Aptitude di selezionare automaticamente la soluzione più adatta in caso di nomi di pacchetti ambigui o situazioni che altrimenti richiederebbero l’intervento umano per “chiarire” comandi che si prestano ad essere assolti in più modi.

Un esempio tipico è il copia/incolla di qualche istruzione presa da una guida magari non troppo aggiornata: l’installazione di un pacchetto che ha cambiato nome finisce male se si usa APT, generalmente va a buon fine se invece si usa Aptitude, perché l’ultima si occuperà di selezionare il pacchetto che serve, anche se ha cambiato nome.

aptimoo.jpg
Non poteva mancare il richiamo alla supermucca (moo) che stavolta è un elefante divorato da un boa

Altro esempio è la migliorata capacità che ha Aptitude di gestire situazioni che implicano da rimozione di uno o più pacchetti in favore di altri. In alcuni casi APT ci “lascia a piedi” e ci tocca fare qualche magheggio manuale per installare il giusto pacchetto.

Insomma, facendo un paragone totalmente stupido e arbitrario, se dovessi scegliere chi assumere tra APT e Aptitude come manager per la nuova filiale della mia catena di negozi di bambole gonfiabili, sceglierei il secondo per la capacità di cavarsela in qualche situazione più delicata.

Se non avete problemi, non cercate di risolverne

Questa è una massima che considero di una saggezza quasi indisponente, e si applica anche ad una questione apparentemente così banale come la gestione dei pacchetti nella vostra distribuzione.

Se vi trovate bene con APT non c’è alcun motivo di angosciarsi appresso ad Aptitude, tanto più che la maggior parte di noi usa Synaptic per soddisfare la grande maggioranza delle esigenze di gestione dei pacchetti. Mi chiedo solo come mai non si sia pensato ad un Synaptic basato su Aptitude ;)

Aptitude può essere apprezzato da chiunque, ma probabilmente l’utente più smaliziato, che ama sperimentare con la propria distro, ne ricaverà più vantaggi, quindi invito tutti a provarlo (è già installato) e a decidere in base alle proprie esigenze. Non è detto che Aptitude debba risultare migliore di APT per tutto e per tutti…

Ad esempio “aptitude a life” suona decisamente male :D

44 pensieri su “Usare Aptitude al posto di APT

  1. Scusa Felipe, cerca di capirmi, sono in fibrillazione pre-gutsy… oggi è uscita la RC, tu immagino abbia la Beta: come va? Io – come altri, I suppose – non voglio fare un download di tre giorni… insomma, aggiorniamo o no?? O aspettiamo il 18??
    RSVP

  2. Io per fare prima le ricerche e le installazioni, ho aggiunto un paio di alias nel mio .bashrc chiamandole “installa” e “cerca” basandomi su apt.

  3. ..ah!
    Io pensavo fosse solo l’interfaccina da consolle (che tralaltro non mi piace).
    Fico, oggi, passata un po’ la semi sbronza, ci ridò un’occhiata e vedo di imparare qualcosa!
    Grazie Felipe!

  4. Guarda che veramente per purge basta usare apt-get purge . Ho usato aptitude quando non mi andava la scheda grafica per problemi di conflitto con gli ultimi driver Nvidia e l’ho trovato molto utile da terminale. Comunque per chi ama la linea di comando ho trovato più comodo apt con tutti i suoi sottocomandini vari, per chi ama l’ambiente X molto meglio Synaptic. Aptitude si trova in quel limbo fra i due che ritorna utile in caso di gravi problemi : non è cane non è lupo s solo quello che non è…

  5. le dipendenze sono per i niubbi, gli uomini veri usano slackware :-)

    (notare il sorrisino, non scatenare flames, pls)

  6. Una domanda banale (per voi all’ascolto): se utilizzo sia aptitude (comodissimo da riga di comando) che, saltuariamente, Synaptic (per il gusto della grafica), rischio di combinare qualche pasticcio?
    Non sono entrambi front-end di apt?

    http://wiki.linuxquestions.org/wiki/Apt

    Per ora su debian non ho avuto problemi (credo).

    …e aptitude (ncurses) è il front-end del front-end???

    Mi sento confuso…

    Grazie.

  7. Il problema di aptitude è che proprio il suo punto di forza a volte si trasforma in una grossa noia.
    Provate a rimuovere meta pacchetti collegati a decine e decine di dipendenze. As esempio quando rimuovo kubuntu-desktop, aptitude per qualsiasi azione vada a compiere in seguito mi chiede di cancellare tutti i pacchetti che kubuntu-desktop installa, una bella scocciatura dire sempre di no oppure bloccare la rimozione dei pacchetti.
    Già apt-get è più gentile, ti propone di rimuoverli ma non lo fa a meno che tu non digiti apt-get autoremove.

  8. Tempo fa feci anche io la scoperta di aptitude, e decisi anche io “mo lo uso quotidianamente”.

    Oggi sono ritrovato e felice utente apt + debfoster :p
    ovviamente uso alias per non dover scrivere tutta quella manfrina di apt-get install….
    apti e’ piu rapido :p

    di aptitude non mi piace la lentezza
    non mi piace che di defaut si comporti come un apt-get -n (cioe cerca solo tra i nomi dei pacchetti)
    e non mi piace che, sempre di default, ti installa anche le dipendenze consigliate (o era suggerite, bho)

    in sostanza, se devo perdere tempo a configurare aptitude, preferisco scrivere 4 alias per apt e mi sbrigo,
    non uso neanche auto-remove perche’
    tengo pulita la distro con debfoster e deborphan.

    per me e’ la soluzione piu’ veloce e non meno efficiente.

    Oky oky, ammetto, uso aptitude in almeno un caso:
    quando voglio vedere se ho gia’ installato un certo pacchetto,
    e allora faccio un aptitude search e lui mi dice nella prima colonna lo stato del pacchetto.

    ma ci tengo a precisare che e’ solo perche’ non so come farlo con apt, e mi aurta troppo il dpkg –get-selections, che cmq ti dice solo i pacchetti installati non quelli installabili.

  9. penso che in ubuntu, l’applicazione Aggiungi/Rimuovi sia basata su aptitude, perche anche essa tiene conto delle dipendenze non piu necessarie e le elimina quando vai ad eliminare il pacchetto che ne ha causato l’installazione. Cosa che invece Synaptic non fa…

  10. grazie felipe per la chicca :)
    adesso dovrò testare le mie attitudini con aptitude, mettendolo sotto stress!

  11. Per Massimiliano (anticipo Felipe):
    procedi pure con la RC.
    Qui Gutsy (portatile HP pavilion di 3 anni) gira gia’ da un mesetto, senza particolari problemi (anzi), a parte i “fastidi” dovuti ad una beta.

    Per inciso, Compiz gira meglio su questa macchina (Centrino 1.8Ghz – chipset grafico Intel serie 8xxx) che sull’altra macchina (uno ShuttleX G62 – P4 2.8Ghz con Nvidia Geforce 6200).
    Mah ;)

  12. @Emanuele: cavolo, effettivamente quell’aggiungi/rimuovi l’ho usato un po’ ultimamente e sembra molto carino sul serio. In più ti dice anche dove ti mette l’applicazione sul menu :)

  13. Noooo! La citazione a “sarà capitato anche a voi…” mi ha fatto spaccare dalle risate!

    Interessante anche l’articolo, of course!

    Ciao

  14. Anche io per un po’ di tempo ho usato aptitude al posto di apt, in effetti avevo notato le stesse cose soprattutto per cio’ che riguarda l’auto-rimozione delle dipendenze non piu’ necessarie (che per fortuna ora fa anche apt!).

    Qualche volta pero’ non mi sono trovato molto bene quando ho provato a rimuovere pacchetti, tutte le soluzioni che mi proponeva non erano semplici ne’ secondo me valide. E’ successo solo qualche volta ma questo e’ bastato per farmi tornare ad apt che trovo un po’ piu’ immediato.

  15. Io sono un felice utilizzatore di aptitude !Sinceramente l’unico difetto che ho rilevato è che quando c’è un qualche errore (tale da richiedere un apt-get -f install) se provo a risolvere con aptitude combino dei guai… apt-get ritorna decisamente utile in quel frangente.

    Comunque “aptitude is now the preferred text front end for APT”: http://www.debian.org/doc/manuals/reference/ch-package.en.html

  16. Oddio, uso aptitude da tempo ma non conoscevo wajig. Ho dato uno sguardo all’help, ho fatto un po’ di prove. Mi pare il package manager definitivo. Anzi, sembra di più. E ha il pregio di avere una sintassi molto più chiara e sintetica di apt e aptitude. Anche l’output prodotto dai vari comandi è molto più leggibile. Solo, non sono riuscito a trovare la supermucca, per ora :)

  17. ah ecco, c’e’ da sottolineare un’altra cosa che non mi piace di aptitude!!!

    se putacaso pianifichi una operazione e poi per qualche motivo la annulli, essa rimane pianificata. E se tutto cio’ accade in quei momenti incui tu non ricordi o non comprendi, allora rischi di compiere operazioni senza piena coscienza di quel che fai :p

  18. ho utilizzato aptitude solo in un paio di occasioni. In entrambi i casi voleva cancellarmi l’intero sistema, vabbè…

  19. Conto mio il fatto è che APT e Aptitude hanno nomi troppo simili: anche se uno sa dell’esistenza del secondo, come potrebbe immaginare delle differenze fra i due programmi? D’altronde il lavoro che fanno è più o meno sempre quello.

    Menomale che hai fatto questo post!

  20. @12 e 30 allalon:

    Sia la questione dell’installazione automatica dei pacchetti raccomandati (non i consigliati), sia la questione delle operazioni pianificate che non vengono annullate….NON E’ VERO. La prima la risolvi nel menù opzioni–gestione dipendenze, spuntando la voce del tipo “installa automaticamente raccomandati”, mentre la seconda la risolvi evidenziando la opportuna voce “cancellare azioni pendenti”.

    Molto più razionale aptitude di apt

  21. se cercate il sistema in assoluto migliore per gestire pacchetti, usate smart! fa tutto quello che fa aptitude ma in più gestisce anche gli rpm e con l’opzione –gui vi mette a disposizione una comoda interfaccia grafica in gtk, non al livello di synaptic ma comunque funzionale. Da segnalare anche il fatto che vi mostra progress bar sullo stato del download da terminale. Per installarlo è semplicissimo, sta già nel repo ubuntu…

  22. Ho usato aptitude a lungo, da Dapper a Feisty, ma poi sono tornato ad apt. E’ molto bello tutto quello che fa, ma è così “zelante” talvolta che ti spazza via mezzo sistema quando vai a disinstallare qualcosa… Per questo motivo tante volte ho avuto strane e assurde sorprese che con il classico apt si possono facilmente evitare… spero comunque che migliori, perchè mi ci ero affezionato molto ad aptitude… anche se ormai non sono più un debiante, ma non si sa mai in futuro…

  23. Aptitude è fantastico, gestisce le dipendenze, upgrade, downgrade in una maniera paradisiaca! Lo consiglio a tutti quelli che mixano release diverse (vedi debian stable/testing/sid/experimental o ubuntu feisty/gutsy). Davvero un programma ben fatto.

  24. Mah, ho dato un’occhiata a aptitude, ma personalmente come sempre preferisco dselect… de gustibus :)

    Enrico
    P.S. aptitude, cosi` come dselect, e` un frontend ad apt, che e` un frontend a dpkg (ovvero, aptitude e` un frontend ad un frontend)

  25. @Nicola Larosa, io ci ho provato parecchie volte a usare wajig, ma non mi piace, tu ti ci trovi comodo? trovo l’interfaccia di aptitude veramente comoda…
    se riscrivono aptitude in python passerò la mano al nuovo programma (certo, se avrà un nome decente, wajig mi par tutto fuorchè un bel nome)

    :-)

  26. aptitude install apt-get install
    aptitude reinstall apt-get install –reinstall
    aptitude remove apt-get remove
    aptitude purge apt-get –purge remove
    aptitude hold echo hold | dpkg –set-selections
    aptitude unhold echo install | dpkg –set-selections
    *** apitude update apt-get update ***
    aptitude safe-upgrade apt-get upgrade
    aptitude full-upgrade apt-get dist-upgrade
    aptitude search apt-cache search
    aptitude show apt-cache show

    Manca una “t”.

  27. Ma per rimuovere le dipendenze installate automaticamente da apt non basta un “apt-get autoremove”???

  28. Io ho usato 2 volte aptitude e 2 volte l’ho presa in tasca con disinstallazioni non volute di pacchetti vitali che con apt non avvenivano.

    Diciamo che mi è rimasto un imprinting negativo ma leggendo il tuo articolo potrei ricredermi (da fans di apt).

    Ciao e grazie

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...