LINUX.ORG.RU

[Debian] Вопрос об aptitude

 


1

4

Ставлю я метапакет xfce4. Ну, дело понятное, он тянет, допустим, 20 пакетов. Aptitude разруливает зависимости и все такое.

Но вот я решаю удалить метапакет xfce4 со всем, что он за собой потянул. Но удаляется уже не 20 пакетов, как ставилось, а только 15.

У меня сейчас, после «aptitude purge xfce4 xfce-goodies», установленными (притом автоматически установленными, iA) остались thunar, thunar-data, thunar-volman, hal.

Какого черта?

Deleted

Ответ на: комментарий от Axon

> то можно принять однозначное решение о возможности удаления одного из них.

какого? а может пользователь хочет держать оба пакета?

melkor217 ★★★★★
()

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

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

В любом случае, эта проблема тянет за собой гораздо большее, чем окошко с вопросом к пользователю.

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

Уж сколько раз твердили миру, что нужно читать тред перед ответом.

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

какого?

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

а может пользователь хочет держать оба пакета?

А зачем тогда он выбирает рекурсивное удаление зависимостей?

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

> А зачем тогда он выбирает рекурсивное удаление зависимостей?

Хочет удалить лишние пакеты. При этом не факт, что эти он считает лишними.

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


Увы, пройтись по зависимостям можно далеко не всегда. Обычно просто удаляется пакет и запускается то самое рекурсивное удаление.

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

Хочет удалить лишние пакеты. При этом не факт, что эти он считает лишними.

Вы взорвали мне мозг. Пользователь хочет удалить лишние пакеты, но сам не знает, лишние ли они? А кто тогда знает?

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

Пакетный менеджер без виртуальных пакетов, например, знает и может сказать это однозначно %)

Ничего подобного. Например, я захотел поставить conky и графическую конфигурялку к нему conkygui. Я набираю «pacman -S conkygui», и пакман притягивает по зависимостям коньки и жаву, так как conkygui написан на ней. Потом я понимаю, что conkygui мне не нужен и коньки я настрою через конфиг, как белый человек. Если я наберу «pacman -Rcsn conkygui», то коньки тоже удалятся, так как libastral у меня не установлена и пакман не знает, что они мне ещё нужны. И это нормально. Если я хочу, чтобы они остались, то я должен сначала пометить их как установленные вручную, а уже потом запускать «pacman -Rcsn conkygui». И метапакеты тут ни при чём.

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

Пацаны, о чем вы вообще талдычите ? :)

jet@earth:~/src$ sudo apt-get remove --purge wireshark
Читання переліків пакетів... Виконано
Побудова дерева залежностей                
Reading state information... Виконано               
The following packages were automatically installed and are no longer required:
  libwireshark1 wireshark-common libwsutil1 libcap2-bin libsmi2ldbl libwireshark-data libc-ares2 libwiretap1
Використовуйте 'apt-get autoremove' щоб видалити їх.
Пакунки, які будуть ВИДАЛЕНІ:
  wireshark*
оновлено 0, встановлено 0 нових пакунків, для видалення відмічено 1 пакунків, і 0 пакунків не оновлено.
After this operation, 2 294 kB disk space will be freed.
Бажаєте продовжити [Т/н]?

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

А вот унылый аптитуд :)

jet@earth:~/src$ sudo aptitude remove --purge wireshark
Наступні пакунки будуть ВИДАЛЕНІ:            
  libc-ares2{pu} libcap2-bin{pu} libsmi2ldbl{pu} libwireshark-data{pu} libwireshark1{pu} libwiretap1{pu} libwsutil1{pu} wireshark wireshark-common{pu} 
0 пакунків оновлено, 0 нових встановлено, 9 видалено і 0 не оновлено.
Потрібно отримати 0 b архівів. Після розпакування буде звільнено 61,5 Mb.
Бажаєте продовжити? [Y/n/?]

О чем речь ?

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

А если завести привычку внимательнее читать то, на что отвечаете, и пытаться уловить нить беседы, то можно научиться не писать фигни не в тему. :-)

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

> то я должен сначала пометить их как установленные вручную

The following packages were automatically installed and are no longer required:

Використовуйте 'apt-get autoremove' щоб видалити їх.



Чувствуешь о чем я ?

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

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

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

Поясните.

-s, --recursive
           Remove each target specified including all of their dependencies, provided that (A) they are
           not required by other packages; and (B) they were not explicitly installed by the user. This
           operation is recursive and analogous to a backwards --sync operation, and helps keep a clean
           system without orphans. If you want to omit condition (B), pass this option twice.
Axon ★★★★★
()
Ответ на: комментарий от Axon

Тогда зачем запускать с ключем -s ?
Цитирую:
«Потом я понимаю, что conkygui мне не нужен и коньки я настрою через конфиг, как белый человек. Если я наберу „pacman -Rcsn conkygui“, то коньки тоже удалятся»

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

Тогда зачем запускать с ключем -s ?

Чтобы удалилась ненужная java. Что сделать, чтобы не удалились коньки я привёл.

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

Я обычно на этапе установке помечал как установленное вручную то, чем пользовался )

В целом же, тупое и предсказуемое поведение пакетного менеджера это даже хорошо. Нефиг думать за пользователя, ага.

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

Так то, что я описал, и есть тупое и предсказуемое поведение. В в случае дополнительной проверки оно менее тупое, зато более предсказуемое.

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

Да уж, порядок из-за кучки ненужных библиотек, которые могут потом понадобиться и нисколько не занимают места, это сильно.

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

Ты из дома мусор не выносишь, я так понимаю, и от старых ненужных вещей тоже не избавляешься?

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

Сравнение абсолютно некорректное. Из дома выносят тот мусор, который никогда не понадобится, и который уже ни на что не пригоден.

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

То есть ты выносишь из дома только то, что уже точно никогда не понадобится? Например, полиэтиленовые пакеты ты не выбрасываешь, да? Я вот выбрасываю, хотя - о ужас! - иногда они нужны. Но мне проще купить новый, стоят они копейки. Так же мне проще скачать ненужные пакеты софта, когда они понадобятся, а не хранить их на черный день.

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

Представляешь, не выбрасываю. Зачем мне идти в магазин, когда зашел в кладовку и взял пакет? Есть, конечно, такие товарищи, как ты, они себя называют «эстетами», хотя до эстетов им как кошке до гепарда.

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

Разговор пошел ни о чем. Я как считал, так и считаю, что убирать копеечные пакеты, оставленные после удаления каких-либо пакетов, бессмысленно.

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

Ну ты сам увел разговор в «ни о чем». В первом посте была описана проблема и задан вопрос. Он не звучал так: «А как вы думаете, нужно ли держать в системе кучу неудаленных зависимостей на всякий случай?». Ты же со своими половыми проблемами полез рассказывать, как и кому надо жить. Фу таким быть.

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

> Гном работает с любым менеджером сессий. И зависит от любого менеджера сессий. Логично, ага?

Это идиотизм. Гном как метапакет должен зависеть от своего родного менеджера сессий. Очевидно, что если я ставлю метапакет, я хочу получить предопределённый набор программ, а не винегрет из чего попало. Если я захочу руками установить нужное, то так и сделаю, не ставя метапакет.

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

> > nvidia-utils и catalyst-utils конфликтуют (libgl)

Лол, ну это они как бичи сделали. Два эмулятора терминала тоже будут конфликтовать?


Там наверняка конфликт по путям файлов, так что всё правильно, одновременно их не поставишь. Терминалы-то тут при чем.

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

> Читаю тред и всё меньше понимаю, за что apt называют самым вменяемым пакетным менеджером. И всё больше люблю свой pacman. :-)

Лорчую. Такое же ощущение. Тем более, что pacman после смены формата базы данных еще и работать стал быстро.

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

