日常使用deepin一年多,开箱即用,而且中国特色化做得很好。然而,在用的过程中总觉得缺点啥。于是我又开始了新一轮的尝试。 ArchLinux,简洁、海量包、滚动发行。不过,最让我印象深刻的是它全面的wiki,尽管汉化wiki跟不上进度。最新的软件包,使得我更新和安装软件很便利。

系统安装

下载安装镜像

http://mirrors.163.com/archlinux/iso/latest/

直接引导iso镜像文件

说明:已有一个装好grub4dos的FbinstTool-UD 多用途usb启动盘

  1. 提取archiso.imgvmlinuz 解压iso镜像,获取/arch/boot/x86_64/路径下的两个文件
  2. 分别复制以上两个文件以及整个iso镜像到u盘内,并编辑U盘的grub4dos引导,注意实际路径
    1
    2
    3
    4
    
    title install archlinux
    kernel /Boot/installer/archlinux/vmlinuz  archisolabel=ARCH
    initrd /Boot/installer/archlinux/archiso.img
    boot
    

注意arhcisolabel=ARCH 3. 从u盘启动,并选中install archlinux引导项 此时会出现错误:

1
2
Waiting 30 second for device /dev/disk/by_label/...
Error : /dev/disk/by_label/... did not show up after 30 seconds.
  1. 手动挂载iso镜像
    • 挂载usb设备(注意实际设备名)
      1
      
      mkdir /usb && mount /dev/sdb1 /usb
      
    • 挂载iso镜像(注意文件名)
      1
      
      losetup /dev/loop0 /usb/archlinux-2018.03.01-x86_64.iso
      
    • 创建软链(与archisolabel有关)
      1
      
      ln -s /dev/disk/by-label/ARCH_201803 /dev/disk/by-label/ARCH
      
    • 恢复引导(退出rootfs命令行即可)
      1
      
      exit
      

安装过程

预配置

  1. 修改镜像源,把以下内容添加到/etc/pacman.d/mirrorlist第一行
    1
    
    Server = http://mirrors.163.com/archlinux/$repo/os/$arch
    
  2. 更新系统时间
    1
    
    timedatectl set-ntp true
    
  3. 磁盘分区fdisk,bios方案
    • /dev/sda1 /boot 256MB
    • /dev/sda2 / 20GB
  4. 挂载分区
    1
    2
    3
    
    mount /dev/sda2 /mnt
    mkdir /mnt/boot
    mount /dev/sda1 /mnt/boot
    
  5. 创建swapfile(可选)
    1
    2
    3
    4
    
    dd if=/dev/zero of=/mnt/swapfile bs=1M count=1024
    chmod 600 /mnt/swapfile
    mkswap /mnt/swapfile
    swapon /mnt/swapfile
    

安装基础系统

  1. 安装系统文件
    1
    
    pacstrap /mnt base base-devel
    
  2. 生成磁盘挂载信息
    1
    
    genfstab -U /mnt >> /mnt/etc/fstab
    

    如果创建了swapfile,需要另外执行下面这个代码

    1
    
    sed -i 's/\/mnt//g' /mnt/etc/fstab
    

基础信息配置

  1. chroot
    1
    
    arch-chroot /mnt
    
  2. 时区、时间
    1
    2
    
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    hwclock --systohc
    
  3. 语言
    1
    2
    3
    4
    5
    6
    
    cat << EOF > /etc/locale.gen
    en_US.UTF-8 UTF-8
    zh_CN.UTF-8 UTF-8
    EOF
    locale-gen
    echo 'LANG=en_US.UTF-8' > /etc/locale.conf
    
  4. 主机名
    1
    2
    3
    4
    5
    6
    7
    
    echo ironbox > /etc/hostname
    cat << EOF >> /etc/hosts
    127.0.0.1 localhost
    ::1 localhost
    127.0.0.1 ironbox
    ::1 ironbox
    EOF
    
  5. 启用基本服务
    1
    
    systemctl enable dhcpcd
    

启动引导器grub

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 如果是intel处理器,需要安装intel-ucode
pacman -S intel-ucode

# 安装grug
pacman -S grub

# 主引导
grub-install --target=i386-pc /dev/sda
# grub配置
grub-mkconfig -o /boot/grub/grub.cfg

重启之前设置root密码,或者创建管理员账号

日常使用

常用软件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
pacman -S vim git tmux wget

pacman -S sudo
# 反注释/etc/sudoers中wheel用户组

pacman -S zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

pacman -S openssh
systemctl enable sshd

创建管理员账号

1
2
3
useradd -m -s /bin/zsh admin
passwd admin
usermod -a -G wheel admin

multilib

文件/etc/pacman.conf

1
2
[multilib]
Server = /etc/pacman.d/mirrorlist

aur源

文件/etc/pacman.conf

1
2
[archlinuxcn]
Server = http://mirrrors.163.com/archlinux-cn/$arch
1
2
3
pacman -Syu
pacman -S archlinuxcn-keyring
pacman -S yaourt

桌面环境

xfce4

deepin

相比之下,还是deepin桌面环境好看,好用。虽然有些卡。

1
pacman -S deepin deepin-extra

字体

在wiki里发现了noto这款开源字体。常规、等宽、中文都能很好的显示。cjk是中日韩的英文缩写。

1
pacman -S noto-fonts noto-fonts-cjk

主题

deepin的主题挺好看了,先不管这个了。

参考文章