LINUX.ORG.RU

Конфликт пакетов одной версии из разных ppa в Aptitude

 , , , ,


0

1

Добавил репозиторий KXStudio, установил оттуда несколько программ, потом оказалось, что пульса в нем тоже доступна, и aptitude видит конфликт этих пакетов с пакетами из официального репозитория:

[~] ❯ sudo aptitude install pulseaudio-module-jack
Следующие НОВЫЕ пакеты будут установлены:        
  pulseaudio-module-jack 
Следующие пакеты будут обновлены:
  libpulse0 pulseaudio 
2 пакетов обновлено, 1 установлено новых, 0 пакетов отмечено для удаления, и 7 пакетов не обновлено.
Необходимо получить 1 474 kБ архивов. После распаковки 1 930 kБ будет занято.
Следующие пакеты имеют неудовлетворённые зависимости:
 libpulsedsp : Зависит: libpulse0 (= 1:8.0-0ubuntu3.3) но будет установлен 1:8.0-0ubuntu3.3+kxstudio1.
 libpulse-mainloop-glib0 : Зависит: libpulse0 (= 1:8.0-0ubuntu3.3) но будет установлен 1:8.0-0ubuntu3.3+kxstudio1.
 pulseaudio-module-x11 : Зависит: libpulse0 (= 1:8.0-0ubuntu3.3) но будет установлен 1:8.0-0ubuntu3.3+kxstudio1.
                         Зависит: pulseaudio (= 1:8.0-0ubuntu3.3) но будет установлен 1:8.0-0ubuntu3.3+kxstudio1.
 pulseaudio-utils : Зависит: libpulse0 (= 1:8.0-0ubuntu3.3) но будет установлен 1:8.0-0ubuntu3.3+kxstudio1.

У apt-get все в порядке:

[~] ❯ sudo apt-get install pulseaudio-module-jack 
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
  libpulse-mainloop-glib0 libpulse0 libpulsedsp pulseaudio pulseaudio-module-x11 pulseaudio-utils
Предлагаемые пакеты:
  pavumeter paman paprefs
НОВЫЕ пакеты, которые будут установлены:
  pulseaudio-module-jack
Пакеты, которые будут обновлены:
  libpulse-mainloop-glib0 libpulse0 libpulsedsp pulseaudio pulseaudio-module-x11 pulseaudio-utils
обновлено 6, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 3 пакетов не обновлено.
Необходимо скачать 1 830 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 1 929 kB.
Хотите продолжить? [Д/н]

Просветите плиз, что я делаю не так?

★★★

Последнее исправление: mazdai (всего исправлений: 3)

Просветите плиз, что я делаю не так?

aptitude

Основная и рекомендуемая утилита - apt (с 16.04, а то и раньше).

dvrts ★★★
()

Вообще, в твоем посте мало информации. Например, не ясно, в каком репозитории находится этот pulseaudio-module-jack и какая версия реально ставится. Если у тебя две версии доступны, то надо указать конкретно, какая тебе нужна, если еще и репозитории у тебя одинаковый приоритет имеют.

$ sudo aptitude versions pulseaudio-module-jack

Дальше. В случае apt-get сейчас не видно, из какого же репозитория будут установлены пакеты, о которых предупреждает aptitude. Ведь на самом деле это могут установиться пакеты из репозитория KXStudio.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от darkenshvein

aptitude, к сожалению, уже не рекомендуют устанавливать, ни в дебиане, ни в убунту

Пруф? Это дезинформация. Если речь идет о том случае, когда в release notes порекомендовали обновиться apt-get, то это совсем другой случай, так как решили избавить пользователей борьбой с решателем aptitude. Но это не была рекомендация не использовать aptitude в дальнейшем. В Убунту же мало кто пользовался aptitude, так как форсили apt-get официально.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

Вот мне тоже было интересно, из какого репозитория пытается поставить пакет apt-get, а из какого - aptitude. Запустил apt-get с ключом -V, пишет, что обновит libpulse до версии из ppa kxstudio и оттуда же поставит pulseaudio-module-jack:

