Я работаю с некоторыми проприетарными сценариями для проекта встроенного Linux. Один из сценариев заменяет исполняемые файлы перезагрузки и завершения работы в / sbin / символической ссылкой на программу Perl. Я запустил этот скрипт преждевременно и теперь мне не хватает этих двух исполняемых файлов.
Мои попытки выяснить, какой пакет в Linux содержит эти исполняемые файлы, были тщетными, я пробовал выскочить, а также несколько других, которые я мог придумать или найти.
Какой-нибудь совет для восстановления \ переустановки этих исполняемых файлов? Я всегда могу просто использовать init 0 и init 6 ... но я бы предпочел исполняемые файлы.
Я думаю, что ответы выше могут дать результат, но я буду использовать логический подход для достижения того же результата.
Для знания определенного файла принадлежит, для которого пакета можно использовать:
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
Все остальные приняли версию 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, о которой можно просто отложить символьные ссылки непосредственно, не беспокоясь с пакетами вообще.
В моей системе /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/ (изменяют Вашу версию, ясно) и открывают его с менеджером архива, которого Вы имеете:
... так да, это там. Необходимо быть в состоянии вернуть их с переустанавливанием; в принципе это должно быть
apt-get install --reinstall upstart
, но быть осторожно, это - вполне основной пакет, таким образом, я сделаю это на консоли без графического интерфейса, и вероятно в однопользовательский режим (это - причина, я опустил необходимое sudo
здесь). хотя, возможно, это - излишество.
Можно найти в значительной степени независимо от того, что Вы ищете с превосходной Поисковой системой Пакета Ubuntu. Например перезагрузка и завершение работы.
можно отфильтровать результаты архитектурой и выпуском.
На основе того, что показало, Вы ищете новомодный пакет.
Тесты указывают, что можно успешно переустановить с командой sudo apt-get install --reinstall upstart
. Я перезагрузил только, чтобы обеспечить, чтобы выскочка работала правильно. Я ввел команду в окно терминала.
Эти результаты были получены на Ubuntu 14.04 LTS