LINUX.ORG.RU
ФорумTalks

Почему ущербный dpkg так и не исправился?

 ,


0

3

Уже месяц сижу на Дебиане. Вроде терпимо ем кактус. Но dpkg, как же он меня достал. Как же он меня уже 10 лет одним и тем же достает.

Хосспаде, да простая задача:

root@ntfs-a320mh:/home/ntfs# apt install make
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
make is already the newest version (4.3-4.1).
make set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
3 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up initramfs-tools (0.142) ...
update-initramfs: deferring update (trigger activated)
Setting up linux-image-6.1.0-10-amd64 (6.1.38-1) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.1.0-10-amd64
/etc/kernel/postinst.d/z50-raspi-firmware:
raspi-firmware: missing /boot/firmware, did you forget to mount it?
run-parts: /etc/kernel/postinst.d/z50-raspi-firmware exited with return code 1
dpkg: error processing package linux-image-6.1.0-10-amd64 (--configure):
 installed linux-image-6.1.0-10-amd64 package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of linux-image-amd64:
 linux-image-amd64 depends on linux-image-6.1.0-10-amd64 (= 6.1.38-1); however:
  Package linux-image-6.1.0-10-amd64 is not configured yet.
dpkg: error processing package linux-image-amd64 (--configure):
 dependency problems - leaving unconfigured
Processing triggers for initramfs-tools (0.142) ...
update-initramfs: Generating /boot/initrd.img-6.1.0-10-amd64
Errors were encountered while processing:
 linux-image-6.1.0-10-amd64
 linux-image-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@ntfs-a320mh:/home/ntfs# 

Это - следы после «обновления» того что надо было обновить согласно галочкам в synaptic, во время обновления он мне выдал то же самое, а apt install make я сделал просто для красоты. Или нет.

Че это за бред ?

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

Какое мне дело, что /etc/kernel/postinst.d/z50-raspi-firmware exited with return code 1 ? Я вообще не знаю что это такое, и зачем оно мне нужно на десктопном amd64.

Если уж этому идиотскому dpkg нужно по нескольку раз перегенерить initramfs в процессе апдейта - неужели так трудно проигнорировать зафейленный триггер и продолжать дальше ?

Или предложить мне несколько действий на выбор - там skip, ignore, cancel.

Получается что один кривой триггер (особенно если он будет ссылаться на какой-нибудь 3rdpaty-ресурс недоступный по тем или иным причинам) - может полностью парализовать установку пакетов в ОС.

Почему этих детских ошибок нет ни в yum, ни в pacman, ни даже в pkg ?

P.S. да, я ниасилятор. Еще какой. Не считаю должным асиливать очередную дебиановскую баш-портянку, поэтому просто прописал в ней второй строчкой сразу exit 0 и жизнь удалась.

Но dpkg все равно остался уродцем.

★★★★★

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

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

Да, пока вручную не исправишь. Удаление либо переустановка физически битых пакетов - та ещё морока.

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

Да ладно, морока. Тоже мне, проблема:

apt install debsums
debsums -cs
debsums -l

Потом apt install --reinstall на найденные пакеты. Вуаля.

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

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

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)

Вообще, у dpkg есть ключик force, в частности, force-all, он делает именно то, что ты хочешь, игнорирует все проверки и идёт дальше

Sahas ★★★★☆
()
Ответ на: комментарий от Vsevolod-linuxoid

Конечно это проблема, если оно появилось и мешает работать.

А то что ты написал - это лечение поноса затыканием жопы.

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

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

windows10 ★★★★★
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Для поиска и лечения причин есть Арч. Там я с удовольствием ищу причины и лечу их, и не лезу на форумы ныть «ааа, собрал ядро, не работает». Дебиан - для STABLE !

windows10 ★★★★★
() автор топика
Ответ на: комментарий от etwrq
ntfs@ntfs-a320mh:~$ sudo su
[sudo] password for ntfs: 
root@ntfs-a320mh:/home/ntfs# dpkg -l | grep raspi
ic  raspi-firmware                          1.20220830+ds-1                    all          Raspberry Pi family GPU firmware and bootloaders
root@ntfs-a320mh:/home/ntfs# uname -a
Linux ntfs-a320mh 6.4.7 #3 SMP PREEMPT Sat Jul 29 05:08:50 EEST 2023 x86_64 GNU/Linux
root@ntfs-a320mh:/home/ntfs# apt-cache search raspi
raspi-firmware - Raspberry Pi family GPU firmware and bootloaders
root@ntfs-a320mh:/home/ntfs# cat /etc/issue
Debian GNU/Linux 12 \n \l

