Я хочу удалить файл, когда выполняется rc.sysinit. Я написал что-то вроде следующего:

да | rm /etc /anImportantFileWhichBelongsToSystem

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

что я должен делать?

3 ответа3

1

попробуйте переместить его в /dev/null или unlink или эхо:> / и echo :> /etc/anImportantFileWhichBelongsToSystem

1

Возможная проблема заключается в том, что файловая система может быть не смонтирована и / или не смонтирована как R / W в этой точке. Возможно, вам придется сделать это позже после завершения rc.sysinit.

1
  1. как сказал @Daniel Beck, для этого вам действительно следует использовать rm -f. Тебе не нужен странный (но работающий) взлом да-трубы.

  2. Файловая система может быть недоступна для записи в этот момент. Вы проверяли, можете ли вы создать файл на этом этапе сценария? touch /etc/testfile или около того, просто чтобы убедиться, что он смонтирован и доступен для записи.

  3. В файле могут быть расширенные атрибуты. Расширенные атрибуты - это вещи, которые переопределяют привилегии root. Что говорит lsattr file .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .