Articles

Documentazione Ubuntu

Posted on

(i) Questo articolo si applica a tutte le versioni supportate di Ubuntu

Gestione dei pacchetti con APT

IconsPage/apt.png La gestione dei pacchetti tramite apt-get va di pari passo con il file /etc/apt/sources.list. Per informazioni su come modificare o aggiornare l’elenco delle fonti vedi SourcesList.

Introduzione

Questa pagina descrive come gestire i pacchetti sul tuo sistema usando apt-get e i relativi comandi. Per esempio, puoi installare un nuovo pacchetto, rimuovere un pacchetto installato o aggiornare tutti i pacchetti installati alle ultime versioni.

Comandi

IconsPage/info.png Tutti questi comandi, tranne quelli di ricerca, devono essere eseguiti come root o con i privilegi di superuser, si veda sudo per maggiori informazioni.

  • IconsPage/example.png Esempio:

    sudo apt-get install ubuntu-desktop 

Comandi di installazione

  • apt-get install <package_name> 

    Questo comando installa un nuovo pacchetto.

  • apt-get build-dep <package_name> 

    Questo comando cerca nei repository e installa le dipendenze di build per <nome_pacchetto>. Se il pacchetto non è nei repository restituirà un errore.

  • aptitude install <package_name>

    Aptitude è un visualizzatore Ncurses di pacchetti installati o disponibili. Aptitude può essere usato dalla linea di comando in modo simile ad apt-get. Inserire man aptitude per maggiori informazioni.

  • APT e aptitude accettano nomi di pacchetti multipli come lista delimitata da spazi. Per esempio:
    apt-get install <package1_name> <package2_name> <package3_name>

    IconsagePage/note.png Utilizzare il flag -s per simulare un’azione. Per esempio: “apt-get -s install <nome_pacchetto>” simulerà l’installazione del pacchetto, mostrandovi quali pacchetti saranno installati e configurati.

auto-apt

  • auto-apt run <command_string>

    Questo comando esegue <command_string> sotto il controllo di auto-apt. Se un programma cerca di accedere ad un file che si sa appartenere ad un pacchetto disinstallato, auto-apt installerà quel pacchetto usando apt-get. Questa caratteristica richiede apt e sudo per funzionare.

  • Auto-apt mantiene dei database che devono essere tenuti aggiornati per essere efficaci. Questo si ottiene chiamando i comandi auto-apt update, auto-apt updatedb e auto-apt update-local.
  • Esempio d’uso
    • IconsPage/example.png State compilando un programma e, tutto ad un tratto, c’è un errore perché ha bisogno di un file che non avete. Il programma auto-apt vi chiede di installare i pacchetti se sono necessari, fermando il relativo processo e continuando una volta che il pacchetto è installato.

       # auto-apt run ./configure

      Quindi chiederà di installare i pacchetti necessari e chiamerà apt-get automaticamente. Se stai usando X, un’interfaccia grafica sostituirà quella testuale di default.

Comandi di manutenzione

  • apt-get update

    Esegui questo comando dopo aver modificato /etc/apt/sources.list o /etc/apt/preferences . Per informazioni su /etc/apt/preferences, vedi PinningHowto. Esegui questo comando periodicamente per assicurarti che la tua lista di fonti sia aggiornata. Questo è l’equivalente di “Reload” in Synaptic o “Fetch updates” in Adept.

  • apt-get upgrade

    Questo comando aggiorna tutti i pacchetti installati. Questo è l’equivalente di “Segna tutti gli aggiornamenti” in Synaptic.

  • apt-get dist-upgrade

    Lo stesso di cui sopra, tranne che per aggiungere la casella di controllo “smart upgrade”. Dice ad APT di usare un sistema di risoluzione dei conflitti “intelligente”, e tenterà di aggiornare i pacchetti più importanti a spese di quelli meno importanti, se necessario.

    IconsPage/note.png “apt-get dist-upgrade” non aggiorna da una versione precedente di Ubuntu. Per ulteriori informazioni sull’aggiornamento da una versione precedente di Ubuntu vedere http://www.ubuntu.com/getubuntu/upgrading .

  • apt-get check

    Questo comando è uno strumento diagnostico. Fa un aggiornamento delle liste dei pacchetti e controlla le dipendenze interrotte.

  • apt-get -f install

    Questo comando fa la stessa cosa di Edit->Fix Broken Packages in Synaptic. Fatelo se ricevete lamentele su pacchetti con “dipendenze non soddisfatte”.

  • apt-get autoclean

    Questo comando rimuove i file .deb per i pacchetti che non sono più installati sul vostro sistema. A seconda delle vostre abitudini di installazione, la rimozione di questi file da /var/cache/apt/archives può recuperare una quantità significativa di spazio su disco.

  • apt-get clean

    Lo stesso di cui sopra, tranne che rimuove tutti i pacchetti dalla cache dei pacchetti. Questo potrebbe non essere desiderabile se si ha una connessione Internet lenta, poiché causerà il riscaricamento di qualsiasi pacchetto necessario per installare un programma.

    • La cache dei pacchetti è in /var/cache/apt/archives . Il comando

      du -sh /var/cache/apt/archives

      ti dirà quanto spazio stanno consumando i pacchetti nella cache.

  • dpkg-reconfigure <package_name>

    Riconfigurare il pacchetto nominato. Con molti pacchetti, vi verranno poste alcune domande di configurazione che forse non sapevate ci fossero.

    • IconsPage/example.png Per esempio:

      dpkg-reconfigure fontconfig-config

      vi presenterà un “wizard” sulla configurazione dei font in Ubuntu.

  • echo "<package_name> hold" | dpkg --set-selections

    Questo comando mette in attesa il pacchetto desiderato.

  • echo "<package_name> install" | dpkg --set-selections

    Questo comando rimuove lo stato di “attesa” o “pacchetto bloccato” impostato dal comando precedente. La nota sopra sull’uso di sudo si applica a questo comando.

