LINUX.ORG.RU
ФорумTalks

[Хотелочка] Анализ использования пакетов


0

1

На правах бреда - хочется себе такую тулзу - чтобы пробегала по $PATH и $LD_LIBRARY_PATH и им подобным, собирала информацию об atime, и если файлик никто не трогал >N месяцев, записываем пакет, который содержит в себе этот файлик, как кандидат на удаление. Чтобы можно было удалить предложенные пакеты, иметь бекэнды для разных систем управления пакетами, исключать пакеты из проверки, грабить корованы исходников, и держать систему в чистоте.

Существует ли что подобное?
Существуют ли человеки-аборигены которым не впадлу написать?

★★

с учетом того что многие монтируют фс с noatime или relatime что-то не особенно имеет смысл подобная утилита )

Sylvia ★★★★★
()

<fat1024>
А вот в виндусе такое с древнейших времен есть.
</fat1024>
Правда работает феерически криво.

unikoid ★★★
()

>>держать систему в чистоте

скорее всего не получится, т.к. пакет может иметь 100 используемых файлов и 1 неиспользуемый.

alex_custov ★★★★★
()
Ответ на: комментарий от gh0stwizard

Advanced Intrusion Detection Environment?

можно конечно и emacs'ом текст редактировать, но зачем?
(меня распирает от толщины)

k0l0b0k ★★
() автор топика
Ответ на: комментарий от alex_custov

>скорее всего не получится, т.к. пакет может иметь 100 используемых файлов и 1 неиспользуемый.скорее всего не получится, т.к. пакет может иметь 100 используемых файлов и 1 неиспользуемый.

да, конечно, может быть. но раз используется - то и удалять ничего не надо. Но бывает такое - поставил я полгода назад XPaint и забыл (а он достоин только одного - снести нах), и т.к. по меню не лазаю, то и не видел его. Случайно наткнулся и подумал - сколько еще таких пакетов набежало за годик?
Т.е. чистота не на уровне файлов, но на уровне пакетов. Просто нужность пакетов определяется нужностью его файлов.

k0l0b0k ★★
() автор топика

>Существуют ли человеки-аборигены которым не впадлу написать?

Человеки-аборигены существуют, также как и инопланетяне, которые не могут себе купить жесткий диск большего размера.

Pantserovik
()

Запускаешь синаптик (yast, rpmdrake, ...), наливаешь себе здоровенную чашку чая, и просматриваешь список пакетов. Как правило, отклик в мозгу работает надёжнее, чем анализ тупой машиной. Главное не прозевать ничего.

Cancellor ★★★★☆
()
Ответ на: комментарий от Pantserovik

жесткий диск большего размера

так это ты чё ле яву писал? малатца, удачно получилось

smalcom
()
Ответ на: комментарий от Cancellor

я спрашиваю что ты имел ввиду:
1. ручной просмотр списка пакетов, вспоминание что где и как
2. использование готовой фичи в пакетных менеджерах yast, rpmdrake итц
?

smalcom
()
Ответ на: комментарий от Pantserovik

кто тут кого обижает?

а то спустим

и чуть-чуть нагнитесь

smalcom
()
Ответ на: комментарий от PolarFox

вот видишь, я вижу в себе изъяны и могу спустица на землю самостоятельно, а некоторым помогает только выбивание табуретки из под ног

smalcom
()
Ответ на: комментарий от smalcom

> а некоторым помогает только выбивание табуретки из под ног

Если это образное выражение, то оно какое-то слишком образное.

PolarFox ★★★★★
()
Ответ на: комментарий от thunar

>«На рабочем столе найдены неиспользуемые ярлыки, format c:? Да/Нет?»
Если вы не нажмёте «Нет», я не буду не форматировать ваш диск.

dogbert ★★★★★
()

в принципе работы на полчаса для дебиана

alex_custov ★★★★★
()

Хорошая штука для удаления вспомогательных утилит, которыми почти не пользуешься :)

Deleted
()

накидал, оно берет пакет, смотрит какой файл в пакете имеет свежайший atime и если atime отстает на сколько указано, то выводит его как кандидата на удаление.
я под вечер уже плохо соображаю, да и монтируется у меня с noatime, но вроде должно работать.

#!/usr/bin/perl
use warnings;
use strict;

my $timeout = 3600*24*30; # последнее число - сколько дней прошло с последнего использования

my $nowtime = time();

open(my $pipe1, '-|', 'dpkg -l') || die $!;
while (my $packname = <$pipe1>)
{
    ($packname) = $packname =~ m{^..  ([^\s]+)};
    if ($packname)
    {
        my $newest = 0;
        open(my $pipe2, '-|', "dpkg -L $packname") || die $!;
        while (my $fname = <$pipe2>)
        {
            chomp($fname);
            if (-f $fname)
            {
                my $atime = (stat($fname))[8];
                $newest = $atime if ($atime > $newest)
            }
        }

        if (($nowtime - $newest) > $timeout)
        {
            print $packname, ' last used time: ', scalar gmtime($newest),"\n";
        }

        close($pipe2);
    }
}

