LINUX.ORG.RU

Dpkg


6

1

Всего сообщений: 2

Pantum M6507 в линуксе

Pantum M6507 — это МФУ, у которого есть официальная поддержка линукса. Но при практическом подключении (как принтера) оказалось, что есть несколько загвоздок:

1) Драйвера, которые есть в CUPS, не подходят. Нужно скачивать драйвера по ссылке с официального сайта. Если прямая ссылка не работает, можно поискать драйвера на официальном сайте здесь. То есть с драйвером для Astra Linux работает как сканирование, так и печать. Если поставить например просто драйвер для убунты, то сканирование работать не будет.

2) При распаковке там есть пакет DEB. Устанавливать нужно строго пакет для подходящей архитектуры (amd64). То есть если в наличии есть например устройство на ARM, включая Raspberry Pi 4/5, подключить официальный драйвер не получится, нет поддержки. Если у вас система на базе архитектуры i386, можно скачать пакет для убунты, тогда получится подключить как принтер для i386, но сканирование работать не будет.

3) Для установки требуется systemd, без этого установка пакета завершится ошибкой. Таким образом для работы официальных пакетов нужен дистрибутив с systemd. Конкретно тестировалось на Debian 12.

 , , ,

vbcnthfkmnth123
()

Удаление deb-пакетов с некорректными pre- и post-скриптами

Иногда возникает ситуация (особенно на машине разработчика/мейнтейнера), когда deb-пакет нельзя ни корректно доустановить, ни удалить, поскольку сценарий prerm (postrm, preinst, postinst) содержит ошибки. Ключи в apt и dpkg, посвящённые сломанным пакетам (--force-remove-*, -f) тоже могут не помочь, поскольку в первую очередь разруливают битые зависимости между пакетами.

В этом случае эффективным может оказаться «лечение» на низком уровне. Наиболее радикальный метод предлагался на опеннете: просто зайти в /var/lib/dpkg/info и удалить все файлы package-name.*, после чего удалить упоминания о пакете из /var/lib/dpkg/status (подробности по ссылке). Однако в этом случае удалится лишь метаинформация о пакете, а вот хвосты в /usr, /etc и др. останутся, как отмечали в комментариях.

Мне помог похожий, но чуть более тонкий способ. Надо зафиксировать, какая именно ошибка возникает в сценарии и в каком именно сценарии (для корректного удаления в первую очередь нас интересуют .prerm и .postrm).

Далее мы заходим в /var/lib/dpkg/info и просто исправляем package-name.prerm или package-name.postrm так, чтобы он отработал корректно. Например, если в .prerm удалялся несуществующий каталог без проверки на его существование, стираем или комментируем команду удаления.

После этого, как обычно, сносим пакет средствами dpkg -r.

Перемещено hobbit из development

 , ,

hobbit
()