Saya tahu bahwa perintah untuk memperbarui daftar repositori adalah apt-get update
.
Bagaimana cara memeriksa apakah telah dieksekusi hari ini atau dalam 24 jam terakhir?
Saya tidak tahu apakah harus memeriksa stempel waktu beberapa file. Atau berikan perintah apt lainnya. Atau gunakan utilitas dpkg.
Tidak dapat menemukan sesuatu yang berguna di halaman manual.
history | grep 'apt-get update'
:)HISTTIMEFORMAT
tidak diatur.bashrc
maka perintah ini hanya akan memiliki cap waktu yang benar untuk perintah yang sebenarnya dieksekusi dari sesi shell saat ini . Untuk semua perintah lain yang bukan dari sesi saat ini cap waktu hanya akan menampilkan timestamp modifikasi~/.bash_history
file. Itu tidak dapat menampilkan stempel waktu untuk perintah dari sesi lain karena stempel waktu itu tidak disimpan dalam~/.bash_history
file. Itu dapat menunjukkan cap waktu untuk sesi saat ini karena perangko itu masih ada dalam memori.apt
atau ketika Anda.bash_history
telah dipangkas.Periksa stempel waktu
/var/lib/apt/periodic/update-success-stamp
.Di sini waktu
Jan 25 01:41
ketikaapt-get
terakhir dieksekusi. Untuk mendapatkan waktu saja, gunakan perintah berikut di terminal,Ini adalah tempat terbaik untuk memeriksa waktu pembaruan terakhir. Jika ternyata
/var/lib/apt/periodic/
kosong, Anda dapat mencoba,Memperbarui
Ditemukan bahwa karena beberapa alasan file di atas
update-success-stamp
atauhistory.log
tetap tidak tersedia di beberapa sistem. Ada proposal baru dari derobert untuk melihat ke dalam file/var/cache/apt/pkgcache.bin
.pkgcache.bin
adalah lokasi cache paket yang dipetakan memori Apt. Itu bisa diperbarui setelah setiap pembaruan. Jadi itu adalah kandidat yang sempurna untuk mengetahui kapan terakhir kaliapt
diperbarui.Seseorang dapat menggunakan perintah berikut untuk mengetahui waktu yang tepat,
atau
sumber
/var/lib/apt/periodic/
direktori saya kosong/var/cache/apt/pkgcache.bin
. Juga, tolong jangan menguraikan output darils
; gunakanstat
saja. Perlu diingat bahwals
output tergantung pada lokal, tergantung pada usia file, dll. (Juga, saya pikir Anda hanya mendapatkan file pertama yang Anda sarankan jika Anda memiliki pembaruan-notifier-umum diinstal)/var/cache/apt/pkgcache.bin
juga tersentuh pada instalasi paket, jadi ini bukan cara yang dapat diandalkan untuk memeriksaapt-get update
menjalankan terakhir .apt-get clean
telah dijalankan baru-baru ini tidak akan memiliki/var/cache/apt/pkgcache.bin
. Saya akan mencoba menggunakan mtime dari/var/lib/apt/lists
gantinya, karena itu tampaknya menjadi data mentah, non-cache yangapt-get update
benar-benar memanipulasi.Saya gunakan
/var/cache/apt
untuk menentukan apakah saya perlu menjalankanapt-get update
. Secara default, jika perbedaan antara waktu saat ini dan waktu cache/var/cache/apt
kurang dari 24 jam, saya tidak perlu menjalankanapt-get update
. Interval pembaruan default dapat ditimpa dengan mengirimkan angka ke fungsirunAptGetUpdate()
Output sampel:
Saya mengekstrak fungsi-fungsi ini dari github pribadi saya: https://github.com/gdbtek/ubuntu-cookbooks/blob/master/libraries/util.bash
sumber
Anda mungkin juga tertarik dengan file tersebut:
Buka dengan kurang atau kucing sebagai root .
sumber
apt-get update
, dan itu jelas tidak dicatat.Saya menggunakan perintah ini
stat /var/cache/apt/ | grep -i -e access -e modify
untuk menunjukkan terakhir kali diakses yaitu. menjalankan 'apt-get update' juga terakhir kali sebenarnya diperbarui.
perhatikan jika waktunya berbeda mungkin tidak ada pembaruan yang tersedia. Karena saya memiliki pembaruan dan peningkatan yang dijalankan oleh crontab pada waktu tertentu, saya dapat mengetahui apakah pembaruan saya berjalan atau tidak.
sumber
Menggabungkan komentar terakhir @ ssokolow dengan jawaban dari sini , perintah ini akan berjalan
apt-get update
jika belum berjalan dalam 7 hari terakhir:Penjelasan:
-mtime -7
menemukan file yang memiliki perubahan waktu dalam 7 hari terakhir. Anda dapat menggunakan-mmin
jika Anda peduli dengan waktu yang lebih singkat.-maxdepth 0
memastikan find tidak akan masuk ke isi direktori.-H
referensi/var/lib/apt/lists
jika itu tautan lunakfind
gagal, maka perintah itu akan berjalan. Bagi saya ini seperti default yang aman. Jika Anda ingin membalik default, gunakan-n
dalam tes dan-mtime +7
dalam perintah find.sumber
Saya baru saja mengirim jawaban untuk pertanyaan ini pada topik berikut
Di mana saya dapat mencari riwayat pembaruan saya?
Jawabannya mungkin kurang sesuai untuk topik ini, karena secara khusus mencari "peningkatan apt-get". Ini contoh output.
Lihat topik lain untuk kode sumber dan penjelasan lebih lanjut.
sumber
sumber