自動アーチの取り付け

自動アーチの取り付け

アーチをインストールする手間を省くために、共通命令をすべてファイルに少し修正して入れて、#!/bin/bash一番上に置いた。次のようになります。

#!/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
arch-chroot /mnt

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 sudo --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

echo 'Set Username'
read name
useradd -m $name
echo "Set password for $name"
passwd $name
usermod -aG wheel,audio,video,optical,storage $name

systemctl enable sddm NetworkManager

echo 'Setup Complete!'
exit

当たったら

arch-chroot /mnt 

実行が停止しました!スクリプトでできますか?または、スクリプトを2つに分割し、残りのコマンドを使用して2番目のスクリプトを実行する必要がありますかchroot

答え1

提案通りビスワフリー、スクリプトをscript1との2つの部分に分けました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 

これらの2つのライブUSBを使用してsh script1最初に入力し、メッセージが表示されたら、ルートパスワード、ユーザー名、およびユーザーパスワードを設定し、最後にを入力しますreboot

これで5分でArchをインストールできます!

答え2

私が設定するために使用したスクリプトは次のとおりです。アーチLinux仮想マシンの場合

ディスクのデフォルト名(sda対vda)を変更して、Archiso、qemu-kvm、およびvirtualboxのインストールでこのスクリプトを実行しました。

あなたがそれを把握するのを助けます:

  • 安全装置としてbashに、エラーが発生したときにスクリプトを終了するように指示します(set -e)。
  • パーティションテーブルの作成フロッピーディスク、IBM-DOSパーティション表の下のパーティション
  • パーティションをフォーマットして/mnt/ディレクトリにマウントします。
  • パックマンリポジトリの更新
  • /mnt/ 以下に pacstrap を使用して Archlinux ライブラリをインストールします。
  • fstabの生成
  • grub.shを準備します。このファイルは、Archrootにgrub(レガシーバージョン)をインストールして設定します。また、スワップとして使用するスワップファイルを作成しました。
  • Rootを/mnt/に変更し、grub.shファイルを実行します。
  • 再起動

利点:

  • すごく簡単で速い
  • sfdisk(oneline) を使用してパーティションテーブルを準備します。
  • grub.shを使用して、Arch-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

役に立つと思います。

関連情報