[РЕШЕНО]Не удается удалить сломанный spacefm

Автор hathory, 29 апреля 2018, 22:40:55

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

hathory

Доброе время суток, господа.
Вновь с надеждой прошу помощи у сообщества.
ТТХ: Debian 9 xfce4
/etc/apt/preferences
Открыть содержимое (спойлер)
Package: *
Pin: release a=stable
Pin-Priority: 900
Package: *
Pin: release a=testing,a=unstable
Pin-Priority: 300
Package: *
Pin: release o=Debian
Pin-Priority: -1
[свернуть]
После apt upgrade получил неработающий пакет spacefm (версия пакета из бэкпорта, да понимаю что ССЗБ, раскаиваюсь, наказание уже понес):
dpkg --audit:
Открыть содержимое (спойлер)
При установке следующих пакетов возникли серьёзные проблемы, и они
совершенно неработоспособны. Чтобы эти (и другие, зависящие от них)
пакеты корректно функционировали, их необходимо переустановить:
spacefm              Multi-panel tabbed file manager - GTK2 version
[свернуть]
apt install --reinstall  spacefm:
Открыть содержимое (спойлер)
Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение информации о состоянии... Готово
Предлагаемые пакеты:
  ktsuss
Пакеты, которые будут обновлены:
  spacefm
