VMware Workstation安装Arch Linux和Deepin桌面
Arch Linux 是通用 x86-64 GNU/Linux 发行版。Arch采用滚动升级模式,尽全力提供最新的稳定版软件。初始安装的 Arch 只是一个基本系统,随后用户可以根据自己的喜好安装需要的软件并配置成符合自己理想的系统。
VMware Workstation安装Arch Linux和Deepin桌面
安装条件
安装 Arch Linux,需要拥有一台 x64_86 兼容的 PC,其中至少有 512MB 的 RAM 和 800 MB 的可用磁盘空间。由于安装过程中需要从远程存储库获取软件包,所以还需要一个良好的网络连接。
安装 VMware Workstation Pro
到官网下载并安装 VMware Workstation Pro 。
下载 Arch Linux 镜像
进入 Arch Linux 下载页面,然后选择一个镜像源,例如我选择了 China 的 163.com , 点击下载后缀为 .iso
的镜像文件。
创建虚拟机
创建新的虚拟机 -> 典型 -> 下一步
选择刚刚下载的 Arch Linux iso 文件
选择 Linux 操作系统,选择 "其他 Linux 4.x 或更高版本内核 64 位" 内核版本
设置虚拟机名称,并选择虚拟机系统文件保存路径,根据实际情况设定
设置磁盘空间大小,这里以 20G 为例,同时选择将磁盘存储为单个文件(为了提高性能)
点击自定义硬件
内存、处理器视具体情况自行设置,移除打印机,设置网络适配器为 NAT (网络连接使用 NAT 模式,开机后就能联网),设置完成后点击关闭
Host-only: 虚拟机的网卡会连接到物理机的 VMnet1 上,但物理机并不会为虚拟机提供任何路由服务,因此虚拟机只能和物理机进行通信,不能连接到实际的网络上,即无法上网。
NAT: 网络地址转换(Network Address Translation)模式下,虚拟机的网卡连接到物理机的 VMnet8 上,此时物理机系统的 VMWare NAT Server 服务就充当了路由器,负责将虚拟机发到 VMnet8 的包进行地址转换之后发到实际的网络上,再将实际网络上返回的包进行地址转换后通过 VMnet8 发送给虚拟机。这种模式最简单,虚拟机系统不用做任何网络设置就可以访问外部网络。
Bridged: 桥接模式下,虚拟机拥有与物理主机相同网段的独立 IP,就像是局域网中的一台独立的主机,与物理机平等的存在于网络中。
取消勾选创建完成后自动启动虚拟机
本文以 UEFI 启动模式 + GPT 分区方案 为例,因为 VMware Workstation Pro 默认是使用 BISO 启动模式的,所以我们要设置成 UEFI,选择 编辑虚拟机设置 -> 选项 -> 高级 -> UEFI -> 保存
创建完成,启动虚拟机。
安装前的准备
启动虚拟机,如果出现需要选择启动的界面,则选择 "Boot Arch Linux (x86_64)" 并回车,进入命令行界面。
验证启动模式
验证是否使用 UEFI 启动,输入:
1 | ls /sys/firmware/efi/efivars |
如果目录不存在,系统可能以 BIOS 或 CSM 模式启动,需要设置虚拟机使用 UEFI (参考上面),本文以 UEFI + GPT 为例,所以需要确保虚拟机使用 UEFI 启动。
如果能看到命令输出了该目录下的文件信息,说明是使用 UEFI 启动的。
检查网络连接
用 ping 命令检查网络连接,确保系统能够正常访问网络
1 | ping www.baidu.com -c 4 |
更新系统时间
使用 timedatectl 启用 ntp,确保系统时间是准确的:
1 | timedatectl set-ntp true |
可以使用 timedatectl status
检查服务状态:
1 | timedatectl status |
创建分区表
首先使用 lsblk
或者 fdisk -l
查看硬盘的名称,磁盘若被系统识别到,就会被分配为一个 块设备,如 /dev/sda
1 | lsblk |
结果中以 rom
,loop
或者 airoot
结束的可以忽略。
可以看到我的硬盘设备文件名称为 sda
,它存放在 /dev 目录下,现在使用 parted 命令为这块硬盘创建分区表,指定分区格式为 GPT :
1 | parted /dev/sda mklabel gpt |
注意: parted 命令后的设备路径名称,根据实际情况而定。
建立硬盘分区
本文使用的分区方案如下:
- EFI 系统分区: 256MB,UEFI 引导必需
- Root 分区: 8GB,根分区
- Home 分区: 10GB,家目录分区
- Swap 分区: 剩余空间,交换空间
使用具有伪图形界面的 cfdisk 工具建立硬盘分区:
1 | cfdisk /dev/sda |
1 | Device Start End Sectors Size Type |
创建分区后,需要将 /dev/sda1
的 Type
设置为 EFI System
;将 /dev/sda4
的 Type
设置为 Linux swap
;根据实际情况设置。然后将光标移动到 Write
回车,输入 "yes" 并回车以保存修改,将光标移动到 Quit
退出。
此时可以使用 lsblk
命令查看一下分区情况。
格式化分区
当分区建立好了,这些分区都需要使用适当的文件系统进行格式化。EFI 系统分区 需要格式化成 FAT32 格式:
1 | mkfs.fat -F32 /dev/sda1 |
挂载分区
格式化完成之后,将分区挂载到 /mnt
,先挂载根分区,然后再挂载 EFI 分区、Home 分区(挂载前建议使用 lsblk
命令查看一下设备分区名称,以确认分区路径):
1 | mount /dev/sda2 /mnt |
安装 Arch Linux
选择镜像
文件 /etc/pacman.d/mirrorlist
定义了软件包会从哪个 镜像源 下载。在列表中越靠前的镜像在下载软件包时有越高的优先权。
1 | vim /etc/pacman.d/mirrorlist |
使用 vim 修改文件 /etc/pacman.d/mirrorlist
,查找到 ustc 的镜像源(使用国内源,速度快),将其剪切并粘贴到文件首部,保存退出。这个文件接下来还会被 pacstrap 拷贝到新系统里,所以请确保设置正确。
安装基本系统
此处必须联网,安装速度视具体网速和硬件情况定。
1 | pacstrap /mnt base |
安装 base-devel 包中的常用工具和 vim:
1 | pacstrap /mnt base-devel vim |
配置系统
Fstab
执行下列命令生成 fstab 文件 (用 -U
或 -L
选项设置 UUID 或卷标):
1 | genfstab -U /mnt >> /mnt/etc/fstab |
在执行完命令后后检查一下生成的 /mnt/etc/fstab 文件是否正确:
Chroot
切换到新安装的系统:
1 | arch-chroot /mnt |
时区
设置时区
1 | ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
使用 hwclock 设置硬件时间:
1 | hwclock --systohc |
本地化
本地化的程序与库若要本地化文本,都依赖 Locale,后者明确规定地域、货币、时区日期的格式、字符排列方式和其他本地化标准等等。在下面两个文件设置:locale.gen 与 locale.conf。
编辑 /etc/locale.gen
文件,移除 en_US.UTF-8 UTF-8
对应行前面的注释符号 #
,保存退出。
1 | vim /etc/locale.gen |
接着执行 locale-gen 以生成指定的本地化文件:
1 | locale-gen |
创建 locale.conf 并编辑 LANG 变量:
1 | echo "LANG=en_US.UTF-8" >> /etc/locale.conf |
网络
创建 hostname 文件,并设置主机名:
1 | echo "Arch" >> /etc/hostname |
编辑 hosts 文件:
1 | vim /etc/hosts |
在 hosts 文件中添加如下内容,保存退出:
1 | 127.0.0.1 localhost |
Root 密码
设置 Root 密码,执行以下命令,输入两次密码:
1 | passwd |
创建新用户
Linux 中不建议使用 root 用户登录,因此有必要创建一个其他用户,以用户名 wylu 为例:
1 | useradd -m -g users -G wheel -s /bin/bash wylu |
-G
选项同时将该用户添加到 wheel 组中,-s
指定该用户默认使用的 shell 为 bash 。
修改新创建用户的密码,同样输入两次:
1 | passwd wylu |
使用 visudo 命令修改 /etc/sudoers 文件:
1 | visudo |
取消 wheel 组的所在行的注释,授予 wheel 组用户执行 sudo 命令的权限,保存退出:
1 | ## Uncomment to allow members of group wheel to execute any command |
安装引导程序
如果在一个移动介质上安装 Arch Linux,需要安装 Microcode 软件包。
- 对于 AMD 处理器,安装 amd-ucode。
- 对于 Intel 处理器,安装 intel-ucode。
这里使用的是 Intel 的处理器,安装命令如下:
1 | pacman -S intel-ucode |
引导的方式有很多,这里使用 grub,顺序执行下面 3 条命令生成引导文件:
1 | pacman -S grub efibootmgr |
1 | grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck |
--efi-directory
指定 EFI 系统分区的挂载点,应根据实际挂载路径填写,--bootloader-id
是启动项中用来识别 GRUB EFI 的标记。
上述命令执行完成后 GRUB 的主目录将位于 /boot/grub/,接着需要生成配置文件 grub.cfg。
1 | grub-mkconfig -o /boot/grub/grub.cfg |
设置 dhcpcd 开机自启
设置 dhcpcd.service 开机自启,不然装完重启后无法上网:
1 | systemctl enable dhcpcd.service |
重启
- 执行
exit
退出 chroot 环境:
1 | exit |
- 执行下列命令,卸载被挂载的分区:
1 | umount -R /mnt |
- 关闭虚拟机:
1 | poweroff |
- 移除 CD/DVD
编辑虚拟机设置 -> CD/DVD(IDE) -> Remove -> Save
- 启动虚拟机
选择第一个选项启动系统,使用新创建的用户登录。
安装 Deepin 桌面环境
参考 Acris Liu 博客 VMware Workstation安装Arch Linux和Deepin桌面教程
安装 Git
1 | sudo pacman -S git |
安装 AUR 助手 yay
如果不想使用 yay
,可跳过该步,对于下面命令中的 yay
可以替换为 sudo pacman
。
使用 git 克隆并编译安装:
1 | git clone https://aur.archlinux.org/yay.git |
安装 bash 自动补全工具
1 | yay -S bash-completion |
安装 xdg-user-dirs
安装 xdg-user-dirs,用于生成用户 home 目录下的 Documents、Downloads、Music、Pictures 等文件夹:
1 | yay -S xdg-user-dirs |
安装 dde
安装基础组件,直接回车两次,默认安装 deepin 组的所有包。
1 | yay -S deepin |
安装扩展包,deepin-extra 组包含了一些额外的应用程序来提供一个更完整的桌面环境。
1 | yay -S deepin-extra |
安装 networkmanager
为了能够使用内置的网络管理,需要安装 networkmanager 包,并且 NetworkManager.service 需要被激活并设为开机自启。
1 | yay -S networkmanager |
设置开机自启:
1 | sudo systemctl enable NetworkManager.service |
现在开启:
1 | sudo systemctl start NetworkManager.service |
修改 lightdm 配置文件
要使用 DDE 默认的 lightdm greeter,必须修改 /etc/lightdm/lightdm.conf 的配置,将greeter-session设为lightdm-deepin-greeter:
1 | sudo vim /etc/lightdm/lightdm.conf |
取消注释并修改 greeter-session 如下:
1 | [Seat:*] |
设置开机自启:
1 | sudo systemctl enable lightdm.service |
重启或者直接启动 lightdm 服务,就能进入桌面环境了:
1 | sudo systemctl start lightdm.service |
安装 open-vm-tools
安装 open-vm-tools 和 gtkmm3:
1 | yay -S open-vm-tools gtkmm3 |
如果该功能无法正常工作,请尝试手动安装 gtkmm3 。如要启用客户机的拖拽与复制粘贴功能,则需要安装 gtkmm3 。
设置 open-vm-tools 开机自启:
1 | sudo systemctl enable vmtoolsd.service |