Автоматизация установки Arch

base64 не так требователен к новой строке:

echo -n 0y14OkIoAkNcGyXft6qZ8w== | base64 -d | openssl enc -d -aes-128-ecb -K E5E9FA1BA31ECD1AE84F75CAAA474F3A -nosalt

Я предполагаю, что вы попали в крайний случай в openssl.

3
15.09.2019, 14:56
2 ответа

Как предложил Biswapriyo , я разделил сценарий на два:script1и script2. Содержимое script1—:

#!/bin/bash
pacman -Sy reflector --noconfirm
timedatectl set-ntp true

parted --script /dev/sda \
    mklabel msdos \
    mkpart primary ext4 1MiB 10GiB \
    set 1 boot on \
    mkpart primary ext4 10GiB 100%

mkfs.ext4 -F /dev/sda1
mkfs.ext4 -F /dev/sda2
mount /dev/sda1 /mnt

reflector --country Bangladesh --country 'United States' --protocol http --protocol https --sort rate --save /etc/pacman.d/mirrorlist

pacstrap /mnt base
genfstab -U /mnt >> /mnt/etc/fstab
cp script2 /mnt/home/
arch-chroot /mnt sh /home/script2

rm /mnt/home/script2
echo 'Setup Complete!'
echo 'type "reboot" and remove installation media.'

и то же самое из script2есть:

#!/bin/bash
ln -sf /usr/share/zoneinfo/Asia/Dhaka /etc/localtime
hwclock --systohc
sed -i -e 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen
locale-gen
echo 'LANG=en_US.UTF-8' > /etc/locale.conf
echo 'haque' > /etc/hostname
echo '127.0.0.1 localhost
::1 localhost
127.0.1.1   haque.localdomain   haque' >> /etc/hosts

pacman -S base-devel grub bash-completion sddm plasma-desktop plasma-nm plasma-pa konsole kwrite dolphin breeze-gtk kde-gtk-config falkon --noconfirm

grub-install --target=i386-pc /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

echo '[Theme]
Current=breeze' >> /etc/sddm.conf

sed -i -e 's/# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/g' /etc/sudoers

echo 'Set root password'
passwd

read -p "Enter username: " name
useradd -m $name
echo "Set password for $name"
passwd $name

usermod -aG wheel,audio,video,optical,storage $name
systemctl enable sddm NetworkManager

exit 

С этими двумя в live usb мне просто нужно сначала ввести sh script1, установить пароль root, имя пользователя и пароль пользователя при появлении запроса и в конце ввести reboot.

Теперь я могу установить Arch менее чем за 5 минут!

3
27.01.2020, 21:17

Это сценарий, который я использую для настройки Archlinux для виртуальных машин

Я запустил этот скрипт из archiso и работает как в qemu -, так и в установках kvm и virtualbox, изменив первичное имя диска (sda Vs vda ).

Позвольте мне разобраться с этим:

  • В качестве отказоустойчивого скажите bash выйти из сценария при возникновении ошибки (установить -e)
  • Создайте таблицу разделов с sfdisk , один раздел под IBM -Таблица разделов DOS
  • Отформатировать раздел и смонтировать в каталог /mnt/
  • обновить репозиторий pacman
  • установить базу archlinux с pacstrap в /mnt/
  • Создать fstab
  • Приготовить жрач.ш. Этот файл установит и настроит grub (legacy )в Archroot. Кроме того, я создаю файл подкачки для использования в качестве подкачки.
  • Измените Root на /mnt/ и запустите файл grub.sh.
  • Перезагрузка

Плюсы:

  • Очень просто и быстро
  • Использование sfdisk (oneline )для подготовки таблицы разделов.
  • Использование grub.sh для запуска каждой необходимой нам команды в корневом каталоге -
  • Автоматизация !
  • Легко адаптировать и изменить.

Минусы

  • Ничего необычного
  • Нет настройки языка (по умолчанию)
  • Сеть уже должна существовать
  • Нет паролей (root/пользователь)

Этот скрипт автоматизировал мои сборки. Затем я обычно запускаю ansible (управление конфигурацией )для более сложных настроек. Но что мне нужно, так это супер быстрый способ сборки archlinux без каких-либо дополнительных действий. Перезагрузите -> Войдите и исправьте все остальное ПОСЛЕ, а не раньше.

#!/usr/bin/bash
set -e

# Archlinux Installation Script for VMs
# ebal, Wed 21 Aug 2019

#Disk=sda # VirtualBox
Disk=vda # Qemu/KVM

echo ',,,*;' | sfdisk /dev/$Disk

mkdir -pv /mnt/$Disk
mkfs.ext4 -v -L rootfs /dev/${Disk}1
mount /dev/${Disk}1 /mnt/$Disk

pacman -Syy

pacstrap /mnt/$Disk base
genfstab -U /mnt/$Disk >> /mnt/$Disk/etc/fstab

# Install Grub
cat > /mnt/$Disk/root/grub.sh <<EOF
pacman -S --noconfirm grub vim
grub-install /dev/$Disk
grub-mkconfig -o /boot/grub/grub.cfg
# Add Swap Partition
dd if=/dev/zero of=/swapfile bs=2048 count=1048576
mkswap /swapfile -L swapfs
chmod 0600 /swapfile
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
EOF

chmod +x /mnt/$Disk/root/grub.sh

arch-chroot /mnt/$Disk/ /root/grub.sh

reboot

надеюсь, что вы найдете его полезным для себя.

0
27.01.2020, 21:17

Теги

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