できる!ArchLinuxでゼロから始めるGUI環境構築!!

スピーカー:barson
サポーター:参加されたみなさん

仮想マシンの作成

タイプ: Linux バージョン: Arch Linux (64bit) メモリー: 1024MB 仮想ハードディスク: 30GB(固定) ディスクイメージ:archlinux-2021.04.01-x86_64.iso  ``

※VirturlBoxのメニューの[設定]→`[システム]内の[マザーボード]タブにある[EFIを有効にする]のチェックを付ける。

※わかる人向け情報 VHDを作るときにArch Linux(32-bit)を選ぶとx86_64版  ではなくi386版  を入れる羽目になります。(ご注意ください。) 尚、今回はx86_64版を使用するのでArch Linux(64-bit)でVHDを作成してください。

基本設定

キーボードレイアウトをJISに変更

# loadkeys jp106

見やすいようにフォントをlat9w-16に変更

# setfont lat9w-16

ディスクパーテーションの作成

# gdisk /dev/sda GPT fdisk (gdisk) version 0.8.6 Command (? for help): o  (oで、新しいパーティションテーブルを作る) This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): y (yで進む) Command (? for help): n (nで、新しいパーティションを作る) Partition number : 1 First sector: (デフォルトで2048から始まるようになっているので、何も入力せずにエンター) Last sector: +1G (推奨値は+512MB) Hex code or GUID: EF00  (UEFI System partition用のパーティションなのでef00にする) Command (? for help): n Partition number: 2 First sector: (何も入力せずエンター) Last sector: +2G (RAM容量の2倍がよい) Hex code or GUID: 8200 (swap用は8200) Command (? for help): n Partition number: 3 First sector: (何も入力せずエンター) Last sector: +10G Hex code or GUID: (何も入力せずエンター、デフォルトが8300) Command (? for help): n Partition number: 4 First sector: (何も入力せずエンター) Last sector: (何も入力せずエンターで、残りの領域すべてを使用) Hex code or GUID: (何も入力せずエンター) Command (? for help): w (wで、書き込みに移る)

ディスクのフォーマット

# mkfs.fat -F32 /dev/sda1 # mkfs.ext4 /dev/sda3 # mkfs.ext4 /dev/sda4

swap領域の作成

# mkswap /dev/sda2 # swapon /dev/sda2

ディスクのマウント

# mount /dev/sda3 /mnt # mkdir -p /mnt/boot # mkdir -p /mnt/home # mount /dev/sda1 /mnt/boot # mount /dev/sda4 /mnt/home

ミラーサイトの選択

/etc/pacman.d/mirrorlist 内の日本サーバを一番上に持ってくる

# nano /etc/pacman.d/mirrorlist

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

# pacman -Syy # pacstrap /mnt linux linux-firmware base base-devel

fstabの生成

# genfstab -U -p /mnt >> /mnt/etc/fstab # cat /mnt/etc/fstab

Chrootとベースシステムの設定

Chrootとは
ルートディレクトリ( / )の場所を変更する役割を持つ

/mntにchrootする

# arch-chroot /mnt /bin/bash

地域(ロケール)の設定

/etc/locale.genを編集

en_US.UTF-8 UTF-8 ←#を削除(アンコメント) #en_US ISO-8859-1 #ja_JP.EUC-JP EUC-JP ja_JP.UTF-8 UTF-8 ←#を削除(アンコメント)

localeを生成

# locale-gen

locale.confを作成 

# echo LANG=en_US.UTF-8 > /etc/locale.conf # export LANG=en_US.UTF-8

コンソールフォントとキーマップの設定

/etc/vconsole.confを作成

KEYMAP=jp106 FONT=lat9w-16

タイムゾーンとハードウェアクロックの設定

# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime # hwclock --systohc --utc

ホスト名の設定

# echo 任意のホストネーム > /etc/hostname

/etc/hostsにもホストネームを追加する。

#<ip-address>  <hostname .domain.org="">  <hostname> 127.0.0.1    localhost.localdomain     localhost [ホスト名] ::1       localhost.localdomain     localhost [ホスト名]

ネットワークの有効化

# systemctl enable dhcpcd.service

(ここでは #systemctl start dhcpcd.service は要らない)

rootパスワードの設定

# passwd

GRUB(ブートローダ(のインストール

# pacman -S grub efibootmgr dosfstools # grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck # grub-mkconfig -o /boot/grub/grub.cfg # mkdir -p /boot/EFI/boot # cp /boot/EFI/arch_grub/grubx64.efi /boot/EFI/boot/bootx64.efi

※Intel製CPUの場合は以下の追加パッケージが必要。

# pacman -S intel-ucode

ユーザーの作成

# useradd -m [ユーザ名] # passwd [ユーザ名]

ユーザーディレクトリの変更(※おそらく不要)

# usermod -d /home/[ユーザ名] [ユーザ名]

chrootから抜ける

# exit

再起動

# reboot

※インストールディスクから起動してしまう場合は光学ディスクを取り外しVMの電源オフ、EFIモードを有効にしてVMを再起動

Openssh のインストール・自動起動設定

# pacman -S openssh # systemctl start sshd.service # systemctl enable sshd.service

OSの設定

sudo の設定

VirtualBox Guest Additionsのインストール

# sudo pacman -S virtualbox-guest-utils Enter a number (default=1): 2

VirtualBoxカーネルモジュールのロード

# modprobe -a vboxguest vboxsf vboxvideo # nano /etc/modules-load.d/virtualbox.conf

/etc/modules-load.d/virtualbox.confを作成

vboxguest vboxsf vboxvideo

GUI環境の構築

Xサ ーバーの基本部分をインストールする

# pacman -S xorg-server xorg-apps xorg-xinit # pacman -S mesa

X11のキーボードレイアウト設定

nano /etc/X11/xorg.conf.d/10-keyboard.confを作成

Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbLayout" "jp" EndSection

※Hyper-Vの場合は以下もインストール

# pacman -S xf86-video-fbdev

Xサーバのテスト

# pacman -S xorg-twm xorg-xclock xterm # startx

Xfce4(デスクトップ環境)のインストール

# pacman -S xfce4 # startxfce4

LightDM(ディスプレイマネージャー(ログイン画面))の導入

# pacman -S lightdm lightdm-gtk-greeter # systemctl enable lightdm.service

※LightDMは自動でデスクトップ環境を認識する。

再起動と動作確認

日本語フォントのインストール

# pacman -S otf-ipafont

システムの日本語化

/etc/locale.conf を下記のように書き換える

LANG=ja_JP.UTF8 LC_NUMERIC=ja_JP.UTF8 LC_TIME=ja_JP.UTF8 LC_MONETARY=ja_JP.UTF8 LC_PAPER=ja_JP.UTF8 LC_MEASUREMENT=ja_JP.UTF8
  • AUR(Arch User Repository)という非公式リポジトリからパッケージを持ってこれるようにするpacmanの代替パッケージ -- yaourt(ヨーグルト)のインストール Discontinueになりました。 -- yayのインストール
# pacman -S base-devel git go

gitからcloneしてmakeする

# git clone https://aur.archlinux.org/yay.git # cd yay # makepkg -si
  • 起こった障害
    • [xorg-server-Utils]のパッケージが存在しない

      • [xorg-apps]にパッケージが変更されていた.
    • [lightdm-gtk2-greeter]のパッケージが存在しない

      • [lightdm-gtk-greeter]が使用できた、
    • 一般ユーザでlightdmログオンできない!

      • ホームディレクトリが存在し、所有者が本人か確認
        (ユーザー名:testの場合) # grep test /etc/passwd test:x:1000:1000::/home/test:/bin/bash # ls -l /home ... drwxr-xr-x 7 test test 4096 Xxx XX XX:XX test ...