LINUX.ORG.RU

Установленные пакеты с не удовлетворёнными зависимостями парализуют работу apt на Debian Jessie

 , , , freecad-daily


1

2

Ну вообще говоря не совсем парализуют.
Вот один из примеров.
Есть программа FreeCAD и есть её репозитарий, который я подключил в систему.
deb http://ppa.launchpad.net/freecad-maintainers/freecad-daily/ubuntu trusty main
deb-src http://ppa.launchpad.net/freecad-maintainers/freecad-daily/ubuntu trusty main

Репозитария для Debian нету, по этому подключаю наиболее подходящий для Убунты.
Все необходимые пакеты есть, за исключением одного.
В зависимостях FreeCAD указан пакет libvtk6, а в Debian Jessye стоит libvtk6.1, FreeCAD с ним запускается, но apt считает зависимость неудовлетворённой.

И при всяком обновлении или установке другой программы мне предлагают выполнить apt install -f который этот FreeCAD удаляет.
И нет ни какой возможности дать apt понять что обновление или установку можно делать даже если эта зависимость и не удовлетворена.
приходится всякий раз сносить FreeCAD и ставить обратно.

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

★★★★★

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

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

Dron ★★★★★
()
Последнее исправление: Dron (всего исправлений: 1)

Репозитария для Debian нету, по этому подключаю наиболее подходящий для Убунты.

Не надо так делать. Лучше бы тогда Appimage скачал с офю сайта, но тебе уже сказали, что сам FreeCAD есть в дереве Debian.

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

в подключаемом мной репозитарии 0.17

очень странно, т.к. на оф. сайте стабильная 0.16

FreeCAD указан пакет libvtk6, а в Debian Jessye стоит libvtk6.1

Ну так зависимость же неудовлетворена: libvtk6, всё ещё не установлен. Apt тут вообще ни причём, не надо ставить левые пакеты, а потом удивляться. Deb-файл FreeCad хочет именно 6, а не 6.1.

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

Ух, ещё раз говорю, вопрос не о FreeCAD, это просто пример in vivo.
Вопрос о том, что у apt нет ни каких средств для решения таких ситуации.
Ну разве что тут метапакет-заглушку сделать предложили, но вот просто указать что надо нельзя.

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

Каких средств? В deb-пакете явно указана зависимость на определённую версию пакета, в твоей системе её нет. С чего бы это apt должен игнорировать этот факт (или иметь такую опцию)?

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

Пакет без зависимостей можно поставить через dpkg, но потом apt будет блокировать обновление системы и установку других программ пока ему не разрешить установленный таким образом пакет удалить обратно.
С чего ему отказывать в обновлении пакетов которые вообще ни как не соотносятся с пакетом с неудовлетворёнными зависимостями?

П.С. Если я правильно помню то urpmi в таких случаях позволяет обновляться всему, что с таким пакетом ни как не связано.

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

С чего ему отказывать в обновлении пакетов которые вообще ни как не соотносятся с пакетом с неудовлетворёнными зависимостями?

Потому, что apt видит неразрешённые зависимости. Но если тебя так прёт это, то попробуй apt-get --ignore-missing использовать при обновлении.

grem ★★★★★
()

И нет ни какой возможности дать apt понять

ты в порядке? головушкой не стукался? документацию по apt-mark ты уже конечно же прочитал.

novitchok ★★★★★
()

Выкидывать Дебиан, ставить Убунту и не страдать.
Дебиан для серверов пилят и GUI-софт собирают задней левой ногой.

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

Репозитария для Debian нету, по этому подключаю наиболее подходящий для Убунты.

причём здесь apt-based? тем более, src-пакет можно и пересобрать, сделав свой пакет со своими зависимостями - см. apt-src

кривые зависимости работать не должны, по определению

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

Вопрос о том, что у apt нет ни каких средств для решения таких ситуации.

потому что apt обязан обеспечивать целостность системы, а не помойку

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

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