root@ntfs-a320mh:/home/ntfs# 

Это лайв. С официального сайта. Тот самый лайв, где рядом два индикатора языка, работающие вразнобой.

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

С каких это пор Stable означает «неуязвимый»? У тебя не на ровном месте что-то сломалось — побились файлы, возможно была перезагрузка по питанию или ошибка на ЖД. От такого в принципе нельзя защитить ОС. К слову, проверь также ФС на ошибки и SMART глянь диска.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от windows10

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

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

А мне какая разница, что там стоит ?

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

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

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

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

С каких это пор Stable означает «неуязвимый»? У тебя не на ровном месте что-то сломалось — побились файлы, возможно была перезагрузка по питанию или ошибка на ЖД. От такого в принципе нельзя защитить ОС. К слову, проверь также ФС на ошибки и SMART глянь диска.

При чем здесь побитые файлы, перезагрузка по питанию, или ошибка на ЖД - к дебильному dpkg, который не умеет ни в новую установку, ни в пропуск триггеров ?

windows10 ★★★★★
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

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

Я не знаю, что там запускается при старте, когда ядро подгружает модули, и тд. Я запустил апдейт, он зафейлился. Я пробую ставить любую программу - она фейлится на триггере. Для чего этот триггер - я не знаю и знать не хочу, я хочу чтобы стабильная ОС была стабильной =)

windows10 ★★★★★
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

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

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

Я запустил апдейт, он зафейлился. Я пробую ставить любую программу - она фейлится на триггере. Для чего этот триггер - я не знаю и знать не хочу, я хочу чтобы стабильная ОС была стабильной =)

У тебя ЖД или ФС пострадали! ОС после такого может вообще не стартовать, причем любая, и с этим ничего нельзя сделать, а ты жалуешься, что ошибки есть!

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от windows10

Если при сбое ЖД на твоем любимом Arch накроется медным тазом бинарник pacman, там тоже ничего работать не будет. А если ядра, то любой Linux просто выдаст kernel panic.

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

sudo -i или su - — ты принципиально не учишься на своих ошибках? Ты уже нарывался на проблемы из-за некорректного $PATH

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

У тебя ЖД или ФС пострадали! ОС после такого может вообще не стартовать, причем любая, и с этим ничего нельзя сделать, а ты жалуешься, что ошибки есть!

Не нужно натягивать сову на глобус. Когда пострадает ЖД или ФС - тогда будем разбираться. В данной ситуации я четко и ясно обрисовал фейл dpkg.

Если при сбое ЖД на твоем любимом Arch накроется медным тазом бинарник pacman, там тоже ничего работать не будет. А если ядра, то любой Linux просто выдаст kernel panic.

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

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

предпосылки:

Уже месяц сижу на Дебиане. Вроде терпимо ем кактус.
Это лайв. С официального сайта.

на лайве, месяц?
ну хз.
у меня одно из рабочих мест(amd64) живет со времён 10-ки, 10->11->12
и да, в установленной системе нету

raspi-firmware

file a bug to live-iso maintainers

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

Не нужно натягивать сову на глобус. Когда пострадает ЖД или ФС - тогда будем разбираться.

У тебя они могли прямо сейчас пострадать и быть причиной текущих проблем. Серьезно, у меня 2 Linux умерло на ЖД, странные и непонятные глюки — это обычный симптом.

Проверь ФС и SMART диска.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от etwrq

Возможно.

Но дело же не в том, должен быть пакет в системе, или нет. Я видел подобные косяки где-то с 2010 года еще с убунты. Но там хоть aptitude их пытался разрулить.

Дело в том что при установке программы, запускается другая программа, от которой зависит результат установки. Это все равно что при установке виндоигры запускать установку directx и не ставить игру если установка directx не удалась. Но такого бреда я не видел ни на одной ОС, включая пердолинговые.

Как и не видел переноса прошлой установки на следующие установки. Не установилось ? Хорошо, проехали, забыли.

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

Вообще, у dpkg есть ключик force, в частности, force-all, он делает именно то, что ты хочешь, игнорирует все проверки и идёт дальше

Со скриптами такой фокус не прокатывает.

А разве нельзя выпилить кривой тригер в подкаталог типа mkdir _; mv бяка _/?

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

