Pertanyaan Apakah mungkin untuk mendapatkan daftar paket yang baru saja diinstal?


Apakah mungkin untuk mendapatkan daftar paket yang paling baru diinstal melalui apt-get?


141
2017-12-11 22:41


asal


serverfault.com/questions/175504/… - Ciro Santilli 新疆改造中心 六四事件 法轮功
Sekarang, jika hanya seseorang yang memberi tahu saya cara mendaftar dipasang secara manual paket itu Saya belum dihapus. Sigh, Linux. - Aleksandr Dubinsky
@AleksandrDubinsky apt-mark showmanual | less tidak melakukannya? - GKFX
@GKFX Maksud saya dalam konteks paket yang baru saja dipasang. - Aleksandr Dubinsky
@AleksandrDubinsky Anda harus menggunakan comm -12 a b dengan a salinan yang disortir dari apt-mark showmanual dan b daftar yang diurutkan dari salah satu jawaban di bawah ini. - GKFX


Jawaban:


Perintah untuk mencantumkan paket yang baru saja diinstal yang diinstal melalui metode apa pun (apt-get, Pusat Perangkat Lunak dkk.):

grep " install " /var/log/dpkg.log

Contoh keluaran:

2010-12-08 15:48:14 install python-testtools <none> 0.9.2-1
2010-12-08 15:48:16 install quickly-widgets <none> 10.09
2010-12-08 22:21:31 install libobasis3.3-sdk <none> 3.3.0-17
2010-12-09 12:00:24 install mc <none> 3:4.7.0.6-1
2010-12-09 23:32:06 install oggconvert <none> 0.3.3-1ubuntu1
2010-12-09 23:34:50 install mpg123 <none> 1.12.1-3ubuntu1
2010-12-09 23:34:52 install dir2ogg <none> 0.11.8-1
2010-12-09 23:34:53 install faad <none> 2.7-4
2010-12-09 23:34:54 install wavpack <none> 4.60.1-1
2010-12-10 11:53:00 install playonlinux <none> 3.8.6

Anda dapat menjalankan perintah ini untuk hanya mencantumkan nama paket yang baru saja dipasang,

awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log

Perintah untuk daftar riwayat apt-get (CATATAN: ini tidak mencantumkan dependensi yang diinstal, hanya daftar sebelumnya apt-get perintah yang dijalankan):

grep " install " /var/log/apt/history.log

Contoh keluaran:

Commandline: apt-get install libindicate-doc
Commandline: apt-get install googlecl
Commandline: apt-get --reinstall install ttf-mscorefonts-installer
Commandline: apt-get install valac libvala-0.10-dev
Commandline: apt-get install libgtksourceview-dev
Commandline: apt-get install python-sphinx
Commandline: apt-get install python-epydoc
Commandline: apt-get install quickly-widgets
Commandline: apt-get install libreoffice3* libobasis3.3*
Commandline: apt-get install mc

154
2017-12-11 22:45



masalah dengan synaptic adalah bahwa ia tidak menunjukkan apa yang Anda lakukan dengan aptitude, apt-get dan dpkg, untuk alasan ini +1 untuk opsi ini - hhlp
Perintah ini tidak akan menampilkan pembaruan. Gunakan pusat perangkat lunak untuk melihat semuanya. - HDave
Mungkin lebih baik menyimpan file teks seperti ini cat /var/log/apt/history.log | grep "\ install\ " > install.log - CrandellWS
grep " install " /var/log/dpkg.log akan cukup. Tidak perlu digunakan cat. Lihat juga ini. - augurar
perhatikan bahwa ini tampaknya hanya untuk menemukan paket yang baru diinstal. Paket yang memasang versi baru muncul sebagai upgrade di dpkg.log - Andre Holzner


Pusat Perangkat Lunak Ubuntu menampilkan seluruh sejarah semua paket yang diinstal / ditingkatkan / dihapus. Cukup klik "Sejarah" di bagian bawah daftar di sebelah kiri.


13
2017-12-12 13:09



Tombol histori ini sekarang berada di bagian atas GUI dan dapat menampilkan paket dan pembaruan yang diinstal. Ini harus menjadi jawaban yang diterima untuk pertanyaan tersebut sebagai satu-satunya jawaban yang berfungsi untuk pembaruan. - HDave
Pertanyaan ini tidak menentukan lingkungan desktop (GUI), tetapi jawaban yang diterima berlaku di skenario GUI dan non-GUI. - msanford
@HDave Jelas tidak benar, dpkg.log pembaruan log. - GKFX


Untuk melihat juga paket lama yang diurutkan berdasarkan waktu pemasangan:

grep " install " /var/log/dpkg.log.1 /var/log/dpkg.log

Dan untuk paket yang diinstal sangat lama:

gunzip -c `ls -tr /var/log/dpkg.log.*.gz` | grep " install "

9
2018-06-05 07:29



Saya menemukan paket yang dipasang 2 hari yang lalu di /var/log/dpkg.log, tetapi tidak di /var/log/apt/history.log. Masih tidak tahu kenapa ... - Samuel Li


Semua dalam satu baris; untuk penggunaan perintah

Pilih dan cetak hanya nama-nama paket yang baru saja dipasang, semuanya dalam satu baris.

Untuk melakukannya, ubah jawaban yang paling banyak dipilih untuk:

cat /var/log/dpkg.log |awk '/ install / {printf "%s ",$4}'

Ini menghasilkan satu baris nama paket. Garis seperti itu dapat dengan mudah ditambahkan ke a sudo apt-get purge perintah.