Ну вот о зависимостях я и говорил. В слаке их нет считай, во всяком случае их отсутствие некритично.

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

потому что apt обязан обеспечивать целостность системы, а не помойку

Если я, пользователь сознательно и сам указал игнорировать факт неудовлетворённости зависимостей для того или иного пакета то система от этого помоечной не станет, хотябы потому что к примеру в данном случае другие программы от FreeCAD зависят и на их работу он не влияет.
Помойкой она будет только если apt сам в автоматическом режиме будет ставить так ставить пакеты.

И вообще, что за подход в виндовом стиле решать за пользователя какие пакеты он может ставить к себе в систему?
Тем более что самому стабильному дистру планеты способность менеджера пакетов ставить пакеты с неудовлетворёнными зависимостями быть самым стабильным дистром не мешаег.

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

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

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

Если я сам аккуратно контролирую все зависимости в системе, удаляю не нужное и старое, ставлю все нужное, сам обновляю все вовремя и т.д. — слака не станет помойкой. Про ключ --ignore-missing тебе уже сказали, можешь вообще запихать в конфиг /etc/apt/apt.conf Force-LoopBreak, но это всё выстрел или в ногу, или вообще в голову.

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

Ну что делать, нельзя объять необъятное и если тебе нужен именно этот фрикад из этого репозитория — страдай, выкручивайся, забей и т.п.

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

Ну ты тоже идиот, если пакет содержит подрелиз то в провайдерах помимо подрелиза указывают и основной.

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

ну значит я тебя не понял, т.к. читаю наискосок.

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

apt-get --ignore-missing install freecad-daily
всё равно ставится не хочет, всё так же пишет что libvtk6 не установлен.

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

apt-src в Jessie нету, по этому этим воспользоваться не выйдет
Похоже что остаются только hold и создание пакета-затычки.
Ну или переходить на streth.

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

Ну да, это не баг, а скрытое виндузятничество

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

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

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

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

Разобрался, он по умолчанию не установлен.

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

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

Какую еще «багзилу»? Где «регистрироваться»? Э-почту вам сложно себе завести, чтобы письмо по адресу <submit@bugs.debian.org> направить?

Ну разве что если они запросы через гитхаб принимают.

Дебиан — через эту проприетарщину? Ну, с таким мнением о них, лучше действительно им не писать — а то еще как-нибудь оскорбите.

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

Ух, ещё раз говорю, вопрос не о FreeCAD...

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

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

В данном случае как я понимаю идиот в Debian

1. ты не нашёл нужный тебе пакет, хотя он в репе есть.
2. ты даже не пытаешься понять, зачем нужен ПМ, но хочешь, чтобы он выполнял твои хотелки, корёжа систему левыми пакетами.
3. ты не смог освоить apt и поэтому ты говоришь, что apt не работает.
4. ты не в курсе как получать deb-src и говоришь, что их нет.
так где идиот?

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

Я не идиот, что не знаю спросил и воспользовался ответом.
А вот в мантейнер libvtk сделал ошибку не указав в провайдерах пакета только субверсию библиотеки и не указав основной.

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

А вот в мантейнер libvtk сделал ошибку

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

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

Это не вопрос того, подумает он о мне или нет, это вопрос о том насколько тщательно он относится к своей работе.

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

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

именно в самом пакете трабла, т.к. в нем именно указаны зависимости при его формировании.

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

Он нормально относится к своей работе: в репах есть последняя стабильная версия пакета. Этого более чем достаточно.

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

На винду можно легко поставить любую версию интересной тебе программы, а на линуксе шиш

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

Все енто делается через переменные окружения...

Так чо все достаточно просто.

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

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

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

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

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

в каком пакете? там другое название пакета, а не совместимость...

енто майнтейнер пакета с лаунчпада должен был указать не точное совпадение зависимости, а указать чо не менее libvtk6! т.е. не =libvtk6, а >=libvtk6

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

ну а что ты хочешь то от ментейнеров debian то?

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

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

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