не может обновить какие-либо пакеты из-за ошибки в '/ usr / sbin / update-info-dir'

Я не могу обновить какие-либо пакеты в ubuntu из-за ошибки в '/ usr / sbin / update-info-dir'

, ошибка задано как:

Setting up install-info (6.5.0.dfsg.1-2) ...
/usr/sbin/update-info-dir: 9: export: : bad variable name
dpkg: error processing package install-info (--configure):..........]
 installed install-info package post-installation script subprocess returned err
or exit status 2
Errors were encountered while processing:
 install-info
E: Sub-process /usr/bin/dpkg returned an error code (1)

Что, кажется, предполагает, что проблема находится в строке '9'. Первые девять строк выглядят следующим образом:

#!/bin/sh
# update-info-dir
# create a dir file from all installed info files
# Copyright 2009, 2014 Norbert Preining
# GPLv2

INFODIR=/usr/share/info

set -e

Я видел похожие проблемы в стеке, но они не были точно такими же. Любая помощь будет принята с благодарностью.

1
задан 6 May 2021 в 14:34

1 ответ

The / usr / sbin / update-info-dir является источником как / etc / environment , так и / etc / default / locale .

Вероятно, ошибка находится в строке 9 одного из этих файлов - поиск файла приводит к неправильной нумерации строк в отчете об ошибке. Например, даны:

$ cat -n good.sh
     1  #!/bin/sh
     2
     3  . ./bad.environment

и

$ cat -n bad.environment
     1  # some comments
     2  #
     3  # more comments
     4  #
     5  # even more comments
     6  #
     7  #
     8
     9  export foo =bar

, затем

$ ./good.sh
./good.sh: 9: export: : bad variable name

Обратите внимание, что согласно man environment.d (выделено мной):

CONFIGURATION FORMAT
       The configuration files contain a list of "KEY=VALUE" environment
       variable assignments, separated by newlines. The right hand side of
       these assignments may reference previously defined environment
       variables, using the "${OTHER_KEY}" and "$OTHER_KEY" format. It is also
       possible to use "${FOO:-DEFAULT_VALUE}" to expand in the same way as
       "${FOO}" unless the expansion would be empty, in which case it expands
       to DEFAULT_VALUE, and use "${FOO:+ALTERNATE_VALUE}" to expand to
       ALTERNATE_VALUE as long as "${FOO}" would have expanded to a non-empty
       value. No other elements of shell syntax are supported.

       Each KEY must be a valid variable name. Empty lines and lines beginning
       with the comment character "#" are ignored.

поэтому / etc / environment файл вообще не должен содержать конструкции оболочки, такие как экспорт .

0
ответ дан 7 May 2021 в 17:39

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

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