頭弱いがPCの勉強する

正真正銘のPC初心者。勉強ノートのつもり。
ITなんてトンチンカン、だから書くことやること全部適当。

ArchLinuxをインストールするシェルスクリプト

2018-04-08 00:05:24 | Linuxの勉強

新たなPCが二つ手に入ったんでArchLinuxをインストールをインストールしました。 コマンド操作もだいぶ慣れてきたんで初期に比べるとずいぶん早くインストールすることができるようになりましたが、 それでも手間が掛かることには間違いないです。 なので今回はシェルスクリプトの勉強も兼ねて、ArchLinuxを自動でインストールするシェルスクリプトを組んでみました。

 


#!/bin/bash

## パーティション分け(/とswapのみ)
parted -s -a optimal /dev/sda -- mklabel msdos mkpart primary  2048s 終了セクタ set 1 boot on
parted -s -a optimal /dev/sda -- mkpart primary 開始セクタ 終了セクタ set 2

## フォーマット
mkfs.ext4 -j /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
mount /dev/sda1 /mnt

## baseとbase-develのインストール(初めてで良い書き方がわからなかったので強引な方法でしか書けませんでした)
A=`grep -e "jpn" -n /etc/pacman.d/mirrorlist|sed -e 's/:.*//g'`
B=`sed -n "$A"p /etc/pacman.d/mirrorlist`
cat /etc/pacman.d/mirrorlist > /etc/pacman.d/mirrorlist2
echo $B > /etc/pacman.d/mirrorlist
cat /etc/pacman.d/mirrorlist2 >> /etc/pacman.d/mirrorlist
pacstrap /mnt base base-devel

##  localeの設定
genfstab -U -p /mnt >> /mnt/etc/fstab
P="arch-chroot /mnt"
echo en_US.UTF-8 UTF-8 > /mnt/etc/locale.gen
echo ja_JP.UTF-8 UTF-8 >> /mnt/etc/locale.gen
$P localegen
$P ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$P hwclock --systohc --utc

##その他
$P echo T20 > /etc/hostname
$P systemctl enable dhcpcd.service
$P pacman -Sy
$P pacman -Sy --noconfirm intel-ucode
$P pacman -Sy --noconfirm grub
$P grub-install --target=i386-pc --recheck /dev/sda
$P grub-mkconfig -o /boot/grub/grub.cfg
exit
umount -R /mnt
reboot


 

最初は普通にインストールするときと同じようにchrootでbashを起動する記述にしていたんですが、

そうすると途中で動作が途切れてしまうため調べてみて他の人のものを参考にさせていただきました。

初めて長めのシェルスクリプトを書いた気がしますが、条件分岐とかは入れてないので初心者の私でも結構書きやすかったと思います。

なんだかんだ言って一番手こずったのが改行コードですかね、trコマンドの書式が間違っていたのか中身が全部消えることが2回ほどあって心が一瞬折れかけましたがなんとかなりました。

次はGUI導入とか日本語化とかもスクリプトで組んでみたいですね。


最新の画像もっと見る

コメントを投稿