[~] ❯ sudo apt-get install pulseaudio-module-jack -V
...
Будут установлены следующие дополнительные пакеты:
   libpulse-mainloop-glib0 (1:8.0-0ubuntu3.3+kxstudio1)
   libpulse0 (1:8.0-0ubuntu3.3+kxstudio1)
   libpulsedsp (1:8.0-0ubuntu3.3+kxstudio1)
   pulseaudio (1:8.0-0ubuntu3.3+kxstudio1)
   pulseaudio-module-x11 (1:8.0-0ubuntu3.3+kxstudio1)
   pulseaudio-utils (1:8.0-0ubuntu3.3+kxstudio1)
...
НОВЫЕ пакеты, которые будут установлены:
   pulseaudio-module-jack (1:8.0-0ubuntu3.3+kxstudio1)
Пакеты, которые будут обновлены:
   libpulse-mainloop-glib0 (1:8.0-0ubuntu3.3 => 1:8.0-0ubuntu3.3+kxstudio1)
   libpulse0 (1:8.0-0ubuntu3.3 => 1:8.0-0ubuntu3.3+kxstudio1)
   libpulsedsp (1:8.0-0ubuntu3.3 => 1:8.0-0ubuntu3.3+kxstudio1)
   pulseaudio (1:8.0-0ubuntu3.3 => 1:8.0-0ubuntu3.3+kxstudio1)
   pulseaudio-module-x11 (1:8.0-0ubuntu3.3 => 1:8.0-0ubuntu3.3+kxstudio1)
   pulseaudio-utils (1:8.0-0ubuntu3.3 => 1:8.0-0ubuntu3.3+kxstudio1)

Доступные версии такие:
Пакет pulseaudio-module-jack:                                       
p   1:8.0-0ubuntu3                xenial            500 
p   1:8.0-0ubuntu3.3              xenial-updates    500 
p   1:8.0-0ubuntu3.3+kxstudio1    xenial            500

В итоге поставил pulseaudio-module-jack=1:8.0-0ubuntu3.3, aptitude в этот раз поставил без конфликтов (ожидаемо) — не приведет ли это к конфликтам в будущем? Понятия не имею, почему у aptitude в приоритете версия из ppa, надо почитать об этом

mazdai ★★★
() автор топика
Последнее исправление: mazdai (всего исправлений: 1)
Ответ на: комментарий от dvrts

Спасибо, раньше пользовался ей, но функционал очень уж урезан по сравнению с apt-get, apt-cache, комбайном aptitude. Без дополнительных флагов не показывает устанавливаемые версии, как и apt-get

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

Понятия не имею, почему у aptitude в приоритете версия из ppa, надо почитать об этом

