Заставить службу systemd наследовать переменные среды из /etc/profile.d

Клонирование и постоянные живые Debian

Клонирование(копирование каждого байта как есть, создание от -до -одной копии )— это очень простой и надежный метод создания загрузочного диска (живого диска или установочного диска )из ISO-файла гибридного Linux.

Не существует обычного способа сделать клонированный iso-файл Debian постоянным, поскольку он имеет файловую систему -только для чтения, ISO9660, (и «таблицу разделов» )только для чтения -.

Использование mkusb (BIOS/UEFI)

Возможно (и я бы сказал довольно просто )использовать mkusb для создания постоянного живого диска из живого iso-файла Debian . mkusb поддерживает Debian 8 или новее, и вы должны использовать текущую версию mkusb (версии 12.3.3 или новее ).

mkusb создает таблицу разделов и 5 разделов:

  1. Раздел NTFS для обмена данными с компьютерами Windows (необязательный размер)
  2. Расширенный раздел или bios_grubраздел
  3. Загрузочный раздел FAT32 для загрузки сgrub(как в режиме UEFI, так и в режиме BIOS)
  4. Раздел ISO9660, содержащий клон файла iso
  5. extраздел для сохранения, где хранятся ваши модификации (и файлы )

mkusb автоматически выполняет следующие настройки:

  • Вариант загрузкиpersistence(не persistent, как в Ubuntu)
  • Метка persistenceна разделе #5 (не casper-rwкак в Ubuntu)
  • Файл persistence.confс содержимым / unionна верхнем уровне раздела #5.

Эта структура создается шелл-скриптом bash dus-persistent, когда вы используете mkusb версии 12, псевдоним mkusb-dus. Если вам нужны все подробности, установите mkusb и прочитайте содержимое dus-persistentили прочитайте его напрямую через philw.net/isos/linux -tools/mkusb/dus -persistence .

Настройки mkusb по умолчанию можно использовать для Debian 8, 9 и 10, а постоянный живой диск будет работать при загрузке в режиме BIOS и режиме UEFI (, но не при безопасной загрузке ).

(В предыдущей версии mkusb 12.3.2 вы должны вручную установить «usb -pack -efi» в меню «Настройки» для Debian 10 в режиме UEFI.)

Использование ручной настройки (Только UEFI)

Если вам нужна только загрузочная флешка UEFI, вам вообще не нужен установщик.

Вам просто нужно отформатировать флешку в FAT32 и установить флаг загрузки. Затем используйте любой ваш любимый инструмент для извлечения, например 7zip, чтобы извлечь и скопировать ISO в раздел FAT32 . Для получения дополнительной информации см. Сделай сам .

Я проверил этот метод со стандартным live iso-файлом (, небольшим, без графической среды рабочего стола ),

debian-live-10.0.0-amd64-standard.iso

Таким образом, вы можете создать загрузочный USB-накопитель с Debian 10 (64 -бит ). Он будет работать только -и загружаться в режиме UEFI.

  • Создайте достаточно большой раздел FAT32 для хранения файлов из файла iso (добавьте примерно 5 % к размеру файла iso)
  • Смонтируйте раздел FAT32
  • Извлеките дерево каталогов содержимого (со всеми файлами )файла iso в раздел FAT32

Теперь у вас есть живой -только загрузочный USB-накопитель

  • Отредактируйте слово persistenceв конце строки (с ), начиная с linuxв файле

    /path/to/mountpoint/boot/grub/grub.cfg
    
  • Создайте разделext2в нераспределенном пространстве (за разделом FAT32)

  • Поместите метку persistenceна разделext2
  • Смонтировать разделext2
  • Запись / unionв файл persistence.confв файловой системеext2

  • Размонтировать все разделы на флешке перед отключением или перезагрузить

Теперь у вас есть постоянно работающий USB-накопитель с Debian 10.


Вывод команды виден из постоянного живого диска:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  9.0M  1.6G   1% /run
/dev/sdb1       4.0G  826M  3.2G  21% /run/live/persistence/sdb1
/dev/loop0      610M  610M     0 100% /run/live/rootfs/filesystem.squashfs
tmpfs           7.8G     0  7.8G   0% /run/live/overlay
/dev/sdb2        11G   38M   11G   1% /run/live/persistence/sdb2
overlay          11G   38M   11G   1% /
tmpfs           7.8G     0  7.8G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
tmpfs           7.8G     0  7.8G   0% /tmp
tmpfs           1.6G     0  1.6G   0% /run/user/1000

$ lsb_release -a
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

$ lsblk -fm /dev/sdb
NAME   FSTYPE LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINT                            SIZE OWNER GROUP MODE
sdb                                                                                                                14.8G             brw-rw----
├─sdb1 vfat   USBBOOT     7176-C538                               3.2G    20% /usr/lib/live/mount/persistence/sdb1    4G             brw-rw----
└─sdb2 ext2   persistence 2b324439-d63e-4a19-bf57-d49ecb881828     10G     0% /usr/lib/live/mount/persistence/sdb2 10.8G             brw-rw----

Вы можете видеть, что размер overlayсоответствует размеру /dev/sdb2, что указывает на то, что постоянство работает.

Использованиеmkusb-minp(BIOS/UEFI)

Можно (и я бы сказал довольно просто )использоватьmkusb -minpдля создания постоянного живого диска из живого iso-файла Debian. mkusb -minp поддерживает Debian 10 или новее. Этот простой шеллскрипт разработан на основе mkusb -min . Оба они «обертывают ремень безопасности» вокруг процесса клонирования, чтобы избежать записи на неправильное устройство.

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

0
31.10.2021, 10:37
1 ответ

Я думаю, что это решается следующим образом

ExecStart=/bin/sh -lc /path/to/binary

Флаг -lделает вызов оболочки оболочкой входа в систему.

$ bash --help | grep -- -l
GNU bash, version 4.4.12(1)-release-(x86_64-pc-linux-gnu)
    --login
0
01.11.2021, 18:18

Теги

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