Установка через tinyproxy через apt-get не в состоянии создать файл конфигурации

Я собрал сервер Ubuntu 12.04 пару недель назад, и до сегодняшнего утра все было хорошо.

Внезапно у меня возникли проблемы с установкой новых пакетов - сначала я подумал, что что-то не так с tinyproxy, и вместо этого я попытался установить squid. Однако я получаю похожие результаты:

Starting tinyproxy: tinyproxy: Could not open config file "/etc/tinyproxy.conf".\
...
/var/lib/dpkg/info/squid3.postinst: 1: /var/lib/dpkg/info/squid3.postinst: cannot open /etc/squid3/squid.conf: No such file

Кажется, что apt-get не создает файлы конфигурации, необходимые для этих программ.

Я не изменял никакую конфигурацию или группы пользователей со времени последнего успешного обновления / установки пакетов.

/ etc присутствует и заполнен красивым здоровым деревом конфигурационных файлов. Он принадлежит и сгруппирован по корню, и имеет свойства drwxr-xr-x - насколько я могу судить, все файлы и папки внутри, кажется, подходят. Я даже смог отредактировать / сохранить пару как sudo.

Полный вывод от установки tinyproxy:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
 tinyproxy
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/61.6 kB of archives.
After this operation, 201 kB of additional disk space will be used.
Selecting previously unselected package tinyproxy.
(Reading database ... 58916 files and directories currently installed.)
Unpacking tinyproxy (from .../tinyproxy_1.8.3-1_amd64.deb) ...
Processing triggers for ureadahead ...
Processing triggers for man-db ...
Setting up tinyproxy (1.8.3-1) ...
Starting tinyproxy: tinyproxy: Could not open config file "/etc/tinyproxy.conf".
invoke-rc.d: initscript tinyproxy, action "start" failed.
dpkg: error processing tinyproxy (--configure):
 subprocess installed post-installation script returned error exit status 70
Errors were encountered while processing:
 tinyproxy
E: Sub-process /usr/bin/dpkg returned an error code (1)

Предлагалось от друга проверить загруженный пакет в /var/cache/apt/archives. Существует запись для /etc/tinyproxy.conf

Выполнение sudo touch /etc/tinyproxy.conf создает пустой файл, принадлежащий и доступный для записи пользователю root.

Результат strace после установки:

18467 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
18467 open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
18467 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\30\2\0\0\0\0\0"..., 832) = 832
18467 open("/etc/tinyproxy.conf", O_RDONLY) = -1 ENOENT (No such file or directory)

Мне удалось обойти проблему, скопировав конфигурацию с другого сервера и настроив ее для нового - но это не совсем идеально. [ 1116]

3
задан 7 December 2012 в 04:51

2 ответа

как насчет прав доступа ко всем файлам в каталоге? эти файлы в порядке (также может быть ошибка HW)? Вы пытались получить доступ к этим файлам касанием или другой основной командой, чтобы проверить их статус? Быстрее всего будет:

ls -la /etc/

проверить права доступа, иноды и ссылки, если есть только ссылки, файлы которых могут быть повреждены в другом месте ... но самый последний вопрос в конце ... вы пытались запустить это как судо?

0
ответ дан 7 December 2012 в 04:51

У меня есть несколько советов о том, что вы должны проверить.

  • находится / etc / в другом разделе как '/' (rootfs)? Пожалуйста, предоставьте вывод mount.
  • Можете ли вы создавать каталоги и / или файлы в / etc / как root? Вы проверили это?

Каждый установленный пакет имеет несколько файлов метаданных, которые хранятся в /var/lib/dpkg/info/PKGNAME.*. Например, при установке пакета adduser создаются следующие файлы:

adduser.conffiles
adduser.config
adduser.list
adduser.md5sums
adduser.postinst
adduser.postrm
adduser.templates

Здесь интересны файлы, заканчивающиеся на preinst | postinst | prerm | postrm. Они выполняются до / после установки или удаления. Посмотрите, что у них внутри, и попробуйте запустить их вручную - вы можете добавить к ним несколько операторов echo, чтобы увидеть, где и как они терпят неудачу, и т. Д. Обычно это просто скрипты Bash.

0
ответ дан 7 December 2012 в 04:51

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

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