> А теперь обобщим - могут ли два пакета, предоставляющих один и тот же виртуальный пакет, быть установленными вместе?

Покажи мне пример, когда два пакета, предоставляющих один и тот же виртуальный пакет, не конфликтуют по файловым путям.

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

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

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

При чём тут альтернативы, дружок? Ни одного общего файла.

dan@dan-desktop:~/winebuild$ apt-file show gdm3 > filelist; apt-file show kdm >> filelist; cat filelist|sort|uniq -d
dan@dan-desktop:~/winebuild$
melkor217 ★★★★★
()
Ответ на: комментарий от geekless

Что значит «высосанных из пальца»? Ты хочешь сказать, что в репах арча присутствуют не все названные пакеты?

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

В арче просто нет механизма альтернатив. А чего нет в арче - всё высосано из пальца.

ТОЛЬКО ВАНИЛА ТОЛЬКО ХАРДКОР!!1 (с)

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

> Что значит «высосанных из пальца»?

Значит, что нужность механизма альтернатив высосана из пальца.

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

> В арче просто нет механизма альтернатив. А чего нет в арче - всё высосано из пальца.

ТОЛЬКО ВАНИЛА ТОЛЬКО ХАРДКОР!!1 (с)


Лол. Как мигрант с дебиана на арч, осознанно заявляю, что альтернативы не нужны. В типичной unix-подобной системе в них просто нет необходимости. Если у программы X и Y предоставляют одинаковый клиентский интерфейс другим программа, то это означает, либо что они конфликтуют по файловым путям, и вместе их не поставить, либо что имя нужной программы нужно вписывать в конкретный конфиг конкретного клиента.

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

> Если у программы X и Y предоставляют одинаковый клиентский интерфейс другим программа, то это означает, либо что они конфликтуют по файловым путям, и вместе их не поставить

вместе их не поставить


Могу только посочувствовать.

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

> > вместе их не поставить

Могу только посочувствовать.


Так и запишем: melkor217 считает, что dpkg умеет магически разрешать конфликты, когда два пакет хотят поставить разные версии одного файла.

geekless ★★
()
Ответ на: комментарий от geekless
dan@dan-desktop:~/winebuild$ update-alternatives --display glx
glx - auto mode
  link currently points to /usr/lib/nvidia
/usr/lib/mesa-diverted - priority 5
  slave glx--libGL.so.1-i386-linux-gnu: /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1
  slave glx--libglx.so: /usr/lib/mesa-diverted/libglx.so
/usr/lib/nvidia - priority 100
  slave glx--libGL.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libGL.so.1
  slave glx--libXvMCNVIDIA.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libXvMCNVIDIA.so.1
  slave glx--libXvMCNVIDIA_dynamic.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libXvMCNVIDIA_dynamic.so.1
  slave glx--libglx.so: /usr/lib/nvidia/libglx.so
  slave glx--libnvidia-cfg.so.1-i386-linux-gnu: /usr/lib/i386-linux-gnu/nvidia/libnvidia-cfg.so.1
  slave glx--nvidia-bug-report.sh: /usr/lib/nvidia/nvidia-bug-report.sh
  slave glx--nvidia_drv.so: /usr/lib/nvidia/nvidia_drv.so
Current 'best' version is '/usr/lib/nvidia'.

Вот, нвидия и софтврная меза вполне себе живут вместе. Сейчас за libglx работает нвидия.

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

Вот, нвидия и софтврная меза вполне себе живут вместе.

Это демагогия. Вот ключевые слова:

Сейчас за libglx работает нвидия.

Плевать, что, формально, они оба установлены. Толку от этого нет никакого.

Ну нету, нету в линуксе средства для динамического конфигурирование альтернативных зависимостей на уровне отдельных зависимостей отдельных пакетов. Для этого придётся написать новый пакетник и иcпользовать отдельный --prefix при сборке каждого пакета, после чего перелинковывать их симлинками.

А настройка альтернатив на уровне всей системы — это бесполезный костыль.

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