Насколько я понял вывод выше, в приоритете он и у apt-get. Приоритет у них одинаковый - 500. Но согласно нумерации версий в Debian, 1:8.0-0ubuntu3.3+kxstudio1 считается более новой, чем 1:8.0-0ubuntu3.3 (https://www.debian.org/doc/manuals/maint-guide/first.en.html#namever), поэтому очевидно, что он пытается ею обновиться.

Думаю, надо тебе приоритет репозиторию понизить. Читай man apt_preferences. Хотя я не знаю точно, какие методы рекомендуются в Ubuntu.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от mazdai

Набери в поиске ppa priority ubuntu. Может, какие-то тулзы удобные есть уже. У самого Debian.

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

aptitude непригоден для ручного разрешения зависимостей совершенно. Шаг влево, шаг вправо — предлагает снести полсистемы. С apt-get успешно разруливаю помойку из кучи левых репозиториев четыре года, чего и вам желаю.

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

Да ну не рассказывай мне такие веселые истории. Я использую только aptitude с Etch, обновляю дистрибутивы им. aptitutde больше возможностей для отлова и управления пакетами имеет. И поисковые запросы тоже. Все эти apt-cache - это боль, к сожалению.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от anonymous

Год видел? 2013! Вот сообщение: Релиз Debian Jessie 8.0 (комментарий) и дальше. То, что описано в том моем эксперименте, больше не проявляется в stretch. Я специально сейчас это проверил. Отмечу, что проблеме также был подвержен и apt-get (ссылка выше). Вот как раз у таких «забытых» и не удаленных пакетов aptitude и забывал флаг Auto. Но то, что эти пакеты забывались снестись сразу, было общей проблемой. Я, к сожалению, тогда не проверил, как себя ведет apt-get, забывает ли он в какой-то момент про флаг «Auto».

Что касается заброшенности aptitude, то советую все же посмотреть log из git.

Я aptitude пользуюсь и даже full-upgrade им делаю. И он мне при апгрейде много чего понаписал про конфликты, но потом оказалось, что справедливо. Например? Установленная версия пакета из jessie-backports оказалась большей, чем версия библиотеки из нового stretch. Что делать? Даугрейд делается только по специальному распоряжению и настройке, поэтому aptitude упирался и не хотел обновлять библиотеку на меньшую версию. Я уже сам вмешался и разрулил. А еще deb-multimedia был подключен и с ним тоже какие-то конфликты. Что-то было с vlc. Но все просто разрешилось. У кого помойка в пакетах, у того будет все похуже.

А баги... А где их нет?

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

Год видел? 2013!

А до конца сообщение дочитать?

Вот сообщение: Релиз Debian Jessie 8.0 (комментарий) и дальше.

В той ветке именно я вам отвечал.

Отмечу, что проблеме также был подвержен и apt-get (ссылка выше). Вот как раз у таких «забытых» и не удаленных пакетов aptitude и забывал флаг Auto. Но то, что эти пакеты забывались снестись сразу, было общей проблемой. Я, к сожалению, тогда не проверил, как себя ведет apt-get, забывает ли он в какой-то момент про флаг «Auto».

Вы несёте чушь. По моей ссылке описана совершенно иная проблема, нежели та, на которую указываете вы. У вас пакеты просто не сразу удалялись с опцией --auto-remove, но в базе они оставались помеченными как установленные автоматически, и последующий запуск apt-get autoremove их удалял. Описанный же мной баг гораздо серьёзнее: aptitude удаляла из базы информацию о таких пакетах (причём при действиях, не подразумевающих операций над пакетами), и в результате они больше никогда не считались установленными автоматически, и, как следствие, не удалялись.

Но не суть. Этот баг в aptitude, похоже, исправлен. Я кинул ссылку на это сообщение потому, что оно цитирует официальную документацию Debian:

Currently, we recommend the following.

  • apt-get(8) for all commandline operations, including package installation and removal, and dist-upgrades.

Вы попросили пруф на то, что aptitude не рекомендуют устанавливать. Цитата выше — пруф, что в Debian рекомендуют использовать apt-get для операций с пакетами. Не абсолютно то же самое, но очень близко.

Хотя никто не будет возбранять использование aptitude. Это личный выбор каждого.

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

По моей ссылке описана совершенно иная проблема, нежели та, на которую указываете вы. У вас пакеты просто не сразу удалялись с опцией --auto-remove, но в базе они оставались помеченными как установленные автоматически, и

Нет, в базе они не отмечались как установленне вручную сразу. Они в базе так внезапно помечались, если запустить после удаления aptitude. Точно не помню: то ли морду, то ли еще какое-то удаление, то ли просто aptitude update. До этого момента они были пока с флагом «авто». И только последующий aptitude install их удалял. Поэтому я и использовал этот workaround всегда в wheezy/jessie — выполнял после удаления aptitude install холостой. Это баг? Это баг. Его все признали. И тут нет разногласий.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

Так вот, apt-get этим багом не страдал. Он никогда не удалял из базы отметки об автоматически установленных пакетах. А aptitude — удалял. Поэтому ранее я не рекомендовал вообще использовать aptitude.

Сейчас же этот баг исправлен, но всё равно пользоваться aptitude порой крайне неудобно. Он слишком многое заставляет решать за него, слишком часто предлагает интерактивные варианты, причём далеко не самые адекватные из них. И пока прорвёшься через горы идиотизма вроде предложения удалить пакет, который вы вообще-то попросили обновить (см. первый спойлер в том сообщении), успеешь десять раз выругаться. И в этом смысле в aptitude ничего не поменялось, к сожалению. (Можете попытаться обновить vlc из unstable, если не верите.)

Да, apt предлагает лишь один вариант, но практически всегда он сразу самый адекватный. В тех же редких случаях, когда это не так, ему можно помочь ровно тем же способом, что и aptitude: пометкой пакетов, которые вы хотите установить/удалить — разве что не так интерактивно.

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

Это не призыв к вам не использовать aptitude. Вы сделали свой личный выбор, и я не в праве вам что-то навязывать. Просто имейте в виду, что если раньше aptitude не рекомендовали разве что только для обновления на новый релиз, то сейчас рекомендуемый менеджер пакетов — apt.

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

Просто имейте в виду, что если раньше aptitude не рекомендовали разве что только для обновления на новый релиз, то сейчас рекомендуемый менеджер пакетов — apt.

Вопрос состоит в обоснованиях этой рекомендации. Собственно из https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_basic_packa... следует только то, что aptitude делает все то же, что и apt + еще много всего. Установка, удаление (базовые операции) одинаковые. Так на каком основании делается рекомендация? Если задача была рекомендовать четко что-то одно, а не две рекомендации сразу, то еще понятно. И я соглашусь, так как apt более простой.

Я абсолютно не понимаю смысла рекомендации использовать для удаления и установки apt, а для интерактивного всего - aptitude. Если у меня стоит aptitude, то на кой хрен мне apt вообще сдался? aptitude разве что медленнее делает действия (это не проблема лично для меня). Плюс играет то, что aptitude более сложен, поэтому подвержен багам больше. Но базовые операции — то же самое. Почитаешь этот документ и не увидишь разницы. Наоборот, только преимущества. И документ, наверное, не инспектировался давненько, так как баги, которые там приведены, уже помечены как Done. Уж я не знаю... Вот даже ситуация ТСа говорит о том, что и aptitude, и apt-get делали то же самое. Но вот только aptitude предупредил о чем-то, а apt-get молча обновлял на пакеты из стороннего репозитория. Я не понимаю, почему в каждый тред, где кто-то делает aptitude install/remove набегает народ с рекомендациями использовать apt. И что, блин, будет? Даже в проблему не въезжают, а сразу советуют. В итоге зачастую¹ оказывается, что не aptitude виноват, а состояние пакетной базы, левые репозитории подключенные или просто микс из stable и unstable.

Та рекомендация использовать apt-get при обновлении вместо aptitude имела свое происхождение из какого-то (сейчас не найду ссылку) общения на debian devel, где один из DD (по-моему, Josselin Mouette) попробовал обновиться при помощи aptitude, который ему что-то там нарешал при full-upgrade, он нихрена не понял и написал в Release Notes, чтобы обновлялись apt-get, а то у пользователей много вопросов возникнет.

Мое мнение такое: рекомендовать, конечно, можно apt, как инструмент с базовыми возможностями и достаточный для установки и удаления, минималистичный. Но если уж ты поставил aptitude и пользуешься им, то я не вижу смысла использовать два инструмента одновременно. И вот эта рекомендация странная и необоснованная, на мой взгляд.

¹Зачастую — это не всегда. Баг с потерей флага Auto это и показывает.

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

Вопрос состоит в обоснованиях этой рекомендации

Изначально данная рекомендация в этой формулировке появилась из-за большого количества багов в aptitude, которыми на тот момент некому было заниматься. Но в принципе мне, например, понятно, почему apt:

  • У apt более простой решатель. Это значит, что в отличие от aptitude он не будет предлагать пользователю в полуручном режиме решать проблему (не факт, что пользователь вообще достаточно опытен, чтобы определить, какое именно из предлагаемых решений самое правильное), а просто сделает это за него, и в подавляющем числе случаев — правильно.
  • У apt более предсказуемый решатель. Это значит, что его поведение намного легче учитывать при планировании зависимостей и путей обновления. Это плюс для разработчиков дистрибутива.
  • apt надёжен. Он не страдал от забагованности и заброшенности, как aptitude. Если последняя сможет пройти пару-тройку релизов стабильной ветки без серьёзных проблем, тогда её тоже можно будет считать достаточно надёжной, но пока это не так.
  • Многие новые функции появляются именно в apt, потому что именно на нём сфокусировано основное внимание разработчиков. Скажем, возможность установки локальных пакетов простым apt-get install ./file.deb и аналогично для зависимостей сборки apt-get build-dep ./каталог_с_исходниками_пакета — всё это текущей версией aptitude в stable не поддерживается.

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

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