Инструменты пользователя

Инструменты сайта


software:linux_server_iso:installer:api:disk_prepare.sh

disk_prepare.sh

disk_prepare.sh
#!/bin/bash
# Финальный эталонный скрипт разметки (api/disk_prepare.sh)
cd "$(dirname "$0")" CONFIG_FILE="install_config.txt" LOG_FILE="/tmp/install.log" log_msg() { echo "$1" 
>> "$LOG_FILE"; echo "$1"; }
# 1. Сбрасываем лог дляget_log.php
echo "[PROGRESS] 0" > "$LOG_FILE" echo "[INFO] Инициализация разметки дисковых массивов..." >> 
"$LOG_FILE" if [ ! -f "$CONFIG_FILE" ]; then
    log_msg "[ERROR] Конфигурация install_config.txt не найдена!" exit 1 fi
# 2. Чтение всех переменных в память и экспорт для дочерних процессов
set -a source "$CONFIG_FILE" set +a
# 3. Безопасное уничтожение файла конфигурации на диске
/usr/bin/shred -u "$CONFIG_FILE"
# 4. Начало разметки дисков
echo "[PROGRESS] 10" > "$LOG_FILE" echo "[INFO] Очистка старых таблиц разделов..." >> "$LOG_FILE" IFS=' ' 
read -r -a DISKS_ARRAY <<< "$SELECTED_DISKS" TARGET_DISKS=$(printf " /dev/%s" "${DISKS_ARRAY[@]}")
# 5. Стираем старые сигнатуры ФС
for disk in "${DISKS_ARRAY[@]}"; do /usr/bin/wipefs -a "/dev/$disk" >> "$LOG_FILE" 2>&1 done echo 
"[PROGRESS] 25" > "$LOG_FILE" echo "[INFO] Создание файловой системы Btrfs..." >> "$LOG_FILE"
# 6. Форматирование в Btrfs (RAID-1 или Single)
if [ "$DISK_MODE" == "raid1" ]; then /usr/bin/mkfs.btrfs -f -d raid1 -m raid1 $TARGET_DISKS >> 
    "$LOG_FILE" 2>&1
else /usr/bin/mkfs.btrfs -f $TARGET_DISKS >> "$LOG_FILE" 2>&1 fi echo "[PROGRESS] 40" > "$LOG_FILE" echo 
"[INFO] Нарезка системных подтомов @ и @home..." >> "$LOG_FILE"
# 7. Монтирование и создание подтомов
FIRST_DISK="/dev/${DISKS_ARRAY[0]}" /usr/bin/mount "$FIRST_DISK" /mnt /usr/bin/btrfs subvolume create 
/mnt/@ /usr/bin/btrfs subvolume create /mnt/@home /usr/bin/umount /mnt
# 8. Передача эстафеты скрипту установки ядра Arch Linux
echo "[PROGRESS] 50" > "$LOG_FILE" echo "[INFO] Разметка дисков успешно завершена. Запуск pacstrap..." >> 
"$LOG_FILE" sudo -E ./system_install.sh >> "$LOG_FILE" 2>&1
Только авторизованные участники могут оставлять комментарии.
software/linux_server_iso/installer/api/disk_prepare.sh.txt · Последнее изменение: 127.0.0.1

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki