caliber не запускается -Ошибка Python _Py _FatalErrorFunc

Передача --userspecв chroot— это не то же самое, что запуск su - userвнутри среды chroot; то есть домашний каталог по-прежнему является корневым, то есть /root, поэтому bashпытается прочитать /root/.bashrc, что не разрешено для пользователей, не являющихся -root.

Вторая проблема, вероятно, связана с тем, что вы не включили все необходимые общие библиотеки в среду chroot. Из информационного документа chroot:

If you want to use a dynamically linked executable, say ‘bash’, then first run ‘ldd bash’ to see what shared objects it needs. Then, in addition to copying the actual binary, also copy the listed files to the required positions under your intended new root directory. Finally, if the executable requires any other files (e.g., data, state, device files), copy them into place, too.

1
26.11.2020, 14:20
1 ответ

Решение — обновить Calibre до более новой версии, чем в testing. Есть две альтернативы:

  1. Согласно ответу автора Calibre пользователю Kali Linux , вы можете удалить Calibre, поставляемый в вашем дистрибутиве, и установить непосредственно с веб-сайта Calibre . Я не последовал этому совету, так как предпочитаю максимально использовать систему пакетов Debian.
  2. Установите обновленную версию из unstableили experimentalдистрибутивов Debian

Я выбрал вариант 2.Не рекомендуется смешивать пакеты из разных дистрибутивов. Использование чего-либо из experimentalеще более обескураживает . Но иногда программа, которую вы регулярно запускали, дает сбой, и вам нужно быстро ее исправить. Я не думаю, что вернуться к варианту 1 — лучший выбор в долгосрочной перспективе.

Поиск пакетов Debian показал, что хотя Calibreнедоступен в experimental, вunstable(существует более новая версия под кодовым названиемsid).

Добавить unstableкак возможный источник пакетов

Создать файл

sudo nano /etc/apt/sources.list.d/unstable.list

и вставьте

deb http://deb.debian.org/debian unstable main contrib non-free

(необязательный )Добавить experimentalкак возможный источник пакетов

Создать файл

sudo nano /etc/apt/sources.list.d/experimental.list

и вставить

deb http://deb.debian.org/debian experimental main contrib non-free

Обновление калибра

Ресинхронизировать индекс пакета

sudo apt-get update

затем sимитировать то, что apt-getбудет делать

sudo apt-get -st unstable install calibre

затем, если вы считаете, что объем требуемых обновлений безопасен, введите команду без s, чтобы выполнить фактическое обновление

sudo apt-get -t unstable install calibre

Когда вы закончите, отредактируйте unstable.listи поставьте #в начале записи, чтобы закомментировать ее. В противном случае aptпримет во внимание эти нестабильные версии при следующем upgrade. Запустите sudo apt-get update, чтобы повторно синхронизировать индекс пакета. Комментирование для experimentalне требуется из-за настроек приоритета пакетов aptпо умолчанию.

Хотя получение чего-либо из experimentalв данном случае не требуется, это может быть полезно в будущем. Например, чтобы получить последний пакет nvidia-driver, вы должны использовать sudo apt-get -t experimental install nvidia-driver.

Опция tуказывает aptна временно отдать приоритет (для этого вызова только )версиям пакета из данного выпуска.Experimentalне является полным дистрибутивом , это расширение unstable.

1
18.03.2021, 22:47

Теги

Похожие вопросы