在VMWare上安装Arch Linux

一、为何选择Arch Linux

Arch Linux 是通用 x86-64 GNU/Linux 发行版。Arch采用滚动升级模式,尽全力提供最新的稳定版软件。初始安装的Arch只是一个基本系统,随后用户能够根据本身的喜爱安装须要的软件并配置成符合本身理想的系统。  —— 引自Arch Linux Wikiphp

  我就为了上面的最后一句话:”用户能够根据本身的喜爱安装须要的软件并配置成符合本身理想的系统“。而后本身就根据Arch Linux 的WiKi上的安装教程,再配合网上其余人的安装教程安装并配置本身的Arch Linux;另外说一句,Arch Linux的WiKi真的是很是全面,基本上能够解决平常使用中的大部分问题,并且大部分都有对应的中文翻译(这篇教程不少也直接引用了Arch Linux WiKi上安装教程的内容)。然而,就算有如此多的资源可用,但在实际安装过程当中仍是出现了很多问题。linux

  废话少说,下面就开始安装咱们的Arch Linux吧!shell

二、安装准备

2.1 准备

  因为我是使用VMWare workstation虚拟机(VMWare的安装和使用就不介绍了,网上一搜一大片)来安装的Arch Linux。新建一个虚拟机,而后我为Arch Linux在WMWare上分配了1G的内存和8G的硬盘,你也可使用更大的硬盘空间。要注意的是VMWare在新建虚拟机选择系统时是没有Arch Linux的选项的,这里我选择的是”其余Linux 3.x内核64位“,由于我使用的是x86_64的ISO映像文件;而后在虚拟机中设置下载好的ISO映像文件的路径便可,再在“虚拟机->设置->选项->高级”中勾选”经过EFI而非BIOS引导(B)“选项(其实这一步不是必须的,最要是看你使用什么方式来引导系统),最后直接启动虚拟机就能够开始正式安装Arch Linux了。vim

  先给出几个有用的Arch Linux的WiKi连接:安全

  一、Installation guide(简体中文)bash

  二、VMware/Installing Arch as a guest (简体中文)网络

上面两个连接对安装基本的Arch Linux其实就足够了,可是因为Arch Linux是“高度自治”的Linux发行版,因此在安装后须要根据本身的喜爱来配置系统(例如,对于图形桌面的选择,固然前提是你须要使用图形桌面),所以你还须要搜索你须要的其余信息。dom

2.2 启动安装archlinux

  好了,如今开始安装Arch Linux吧,使用EFI和BIOS引导时的启动界面分别以下图:tcp

 使用EFI引导时的启动界面ide

 

使用BIOS引导时的启动界面

不管使用哪一种引导方式,均选择第一项启动就能够了,启动成功后就会进入命令行模式,此时若是在真机上安装的话,能够在此处列出efivars目录以验证启动模式来判断主板是以何种方式引导系统的(这对以后对硬盘的分区有用):

ls /sys/firmware/efi/efivars

若是该目录不存在,系统就可能以BIOS模式启动。

2.3 链接到网络

  因为Arch Linux在启动后,守护进程dhcpcd已被默认启用以探测有线设备,所以,若是是在真机上安装的话,请确保使用的是有线网络。

  Arch Linux的安装必须使用网络才能完成,使用下面命令以验证网络是否正常:

ping -c 3 www.baidu.com

  若是网络不正常,多是因为dhcp服务没有开启,可使用如下命令来开启此服务:

systemctl enable dhcpcd.service

2.4 更新系统时间

  首先仍是验证一下系统的时间是否正常:

timedatectl status

若是时间和当前时间对不上的话,使用下面命令来更新系统时间:

timedatectl set-ntp true

ntp服务会每隔一段时间进行一次网络对时,更新系统时间后,能够再次验证一下时间是否正常。

2.5 创建硬盘分区

  硬盘若是被系统识别到,就会被分配为一个块设备,如/dev/sda;所以先查看一下硬盘的状态:

lsblk

 输出以下图:

这里sda便是我分配给虚拟机的8GB硬盘,由于sda节点下无任何显示,因此此硬盘尚未分区;loop0和sr0能够忽略。若是硬盘已经有分区,sda节点下应当会显示以下图:

具备3个分区的硬盘

 也可使用命令:

fdisk -l

来查看硬盘的分区状况。

接下来咱们要对这8GB的硬盘进行分区,可以建立分区的命令不少,如fdisk,parted,cfdisk等,这里使用有GUI的cfdisk命令(在真机上分区时,请认真检查你的硬盘是否选择正确,若是你有多个硬盘,可能你要用来安装Linux的硬盘并非以下所写的/dev/sda,而是/dev/sdb也说不定;或者你是想安装双系统):

cfdisk /dev/sda

 对于一个选定的硬盘,有一些分区是必需要有的:

  • 一个根分区(挂载在根目录)  /  ,
  • 若是 UEFI 模式被启用,你还须要一个 EFI 系统分区
  • Swap 能够在一个独立的分区上设置,也能够直接创建 交换文件