PoMbl4
()
Ответ на: комментарий от smalcom

вот каким ...ем тут генту?

а мозгом и в правду пользоааваться не модно. Открываешь файл world, внимательно его читаешь. Если видишь пакет, который «поставил полгода назад и забыл, потому что по меню не лазиешь, а он достоин ничего больше, кроме как быть удалённым» - удаляешь его из файлика. Потом запускаешь depclean и получаешь результат.

name_no ★★
()
Ответ на: комментарий от k0l0b0k

Для тех кто в танке, AIDE контролируют абсолютно все изменения файлов. Будь это просто файл пакета или пользовательский файл. Также AIDE умеет кучу полезных плюшек кроме этого.

Обзор и мини-хауту:
http://www.linuxrsp.ru/artic/save-os-inst.html

gh0stwizard ★★★★★
()
Ответ на: комментарий от megabaks

т.к. в мире далеко не все установленные пакеты

если пакета нет в world и он не сносится сам по depclean, то сносить его вручную не только бесполезно, но и опасно.

name_no ★★
()
Ответ на: комментарий от smalcom

>использование готовой фичи в пакетных менеджерах yast, rpmdrake итц

Так ты еще и Федорчук!

Siado ★★★★★
()

если пакет обновился — все эти ухищрения идут лесом => не реализуемо

DoctorSinus ★★★★★
()

man popularity-contest

Deleted
()
Ответ на: комментарий от smalcom

1. бугагец

2. за ходом мыслей че не следим шоле. вот каким ...ем тут генту?

Ну у тебя и лексикон. Прочитать /var/lib/portage/world - это не есть сверхработа, туда не попадает то, что ставилось по зависимостям, только то, что попросил пользователь. А если пользователь попросил, то он должен знать, зачем ему это.

Black_Shadow ★★★★★
()
Ответ на: комментарий от Black_Shadow

>Прочитать /var/lib/portage/world - это не есть сверхработа, туда не попадает то, что ставилось по зависимостям, только то, что попросил пользователь.

попросил пользователь


в винде пусть просит. а тут - приказывает. ежели рут - так и вовсе повелевает.

igels
()
Ответ на: комментарий от k0l0b0k

для Debian:
#apt-get install popularity-contest
#popularity-contest > /var/log/popularity-contest

получить расстрельный списочек:
#popcon-largest-unused

elipse ★★★
()
Ответ на: комментарий от Cancellor

>Запускаешь синаптик (yast, rpmdrake, ...), наливаешь себе здоровенную чашку чая, и просматриваешь список пакетов. Как правило, отклик в мозгу работает надёжнее, чем анализ тупой машиной. Главное не прозевать ничего.

ну и зачем мне компьютер? чтобы делать за него всю работу (ну ладно, признаюсь, однажды я так и делал, synaptic. Длительное, марудное занятие)

k0l0b0k ★★
() автор топика
Ответ на: комментарий от PoMbl4

Ромычу - спасибо!
А троллям - шиш!

k0l0b0k ★★
() автор топика
Ответ на: комментарий от gh0stwizard

>Для тех кто в танке, AIDE...

те кто собираются установить себе AIDE, чисто для того чтобы трекать статистику изменения файлов, вместо atime, те действительно в танке. Да, AIDE может потом определить список пакетов которые надо грохнуть?

k0l0b0k ★★
() автор топика
Ответ на: комментарий от name_no

>тогда уж лучше выхлоп qlist -I

да много же их, много...
ручная работа - не Ъ. пускай компьютер сам себя обслуживает.

если пакета нет в world и он не сносится сам по depclean, то сносить его вручную не только бесполезно, но и опасно.


бояцца системы - не наш метод :)

k0l0b0k ★★
() автор топика
Ответ на: комментарий от Siado

>Надо было еще однострочник вставить в середину.

умник, думаешь ты один читать не умеешь?

k0l0b0k ★★
() автор топика
Ответ на: комментарий от elipse

А вот тебе и тов.cryptonymous по симпе и +100 в карму. как я про него забыл-то??

k0l0b0k ★★
() автор топика
Ответ на: комментарий от Pantserovik

>Человеки-аборигены существуют, также как и инопланетяне, которые не могут себе купить жесткий диск большего размера.

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

k0l0b0k ★★
() автор топика
Ответ на: комментарий от k0l0b0k

>Да, AIDE может потом определить список пакетов которые надо грохнуть?

Теоретически может, допиши пару строк для твоего любимого пакет-менеджера как искать имя пакета и дело в шляпе.

gh0stwizard ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.