Как я могу перечислить неиспользуемые приложения?

25

Эй, есть ли возможность перечислить все приложения с условием неиспользования в течение 10-20 дней. Если так, как я могу это сделать.

Спасибо.

rɑːdʒɑ
источник

Ответы:

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, но цитата здесь:

В) Какую информацию сообщает популярность-конкурс?

А) Конкурс популярности сообщает об используемой вами архитектуре системы, версии конкурса, который вы используете, и о списке пакетов, установленных в вашей системе. Для каждого пакета конкурс на популярность просматривает последние использованные (на основе atime) файлы и сообщает имя файла, его время последнего доступа (atime) и время последнего изменения (ctime). Однако некоторые файлы не рассматриваются, потому что они ненадежны.

Вы также можете запустить man popularity-contestдля получения дополнительной информации.


источник
Привет Vasa1. Спасибо за ваш отличный ответ. Я согласен с вашим ответом, но мне нужно иметь дело с приложениями, которые также установлены из исходного кода.
13:00
Оба отличные ответы.
13
Итак, если конкурс популярности сообщает мне 0 0, безопасно ли предположить, что пакет никогда не использовался, и что я могу удалить его, пока мой шаблон использования не изменится?
user1539216
16

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

Например, попробуйте:

ls -ltu /usr/bin | pager

В этом списке будут перечислены все файлы, /usr/binотсортированные по времени доступа (последний раз обращался первым).

Если вы хотите создать скрипт, который автоматически находит программы с определенными характеристиками, вы можете использовать statэтот способ:

stat -c%X /bin/cat

Это выведет время доступа /bin/catкак количество секунд с начала эпохи.

Примечание: очевидно, это не будет работать, если вы используете noatimeопцию монтирования.

Андреа Корбеллини
источник
Оба отличные ответы.
13
1

Мой диск переполнился, поэтому я использовал следующую строку, чтобы найти все приложения, которые не использовались в течение последних 100 дней и чей двоичный файл больше 1 МБ:

find /usr/bin -size +1000k -atime +100 -exec ls -ltu {} \;
Эрель Сегал-Халеви
источник