先读一下前面这段话,以决定是否要看下去:
这是写给纯小白的Arch Linux安装步骤。Arch的可配置自由度太高,所以网上很难找到线性的,一步不漏的详细安装过程。实际上因为每个人的需求不同,安装时的配置过程也不尽相同,所以也无从谈起“一步不漏”这个说法。
笔者也经历过从纯小白到菜鸟的过程,在学习过程中发现大部分高手的教程要么极简,简到小白就算跟着教程也显得无所适从,要么个性化太强,即使有些教程非常详细非常优秀,但是由于每个人的配置环境不同,而没有对通用环境下作出解释,一个细小的问题,在小白那里,可能就是拦路虎。我是在经历过几十次重装,笔记本台式机三台完全不同的电脑反复折腾,加认真阅读wiki才终于算是第一次配置好自己还算满意的Arch Linux系统的。在这个过程中,深有体会的是,其实小白玩archlinux最开始的时候就是需要这样一个不考虑个人需求和个性配置,能够适应大部分场景需要的详细教程。需要先解决掉系统能不能跑起来 ,能不能顺利进入桌面环境的问题,然后才考虑Arch的可配置自由度。顺便在第一次顺利安装的喜悦和经验中,再来慢慢熟悉linux和Arch Linux的概念。
所以,这是一篇写给linux纯小白的教程,高手们可以飘过。这是一次引导小白用户顺利安装配置一台日常办公学习上网环境Arch Linux的过程。这里没有高深的知识,没有编程,没有服务器,不解释复杂的例行和参数。但是这是一次线性的安装过程。只要跟着走,一步不错,绝大多数人能够成功安装,进入桌面环境,并配置好输入法,办公软件和浏览器等基本工作环境。并且通过这次安装配置,达到了解认识Arch Linux,在头脑里形成基本概念,学习基本操作方法的目的。
所以,这份教程的目标读者人群——你要会用电脑,至少会开关机,会上网,会打字,熟悉一般的电脑操作。最好多少用过windows的命令行,至少见过,不害怕面对满屏字符的黑白屏幕以打字的方式输入命令。同时有愿望了解和试用一下linux。特别是大名鼎鼎的以技术宅为标志的滚动发行版Arch Linux。解说力求详细直白,所以对于有一定技术基础的读者来说可能有些啰嗦。
下面是对还想读下去的人做的说明:
以下的整个安装配置过程,为了避免安装失败,电脑小白最好每个字都要读。
首先请放心,这里面没有深奥的知识,没有编程,没有很多技术难点,只需要仔细阅读并且跟着做。只要跟着做,做不错,成功安装配置不难。
然后考虑到通用性,这次安装不是最简单快捷的步骤,也不是系统最轻量级,最小化安装,不过力求不附加多余软件包和多余操作,以使电脑占用资源更少。只是力求大多数人跟着做能顺利完成。本安装过程以配置学习,上网,办公用电脑操作环境为目的。从安装基本Arch Linux操作系统开始,也就是命令行模式的操作系统,然后安装面向用户的桌面操作环境,桌面环境随着安装过程,同时解说两种。一种Kde-plamsa5,适合台式机和较新的笔记本电脑,这种比较吃资源,但是界面华利,可自由配置度高。另一种Xfce4是轻量化桌面环境,适合性能一般或者较老旧的电脑。最后还要配置好基本的应用软件。小白用户比较习惯一成不变的微软windows界面,这里要特别说明,Linux的桌面环境,只是附加在系统上的一个软件,前期安装的命令行模式才是基本系统环境。所以桌面环境的自由度非常高,每一部分几乎都可以随意拆解组装,组合成任意你喜欢的样子。
然后,这个过程需要一个U盘作为安装盘,需要准备一个2G以上的U盘。当然如果你有刻录机,并且会刻录,刻到一张光盘上也是可以的。但是请记得选择“刻录镜像文件”而不是简单的把下载到的安装文件拖进去。由于U盘更方便,我们这次以U盘作为安装盘。光盘的唯一不同是从光驱启动而不是从U盘。其他都是一样的。
再者,由于各种电脑品牌不同,从U盘或者光盘启动电脑的方法也不完全相同,所以你要自己去搞定如何从U盘启动。目前大多数电脑是开机时在你的品牌Logo出来以前按F12键进行选择。很直观的画面。但是更老的电脑需要进入BIOS调整启动顺序。请使用百度或者请教身边的人。前面说了,因为每个品牌有所不同,所以在这里没法统一说明。只要能统一说明的内容,本篇都会详细说明。
然后,我们开始……
我们的操作是在真实的电脑上进行,不是在虚拟机软件里。所以,准备一台你打算安装Arch Linux的电脑。安装过程中会从网络下载大量内容,所以这台电脑必须是接入网络的。为了节省步骤,最省事的完成,请使用有线接入,即使你是笔记本电脑。
首先去下载最新Arch Linux安装镜像 就是下面那个BT下载,一个红色小磁铁和一个绿色向下表示下载的小箭头。两个随便哪个都行,用迅雷就可以。需要注意的是,Arch Linux是滚动发行版,搁置太久的镜像文件不要用,一定要使用最新下载的安装镜像。
下载到的应该是一个扩展名(扩展名就是文件名的"."后面那一部分)为iso的文件。这个扩展名在windows系统里,需要设置“文件夹选项”显示隐藏的扩展名才能看到。
然后我们需要一个软件把下载到的安装镜像文件写入U盘。有些情况直接拷进去是可以的,但是不是所有情况都可以。但是所有情况下用软件写入U盘都可以,所以我们用rufus(此处提供的是windows版) 这个软件把镜像写入U盘。rufus不需要安装,下载后直接打开。很简单,正常的U盘插上会自动认出来,如下图,只需要点击“创建一个启动盘使用”后边的光盘图标,选择下载到的Arch安装镜像,然后点开始即可。如果有提示要下载两个插件,说明是第一次使用,点“OK”。
将下载的安装文件写入U盘需要注意的是Windows上流行的U盘写入软件“软碟通”适用于很多版本的Linux,但是不适用于arch。从U盘启动的时候会停在一个EDD错误。
为安装准备硬盘空间
打算整台电脑上只安装一个Arch Linux,不保留Windows的,这一部分可以不看,直接跳到“从U盘启动”。实际上这一部分全部可以在U盘启动电脑后安装过程中完成,但是下面介绍的方法更直观,更便于操作。
下面来为安装系统准备必要的硬盘空间。对电脑小白们来说,这个步骤以及以下的安装时分区可能是最难的部分。这里分两种情况。
一种是电脑上原本安装有一个windows系统,现在要安装一个linux系统进去,与windows系统共存。需要哪个系统的时候启动哪个。另一种是电脑上原本的系统不要了,单独安装一个Arch
Linux进去。后一种非常简单。我们先说前一种情况。对电脑小白来说,前一种情况最简单的做法,就是去windows里面,利用系统的磁盘管理工具先给即将安装的Arch
Linux腾出一块空间。下面是详细的操作步骤。
首先打开电脑启动到windows。不管是XP,还是windows7,或者10,操作是一样的。界面也大致相同。在“我的电脑”上点右键,然后点“管理”。win10默认应该叫“此电脑”或者你把它改成了别的名字。总之在上面点右键,然后点“管理”,然后在出来的界面上,点“磁盘管理工具”。看到类似下面的画面。不同的系统和分区方式略有不同。接下来的操作都是一样的。
微软windows磁盘管理器这里是你电脑上安装的所有存储设备的情况。不止是硬盘,光驱和U盘(如果已经插入)也在这里。下面要有一段对硬盘分区比较长的解释。不过这一段解释不看也没关系。接下来的操作照样可以进行。上图中是我的电脑。安装有两个硬盘(磁盘0和磁盘1),一个U盘(磁盘2),还有一个光驱。你的电脑上可能只有一个硬盘。这个不重要。重要的是,注意观察上图。深蓝色的分区是主分区,浅蓝色的分区叫扩展分区,绿色的是空闲没有使用的空间。因为这篇东西是写给纯小白们读的,所以我们不解释很多关于硬盘的分区,关于不同格式的区别,关于MBR和GPT。尽管这些对深入学习Linux都有影响,但是现在对小白们来说不重要。现在要做的是看看哪个分区里面资料少,空间大,能够空出来给我们的Arch Linux使用。原则上,尽量把最后一个分区空出来,去“我的电脑”里把该分区下需要保留的资料复制粘贴到其他硬盘分区。然后把空出来的分区删掉。是删掉整个分区,不是格式货。方法是在上图中该分区上点右键,然后点“删除卷”再确认。注意,这会抹掉该分区里所有内容,而且过程不可逆。然后该分区就会变成象上图中磁盘1绿色的部分那种“可用空间”。这就是为Arch Linux准备好的空间。关于这个空间的大小,对于初步的接触和学习来说,至少要30G以上。安装系统及其他一些后面讲到的目录,需要15-20GB左右,还要有一个至少相当于你内存大小,最好是内存2倍大的交换空间。然后才是将来在Linux下供用户使用的空间/home。所以如果小于30G,装是可以装上,但是基本上没有空间给用户存储数据使用了。
另外,如果你的Windows下的分区空闲空间足够大,不是必须删除整个分区。可以从空闲空间里分割一块出来。方面同样很简单,在磁盘管理器(上图界面)中该分区上点右键,然后点“压缩卷”,会让你输入一个数值,输入的是你要分割出来的空间大小。这个数值1000大约相当于1GB空间。要分多大出来,就输入多少,最大不能超过该分区的空闲空间大小。然后下一步确定就好了。会有一个整理数据和分割的过程,不用管他,等他整理完“空闲空间”出现就完成了。再一个提醒是:中间有分区间隔的空间不会合并在一起给你用,所以,不要想着从每个分区里拿一个空间出来凑足需要的空闲空间。
从U盘启动电脑
插入U盘启动电脑前,首先要插上网线,路由器上ip设置成由DHCP分配。可以在windows下先看一下现在的ip是不是由DHCP分配的。如果你的ip是手动设定的,寻找你的路由器说明书,如果没有网上搜一下,一定会找到相关说明。在路由器上设置ip获取方式由DHCP分配。即使你是笔记本电脑也请插上网线。相信我,对Linux小白说明白在命令行模式下连接无线是件非常麻烦的事。
电脑的引导启动顺序,一般开机时会有提示,大部分最近几年的电脑按F12进入选单。比较老的启动需要进入BIOS手动修改引导顺序。各种电脑不完全相同。笔记本电脑更是花样百出。联想和ThinkPad品牌按F12,索尼按F11,还有些按F2或者F9。请网上搜索你的电脑选择方式或者请教身边懂电脑的朋友。成功进入选择菜单会看到类似这样的界面:
启动顺序选择界面界面可能略有不同,但是大同小异。使用上下方向键选择“USB HDD”如果使用刻录光盘启动选择你的光驱。然后回车。
接下来如果情况正常,看到的就是下面这样的画面。有两种情况,第一种情况是下面的画面,是使用EFI或者比较老的BIOS启动形式,或者单BIOS启动。第二种情况是使用单EFI启动,你看到的会是一个有差不多的选单,但是黑白界面,选项中带有UEFI字样。如果是另一个画面,只能选择第一项,然后按回车启动。如果是下面这个画面。有两个选择,第一项是64位系统,第二项是32位系统。根据自己的电脑配置选择。Intle酷睿双核以上的CPU都支持64位系统,如果内存不小于2GB,建议选择64位安装。选择第一项,回车。
启动前版本选择然后看到的应该是一屏字符在刷屏,最后停留在如下图的提示符。这里将是新手遇到的第一个拦路虎。很有可能有人会在这里报错,无法启动成功。下面是成功启动后的画面。如果不是这样,说明启动没有成功,最有可能出现的问题是启动U盘制作不正确,或者启动时版本选择不正确。重新制作一次U盘,重新检查一次你的电脑是否支持64位系统,你的选择是否正确,然后重复从U盘启动。
Linux这个提示符和windows里的不太一样,但是不用管他,实际上这个是一个叫bash的命令行终端的提示符的样子,是Linux自带的基本的终端操作模式。这个bash为我们提供了安装和操作Liunx系统必要的界面。等我们利用这个bash的界面安装完基本系统,为了命令终端更好用,还会安装另一个叫zsh的命令行系统来替代它。因为Linux这个东西用命令行操作很多时候比图形桌面环境更便捷,所以还有很多各种各样的命令行的界面,看到什么样的界面也不必惊奇。Linux就是这样一个东西,每一个模块都是单独的东西 ,可以安装,也可以删除。
前面说过电脑使网线连接网络,正常情况下Arch Linux能自动加载绝大多数个人电脑上的有线网卡,并连接到网络。首先要通过一个命令验证一下网络有没有连接成功。这是从安装开始,第一次输入命令,有必要的说明是,Linux与Windows不同,在Linux系统中是区分大小写的。所以命令不能打错。下面输入下面的命令回车:
ping -c 4 www.sina.com
在上面这个命令中,“ping”是命令,“-c 4”是为命令设定的条件,“www.sina.com”是新浪网的网址,网址可以替换成确定能连接上的较大国内网站的网址。如果网络是通的,会得到类似如下图的结果:
网络状态是通的还要确定本机使用UEFI启动,还是传统的BIOS启动。输入下一个命令:
efivar -l
回车以后,如果返回一堆变量,刷满满一屏,说明电脑是UEFI模式启动,如果返回一行错误信息,说明电脑由传统BIOS模式启动。以下过程中会对两种不同启动模式下适用的操作分别作出说明,要注意区分。
分区和格式化硬盘
网络接通,确定启动模式以后,就要开始对准备好的硬盘空间进行分区和格式化。这一步要仔细操作,特别是电脑上同时装有其他系统和数据的新手,误操作有可能造成另一个系统的损坏和数据丢失,而且这个过程是不可逆的。
首先查看存储器也就是电脑的硬盘现在的状态,输入命令:
lsblk
回车得到如下图结果:
这里对新手来说比较复杂,但是只要细心就不会有问题。在只装有一块硬盘的电脑上,看到的只有sdaX的分区情况,有多少个分区,就到几。这里后面的a,b,c等代表的是第几块硬盘,后面的数字代表的是本硬盘上的第几个分区。需要说明的是:有些人看到的可能是sda1,sda2,然后就会跳到sda5。因为硬盘的扩展分区规定从sda5开始,如果在sda5以前后面的数字有间隔,不是连续的,说明从sda5开始以后的分区属于扩展分区。如果你看到的是hda,hdb,没有关系,只说明你的电脑是比较老的硬盘,操作是一样的,只是在所有操作中把sda替换成hda即可。
如果电脑中安装有不止一块硬盘,那么还会看到sdbX,sdcX就要看有几块硬盘安装在电脑上了。还需要注意,启动和安装系统使用的U盘,也会显示在这里。在我的电脑上只有一块硬盘,所以U盘被显示为sdb。下面使用cfdisk对硬盘进行分区。输入命令:
cfdisk
我要对sda进行分区,所以不需要指定硬盘,cfdisk命令默认对sda操作。如果你的电脑上安装有不止一块硬盘,并且你不打算对第一块硬盘操作,那么需要指定相应的硬盘。比如要对第二块硬盘进行分区,输入命令变成:
cfdisk /dev/sdb
dev就是device,电脑上的所有硬盘都在/dev下,所以每次指定对硬盘的操作,前面一定有这个/dev。目前这个问题不要深究。进入如下界面:
cfdisk分区软件界面我这里因为是已经安装好的中文系统中,所以是中文的。安装过程中应该是纯英文环境。可以对照上图进行操作,界面是完全对应的。此时开始,几种情况要分开操作。
之前在Windows系统中空出空闲空间的,这里会看到空出的空间。直接用上下方向键选中空闲空间,下面的菜单会改变成新建分区的操作菜单,开始新建空间就可以。
如果是新硬盘这里只有一个空闲空间,也可以开始新建分区。
如果是旧硬盘但是打算在电脑上只安装一个Arch Linux操作系统,就从如上图的界面开始,上下方向键键中一个分区,左右方向键选“删除”。直到全部删掉。之前没有在Windows中事先留出空闲空间,但是要保留Windows系统的也可以在这里操作,但是需要自己非常熟悉硬盘的分区大小信息,能根据上面的图标确认哪个分区是可以删除的。这一点对小白比较难,所以之前建议去Windows的图形界面中直观的操作。
空出空间以后开始为Arch Linux系统分区。Arch Linux是可以不分区的,只建立一个分区直接安装可以通过。但是万一需要重装系统,会把整个分区格式化,个人存储的文件和数据都会随着丢失。一般建议分四个区。还可以分更多区,把根目录下的所有目录都单独挂载到一个分区。但是对个人电脑来说,既没有必要,也没有好处。
这四个区分别是:
/mnt分区,用来存储系统和将来安装的软件,这个分区一般要15G-20G合适,视未来计划安装多少软件决定,也可以更大。
/boot分区用来存储启动信息,该分区有200M足够了。
/swap分区,作为交换空间,相当于Windows的虚拟内在,该分区大小看电脑的内存情况,小于或等于2G内存设置为内存大小的至少2倍,大于2G可以设置为内存大小,足够大的内存甚至可以不要这个分区。
/home分区,用于存储用户的数据,该分区就是用户自己使用的分区,所以硬盘剩余的空间都留给这个分区就对了。
下图是在硬盘空闲空间上建立分区的界面:
新建分区选中剩余空间,选择新建分区,分区的大小需要手动输入,直接输入多少g或者多少m就可以。新建立系统的安装分区也就是/mnt的分区,再建立/boot分区,然后建立交换分区/swap,最后剩余的空间都留给/home分区。如果是BIOS启动模式,选择“新建”回车后有可能需要选择建立“主分区”还是“扩展分区”(硬盘中没有分区或者主分区不足4个,就会询问,如果已经有4个主分区就不会询问,默认建立扩展分区。EFI模式可以建立无限个主分区,所以不会询问,直接建立主分区)。原则上尽量使用主分区。如果主分区用尽,建立扩展分区是注意不要修改分区大小,直接回车,因为扩展分区本身不是一个分区,回车后会发现扩展分区下的硬盘还是剩余空间,只是被划分到扩展分区下了。继续在剩余空间上操作分区。按上面说明的分区大小,分别建立四个分区。然后在退出前需要选择“写入”。并在下方输入“yes”,是完整的yes不是输入一个y。然后选择退出就会退出到命令提示符。再输入一次lsblk命令以查看新建分区的情况。
确认分区建立无误,需要对建好的分区进行格式化。以下命令中以全新硬盘只有这四个Linux分区为例。指定硬盘分区的具体数字根据实际情况替换。
格式化根分区,也就是前面说的/mnt分区:mkfs.ext4 /dev/sda1
格式化/boot分区,为了通用性该分区格式化为fat32格式:mkfs.vfat -F32 /dev/sda2
格式化交换空间/swap分区:mkswap /dev/sda3
格式化用户的数据空间/home分区:mkfs.ext4 /dev/sda4
格式化为ext4分区时通常需要输入“y”确认,其他操作没有报错就是通过。然后需要将分区挂载到目录。也就是告诉系统哪个分区分别用作存储什么内容。
挂载根分区:mount /dev/sda1 /mnt
首先需要根分区,其他一切分区目录都挂载在根后面。
挂载boot分区分两种情况,一种情况是传统BIOS启动模式,一种情况是UEFI启动模式。还记得刚开始先用一个命令来查看系统的启动模式吗,就是为了这里。首先要在根目录下建立相应的目录。
BIOS模式建立:mkdir /mnt/boot
UEFI模式建立:mkdir -p /mnt/boot/EFI
UEFI模式下建立了两个目录,boot和EFI。多出来的这个EFI可以单独挂载,也可以与Windows系统的EFI分区共用。为了对小白清晰理解,我们直接把他挂载到分好区的boot分区。挂载这两个目录:
BIOS模式挂载:mount /dev/sda2 /mnt/boot
UEFI模式挂载:mount /dev/sda2 /mnt/boot/EFI
swap交换分区不需要挂载,但是需要启用,输入命令:
swapon /dev/sda3
建立home分区目录并挂载分区(由此处可以理解,linux系统的每一个文件夹都可以单独建立并单独挂载到一个独立的分区。但是每个目录都必须在/mnt后面):
mkdir /mnt/home
mount /dev/sda4 /mnt/home
再次输入lsblk命令查看硬盘分区情况,没有意外的话,每个相应的分区后面应该已经标注了所挂载的目录。到目前为止,分区和挂载已经全部完成,下载就是安装系统了。以上过程如有报错不通过的情况,为了节省排查问题时间,可以直接从重新执行cfdisk命令重新分区开始。重新分区前,已经挂载好的目录需要把命令改成umount卸载。
安装Arch Linux基本系统
安装Arch Linux需要从网络下载大量数据,而且主服务器在国外。因为众所周知的原因,使用国外服务器超载会非常慢。因此,在这之前最好修改为首选使用国内镜像网站下载,速度通常会提高很多。执行下载命令:
nano /etc/pacman.d/mirrorlist
这里的“nano”是系统自带的文本编辑器,这条命令是使用nano这个文本编辑器打开了“mirrorlist”这个文件。在打开的文件最上面输入以下内容:
Server = http://mirrors.163.com/archlinux/$repo/os/$arch
Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
以上两条分别是添加了网易开源镜像网站的源和阿里云的开源镜像源。可以都添加,也可以添加一个,还可以从网上搜索其他镜像源使用。有搜狐,腾讯,清华大学,重庆大学,上海交大,西南科技大,兰州大学等众多的辆镜像源可供选择。视自己网络的访问速度尽量使用比较快的源。添加国内源的部分,不一定添加哪一个源,也不能确保每个源随时都能用,所以也可以不添加,系统会自动扫描全世界可用源里面速度较快的下载数据。
编辑好以后按“Ctrl+X”,然后按“y”回车保存退出。然后输入以下命令刷新:
pacman -Syy
执行以下命令真正开始安装Arch Linux系统:
pacstrap -i /mnt base base-devel
执行命令后会出现几个选择软件包的提示,全都是“默认=all”,敲回车默认安装。然后要输入一个“y”确认安装。然后开始从镜像源下载并安装。下载过程中会有意外断流的提示,不用担心,系统会自动从其他源尝试下载,只要还在走,就是没有问题。等待安装完成。
安装完成重新返回到命令提示符下,需要生成fstab文件。fstab是一个关于文件系统的文件。在开机时就这个文件告诉引导程序文件系统的挂载情况。我们的配置现在都是基于U盘启动环境的安装盘。电脑上安装的系统中并没有配置情况,执行以下命令在电脑中生成fstab文件:
genfstab -U -p /mnt >> /mnt/etc/fstab
为了确保无误,用文本编辑器打开看一下文件是否成功生成:
nano /mnt/etc/fstab
fstab文件生成无误,按Ctrl+X退出nano文本编辑器。
到目前为卡,操作一直在U盘启动的环境里进行。下面要进入新安装的电脑系统中继续以后的安装和配置。执行下面命令进入电脑的新安装系统:
arch-chroot /mnt /bin/bash
现在我们进入了电脑本身的系统。先要做一些配置工作。此时的电脑只有系统,但是没有引导文件,所以此时不能重启,否则电脑是不能启动的。需要继续配置。
系统中默认有一个用户叫“root”。这是个超级用户,拥有对系统的一切权力。即使让系统删除自己本身也会执行无误,所以我们首先要给root用户设置密码。现在我们安装系统默认使用的就是超级用户。输入下面命令来设置密码:
passwd
象我们熟悉的那样,密码需要两次确认输入。然后就生效了。
在Windows环境下我们的电脑都有一个网络ID,比如在办公环境的网上邻居里,你与同事交换文件时就可以看到。Linux下电脑同样需要一个名字。下面来配置电脑的主机名:
echo 你电脑的主机名 > /etc/hostname
然后打开/etc下的hosts文件,把主机名字进去:
nano /etc/hosts
看,我们已经在主机的根目录下,所以再编辑里面的文件,就不再需要前面的/mnt了。当然你输入上也不会出错。我们本来就在根目录下面,只是显得有点多余而已。就象你在自己家对孩子说:给爸爸从咱家的冰箱里拿瓶啤酒。这个“咱家”是没有必要的。言归正传,打开文件以后交主机名添加在如下示例的位置:
#<ip-address> <hostname.domain.org> <hostname>
127.0.0.1 localhost.localdomain localhost 你电脑的主机名
: : 1 localhost.localhost localhost 你电脑的主机名
添加好以后按Ctrl+X,按“y”,按回车保存退出。
安装grub引导系统启动
前面提过,现在的系统还不能引导启动电脑。现在来安装grub使系统能够引导启动。安装grub使用的是pacman,这是Arch Linux的软件包管理器,担负着安装,卸载软件,更新系统,删除无用的软件包等众多的任务。此后在Arch Linux中,会经常用到这个命令。还有众多不同功能的参数。
grub是一个引导器,同时支持UEFI和BIOS启动,还支持Windows系统,所以我们使用这个引导器。在单系统并且BIOS启动时,只需要grub就够了。UEFI启动还需要安装efibootmgr,电脑里有多个系统,比如前面说的之前有Windows系统,还需要安装os-prober。根据自己的情况执行下面命令安装自己需要的软件包:
pacman -S grub efibootmgr os-prober
是的,pacman可以同时安装多个软件包。每个软件的名字用空格键分开。用pacman安装软件包时,每一次都需要按“y”确认安装。
然后将引导信息写入硬盘的引导扇区(一直要记得选择哪块硬盘要根据自己的情况哦):
grub-install --recheck /dev/sda
最后来生成引导配置文件:
grub-mkconfig -o /boot/grub/grub.cfg
在这里会提示你没有找到安装U盘的系统,也没有找到Windows的系统,没有关系。等我们重新启动成功后,再执行一次这条命令就找到了。
好了,现在电脑已经可以从Arch Linux启动了。为了重启后还能使用网络,我们需要执行下面这条命令:
systemctl enable dhcpcd.service
现在不是可以使用网络吗,为什么还要配置网络呢?因为现在的网络是U盘启动的安装系统默认配置好的。新安装的电脑系统里并没有配置网络。上面这条命令可以让我们在重启拔掉U盘以后仍然可以使用网络。
现在退出临时进入的新系统,退回到U盘安装环境中:
exit
然后重启电脑:
reboot
此时,在电脑关机的时候,拔掉安装用的U盘(如果是光盘,取出来)。
系统重新启动,先是grub的启动选单。但是没有Windows系统,别急,这事儿上面解释过了。
成功启动以后,需要登录才可以继续。上面说过,系统有一个默认的超级用户,我们还为他设置了密码。输入用户名:root,回车。输入刚才设置的密码,回车。当当~,成功登录新的系统。
不要忘了还有另一边的Windows系统呢。重新生成一次grub的配置文件,等下次启动的时候,grub的启动选单里就会有WindowsbootManager了。再执行一次这个命令:
grub-mkconfig -o /boot/grub/grub.cfg
前面说过,现在使用的root这个用户权力非常大,即使删掉系统本身,也会被执行。所以,为了避免日常工作中的操作失误,造成不必要的损失。需要添加一个普通权力的系统管理员。平时就在这个普通的系统管理员用户下使用电脑。但是必要的时候也可以获得临时的root权限。执行以下命令建立一个隶属于wheel组的新用户:
useradd -m -G wheel -s /bin/bash 你的用户名
为新建立的用户设置密码:
passwd 你的用户名
然后输入两次密码确认。建立密码成功。
为了使新建立的用户能够在必要的时候提权,获得临时的root权限,需要修改一下wheel的权限设置:
nano /etc/sudoers
在打开的文件里,找到"wheel ALL=(ALL) ALL"这一行,一般在文件比如靠后的位置。把前面的“#”号去掉。#号在Linux系统中起注释的作用。前面有这个符号的命令不起作用。去掉这个#号,然后保存退出。(什么,你不知道怎么保存退出?翻前面的内容,已经用过好几次了。)从次以后,新建立的这个用户,平时使用自己的权限工作。在需要执行需要root权限的命令时,在命令前加上"sudo"与命令以空格间隔,就可以获得临时的root权限执行该命令。
配置区域环境,时间和语言
修改locale.gen文件,配置语言环境:
nano /etc/locale.gen
找到en_US.UTF-8和zh_CN.UTF-8,取消前面的“#”号。保存退出。如果需要系统支持其他语言,也可以同时取消其他语言前面的井号,比如zh_HK.UTF-8是香港中文。有众多的语言和编码可选,但是Liunx下建议选用UTF-8编码,会比较少出问题。
保存退出后重新刷新一下区域信息:
locale-gen
将区域信息写入locale.conf文件:
echo LANG=en_US.UTF-8 > /etc/locale.conf
需要说明:这里可以设置成中文,但是locale.conf文件是全局设置,在这里设成中文或者其他非英语环境,桌面环境下会正常显示,但是命令行模式下会变成乱码。中文的问题在后面用其他方法解决。
下面设置时区为亚洲上海,是的上海,在Linux系统里中国的时区是上海,不是北京:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
对系统时间进行配置。单系统环境下,建议将系统时间设置为UTC,并且开启网络对时:
hwclock --systohc --utc
timedatectl set-ntp true
与Windwos共存的系统,建议系统时间设置成localtime,不要开网络对时,否则两个系统的时间会不一致:
hwclock --systohc --localtime
至此,Arch Linux的基本系统安装完毕。如果是一个服务器系统,为了节省资源,不需要桌面环境,直接配置服务器软件就可以了。但是我们是要配置一台日常办公娱乐上网的电脑。所以,需要安装桌面环境,安装相应软件。
安装桌面环境
Arch Linux的可自由配置度非常高,可以使用非常多桌面环境。这里选用两种桌面环境KDE和Xfce同时进行说明。
KDE桌面环境是历年来排名第一个的Linux桌面。其特点是界面华丽,支持的特效多,可定制性非常高,插件多,几乎可以按意愿改成任意的样子。但是也因此消耗电脑系统资源比较多,需要电脑有比较好的配置。但是仍然要比Windows占用资源要少得多。基本上可以任为,可以流畅使用Windows7和Windows10的电脑,都可以使用KDE。KDE的最新版桌面叫Plasma。
Xfce是一个轻量级的桌面环境,占用系统资源比较少。它不是最轻量的,但是在轻量化,功能,和美观上取得最佳平衡的桌面系统。大部分普通电脑和比较老旧的电脑,适合安装选择Xfce作为桌面环境。该桌面目前的版本是Xfce4。
另外还有gnome,LXDE等众多桌面环境可以选择。但是相比较而言,要么可定制性不如KDE,要么虽然足够轻量化,但是界面太过简陋。
要安装桌面环境,首先要安装xorg。xorg是所有桌面环境的基础。安装所有桌面环境都要依赖它:
pacman -S xorg
象安装系统一样,会询问安装其中的哪些软件包。对于新手来说“默认=all”是非常保险的选择。
然后会有四种不同的实现方式,直接敲回车“默认=1”也是比较保险的做法。
接下来安装登录管理器,它负责衔接终端和桌面环境,使用桌面环境登录系统。登录管理器有些地方也叫显示管理器。同样有很多种,而且可以与不同的桌面环境相互交叉组合使用。但是每一种都有建立的组合,或者比较适合在一起的组合。
配合KDE-plasma使用的最佳选择是SDDM显示管理器,KDE和Arch官方都推荐使用此组合。
配合Xfce4使用也可以使用SDDM,但是我们更希望为它选择一个同样轻量化一些的显示管理器。之前有个轻量化的是SLiM。但是现在该管理器已经停止更新,官方网站也已经关闭,所以不再推荐。另外一个比较好的选择是lightDM,非常轻量化也好用。但是对新人来说,它的greeter和自动登录设置并不容易。所以这里选用LXDE桌面使用的LXDM作为Xfce4的登录管理器。这样做的缺点是不支持XDMCP协议。但是对新人来说,什么是XDMCP协议……
为KDE-Plasma桌面安装SDDM(Xfce4也可以用):
pacman -S sddm
运行以下命令查看是否安装成功:
systemctl start sddm
登录界面成功显示,说明安装成功。先不要急着登录,桌面环境还没有安装,登录不进去的。可以按Ctrl+Alt+F2(或者2-6中任意一个),切换到一个tty界面,登录root帐号继续安装。设置SDDM开机启动,这样下次开机就会直接进入图形界面,而不是黑白分明的命令行:
systemctl enable sddm
对于Xfce4桌面,安装LXDM登录管理器(也可以使用上面的SDDM):
pacman -S lxdm
设置lxdm开机自启动以便下次开机直接进入图形界面:
systemctl enable lxdm
这条命令Arch的wiki上说是:systemctl enabl lxdm.service。经常实验会反复载入而不能进入桌面。wiki上提醒要修改lxdm.conf中lang=1,实际上默认已经是了,不必修改。但是对于下面这条是正确的,我们要安装Xfce4桌面,LXDM是LXDE的默认登录管理器。需要修改为Xfce4:
nano /etc/lxdm/lxdm.conf
找到:session=/usr/bin/startlxde这一行,修改为:session=/usr/bin/startxfce4
同时找到#autologin=username,取消前面的#号,并将username修改为前面建立的系统管理员用户名,可以实现不输入密码直接登录桌面。保存退出。
分别安装KDE-Plasma桌面或者Xfce4桌面。
pacman -S plasma kde-l10n-zh_cn
pacman -S xfce4
这里安装的都是系统的基本组件,不包括桌面系统提供的应用软件包。kde-l10n-zh_cn是Plasma桌面环境的中文语言包。Pasma桌面的附带软件包是kde-applications,可以选择安装,会增加一些小工具。Xfce4的附带软件包是xfce4-goodies。
安装完成以后,如果现在重启电脑,应该可以进入图形界面,登录我们安装好的桌面环境了。但是这时候的桌面环境是全英文的。
设置系统本地化,实现中文显示和输入
首先要至少安装一种中文字体,这里安装“温泉驿米黑”字体:
pacman -S wqy-microhei
然后设置中文区域:前面说过在locale.conf下设置成中文,会影响到命令行下乱码。所以我们新建~/.xprofile文件(如果已经有此文件就打开此文件),写下这样几行:
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_CTYPE=en_US.UTF-8
保存退出。这里的~/指的是该用户名的主目录。也就是某个用户名登录后默认的位置。现在所有的目录正常情况下应该是root的根目录。这个文件会在系统载入图形界面时读取,只影响本用户,对其他用户没有影响。为了避免重复输入,把新建的文件拷贝到之前建立的普通“系统管理员”的主目录下,以便使桌面环境也是中文:
cp .xprofile /home/你的用户名
到目前为止,桌面环境设置好了。此时重启会进入中文的桌面环境。还有一个问题要解决。Arch Linux的许多操作依赖于命令行终端。但是我们在桌面环境下不希望经常需要来回切换。我们希望在桌面环境下安装一个虚拟的命令行软件,以达到临时使用命令行的目的。如果没有安装相应桌面的软件组件包。在Xfce4中,按本流程安装后会自带一个虚拟终端。但是KDE-Plasma下不会有虚拟终端。KDE的默认虚拟终端是Konsole,可以直接安装。但是为了更好用,我们安装它的一个变体yakuake:
pacman -S yakuake
当然Xfce4中也可以安装这个虚拟终端使用。同是Arch Linux系统,只是桌面环境不同,软件之间并没有那么明显的界线。
可以在这里把需要的所有软件都安装完,重启进入桌面环境后可以直接使用。为了引导小白用户熟悉桌面环境下的操作。现在重启电脑,进入桌面环境继续安装其他需要的软件,输入:
reboot
回车,重启。
进入桌面环境,安装和配置必要软件
不出意外,现在 已经进入桌面环境了。久违的桌面,久违的鼠标。对于Xfce4,之前如果在安装LXDM登录管理器时设置了自动登录,会直接进入桌面,否则需要输入用户密码登录。KDE-Plasma第一次登录需要输入用户密码登录,可以在桌面环境下设置免密码自动登录。因为之前设置了中文环境,没有特殊情况进入的桌面应该是中文环境。如果还是英文,最有可能的两种情况,一种是~/.xprofile文件位置不对,这个文件的正确位置是用户的主目录,root用户在/root,其他用户在/home/你的用户名。另一种情况是文件内在输入有误,打开桌面下的虚拟终端重新编辑文件内容并重启。
Arch Linux没用支持图形界面的软件管理。所以安装软件时一直需要使用命令行下的pacman。去“程序启动器(相当于Windows系统的开始菜单)——系统”下找到虚拟终端,
KDE-Plasma虚拟终端是之前安装的yakuake,因为它是Konsole的衍生版,所以会同时安装原生的Konsole,两个都可以用。yakuake第一次打开会提示以F12为快捷键打开,可以按自己需求修改为其他热键。
Xfce4的虚拟终端是自带的terminal。无论哪种虚拟终端,界面的颜色字体都可以自定义,甚至可以设置背景为透明,在空白处点右键——编辑当前方案即可。
首先解决系统没有声音的问题。Arch Linux安装时默认是静音的。对于KED桌面很简单,点击系统托盘上的小嗽,对扬声器和麦克风(如果有)取消静音既可。对于Xfce4,需要先安装一个工具来取消静音,打开虚拟终端执行以下命令:
sudo pacman -S alsa-utils
然后打开声音工具:
sudo alsamixer
这时会看到一个声音设置的界面。下面标有“MM”的声道是静音的,用左右方向键选中静音的声道,按m键取消静音使其变成“00”,按ESC键退出即可。可以执行以下命令测试声音是否正常。其中的数字按自己电脑声道的多少改变:
speaker-test -c 2
将终端修改为zsh,加强终端的功能和易用性。首先安装zsh和git:
sudo pacman -S zsh git
因为桌面环境默认登录的是之前建立的系统管理员用户,所以使用安装命令等需要root权限的命令时需要加上sudo,并且输入密码。下面设置zsh为默认终端:
chsh -s $(which zsh)
这样当前用户的默认终端就修改为zsh了。现在执行:
zsh
提示符的样子稍有变化,好像没什么特别的。不过zsh比之前使用的bash要强大得多。为了进一步增强zsh的功能,给zsh安装oh my zsh:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
执行后视网速情况有一个克隆的过程,看到字符排列出的oh my zsh的大图标,提示符的样子又变了。现在我们拥有了一个强大得多的终端。接下来先在这个终端下安装一样常用软件。首当其冲是中文输入法,安装fcitx小企鹅输入法模块:
sudo pacman -S fcitx-im fcitx-configtool
需要设置输入法的环境变量,打开~/.xprofile文件:
nano .xprofile
编辑用户自己的文件不需要root权限,所以没有sudo,增加以下内容:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
保存退出。如果系统中有多个用户,将本文件复制到相应用户名的主目录下既可生效。不必一一输入。本文件只对当前用户有效。
可以直接重启电脑使输入法生效,注销也是可以的。但是有时候我们不好判断哪些设置需要注销,哪些需要重启,所以干脆在大多数时候重启生效。重启系统后,系统托盘的通知区域出现了键盘图标,在键盘图标上点右键——配置,点右下角的加号添加自己需要的输入法,五笔拼音都有。并且可以在“全局配置”里更改输入法快捷键和候选词数量。如下图:
fcitx输入法配置如果你喜欢使用使用英文桌面,但是要安装中文输入法,以上界面是英文的。取消相应位置的“仅显示当前语言”,同样可以找到中文输入法添加。
安装应用软件和中文语言包。
下面的事情就简单了,Linux下有海量的开源软件供我们使用。办公软件有openoffice,libreoffice后者是前者的一个分支,功能有所扩展,甚至还有wps-office等。此三者都能兼容微软office。但是因为编辑和字体等,以及其它某些方面微软的专有版权原因,打开微软office文档会有排版的错位问题。就象我们在Windows下使用WPS的感受类似。浏览器就更众多了,比较主流的有谷歌的Chrome,Mozilla的火狐Firefox,都是兼容性非常好,功能非常强大的浏览器。比较轻量化的还有著名的Opera。它们每个都有众多的衍生版本,功能增强不一而足。
下面列举一下笔者选用部分软件及理由:办公软件使用lbireoffice,因为它比openoffice更激进,新功能更多,而且是开源的,WPS是一个专有软件。浏览器使用火狐firefox,因为众所周知的原因谷歌chrome在内地使用不能网络同步,而且比较吃资源。图片处理软件自然是gimp,其实krita也很好,可惜没有中文。矢量图编辑软件使用inkscape。音乐播放器使用Audacious,轻量化而与KDE桌面结合完美。播放视频当然用强大的mplayer,自带大量解码器,不必再费神解码器的问题,同时安装Smplayer前端以便在图形界面操作,不必去命令行运行。本篇中的屏幕截图使用KDE原生的Spectacle,安装以后可以去系统设置的键盘设置里自定义截屏快捷键。文件管理器使用KDE原生的Dolphin,系统原生,不必解释。其它更多需求请用户自行探索少量软件仓库。
关于某些软件需要中文语言包的问题。可以在安装时使用终端的自动实例功能查找并安装,以安装火狐浏览器Firefox为例。安装好火狐浏览器以后,发现是英文的,需要中文语言包,打开虚拟终端输入以下命令:
sudo pacman -S firefox
此时不回车,按两次Tab键,这个命令就变成了:
sudo pacman -S firefox[Tab][Tab]
此时会看到如下图的画面,终端列出了firefox这个软件包所包含可以安装的所有扩展组件:
使用自动实例功能查询软件可选包寻找其中带有zh-cn字样的包,一般就是软件的中文语言包。用方向键选择,然后回车确认安装。再次打开软件就是中文了。
至此,我们已经完整配置了一台日常办公娱乐家庭上网用的Arch Linux系统个人电脑。最后还有一件事情——
使用AUR
AUR是Arch Linux上的“用户软件仓库”,它与pacman的区别是后者的软件是经过官方验证的,官方提供的软件仓库。AUR中提供的软件包,是由用户自己编辑,自我上传的,数量众多,功能丰富,但是兼容性,稳定性没有得到验证。当然也不排除别有用心者上传的包中含有恶意代码程序。当然绝大部分还是好的。
使用AUR最简洁的途径是安装yaourt。首先需要在pacman中添加中文源,这是软件包管理器的源,不是软件安装时那个源。以网易开源镜像源为例,具体源的地址可以去相关镜像源网站的帮助文件里获得。
编辑/etc/pacman.conf文件:
sudo nano /etc/pacman.conf
在文件最后添加如下内容:
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = http://mirrors.163.com/archlinux-cn/$arch
保存退出后刷新pacman数据库:
sudo pacman -Syy
安装中文源密钥:
sudo pacman -S archlinuxcn-keyring
安装yaourt:
sudo pacman -S yaourt
好了,yaourt可以使用了。使用方法与pacman一样。在pacman中找不到的软件,可以用yaourt试试。例如在官方软件仓库中是没有QQ的,但是在AUR中有wineqq可以用。可以如下安装:
sudo yaourt -S wineqq
注意:此处只是示例,说明yaourt的用法。实际安装中需要先安装wine,还要解决字体库的问题,即使这些问题都解决了,Linux下的QQ也并不好用。所以不建议小白用户在Linux上安装和使用QQ。如果确实有需要,可以暂时去使用官方提供的“SmartQQ”,并向官方呼吁推出Linux版本。
至此,一台完整的Arch Linux桌面系统个人电脑安装配置完毕。如有错漏请不吝指出,笔者虚心接受,即刻改正。上文花费笔者几天时间写就,只希望对Linux小白用户体验使用Arch Linux有所帮助。本人对本篇拥有完整版权,任何人可以在保留作者信息的前提下自由转载引用于非商业营利性用途。本文作者网络ID:沉沦的菩提,新浪微博ID:沉沦的菩提。欢迎交流学习。
网友评论
另外上面这个KDE的窗口标题栏半透明效果堪比Vista,想问作者大大用的什么主题?
推荐下,源码圈 300 胖友的书单整理:http://t.cn/R0Uflld
莽
[archlinuxcn]
SigLevel = Never
Server = http://repo.archlinuxcn.org/$arch
然后输入
pacman -Sy yaourt fakeroot
即可安装成功
nano /net/etc/fstab
应该是 nano /mnt/etc/fstab
nano /etc/sudoers
在打开的文件里,找到下面这一行,一般在文件比如靠后的位置。把前面的“#”号去掉。
找到下面一行,这一行是什么?
我普通用户无法在sddm登陆到DKE桌面,输入密码没有反映,是不是和这个有关系?具体要去掉哪一行的注释?
再执行下一条命令的时候,也有warning等。
reboot,直接进入了windows。
不知道怎么解决。
但现在是设置win启动,只能进windows,设置第二块硬盘启动,出现windows10,但引导出错,arch能进入。 但是reboot总是提示watch dog did‘t close/stop 不知道怎么解决。’
网上搜索的EASYbcd,导致现在有win10,arch,win7(不小心全删了,只能添加win7,但启动发现还有win10,win7也删不掉了)。
我安装的时候还有声卡和双显卡驱动的各种坑,以及引导器在用neogrub的时候也是一个大坑,花费挺长时间的。