обновлено 1, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 21 пакетов не обновлено.
не установлено до конца или удалено 1 пакетов.
Необходимо скачать 466 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 0 B.
Пол:1 http://ftp.ru.debian.org/debian sid/main amd64 spacefm amd64 1.0.6-2 [466 kB]
Получено 466 kБ за 1с (354 kБ/c)         
Чтение журнала изменений... Выполнено
(Чтение базы данных ... на данный момент установлено 710128 файлов и каталогов.)
Подготовка к распаковке .../spacefm_1.0.6-2_amd64.deb ...
Распаковывается spacefm (1.0.6-2) на замену (1.0.6-1) ...
postrm called with unknown argument `upgrade'
dpkg: предупреждение: подпроцесс старый сценарий post-removal возвратил код ошибки 1
dpkg: попытка использовать сценарий из нового пакета ...
postrm called with unknown argument `failed-upgrade'
dpkg: ошибка при обработке архива /var/cache/apt/archives/spacefm_1.0.6-2_amd64.deb (--unpack):
подпроцесс новый сценарий post-removal возвратил код ошибки 1
postrm called with unknown argument `abort-upgrade'
dpkg: error while cleaning up:
подпроцесс новый сценарий post-removal возвратил код ошибки 1
При обработке следующих пакетов произошли ошибки:
/var/cache/apt/archives/spacefm_1.0.6-2_amd64.deb
======  How can you help?  (doc: https://wiki.debian.org/how-can-i-help ) ======

-----  Show old opportunities as well as new ones: how-can-i-help --old  -----
E: Sub-process /usr/bin/dpkg returned an error code (1)
[свернуть]
dpkg --configure spacefm:
Открыть содержимое (спойлер)
dpkg: ошибка при обработке пакета spacefm (--configure):
пакет spacefm не готов к настройке
настройка невозможна (текущее состояние: «half-installed»)
При обработке следующих пакетов произошли ошибки:
spacefm
[свернуть]
dpkg -i spacefm_1.0.6-2_amd64.deb:
Открыть содержимое (спойлер)
Выбор ранее не выбранного пакета spacefm.
(Чтение базы данных ... на данный момент установлено 710037 файлов и каталогов.)
Подготовка к распаковке spacefm_1.0.6-2_amd64.deb ...
Распаковывается spacefm (1.0.6-2) на замену (1.0.6-1) ...
postrm called with unknown argument `upgrade'
dpkg: предупреждение: подпроцесс старый сценарий post-removal возвратил код ошибки 1
dpkg: попытка использовать сценарий из нового пакета ...
postrm called with unknown argument `failed-upgrade'
dpkg: ошибка при обработке архива spacefm_1.0.6-2_amd64.deb (--install):
подпроцесс новый сценарий post-removal возвратил код ошибки 1
postrm called with unknown argument `abort-upgrade'
dpkg: error while cleaning up:
подпроцесс новый сценарий post-removal возвратил код ошибки 1
При обработке следующих пакетов произошли ошибки:
spacefm_1.0.6-2_amd64.deb
[свернуть]
dpkg --purge --force-remove-reinstreq spacefm:
Открыть содержимое (спойлер)
dpkg: предупреждение: проблема игнорируется, поскольку задан параметр --force:
dpkg: предупреждение: пакет абсолютно неработоспособен; перед попыткой удаления
его следует переустановить
(Чтение базы данных ... на данный момент установлено 710126 файлов и каталогов.)
Удаляется spacefm (1.0.6-1) ...
postrm called with unknown argument `remove'
dpkg: ошибка при обработке пакета spacefm (--purge):
подпроцесс установлен сценарий post-removal возвратил код ошибки 1
При обработке следующих пакетов произошли ошибки:
spacefm
[свернуть]
Т.е. как видно из истории переустановить, сконфигурировать и удалить не удается. Собственно мне уже и пакет этот совсем не нужен, помогите удалить его и восстановить работу apt.
Заранее спасибо.


Cообщение объединено 29 апреля 2018, 22:41:41

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

ecc83

#1
Цитата: hathory от 29 апреля 2018, 22:40:55да понимаю что ССЗБ, раскаиваюсь, наказание уже понес)

Ещё не понёс...

Что происходит при:

sudo apt-get remove --purge spacefm

?

Если не поможет, тогда удалите это всё:


Package: *
Pin: release a=stable
Pin-Priority: 900
Package: *
Pin: release a=testing,a=unstable
Pin-Priority: 300
Package: *
Pin: release o=Debian
Pin-Priority: -1


и повторите:

sudo apt-get update && sudo apt-get upgrade && sudo apt-get remove --purge spacefm

ferum

Боюсь все эти меры не помогут, действовать надо по другому.
Необходимо взять этот самый пакет хотя бы из кэша и распаковать его для изучения. Собственно говоря таким образом мы легко узнаем куда распаковывается всё содержимое и что выполняют постустановочные скрипты. За одно можно проанализировать зависимости и подумать как их разрешить.
Далее полезно изучить логи /root/.synaptic/log где подробно расписано когда и что вы ставили , обновляли и удаляли.
В практике был случай когда удалось решить подобную проблему двумя командами.
Во первых убрал все лишние репозитории, вычислил ключевой пакет который по зависимостям заблокировал apt ( это пакет из стороннего источника -зависимость пакета который заблокировал базу). Скачал родную версию этого пакета и установил его через dpkg, естественно он опять остался не настроенным, дальше apt-get -f install и всё разрулилось. Но так бывает не всегда возможно придётся или обновлять систему до testing или всё сносить. Всё зависит от количества шагов в сломанных зависимостях.
Русские дебианщики против цифрового слабоумия !

ecc83

Цитата: ferum от 30 апреля 2018, 09:16:49Необходимо взять этот самый пакет хотя бы из кэша и распаковать его для изучения. Собственно говоря таким образом мы легко узнаем куда распаковывается всё содержимое и что выполняют постустановочные скрипты. За одно можно проанализировать зависимости и подумать как их разрешить.

Всё верно, но я считаю это следующим шагом после предложенного мной.
Я бы сразу распаковал пакет, посмотрел его содержимое и скрипты и вручную всё удалил, если "apt remove --purge" не сработает.
Но вероятнее всего, в случае неудачи, автор предпочтёт полную переустановку системы...

Цитата: ferum от 30 апреля 2018, 09:16:49
Далее полезно изучить логи /root/.synaptic/log где подробно расписано когда и что вы ставили

Только если всё ставилось через терминал, а не через synaptic, то в этом логе ничего не будет.


ferum

#4
Цитата: ecc83 от 30 апреля 2018, 09:33:45Только если всё ставилось через терминал, а не через synaptic, то в этом логе ничего не будет.
От чего же, всё будет. Эти логи существуют независимо от существования GUI synaptic правда доступ только от root.
З.Ы. debian позицианирует себя как стабильный, вылизанный дистрибутив.... чем он и ценен, но колхозить в нём не сложнее чем в других, главное правило не использовать чужеродные бинарные пакеты. Практически всё можно собрать самостоятельно конкретно для текущего релиза и такие пакеты не будут ломать систему.
Русские дебианщики против цифрового слабоумия !

ecc83

Цитата: ferum от 30 апреля 2018, 11:06:07От чего же, всё будет. Эти логи существуют независимо от существования GUI synaptic правда доступ только от root.

Если вы про логи, которые находятся по пути /root/.synaptic/log и доступны из меню "Файл -> История", то у меня там фиксируются только действия, которые я производил в synaptic. Получается у меня что то сломано или не настроено?

ferum

Цитата: ecc83 от 30 апреля 2018, 11:56:52Если вы про логи, которые находятся по пути /root/.synaptic/log
Вы правы.
Это не очень здорово применительно к данной ситуации со сломанным apt  :(
Русские дебианщики против цифрового слабоумия !

hathory

#7
Цитироватьто происходит при:

Код: [Выделить]
sudo apt-get remove --purge spacefm
sudo apt-get remove --purge spacefm происходит все то же самое:
Открыть содержимое (спойлер)
Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение информации о состоянии... Готово
Пакеты, которые будут УДАЛЕНЫ:
  spacefm*
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 21 пакетов не обновлено.
не установлено до конца или удалено 1 пакетов.
После данной операции, объём занятого дискового пространства уменьшится на 1 268 kB.
Хотите продолжить? [Д/н] y
dpkg: ошибка при обработке пакета spacefm (--remove):
пакет абсолютно неработоспособен; перед попыткой удаления
его следует переустановить
При обработке следующих пакетов произошли ошибки:
spacefm
======  How can you help?  (doc: https://wiki.debian.org/how-can-i-help ) ======

New packages going to be removed from Debian 'testing' (the maintainer might need help):
- texmaker - https://tracker.debian.org/pkg/texmaker - removal on 2018-05-21 (bug: #896567)

-----  Show old opportunities as well as new ones: how-can-i-help --old  -----
E: Sub-process /usr/bin/dpkg returned an error code (1)
[свернуть]

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

Хочу предложить свое решение, но прошу Вас коллеги, по-возможности предложить какие последствия меня могут ожидать:
есть файл /var/lib/dpkg/status - в нем вся информация о установленных в системе пакетах, вот кратенько по бажному пакету:
Открыть содержимое (спойлер)
Package: spacefm
Status: purge reinstreq half-installed
Priority: optional
Section: utils
Installed-Size: 1238
Maintainer: Mateusz Łukasik <mati75@linuxmint.pl>
Architecture: amd64
Version: 1.0.6-1
Config-Version: 1.0.6-1
Replaces: spacefm (<< 0.9), spacefm-common (<< 1.0.5-2~), spacefm-gtk3
Provides: spacefm-hal
Depends: libc6 (>= 2.14), libcairo2 (>= 1.2.4), libffmpegthumbnailer4v5, libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.41.1), libgtk2.0-0 (>= 2.24.32), libpango-1.0-0 (>= 1.18.0), libpangocairo-1.0-0 (>= 1.14.0), libstartup-notification0 (>= 0.4), libudev1 (>= 183), libx11-6, spacefm-common (= 1.0.6-1), desktop-file-utils, shared-mime-info, e2fsprogs
Recommends: udisks2
Suggests: udevil, eject, lsof, wget, ktsuss, gksu, sshfs, dbus
Breaks: spacefm-common (<< 1.0.5-2~)
Conflicts: spacefm-gtk3, spacefm-hal
Conffiles:
/etc/spacefm/spacefm.conf fe34c2c01098ae882a979d08b0be598c
Description: Multi-panel tabbed file manager - GTK2 version
SpaceFM is a multi-panel tabbed file and desktop manager for Linux with
built-in VFS, udev or HAL-based device manager, customizable menu system
and bash integration.
.
A descendant of PCManFM, SpaceFM's aims are to be bugfixed, efficient
(mainly C), hugely customisable (change and add to the GUI as you go
with Design Mode), powerful without scaring off newer users (due to
customisation), independent of particular distributions and desktop
environments, and device management featureful enough to replace the
various udisks-based *kits when used alongside udevil.
.
Other highlights include optional desktop management, smart queuing
of file operations, user plugins and the ability to carry out specific
commands as root.
.
Please install spacefm-gtk3 instead if you want to stick with GTK+3.
Triggers-Awaited: desktop-file-utils
Homepage: http://ignorantguru.github.io/spacefm/
[свернуть]

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


Cообщение объединено 30 апреля 2018, 14:53:39

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

Cообщение объединено 30 апреля 2018, 14:55:30

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

ecc83

Цитата: hathory от 30 апреля 2018, 14:48:27Хочу предложить свое решение, но прошу Вас коллеги, по-возможности предложить какие последствия меня могут ожидать:

Создаёте свежий бекап системы.

Распаковываете deb пакет во временный каталог:


mkdir -p TMP/DEBIAN
dpkg -x spacefm_1.0.6-2_amd64.deb TMP
dpkg -e spacefm_1.0.6-2_amd64.deb TMP/DEBIAN


Внутри созданного каталога TMP смотрите какая создана структура и куда пакет кладёт файлы.
Затем на своей системе ищете аналогичные каталоги и удаляете из них файлы, которые пакет туда положил.
Потом удаляете из файла /var/lib/dpkg/status упоминание об этом пакете.

После этого, что бы удалить зависимости, выполняете:

sudo apt-get autoremove --purge

Всё.

ferum

 Честно говоря не знаю что за программа но если она запускается как сервис при старте системы то перед удалением процесс должен быть завершён иначе система не даст ни чего сделать.
Русские дебианщики против цифрового слабоумия !

ecc83

Цитата: ferum от 30 апреля 2018, 15:18:00Честно говоря не знаю что за программа

Это файловый менеджер типа PCManFM из LXDE. Если пакет не установлен, то он и не запущен.

ferum

https://system-admins.ru/kak-uznat-kogda-ustanovlen-ili-obnovlen-paket-debian-ili-ubuntu/
https://losst.ru/spisok-ustanovlennyh-paketov-debian
https://www.debian.org/doc/manuals/apt-howto/ch-search.ru.html
https://codebeer.ru/spisok-ustanovlennyh-paketov-v-debian/
То есть понятно что физически вымарать пакет из системы не составляет труда, только не могу понять до конца где dpkg хранит ключевую запись о том что пакет установлен? Хотя пишут что  в /var/lib/dpkg/status
https://debian-handbook.info/browse/ru-RU/stable/sect.manipulating-packages-with-dpkg.html
В своей системе я бы конечно распорядился, но что бы не было обид  не буду говорить что делайте так, а почитать полезно.
Русские дебианщики против цифрового слабоумия !

hathory

#12
ЦитироватьЭто файловый менеджер типа PCManFM из LXDE. Если пакет не установлен, то он и не запущен.
Не совсем так, помимо что это "Ответвлённый от PCManFM, SpaceFM - это лёгкий, очень настраиваемый, десктоп-независимый, мультипанельный менеджер файлов c поддержкой вкладок и окружением рабочего стола. Имеет виртуальную файловую систему, диспетчер устройств udev, настраиваемую систему меню и интеграцию bash.", он еще и "SpaceFM включает в себя легкий менеджер рабочего стола. Он заменяет меню рабочего стола, добавляет значки на рабочем столе, и устанавливает обои." Изначально ставился для того что бы победить тиринг в xfce4, проблема с тирингом решилась,но появились глюки с копированием файлов на флешки с ntfs, а если учесть, что у меня за монтирование ntfs отвечает не ntfs-3G а Paragon-715-FRE_NTFS_Linux_9.5 ситуация оказалась плачевной,пришлось перейти на compton, а вот SpaceFM вовремя не удалил, ибо слабоумен.

Cообщение объединено 30 апреля 2018, 17:36:13

ferum, спасибо,я эти статьи в первую очередь читал,но для данной ситуации они не очень подходят, как видите --force не помогает во всех своих итерациях, сегодня буду пробовать ручное удаление с чисткой файла status

Cообщение объединено 01 мая 2018, 10:31:07

Собственно, господа, все получилось:
- после удаления из status записи о пакете, система полностью о нем забывает, как будто он и не устанавливался и впринципе, apt уже работает и обновляет систему;
- после зачистил все хвосты по пакету физически.
Все работает и обновляется, всем спасибо

Cообщение объединено 01 мая 2018, 10:43:00

Единственное, что осталось решить это удаление набора языков:
Открыть содержимое (спойлер)
/usr/share/locale/af/LC_MESSAGES/spacefm.mo
/usr/share/locale/ar/LC_MESSAGES/spacefm.mo
/usr/share/locale/bg/LC_MESSAGES/spacefm.mo
/usr/share/locale/bn_IN/LC_MESSAGES/spacefm.mo
/usr/share/locale/ca/LC_MESSAGES/spacefm.mo
/usr/share/locale/cs/LC_MESSAGES/spacefm.mo
/usr/share/locale/da/LC_MESSAGES/spacefm.mo
/usr/share/locale/de/LC_MESSAGES/spacefm.mo
/usr/share/locale/el/LC_MESSAGES/spacefm.mo
/usr/share/locale/es/LC_MESSAGES/spacefm.mo
/usr/share/locale/et/LC_MESSAGES/spacefm.mo
/usr/share/locale/eu/LC_MESSAGES/spacefm.mo
/usr/share/locale/fa/LC_MESSAGES/spacefm.mo
/usr/share/locale/fi/LC_MESSAGES/spacefm.mo
/usr/share/locale/fr/LC_MESSAGES/spacefm.mo
/usr/share/locale/gl/LC_MESSAGES/spacefm.mo
/usr/share/locale/he/LC_MESSAGES/spacefm.mo
/usr/share/locale/hr/LC_MESSAGES/spacefm.mo
/usr/share/locale/hu/LC_MESSAGES/spacefm.mo
/usr/share/locale/id/LC_MESSAGES/spacefm.mo
/usr/share/locale/it/LC_MESSAGES/spacefm.mo
/usr/share/locale/ja/LC_MESSAGES/spacefm.mo
/usr/share/locale/km/LC_MESSAGES/spacefm.mo
/usr/share/locale/ko/LC_MESSAGES/spacefm.mo
/usr/share/locale/lt/LC_MESSAGES/spacefm.mo
/usr/share/locale/ltg/LC_MESSAGES/spacefm.mo
/usr/share/locale/ml/LC_MESSAGES/spacefm.mo
/usr/share/locale/ms/LC_MESSAGES/spacefm.mo
/usr/share/locale/nb/LC_MESSAGES/spacefm.mo
/usr/share/locale/nl/LC_MESSAGES/spacefm.mo
/usr/share/locale/nn/LC_MESSAGES/spacefm.mo
/usr/share/locale/pl/LC_MESSAGES/spacefm.mo
/usr/share/locale/ps/LC_MESSAGES/spacefm.mo
/usr/share/locale/pt/LC_MESSAGES/spacefm.mo
/usr/share/locale/pt_BR/LC_MESSAGES/spacefm.mo
/usr/share/locale/ru/LC_MESSAGES/spacefm.mo
/usr/share/locale/sk/LC_MESSAGES/spacefm.mo
/usr/share/locale/sl/LC_MESSAGES/spacefm.mo
/usr/share/locale/sr/LC_MESSAGES/spacefm.mo
/usr/share/locale/sr@latin/LC_MESSAGES/spacefm.mo
/usr/share/locale/sv/LC_MESSAGES/spacefm.mo
/usr/share/locale/tr/LC_MESSAGES/spacefm.mo
/usr/share/locale/uk/LC_MESSAGES/spacefm.mo
/usr/share/locale/ur/LC_MESSAGES/spacefm.mo
/usr/share/locale/ur_PK/LC_MESSAGES/spacefm.mo
/usr/share/locale/vi/LC_MESSAGES/spacefm.mo
/usr/share/locale/zh_CN/LC_MESSAGES/spacefm.mo
/usr/share/locale/zh_TW/LC_MESSAGES/spacefm.mo
[свернуть]
Я могу удалить их по-одному, но может есть способ удалить комплексно?
Иногда, продуктивный шаг вперед, является результатом удачного пинка в зад