Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/InstallareProgrammi/Dpkg"
Differenze tra le versioni 5 e 6
Versione 5 del 05/02/2022 18.34.10
Dimensione: 12075
Autore: ivantu
Commento: +link RipulireConfigurazioni
Versione 6 del 29/03/2022 21.16.15
Dimensione: 12186
Autore: wilecoyote
Commento: Verifica wiki Marzo 2022
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 6: Linea 6:
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=646634"; rilasci="21.10 20.04 18.04 16.04 14.04")>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=646634"; rilasci="22.04 21.10 20.04 18.04 16.04 14.04")>>
Linea 64: Linea 64:
Questi comandi servono per forzare la rimozione o reinstallo dei pacchetti nel caso l'aggiornamento del sistema si blochi. Si __raccomanda__ di usarli solo in caso di effettiva necessità. Questi comandi servono per forzare la rimozione o reinstallo dei pacchetti nel caso l'aggiornamento del sistema si blocchi. Si __raccomanda__ di usarli solo in caso di effettiva necessità.
Linea 67: Linea 67:
||<27% #f7f7f7> '''dpkg --force-remove-reinstreq -i''' ''nome_pacchetto da reinstallare'' || Rimuove uno o più pacchetti installati e installa il pacchetto o i pacchetti precedentemente scaricati di versione successiva. || ||<27% #f7f7f7> '''dpkg --force-remove-reinstreq -i''' ''nome_pacchetto da reinstallare'' || Forza la rimozione uno o più pacchetti installati preimpostando il reinstallo. Per il corretto uso leggere [[#reinstallo|questa sezione]] ||
Linea 71: Linea 71:
= Reimpacchettare i pacchetti installati = = Rimpacchettare i pacchetti installati =
Linea 83: Linea 83:
  sostituendo «`nome pacchetto`» con il nome del pacchetto da reimpacchettare (è inoltre possibile listare i nomi di più pacchetti separati da uno spazio.<<BR>>   sostituendo «`nome pacchetto`» con il nome del pacchetto da rimpacchettare (è inoltre possibile listare i nomi di più pacchetti separati da uno spazio.<<BR>>
Linea 88: Linea 88:
Questa procedura di installazione è utile specialmente per installare pacchetti forniti da fonti terze, senza però gestire le eventuali dipendenze richieste può richiedere un comando integrativo con '''[[AmministrazioneSistema/InstallareProgrammi/Apt|apt]]'''. Questa procedura di installazione è utile specialmente per installare pacchetti forniti da fonti terze, però non gestendo le eventuali dipendenze richieste può richiedere un comando integrativo con '''[[AmministrazioneSistema/InstallareProgrammi/Apt|apt]]'''.
Linea 91: Linea 91:
 0. [[AmministrazioneSistema/ComandiBase#cd|Spostarsi]] nella cartella dove è stato il pacchetto, o gruppo di pacchetti, scaricato.  0. [[AmministrazioneSistema/ComandiBase#cd|Spostarsi]] nella cartella dove il pacchetto, o gruppo di pacchetti, è stato scaricato.
Linea 137: Linea 137:
<<Anchor(reinstallo)>>
Linea 140: Linea 140:
Questa procedura serve per sbloccare i pacchetti tramite reinstallazione forzato.

 0. Rimuovere le informazioni  del pacchetto:{{{
Questa procedura serve per sbloccare i pacchetti tramite reinstallazione forzata.

 0. Rimuovere le informazioni del pacchetto:{{{
Linea 148: Linea 148:
 0. Reinstallare il pacchetto:{{{  0. Aggiornare il database dei pacchetti:{{{
sudo apt update
}}}
 0. Reinstallare il pacchetto rimosso:{{{


Guida verificata con Ubuntu: 20.04 22.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

In questa guida viene schematicamente presentato DPKG (Debian PacKaGe), il sistema di gestione dei pacchetti di livello più basso predefinito in Ubuntu.

Verranno descritti i comandi contenuti nei pacchetti dpkg e dpkg-repack.

Cenni storici

In principio i programmi venivano distribuiti tramite file archivio .tar.gz. Gli utenti dovevano compilare ogni programma che volevano usare sui loro sistemi GNU/Linux. Quando fu creata Debian, fu ritenuto necessario che il sistema incorporasse un metodo di gestione dei pacchetti installati sulla macchina. DPKG è stato il primo programma per gestire i pacchetti costituenti il sistema Debian, e fu creato da Ian Murdock nel gennaio 1994 come script della shell. Successivamente Ian Murdock, Carl Streeter e Matt Welsh l'hanno interamente traslato in linguaggio Perl, e dopo ancora il cuore del programma è stato traslato in linguaggio C da Ian Jackson nel 1994. Oggi DPKG è considerato uno strumento di gestione pacchetti di basso livello, sostituito nell'uso corrente dallo strumento d'alto livello APT ma, nondimeno, ancora molto utile per riparare eventuali danni di varie entità al sistema dei pacchetti medesimo.

Una comodità

È possibile visualizzare e stampare una lista, disponibile in più formati, per la consultazione rapida delle varie opzioni dei programmi Apt e Dpkg.

  1. Installare il pacchetto apt-dpkg-ref.

  2. Leggere la lista dei formati disponibili e scegliere quello voluto.

  3. Copiare il file /usr/share/doc/apt-dpkg-ref/apt-dpkg-ref.<formato>.gz nella propria Home.
    Sostituire «formato» con quello scelto.

  4. Spostarsi nella cartella dove è stato copiato il file apt-dpkg-ref.<formato>.gz.

  5. Estrarre il contenuto dell'archivio apt-dpkg-ref.<formato>.gz.

  6. Avviare il programma più adatto per visualizzare e/o stampare i contenuti del file estratto.

In alternativa, per visualizzare la lista delle opzioni, aprire con un browser il file /usr/share/doc/apt-dpkg-ref/apt-dpkg-ref.html.

Comandi

Tutti i comandi di dpkg e quelli correlati che prevedono modifiche al sistema (installazione, rimozione, riparazione di pacchetti, ecc.) necessitano dei privilegi di amministrazione. Per l'installazione è pure richiesto lo scaricamento preventivo nella propria Home del pacchetto, o dei pacchetti, che si desidera installare.

Installazione e rimozione pacchetti

Di seguito vengono elencati i comandi più comuni per l'installazione e la rimozione dei pacchetti dal sistema:

Comandi

dpkg -i nome_pacchetto

Installa un nuovo pacchetto.

dpkg --configure nome_pacchetto

Prova a riconfigurare un pacchetto installato con errori.

dpkg --configure -a

Prova a riconfigurare l'insieme dei pacchetti installati con errori.

dpkg -r nome_pacchetto

Rimuove un pacchetto senza rimuovere i relativi file di configurazione.

dpkg -P nome_pacchetto

Rimuove un pacchetto, compresi tutti i file di configurazione.

Per un elenco completo dei comandi e delle opzioni disponibili per dpkg, digitare nel terminale:

man dpkg

Ricerca pacchetti o file

In questa sezione vengono elencati alcuni comandi utili alla ricerca dei pacchetti all'interno del database e delle informazioni riguardanti il contenuto di essi.

Comandi

dpkg -l nome_pacchetto_nel_pattern

Lista dei pacchetti individuati dalla stringa di ricerca.

dpkg -S nome_file

Dato un file, mostra il pacchetto che ha provveduto alla sua installazione nel sistema.

dpkg -L nome_pacchetto

Lista dei file presenti nel pacchetto.

Forzature per sbloccare aggiornamenti

Questi comandi servono per forzare la rimozione o reinstallo dei pacchetti nel caso l'aggiornamento del sistema si blocchi. Si raccomanda di usarli solo in caso di effettiva necessità.

Comandi

dpkg --force-remove-reinstreq -i nome_pacchetto da reinstallare

Forza la rimozione uno o più pacchetti installati preimpostando il reinstallo. Per il corretto uso leggere questa sezione

dpkg --force-downgrade nome pacchetto

Sostituisce un pacchetto con una versione precedente.

dpkg --force-configure-any nome pacchetto

Configura qualsiasi pacchetto che potrebbe essere di aiuto a installare il pacchetto.

Rimpacchettare i pacchetti installati

Questa procedura può rivelarsi utile per copiare da un sistema ad un altro dei pacchetti non più disponibili da fonti terze, oppure per convertirli in un'architettura differente ove possibile.

  1. Installare il pacchetto dpkg-repack.

  2. Per creare il pacchetto digitare nel terminale il seguente comando:

    dpkg-repack <nome pacchetto>

Per creare invece un pacchetto convertito nell'architettura desiderata, digitare nel terminale il seguente comando:

dpkg-repack --arch=<arch> <nome pacchetto>
  • sostituendo «nome pacchetto» con il nome del pacchetto da rimpacchettare (è inoltre possibile listare i nomi di più pacchetti separati da uno spazio.

Sostituire infine «arch» con i386 per convertire a 32 bit oppure con <amd64> per convertire a 64 bit.

Installazione pacchetti

Questa procedura di installazione è utile specialmente per installare pacchetti forniti da fonti terze, però non gestendo le eventuali dipendenze richieste può richiedere un comando integrativo con apt.

  1. Creare nella propria Home una cartella in cui salvare il pacchetto, o gruppo di pacchetti, che si vuole scaricare.

  2. Spostarsi nella cartella dove il pacchetto, o gruppo di pacchetti, è stato scaricato.

  3. Installare il pacchetto, o gruppo di pacchetti, con il comando:

    sudo dpkg -i *.deb
  4. Se l'installazione termina indicando problemi di dipendenze, digitare il comando:

    sudo apt install -f

Esempi di sblocco pacchetti

Quelli che seguono sono alcuni esempi di comandi utili per sbloccare un sistema con singoli o multipli pacchetti bloccati, cagionanti aggiornamenti mal riusciti o bloccati.

Le seguenti procedure possono richiedere d'usare in congiunzione a dpkg i comandi apt e rm.

Sostituire nei comandi seguenti <nomepacchetto> col nome del pacchetto.

L'uso di queste procedure è sconsigliato nella gestione corrente del sistema. Un uso scorretto potrebbe causare dei danni irrimediabili al sistema.

Ripulire configurazioni residue

Consultare questo paragrafo.

Sblocco pacchetto bloccato tramite rimozione

Questa procedura serve a sbloccare i pacchetti tramite rimozione forzata.

  1. Ripulire la lista dei sorgenti del pacchetto:

    sudo rm -r /var/lib/apt/lists/*
  2. Ripulire la lista file dei metadati del pacchetto:

    sudo rm -r /var/lib/app-info/yaml/*
  3. Rimuovere le informazioni del pacchetto:

    sudo rm /var/lib/dpkg/info/<nomepacchetto>*
  4. Riconfigura il sistema pacchetti:

    sudo dpkg --configure -a
  5. Aggiornare il database dei pacchetti:

    sudo apt update
  6. Aggiornare il sistema:

    sudo apt full-upgrade

Sblocco pacchetto rotto con reinstallazione

Questa procedura serve per sbloccare i pacchetti tramite reinstallazione forzata.

  1. Rimuovere le informazioni del pacchetto:

    sudo rm /var/lib/dpkg/info/<nomepacchetto>*
  2. Forzare rimozione a scopo reinstallo:

    sudo dpkg --remove --force-remove-reinstreq <nomepacchetto>
  3. Aggiornare il database dei pacchetti:

    sudo apt update
  4. Reinstallare il pacchetto rimosso:

    sudo apt install --reinstall <nomepacchetto>

Forzare la corretta installazione

Questa procedura serve a reinstallare i pacchetti male installati.

  1. Rimuovere la cache delle password:

    sudo rm /var/cache/debconf/passwords.dat
  2. Rimuovere la cache dei templates:

    sudo rm /var/cache/debconf/templates.dat
  3. Forzare la sovrascrittura dei contenuti del pacchetto:

    sudo dpkg -i --force-overwrite /var/cache/apt/archives/<nome-pacchetto-versione_architettura.deb>
    • Sostituire <nome-pacchetto-versione_architettura.deb> coll'intera dicitura identificativa del pacchetto.

  4. Correggere eventuali problemi nel sistema pacchetti:

    sudo apt install -f

Pacchetti aggiuntivi

Pacchetti come deborphan, debfoster e kleansweep, con le loro relative funzioni, possono risultare utili alla scopo di mantenere il sistema pulito e a rimuovere i pacchetti orfani (cioè non più utili a soddisfare dipendenze di altri pacchetti). Per maggiori informazione consultare i manuali dei relativi programmi.

L'uso di queste applicazioni è sconsigliato agli utenti meno esperti. Un uso non corretto potrebbe causare dei danni irrimediabili al sistema.

Digitazione rapida dei comandi comuni

La riga di comando è uno strumento molto potente. Tuttavia per alcuni utenti potrebbe risultare scomodo digitare comandi anche lunghi oppure memorizzarli. Di seguito sono quindi descritti alcune semplici e utili funzioni di Bash, shell predefinita nella linea di comando di Ubuntu.

  • Cronologia: digitando i tasti direzionali superiore e inferiore sarà possibile accedere ai comandi digitati di recente. Questa funzionalità risulterà pertanto utile, ad esempio, se si esegue di frequente l'aggiornamento del sistema da terminale.

  • Comandi rapidi: è possibile rinominare i comandi più lunghi con altri più corti scelti dall'utente (ad esempio: dki invece di sudo dpkg --install). A tale fine modificare con un editor di testo il file ~/.bashrc, inserendo alla fine del testo delle righe come nel seguente esempio:

    alias dkp='dpkg-repack'
    alias dki='sudo dpkg --install'
    alias dkr='sudo dpkg --purge'
    alias dkp='sudo dpkg --remove'.

Ulteriori risorse


CategoryAmministrazione