在虚拟机安装Archlinux

时间:2023-01-03 00:04:48
    最近花了挺长一段时间练习在虚拟机安装archlinux的,在这里跟大家分享一下经验,如有错误,欢迎大家指出,谢谢大家。

准备工作

archlinux镜像+vmware workstation
archlinux镜像可以在archlinux官网找到。
archlinux镜像下载链接:https://www.archlinux.org/download/

下面这个网站是archlinux官方提供的中文版安装指南,具体细则大家也可以多去浏览。
(https://wiki.archlinux.org/index.php/Installation_guide_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%29)

设置虚拟机

我的用的是vmware workstation虚拟机。首先先新建一个虚拟机,可选择Linux3.x内核,因为vmware没有针对Archlinux的快捷设置。内存分个1G就够用了,硬盘分个20G(需求按自己设定),网络类型选择nat(选择其他网络选项可能出现连接不到网络的情况)。注意如果你用优化软件优化过启动项,可能会把vmware nat服务给优化掉,这样进入虚拟机里面是没有网的,需要开启nat服务才行。然后剩下的都默认就行了。然后选择好下载好的Archlinux的镜像。

选择系统类型

进去以后会出现Archlinux的live iso的启动菜单。如果要安装64位的arch,就选择第一项x86_64;如果想安装32位的arch,就选择第二项那个86的选项。然后等待片刻,进入arch live iso的终端命令行。默认为root用户,拥有所有权限,可以使用任何命令。

测试网络状态

archlinux的整个安装过程离不开网络,所以在开始安装前测试网络尤为重要。可用以下命令测试是否有网。

# ping www.baidu.com

如果ping的结果是找不到该主机,可能是由于dhcp服务没有开启,使用

# systemctl dhcpcd.service

开启该服务

测试系统时间

# timedatectl status

查看一下系统时间状态,如果时间不对的话可以输入

# timedatectl set-ntp true

开启ntp服务,它会每隔11分钟进行一次网络对时。然后在查看一下系统时间状态。

测试存储设备

使用命令

# lsblk

命令查看一下存储设备状态。在sda节点下(准确的说是sdx,有几个设备就有几个sdx)看看有没有sda1这样的,每一个带数字的都是该物理硬盘分出来的区。依据我们刚才的设置,这里应该只有sda一个20G的硬盘。

硬盘分区

下一步就是分区。我们使用cfdisk将sda分成一个mbr类型的分区。其他分区方式可以参考archwiki。输入

# cfdisk

进入交互界面。该工具使用非常简便,先new出分区,容量全分了,然后改成bootable(也就是把那个星号打上);再把分区信息write进去,最后quit即可。然后再使用

# lsblk

命令查看,会发现现在sda节点下已经多出了一个sda1,也就是我们刚刚分出来的分区。

也可以使用fdisk命令对/dev/sda进行分区

# fdisk /dev/sda

具体操作大家自己学习学习fdisk命令哈。

在这里,我就分了三个区。(用fdisk命令分的)
/dev/sda1为根分区
/dev/sda2为家目录的分区
/dev/sda3为扩展分区
/dev/sda5为交换分区

对分区格式化

对于交换分区,格式化命令如下

# mkswap /dev/sda5

开启使用交换分区

# swapon /dev/sda5

格式化根分区和家目录分区

mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2

根分区和家目录分区可格式化为其他文件系统,按自己需求格式化吧。

挂载各个分区

使用命令

# mount /dev/sda1 /mnt

把根分区挂载在/mnt目录下
再使用命令

# mkdir /mnt/home

在/mnt目录下创建home目录,注意,如果你分了多个分区
需要挂载boot,usr,opt目录等,均要在挂载完根目录后在/mnt目录下创建各个分区的目录。再进行挂载。

使用命令

# mount /dev/sda2 /mnt/home

挂载家目录

安装系统

挂载好分区之后,就可以安装arch了。但是第一件事情是先修改一下arch的镜像源,使用国内的镜像会得到更快的下载速度。

修改镜像源需要编辑/etc/pacman.d/mirrorlist文件。可以先用nano查看一下该文件,查看完成之后使用Ctrl+X退出。

# nano /etc/pacman.d/mirrorlist

如果对vim编辑器熟悉的同学,可以使用vim对/etc/pacman.d/mirrorlist文件进行编辑,在没进入新系统之前一直都能用vim进行编辑。

我们利用正则表达式工具grep工具来将中国的源取出来。首先,先切换到软件源所在目录。

# cd /etc/pacman.d

然后用grep取出中国的源。用-A参数的话会用–分隔符分隔每一条匹配,因此再次使用grep工具去掉前一次结果产生的分隔符。

# grep -A 1 '##.*China' mirrorlist|grep -v '\-\-'> mirrorlist2

最后将中国的源放到镜像源列表的最前面。这里先反过来,将原来的镜像源追加到中国的源后面,然后将追加完成之后的文件替换掉原来的镜像源。

# cat mirrorlist>>mirrorlist2
# mv mirrorlist2 mirrorlist

镜像源修改完成之后需要刷新一下pacman的缓存。

# pacman -Syy

修改完镜像源,就可以开始安装基本系统了。pacman会从网络上下载最新的软件包开始安装。-i参数是在安装前进行确认,出现确认提示的话直接全选即可(一路enter)。

# pacstrap -i /mnt base base-devel

如果安装速度比较慢,那就稍微做点其他事等等吧。

配置新系统

安装完成系统之后需要生成fstab文件。生成之后需要查看一下是否生成成功。如果不成功需要重新生成。

# genfstab -U -p /mnt >> /mnt/etc/fstab
# nano /mnt/etc/fstab

进入新系统

然后就可以进入新系统进行配置了。先进入新系统。

# arch-chroot /mnt /bin/bash

进入新系统之后会发现命令提示符也发生了相应的变化。
在虚拟机安装Archlinux

区域和时间设置

区域设置需要设置两个文件:locale.gen和locale.conf文件。

先使用nano打开/etc/locale.gen文件,然后取消en_US.UTF-8、zh_CN.UTF-8、zh_TW.UTF-8三行的注释。然后运行locale-gen命令生成locale信息。

# nano /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可以设置root密码。

# passwd

安装启动加载器

先安装grub

# pacman -S grub

安装完成后,再使用

# grub-install --recheck /dev/sda

注意这里的分区不需要指定分区数字,不要写成/dev/sda1这样的。

如果没有错误提示的话,就说明安装成功。
然后自动生成一个配置文件,默认的配置文件可以适应大部分情况。

# grub-mkconfig -o /boot/grub/grub.cfg

配置网络

设置主机名

# echo myhostname > /etc/hostname

然后将其添加到/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
# umount -R /mnt
# reboot

图形界面安装

下面开始安装图形界面

Xorg
首先是装Xorg

# pacman -S xorg-server xorg-xinit

显卡驱动
下面安装显卡驱动
虚拟机的话,一般用这个就行。

# pacman -S xf86-video-vesa

这个时候startx是不能进入x界面(图形化界面)的,不过不用担心,请继续看后续教程。

以下有几种桌面可供选择

GNOME桌面

gnome桌面只要安装gnome包即可,还有一个gnome-extra包可以提供额外的常用软件和几个游戏,你可以安装时选择你要的软件,没有必要全选,当然也可以不装这个包,我这里只选了gnome-tweak-tool这个工具

# pacman -S gnome gnome-extra

然后安装gdm登录管理器

# pacman -S gnome gdm

将gdm设置为开机自启动,这样开机时会自动载入桌面

# systemctl enable gdm

Deepin 桌面

Deepin 桌面安装

# pacman -S deepin deepin-extra lightdm

软件

# pacman -S file-roller evince gedit thunderbird gpicview
# pacman -S unrar unzip p7zip

— 说明,据说Deepin桌面和Gnome不兼容,安装Deepin就要卸载Gnome,以及重新配置网络等

KDE5桌面

安装plasma5
1、安装基础包

# pacman -S plasma

2、安装完整包

# pacman -S plasma-meta

3、最简安装(仅有桌面软件)

# pacman -S plasma-desktop

然后是登录管理器SDDM

# pacman -S sddm

将SDDM设置为开机自启动

# systemctl enable sddm

XFCE4桌面

安装LXDM
LXDM是个桌面管理器,用来登录系统及启动XFCE桌面。

# pacman -S lxdm 
# systemctl enable lxdm.service

安装XFCE4

# pacman -S xfce4

经过以上步骤,可以通过下面的命令来启动XFCE4了:

# startxfce4

LXDE桌面

安装LXDM管理器和LXDE桌面:

# pacman -S lxdm lxde

设置lxdm开机启动:

# systemctl enable lxdm

startx 启动图形界面

如果你不想开机自动进入桌面,可以使用startx启动桌面,如果要使用startx,就不用安装登录管理器。

# pacman -S xorg-xinit

对你的startx配置文件进行设置

# nano /etc/X11/xinit/xinitrc

文件最后有这样一段,删掉或者注释掉这些内容

twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login

如果你使用的是gnome桌面,在最后添加

# exec gnome-session

如果是kde5,则添加

# exec startkde

然后保存文件,这时候,你已经可以使用startx来进入桌面了。
如果想要每个用户进入不同的桌面,你可以以用户身份登录,为用户复制一份单独的配置文件

# cp /etc/X11/xinit/xinitrc ~/.xinitrc

然后编辑~/.xinitrc即可

安装中文字体

你需要中文字体才能使用gnome-terminal

# pacman -S wqy-microhei

现在你已经可以使用你的系统了,输入reboot重启后系统即可自动进入gdm界面,然后进入桌面
安装常用字体:

# pacman -S ttf-dejavu wqy-zenhei wqy-microhei

创建新用户

# useradd -m -g users -G wheel -s /bin/bash 用户名

创建用户

修改用户密码

# passwd 用户名

安装sudo
为安全期间,我们可以用sudo来使用root权限

pacman -S sudo
将用户加入sudo组
在/etc/sudoers加入这个:

用户名 ALL=(ALL) ALL
也可以去掉#%wheel ALL=(ALL) ALL这一行前面的#
如提醒该文件是只读文件,管理员也无法更改的话,使用该命令

# chmod u+w /etc/sudoers

编辑完之后,安全起见,取消该文件的写权限

# chmod u-w /etc/sudoers

后续优化(以kde为例)

安装yaourt
Yaourt是archlinux方便使用的关键部件之一,但没有被整合到系统安装中的工具。建议在装完系统重启之后,更新完pacman和基本系统之后,就安装这个工具。
最简单安装Yaourt的方式是添加Yaourt源至您的 /etc/pacman.conf,在文件最后加入:

[archlinuxcn]
#The Chinese Arch Linux communities packages.
SigLevel = Optional TrustAll
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch

然后,用命令

# pacman -Syy

清理一下pacman数据库缓存,应该能看到archlinuxcn的字样。
最后用

# pacman -S yaourt

安装Yaourt部件。

中文输入法

这里安装ibus作为中文输入法

# sudo pacman -S ibus
# sudo pacman -S ibus-pinyin

在~/.bashrc里面加入

# export GTK_IM_MODULE=ibus
# export XMODIFIERS=@im=ibus
# export QT_IM_MODULE=ibus

然后在设置里启用输入法

你也可以安装fcitx:

# sudo pacman -S fcitx-im fcitx-configtool

同样的,在~/.bashrc写入

# export GTK_IM_MODULE=fcitx
# export QT_IM_MODULE=fcitx
# export XMODIFIERS=“@im=fcitx”

安装搜狗输入法

# yaourt -S fcitx-sogoupinyin

然后进入fcitx设置进行配置即可

安装谷歌浏览器

# yaourt -S google-chrome

至于桌面的美化,kde里面可供下载,大家可以打开system setting进行配置,有壁纸和主题供下载的。
最后希望大家都能装出一个属于自己的个性的archlinux吧。
附上我装的archliunux
在虚拟机安装Archlinux
在虚拟机安装Archlinux