目录
0x0 Arch Linux
Arch Linux 是一个独立开发的x86-64架构通用GNU/Linux发行版,它致力于通过滚动更新来提供大多数软件的最新稳定版本。默认安装是一个最小的基本系统,由用户自行添加需要的软件,因此Arch Linux是高度可自定义的。Arch Linux使用pacman作为包管理器。并且Arch Linux还有AUR(Arch User Repository),AUR是为用户而建、由用户主导的 Arch 软件仓库。AUR 中的软件包以软件包生成脚本(PKGBUILD)的形式提供,用户自己通过 makepkg 生成包,再由 pacman 安装。其存在为Arch Linux提供了非常丰富的软件资源。
Arch Linux采用滚动更新。Arch Linux努力维护其软件的最新稳定版本,除非需要合理地避免系统包损坏。
Arch Linux以社区Wiki的形式提供文档,称为ArchWiki。下面我们一起看看如何在Oracle VirtualBox中安装Arch Linux吧。
0x1 下载Arch Linux镜像
我们需要下载Arch Linux的系统镜像,可以到Arch Linux - Downloads下载,也可以使用国内的镜像网站下载,我这里在清华的镜像站Index of /archlinux/iso/latest/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror中下载最新的Arch Linux镜像:
0x2 配置Oracle VirtualBox
打开Oracle VirtualBox创建新的虚拟机,按照以下的虚拟机设置进行配置,内存和CPU相关配置视自身情况设置:
启动后出现这个引导界面,选择第一个回车:
等待系统启动之后就会出现如下界面:
0x3 安装Arch Linux
0x31 检查网络
检查是否连接网络,我们使用ping命令就可以:
$ ping baidu.com
0x32 更新时间
确认网络正常连通之后我们更新一下系统时间,先查看当前系统时间配置,输入timedatectl命令,默认状态下的输出结果应该是这样的:
我们主要关注Local Time这里,可以看到和我们的北京时间不同,那我们更改一下时区,输入以下命令进行时区更改:
$ timedatectl set-timezone Asia/Shanghai
之后再次执行timedate命令即可看到如下输出,发现时间已经正确:
0x33 磁盘分区
现在我们需要做的就是要对磁盘进行分区,分区我们使用fdisk命令,我们先查看系统中有哪些磁盘,输入fdisk -l命令就可以查看:
可以看到输出了两个磁盘设备,我们主要关注的就是这个Disk /dev/sda,这也是我刚刚创建虚拟机时创建的虚拟磁盘。之后我们执行fdisk /dev/sda命令对这个磁盘进行分区操作,输入命令后会有以下界面:
由于现在Oracle VirtualBox使用的是BIOS启动,所以我们需要创建以下两个分区:
挂载点 | 分区 | 分区类型 | 建议大小 |
[swap] | /dev/sda1 | 交换空间 | 512MB |
/mnt | /dev/sda2 | 根目录 | 剩余空间 |
我们先创建swap交换分区,在这个界面中输入n并回车,n表示创建新的分区,之后按图中方式操作:
之后在输入n创建根目录,步骤跟上面的类似:
注意的是这里的Last sector我们直接按下回车的话它默认会向后使用所有剩余空间。之后我们按下p并回车查看当前分区状态:
可以看到这里出现了我们刚刚分的两个分区,这里我们需要改一下它们的Type,输入t并回车,按照图中进行操作:
再次查看分区状态,就可以看到/dev/sda1的Type变成了Linux swap / Solaris:
最后输入w并回车保存我们的分区表:
然后我们需要把这两个分区/dev/sda1和/dev/sda2进行格式化,然后启用swap并且将/dev/sda2挂载到/mnt上,执行以下命令:
$ mkswap /dev/sda1
$ swapon /dev/sda1
$ mkfs.ext4 /dev/sda2
$ mount /dev/sda2 /mnt
这样整个磁盘分区的操作就做好了。
0x34 选择镜像源
现在我们就要开始在刚刚创建的/dev/sda2也就是挂在到了/mnt上的磁盘分区安装系统和软件了,在此之前我们需要更换以下pacman的镜像源,因为它默认是国外的镜像,如果我们不更改直接使用,那下载过程将会非常非常非常慢。。。这里我使用的是清华的Arch Linux镜像地址:archlinux | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror。之后我们需要修改/etc/pacman.d/mirrorlist这个文件,将清华的镜像源放到第一行:
$ vim /etc/pacman.d/mirrorlist
保存好之后我们就可以真正开始安装系统和软件了。
0x35 安装系统和软件
给新系统安装软件时我们使用pacstrap命令安装,而不是pacman命令,因为我们现在还没有进入到新系统中。安装的软件看个人需求,但是必装的有这三个:base、linux、linux-firmware,其它的软件看个人需求,我推荐安装以下几个:vim、networkmanager、base-devel,虽然是虚拟机安装,但还是建议安装intel-ucode或者amd-ucode,具体看你是什么CPU,我是Intel的所以这里选择Intel-ucode。以上可以用以下命令安装:
$ pacstrap -K /mnt base base-devel linux linux-firmware networkmanager vim intel-ucode
等待它安装完成之后我们就可以进行下一步了。
0x36 配置系统
生成fstab文件
使用genfstab命令来生成fstab:
$ genfstab -U /mnt >> /mnt/etc/fstab
进入新系统
使用arch-chroot命令进入到新系统中:
$ arch-chroot /mnt
这样就可以进入到我们的新系统中了。
设置时区
进入新系统之后我们还要设置一遍时区,使用以下命令:
$ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
然后使用hwclock命令生成/etc/adjtime文件:
$ hwclock --systohc
区域和本地化设置
首先配置/etc/locale.gen这个文件,取消掉en_US.UTF-8前面的#,之后执行locale-gen命令生成locale信息:
然后创建编辑/etc/locale.conf文件,在其中加入LANG=en_US.UTF-8:
配置网络
创建/etc/hostname文件,其中写入archlinux或者其它你喜欢的名字:
之后我们需要使用以下命令来允许NetworkManager服务的自启动,不然等安装完新系统之后还要手动打开它:
$ systemctl enable NetworkManager
配置root密码
使用passwd命令去设置root账号密码:
至此,基本配置就完成了,接下来我们安装引导程序。
0x4 安装grub引导程序
这个步骤尤为关键,如果出错,那么我们的新系统将无法引导启动。我们先使用pacman命令来安装grub包,因为我们现在已经在新系统中,所以不需要使用pacstrap命令:
$ pacman -Syyu grub
之后执行以下命令即可:
$ grub-install --target=i386-pc /dev/sda
$ grub-mkconfig -o /boot/grub/grub.cfg
0x5 重启系统
之后我们输入exit或者按下Ctrl+d退出新系统回到安装系统中:
之后取消掉/mnt的挂载:
$ umount -R /mnt
最后使用reboot命令重启系统,最后在启动引导界面选择Boot existing OS:
等待系统引导启动后就会看到我们熟悉的登陆界面了,输入root和刚刚设置的密码,即可登录系统,到此基本的Arch Linux已经成功安装了:
当然,由于我们没有安装图形界面,所以现在只能使用字符界面。
0x6 最后
以上就是基本的Arch Linux的安装过程了,安装Arch Linux的过程也能学到一些关于Linux系统的基础知识,加强我们对Linux的理解,最后好好享受Arch Linux给我们带来的惊喜吧!个人拙见,欢迎指正。