Làm thế nào tôi có thể liệt kê các ứng dụng không sử dụng?


25

Hey có khả năng liệt kê tất cả các ứng dụng với điều kiện không sử dụng trong giới hạn 10-20 ngày. Nếu vậy làm thế nào tôi có thể làm điều đó.

Cảm ơn bạn.

Câu trả lời:


22

Cách gần nhất tôi có thể nghĩ là chạy popularity-contest > out.txt, sẽ mất một lúc để tạo tệp out.txt, liệt kê các chương trình, từ được sử dụng gần đây nhất đến ít được sử dụng gần đây nhất. Tôi có ấn tượng rằng ...

  • Cột đầu tiên là thời gian gần đây nhất (định dạng epoch) chương trình đã được sử dụng và cột tiếp theo là thời gian nó được sử dụng lần đầu tiên (hoặc được cài đặt?).
  • Các chương trình duy nhất được liệt kê là, tôi nghĩ, các chương trình đã được đăng ký (là kết quả của việc được cài đặt thông qua apt-gethoặc Trung tâm phần mềm). Những người không, không có trong danh sách. Ví dụ: tôi đã cài đặt Seamonkey bằng cách giải nén tar.gz. Điều đó không hiển thị.

Đầu ra của popularity-contesthình như thế này:

POPULARITY-CONTEST-0 TIME:1359204011 ID:ae1dc87f150c489082f0ddb28af40350 ARCH:i386 POPCONVER:1.53ubuntu1
1359204011 1349657211 openbox /usr/bin/openbox
1359204011 1349657211 xscreensaver /usr/bin/xscreensaver
1359204011 1354294761 perl-base /usr/bin/perl
1359204011 1349833421 update-notifier /usr/bin/update-notifier
1359204011 1349657224 xfconf /usr/lib/i386-linux-gnu/xfce4/xfconf/xfconfd
1359204011 1349657224 lxpanel /usr/lib/i386-linux-gnu/lxpanel/plugins/monitors.so
1359204011 1349657225 policykit-1-gnome /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
1359204011 1358559008 lxterminal /usr/bin/lxterminal
1359204011 1349664550 ttf-ubuntu-font-family /usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-RI.ttf
1359204011 1349664535 pcmanfm /usr/bin/pcmanfm
1359204011 1349657224 lxpanel-indicator-applet-plugin /usr/lib/i386-linux-gnu/lxpanel/plugins/indicator.so
1359204011 1349657235 ttf-dejavu-core /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf
1359204011 1349657210 lxsession /usr/bin/lxsession
1359204011 1349833422 update-notifier-common /usr/share/locale/en/LC_MESSAGES/update-notifier.mo
1359204011 1349664531 network-manager-gnome /usr/bin/nm-applet
1359204011 1349657205 zlib1g /lib/i386-linux-gnu/libz.so.1.2.7
1359204011 1352212906 xfce4-power-manager /usr/bin/xfce4-power-manager
1359204008 1349657221 libxfconf-0-2 /usr/lib/i386-linux-gnu/libxfconf-0.so.2.0.0
1359204008 1358215752 libnss3 /usr/lib/i386-linux-gnu/nss/libfreebl3.so
1359204008 1349657221 libvorbis0a /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
1359204008 1349657221 libvorbisenc2 /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.8
1359204008 1349657217 libxcursor1 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2
1359204008 1349657217 libx11-6 /usr/lib/i386-linux-gnu/libX11.so.6.3.0
1359204008 1349657221 libtasn1-3 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.16
1359204008 1349657221 libwind0-heimdal /usr/lib/i386-linux-gnu/libwind.so.0.0.0

Hai cột đầu tiên có thể được chuyển đổi bằng cách dán toàn bộ đầu ra vào một bảng tính. Tôi đã sử dụng LibreScript Calc cho mục đích và chèn các cột trống sau mỗi cột của "thời gian kỷ nguyên". Sau đó, tôi đã điền vào một công thức để chuyển đổi "thời gian kỷ nguyên" thành thời gian có thể đọc được của con người (và sử dụng Định dạng, Ô, Thời gian để có được một định dạng phù hợp).

Đối với hàng dữ liệu đầu tiên, giả sử ô "thời gian kỷ nguyên" đầu tiên là ở A2, đặt =(A2/86400)+25569B2 và điền vào. Thực hiện tương tự cho "thời gian kỷ nguyên" thứ hai, sử dụng =(C2/86400)+25569trong ô D2.

Nội dung, chỉ một vài dòng, sau đó trông như thế này:

