Arch Linuxインストールメモ (archlinux-2012.07.15)
######################################################################
※2013/2/15追記
archlinux-2013.02.01のインストール手順をこちらに書きました。
Arch Linuxインストールメモ (archlinux-2013.02.01)
http://extrea.hatenablog.com/entry/2013/02/15/123721
######################################################################
以下、旧文
本バージョンよりAIFが無くなりインストール手順がますます難解になったので、メモとしてまとめてみる。
※AIF(Arch Installation Framework/いわゆるインストーラー)
・前提
ISO: archlinux-2012.07.15-netinstall-dual.iso
(Linux Kernel 3.4.4)
・メディアからのブート
上記イメージよりブート。
今回は64bit版を選択する。
ブート完了後、インストール用のライブOSが起動したところ。
(rootでログインした状態)
事前準備として、まずは日本語キーボードを使えるようにする。
# loadkeys jp106
・インストール準備
[ Network ]
手動設定を行う。
(DHCP環境なら起動時点で、ネットワークがつかえるはず)
# ifconfig eth0 up # ifconfig eth0 netmask 255.255.255.0 10.0.18.204 # route add default gw 10.0.18.254 metric 1 # vi /etc/resolv.conf # cat /etc/resolv.conf ### Google Public DNS nameserver 8.8.8.8 nameserver 8.8.4.4 # ping google.com PING google.com (173.194.38.78) 56(84) bytes of data. 64 bytes from nrt19s17-in-f14.1e100.net (173.194.38.78): icmp_req=1 ttl=46 time=17.2 ms 64 bytes from nrt19s17-in-f14.1e100.net (173.194.38.78): icmp_req=2 ttl=46 time=21.9 ms 64 bytes from nrt19s17-in-f14.1e100.net (173.194.38.78): icmp_req=3 ttl=46 time=14.0 ms ^C --- google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 14.006/17.750/21.997/3.285 ms
ついでに、リモートから作業できるようにsshdを起動する。
# passwd # rootユーザのパスワードを設定 # /etc/rc.d/sshd start
[ Disk Partition ]
ディスクパーティションの設定。
本環境では、/dev/sdaをインストール先HDDとして使用する。
Disk Size: 15GB
device | mountpoint | size |
---|---|---|
/dev/sda1 | /boot | 100MB |
/dev/sda2 | swap | 512MB |
/dev/sda3 | /var | 5000MB |
/dev/sda4 | / | 残り全て |
# fdisk /dev/sda # fdisk -l /dev/sda Disk /dev/sda: 16.1 GB, 16106127360 bytes 255 heads, 63 sectors/track, 1958 cylinders, total 31457280 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xbd047ddc Device Boot Start End Blocks Id System /dev/sda1 * 2048 206847 102400 83 Linux /dev/sda2 206848 1255423 524288 82 Linux swap / Solaris /dev/sda3 1255424 11741183 5242880 83 Linux /dev/sda4 11741184 31457279 9858048 83 Linux
※bootパーティションへbootフラグの付与を忘れない事
※fdiskの使い方は このあたりを参照の事。
[ Format ]
/(root),/varパーティションは、ext4でフォーマットする。
/bootパーティションは無難にext2がいいかな。
(Grub version0.97ってpatchを当てない限り、標準ではext4未対応のハズ)
# grub --version grub (GNU GRUB 0.97) # # mkfs.ext2 /dev/sda1 # mkfs.ext4 /dev/sda3 # mkfs.ext4 /dev/sda4 #
[ Mount ]
先ほど作成した/dev/sdaの各パーティションを、ライブOSの/mnt配下にマウント。
# mount /dev/sda4 /mnt # rootパーティションのマウント # mkdir -p /mnt/{boot,var} # /boot,/var用マウントポイント作成 # mount /dev/sda1 /mnt/boot # /bootパーティション # mount /dev/sda3 /mnt/var # /varパーティション # df -hT Filesystem Type Size Used Avail Use% Mounted on rootfs rootfs 673M 330M 343M 50% / dev devtmpfs 114M 0 114M 0% /dev run tmpfs 122M 21M 101M 18% /run /dev/sr0 iso9660 370M 370M 0 100% /run/archiso/bootmnt cowspace tmpfs 183M 19M 165M 11% /run/archiso/cowspace /dev/loop0 squashfs 97M 97M 0 100% /run/archiso/sfs/root-image /dev/mapper/arch_root-image ext4 673M 330M 343M 50% / /dev/loop3 squashfs 35M 35M 0 100% /run/archiso/sfs/lib-modules /dev/mapper/arch_lib-modules ext4 93M 42M 51M 46% /usr/lib/modules /dev/loop6 squashfs 55M 55M 0 100% /run/archiso/sfs/usr-share /dev/mapper/arch_usr-share ext4 415M 168M 247M 41% /usr/share shm tmpfs 122M 0 122M 0% /dev/shm tmpfs tmpfs 122M 0 122M 0% /tmp /dev/sda4 ext4 9.4G 270M 8.7G 3% /mnt /dev/sda1 ext2 96M 14K 91M 1% /mnt/boot /dev/sda3 ext4 5.0G 203M 4.6G 5% /mnt/var
・システムのインストール
[ mirrorlist ]
一番近いミラー先を使用できるように、リストの先頭に
Score値0.1にて、日本のレポジトリを追記。
# cp -p /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.org # vi /etc/pacman.d/mirrorlist # diff -wb /etc/pacman.d/mirrorlist.org /etc/pacman.d/mirrorlist 6a7,8 > ## Score: 0.1, Japan > Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
[ System Install ]
pacstrapスクリプトにて必要なパッケージグループを指定し、インストールを行う。
今回はGUI不要の為、基本的なパッケージグループのみ選択。
- base
- base-devel
# pacstrap /mnt base base-devel ==> Creating install root at /mnt ==> Installing packages to /mnt warning: database file for 'core' does not exist warning: database file for 'extra' does not exist warning: database file for 'community' does not exist :: Synchronizing package databases... core 107.7 KiB 962K/s 00:00 [######################################] 100% extra 1408.3 KiB 2.12M/s 00:01 [######################################] 100% community 1766.5 KiB 1532K/s 00:01 [######################################] 100% ~ 中略 ~ % (130/132) installing make [######################################] 100% (131/132) installing patch [######################################] 100% Optional dependencies for patch ed: Interpret the patch as an ed script; for patch -e functionality(deprecated) (132/132) installing pkg-config [######################################] 100% #
[ Bootloader ]
Bootloaderは以下より選択する。
- grub-bios
- grub-efi-x86_64
- syslinux
# pacstrap /mnt grub-bios #
・システム設定
[ fstab ]
# genfstab -p /mnt >> /mnt/etc/fstab #
[ chroot ]
以降は、新規インストールしたシステムにchrootして作業する。
# arch-chroot /mnt #
[ Hostname ]
適宜設定。
# echo "arch03.localdomain" >> /etc/hostname #
[ Timezone ]
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime #
[ Locale ]
# echo "LANG=ja_JP.UTF-8" >> /etc/locale.conf # # cp -p /etc/locale.gen /etc/locale.gen.org # vi /etc/locale.gen # diff -wb /etc/locale.gen.org /etc/locale.gen 278c278 < #ja_JP.UTF-8 UTF-8 --- > ja_JP.UTF-8 UTF-8 # # locale-gen Generating locales... ja_JP.UTF-8... done Generation complete.
[ ram image ]
# mkinitcpio -p linux #
[ grub install ]
# grub-install --target=i386-pc --boot-directory=/boot --recheck --debug /dev/sda # grub-mkconfig -o /boot/grub/grub.cfg #
[ root passwort]
rootユーザーのパスワードを設定。
# passwd Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
・swapの設定
# fdisk -l # mkswap /dev/sda2 # swapon /dev/sda2 # swapon -s # # echo "/dev/sda2 swap swap defaults 0 0" >> /etc/fstab #
・再起動
chroot環境より抜けインストール用ディレクトリをunmount後、システム再起動。
# exit # umount /mnt/{boot,var,} # reboot #
・初期設定
このままだとネットワーク系の基本コマンドすら使えないので、必要最低限のパッケージを追加する。
[ resolver ]
# echo "nameserver 8.8.8.8" >> /etc/resolv.conf # echo "nameserver 8.8.4.4" >> /etc/resolv.conf #
[ network ]
ISOブート時と同じく、DHCP環境なら設定不要。
手動の場合は以下のファイルを編集する。
[ rc.conf ]
# cp -p /etc/rc.conf /etc/rc.conf.org # vi /etc/rc.conf # diff -wb /etc/rc.conf.org /etc/rc.conf 9,12c9,12 < HARDWARECLOCK= < TIMEZONE= < KEYMAP= < CONSOLEFONT= --- > HARDWARECLOCK="UTC" > TIMEZONE="Asia/Tokyo" > KEYMAP="jp106" > CONSOLEFONT="161" 27c27 < HOSTNAME= --- > HOSTNAME="arch03.localdomain" 29,33c29,33 < interface= < address= < netmask= < broadcast= < gateway= --- > interface=eth0 > address=10.0.18.206 > netmask=255.255.255.0 > broadcast=10.0.18.255 > gateway=10.0.18.254 40c40 < DAEMONS=(syslog-ng network crond) --- > DAEMONS=(syslog-ng network sshd crond sysstat)
[ package ]
個人的に最低限必要だと思うパッケージは以下の通り
# pacman -Sy dnsutils \ iana-etc \ inetutils \ iproute2 \ iptables \ kbd \ mlocate \ net-tools \ netcfg \ openssh \ openssl \ pam \ tzdata\ sysstat #
・Yaourtのインストール
AURを使用する場合。公式パッケージ(pacman)で事足りる場合は特に不要。
# pacman -Sy base-devel # pacman -Sy diffutils gettext yajl curl # # cd /usr/local/src # wget https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz # tar xvzf package-query.tar.gz # # cd package-query # makepkg --asroot ; echo $? # pacman -U package-query-1.0.1-1-i686.pkg.tar.xz # # cd ../ # wget https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz # tar xvzf yaourt.tar.gz # # cd yaourt # makepkg --asroot ; echo $? # pacman -U yaourt-1.1-1-any.pkg.tar.xz #
以上
・参照
https://wiki.archlinux.org/index.php/Arch_Install_Scripts
https://wiki.archlinux.org/index.php/GRUB2
https://wiki.archlinux.org/index.php/Yaourt