& ldquo; запускается работа для /etc/rc.local Compatibility & rdquo ;: как исправить?

Сегодня я обновился до Ubuntu Vivid (15.04), и после перезагрузки я испытал очень длительный процесс загрузки.

Нажатие Esc показало следующий экран:

] В последней строке говорится: «Выполняется запуск задания для /etc/rc.local Совместимость (7 мин 24 с / без ограничения)». Несмотря на часть «без ограничений», она сдалась (или завершила?) Через ровно 10 минут, и процесс загрузки завершился.

Это происходит при каждой загрузке.

связанные с переходом на systemd? Как я могу это исправить? (Прямо сейчас, я думаю, дважды, прежде чем выключать свой ноутбук). Должен ли я сообщать об ошибке? И если да, где?

Мой файл /etc/rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
fstrim -v /
fstrim -v /home
exit 0

Файл исполняется:

$ ls -l /etc/rc.local
-rwxr-xr-x 1 root root 333 aug 14  2013 /etc/rc.local

Я добавил 2 fstrim почти 2 года назад, когда я установил SSD, следуя инструкциям из проекта советов Easy Linux.

По-видимому, это причина моей проблемы (я удалил их и перезагрузил - проблема исчезла), но я все еще думаю, что система не должна висеть так 10 минут. Кроме того, как я могу запустить fstrim при загрузке сейчас?

1
задан 24 June 2015 в 13:07

2 ответа

Странно, что это неожиданно проблема в Ubuntu 15.04, тогда как в Ubuntu 14.04 она всегда хорошо работала ....

Вы также можете добавить параметр спящего режима перед обрезкой, чтобы две команды трикотажа будут выполнены после заданного количества секунд. Это должно позволить завершить процесс загрузки, заставив команды обрезки работать в фоновом режиме.

Как это (40 секундная задержка):

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sleep 40
fstrim /
fstrim /home
exit 0

-v (verbose ) параметр для обрезки в этом случае не используется, кстати, потому что он выполняется в фоновом режиме. Я изменил это в моем руководстве Easylinuxtips.

Примечание. Я тестировал такой параметр сна в rc.local в Ubuntu 14.04 и Linux Mint 17.x (для другой цели, чем trim), поэтому я не уверен, будет ли это работать аналогично в Ubuntu 15.04.

2
ответ дан 23 May 2018 в 20:48

У меня была такая же проблема, в основном это происходит, когда что-то в rc.local не заканчивается нормально, например, какой-то демон. Чтобы найти, какая команда в rc.local является виновником просто команды killall -9 / из / etclocal, и она перезагрузится, как только все команды из rc.local будут завершены.

1
ответ дан 23 May 2018 в 20:48

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

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