dil

Грабельки, хорошо присыпанные листвой

Jan 22, 2011 15:16


Конечно, я на них наступил. На домашней машинке, работающей по совместительству роутером в провайдерские интернеты, в /etc/rc.local было несколько команд. В один прекрасный день, после какого-то апгрейда, они перестали работать. Причём запускаешь вручную после загрузки системы - всё работает.

При внимательном разглядывании после включения всей ( Read more... )

грабли, linux, задачки для сисадминов, маршрутизация, домашнее

Leave a comment

Comments 25

rzab January 22 2011, 14:22:54 UTC
sh -e. выпадет при первом ненулевым exitcode

Reply

dil January 22 2011, 14:28:40 UTC
Ага. И какая сволочь это туда написала?

Reply

rzab January 22 2011, 14:43:49 UTC
Ну это способ вернуться в singleuser если что-то пошло не так. Чтобы проигнорировать результат именно rmmod, можно сказать rmmod usbhid || true

Reply

dil January 22 2011, 15:10:50 UTC
Не понял. При чем тут singleuser? Оно ж запускается только на ранлевелах 2 3 4 5.

Reply


bsv9 January 22 2011, 14:44:25 UTC
Вообщем то виновника видно в первой строке /etc/rc.local
Обычно его вставляют для параноидальности, что бы не порушить последовательность команд. Но в данном случае я думаю это глупость, и надо файлить в багзилу.

Reply

dil January 22 2011, 16:40:43 UTC
Я тоже так думаю. Для rc.local это неожиданное поведение.

Reply


jerom January 22 2011, 15:03:05 UTC
Да там set -e где-то.

Reply

dil January 22 2011, 16:41:00 UTC
Ага, прямо в первой строчке

Reply


dmarck January 22 2011, 15:13:19 UTC
Что, неужели rmmod при неудаче киляет родителя?!

Reply

dil January 22 2011, 15:28:31 UTC
Не угадал :)

Reply

А, проглядел dmarck January 22 2011, 15:30:59 UTC


-e errexit
Exit immediately if any untested command fails in non-interactive
mode. The exit status of a command is considered to be explic-
itly tested if the command is part of the list used to control an
if, elif, while, or until; if the command is the left hand oper-
and of an ``&&'' or ``||'' operator; or if the command is a pipe-
line preceded by the ! operator. If a shell function is executed
and its exit status is explicitly tested, all commands of the
function are considered to be tested as well.

Мда.

Reply

Re: А, проглядел dil January 22 2011, 16:53:00 UTC
вооот..

Reply


b_a_t January 22 2011, 15:24:03 UTC
Фря? sh -e?

Reply

dil January 22 2011, 16:41:21 UTC
линукс, но это ничего не меняет.

Reply


Leave a comment

Up