写在前面
2018年的暑假自己折腾起了arch,直到一年后的现在,因为各种问题还是换成了Debian系的发行版。只能说Linux的研究任重而道远,虽然现在不用arch了,但是这个安装过程还是值得记录一下,留个纪念的同时也方便他人参考
(截至2020.3.24 Arch Linux 有了很多更新,文章也相应的更新一下,方便各位参考的时候不至于出现异常)
本文在开始前默认您已经知道诸如vim最基础的使用 挂载到底是什么 等一些linux中很基础的东西
制作U盘启动时如果是Windows推荐使用rufus
- 检查网络是否联通
ping -c 4 baidu.com
这里推荐直接插网线
如果要用无线连接请采用下面这种方案
1查看电脑上能被识别的网卡ifconfig -a #一般wlan0 就是需要的网卡了
2启动无线网卡
ifconfig wlan0 up
3添加 WiFi 连接配置
wpa_passphrase {SSID} {PASSWORD} > /etc/wpa_supplicant/{SSID}.conf #举例来说 你需要连的WiFi叫做 TP-Link WIFI的密码是12345678 #那你就因该写成 #wpa_passphrase TP-Link 12345678 > /etc/wpa_supplicant/tplink .conf #最后的名字其实随意,只是名字和密码别搞错
4连接无线网络
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/{SSID}.conf -B #还是以上面的举例 #wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/tplink.conf -B
回车后如果看到有 Successfully 字样就表示连接成功啦!
5配置 DHCP 自动分配 IPdhclient wlan0
6验证能否正常上网
ping www.baidu.com -c 4
- 更改镜像源的地址,要不然最后的安装会很慢
vim /etc/pacman.d/mirrorlist
# 在开头位置换成中科大的 https://mirrors.ustc.edu.cn/archlinux ,当然清华的也行
具体这样修改
编辑/etc/pacman.d/mirrorlist,在文件的最顶端添加Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
pacman -Syy
- 对磁盘进行分区
lsblk #查看磁盘
cfdisk /dev/XXX #分区推荐使用的命令
这里注意cfdisk 后面要加上具体的磁盘路径 比如你检测到有一个sda
那命令就因该是cfdisk /dev/sda
有些更高级的固态硬盘显示的是nvme比如是 nvme0n1同理可得
那命令就因该是cfdisk /dev/ nvme0n1
- 因为我想把根分区用f2fs格式,uefi启动,所以做一些特殊处理
首先需要三个分区第一个是efi启动需要的格式是fat32
其次boot分区要单独分
最后引导地方要做特殊处理以grub为例
此步骤是对格式化进行的操作
#分区要在cfdisk 这一步完成
#假设有 /sda1(efi分区) sda2 (boot分区) sda3 (根分区)
mkfs.fat -F32 /dev/sda1 # 大小64M--128M 64M足够
mkfs.ext4 /dev/sda2 # 大小128M--512M 128M就已经够用了,如果硬盘富余可以256M,如果硬盘很大就用512M
pacman -S f2fs-tools
mkfs.f2fs /dev/sda3
- 挂载
mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sd2 /mnt/boot
mkdir /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
# 如果没有单独分home分区 截至到这里即可 如果有home分区使用下面两部
mkdir /mnt/home
mount /dev/sdaX /mnt/home # X 替换成自己想要的home分区
- 到这里就基本完成了所有前置准备工作,可以进行安装了
pacstrap /mnt base base-devel linux linux-firmware
- 配置基础系统 这一步是生成分区表
genfstab -U /mnt >> /mnt/etc/fstab
# 可以使用 vim /mnt/etc/fstab 查看是否生成正确
- 接着使用 arch-chroot 进入新系统。
arch-chroot /mnt
10.开始做配置
pacman -S vim
vim /etc/local.gen # 这一步去掉去掉en_US.UTF-8,zh_CN.UTF-8前面的#
locale-gen # 然后重建编码表
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #中国大陆用户使用这个命令,设置时区
hwclock --systohc #运行 hwclock 以生成 `/etc/adjtime`
echo XXX > /etc/hostname # XXX 替换成自己想要的主机名
echo LANG=en_US.UTF-8 > /etc/locale.conf
pacman -S f2fs-tools
pacman -S wpa_supplicant # 方便之后使用无线
- 添加引导
pacman -S grub efibootmgr os-prober
# os-prober 是方便双系统用户, 不装双系统的可以不装这个os-prober
grub-install --efi-directory=/boot/efi --bootloader-id=Arch
grub-mkconfig -o /boot/grub/grub.cfg
注意 = 两边不要有空格 要不然容易安装错误 之前失败好几次不知道问题出在什么地方
- 确保f2fs根分区系统正常启动必不可少的一步
blkid /dev/sda3 #获取设备的UUID
#手动编辑下面的文件
vim /boot/grub/grub.cfg
#使用 `root=UUID=*XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX*` 替换 `root=/dev/*sdXx*`。
重要第12步目前可以划掉,不用做了,因为再执行了grub-mkconfig -o /boot/grub/grub.cfg后
/boot/grub/grub.cfg中
直接就是root=UUID=*XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX*
的格式可以说是很智能了
- 基本完成安装,准备重启检测
systemctl enable dhcpcd
passwd root
exit
umount -R /mnt
reboot
- 如果出现grub的引导,且正常进入说明已经安装成功了,以下是安装后可以做的一些东西
pacman -S xorg
pacman -S intel-ucode # 这里是启动intel的微码更新,如果是amd的那就安装amd的微码更新
pacman -S gnome #这里可以换成自己喜欢的桌面比如kde什么的
pacman -S firefox zsh
systemctl enable gdm #如果是其他的桌面,就开启自己相应的桌面的显示管理器 如 kde的是sddm
systemctl enable NetworkManager
#
# 以下的操作是zsh shell 的,用 bash shell 的不用操作
#
useradd -m -G wheel -s /bin/zsh XXX # 这里是把shell 改为zsh XXX替换为自己想要的用户名
passwd XXX
vim /etc/sudoers # 对自己的用户启用sudo
pacman -S wqy-zenhei #安装的中文字体 否则浏览器中的一些汉字可能无法显示