Инструменты пользователя

Инструменты сайта


os:linux:ubuntu:skript_ispravlenie_flagov_avtoustanovki

Скрипт исправления флагов автоустановки

При установке пакетов с зависимостями, особенно на начальных этапах установки дистрибутива, не помечает зависимости как автоустановленные, в связи с чем через некоторое время возникает излишняя нагромождённость ненужными пакетами.

Для исправления данной ситуации, я написал скриптик. Он проверяет наличие каждого установленного и не помеченного как автоустановленного пакета в зависимостях у всех других установленных в системе пакетов. Если такая зависимость найдена, для пакета устанавливается флаг автоустановки.

Для регулирования исключений имеется два файла:

  • cleanorphans.manual - здесь указаны пакеты, для которых надо всегда указывать ручную установку;
  • cleanorphans.auto - пакеты, для которых всегда указывать автоматическую установку.

В процессе своей работы скрипт формирует файл cleanorphans.states с метками автоустановки. Его надо поместить вместо файла /var/lib/apt/extended_states.

Во время работы на экран построчно может выводиться следующая информация:

  1. <имя_пакета> - пакеты, для которых не произведено ни одного действия, это как бы «честно установленные пользователем». Если среди них есть не «ваши» и не системные пакеты, добавьте их в файл cleanorphans.auto.
  2. *M <имя_пакета> - пакеты, которые находятся в исключениях, устанавливается флаг ручной установки.
  3. *A <имя_пакета> - пакеты, которые находятся в исключениях, устанавливается флаг автоматической установки.
  4. +A <имя_пакета> - пакеты, для которых устанавливается флаг автоустановки.
  5. =A <имя_пакета> - пакеты, для которых уже был установлен флаг автоустановки.

P.S. Замечу, что в общем случае, запуск скрипта можно производить из под простого пользователя! Исключение составляет случай, когда выходной файл является системным (/var/lib/apt/extended_states), что, вообщем-то, мной не рекомендуется.

Скрипт

SVN: http://oleg.in-da.ru/svn/cleanorphans/

Там же можно найти и файлы исключений (с 11 редакции можно используются каталоги с файлами исключений, хотя можно использовать и файлы cleanorphans.auto, cleanorphans.manual.

Файлы исключений

Для удобства первоначальной настроки, привожу файлы исключений.

cleanorphans.manual

Эти библиотеки имеют циклические зависимости, в результате «выпадают» в паре с зависимостью:

language-pack-ru
language-pack-gnome-ru

cleanorphans.auto

А эти - не имеются зависимостях у пакетов из их обратных зависимостей, большинство из них - системные утилиты:

dash
diff
dmsetup
fakeroot
friendly-recovery
grep
grub
hostname
iputils-tracepath
lockfile-progs
login
manpages
memtest86+
mktemp
mlocate
mtr-tiny
ncurses-base
ntfs-3g
patch
pppconfig
pppoeconf 
reiserfsprogs
tcpdump
telnet

Настоятельно рекомендую перед первым использованием скрипта выполнить:

$ sudo aptitude markauto ~slib

Это пометит все библиотеки как увтоустановленные.

Дискуссия

Enter your comment
 
os/linux/ubuntu/skript_ispravlenie_flagov_avtoustanovki.txt · Последние изменения: 16.11.2009 20:26 (внешнее изменение)

Инструменты страницы