Премахване на ненужните (осиротялите) пакети в Debian

За конфигуриране на основни компоненти в системата.

Модератори: Freya, Kulu Ngile

Премахване на ненужните (осиротялите) пакети в Debian

Мнениеот Kulu Ngile » Нед 07, Яну, 2007 0:11

Доста често при инсталирането на даден пакет се инсталират купища други, свързани с него. Проблема се състой в това, че при премахването на пакета, зависимостите остават, т.е. има наличие на осиротяли пакети.

Пример:
1. Инсталираме играта late
Код за потвърждение: Избери целия код
debian:~# apt-get install late
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
  late-data libsdl-image1.2
The following NEW packages will be installed:
  late late-data libsdl-image1.2
0 upgraded, 3 newly installed, 0 to remove and 173 not upgraded.
Need to get 1398kB of archives.
After unpacking 3879kB of additional disk space will be used.
Do you want to continue [Y/n]?


Както се вижда, системата инсталира late, late-data и libsdl-image1.2

2. Премахваме играта
Код за потвърждение: Избери целия код
debian:~# apt-get remove late
Reading package lists... Done
Building dependency tree... Done
The following packages will be REMOVED:
  late
0 upgraded, 0 newly installed, 1 to remove and 173 not upgraded.
Need to get 0B of archives.
After unpacking 180kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 101102 files and directories currently installed.)
Removing late ...
debian:~#


Вижда се, че се премахва само late и имаме наличието на два "сирака", т.е. late-data и libsdl-image1.2

Решение:
Програмата или по-точно пакета, който ползвам, се нарича deborphan (apt-get install deborphan). Употребата и е много проста, но и тя има пропуски. Ето и какво ми дава самата команда
Код за потвърждение: Избери целия код
debian:~# deborphan -sz
       104 main/libs                 libsdl-image1.2
debian:~#

    - опцията "s" показва секцията към която принадлежи пакета
    - опцията "z" показва големината на пакета
Както се забелязва, програмата успя да хване само единият "сирак". Може да бъдем и малко по-конкретни, т.е.
Код за потвърждение: Избери целия код
debian:~# deborphan --guess-data -sz
       104 main/libs                 libsdl-image1.2
      3508 main/games                late-data
debian:~#

Премахването става като зададем deborphan като пакет на apt, т.е.
Код за потвърждение: Избери целия код
debian:~# apt-get remove $(deborphan --guess-data)
Reading package lists... Done
Building dependency tree... Done
The following packages will be REMOVED:
  late-data libsdl-image1.2
0 upgraded, 0 newly installed, 2 to remove and 173 not upgraded.
Need to get 0B of archives.
After unpacking 3699kB disk space will be freed.
Do you want to continue [Y/n]?


Също така може да използваме и графината интерпретация на deborphan, която е orphaner. При нея също трябва да зададем --guess-data за да можем да хванем и двата пакета, т.е.
Код за потвърждение: Избери целия код
debian:~# orphaner --guess-data


Изображение

За повече информация man deborphan.

Може също така да се използва и cruft, като се изпълни
Код за потвърждение: Избери целия код
cruft –k


За повече информация man cruft


Източник: Основен
Ако съдбата е срещу теб, толкова по-зле за нея.

Изображение
APT HOWTO
Kulu Ngile
Унуфри
 
Мнения: 1233
Регистриран на: Съб 04, Мар, 2006 1:04
Местоположение: София

Мнениеот Progress » Съб 10, Фев, 2007 19:53

Аз ще добавя един GTK интерфейс на deborphan:

#apt-get install gtkorphan

Много полезна статия. Браво :)
Аватар
Progress
Участник
 
Мнения: 562
Регистриран на: Сря 24, Яну, 2007 20:12

Мнениеот ToxiNiK » Чет 18, Фев, 2010 23:27

опитайте:
Код за потвърждение: Избери целия код
apt-get autoremove пакета_за_премахване

премахва автоматично и пакетите от които е зависим пакета_за_премахване
ToxiNiK
Участник
 
Мнения: 5
Регистриран на: Чет 18, Фев, 2010 18:03


Назад към Системни настройки

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта

cron