POPULARITY-CONTEST-0        TIME:1359204011     ID:ae1dc87f150c489082f0ddb28af40350 ARCH:i386
1359204011  26/01/2013 12:40:11 1349657211  08/10/2012 00:46:51 openbox /usr/bin/openbox
1359204011  26/01/2013 12:40:11 1349657211  08/10/2012 00:46:51 xscreensaver    /usr/bin/xscreensaver
1359204011  26/01/2013 12:40:11 1354294761  30/11/2012 16:59:21 perl-base   /usr/bin/perl
1359204011  26/01/2013 12:40:11 1349833421  10/10/2012 01:43:41 update-notifier /usr/bin/update-notifier
1359204011  26/01/2013 12:40:11 1349657224  08/10/2012 00:47:04 xfconf  /usr/lib/i386-linux-gnu/xfce4/xfconf/xfconfd
1359204011  26/01/2013 12:40:11 1349657224  08/10/2012 00:47:04 lxpanel /usr/lib/i386-linux-gnu/lxpanel/plugins/monitors.so
1359204011  26/01/2013 12:40:11 1349657225  08/10/2012 00:47:05 policykit-1-gnome   /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
1359204011  26/01/2013 12:40:11 1358559008  19/01/2013 01:30:08 lxterminal  /usr/bin/lxterminal
1359204011  26/01/2013 12:40:11 1349664550  08/10/2012 02:49:10 ttf-ubuntu-font-family  /usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-RI.ttf
1359204011  26/01/2013 12:40:11 1349664535  08/10/2012 02:48:55 pcmanfm /usr/bin/pcmanfm
1359204011  26/01/2013 12:40:11 1349657224  08/10/2012 00:47:04 lxpanel-indicator-applet-plugin /usr/lib/i386-linux-gnu/lxpanel/plugins/indicator.so
1359204011  26/01/2013 12:40:11 1349657235  08/10/2012 00:47:15 ttf-dejavu-core /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono-Bold.ttf
1359204011  26/01/2013 12:40:11 1349657210  08/10/2012 00:46:50 lxsession   /usr/bin/lxsession
1359204011  26/01/2013 12:40:11 1349833422  10/10/2012 01:43:42 update-notifier-common  /usr/share/locale/en/LC_MESSAGES/update-notifier.mo
1359204011  26/01/2013 12:40:11 1349664531  08/10/2012 02:48:51 network-manager-gnome   /usr/bin/nm-applet
1359204011  26/01/2013 12:40:11 1349657205  08/10/2012 00:46:45 zlib1g  /lib/i386-linux-gnu/libz.so.1.2.7
1359204011  26/01/2013 12:40:11 1352212906  06/11/2012 14:41:46 xfce4-power-manager /usr/bin/xfce4-power-manager
1359204008  26/01/2013 12:40:08 1349657221  08/10/2012 00:47:01 libxfconf-0-2   /usr/lib/i386-linux-gnu/libxfconf-0.so.2.0.0
1359204008  26/01/2013 12:40:08 1358215752  15/01/2013 02:09:12 libnss3 /usr/lib/i386-linux-gnu/nss/libfreebl3.so
1359204008  26/01/2013 12:40:08 1349657221  08/10/2012 00:47:01 libvorbis0a /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
1359204008  26/01/2013 12:40:08 1349657221  08/10/2012 00:47:01 libvorbisenc2   /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.8
1359204008  26/01/2013 12:40:08 1349657217  08/10/2012 00:46:57 libxcursor1 /usr/lib/i386-linux-gnu/libXcursor.so.1.0.2
1359204008  26/01/2013 12:40:08 1349657217  08/10/2012 00:46:57 libx11-6    /usr/lib/i386-linux-gnu/libX11.so.6.3.0
1359204008  26/01/2013 12:40:08 1349657221  08/10/2012 00:47:01 libtasn1-3  /usr/lib/i386-linux-gnu/libtasn1.so.3.1.16
1359204008  26/01/2013 12:40:08 1349657221  08/10/2012 00:47:01 libwind0-heimdal    /usr/lib/i386-linux-gnu/libwind.so.0.0.0

Bạn có thể đọc thêm tại popcon.ubfox.com nhưng một trích dẫn từ đây là:

Q) Thông tin nào được báo cáo bởi cuộc thi phổ biến?

A) cuộc thi phổ biến báo cáo kiến ​​trúc hệ thống bạn sử dụng, phiên bản của cuộc thi phổ biến bạn sử dụng và danh sách các gói được cài đặt trên hệ thống của bạn. Đối với mỗi gói, cuộc thi phổ biến sẽ xem xét các tệp được sử dụng gần đây nhất (dựa trên atime) và báo cáo tên tệp, thời gian truy cập cuối cùng (thời gian) và thời gian thay đổi cuối cùng (ctime). Tuy nhiên, một số tệp không được xem xét, bởi vì chúng có đồng thời không đáng tin cậy.

Bạn cũng có thể chạy man popularity-contestđể biết thêm thông tin.


Xin chào Vasa1. Cảm ơn câu trả lời tuyệt vời của bạn. Tôi đồng ý với câu trả lời của bạn nhưng tôi cần phải xử lý các ứng dụng được cài đặt từ nguồn.
rdʒɑ

Cả hai đều là câu trả lời tuyệt vời.
rɑːdʒɑ

vì vậy, nếu cuộc thi về mức độ phổ biến cho tôi 0 0, liệu có an toàn không khi cho rằng gói không bao giờ được sử dụng và tôi có thể xóa nó miễn là mô hình sử dụng của tôi sẽ không thay đổi?
dùng1539216

16

Bạn có thể sử dụng thời gian truy cập để xác định thời điểm ứng dụng được sử dụng lần cuối.

Ví dụ: thử:

ls -ltu /usr/bin | pager

Điều này sẽ liệt kê tất cả các tệp theo /usr/binsắp xếp theo thời gian truy cập (truy cập lần đầu tiên trước).

Nếu bạn muốn tạo một tập lệnh tự động tìm các chương trình với các đặc điểm nhất định, bạn có thể sử dụng stattheo cách này:

stat -c%X /bin/cat

Điều này sẽ xuất thời gian truy cập /bin/catdưới dạng số giây kể từ Epoch

Lưu ý: rõ ràng, điều này sẽ không hoạt động nếu bạn đang sử dụng noatimetùy chọn gắn kết.


Cả hai đều là câu trả lời tuyệt vời.
rdʒɑ

1

Đĩa của tôi đã đầy, vì vậy tôi đã sử dụng dòng sau để tìm tất cả các ứng dụng không được sử dụng trong 100 ngày qua và có tệp nhị phân lớn hơn 1 MB:

find /usr/bin -size +1000k -atime +100 -exec ls -ltu {} \;
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.