Я запускаю Ubuntu 12.04 на VirtualBox. Я пытался создать центральный лог-сервер с rsyslog. В какой-то момент я внес изменения в conf файл и попытался перезапустить rsyslog, но начал получать следующую ошибку:
Невозможно подключиться к Выскочкой: Не удалось соединиться с сокетом/com/ubuntu/upstart:В соединении отказано
Следующее, что этот вопрос предложил http://ubuntuforums.org/showthread.php?t=1997229
Я дал следующие команды
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl
Однако это не решало вопрос, поскольку выполнение следующего на самом деле не перезапускало rsyslog.
service rsyslog restart
Таким образом, я пытался отменить начальные команды путем выполнения
dpkg-divert --local --remove /sbin/initctl
rm /sbin/initctl
Однако удаление initctl начало вызывать другие проблемы. Таким образом, я перезагрузил машину, и машина не будет обычно загружаться. Я вошел в режим восстановления, и прежде, чем отобразить меню восстановления, которое он распечатал /proc/self/fd/9: 5: /proc/self/fd/9: initctl: not found
.
Кто-либо знает, как я могу восстановить initctl?
Править: Я также загрузил VM с изображением ISO для 12,04 и перешел к меню восстановления, однако, кажется, нет способа восстановить удаленные файлы.
Попробуйте переустановить Upstart:
sudo apt-get --reinstall install upstart
Иначе нет способа восстановить потерянный бинарный файл. initctl
в отличие от start
, stop
или restart
- это отдельный исполняемый файл, а не ссылка на сам init.
Если у вас нет подключения, посмотрите, какая у вас версия пакета Upstart dpkg -l|grep upstart
, загрузите пакет вручную на другой компьютер на USB-накопитель и переустановите с него. Все зависимости верны, так как вы просто переустанавливаете одну и ту же версию.
Я попал в ту же проблему, и вот как я это сделал, и моя Ubuntu 14.04 начала нормально загружаться.
Примечание: заменить «ваш раздел Ubuntu» на раздел, на котором установлена оригинальная версия Ubuntu.