Comandi di rimozione

  • apt-get remove <package_name>

    Questo comando rimuove un pacchetto installato, lasciando intatti i file di configurazione.

  • apt-get purge <package_name>

    Questo comando rimuove completamente un pacchetto e i file di configurazione associati. I file di configurazione che risiedono in ~ non sono solitamente influenzati da questo comando.

    • + operatore
      • IconsPage/example.png Se si vuole rimuovere il pacchetto1 e installare il pacchetto2 in un solo passo:

        apt-get remove <package1> <package2>+

        .

  • apt-get autoremove

    Questo comando rimuove i pacchetti che sono stati installati da altri pacchetti e non sono più necessari.

    • apt-get autoremove <package_name>

      Questo comando rimuove un pacchetto installato e le dipendenze.

  • Mentre non esiste un modo integrato per rimuovere tutte le informazioni di configurazione dai pacchetti rimossi è possibile rimuovere tutti i dati di configurazione da ogni pacchetto rimosso con il seguente comando.

    dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge

Comandi di ricerca

  • apt-cache search <search_term>

    Ogni pacchetto ha un nome e una descrizione. Questo comando elenca i pacchetti il cui nome o descrizione contiene <search_term>.

  • dpkg -l *<search_term>*

    Questo troverà i pacchetti i cui nomi contengono <search_term>. Simile alla ricerca apt-cache, ma mostra anche se un pacchetto è installato sul vostro sistema contrassegnandolo con ii (installato) e un (non installato).

  • apt-cache show <package_name>

    Questo comando mostra la descrizione del pacchetto <nome_pacchetto> e altre informazioni rilevanti come versione, dimensione, dipendenze e conflitti.

  • dpkg --print-avail <package_name>

    Questo comando è simile a “apt-cache show”.

  • dpkg -L <package_name>

    Questo comando elencherà i file nel pacchetto <nome_pacchetto>.

  • dpkg -c foo.deb

    Questo comando elenca i file nel pacchetto “pippo.deb”. Si noti che pippo.deb è un percorso. Usa questo comando sui pacchetti .deb che hai scaricato manualmente.

  • dlocate <package_name>

    Questo comando determina quale pacchetto installato possiede <nome_pacchetto>. Mostra i file dei pacchetti installati che corrispondono a <nome_pacchetto>, con il nome del pacchetto da cui provengono. Considerala un’utilità di “ricerca inversa”.

    IconsPage/info.png Per usare questo comando, il pacchetto dlocate deve essere installato sul tuo sistema.

  • dpkg -S <filename_search_pattern>

    Questo comando fa lo stesso di dlocate, ma non richiede l’installazione di alcun pacchetto aggiuntivo. È più lento di dlocate ma ha il vantaggio di essere installato di default su tutti i sistemi Debian e Ubuntu.

  • apt-file search <filename_search_pattern>

    Questo comando agisce come dlocate e dpkg -S, ma cerca tutti i pacchetti disponibili. Risponde alla domanda “quale pacchetto fornisce questo file?”.

    • apt-file deve essere aggiornato regolarmente come apt-get. Usate il comando:

      apt-file update

    IconePage/info.png Per poter utilizzare questo comando, il pacchetto apt-file deve essere installato sul vostro sistema.

  • apt-cache pkgnames

    Questo comando fornisce un elenco di ogni pacchetto nel sistema

  • Una nota generale sulla ricerca: se la ricerca genera una lista troppo lunga, si possono filtrare i risultati facendoli passare attraverso il comando grep. Esempi:

    • apt-cache search <filename> | grep -w <filename>

      mostrerà solo i file che contengono <filename> come parola intera

    • dpkg -L package | grep /usr/bin 

      elencherà i file situati nella directory /usr/bin, utile se stai cercando un particolare eseguibile.

Per maggiori informazioni su apt-get, apt-cache e dpkg consultate le loro pagine di manuale usando il comando man. Questi manuali forniranno una gamma più ampia di informazioni oltre a tutte le opzioni che potete usare con ogni programma.

  • IconePage/example.png Esempio:

    man apt-get

    .

Esempio di utilizzo tipico

