Игнорировать ошибку «Файл не найден» в окруженииФайл отсутствует в systemd

vmunixбыло/является традиционным именем файла ядра в нескольких операционных системах Unix.

В Linux это значение было изменено на vmlinux, а затем на vmlinuz, когда было добавлено сжатие файлов ядра.

Обычно файл ядра мог находиться в корневом каталоге, а в некоторых дистрибутивах Linux по-прежнему можно увидеть символическую ссылку /vmlinuzи /vmlinuz.old, указывающую на текущую и предыдущую версии ядра соответственно. Но современные загрузчики могут легко обрабатывать более двух версий ядра, и соглашение эволюционировало до использования /boot/vmlinuz-<kernel version number>.

Когда размеры дисков увеличились и адресация логических блоков стала нормой для дисков IDE (в период с 1994 по 2003 год ), BIOS систем до -1994 года не всегда поддерживали LBA и поэтому могли получить доступ к только первые 528 МБ или около того, пока не запустится операционная система с поддержкой LBA -. В результате было важно иметь возможность размещать файлы, необходимые для самых ранних фаз загрузки -, вплоть до отдельного небольшого раздела, который мог бы гарантированно находиться в самом начале диска. В Linux это привело к соглашению о файловой системе /boot.

В двух словах, у вас будет возможность создать /bootкак отдельную файловую систему, которая будет содержать только ядро ​​и файлы initrd/ initramfsтекущей и любых предыдущих резервных версий ядра, а также любые файлы самому загрузчику может понадобиться (чаще всего каталог /boot/grub).

Хотя все современные системы понимают LBA как нечто само собой разумеющееся, /bootсоглашение о файловой системе живет,так как его также можно использовать для загрузки системы, даже если корневая файловая система принимает форму, совершенно не распознаваемую системной прошивкой, например:

  • зашифрованная корневая файловая система,
  • корневая файловая система на Linux LVM (легко расширяемая за пределы любого отдельного диска, если это необходимо, даже в строке -),
  • корневая файловая система на программном наборе RAID0 или RAID5 (не обязательно хорошая идея для корневой файловой системы, если у вас нет особых требований)
  • или корневая файловая система на многотомном -томе ZFS или наборе BtrFS.

Некоторые системные микропрограммы включают встроенную -проверку существования распознаваемого загрузочного раздела перед попыткой загрузки с жесткого диска, даже если фактический загрузчик может загружаться с другого -] традиционные схемы дисков.

0
25.02.2021, 16:25
1 ответ

В справочной странице systemd.exec говорится, с моим акцентом:

The argument passed should be an absolute filename or wildcard expression, optionally prefixed with "-", which indicates that if the file does not exist, it will not be read and no error or warning message is logged.

Итак, вам нужен синтаксис:

EnvironmentFile=-/path/to/file

вместо:

-EnvironmentFile=/path/to/file
1
18.03.2021, 22:28

Теги

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