最近看着Linux Mint里一揽子乱七八糟的应用和散布各处的配置文件愈发烦躁,便想体验下大名鼎鼎的Arch,网上的帖子们把Arch Linux的安装难度描述的非常可怕,但实际上跟着Wiki一步一步来并不需要耗费太多精力。现在把安装过程记录在下面(Arch Wiki写的已经非常详细了,详见Arch Wiki(简体中文)):
1. 准备:USB 安装 U 盘或光盘
2. 开机进入live环境
3. 连接网络
我连接的是无线WiFi网络,有线网络连接很简单,详见文档
-
检查网络接口
ip link
正常的话应该能看到你的网卡和相关信息,记住网卡设备的名字
-
启动网络设备
ip link set <设备名> up
如果正常启动,就说明驱动什么的没问题
我们先使用iw连接无线网络,以后装完系统可以选择其他管理工具如NetworkManager
-
获取接口名
iw dev
这时候正常情况应该打印出你的网卡设备的信息了
-
查看网络状态
iw dev <设备名> link
这时候应该显示“Not connected.”,表示网络未连接
-
扫描附件WiFi
iw dev wlan0 scan |less
-
如果要连接的是无密码的网络那就很省事了
iw <设备名> connect <网络名称>
-
如果要连接WPA2加密的网络,我们使用wpa_supplicant这个工具
wpa_supplicant -i <设备名称> -c <(wpa_passphrase <网络名称> <密码>)
-
好了,这时候再次查看网络状态
iw dev <设备名> link
如果连接成功,应该会显示连接的网络状态
-
这时候尝试ping百度试试
ping www.baidu.com
ping不通是正常的,使用dhcp获取动态ip
dhcpcd <设备名称>
再次尝试
ping www.baidu.com
ping通的话网络就连接完毕了
4. 更新系统时间
timedatectl set-ntp true
5. 建立硬盘分区
-
查看磁盘
fdisk -l
找到你的要安装系统的硬盘,我的是/dev/sda
-
设计好分区,我的分区方式是
分区 挂载点 分区大小 分区类型 /dev/sda1 /mnt/boot 512MB EFI 系统分区 /dev/sda2 [SWAP] 8GB Linux swap (交换空间) /dev/sda3 /mnt 剩余空间 Linux x86-64 根目录 (/) -
开始分区,可以选择使用fdisk 或 parted 进行分区,我选择fdisk
fdisk /dev/sda
进入工具后,
m
可以查看帮助选项p
列出分区表,如果是要新装系统,d
删除当前的分区n
新建分区 分区序号,默认回车
First sector,默认回车
Last sector,
+512M
这样第一个分区就建好了,后面两个同理
t
修改EFI 系统分区类型选择1号分区,修改为序号1就是efi类型
最后再
p
列出分区表,一切如愿!别着急退出!
w
保存修改
6. 格式化分区
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda3
交换分区
mkswap /dev/sda2
swapon /dev/sda2
7. 挂载分区
mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
好啦,准备工作做完啦,接下来就要正式安装系统了
8. 修改镜像源
vim /etc/pacman.d/mirrorlist
(当然用不习惯vim也可以用nano)
把标着[China]的统统移动到最前面
保存退出
9. 安装基本系统
pacstrap /mnt base
我还安装了base-devel组,所以我的命令就是
pacstrap /mnt base base-devel
至此,系统就算安装成功啦!
接下来做一些基础的配置
1. 生成自动挂载分区的fstab文件
genfstab -L /mnt >> /mnt/etc/fstab
然后检查挂载情况
cat /mnt/etc/fstab
2. Change root 到新安装的系统:
arch-chroot /mnt
3. 设置时区为北京时间:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
运行hwclock以生成 /etc/adjtime:
hwclock --systohc
4. 配置语言
nano /etc/locale.gen
(新系统里甚至没有vim)
移除下面两行前的注释符
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
运行locale-gen生成 locale 信息
locale-gen
创建 /etc/locale.conf 并编辑
`nano /etc/locale.conf`
添加LANG=en_US.UTF-8
5.连接网络
又到了连接网络的时候了,这时候其实遇到了一个神奇的问题:arch系统不带iw工具,所以无法连接网络,但无法连接网络又无法安装iw,我选择用手机USB共享网络,这时和网线连接是一样的,至于大家怎么处理,就八仙过海各显神通吧,总之,把网连上就OK。
6. 设置root密码
passwd
7. 安装引导程序,我选择GRUB(UEFI模式)
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg
8. 输入 exit
或按 Ctrl+D
退出 chroot 环境
9. reboot
重启拔U盘,大功告成!
PS:
1. 创建普通用户
useradd -m -g users -s /bin/bash <用户名>
(将bash设为默认终端,以后可以改)
设置密码
passwd <用户名>
添加sudo权限
nano /etc/sudoers
在 “root ALL=(ALL) ALL” 下面添加<用户名> ALL=(ALL) ALL
2. 自动挂载U盘:
sudo pacman -S usb_modeswitch udisks2 udevil
systemctl enable devmon@<username>.service
systemctl start devmon@<username>.service