Dpkg: предупреждение?

Приветствую всех! Не получается исправить следующую ошибку:
dpkg: предупреждение: «ldconfig» отсутствует в каталогах, перечисленных в PATH, или не является исполняемым.


Имеем консольный debian 6 squeeze — после некорректной установки пакетов, появляется выше описанная надпись. Гугление показало, что скорее всего слетел PATH. В данный момент export показывает следующее:
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games


Если дать команду так:
#PATH=$PATH:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
, то имеем при export
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
, хотя если я правильно понимаю, должно было путь поменять на заданный. Подскажите, что делаю не так.

Благодарю за внимание!
  • Вопрос задан
  • 14199 просмотров
Решения вопроса 1
sam002
@sam002
Линуксойд, кодер, немного физик.
У меня:
`--# echo $PATH                                                           pts/1
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


debian wheezy
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
dinix
@dinix
PATH=$PATH:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
Сначала подставится текущее значение $PATH, к нему допишется :/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
и всё это сохранится как PATH, так и получилось.
Чтобы заменить целиком содержимое $PATH, нужно задать так PATH=/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
Извините, если и так понимаете это, значит, неправильно поняла вопрос )
Ответ написан
@ur3ckr Автор вопроса
Спасибо за ответ. Но, при
PATH=/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
путь меняется правильно, т.е. при export выдает
declare -x PATH="/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin", но установке какого-либо пакета все равно выдает ошибку:
# apt-get install digitemp Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Предлагаемые пакеты: rrdtool Пакеты, которые будут УДАЛЕНЫ: dc НОВЫЕ пакеты, которые будут установлены: digitemp обновлено 0, установлено 1 новых пакетов, для удаления отмечено 1 пакетов, и 0 пакетов не обновлено. не установлено до конца или удалено 2 пакетов. Необходимо скачать 0 B/118 kB архивов. После данной операции, объём занятого дискового пространства возрастёт на 135 kB. Хотите продолжить [Д/н]? y dpkg: предупреждение: «ldconfig» отсутствует в каталогах, перечисленных в PATH, или не является исполняемым. dpkg: предупреждение: «start-stop-daemon» отсутствует в каталогах, перечисленных в PATH, или не является исполняемым. dpkg: В каталогах, перечисленных в PATH, отсутствуют или не являются исполняемыми 2 необходимых программы. NB: В PATH суперпользователя обычно должны присутствовать /usr/local/sbin, /usr/sbin и /sbin. E: Sub-process /usr/bin/dpkg returned an error code (2)
Ответ написан
@ur3ckr Автор вопроса
Спасибо за советы. Ситуация немного изменилась. Итак по ходу:
$ ls -la /sbin/ldconfig -rwxr-xr-x 1 root root 654720 Фев 13 07:44 /sbin/ldconfig — есть такое.
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin #echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Путь поменяло. Сделал export PATH, чтобы при перезагрузке, пути сохранились.
Теперь при apt-get install выдает следующее:
apt-get install digitemp Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Предлагаемые пакеты: rrdtool Пакеты, которые будут УДАЛЕНЫ: dc НОВЫЕ пакеты, которые будут установлены: digitemp обновлено 0, установлено 1 новых пакетов, для удаления отмечено 1 пакетов, и 0 пакетов не обновлено. не установлено до конца или удалено 2 пакетов. Необходимо скачать 0 B/118 kB архивов. После данной операции, объём занятого дискового пространства возрастёт на 135 kB. Хотите продолжить [Д/н]? y (Чтение базы данных ... на данный момент установлено 35317 файлов и каталогов.) Удаляется пакет dc ... dpkg (подпроцесс): не удалось запустить установлен сценарий post-removal (/var/lib/dpkg/info/dc.postrm): Ошибка формата выполняемого файла dpkg: не удалось обработать параметр dc (--remove): подпроцесс установлен сценарий post-removal возвратил код ошибки 2 configured to not write apport reports При обработке следующих пакетов произошли ошибки: dc E: Sub-process /usr/bin/dpkg returned an error code (1)
Пробавал dpkg-reconfigure dc /usr/sbin/dpkg-reconfigure: Пакет dc сломан или установлен не полностью
Пробовал apt-get install dc Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Уже установлена самая новая версия dc.
Пробавал apt-get autoremove dc Чтение списков пакетов... Готово Построение дерева зависимостей Чтение информации о состоянии... Готово Пакеты, которые будут УДАЛЕНЫ: dc обновлено 0, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 0 пакетов не обновлено. не установлено до конца или удалено 2 пакетов. После данной операции, объём занятого дискового пространства уменьшится на 176 kB. Хотите продолжить [Д/н]? y (Чтение базы данных ... на данный момент установлено 35317 файлов и каталогов.) Удаляется пакет dc ... dpkg (подпроцесс): не удалось запустить установлен сценарий post-removal (/var/lib/dpkg/info/dc.postrm): Ошибка формата выполняемого файла dpkg: не удалось обработать параметр dc (--remove): подпроцесс установлен сценарий post-removal возвратил код ошибки 2 configured to not write apport reports При обработке следующих пакетов произошли ошибки: dc E: Sub-process /usr/bin/dpkg returned an error code (1)
Как исправить этот dc?
Ответ написан
@ur3ckr Автор вопроса
Выше стоящую проблему решил удалением dc.postrm и переустановкой dc
Теперь apt-get и dpkg работают правильно.
Единственная проблема — это после перезагрузки сервера опять слетают пути — export PATH не помогает; скрипт, в который записал PATH тоже не работает — пока только в ручную приходится набирать PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Есть какие-то варианты автоматизации пути?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы