Force apt-get a chiedere di nuovo tutte le domande di installazione?

2

Durante l'installazione di jackd usando apt-get, ho dato la risposta sbagliata ad alcune domande. Come faccio a forzare apt-get a farmi di nuovo la domanda? Preferirei farlo attraverso il gestore di pacchetti piuttosto che apportare le modifiche manualmente.

Ho provato a ripulirlo e installarlo di nuovo. Ho anche provato dpkg-reconfigure jackd .

    
posta user204744 19.10.2013 - 17:57

2 risposte

4

È probabile che dpkg-reconfigure sia la soluzione, ma a volte il pacchetto a cui appartiene la domanda non ha lo stesso nome del pacchetto che hai installato - o perché era un meta-pacchetto, o perché la domanda apparteneva a uno dei pacchetti dipendenti.

In questo caso, può essere utile consultare il database debconf per vedere se c'è un probabile candidato, usando debconf-show e.g.

$ sudo debconf-show --listowners | grep jack
jackd2

e si scopre che

$ sudo dpkg-reconfigure jackd2

fa davvero venire la domanda che stai cercando.

    
risposta data steeldriver 19.10.2013 - 18:42
1

Per il beneficio del lettore nel caso in cui inciampi su una cosa simile, questo qui aiuta a risolvere i seguenti problemi:

  • Dopo aver installato un pacchetto, vedi che molte cose si trovano nel posto sbagliato.
  • dpkg-reconfigure package non aiuta neanche, poiché questo potrebbe lasciare dietro di sé indesiderati (o anche pericolosi) detriti (ad esempio, quando si passa al nome utente git per il pacchetto gitolite3 non ripulisce l' gitolite3 utente predefinito - come non posso sapere se questo utente è stato usato nel frattempo).
  • Dopo aver disinstallato il pacchetto, Debian conserva ancora "magicamente" gli ultimi valori inseriti alla successiva installazione.
  • Puoi vedere alcuni valori di configurazione del pacchetto su dpkg-reconfigure , che non vengono richiesti su apt-get install
  • Tu odi le Curses-GUI o ami le console di testo semplice

Chiedi a apt di chiedere ogni possibile valore di configurazione

DEBIAN_FRONTEND=readline DEBIAN_PRIORITY=low apt-get install PACKAGE

Tuttavia, questo potrebbe non chiedere tutto se ci sono già risposte in cache. Questi sono conservati in qualcosa chiamato debconf . Il file in cui è conservato è chiamato /var/cache/debconf/config.dat .

Per visualizzare tutte queste informazioni, esegui il comando seguente, forse prima di provare a installare PACKAGE :

debconf-show PACKAGE

Vedi sotto su alcuni modi per sbarazzarsi di voci indesiderate (ci sono zillion di più modi, ovviamente).

  

Attenzione:

     

Non modificare mai /var/cache/debconf/config.dat da solo. Guardala, ma non cambiarla con un editor. È un file schizzinoso. Spazi, TAB, ecc., Non toccarli, tenerli così come sono. Alcuni editori cercano di fare cose intelligenti con spazi nei file di testo. Distruggeranno config.dat . E la maggior parte del tempo non riesci nemmeno a vederlo.

     

Utilizza invece gli strumenti appropriati (alcuni sono in debconf-utils ):

     
  • debconf-get-selections per scaricare tutto
  •   
  • debconf-set-selections per impostare le cose
  •   
  • debconf-show PACKAGE per vedere tutti i parametri debconf di PACKAGE (questo è tutto% ca_de% chiederebbe)
  •   
  • dpkg-reconfigure PACKAGE a cancella tutte le informazioni di debconf di un PACCHETTO
  •   

Ma attenzione, questi non sono progettati per persone normali.

Come sbarazzarsi di tutto di un pacchetto

  

Attenzione! echo PURGE | debconf-communicate PACKAGE (alias apt-get purge ) potrebbe distruggere preziosi dati utente. Assicurati di aver tenuto un backup, solo per caso. Sei stato avvisato.

L'opposto di apt-get remove --purge è apt-get install PACKAGE . Al giorno d'oggi possiamo scrivere apt-get remove --purge PACKAGE anche per questo. Senza eliminare, alcune cose vengono lasciate indietro, in modo da poter installare rapidamente il PACCHETTO di nuovo con tutte le precedenti impostazioni e dati intatti. Questo include tutte le domande poste quando il PACCHETTO è stato installato la prima volta.

Tuttavia apt-get purge PACKAGE rimuove tutte le tracce del PACCHETTO, inclusa la sua configurazione e molto spesso anche i preziosi dati utente che sono stati memorizzati da o per il PACCHETTO saranno rimossi completamente!

Quindi, se vedi che qualcosa è andato storto durante l'installazione di un PACCHETTO, puoi usare apt-get purge PACKAGE per sbarazzartene, in modo che tu possa riprovare a installarlo correttamente. Più tardi, dopo aver usato PACKAGE per un po ', apt-get purge PACKAGE probabilmente esce molto male.

Si noti che apt-get purge PACKAGE a volte lascia dei detriti quando un pacchetto è stato riconfigurato con apt-get purge PACKAGE , perché dpkg-reconfigure PACKAGE opera su ciò che è noto a "purge-time", e non su cosa era prima, perché c'è poco da nessuna cronologia di ciò che era prima dell'ultimo purge .

Ma se sei sicuro che non ci sono dati preziosi che non sono stati sottoposti a backup e che vuoi iniziare da fresco con qualche pacchetto, fai un dpkg-reconfigure . Nota che puoi farlo anche dopo aver rimosso un pacchetto con apt-get purge PACKAGE .

Come trovare il pacchetto

Hai conosciuto un file, ma non sai a quale pacchetto appartenga, lo trova:

dpkg -S /path/to/file

Se questo non produce nulla, non appartiene a un PACCHETTO. Quindi forse sono dati dell'utente o detriti. Decidi tu.

Per un COMANDO puoi digitare (nota che le virgolette sono importanti) per trovare il PACCHETTO:

dpkg -S "'which COMMAND'"

Hai trovato il pacchetto, puoi ottenere un elenco di tutti i file in un pacchetto:

dpkg -L PACKAGE

(Nota che questo non include alcuni file, che sono generati dagli script di installazione.)

Tuttavia, la ricerca di un pacchetto funziona solo per i pacchetti installati. Se hai bisogno delle stesse informazioni per i pacchetti non ancora installati, prova lo strumento apt-get remove PACKAGE (devi prima eseguire apt-file search filename per inizializzare il suo database).

Per riassumere

  • Hai già installato un PACCHETTO e vuoi riconfigurarlo

    dpkg-reconfigure PACKAGE
    
  • Si desidera reinstallare un PACCHETTO con le impostazioni correnti     apt-get install --reinstall PACKAGE

  • Vuoi reinstallare un PACCHETTO da zero, con la cancellazione di tutti i precedenti (possibili preziosi) dati, e avere tutte le possibili domande poste di nuovo:

    apt-get purge PACKAGE
    DEBIAN_PRIORITY=low apt-get install PACKAGE
    
  • Se non ti piace l'interfaccia delle Maledizioni e vuoi un'interfaccia guidata dalla linea

    aggiungi apt-file update davanti a DEBIAN_FRONTEND=readline

  • Se non ti piace nemmeno l'interfaccia di readline e vuoi anche modificare la riga in modo semplice

    aggiungi apt-get davanti a TERM=dumb (nota che questo non è niente di speciale da apt-get , questo funziona da quando è nato Unix).

(Nota che puoi impostarlo anche nell'ambiente come debconf , ovviamente.)

FYI

La migliore fonte nota a me, dove viene spiegato debconf, in modo tale che tu possa davvero capirlo, e dove ho preso la maggior parte dei dettagli per questo qui, sta seguendo il link, ma la pagina è in lingua tedesca:

link

A proposito:

  • Scrivo anche questo come riferimento a me stesso, perché non riesco a ricordare tutti i dettagli. È tutto troppo esotico e per lo più assente dalle pagine man.

  • Questa risposta è troppo lunga. Il che probabilmente significa che export DEBIAN_FRONTEND=readline e apt sono ancora troppo confusi.

risposta data Tino 08.02.2017 - 07:21

Leggi altre domande sui tag