本文记录于2018年,2019年进行过部分更新。请不要按此文步骤安装, 安装Archlinux请直接查阅官方网站WIKI关于安装的部分。
root # ping -c 3 archlinux.org
root # timedatectl set-ntp true
#使用parted查看当前分区布局
root # parted -a optimal /dev/sda
(parted)print
#使用parted移除全部分区
(parted)rm n
#设置GPT标签
(parted)mklabel gpt
#创建分区,首先,要告诉parted我们工作要使用的容量单位是megabytes
(parted)unit mib
#创建一个128MB的分区,它后面将被GRUB2引导器使用
(parted)mkpart primary 1 129
(parted)name 1 grub
(parted)set 1 bios_grub on
(parted)print
#创建引导分区(2GB),和根分区
(parted)mkpart primary 129 2177
(parted)name 2 boot
(parted)mkpart primary 2177 -3
#将引导分区标识为EFI系统分区
(parted)set 2 boot on
#使用 quit 命令退出parted.
#创建物理卷(PV)
root # pvcreate /dev/sda3
root # pvcreate /dev/sdb
#查看已创建好的物理卷
root # pvdisplay
#创建卷组(VG)
root # vgcreate archlinux /dev/sda3 /dev/sdb
#查看卷组
root # vgdisplay
#创建逻辑卷(LV)
root # lvcreate -L 30G archlinux -n root
root # lvcreate -L 13G archlinux -n home
root # lvcreate -l +100%FREE archlinux -n swap
#查看逻辑卷
root # lvdisplay
root # mkfs.vfat /dev/sda2
root # mkfs.xfs -L ROOT /dev/mapper/archlinux-root
root # mkfs.xfs -L HOME /dev/mapper/archlinux-home
root # mkswap -L SWAP /dev/mapper/archlinux-swap
root # fatlabel /dev/sda2 EFI
#查看卷标
root # blkid -s LABEL
root # mount /dev/mapper/archlinux-root /mnt
root # mkdir -p /mnt/boot/efi
root # mkdir /mnt/home
root # mount /dev/sda2 /mnt/boot/efi
root # mount /dev/mapper/archlinux-home /mnt/home
root # swapon /dev/mapper/archlinux-swap
#格式化
root # mkfs.btrfs -L btrfs-arch /dev/sda1
#查看btrfs文件系统
root # btrfs filesystem show
#挂载
root # mount -o compress=lzo /dev/sda1 /mnt
#创建subvolume
root # btrfs subvolume create /mnt/@
root # btrfs subvolume create /mnt/@home
root # btrfs subvolume create /mnt/@boot
root # btrfs subvolume create /mnt/@archlinux
root # btrfs subvolume create /mnt/@gentoo
root # btrfs subvolume create /mnt/@swap
root # btrfs subvolume create /mnt/@snapshots
#挂载subvolume,先 umount
root # umount /mnt
root # mount -o noatime,nodiratime,compress=lzo,subvol=@archlinux /dev/sda1 /mnt
root # mkdir -p /mnt/{btrfs-root,boot,home,.swap,.snapshots}
root # mount -o noatime,nodiratime,compress=lzo,subvol=@home /dev/sda1 /mnt/home
root # mount -o noatime,nodiratime,compress=lzo,subvol=@boot /dev/sda1 /mnt/boot
root # mount -o subvol=@swap /dev/sda1 /mnt/.swap
root # mount -o noatime,nodiratime,compress=lzo,subvol=@snapshots /dev/sda1 /mnt/.snapshots
root # mount -o noatime,nodiratime,compress=lzo,subvol=/ /dev/sda1 /mnt/btrfs-root
继续安装系统
#如果根文件系统基于LVM,需要保证udev和lvm2这两个mkinitcpio的钩子扩展被启用。udev默认已经预设好,不必手动启用了。只需要编辑/etc/mkinitcpio.conf文件,在block与filesystem这两项中间插入lvm2
root # vim /etc/mkinitcpio.conf
file /etc/mkinitcpio.conf
#部分增加
HOOKS=(base udev ... block lvm2 filesystems)
root # cd /etc/pacman.d
#查看中国大陆的镜像服务器:
root # grep -A 1 'China' /etc/pacman.d/mirrorlist
#选择所有的中国大陆的镜像服务器:
root # sed -i '/China/!{n;/Server/s/^/#/};t;n' /etc/pacman.d/mirrorlist
#更新源:
root # pacman -Syy
#测试加拿大源的速度并进行排序,写入mirrorlist
root # reflector --verbose --country 'Canada' -l 600 -p http --sort rate --save /etc/pacman.d/mirrorlist
#第一个 initramfs 会在新系统的启动路径生成和安装,请确保看到 ==> Image generation successful
root # pacstrap -i /mnt base base-devel
#用 -U 或 -L 选项设置UUID 或卷标,在执行完命令后检查一下生成的 /mnt/etc/fstab 文件是否正确
root # genfstab -U /mnt >> /mnt/etc/fstab
root # arch-chroot /mnt
root # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
root # hwclock --systohc
root # nano /etc/locale.gen
#接着执行locale-gen以生成locale讯息:
root # locale-gen
#创建 locale.conf 并提交您的本地化选项:
root # echo LANG=en_US.UTF-8 > /etc/locale.conf
file /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
root # echo archlinux.tim > /etc/hostname
#添加对应的信息到hosts
root # nano /etc/hosts
file /etc/hosts
127.0.0.1 localhost.localdomain archlinux.tim localhost
::1 localhost.localdomain archlinux.tim localhost
root # systemctl enable dhcpcd
root # pacman -S net-tools
#修改 mkinitcpio.conf,并用命令创建一个初始 RAM disk:
root # nano /etc/mkinitcpio.conf
root # mkinitcpio -p linux
file /etc/mkinitcpio.conf
#部分增加
HOOKS=(base udev ... block lvm2 filesystems)
# btrfs 设置如下
MODULES=(btrfs)
HOOKS=(base udev autodetect modconf block filesystems keyboard btrfs)
root # passwd
root # pacman -S grub dosfstools efibootmgr
root # grub-install --target=x86_64-efi --efi-directory=/boot/efi
root # grub-mkconfig -o /boot/grub/grub.cfg
root # exit
root # cd
root # umount -R /mnt
root # reboot
root # useradd -m -g users -G wheel,video,audio -s /bin/zsh tim
root # passwd tim
root # pacman -S zsh
#配置命令补全和历史记录等
root # nano ~/.zshrc
root # visudo
#设置这一行,取消注释: %wheel ALL=(ALL) ALL
#安装命令补全
root # pacman -S bash-completion zsh-completions
root # pacman -S openssh
root # systemctl enable sshd
root # pacman -S cronie mlocate parted
#更新 mlocate 数据库
root # updatedb
root # pacman -S wqy-zenhei
#更新字体
root # fc-cache -fv
root # pacman -S linux-headers
#打开/etc/pacman.conf,将multilib两行取消注释
#添加CN软件源至 /etc/pacman.conf ,然后更新
root # pacman -S archlinuxcn-keyring
root # pacman -Syy
file /etc/pacman.conf
[multilib]
Include = /etc/pacman.d/mirrorlist
[archlinuxcn]
#The Chinese Arch Linux communities packages.
#要让archlinuxcn生效,需要安装archlinuxcn-keyring: pacman -S archlinuxcn-keyring
SigLevel = Optional TrustedOnly
Server = http://repo.archlinuxcn.org/$arch
本文作者是一位开源理念的坚定支持者,所以本文内容遵照开源的精神发布。
无担保:本文作者不保证此文内容准确无误,亦不承担任何由于使用此文档所导致的损失。
自由使用:任何人都可以自由的阅读/链接/打印此文档,无需任何附加条件。
名誉权:任何人都可以自由的转载/引用/再创作此文档,但必须保留作者署名并注明出处。
其他作品
本文作者十分愿意与他人分享劳动成果,如果你对我的其他作品有兴趣,可以在如下位置查看现有的作品集:
Tim 作品集 [ https://tiimmm.com/ ]
联系方式
由于作者水平有限,因此不能保证此文内容准确无误。如果你发现了此文中的错误(哪怕是错别字也好),请来信指出,任何提高此文质量的建议我都将虚心接纳。
Email: tiimmm dot chen at gmail dot com
网站制作者:Author:tiimmm dot chen at gmail dot com, Welcome to email for discussion!