Решено: очистка системы
Модератор: /dev/random
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
Решено: очистка системы
Как можно удалить из системы все файлы, не принадлежащие ни одному пакету?
Чтобы разом и темпы, и кэши, и лишние конфиги, и просто мусор и т.д.
З.Ы. Только естественно нужна возможность просмотреть список файлов перед удалением, дабы не удалилось чего лишнего.
Чтобы разом и темпы, и кэши, и лишние конфиги, и просто мусор и т.д.
З.Ы. Только естественно нужна возможность просмотреть список файлов перед удалением, дабы не удалилось чего лишнего.
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
Re: Решено: очистка системы
serzh-z, спасибо. Открыл для себя скрипт findcruft. Вроде это то, что нужно.
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
Re: Решено: очистка системы
serzh-z, а он еще работает? 2004 год всетаки.
Список выводит, но нет уверенности в его корректности.
Список выводит, но нет уверенности в его корректности.
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
Re: Решено: очистка системы
Создал вручную список мусора на основе анализа базы portage. Он уменя получился чуть больше, чем у findcruft. Ноу последнего не было ни одного файла, не найденного мною.
Собственно систему очистил
Кроме /etc. Потом пришлось переустанавливать gcc (благо из бинарного пакета) и восстановить симлинки для binutils и python, а так же переустановить тему KDM, драйвера нвидии и пару шрифтов.
Зато теперь точно ни одного лишнего файла
Собственно систему очистил
Зато теперь точно ни одного лишнего файла
-
Atragor
- Сообщения: 681
- Статус: ...
Re: Решено: очистка системы
nadge, а как проводился анализ базы portage?
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
Re: Решено: очистка системы
Вот так:
Строки 5-9.
Скрипт сравнивает содержимое /var/db/pkg/*/*/CONTENTS со списком найденных в системе файлов. Идею подглядел в findcruft, только он огромный и сложный какой-то, я половину не понял.
Код: Выделить всё
#!/bin/bash
find / > all_files
contents=$(cat /var/db/pkg/*/*/CONTENTS | awk '{print $2}')
touch managed_files
for content in ${contents}; do
echo $content >> managed_files
done
sort -u all_files > all_sorted
sort -u managed_files > managed_sorted
comm -1 -3 managed_sorted all_sorted
rm all_files managed_files all_sorted managed_sortedСтроки 5-9.
Скрипт сравнивает содержимое /var/db/pkg/*/*/CONTENTS со списком найденных в системе файлов. Идею подглядел в findcruft, только он огромный и сложный какой-то, я половину не понял.
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
Re: Решено: очистка системы
serzh-z, /etc я тоже не стал чистить
А так вцелом после чистки полет нормальный, ничего не глючит.
-
Atragor
- Сообщения: 681
- Статус: ...
Re: Решено: очистка системы
nadge, спасибо, посмотрю, что у меня лишнего завалялось.
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
Re: Решено: очистка системы
Добавлю на всякий случай, что в системе много файлов, которых нет составе установленных пакетов, но системе они необходимы. Например, упомянутая выше база portage или содержимое /lib/modules. Их нужно исключать при чистке.
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
Atragor
- Сообщения: 681
- Статус: ...
Re: Решено: очистка системы
А если я, скажем, в /usr/lib/scons-0.97 (например) нашел файлы, которых нет в /var/db/pkg/bla-bla-bla/CONTENTS, это значит, что их можно удалить? Или тут все намного хитрее?
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Решено: очистка системы
В большинстве случаев - да.
Но, как показывает практика, некоторые пакеты ebuild могут в постинсталляционных шагах (после регистрации файлов и их контрольных сумм в базе пакетов) - например .pyc-файлы для приложений Python или тот же "/usr/bin/gcc32"... Эти файлы потом обычно убираются (если они не являются частью базовой системы и т.д.) пакетами при деинсталляции, но в базе файлов их нет.
Посему, имхо, лучше просто правильно устанавливать/удалять пакеты и положится на пакетный менеджер.
Но, как показывает практика, некоторые пакеты ebuild могут в постинсталляционных шагах (после регистрации файлов и их контрольных сумм в базе пакетов) - например .pyc-файлы для приложений Python или тот же "/usr/bin/gcc32"... Эти файлы потом обычно убираются (если они не являются частью базовой системы и т.д.) пакетами при деинсталляции, но в базе файлов их нет.
Посему, имхо, лучше просто правильно устанавливать/удалять пакеты и положится на пакетный менеджер.
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
Re: Решено: очистка системы
Atragor, попробуйте
Система работоспособности не потеряет. Я удалил (как ни странно, этот же каталог), а потом emerge -1 scons. На всякий случай. Сам сконс мне нужен для пары программ.
serzh-z
Да, это создает определенные проблемы...
Вцелом согласен, что лучше полагаться на пакетный менеджер, но в то же время, думаю, стоит следовать правилу "доверяй, но проверяй".
serzh-z
Именно, особенно полно симлинков, которые в базе Portage не присутствуют.
Да, это создает определенные проблемы...
Вцелом согласен, что лучше полагаться на пакетный менеджер, но в то же время, думаю, стоит следовать правилу "доверяй, но проверяй".