Як я можу перерахувати невикористані програми?


25

Гей, чи є можливість перелічити всі програми з умовою невикористання протягом 10-20 днів. Якщо так, як я можу це зробити.

Дякую.

Відповіді:


22

Найближче, про що я можу придумати, - це запустити, popularity-contest > out.txtякий потребує певного часу, щоб створити файл out.txt, перелічуючи програми, від останніх останніх до останніх використаних. У мене складається враження, що ...

  • Перший стовпець - це останній час (формат епохи), коли програма була використана, а наступний - це час, коли вона була вперше використана (або встановлена?).
  • Єдині перераховані програми - це, на мою думку, програми, які зареєстровані (в результаті встановлення через apt-getабо Програмний центр). Ті, кого немає, не включаються до списку. Наприклад, я встановив Seamonkey, розпакувавши tar.gz. Це не показує.

Вихід popularity-contestвиглядає так:

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

Перші два стовпчики можна перетворити, вставивши весь результат у електронну таблицю. Я використовував LibreOffice Calc для цієї мети та вставляв порожні стовпці після кожного стовпця "епохального часу". Потім я заповнив формулу, щоб перетворити "епоху часу" на час, прочитаний людиною (і за допомогою Формат, Клітини, Час, щоб отримати відповідний формат).

Для першого ряду даних, якщо припустити, що перша комірка "епохального часу" знаходиться в A2, помістіть =(A2/86400)+25569у B2 та заповніть. Зробіть те ж саме в другий "епохальний час", використовуючи =(C2/86400)+25569в комірці D2.

Зміст, лише кілька рядків, виглядає приблизно так:

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

Ви можете прочитати більше на popcon.ubuntu.com, але цитата звідти тут:

Q) Яку інформацію повідомляє популярність-конкурс?

A) Популярність-конкурс повідомляє про використану вами архітектуру системи, версію популярності-конкурсу, яку ви використовуєте, та список пакетів, встановлених у вашій системі. Для кожного пакету популярність-конкурс розглядає останні використовувані (на основі atime) файли та повідомляє ім’я файлу, його останній час доступу (atime) та час останньої зміни (ctime). Однак деякі файли не вважаються, оскільки вони мають ненадійний час.

Ви також можете запустити man popularity-contestдодаткову інформацію.


Привіт, Васа1. Дякую за чудову відповідь. Я згоден з вашою відповіддю, але мені також потрібно мати справу з додатками, які встановлені з джерела.
rɑːdʒɑ

Обидва чудові відповіді.
rɑːdʒɑ

Так що, якщо конкурс на популярність підкаже мені 0 0, чи можна припустити, що пакет ніколи не використовувався, і що я можу його видалити до тих пір, поки мій шаблон використання не зміниться?
користувач1539216

16

Ви можете використовувати час доступу, щоб визначити, коли програма востаннє використовувалася.

Наприклад, спробуйте:

ls -ltu /usr/bin | pager

У цьому списку будуть перелічені всі файли, /usr/binвідсортовані за часом доступу (останній доступ доступний перший).

Якщо ви хочете створити сценарій, який автоматично знаходить програми з певними характеристиками, ви можете використовувати statтакий спосіб:

stat -c%X /bin/cat

Це виведе час доступу /bin/catяк кількість секунд після епохи

Примітка: очевидно, це не спрацює, якщо ви використовуєте noatimeопцію кріплення.


Обидва чудові відповіді.
rɑːdʒɑ

1

Мій диск став повноцінним, тому я використав наступний рядок, щоб знайти всі програми, які не використовувались протягом останніх 100 днів і чий двійковий файл перевищує 1 Мб:

find /usr/bin -size +1000k -atime +100 -exec ls -ltu {} \;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.