Il dpkg di Debian memorizza l'ora / la data delle modifiche al pacchetto (cioè installazione / eliminazione)?


8

Lo so dpkge dpkg-querysono buoni strumenti per scoprire i pacchetti attualmente installati su un sistema Debian. Oltre alle informazioni registrate nei file, /var/log/dpkg.log.*esiste un altro posto che mi consenta di sapere quando è avvenuta una modifica (ovvero l' ora e la data di installazione di un pacchetto)?

Supponendo che questa domanda qui affermi che il sistema di pacchetti di Debian non si preoccupa di archiviare informazioni sull'origine di un file deb (e bene come dovrebbe farlo?) Sto cominciando a pensare che /var/log/dpkg.log.*è l'unico posto dove le informazioni su quando è dpkgsuccesso qualcosa di correlato è memorizzato a tutti.

Forse qualcuno può confermarlo. Oppure dimmi se le informazioni temporali relative alle installazioni dei pacchetti sono memorizzate (in effetti sarebbe fantastico!) Dove trovarle (quale file?).

Risposte:


5

/var/log/dpkg.logè l'unico file di registro lasciato da dpkg stesso. Registra quali pacchetti sono installati, disinstallati, aggiornati, ecc. Indica solo il nome del pacchetto, la versione e l'azione: dpkg non conosce l'origine dei pacchetti. Indica la data di ogni azione.

Se dpkg è stato invocato da uno strumento nella suite APT ( apt-get, aptitude, Synaptic, ...), le azioni di APT sono registrate /var/log/apt/history.loge /var/log/apt/term.log. Il file apt/history.logcontiene lo stesso tipo di informazioni di dpkg.log. Il file apt/term.logcontiene una trascrizione dell'esecuzione di dpkg (script pre e post installazione e -remove, esecuzione di dpkg, trigger).

Aptitude scrive anche un login simile /var/log/aptitude. Questo registro contiene le azioni che l'attitudine ha tentato, indipendentemente dal fatto che abbiano avuto successo.

Di solito è anche possibile determinare quando è stata installata la versione corrente di un pacchetto controllando il tempo di /var/lib/dpkg/info/$package.*. Questi file potrebbero avere un ctime più recente se sono stati modificati in seguito per qualche motivo (ad esempio, ripristinati dal backup). La versione corrente potrebbe essere stata un aggiornamento da un'altra versione, questo metodo non ti dirà nulla sulle versioni precedenti.

Se installi e abiliti etckeeper , ogni volta che esegui APT e qualcosa nelle /etcmodifiche, la modifica viene impegnata nel controllo della versione. Quando APT effettua un commit automaticamente dopo un'azione, indica l'azione intrapresa (ad es. Quali pacchetti sono stati installati) nel messaggio di registro.

Non esiste uno strumento che registra l'origine dei pacchetti. Di solito, con APT, un determinato pacchetto proviene sempre dalla stessa fonte, a meno che le fonti o le loro priorità non siano cambiate. Nei rari casi in cui le fonti o le priorità sono cambiate, non esiste un modo generale per recuperare informazioni storiche sulla provenienza di un pacchetto installato in passato.


La durata dei /var/lib/dpkg/info/file cambia anche durante il normale apt-get upgradefunzionamento. Dopo tale aggiornamento, ad esempio dpkg.lstctime == mtime == current-time - e dpkg.md5sums ctime> mtime. Quindi, sfortunatamente, guardare il ctime non fornisce più informazioni del semplice guardare il mtime. Non è possibile distinguere i tempi di aggiornamento / installazione del pacchetto con essi.
maxschlepzig,

@maxschlepzig Sì, intendevo quando è stata installata la versione corrente del pacchetto, non quando è stata installata per la prima volta una versione . Lo modificherò.
Gilles 'SO- smetti di essere malvagio' il

3

Vedi i file in /var/log/apt. I file history.loge term.logsono scritti da entrambi apt-gete aptitude, almeno. Quando apt-getviene eseguito, viene fornita anche la riga di comando. Probabilmente vuoi guardare history.log. Tra le altre cose, questo registra il tempo dell'azione.

Quindi, ad esempio, una sezione del registro corrispondente all'installazione di un pacchetto che utilizza apt-getappare come:

Start-Date: 2013-09-02  00:27:25
Commandline: apt-get install unrar
Install: unrar:amd64 (4.1.4-1)
End-Date: 2013-09-02  00:27:29

Una sezione di registro corrispondente a un'installazione che utilizza aptitudeassomiglia a:

Start-Date: 2013-09-02  16:39:11
Install: hello:amd64 (2.8-2)
End-Date: 2013-09-02  16:39:15

Questi esempi provengono da un sistema wheezy Debian amd64.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.