1. 获取 ISO 并校验
从 Arch Linux 官网 下载 ISO 并验证。
2. 制作 USB 启动盘
将 ISO 文件写入 USB 闪存盘中:
- Linux 系统下
... - Windows 系统下
...
3. 启动至 USB 启动盘
ISO 中包含了 Arch Linux 的基础系统,任何对此系统的修改都不能被保存,关机即丢失,因此 ISO 只适合用于系统的安装与维护。
进入 UEFI/BIOS 界面,调整机器的引导顺序,保存退出。重启进入到 USB 启动系统中。
4. 检查启动模式
命令行
# ls /sys/firmware/efi/efivars
若该目录不存在,则系统是以 BIOS 模式启动,否则是以 UEFI 模式启动。
脚本
## chk-bm.sh
#!/bin/bash
# 参数检测
# 若有参数输入,则返回 -1 错误
if [[ $# -ne 0 ]]; then
printf "请不要输入参数,谢谢"
exit -1
fi
# 若 /sys/firmware/efi/efivars 目录存在,
# 则系统是以 UEFI 模式启动,否则是以 BIOS 模式启动
if [[ -d "/sys/firmware/efi/efivars" ]]; then
printf "主板启动模式:UEFI"
exit 2
else
printf "主板启动模式:BIOS"
exit 1
fi
5. 检查 USB 启动系统的配置
键盘布局
终端字体
显示语言
网络连接
命令行
# wifi-menu
脚本
## chk-net.sh
# 参数检测
# 若有参数输入,则返回 -1 错误
if [[ $# -ne 0 ]]; then
printf "请不要输入参数,谢谢"
exit -1
fi
# to be continue...
同步时间
命令行
# timedatectl set-ntp true
pacman 软件仓库镜像服务器
安装 reflector
# pacman -S reflector rsync curl
备份镜像列表
# cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.origin
获取最快的20个镜像服务器
# reflector --verbose --country 'China' --latest 20 --sort rate --save /etc/pacman.d/mirrorlist
- --verbose : 显示更多的信息
- --country 'China' : 优先镜像国家
- --latest 20 : 只获取20个镜像
- --sort rate : 按下载速度排序
- --save : 保存为
6. 分区
6.1. BIOS + GPT + Grub
为了使 GRUB 从一台有 GPT 分区的基于 BIOS 的系统上启动,需要创建一个 BIOS 启动分区, 这个分区和 /boot 没关系,仅仅是 GRUB 使用,不要建立文件系统和挂载。 参见: https://wiki.archlinux.org/index.php/Partitioning_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
找到并清除所有现有分区
# fdisk -l
# sgdisk --zap-all /dev/sda
BIOS 启动分区
需要分配一个独立的 1MB 分区,不需要在这个分区创建文件系统。这个分区可以在启动设备的前 2 TiB 内的任意位置,但必须在 GRUB 安装前分配出来。
分区工具 | 分区类型 |
---|---|
fdisk | 选择 BIOS boot 和 分区类型 4 |
gdisk | ef02 |
parted | bios_grub |
分区方案:
分区类型 | 分区的实际大小 |
---|---|
BIOS boot | 2MB |
/ | 20GB |
/home | 硬盘余下全部空间 |
6.2. 目标磁盘
# lsblk
6.3. 创建文件系统
分区类型 | 分区的文件系统 |
---|---|
BIOS boot | NONE |
/ | ext4 |
/home | ext4 |
$ ls -1 /usr/bin/ | grep -E 'mkfs|mkswap'
...
mkfs.ext4* # ext4 格式化工具
...
mkfs.fat* # fat 格式化工具
...
mkswap* # swap 格式化工具
为让 genfstab 能生成 fstab 时包含交换分区,须先激活交换分区
# swapon /dev/<交换分区>
## skip /dev/sda1 BIOS 启动分区
# mkfs.ext4 /dev/sda2 # 创建 ext4 分区
# mkfs.ext4 /dev/sda3 # 创建 ext4 分区
# mkfs.ext4 /dev/sda4 # 创建 ext4 分区
# mkswap /dev/sda5 # 创建交换分区
# swapon /dev/sda5 # 激活交换分区
7. 系统安装
7.1. 挂载分区
# mount /dev/sda3 /mnt # 挂载根目录
# mkdir /mnt/boot
# mount /dev/sda2 /mnt/boot
# mkdir /mnt/home # 创建 /home 挂载点
# mount /dev/sda3 /mnt/home # 挂载 /home
7.2. 安装基本系统
# pacstrap -i /mnt base base-devel
使用 -i 选项时会在实际安装前进行确认
7.3. 配置系统
# genfstab -U -p /mnt >> /mnt/etc/fstab
- 使用UUID做标识符
- 如果命令运行出现错误,那么只能手动修改,不要重复执行genfstab
检查生成的 fstab 正确是否:
# cat /mnt/etc/fstab
8. 配置基础系统
8.1. 进入新系统
# arch-chroot /mnt
8.2. 时区
设置时区
# ln -sf /usr/share/zoneinfo/[zone]/[subzone] /etc/localtime
# ln -sf /usr/share/zoneinfo/$(tzselect) /etc/localtime
设置时间标准 为 UTC
# hwclock --systohc --utc
8.3. 本地化
简体中文
# sed -i '/en_US.UTF-8/{s/#//}' /etc/locale.gen
# sed -i '/zh_CN.GB18030/{s/#//}' /etc/locale.gen
# sed -i '/zh_CN.GB2312/{s/#//}' /etc/locale.gen
# sed -i '/zh_CN.GBK/{s/#//}' /etc/locale.gen
# sed -i '/zh_CN.UTF-8/{s/#//}' /etc/locale.gen
# sed -i '/zh_TW.UTF-8/{s/#//}' /etc/locale.gen
# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8
键盘布局与终端字体
主机名
# echo [myhostname] > /etc/hostname
/etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 [myhostname].localdomain [myhostname]
# HOSTNAME='myhostname'
# echo $HOSTNAME > /etc/hostname
# echo "127.0.1.1\t$HOSTNAME.localdomain\t$HOSTNAME" >> /etc/hosts
网络配置
无线网络配置
安装 软件包 iw, wpa_supplicant,dialog
# pacman -S iw wpa_supplicant dialog
# wifi-menu # 连接
Initramfs
创建一个初始 RAM disk:
# mkinitcpio -p linux
Root 密码
设置 root 密码:
# passwd
安装Intel-ucode(非IntelCPU可以跳过此步骤)
# pacman -S intel-ucode
安装引导程序
GRUB
BIOS:
# pacman -S grub
# grub-install --target=i386-pc --recheck /dev/sdx
# pacman -S os-prober
# grub-mkconfig -o /boot/grub/grub.cfg
如果遇到警告
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
可以忽略,这是因为从 live CD 启动的系统没有运行 lvmeted 。
9. 卸载分区并重启
# exit # 退回安装环境
# umount -R /mnt # 卸载新分区
# reboot # 重启
# # 记得移除安装介质
10. 更新系统
# pacman -Syu
11. 用户管理
创建一个名为 <用户名> 的用户,指定登陆 shell 为 bash,所属主用户组 users,用户文件夹位于 /home/<用户名>。
# useradd -m -g [initial_group] -G [additional_groups] -s [login_shell] [username]
# useradd -m -g users -G wheel,storage,power -s /bin/bash <用户名>
# passwd <用户名> # 设置密码
安装并配置顺手的 Sudo
# pacman -S sudo bash-completion
# sed -i 's/# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers
12. 配置图形界面
安装显卡驱动
# lspci | grep VGA # 确定显卡型号
# pacman -S <驱动包>
#
# # 官方仓库提供的驱动包:
# # +----------------------+--------------------+--------------+
# # | | 开源 | 私有 |
# # +----------------------+--------------------+--------------+
# # | 通用 | xf86-video-vesa | |
# # +----------------------+--------------------+--------------+
# # | Intel | xf86-video-intel | |
# # +--------+-------------+--------------------+--------------+
# # | | GeForce 9+ | | nvidia |
# # + +-------------+ +--------------+
# # | nVidia | GeForce 8/9 | xf86-video-nouveau | nvidia-340xx |
# # + +-------------+ +--------------+
# # | | GeForce 6/7 | | nvidia-304xx |
# # +--------+-------------+--------------------+--------------+
# # | AMD/ATI | xf86-video-ati | |
# # +----------------------+--------------------+--------------+
安装音频
# pacman -S pulseaudio pulseaudio-alsa alsa-utils alsa-oss alsa-lib
安装触控板驱动
# pacman -S xf86-input-synaptics
中文字体
# pacman -S adobe-source-han-sans-cn-fonts # 可选,思源黑体
# pacman -S wqy-bitmapfont wqy-zenhei wqy-microhei
wqy-microhei
ttf-dejavu
wqy-zenhei
安装 Deepin 桌面环境
# pacman -S xorg xorg-server
# pacman -S deepin
# pacman -S deepin-extra
# sed -i 's/#greeter-session=example-gtk-gnome/greeter-session=lightdm-deepin-greeter/' /etc/lightdm/lightdm.conf
# systemctl start lightdm.service
# systemctl enable lightdm.service
# pacman -S network-manager-applet networkmanager
# systemctl disable netctl
# systemctl enable NetworkManager.service
安装 GNOME 桌面环境
sudo pacman -S xorg
sudo pacman -S gnome gnome-extra
sudo systemctl start gdm.service
sudo systemctl enable gdm.service
在 /etc/pacman.conf 中,反注以下2行
[multilib]
Include = /etc/pacman.d/mirrorlist
添加
[archlinuxcn]
SigLevel = Never
Server = http://repo.archlinuxcn.org/$arch
Yaourt (Yet AnOther User Repository Tool; French for ‘Yogurt’)
不要安装 yaourt ,因为yaourt 已经停止更新维护,其最后的更新是2017-07-19 20:22
网友评论