Tim's Web Home

Archlinux installation on the T website

Archlinux installation:

本文记录于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.
    
  • 使用LVM2
      #创建物理卷(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
    
  • 激活swap分区
      root # swapon /dev/mapper/archlinux-swap
    
  • 以下是使用 btrfs 文件系统的部分记录
      #格式化
      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
      继续安装系统
    
  • 在mkinitcpio.conf中加入lvm的钩子扩展(hook)
      #如果根文件系统基于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
    
  • 用命令生成 fstab 文件
      #用 -U 或 -L 选项设置UUID 或卷标,在执行完命令后检查一下生成的 /mnt/etc/fstab 文件是否正确
      root # genfstab -U /mnt >> /mnt/etc/fstab
    
  • Change root 到新安装的系统
      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
    
  • Initramfs
      #修改 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 密码
      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
    
  • 安装zsh
      root # pacman -S zsh
      #配置命令补全和历史记录等
      root # nano ~/.zshrc
    
  • 设置sudo
      root # visudo
      #设置这一行,取消注释: %wheel ALL=(ALL) ALL
      #安装命令补全
      root # pacman -S bash-completion zsh-completions
    
  • 安装ssh
      root # pacman -S openssh
      root # systemctl enable sshd
    
  • 安装XXX
      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!



T站勉强运行341天2时0分18秒
多伦多时间:2024-05-20 Monday 00:33:33 AM