Не удалось выполнить новый сценарий предварительной установки (/var/lib/dpkg/tmp.ci/preinst)

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

Например, используя openjdk-8-jre (более новая версия) в скрипте установки.

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install openjdk-8-jre
1
задан 31 January 2018 в 21:15

2 ответа

Вам не хватает исполняемого файла, который появляется в строке shebang в preinst-скрипте.

Извлеките метаданные пакета во временный каталог: dpkg -e wtbuild.deb tmp Откройте tmp/preinst в текстовом редакторе. Первая строка должна начинаться с символов #!. Текст, который появляется после этого, - это программа, которая будет использоваться для запуска файла. Вам не хватает этой программы. Определите пакет, который предоставляет отсутствующую программу. Например, если программа /usr/bin/python, вы должны установить пакет python: sudo apt-get install python

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

1
ответ дан 17 July 2018 в 21:49

Вам не хватает исполняемого файла, который появляется в строке shebang в preinst-скрипте.

Извлеките метаданные пакета во временный каталог: dpkg -e wtbuild.deb tmp Откройте tmp/preinst в текстовом редакторе. Первая строка должна начинаться с символов #!. Текст, который появляется после этого, - это программа, которая будет использоваться для запуска файла. Вам не хватает этой программы. Определите пакет, который предоставляет отсутствующую программу. Например, если программа /usr/bin/python, вы должны установить пакет python: sudo apt-get install python

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

1
ответ дан 23 July 2018 в 22:26
  • 1
    Спасибо @ Zenexer. Это указывало мне в правильном направлении. Мой shebang был выключен, но не потому, что файл не существовал, но из-за того, что у меня были окончания строки CRLf вместо Lf. – N Jones 3 March 2018 в 02:16
  • 2
    @NJones Это то же самое. Linux рассматривает CR как часть исполняемого имени, поэтому он ищет двоичный файл, который (возможно) не существует. – Zenexer 3 March 2018 в 06:35

Другие вопросы по тегам:

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