Play Arch Linux
Arch Linux 是什么
一个 轻量级、易定制的Linux。
适用对象
ArchLinux 适用于乐于自己动手的用户,他们愿意花时间阅读文档,解决自己的问题。
Arch Linux的安装
借助vmware虚拟机安装Arch Linux。
- 磁盘大小建议 20G,不要小于10G
- 内存大小建议 2G以上
- CPU数量简易 2+
首先需要从启动项中 选择 “Boot Arch Linux”进入命令行界面。
检查是否有网络连接
Arch Linux的安装需要网络,所以需要检查是否有网络连接。
ping t.cn
找一个自己熟悉的命令行编辑器
Arch Linux 默认自带了nano,但是nano跟vim还是有一定区别。有些熟悉不了nano的可以使用vim。但是需要安装。
pacman -S vim
磁盘分区
将磁盘分区,分区工具有许多(fdisk、cfdisk)等,我选择了 fdisk
。
fdisk -h
: 查看fdisk命令使用帮助(辅助命令)fdisk -l
: 产看当前磁盘分区情况(辅助命令)fdisk /dev/sda
: 进入对磁盘/dev/sda
进行分区的操作程序,/dev/sda
可以通过fdisk -l
命令查出。
执行 fdisk /dev/sda
后,进入新的命令行界面,在这个界面下可以执行的命令。
- p : 查看当前分区情况(辅助命令)
- m : 查看命令帮助(辅助命令)
- n : 创建一个新分区
- d : 删除一个分区
- w : 保存创建的分区修改
创建分区时,需要指定要创建的分区类型:
- 主分区: Arch Linux(Operation System)系统文件存放位置,主要用于系统启动和运行(此分区必需)
- 扩展分区: 用于创建逻辑分区,主要用于用户,当然可以不用创建。
分区方案我选择了最简单的,只创建了一个主分区。分区创建完以后,在系统中访问路径(与文件路径不同,这个路径通常用于对该分区的操作)一般就是/dev/sda1
。
将创建的分区挂载到 /mnt
路径上,后面安装系统的步骤讲这个有什么用。
mount /dev/sda1 /mnt
优先使用中国国内的源
我们利用正则表达式工具grep工具来将中国的源取出来。首先,先切换到软件源所在目录。
PS: pacman应该是Arch Linux的 package manager。
cd /etc/pacman.d
然后用grep取出中国的源。用-A参数的话会用–分隔符分隔每一条匹配,因此再次使用grep工具去掉前一次结果产生的分隔符。
grep -A 1 '##.*China' mirrorlist|grep -v '\-\-'> mirrorlist2
上面的命令行中,“-A”后面跟的是 阿拉伯数字 “1”。
最后将中国的源放到镜像源列表的最前面。这里先反过来,将原来的镜像源追加到中国的源后面,然后将追加完成之后的文件替换掉原来的镜像源。
cat mirrorlist>>mirrorlist2
mv mirrorlist2 mirrorlist
镜像源修改完成之后需要刷新一下pacman的缓存。
pacman -Syy
开始安装系统
修改完镜像源,就可以开始安装基本系统了。pacman会从网络上下载最新的软件包开始安装。-i参数是在安装前进行确认,出现确认提示的话直接全选即可(一路enter)。
pacstrap -i /mnt base base-devel
在给硬盘分区时,我们创建了 /dev/sda1
并且将其挂载到了/mnt
目录上。所以这个命令的作用就是安装系统到/dev/sda1上。如果你的挂载点不是/mnt, 那么你就需要指定你自己的挂载点。
base
和 base-devel
表示安装基本系统和基本开发环境。
如果安装速度比较慢,那就稍微做点其他事等等吧。
安装完成后,还需要安装引导系统,进行系统设置,安装桌面等。
配置新系统
安装完成系统之后需要生成fstab文件。生成之后需要查看一下是否生成成功。如果不成功需要重新生成。
genfstab -U -p /mnt >> /mnt/etc/fstab
vim /mnt/etc/fstab
进入新系统
PS: 执行命令前后,留意下命令提示符的变化。
arch-chroot /mnt
/mnt
为系统安装目录。
设置区域和时间
区域设置需要设置两个文件:locale.gen和locale.conf文件。
先使用vim打开/etc/locale.gen文件,然后取消en_US.UTF-8、zh_CN.UTF-8、zh_TW.UTF-8三行的注释。然后运行locale-gen命令生成locale信息。
vim /etc/locale.gen
locale-gen
然后生成一个locale.conf文件。这里最好使用英文,使用别的语言可能会导致终端乱码。
echo LANG=en_US.UTF-8 > /etc/locale.conf
设置时间
首先选择时区
tzselect
先按4选择Asia,在按9选择China,再按1选择北京时间,按1选择yes。
然后将时区软链接到你自己的时区。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
将时间标准设置为UTC,如果虚拟机有这项设置则不用设置(例如VirtualBox就有设置硬件事件为UTC的选项)。
hwclock --systohc --utc
给root用户设置密码
passwd
输入命令后,根据提示分别输入密码和确认密码后就可以了。
安装启动加载器
这一步比较重要,安装完成后需要引导系统启动。
PS:所有的系统安装完成后都需要引导系统引导才能启动,但是不同的系统安装中,对这一步的处理也是各不相同。
pacman -S grub
grub-install --recheck /dev/sda # 注意sda后面不要带数字
grub-mkconfig -o /etc/grub/grub.cfg # 自动生成一个配置文件,默认的配置文件可以适应大部分情况。
设置网络
设置主机名
echo myhostname > /etc/hostname
然后将新设置的主机名(myhostname)添加到/etc/hosts文件中。
#<ip-address> <hostname.domain.org> <hostname>
127.0.0.1 localhost.localdomain localhost myhostname
::1 localhost.localdomain localhost myhostname
启动有线网服务
如果虚拟机重启没有网的话需要让它开机自启动。
systemctl enable dhcpcd.service
退出并重启系统
exit
reboot
有的教程会提到将/dev/sda1
从 /mnt
卸载下来,但是在执行reboot重启系统后,会出现引导失败的问题。然后尝试了不卸载直接重启的方案,这个方案是OK的。
「参考资料」
在ArchLinux 安装/配置/美化 — VMware 篇
“No such device…” when reboot after set Grub
WARNING: Failed to connect to lvmetad. Falling back to device scanning.