LINUX.ORG.RU

Чистка системы, удаление лишних пакетов

 ,


0

1

Система стоит довольно давно, несколько DE сменили друг друга. Думаю, каждая оставила от себя по паре ненужных пакетиков. Хочу вычистить все мусорные пакеты, которые я не использую. gtk3 с моей темой поломали, потому хочу вообще его вынести из системы ногами вперёд. А приложения, его использующие заменить на аналоги на gtk2. Пакетов очень много:

$ yaourt -Q | wc -l
1129
Вот так вот. Это точно много или ещё нормально? Сколько пакетов в системе у вас?
Хочу пройтись по всему списку, как я это делаю в PkgBrowser и удалить ненужное, чтобы сразу было видно описание пакета и было легко его снести. Есть такой софт?
Единственное, что я неудобного заметил в пакмане это управление опциональными зависимостями. Устанавливаю пакет, в конце он выводит список опциональных зависимостей (которых может не быть в репозитариях или быть только в AUR). Я тут же выполняю yaourt -S optdep1 optdep2 optdep3, чтобы установить те зависимости, функционал которых мне нужен. Потом сношу главный пакет, а зависимости остаются в системе, их надо вручную вычищать. Ещё нельзя сразу видеть, установлена ли нужная зависимость или нет. Нельзя после установки посмотреть список опциональных зависимостей (или я просто не умею). Если не ошибаюсь, удалить мета-пакет раньше было нельзя. Потому гном3 оставил после себя кучу ненужностей. Например, есть пакет tracker. Это что-то связано с индексированием, без понятия, зачем оно мне нужно.

★★★★★

Вот так вот. Это точно много или ещё нормально?

Ты считаешь на количество пакетов в системе есть какой-то стандарт/норма?

anonymous
()

Судя по моим 1341, вполне типично. Да, арчик тоже очень старый.

pekmop1024 ★★★★★
()

недавно поставил, 639, всякое барахло из аура пока не собирал, потому и мало

а вообще, до тыщи разрастается спокойно

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

Ты считаешь на количество пакетов в системе есть какой-то стандарт/норма?

а ты считаешь нет?

v9lij ★★★★★
()

Немного плохо описал. Вот, что есть сейчас:

$ yaourt -S openshot # устанавливаю пакет
разрешение зависимостей...
проверка на взаимную несовместимость...

Цели (2): mplayer-34799-1  openshot-1.4.2-1

Будет установлено:  62,21 MiB

