После тщательного тестирования, по состоянию на март 2018 г., ответ заключается в том, что parted невозможно предотвратить systemd от автоматического повторного -монтирования раздела после повторного -] создание, если оно не было заранее явно настроено с noauto в /etc/fstab.
Как намекает @AB, другой инструмент, например fdisk или gdisk , можно использовать вместо parted для правильной очистки информации о разделе перед повторным -создание. Единственным недостатком является то, что эти инструменты используют интерактивную оболочку и не предназначены для пакетной обработки в сценарии.
Интерактивный режим
# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.6
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): Y
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-3907029134, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-3907029134, default = 3907029134) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data.
THIS WILL OVERWRITE EXISTING PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
Автоматизация по трубе
Это не супер чистота и не переносимость, но тот же результат может быть достигнут путем конвейерной передачи пользовательского ввода строка за строкой. Как и в интерактивном режиме, пустые строки будут принимать значения по умолчанию, предлагаемые gdisk, которые в этом случае максимизируют использование раздела и выбирают правильный тип для системы Linux.
echo -ne 'o\nY\nn\n\n\n\n\nw\nY\n' | gdisk /dev/sda
Мониторинг SystemD
Во время работы gdisk мы проверяем dmesg на активность монтирования и видим, что есть только пара запросов информации об устройстве:
kern :info : [Mar27 10:38] sda: sda1
kern :info : [ +1.019077] sda: sda1
Таким образом, с помощью этого метода наш скрипт автоматизации может безопасно продолжить работу с частью mkfs .
Предположим, вы хотите запустить отсоединенный сеанс с именем vpn
, работающий openvpn "$1"
:
tmux new-session -d -s vpn openvpn "$1"
или, сокращенно,
tmux new -d -s vpn openvpn "$1"
Это создает новый tmux
сеанс с именем vpn
, запускает openvpn
в нем и отсоединяется от сеанса.
Предположим, вы хотите завершить сеанс с именемvpn
:
tmux kill-session -t vpn