Дело в том что при установке программы, запускается другая программа, от которой зависит результат установки. Это все равно что при установке виндоигры запускать установку directx и не ставить игру если установка directx не удалась. Но такого бреда я не видел ни на одной ОС, включая пердолинговые.

Чего? Это даже на Windows есть. Обычное дело. Установщик ПО путается поставить Visual C или там .NET, не выходит, и установка основной программы останавливается.

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

Чего? Это даже на Windows есть. Обычное дело.

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

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

sanyo1234
()
Ответ на: комментарий от Vsevolod-linuxoid

Проверь ФС и SMART диска.

Шел 2023 год, народ продолжал кушать кактусы и игнорировать современные FS типа ZFS.

sanyo1234
()
Ответ на: комментарий от Vsevolod-linuxoid

Даже без избыточности ZFS сразу выявит и покажет сбой диска.

А пока этого не произошло, все твои фантазии про его сбой - это всего лишь плод твоего воображения.

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

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

кривые зависимости, триггеры, dkms -> file a bug to maintainer
ты еще не мигрировал i386[5.0] -> amd64[8.0], вот там багов/веселья было. плюс к этому надо было сохранить multi-arch.

Это все равно что при установке виндоигры запускать установку directx и не ставить игру если установка directx не удалась. Но такого бреда я не видел ни на одной ОС, включая пердолинговые.

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

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

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

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

Чего? Это даже на Windows есть. Обычное дело. Установщик ПО путается поставить Visual C или там .NET, не выходит, и установка основной программы останавливается.

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

Во-вторых, как правило эти установки ставятся после установки основной программы

В-третьих, уж точно установщики не тащат фейлы в следующие установки

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

Важна релизность, приходится терпеть apt.

Какие альтернативы? Полупроприетарный RHEL?

Alpine с короткими релизами и MUSL?

Довольно редкий на сегодняшний день Slackware? Salix?

sanyo1234
()
Ответ на: комментарий от Vsevolod-linuxoid

Плод или нет — нужно проверить.

Как без ZFS?

fsck тебе скажет, был ли сбой диска? LOL

И битые пакеты — достаточное основание для проверки.

Да откуда они битые то ?!? Ты чексумму пакета сверял?

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

Собственно, любые странные глюки — достаточное основание.

Эксперд с большой буквы, LOL

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

Бывает, что останавливается, тут как автор захотел. Не всегда. Ага, не тащат — они всего лишь оставляют после себя мусор, что приходится чистить руками, чтобы попробовать ещё раз поставить.

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

В Debian встречаются пакеты с глючными скриптами (особенно для триггеров установки ядра, DKMS и т.п.), и сбои оборудования или FS тут вообще перпендикулярны проблеме от слова совсем.

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

Да откуда они битые то ?!? Ты чексумму пакета сверял?

Я это и предложил первым же комментарием.

fsck тебе скажет, был ли сбой диска?

Нет, это скажет SMART. fsck покажет текущее состояние ФС.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от etwrq

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

Сурпрайз. Виндовые установщики ставят redist'ы после установки основной программы. И давай мы не будем путать неустановленную зависимость программы с неудачным запуском какого-то другого дерьма, к программе не относящегося ?

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

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

у меня одно из рабочих мест(amd64) живет со времён 10-ки, 10->11->12

Прикинь, у меня сейчас Devuan (аналог Debian v9, немного пакетов из аналога v11), а начинался этот setup с Debian Etch v4 примерно 15 лет назад, потом только апгрейды.

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

Сурпрайз. Виндовые установщики ставят redist'ы после установки основной программы.

перед. без, условно, ADO, например, программа выкинет тебе exception ввиду отсутствия драйверов для работы с БД.
поэтому инсталлеры делают проверки на наличие уже установленного необходимого ПО. есть => скип, нету => ставим, иначе без него работать тупо не будет.

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

без блобов всеравно 95% железа не работает.
не понимаю ультра-фанатиков firmware-free.
тут это, имхо, немного оффтоп.

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

pacman, zypper, yum даже

И где тут доступная релизность?

yum/dnf - это RHEL? Или стрим детских неожиданностей Fedora like?

zypper - это полупроприетарный Suse?

pacman тут каким местом? Он ведь в роллинге обычно?

Хотя Hyperbola вроде перекатилась в релизность? Но надолго ли и вообще это маргинальщина для выпиливания сервисов для зондов вплоть до dbus и он вообще собирается перестать быть линупс дистром, а стать форком OpenBSD.

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

ты еще не мигрировал i386[5.0] -> amd64[8.0]

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

einhander ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)