Приступить к установке? [Y/n] 
(2/2) проверяется целостность пакета               [######################] 100%
(2/2) загрузка файлов пакета                       [######################] 100%
(2/2) проверка возможных конфликтов файлов         [######################] 100%
(2/2) проверяется доступное место                  [######################] 100%
(1/2) установка mplayer                            [######################] 100%
(2/2) установка openshot                           [######################] 100%
Дополнительные зависимости для openshot
    dvgrab: for IEEE digital sources
    libquicktime
    libavc1394
    faac
    jack
    jack-rack
    ladspa
$ yaourt -S libquicktime ladspa # устанавливаю опциональные зависимости (я не знаю, установлен ли у меня пакет ladspa)
предупреждение: ladspa-1.13-3 не устарел -- переустанавливается
разрешение зависимостей...
проверка на взаимную несовместимость...

Цели (2): ladspa-1.13-3  libquicktime-1.2.4-1

Будет загружено:    0,31 MiB
Будет установлено:  1,52 MiB
Изменение размера:  1,38 MiB

Приступить к установке? [Y/n] 
:: Получение пакетов с community...
 libquicktime-1.2.4-...   313,1 KiB  1915K/s 00:00 [######################] 100%
(2/2) проверяется целостность пакета               [######################] 100%
(2/2) загрузка файлов пакета                       [######################] 100%
(2/2) проверка возможных конфликтов файлов         [######################] 100%
(2/2) проверяется доступное место                  [######################] 100%
(1/2) обновление ladspa                            [######################] 100%
(2/2) установка libquicktime                       [######################] 100%
Вот, что я хочу:
$ yaourt -S openshot # устанавливаю пакет
разрешение зависимостей...
проверка на взаимную несовместимость...

Цели (2): mplayer-34799-1  openshot-1.4.2-1

Будет установлено:  62,21 MiB

Приступить к установке? [Y/n] 
(2/2) проверяется целостность пакета               [######################] 100%
(2/2) загрузка файлов пакета                       [######################] 100%
(2/2) проверка возможных конфликтов файлов         [######################] 100%
(2/2) проверяется доступное место                  [######################] 100%
(1/2) установка mplayer                            [######################] 100%
(2/2) установка openshot                           [######################] 100%
Дополнительные зависимости для openshot
    dvgrab: for IEEE digital sources
    libquicktime
    libavc1394
    faac
    jack
    jack-rack
    ladspa [installed]
$ yaourt -S libquicktime # устанавливаю опциональные зависимости (сразу вижу те, которые не нужно дополнительно устанавливать)
разрешение зависимостей...
проверка на взаимную несовместимость...

Цели (1): libquicktime-1.2.4-1

Будет загружено:    0,31 MiB
Будет установлено:  1,38 MiB

Приступить к установке? [Y/n] 
:: Получение пакетов с community...
 libquicktime-1.2.4-...   313,1 KiB  1915K/s 00:00 [######################] 100%
(1/1) проверяется целостность пакета               [######################] 100%
(1/1) загрузка файлов пакета                       [######################] 100%
(1/1) проверка возможных конфликтов файлов         [######################] 100%
(1/1) проверяется доступное место                  [######################] 100%
(1/1) установка libquicktime                       [######################] 100%
$ yaourt -opt-dep=openshot ladspa libquicktime #прописываю их, как зависимости, чтобы снеслись вместе с пакетом, чьими зависимостями являются
Ну, тут много неоптимального вымысла, зато искать пакеты, которые осиротели гораздо удобнее.

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

Это точно много или ещё нормально?

Нормально в данном случае — это столько, сколько требуется для удобства.

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

Так я чувствую, что всё на месте, но есть лишние. Например, некоторые программы содержат в опциональных зависимостях python2-(something), который сразу ставится. Программа сразу сносится, а питоновая библиотека остаётся в системе. Толку от неё нет, просто мусорный пакет.

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

yaourt -Qdt чем не чистка? Кстати, у меня за 2 года использования где-то ~850 накопилось, это из-за того, что я удалял то, чем не пользовался. Кстати в 12.04 по дефолту идет больше, чем 1.5к, сейчас у меня установлено 1749. Так что нет, не много.

z00ke
()

1097

Система сравнительно свежая (год), но пережила переезд с icewm/fluxbox на КДЕ (до сих пор).

Если сильно жмет - попробуй

pacman -Qdt
потом из приведенного списка вручную выбираешь ненужное.
Чтоб просмотреть установленные зависимости пакета
whoneeds имя_пакета

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

В любом случае без «рукоприкладства» не обойтись.

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

Приведу пример. Вот сейчас снёс явных сирот:

$ yaourt -R wireless_tools libunique3 libmusicbrainz3 libgdu gtk-doc
Пароль: 
проверка зависимостей...

Цели (5): gtk-doc-1.18-1  libgdu-3.0.2-2  libmusicbrainz3-3.0.3-2
          libunique3-3.0.2-2  wireless_tools-29-6

Будет освобождено:  3,42 MiB

Хотите удалить эти пакеты? [Y/n] ^[[A
$ yaourt -R wireless_tools libunique3 libmusicbrainz3 libgdu gtk-doc
проверка зависимостей...

Цели (5): gtk-doc-1.18-1  libgdu-3.0.2-2  libmusicbrainz3-3.0.3-2
          libunique3-3.0.2-2  wireless_tools-29-6

Будет освобождено:  3,42 MiB

Хотите удалить эти пакеты? [Y/n] 
(1/5) удаление gtk-doc                             [######################] 100%
(2/5) удаление libgdu                              [######################] 100%
(3/5) удаление libmusicbrainz3                     [######################] 100%
(4/5) удаление libunique3                          [######################] 100%
(5/5) удаление wireless_tools                      [######################] 100%
==> Packages no longer required by any installed package:
    docbook-xsl gnome-doc-utils
$ yaourt -R docbook-xsl gnome-doc-utils
проверка зависимостей...

Цели (2): docbook-xsl-1.76.1-2  gnome-doc-utils-0.20.10-1

Будет освобождено:  17,89 MiB

Хотите удалить эти пакеты? [Y/n] 
(1/2) удаление gnome-doc-utils                     [######################] 100%
(2/2) удаление docbook-xsl                         [######################] 100%
==> Packages no longer required by any installed package:
    docbook-xml rarian
$ yaourt -R docbook-xml rarian
проверка зависимостей...

Цели (2): docbook-xml-4.5-5  rarian-0.8.1-2

Будет освобождено:  2,92 MiB

Хотите удалить эти пакеты? [Y/n] 
(1/2) удаление rarian                              [######################] 100%
(2/2) удаление docbook-xml                         [######################] 100%
Это ведь можно делать и рекурсивно. А ещё есть неявные сироты - те самые осиротевшие опциональные зависимости. Нужно просто пройти по всем пакетам и посмотреть, есть ли такие, которые ни от кого не зависят. Тут будет и другой софт, поставленные вручную (иксы, например), но нужно выбрать только те, которые реально не нужны. А вызывать список опциональных зависимостей, чтобы его парсить я не умею.

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

Первая команда возвращает ничего. За whoneeds спасибо, но в любом случае он не покажет ОПЦИОНАЛЬНЫХ зависимостей.
Вот, например, из примера выше:

$ whoneeds libquicktime
Packages that depend on [libquicktime]
  None

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

Так в системе и нет явных сирот.

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

Полагаю, нужно ознакомиться с man pacman. Я тут пару тредов видел про удаление осиротевших зависимостей.

А ещё есть неявные сироты - те самые осиротевшие опциональные зависимости.

Как у вас всё сложно, в apt их можно объявить вне закона (сделать явными) и снести все разом.

GotF ★★★★★
()
$ yaourt -Q | wc -l
745

И то, склонен считать что много мусора, пакетов 20-25 точно можно вычистить + либы к ним по зависимостям.

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

опциональные зависимости

Или они у вас ставятся вручную, не получая пометку автоматически установленных?

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

Первая команда показывает пакеты-сироты. Выходит у тебя таковых нет.

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

А как правильно удалять (с зависимостями и конфигами) я описал выше.

vadik ★★
()

Это точно много или ещё нормально? Сколько пакетов в системе у вас?

На рабочем компьютере, где по моим меркам срач, и куда я часто ставлю всё, чтобы пощупать, около 900 пакетов. Тоже пережил переход gnome2 → gnome3 → xfce.

На нетбуке, где более-менее придерживаюсь порядка — 676. При этом крысу ставил через метапакеты xfce4 и xfce4-goodies со всем мусором. GTK3 тоже присутствует. Так что, при желании можно было бы ещё уменьшить.

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

Фактически опциональные зависимости тут — это просто рекомендации. И, насколько я понимаю, они нигде не сохраняются, кроме информации об установленном пакете. ПМ считает их установленными явно. Так что тут ничего не поделать.

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

Первая команда показывает пакеты-сироты.

Они не будут сиротами. Он прочитал список рекомендуемых пакетов и установил их явно.

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

Это я уже понял, просто объяснил назначение pacman -Qdt. В случае ТС скорее всего придется разбирать с каждым пакетом индивидуально или лезть в /var/log/pacman.log смотреть, что и после чего было установлено.

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

В случае ТС скорее всего придется разбирать с каждым пакетом индивидуально или лезть в /var/log/pacman.log смотреть, что и после чего было установлено.

Вот, кстати, идея скрипта. В pacman.log отобрать пакеты, у которых удаление — последняя операция. Для каждого из них грепать вывод pacman -Si для получения списка рекомендуемых пакетов. Затем проверять наличие в системе каждого из них. Если есть, выводить сообщение: «Хозяин, возможно я был установлен как опциональная зависимость». Правда, в списке рекомендаций нередко бывают часто используемые пакеты, которые и так были установлены, так что всё равно придётся список шерстить вручную. Чтобы уменьшить количество ложных срабатываний, можно ещё для каждого найденного подозреваемого проверять, был он установлен до первой установки возможного родителя или после.

bloodredfrog ★★
()

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

Удаление пакет-сирот:
pacman -Qdt
pacman -Rsn $(pacman -Qdtq)

Просмотр пакетов которые установлены с AUR , ну или просто которых нету в оф. репах:
pacman -Qmq
zibert ★★★
()
eix -I
...
Found 822 matches.

Много это или мало - какая в пень разница? Система работает как часы, да и ладно.

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

И в конце-концов будут найдены 2,5 пакета, занимающие 100 кБ дискового пространства и которые действительно никогда не понадобятся. )

vadik ★★
()
┌─(~)  
└─$─> pacman -Q | wc -l
521

┌─(~)  
└─$─> pacman -Qdtq

┌─(~)  
└─$─>
kitar ★★★★★
()

Я тут же выполняю yaourt -S optdep1 optdep2 optdep3, чтобы установить те зависимости, функционал которых мне нужен.

Пересобирайте пакет с добавлением опциональных зависимостей в список depends.

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