отсутствует перезагрузка и завершение работы исполняемых файлов

Я работаю с некоторыми проприетарными сценариями для проекта встроенного Linux. Один из сценариев заменяет исполняемые файлы перезагрузки и завершения работы в / sbin / символической ссылкой на программу Perl. Я запустил этот скрипт преждевременно и теперь мне не хватает этих двух исполняемых файлов.

Мои попытки выяснить, какой пакет в Linux содержит эти исполняемые файлы, были тщетными, я пробовал выскочить, а также несколько других, которые я мог придумать или найти.

Какой-нибудь совет для восстановления \ переустановки этих исполняемых файлов? Я всегда могу просто использовать init 0 и init 6 ... но я бы предпочел исполняемые файлы.

5
задан 4 June 2015 в 09:24

4 ответа

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

Для знания определенного файла принадлежит, для которого пакета можно использовать:

dpkg -S /path-to-file

Теперь позволяет проверке shutdown и reboot путь

$which shutdown 
/sbin/shutdown

$which reboot
/sbin/reboot

Теперь, давайте проверим пакет, принадлежащий ему

$ dpkg -S /sbin/shutdown
upstart: /sbin/shutdown

$ dpkg -S /sbin/reboot
upstart: /sbin/reboot

Поэтому, поскольку заключение shutdown и reboot принадлежит upstart пакет, поэтому теперь можно легко просто переустановить пакет

sudo apt-get install --reinstall upstart
0
ответ дан 4 June 2015 в 09:24

И теперь, ответ версии 15.

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

Мои усилия при нахождении, какой пакет в Linux содержит эти исполняемые файлы, были бесполезны, я судил выскочку

На версии 15 из поля, нет никаких подобных исполняемых файлов. Они были символьные ссылки для начала, которые были обеспечены systemd-sysv пакет . Вы ничего не должны переустанавливать, действительно. Программа, которую Вы запускаете этими именами, не была удалена. Вы просто откладываете символьные ссылки.

ln -f -s -- ../bin/systemctl /sbin/reboot
ln -f -s -- ../bin/systemctl /sbin/shutdown

подсказка в том, что Вы сказали о выскочке, конечно, то, что эти команды были удалены из новомодного пакета для версии 15, точно так, чтобы это могло быть установлено подчиненный systemd. Конфликтующие новомодные команды и инструментарий, необходимый для рабочей выскочки как процесс № 1, были перемещены в новомодный-sysv пакет . Таким образом, конечно, Вы не нашли их в новомодном пакете.

не Делают смешивания и подгонки эти комплекты инструментальных средств. Или systemd-sysv или upstart-sysv. Не смесь обоих. Как я сказал на systemd Ubuntu версия 15 Linux, о которой можно просто отложить символьные ссылки непосредственно, не беспокоясь с пакетами вообще.

Дополнительные материалы для чтения

0
ответ дан 4 June 2015 в 09:24

В моей системе /sbin/reboot обеспечивается

[romano:~] % apt-file search /sbin/reboot
molly-guard: /usr/sbin/reboot
upstart: /sbin/reboot

, таким образом, это, кажется, что пакет upstart содержит его; это подтверждено здесь: http://packages.ubuntu.com/trusty/amd64/upstart/filelist

, Если Вы загружаете пакет от http://archive.ubuntu.com/ubuntu/pool/main/u/upstart/ (изменяют Вашу версию, ясно) и открывают его с менеджером архива, которого Вы имеете:

enter image description here

... так да, это там. Необходимо быть в состоянии вернуть их с переустанавливанием; в принципе это должно быть

apt-get install --reinstall upstart 

, но быть осторожно, это - вполне основной пакет, таким образом, я сделаю это на консоли без графического интерфейса, и вероятно в однопользовательский режим (это - причина, я опустил необходимое sudo здесь). хотя, возможно, это - излишество.

0
ответ дан 4 June 2015 в 09:24

Можно найти в значительной степени независимо от того, что Вы ищете с превосходной Поисковой системой Пакета Ubuntu. Например перезагрузка и завершение работы.

можно отфильтровать результаты архитектурой и выпуском.

На основе того, что показало, Вы ищете новомодный пакет.

Тесты указывают, что можно успешно переустановить с командой sudo apt-get install --reinstall upstart. Я перезагрузил только, чтобы обеспечить, чтобы выскочка работала правильно. Я ввел команду в окно терминала.

Эти результаты были получены на Ubuntu 14.04 LTS

0
ответ дан 4 June 2015 в 09:24

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

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