Понятия не имею, как это произошло, но /etc/rc.*/ просто отсутствует.
В следствии, aptitude
и apt-get
больше не работают правильно.
Есть ли быстрое решение для этого? Я действительно не хочу переустанавливать ОС, если мне это не нужно.
Каким образом не apt-get
работай? Отсутствие сценариев инициализации не должно иметь прямого влияния на управление пакетами.
Что вам нужно сделать, так это восстановить эти каталоги из резервной копии. Поскольку я предполагаю, что ты не иметь резервные копии, тогда вам нужно будет идентифицировать все пакеты, в которых были файлы в удаленных местах (преследование через /var/lib/dpkg/info/*.list, вероятно, самый быстрый способ), а затем, помимо этого, перенастроить любой пакет который имеет сценарий инициализации, чтобы воссоздать символические ссылки, которые были бы на месте (потому что каталоги, которые явно отсутствуют, состоят в основном из символических ссылок, созданных во время установки пакета).
Посмотрите, насколько проще жизнь, когда у вас есть резервные копии?
Попробуй это:
скачать вручную sysv-rc и initscripts
установите их вручную с помощью: dpkg -i sysv-rc*.deb initscript*.deb
затем переустановите все пакеты со службами с помощью этого скрипта:
#!/bin/bash
for package in $(dpkg --get-selections | awk '{ print $1 }'); do
if dpkg -L "$package" | grep -q /etc/init.d; then
apt-get --reinstall install $package
fi
done
Вы можете попробовать установить его в другом месте (например, установку виртуального бокса) с той же конфигурацией служб и скопировать каталоги.
Вы не должны сталкиваться с какими-либо конфигурационными файлами в /etc/rc.*/, главное убедиться, что службы, которые вы ожидаете запускать при загрузке, запускаются. Я забываю установку Ubuntu, но часто файлы в /etc/rc.*/ являются просто символическими ссылками на файлы, которые фактически находятся в /etc/init.d/.
Тем не менее, я бы установил его в другом месте и сравнил.