Contoh keluaran

libgnome-media-profiles-3.0-0 gstreamer0.10-gconf gnome-media gnome-menus librest-0.7-0 libgoa-1.0-common libgoa-1.0-0 libwacom-common libwacom2 ubuntu-docs apg libgnome-control-center1 libgnomekbd-common libgnomekbd7 gnome-control-center-data gnome-icon-theme-symbolic gnome-settings-daemon ubuntu-system-service gnome-control-center gnome-online-accounts gnome-session-bin indicator-power mousetweaks

Daftar paket satu di bawah yang lain

Dengan permintaan populer, ini adalah versi yang sedikit diadaptasi untuk mendaftarkan paket-paket di bawah yang lain:

cat /var/log/dpkg.log |awk '/ install / {printf "%s\n",$4}'

5
2018-05-26 01:43



Jangan menguraikan output cat perintah. Dan bagaimana dengan ini awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log? - Avinash Raj
@AvinashRaj Anda awk perintah mencetak paket satu di bawah lain; milikku berikutnya lain. Itulah sebabnya contoh keluaran mungkin berguna dari waktu ke waktu. - Serge Stroobandt


Ada paket yang disebut wajig Cek saja untuk baris perintah, ini adalah hal pertama yang saya instal sekarang. Seperti kecerdasan, kecuali bahwa ia bekerja seperti yang Anda harapkan operator perintah untuk bekerja. Jadi sungguh, itu tidak seperti bakat. Perintah di bawah hanyalah sebagian kecil.

wajig help
Common JIG commands:

 update         Update the list of downloadable packages

 new            List packages that became available since last update
 newupgrades    List packages newly available for upgrading

 install        Install (or upgrade) one or more packages or .deb files
 remove         Remove one or more packages (see also purge)

 toupgrade      List packages with newer versions available for upgrading
 upgrade        Upgrade all of the installed packages or just those listed

 listfiles      List the files that are supplied by the named package
 listnames      List all known packages or those containing supplied string
 whatis         For each package named obtain a one line description
 whichpkg       Find the package that supplies the given command or file

Run 'wajig -v commands' for a complete list of commands.

2
2017-12-12 02:04



Saya tidak yakin bagaimana caranya wajig membantu untuk mencantumkan paket terbaru. Saya tidak melihat perintah untuk itu setelah melihat sepintas melalui perintah. Apakah Anda tahu apa perintahnya? - Ehtesh Choudhury


Trik berikut ini menjawab permintaan Aleksandr Dubinsky untuk membatasi ini ke paket yang diinstal secara manual:

comm -12 <(apt-mark showmanual | sort) <(grep " install " /var/log/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)
  • comm -12 daftar garis-garis umum ke dua file yang diurutkan.
  • <(command) memperluas ke nama file yang berisi output command.
  • apt-mark showmanual daftar paket yang dipasang secara manual; yaitu. yang seharusnya tidak pernah dihapus secara otomatis.
  • grep " install " /var/log/dpkg.log diambil dari jawaban yang diterima.

Sebuah alternatif, yang menunjukkan lebih banyak informasi, dalam urutan kronologis, dan mengakses semua catatan yang tersedia, adalah:

zcat -f /var/log/dpkg.log* | grep " install " | sort > /tmp/dpkg.log
grep -F "`comm -12 <(apt-mark showmanual | sort) <(cat /tmp/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)`" /tmp/dpkg.log | grep \<none\>

grep \<none\> membatasi hasil ke instalasi baru. Anda bisa, misalnya, menggunakan grep untuk membatasi pencarian ke periode tiga bulan dengan menambahkan grep 2016-0[567] ke saluran pipa pertama; itu sangat fleksibel.


2
2017-07-16 12:56



Ini semakin dekat. Hal-hal yang dapat ditingkatkan: 1) tampilkan paket dalam urutan kronologis, 2) tampilkan lebih banyak rincian seperti tanggal / waktu instalasi, versi, bahkan mungkin ukuran 3) perlihatkan semua paket yang diinstal sejak OS diinstal. - Aleksandr Dubinsky
Luar biasa! Apakah Anda keberatan jika saya membersihkan jawaban Anda agar lebih ringkas dengan lebih banyak penjelasan tentang setiap perintah? - Aleksandr Dubinsky
@AleksandrDubinsky Terima kasih untuk pengeditan itu; Saya telah mengoreksi deskripsi agar sesuai dengan perubahan yang Anda buat. - GKFX
Apakah Anda keberatan jika saya menghapus "trik berikut menjawab permintaan Aleksandr Dubinsky" suara, perintah pertama yang tidak berguna, taruh judul yang bagus, letakkan perintah utama di bagian atas, tambahkan output sampel, dan coba uraikan semua perintah terlibat? - Aleksandr Dubinsky
Ada bug di perintah terakhir, karena grep -F menemukan kecocokan parsial. Misalnya, jika python3 diinstal, itu juga akan cocok dengan semua perpustakaan python3 (python3-click-package) termasuk yang tidak lagi dipasang. Bahkan, grep -Fw tidak membantu karena - adalah batas kata. - Aleksandr Dubinsky


Selain jawaban DoR, bagi mereka yang lebih menyukai GUI, ada File -> item menu History di Synaptic.


1
2017-12-12 00:51



Dan sebagai rafalcieslak menunjukkan, fungsi ini tersedia di Pusat Perangkat Lunak juga. - belacqua
Sejarah Synaptic hanya menunjukkan apa yang Anda instal melalui Synaptic ... sama sekali tidak berguna. - HDave