アーチをインストールする手間を省くために、共通命令をすべてファイルに少し修正して入れて、#!/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
役に立つと思います。