Voglio sentire il vento tra i capelli, voglio l’adrenalina della velocità. Allora installiamo un gioco di corse. Ma quali giochi di corse sono disponibili?

apt-cache search racing game

Mi dà un sacco di risposte. Vedo un gioco chiamato “Torcs”. Cerchiamo di ottenere qualche informazione in più su questo gioco.

apt-cache show torcs

Hmmm… sembra interessante. Ma questo gioco non è già installato sul mio computer? E qual è la versione disponibile? Da quale repository proviene (Universe o Main)?

apt-cache policy torcs

Ok, allora adesso installiamolo!

apt-get install torcs

Qual è il comando che devo digitare nella console per lanciare questo gioco? In questo esempio, è semplice (“torcs”), ma non è sempre così. Un modo per trovare il nome del binario è guardare quali file il pacchetto ha installato in “/usr/bin”. Per i giochi, il binario sarà in “/usr/games”. Per i programmi amministrativi, è in “/usr/sbin”.

dpkg -L torcs | grep /usr/games/

La prima parte del comando visualizza tutti i file installati dal pacchetto “torcs” (prova). Con la seconda parte, chiediamo di visualizzare solo le linee contenenti “/usr/games/”.

Hmmm, quel gioco è forte. Forse ci sono delle tracce extra?

apt-cache search torcs

Ma sto finendo lo spazio. Cancellerò la cache di apt!

apt-get clean

Oh no, mia madre mi ha chiesto di rimuovere tutti i giochi da questo computer. Ma voglio conservare i file di configurazione in modo da poterlo semplicemente reinstallare in seguito.

apt-get remove torcs

Se voglio rimuovere anche i file di configurazione:

apt-get purge torcs

Impostare apt-get per utilizzare un http-proxy

Questi sono tre metodi per utilizzare apt-get con un http-proxy.

Sessione proxy temporanea

Questo è un metodo temporaneo che puoi usare manualmente ogni volta che vuoi usare apt-get attraverso un http-proxy. Questo metodo è utile se vuoi usare solo temporaneamente un http-proxy.

Inserite questa linea nel terminale prima di usare apt-get (sostituite i vostri dati con il vostro indirizzo proxy e proxyport).

export http_proxy=http://yourproxyaddress:proxyport

Se normalmente usate sudo per eseguire apt-get dovrete prima effettuare il login come root perché questo funzioni, a meno che non aggiungiate anche alcune impostazioni di ambiente esplicite a /etc/sudoers, ad es.g.

Defaults env_keep = "http_proxy https_proxy ftp_proxy"

Metodo del file di configurazione apt

Questo metodo usa il file apt.conf che si trova nella directory /etc/apt/. Questo metodo è utile se si vuole che solo apt-get (e non altre applicazioni) usi un http-proxy in modo permanente.

IconsPage/info.png In alcune installazioni non ci sarà un file apt-conf impostato. Questa procedura modificherà un file apt-conf esistente o creerà un nuovo file apt-conf.

gksudo gedit /etc/apt/apt.conf

Aggiungi questa linea al tuo file /etc/apt/apt.conf (sostituisci i tuoi dati con il tuo indirizzo proxy e proxyport).

Acquire::http::Proxy "http://yourproxyaddress:proxyport";

Salvare il file apt.conf.

Metodo BASH rc

Questo metodo aggiunge due righe al vostro file .bashrc nella vostra directory $HOME. Questo metodo è utile se volete che apt-get e altre applicazioni, per esempio wget, usino un http-proxy.

gedit ~/.bashrc

Aggiungi queste righe in fondo al tuo file ~/.bashrc (sostituisci i tuoi dati con yourproxyaddress e proxyport)

http_proxy=http://yourproxyaddress:proxyportexport http_proxy

Salva il file. Chiudete la vostra finestra del terminale e poi aprite un’altra finestra del terminale o il file ~/.bashrc:

source ~/.bashrc

Testate il vostro proxy con sudo apt-get update e qualsiasi strumento di networking desideriate. Potete usare firestarter o conky per vedere le connessioni attive.

Se fate un errore e tornate a modificare il file di nuovo, potete chiudere il terminale e riaprirlo o potete fare il sorgente ~/.bashrc come mostrato sopra.

source ~/.bashrc

Come fare il login di un utente proxy

Se avete bisogno di fare il login al server Proxy questo può essere ottenuto nella maggior parte dei casi utilizzando il seguente layout nello specificare l’indirizzo proxy in http-proxy. (sostituisci i tuoi dati con nome utente e password, yourproxyaddress e proxyport)

http_proxy=http://username:password@yourproxyaddress:proxyport

Pacchetti aggiuntivi utili

  • Deborphan

  • Debfoster

Altri link

  • Repository/CommandLine

  • PinningHowto

  • AutoDeb

  • Synaptic Package Manager

  • Forum della comunità Ubuntu: Installazioni e aggiornamenti

  • Come velocizzare gli aggiornamenti dei pacchetti usando apt-fast

Risoluzione dei problemi

  • https://help.ubuntu.com/community/PackageManagerTroubleshootingProcedure

CategoryPackageManagement CategoryCommandLine

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *