折腾ArchLinux

日期: 2018-03-06 更新: 2018-04-12 分类: geeks

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

系统安装

下载安装镜像

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

直接引导iso镜像文件

说明:已有一个装好grub4dos的多用途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引导项
    此时会出现错误:

    Waiting 30 second for device /dev/disk/by_label/…
    Error : /dev/disk/by_label/… did not show up after 30 seconds.

  4. 手动挂载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 nono
passwd nono
usermod -a -G wheel nono

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的主题挺好看了,先不管这个了。

参考文章