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
Ответ на: комментарий от geekless

> Нестрогая зависимость == несуществующая зависимость. Расслабься уже.

Правильно! Это - РЕКОМЕНДАЦИЯ.


Что и требовалось доказать. recommends означает не функциональную зависимость, а рекомендацию пользователю использовать совместно с. Чисто-справочная информация.


Так ты это доказывал?

Ну и что ты этим хотел сказать?



Я хотел сказать то, что пример настоящий.

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

> Так ты это доказывал?

Да нет же. Это ты доказывал необходимость наличия виртуального пакета для браузера. И в качестве примера привел нотификатор почты. Который, внезапно, от этого пакета не зависит, по твоей же ссылке.

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

> Который, внезапно, от этого пакета не зависит, по твоей же ссылке.

Ох, жырненький ты наш.. Я конечно понимаю, что если пакет в рекомендованных, можно громко крикнуть «не зависит!». Но ты сдулся, малыш :(

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

> Я конечно понимаю, что если пакет в рекомендованных, можно громко крикнуть «не зависит!».

Конечно не зависит. Программа же работает без него. Как ты там писал:

Правильно! Это - РЕКОМЕНДАЦИЯ.

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

> Посему предлагаю меня зафрендить и никогда больше не иметь со мной дел.

Не смог обосновать свою точку зрения, запутался и решил потихому слить? Сочувствую, но ничем не могу помочь.

Не собираюсь я тебя игнорить. Если захочешь продолжить беседу, welcome back.

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

Кто не с нами, то против нас. (улыбка)

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

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

То, что нет жесткой зависимости, абсолютно не меняет сути дела. Повторюсь - ты сдулся.

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

А вот мне средний арчевод представляется кем-то вроде нашего зелёного товарища. Почему-то у вас их особенно много :(

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

> А вот мне средний арчевод представляется кем-то вроде нашего зелёного товарища. Почему-то у вас их особенно много :(

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

Ааа, так это тебя бесят Арчеводы :)

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

melkor217 ещё не утонул в собственном жире? Чудеса!

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

> Конечно не зависит. Программа же работает без него. Как ты там писал:

возьми пример с /usr/sbin/sendmail. Есть какая-то софтина которая умеет получать откуда-то почту (либо придумывать ее) и отправлять с помощью sendmail.

sendmail — стандартный «интефрейс» для отправки почты в UNIX. Программа от sendmail явно зависит (ибо без sendmail в ней нет смысла).

При этом sendmail может предоставляться postfix-ом, exim4, qmail или еще чем-то.

В debian есть виртуальный пакет mail-transfer-agent. И такая софтина будет в Depends: содержать именно его.

Пример: http://packages.debian.org/sid/rmail

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

пример с /usr/sbin/sendmail

Именно об этом я и пишу. Я, может, не по-русски выражаюсь? :(

Смотрим пакеты:

$ env LANG= pacman -Si exim postfix | egrep 'Name|Provides|Conflicts'
Name           : exim
Provides       : smtp-server
Conflicts With : smtp-server
Name           : postfix
Provides       : smtp-server  smtp-forwarder
Conflicts With : postfix-mysql  postfix-pgsql  smtp-server  smtp-forwarder

Видим виртуальный пакет smtp-server у обоих.

Смотрим, есть ли у них общие файлы:

$ (tar -tf /var/cache/pacman/pkg/exim-* && tar -tf /var/cache/pacman/pkg/postfix-*) | sort | uniq -d | grep bin
usr/sbin/
usr/sbin/sendmail

Видим, что виртуальный пакет smtp-server, фактически, описывает наличие файла /usr/sbin/sendmail.

Это — правильное использование вирт.пакетов.

И какое это отношение имеет к браузерам? У браузеров нет файлов с одинаковыми именами.

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

> И какое это отношение имеет к браузерам? У браузеров нет файлов с одинаковыми именами.

Фишка в том, что и у почтовых серверов нет файлов с одинаковыми именами, если всё нормально сделать ;)

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

> Фишка в том, что и у почтовых серверов нет файлов с одинаковыми именами, если всё нормально сделать ;)

Фишка в том, что тебе _придётся_ делать симлинк, если ты переименуешь файлы в пакетах для устранения конфликта. Руками или автоматически — не суть.

А в примере с браузерами симлинк не нужен. В принципе не нужен. Вообще.

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

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

> Фишка в том, что тебе _придётся_ делать симлинк, если ты переименуешь файлы в пакетах для устранения конфликта. Руками или автоматически — не суть.

Но конфликта уже не будет, ага? А симлинк на стандартные заглушки типа sendmail настраивается, как я уже говорил. И от ещё одного симлинка на браузер пока никто не умер. И ты совершенно зря требуешь от меня доказательств архиполезности этой штуки, так можно придраться к чему угодно. А от тебя я пока не услышал ничего более дельного, чем:

А в примере с браузерами симлинк не нужен. В принципе не нужен. Вообще.

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

melkor217 ★★★★★
()

Вряд ли это баг: пакетный менеджер не обязан знать, какая именно из альтернатив используется. Когда я столкнулся с чем-то подобным, написал скрипт, который выводит список автоматически установленных пакетов, каждый из которых может быть удален без поломки зависимостей пакетов, установленных вручную. Мне кажется, это решает проблему с неиспользуемыми альтернативами.

#! /bin/bash

f_out='unnecessary_packages'
f_tmp='manually_installed'

date >> $f_out
aptitude search '~i !~M' -F '%p' | tr -d ' ' | sort > $f_tmp

nl=`cat $f_out | wc -l`
found=0

for p in `aptitude search '~i ~M' -F '%p' | tr -d ' ' | sort`
do
    echo Processing package $p ...
    if [ `aptitude -s -y --full-resolver purge $p \
	| grep "^[0-9]*)" | awk '{ print $2 }' \
	| sort | comm -12 - $f_tmp | wc -l` -eq 0 ]
    then
	found=1
	echo $p >> $f_out
    fi
done
echo Done.
if [ $found -eq 1 ]
then
    pp2purge=`tail -n +$(( $nl + 1 )) $f_out`
    echo '* The following packages might be removed *'
    echo $pp2purge
    if [ `whoami` = root ]
    then
	read -p "Would you like to actually purge ALL these packages? (y/n) " answer
	case $answer in
	    [yY]) aptitude purge $pp2purge ;;
	esac
    fi
