饭要一口一口吃,人要一点一点胖!
本文详细介绍了作为一个 C/C++ 程序员试图将 Archlinux 作为主力生产、娱乐环境的安装及配置过程,以及过程中遇到的问题及其解决办法。食用之前需注意的是,本文中提到的各种软件包的版本,以及硬件与我的是否一致,否则不保证能顺利搭建成功。
关键硬件配置:
注:本系统实操环境为实体机,磁盘介质为 thinkpad plus 128G U盘,其他环境安装需做相应环境适配。
安装盘和启动盘大家要分清楚,安装盘是用来安装 Arch 的,建议最小容量不小于 4G;启动盘可以理解为系统硬盘,只不过可以为U盘,容量建议不小于30G。
推荐 rufus ,界面简单功能齐全,速度也很快。
下载好 fufus 后直接双击启动,选择 iso 文件,我用的是 archlinux-20250312.iso,算是目前最新的版本了,如果你下载的时候有更新,也可以用。
然后选择模式,推荐 GPT,如果你的电脑比较老旧,可能不支持 GPT,选择 MBR 即可,影响不大(可能是MBR不支持大文件)。
注意选择好目标磁盘或U盘,不要选错了,否则后果……你懂的!
最后点击【开始】,中间可能会有数据丢失风险弹窗,选择【确定】即可。
安装前确认一下已经准备了目标磁盘(U盘),备份好数据,数据无价!
如果是 U盘则需要将其插到 USB口,开机,过程中如果是台式机则狂按 Del 键,如果是笔记本则视不同品牌型号而定,提前查好。
如果 安装盘制作没有问题,正常情况下会进入到如下安装界面,选择默认项回车即可。
一切正常的话会进到如下界面。对,你没看错,这是 Archlinux 提供的安装程序,而不是你最终要用的 Archlinux 系统,只是恰巧它也是基于 archlinux 制作的,里面配置了一套安装系统的工具和软件包。下面开始真正的安装。
假定我们提供的是 50G 大小的磁盘空间或者U盘,由于启动分区(即用来启动系统专用)最小为 2G,所以留给系统的空间最大只有 48G,当然我们可以再分出一块作为交换分区(当内存不够用时作为内存使用的空间),一般等于内存大小,或者我们直接将剩余空间全部留给系统(即根目录“/”)。这里我们采用后者。
分区工具我们采用 archlinux 安装程序提供的 cfdisk,界面更友好,操作简便。
在分区之前我们需要使用另一个工具 lsblk 查看一下当前有哪些磁盘介质,它也是一个查看磁盘信息的工具,查询结果比较简单,但够用了。
# lsblk输入 lsblk 命令后回车,你的界面可能是这样的,不同机器可以不同,不过大同小异。从磁盘空间(≈50G)可以轻松找到我们的要安装的目标磁盘。比如说是 /dev/sda,那么开始分区则输入以下命令:
# cfdisk /dev/sda进到 cfdisk 工具界面,方向键上下来选择分区,左右键选择操作指令。比如先选中所有未分区的磁盘,再左右选择【New】,然后输入 2G,回车,启动分区就创建好了。
再下方向键选择未分区磁盘空间,然后左右选择【New】,直接回车,即把剩余所有空间一次性分出,系统分区就完成了!
如果操作无误,分区后完整目录如下:
/dev/sda:
sda1: 2G
sda2: 48G这里的 sda1 表示 1 号分区,同理 sda2 表示 2 分区。
1. 格式化
磁盘只是分区的话还不能使用,无法被系统识别,想要被系统识别还需对其进行格式化。
linux 系统可识别的磁盘格式与 windows 不同,它支持 fat、ext4 等格式,也是我们要采用的格式。作为启动分区非常特殊,仅支持 fat32 格式,所以格式化的操作如下:
# mkfs.fat -F32 /dev/sda1
# mkfs.ext4 /dev/sda32. 挂载
因为我们是在安装程序(可视为简化版 archlinux 系统)中安装操作系统,所以首先得将目标磁盘的分区挂载到当前的系统下。
Linux 系统中所有设备都由文件来表示,包括键盘、鼠标、显示器,当然磁盘也不例外,否则 linux 无法操作该设备。挂载之后会如同操作系统中的某个文件一样来操作该设备,比如读写。挂载指令如下:
# mount /dev/sda2 /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot记住 sda1 是启动分区,sda2 是主分区(即系统分区)。如果忘了再次使用 lsblk 命令确认一下。
挂载的时候要先挂载主分区,然后在 /mnt 目录再创建一个目录 boot,最后将启动分区挂载到 /mnt/boot 目录下。文件存在于目录下,很好理解!
其中,/mnt 是安装程序帮我们事先创建好的,不用管,只是启动分区挂载目录需要我们自己创建。
注:这里没有说明有交换分区的情况下该如何分区,格式化,挂载,如有需要自行百度。
系统安装过程中需要连接网络下载一些必要的软件包,正常安装程序内可以访问外网,如果不确定可以使用 ping 命令试一试,如:
# ping www.baidu.com输出如下,表示网络正常,按 Ctrl + c 结束,不要一直 ping,咱们还有正事儿要干!
确定网络没有问题后,先不要急,因为安装软件需要从某些网站下载软件包,而默认是从国外网站下载,所以网速……你懂的!为了避免出现安装到一半因为网络问题导致安装失败,这里我们先配置一下国内软件源:
# vim /etc/pacman.d/mirrorlistvim 是个编辑器,可以理解为跟 notepad (记事本)一样,上面的命令是用它来编辑 mirrorlist 文件。
将里面的以 Server 开头全部删掉,换成清华源地址,格式跟它们一样:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch准备工作做完了,下面开始安装:
# pacstrap /mnt base base-devel linux linux-firmware sudo vim git dhcpcd
# genfstab -U /mnt >> /mnt/etc/fstab第一行命令中,pacstrap 是安装软件的命令,/mnt 是安装到的目录,即主分区,后面是要安装的软件。其中 base 和 base-devel 是基础工具,linux、linux-firemware 是操作系统和操作系统固件,再后面的都是我们平时用的工具,如 dhcpcd 是动态(IP)地址分配,它会帮我们自动获取 IP 地址,我们就可以上网了。
第二行命令是生成文件系统配置表(File System Table),否则即使安装好了操作系统,但是找不到可以操作的文件,也用不了。
系统启动需要引导程序,这里我们选择 grub2,这里我们不过多解释了,按如下操作即可:
# arch-chroot /mnt
# pacman -S grub
# pacman -S os-prober efibootmgr
# os-prober
# grub-install --target=x86_64-efi --efi-directory=/boot
# mkinitcpio -P
# grub-mkconfig -o /boot/grub/grub.cfg安装完引导程序后,还有一些杂项,比如安装微码,修改 root 用户密码,启动 dhcpcd 服务等。
# pacman -S intel-ucode
# passwd
# systemctl enable dhcpcd.service最后退出一下,因为上面我们使用了 archroot /mnt 命令,然后再卸载之前挂载到安装程序下的分区,重启!
# exit
# umount -R /mnt
# reboot你以为这就完了?
一切顺利的话,重启后我们就来到 Archlinux 的登录界面。没错,黑黑的,啥也没有!
先使用 root 账户登录进去再说!
进去之后首先配置一下软件源。什么?不是已经配置过一次了么?你那是配置的安装程序里的软件源,现在我们是在我们的新系统 Archlinux 里!
vim /etc/pacman.conf ## 添加如下语句
[archlinuxcn]
Include = /etc/pacman.d/archlinuxcn-mirrorlist在 /etc/pacman.d/ 下新建 archlinuxcn-mirrorlist 文件并添加阿里源等,如下
# 阿里源
Server = http://mirrors.aliyun.com/archlinuxcn/$arch配置完成之后务必执行一下如下命令:
pacman -Syy
pacman -S archlinuxcn-keyring接下来就是设置时区,同步时钟,本地化,配置域名等,按如下执行即可:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc
# 编辑本地化文件,将"en_US.UTF-8" 和 "zh_CN.UTF-8"前面的“#”去掉,其它选项根据自己需要来定,这两个为英文和中文
vim /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
echo "chappy" > /etc/hostname
vim /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 chappy.localdomain chappy为了安全,添加一个非 root 用户,示例用户名为 tdl,密码自己编:
useradd -m -G wheel tdl
passwd tdl默认没有安装vi,无法执行visudo命令,解决办法为将 vim 软链接到 vi:
ln -s /usr/bin/vim /usr/bin/vi
visudo ## 解注掉 %wheel 行,保存退出要想不再面对黑黑窗口,我们选择安装 Xorg,一个图形解决方案的实现:
pacman -S xorg-server xorg-xinit xorg-apps接下来我们切换到普通用户 tdl并开始表演安装 suckless 三件套:
mkdir Desktop
git clone http://git.suckless.org/dwm
git clone http://git.suckless.org/st
git clone http://git.suckless.org/dmenu
cd ~/Desktop/dwm
make
sudo make clean insall
cd ~/Desktop/st
make
sudo make clean install
cd ~/Desktop/dmenu
make
sudo make clean install
cp /etc/X11/xinit/xinitrc ~/.xinitrc
vim ~/.xinitrc ## 删除最后xterm相关的几行,添加下面语句后保存退出
exec dwm
startx一篇文章果然讲不完,我的编辑器已经开始卡了,剩下的留给(二)再说吧。最后放一张我的 Arch 完全体。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。