由于我前面设置的是EFI引导,所以须要在此处需分一个EFI分区(EFI分区推荐大小为512MB)。使用cfdisk分区命令后进入分区界面,以下图:

分区表类型选择

 这里咱们选择gpt分区表,进入以后,我就分了上面所讲的3个必要分区,分别为根分区,EFI系统分区,Swap分区:

使用cfdisk分好区

 分好区后确认写入分区到硬盘,而后退出分区工具,再次使用lsblk查看一下,显示以下图:

 已分好区后的硬盘

 2.6 格式化分区

  分区完成后,须要对分区作格式化处理,因为这里使用了EFI分区,由于EFI分区须要FAT32文件格式(若是是在真机上已安装有Windows的状况下安装Linux成双系统,且以EFI引导系统,则EFI分区不须要再次格式化),因此须要将其格式化为FAT32格式;根分区格式化为ext4格式;设置并开启Swap分区:

mkfs.fat -F32 /dev/sda1 mkfs.ext4 /dev/sda2 mkswap /dev/sda3 -L Swap swapon /dev/sda3

 2.7 挂载分区

  格式话完成后,须要将分区挂载到 /mnt ,先挂载根分区(这里是/dev/sda2);再挂载EFI分区(这里是/dev/sda1),挂载EFI分区时,须要在/mnt上先建立 boot/EFI  目录,而后将EFI分区挂载到/mnt/boot/EFI上;Sawp分区不须要挂载:

mount /dev/sda2 /mnt mkdir -p /mnt/boot/EFI mount /dev/sda1 /mnt/boot/EFI

三、安装基本系统

3.1 选择软件镜像源

  在安装基本系统以前,须要修改一下软件镜像源,否则安装基本系统时会安装不上。镜像源列表在 /etc/pacman.d/mirrorlist  文件中。

咱们选择软件镜像源时,最好选择国内的镜像源,由于国内网络环境的关系,选择其余国家或地区的镜像源,安装时可能很慢或失败也不必定。

下面首先添加了阿里巴巴镜像源到一个新文件(此处为mrlist),而后从mirrolist文件中选出全部国内镜像源追加到mrlist中,而后将mirrorlist文件的内容追加在mrlist的最后面,最后将mrlist重命名为mirrorlsit:

echo '## China\nServer = http://mirrors.aliyun.com/archlinux/$repo/os/$arch' > mrlist grep -A 1 'China' /etc/pacman.d/mirrorlist|grep -v '\-\-' >> mrlist cat /etc/pacman.d/mirrorlist >> mrlist mv mrlist /etc/pacman.d/mirrorlist

执行完以上命令后,可使用如下命令来查看mirrorlist文件是否修改为功:

nano /etc/pacman.d/mirrorlist

若修改为功,会看到mirrorlist文件中的开头的内容全是国内的镜像源。最后,建议将16三、清华(tuna)放在最前面。

3.2 开始安装系统

  修改完软件镜像源后,而后就能够开始安装系统了:

pacstrap -i /mnt base base-devel vim

 使用-i选项会在实际安装前进行确认;安装 base-devel组,可让咱们经过 AUR (简体中文) 或者 ABS (简体中文) 编译安装软件包,若是不须要经过AUR或ABS安装软件包,则只须要安装base组就能够了 

四、配置系统

4.1 Fstab

  等待基本系统安装完成后,用如下命令生成 fstab 文件 (用 -U 或 -L 选项设置UUID 或卷标):

genfstab -U /mnt >> /mnt/etc/fstab

 而后使用如下命令检查一下生成的fstab文件是否正确:

nano /mnt/etc/fstab

若是生成的fstab文件正确,会看到以前分的3个分区的信息。

4.2 Chroot

  切换到新安装的系统:

arch-chroot /mnt

chroot以后,当前目录就变成为 。此步会自动进行建立初始的ramdisk环境,可是若是之后更改了内核配置了的话,最好使用一下命令再从新生成ramdisk环境:

mkinitcpio -p linux

4.3 设置时区

  而后将系统时区设为东八区:

ln -sf /usr/share/zoneinfo/Asia/Chongqing /etc/localtime

设置时间标准为UTC,并调整时间漂移:

hwclock --systohc --utc

4.4 配置Locale

  这一步对使用地区和语言等进行配置。在/etc/locale.gen文件中进行配置,locale.gen是一个仅包含注释文档的文本文件。指定须要的本地化类型,只需移除对应行前面的注释符号()便可,使用下面命令打开locale.gen文件:

nano /etc/locale.gen

而后找到下面3项,去掉每项前面的#便可:

en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8

locale-gen生成Locale信息,并列出全部启用的Locale:

locale-gen
locale -a

最后建立locale.conf文件,并提交所要使用的本地化选项,而后使用locale命令显示当前正在使用的Locale和相关的环境变量:

echo LANG=en_US.UTF-8 > /etc/locale.conf
locale

/etc/locale.conf用来配置整个系统所使用的Loacle,而这也能够由用户经过用户本身的 ~/.config/locale.conf (~表示当前用户的Home目录)来覆盖整个系统的Locale配置。