else
    echo 'The system is clean.'
fi
rm $f_tmp
anonymous
()
Ответ на: комментарий от RussianNeuroMancer

Написал автору программы на мыло. Завтра будет неделя как он не отвечает. Если так и будет глухо, пойду на багтрекер.

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

Написали?

Написал. Проблема в том, что в реальной жизни такая проблема в Арче на самом деле не встречается. Поэтому моё многоэтажное объяснение вида «пракет „А“, зависящий от пакета „Б“, бла-бла-бла» разбилось о просьбу разработчика привести пример из числа имеющихся в репозиториях пакетов.

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

А я должен был все пакеты из всех реп перепробовать? За всё время использования Арча я не видел даже потенциального риска возникновения такой ситуации, и не видел ни одного человека, лично или здесь, кто бы с ней столкнулся. Именно поэтому я был уверен, что она невозможна, пока сам искусственно её не смоделировал.

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

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

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

Просто тебя попросили привести пример, и ты решил что проще газифицировать лужи, чем действительно поискать пример.

Ой, какие мы толстенькие - умиление берёт. :-) Ну-ка, покажите класс, найдите мне пример сами, быстро, решительно. Вы же серьёзный человек, и лужи газифицировать не будете, правда?

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

Эм, в инструкции по оформлению письма не было ничего про указание раздела, так что я не виноват ;)

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

Срачи традиционно живут в вишлистах. Ну ничего, скоро ребята разберутся что к чему )

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