Arch LinuxのライブCDからAlter Linuxをインストールしよう

Shell Script

こんにちは、山田ハヤオです。題名のとおりです。

「おとなしくCalamaresを使え」という罵声は聞こえないふりをします。

まぁ言っちゃえばアホです。バカなのは理解してます。

一瞬だけQiitaにこの内容を投稿したんですが誰も見てないですよね()

スポンサーリンク

前書きと前提

Arch Linux構築の基礎は理解してる前提で話を進めていきます。
今回はAlter Linux x86_64 Xfce-JPをArch Linuxから手動でインストールします。
BIOS+MBR+64bitの環境で行います。シングルブートです。

インストールディスクの作成・起動

Arch Linuxの起動ディスクを作成して下さい。(これがこの記事の趣旨です)
まぁどうせ後からAlter Linuxのディスクをダウンロードするんですけどね()

USBに焼き終わったらUSBからブートしてください。

インストール作業

面倒なので以下のことは割愛します。
わからない人は適当にArchのインストール工程を参照して下さい。

Archのインストール工程はこちらにまとまっていますのでぜひ()

  1. キーボードレイアウトの設定
  2. インターネット接続
  3. 時間設定
  4. パーティショニング
  5. マウント

今回はインストール先を/dev/sda1でスワップは/dev/sda2でいきます。

マウント

mkdir -p /mnt/install_disk
mount /dev/sda1 /mnt/install_disk

Arch Linuxのリポジトリサーバーを設定

sed -i s/#Server/Server/g /etc/pacman.d/mirrorlist
pacman -Syy

今回はpacmanは数個のパッケージしか入れないので適当なミラーで大丈夫です。

ベースシステムのインストール

普通はここでpacstrapをするのでしょうが。面倒なのでやりません。
マウントしたディスクにAlter Linuxをダウンロードしてrootfsを取り出し、展開させます。

# ダウンロード
curl -o "/mnt/install_disk/alterlinux.iso" "https://山d.com/storage/alter/release-candidate/20Q1.4.0-RC1/alterlinux-xfce-jp-2020.08.10-x86_64.iso"
# ISOマウント用のパッケージをインストール
pacman -S fuseiso
# マウント
mkdir -p /mnt/alterlinux/
fuseiso "/mnt/install_disk/alterlinux.iso" /mnt/alterlinux/
# rootfs展開用のパッケージをインストール
pacman -S squashfs-tools 
# rootfsを展開
cp /mnt/alterlinux/alter/x86_64/airootfs.sfs /mnt/install_disk/
cd /mnt/install_disk
unsquashfs airootfs.sfs
mv squashfs-root/* ./
rm -f airootfs.sfs

unsquashfsで時間がかかりますが気長に待ちましょう。

fstabの作成

/etc/fstabはマウントに関する設定が記述されています。

genfstab -U /mnt/install_disk >> /mnt/install_disk/etc/fstab

システムの設定

インストール完了後、chrootしてシステムに入り、設定を行っていきます。

arch-chroot /mnt/install_disk

さっきと一緒で以下のものは割愛します。

Archのインストール工程は(ry

  1. ロケールの設定(日本語で設定してね)
  2. コンソールの設定(フォントとキーボードレイアウト)
  3. タイムゾーンとハードウェアクロックの設定
  4. ホスト名の設定
  5. rootパスワードの設定

鍵のインポート

pacman-key --init
pacman-key --populate archlinux
pacman-key --populate alterlinux

ライブ環境のユーザーを削除

Alter LinuxのISOにはデフォルトでalterという名前のユーザーが作成されています。
これはCalamaresで自動で削除されますが、今回はインストーラを使用しないので手動で削除します。

userdel -r alter

ライブCD用の設定を削除する

たぶんここが一番特殊な工程です。ライブ環境用に最適化されていた設定を削除します。
この工程を実行しないとセキュリティ上大変危険です。

rm -rf /etc/skel/Desktop
rm -rf /etc/skel/.config/gtk-3.0/bookmarks
rm -rf /root/Desktop/calamares.desktop
rm -rf /usr/share/calamares/
rm -rf /etc/polkit-1/rules.d/01-nopasswork.rules
rm -rf /etc/systemd/system/getty@tty1.service.d/autologin.conf
rm -rf /etc/sudoers.d/alterlive
rm -rf /root/.automated_script.sh
rm -rf /etc/mkinitcpio-archiso.conf
rm -rf /etc/initcpio
rm -rf /etc/udev/rules.d/81-dhcpcd.rules
rm -rf /etc/systemd/system/{choose-mirror.service,getty@tty1.service.d}
sed -i 's/Storage=volatile/#Storage=auto/' /etc/systemd/journald.conf

一般ユーザーの作成

fugaはそれぞれのユーザ名で置き換えてください。

groupadd fuga
useradd -m -g fuga -s /bin/zsh fuga
passwd fuga
usermod -G sudo fuga

Alter Linuxでは既にsudoの設定が済んでいるのでsudoグループに所属させるだけで設定が完了します。

ブートローダーの設定

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

これでインストール作業は終わりです。

システムから出て再起動する

chrootから抜け出していろろなマウントを解除し、再起動して完了です。

無事にAlter Linuxが起動したらインストール完了です。

パッケージの更新

sudo pacman -Syu

最後に

今回はAlter Linuxを手動で構築してみました。ライブ環境用の特殊な設定さえ削除できてしまえば難しい部分は無いはずです。
最後まで読んでいただきありがとうございました。
アーキテクチャ名や一部を書き換えればそのままxfce-jp-x86_64以外にもできるはずです。

最後に私のTwitterをフォローしてくれると私が喜びます。

おまけ

一瞬だけ投稿したQiitaの記事を見たわたすけのツイートを載せておきます。

コメント

タイトルとURLをコピーしました