提示:创建 /etc/skel/.config/locale.conf 文件,能够在新用户的创建(新用户的创建见下文)且同时建立用户主目录(useradd -m)时,自动应用其中的Locale(会将此文件复制到新建用户的 ~/.config/locale.conf 中)。

注意:不推荐此时设置任何中文locale,由于这样作可能会致使tty显示乱码。

4.5 设置主机名

  要设置主机名,建立 /etc/hostname 文件并将主机名写入该文件便可。个人主机名为freeLinux:

ehco freeLinux > /etc/hostname

而后配置主机名对应的IP到 /etc/hosts  中:

nano /etc/hosts

将其中的主机名改成你本身的主机名(我这里是freeLinux):

127.0.0.1 localhost.localdomain localhost ::1 localhost.localdomain localhost 127.0.1.1    freeLinux.localdomain    freeLinux

4.6 网络配置

  若使用有线网络的话,启动dhcp服务:

systemctl enable dhcpcd.service

若使用无线网络的话,则安装如下几个软件包(由于使用的时虚拟机,并未验证过):

pacman -S iw wpa_supplicant dialog

4.7 设置Root用户密码

  设置root密码:

passwd

而后输入两次密码便可。

4.8 建立新用户

  由于使用root用户登录后,root用户拥有系统的全部操做权限,这样对系统的操做很是不安全(如一不当心将系统文件删除了,怎么办?),因此须要新建一个普通用户,让其对系统的操做受到必定限制,使用下面命令新建用户free:

useradd -m -G wheel -s /bin/bash free
  • -m:建立用户主目录(/home/[用户名])
  • -G:用户要加入的附加组列表;此处将用户加到wheel组中,以后能够给这个组执行sudo命令的权限
  • -s:指定了用户默认登陆shell的路径,此处设置为bash的路径

更多建立新用户的使用请查看Arch Linux WiKi:Users and groups(简体中文)

而后修改新建立用户的用户密码,和修改Root用户密码所使用的命令同样(只是须要指定要修改密码的用户名):

passwd free

而后输入两次密码便可。

之后大部分时间咱们都将使用此普通用户来工做,但因为此用户的操做权限有限,有时会对不少操做带来不便,所以须要给该用户在某些状况下提权,这就须要容许该用户所在的wheel组有执行sudo命令的权限,此时须要修改 /etc/sudoers文件 ,但请不要直接修改此文件,而是用下面的命令修改:

visudo

使用上面命令打开sudoers文件后,删除wheel组前面的注释(#)便可:

## Uncomment to allow members of group wheel to execute any command %wheel ALL=(ALL) ALL

若执行visudo时,提示找不到vim,则请先安装vim后在执行上面的操做,执行下面指令安装vim:

pacman -S vim

4.9 安装grub

  grub是一个启动引导器,同时支持EFI和BIOS方式的启动。若使用的UEFI方式引导系统,则还须要安装efibootmgr,若是是双系统的话,还须要安装os-prober,且若是使用Intel CPU的话,则须要安装 intel-ucode 并启用因特尔微码更新

由于咱们使用的是虚拟机和UEFI引导方式,所以只须要安装grub和efibootmgr:

pacman -S grub efibootmgr

而后,还须要将其安装到EFI分区当中:

grub-install --recheck /dev/sda

注意:此处的 /dev/sda 后没有数字。

若提示 error:cannot find EFI directory,则说明EFI文件夹的路径不正确,找不到EFI文件夹的位置,此时就须要在上面命令中加入 efi-directory 参数指定安装路径:

grub-install --recheck /dev/sda --efi-directory=/boot

最后还须要生成一个grub的配置文件:

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

提示:如是在已经有Windows系统的PC上安装Linux成双系统,那么因为在安装介质环境中,此时可能检测不到Windows系统。在以后重启后进入Arch Linux后,再从新执行一遍此命令,这样就能检查到全部的系统了。

4.10 重启系统

  到此,Arch Linux的基本系统的安装就完成了。如今须要重启以进入新系统:

exit umount -R /mnt reboot

下图显示为使用exit命令退出chroot环境先后的命令提示符:

退出chroot环境以前

退出chroot环境以后

若使用exit没法退出chroot环境,请多输入几回或则请使用Crtl+D组合键多试几回。退出chroot环境后再执行以后的操做便可。

重启系统以后,会出现下图启动界面:

 

重启以后的启动界面 

 选择第一个就进入到咱们新安装的Arch Linux了,以下图:

 

进入新系统以后的界面

 而后咱们直接使用前面建立的free用户登录到系统,以下图:

使用free登录到系统

这样,Arch Linux的基础系统就算安装完成了。

因为尚未安装桌面,因此登录后还处在命令行模式。之因此使用free用户登录而不直接使用root用户登录(实际上这也是安全的方式,除非你肯定知道你想以root用户登录作些什么),是由于我以后只想默认在free用户下安装和启动桌面;而若是使用root登录时,默认仍是继续运行在命令行模式,而若是想要在root用户下使用桌面,则还须要相关的配置。

桌面及其基本软件的安装等配置,以后再写吧!

相关文章
相关标签/搜索