自从转到Archlinux后,就再也没有想过尝试其他Linux发行版,同时也从Archlinux学到了很多知识。按照惯例,先说几句废话。

这篇blog原本是本人发表在开源中国的,不过既然独立出来写博客,那么也就停止对那篇文章的更新了,我会在原文中注明新的地址。

原文主要针对的是使用BIOS和MBR的计算机,不过考虑到目前大家都开始使用支持UEFI的机器,并且可能由于部分原因需要使用GPT,此文也就更新了相关内容(其实是我换新机器了。。。)。

Archlinux的优点:

1.滚动升级,再也无需因为发行版的更新和重装系统
2.软件包很新,第一时间尝试新的软件,比如最新的内核
3.pacman能够完美得处理软件包的依赖问题,再也不会因为删除ibus而导致gnome启动不了
4.详细的wiki,基本能够找到你想要的,如果你的英文OK(所以大家还是要适当重视下英文的)

Archlinux的缺点:

1.据说pacman会滚动失败,反正我是从没遇到过
2.安装有一定难度,这不就是我写这篇blog的目的吗?
3.软件包可能存在bug,这个我倒是遇到过,确实够恶心的,貌似他们没有测试完全。。。

一句话总结,Archlinux适合喜欢折腾的人,我确信你们也将和我一样热爱这个系统。不过千万不要在生产环境中使用Archlinux。

进入正文。

===Changelog===

[2015-4-20] 添加ibus-rime的相关配置,fcitx-sogoupinyin不再作为首选方案。
[2016-1-28] 添加deepin桌面的配置,并将其作为首选方案,重新启用fcitx-sogoupinyin
[2016-4-15] 修正EFI的boot loader,使用bootctl

安装准备

1.安装介质

我是从USTC的源上下载镜像文件的,教育网速度飞快,点击进入,非教育网用户,点击进入。
你可以选择刻录到光盘或者U盘,或者放到手机里等等,在此不再复述,如果你不会,请先学习相关内容。

2.测试网络

如果你使用有线网,直接ping任何网站(当然不能是局域网内的)。
如果你使用无线网,我的建议是使用wifi-menu,没有有线网卡的机器有时候的确很让人无奈。。。

安装基本系统

1.UEFI模式测试

如果你想使用UEFI,并且你的机器支持UEFI,你在引导时应该会看到如下选项,

Arch Linux archiso x86_64 UEFI USBUEFI Shell x86_64 v1UEFI Shell x86_64 v2EFI Default Loader

你应该可以知道Archlinux只提供64位的UEFI模式安装,32位无法引导,本人已经尝试过了。
如果你忘记了是否出现过上述选项,你也可以使用如下命令:

efivar -l
如果你看到了一大串内容,那就是进入了UEFI安装模式。否则,请记住,你的电脑可能不支持UEFI或者你没进入UEFI安装模式,在后续内容中,你应该选择BIOS和MBR。

2.创建分区

在这里设计到一个很大的内容,如何安排分区,这个看每个人如何规划了,下面我将使用一个比较普遍的方案:

/dev/sda1  1G  /boot  物理分区/dev/sda2  40G /      物理分区/dev/sda3  60G /home  物理分区/dev/sda4  8G  swap   物理分区

关于分区的扩展知识,请参考wiki,点击进入。

首先是MBR分区的创建,GPT的请略过,这里使用的工具是fdisk。

fdisk /dev/sda

本机只有一个硬盘,所以使用/dev/sda,如果你有多个硬盘,应该也能知道该使用什么绝对地址了。
分区的方法都比较相似,使用m,可以列出所有命令,请根据提示分区。

其次是GPT分区,基本和MBR分区一样,只是我们使用的工具是gdisk。

gdisk /dev/sda

需要注意的是分区的标志,

/dev/sda1 EF00/dev/sda2 8300/dev/sda3 8300/dev/sda4 8200

3.安装文件系统

接下来是安装文件系统,在这里GPT和MBR的区别只有/dev/sda1这个分区,我们放到最后解释。这里我们使用的FS是比较成熟的ext4,至于最新的btrfs,老实说我没用过,即使我用的是SSD,并且“据说”btrfs对SSD有优化,大家可以尝试下。

mkfs.ext4 /dev/sda2mkfs.ext4 /dev/sda3mkswap /dev/sda4swapon /dev/sda4

最后一条命令是开启交换分区。
对于/boot这个分区,使用MBR的命令如下:

mkfs.ext4 /dev/sda1

对于GPT分区,请使用如下命令:

mkfs.fat -F32 /dev/sd1

4.挂载分区

如果你使用推荐的分区,请使用如下命令,否则,请自行调整

mount /dev/sda2 /mntmkdir /mnt/{boot,home}mount /dev/sda1 /mnt/bootmount /dev/sda3 /mnt/home

5.选择更新源

sed -i "s/^\b/#/g" /etc/pacman.d/mirrorlistnano /etc/pacman.d/mirrorlistpacman -Syy

还是和之前说的那样,请根据你的网络环境选择镜像,选择镜像,只需要将对应地址前的#去掉即可,这里推荐使用ustc或者163的源。
这里还有一个小故事,第一次安装Arch的时候,在mirrorlist中所有的Taiwan后面都有“Province of China”字样,顿生好感,只可惜现在的mirrorlist中已经没有这个彩蛋了。

6.部署基本系统

这里只要一条基本的命令就能自动完成部署了,比Gentoo简单不少。如果你想使用netstat和ifconfig之类的指令,请加上net-tools。

pacstrap -i /mnt base base-devel net-tools

7.生成fstab

fstab中记录了挂载的相关信息,Archlinux中提供了工具来一键生成(怎么感觉逼格有点低。。。)

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

这里使用的是UUID,如果不加-U,那么在fstab中记录的就是/dev/sdX之类的地址了,UUID的方式更加好,为什么呢?请自行wiki。

基本系统设置

首先请使用chroot进入部署好的基本系统,这里使用“进入”,只是为了避免此blog涵盖过多内容,关于chroot的知识,点击进入。

arch-chroot /mnt /bin/bashalias ls='ls --color'

后一条命令是为了让ls显示颜色,方便查看。

1.设置Locale

nano /etc/locale.gen

这里你至少开启en_US.UTF-8和zh_CN.UTF-8。

locale-genecho LANG=zh_CN.UTF-8 >> locale.conf

这里由于console字体的原因,中文会变成方框,如果你不安装桌面环境,请使用en_US.UTF-8。

2.设置console

nano /etc/vconsole.conf

输入如下内容

KEYMAP=usFONT=

3.设置时区

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

这里大家可能会发现BIOS的时间和系统不一样了,我提供一个解决方案。

nano /etc/adjtime

输入如下内容:

0.000000 0 0.0000000LOCAL

原本是为了方便时区调整的措施,点击详解,对于多系统的用户而言,就很纠结了,特别是我这样有OCD的。

4.设置主机名

虽说这里的主机名可以有大写,不过我建议大家使用常规的英文小写。

echo 主机名 > /etc/hostname

你还得修改/etc/hosts文件的内容。

nano /etc/hosts

你会看到如下内容:

## /etc/hosts: static lookup table for host names##<ip-address>   <hostname.domain.org>             <hostname>127.0.0.1   localhost.localdomain localhost   主机名   ::1     localhost.localdomain localhost   主机名#End of file

请把myhostname替换成你所设置的主机名。

5.生成初始ramdisk环境

mkinitcpio -p linux

6.用户设置

首先是设置root的密码:

passwd

创建一个日常用户,这里添加wheel用户组是为了能够使用sudo提权,毕竟我可不敢直接拿着root操作(虽然我经常这么干)。

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

7.安装启动器

首先是对于BIOS用户,UEFI的请略过。这里推荐使用GRUB。

pacman -S grub-bios grub-install /dev/sda grub-mkconfig -o /boot/grub/grub.cfg

这三条命令分别是使用pacman获取grub,将引导信息写到sda,以及生成配置文件grub.cfg。

对于使用UEFI的用户,官方文档不再使用gummiboot,由于我已经很久没有重装系统了,因此也就没有关注官方的更新,对不住。现在的启动器是system-boot,应该是直接用systemd来接管启动,总算是统一了。

只需要运行如下命令:

bootctl install

虽然换成了system-boot,但是配置依旧少不了。

首先我们需要在/boot/loader/entries文件夹中创建名为arch.conf的配置文件,添加如下内容:

title Arch Linuxlinux /vmlinuz-linuxinitrd /initramfs-linux.imgoptions root=/dev/sda2 rw

大致意思,各位根据名字应该就能猜个大概,这里只需要注意root部分可以填写UUID,但是为了图方面,我就直接用路径代替了,sda2即为root分区,各位需要根据自己的分区情况自行决定。

接下来需要配置/boot/loader/loader.conf,这个文件有默认的内容,只需要修改下即可。

timeout 3default arch

如有特殊需求,请自行参考相关wiki,点击进入。

8.重启

需要退出chroot,卸载分区,然后直接reboot。

exitumount /mnt/{boot,home}umount /mntreboot

请注意,如果你的机器只有无线网卡,并且你希望通过wifi-menu联网,那么请确保在reboot之前,你已经安装了dialog。

相关驱动安装

这里有个问题很纠结,我准备在这篇blog里先提供Gnome环境的配置,而目前Gnome能够只是wayland了,但是呢,还不完美,经过本人的测试,会出现部分触控失灵等问题。因此,先偷个懒,使用Gnome的默认环境X。

1.安装ALSA(声卡)

pacman -S alsa-utils

2.安装显卡驱动

由于我使用的是Intel核显,因此如下是核显驱动的安装,如果你使用的是其他显卡,请参考官方wiki,点击进入。

pacman -S mesa xf86-video-intel

3.安装触摸板驱动

pacman -S xf86-input-synaptics

桌面环境

在Archlinux中,有很多可用的桌面环境,以下简称DE,比如Gnome,KDE,Xfce等。截至2016年1月底,Gnome的最新版本为3.18.3,可以称之为稳定的DE。KDE5依旧一团糟,不建议读者使用。

另外有一个好消息,Deepin DE正式从AUR并入package group,也就是说大家再也无需担心依赖问题了,本次更新,新增DDE的配置。

Gnome DE安装

1. Gnome基本环境安装

pacman -S gnome

2.安装额外软件包

其实有另外一个包合集gnome-extra,只不过这个包里面包含了太多没用的东西,没什么用,OCD又犯了。。。

pacman -S file-roller evolution gedit gnome-music gnome-photos cheese gnome-mplayerpacman -S unrar unzip p7zip

Deepin DE安装

如果你已经安装了Gnome,想要改为DDE,那么你需要先移除所有gnome相关的包,然后在按照如下进行配置,另外,在这个过程中networkmanager也会被移除,一定要再次安装,否则会相当麻烦。

1. DDE基本环境安装

pacman -S deepin deepin-extra lightdm

2.安装额外软件包

deepin-extra包含了deepin特有的一些应用,还是挺简洁的,这里就无需OCD加成了。不过,有些应用依旧缺失,需要补救一下。

pacman -S file-roller evince gedit thunderbird gpicviewpacman -S unrar unzip p7zip

在安装完DDE后,可能会遇到无法将语言改为中文的情况,只要删除~/.pam_environment文件即可。

3.安装浏览器

这里我们使用chromium,至于为什么不是firefox,原因有二,其一,我觉得它更快;其二,它能用最近的flash插件。

pacman -S chromium

最新的flash插件需要到AUR上去下,这里提供下载地址,点击下载。
下载完成后,解压,进入相关目录。

makepkgpacman -U 生成的文件名,以.xz结尾

4.配置输入法

关于输入法,大致有2个选择,ibus和fcitx,分别有ibus-rime和fcitx-sogoupinyin。

4.1 rime输入法配置

安装ibus-rime很简单

pacman -S ibus-rime

依赖会自动完成安装。和fcitx一样,我们需要配置一下.xprofile

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

然后,在设置的输入源中就能找到rime了,你会发现ibus和gnome的集成比fcitx好多了,而且现在ibus也比原来快多了。
Tip:关于半角全角和简体繁体切换,只需要在输入的时候按F4即可看到选项。

4.2 sogou输入法安装

先安装fcitx框架

pacman -S fcitx fcitx-qt4 fcitx-qt5 fcitx-gtk2 fcitx-gtk3 fcitx-configtool

这里会把qt的环境给依赖进来,没办法。。。
在用户目录下添加个配置文件:

$ nano ~/.xprofile
export GTK_IM_MODULE=fcitxexport QT_IM_MODULE=fcitxexport XMODIFIERS=@im=fcitx

然后,从AUR下载fcitx-sougoupinyin,点击下载。
先安装依赖opencc,这个神器是简体和繁体互相转换的库。

pacman -S opencc

解压下载的文件,进入目录,然后如下操作:

makepkgpacman -U 生成的文件,以.xz结尾

之后重启的时候,进菜单点击搜狗图标,应该就能用了,不行的话可以尝试运行sogou-qimpanel。

5.注册相关服务

务必记得安装networkmanager,不然无法开启网络的自动探测。

pacman -S networkmanager

开启网络服务

systemctl enable NetworkManager

如果你安装的是Gnome,你需要开启gdm。

systemctl enable gdm

如果你安装的是Deepin,你需要开启lightdm

systemctl enable lightdm

另外对于deepin,我们还需要修改lightdm的一个配置文件/etc/lightdm/lightdm.conf。
在如下段中添加deepin的greeter-session。

[Seat:*]...greeter-session=lightdm-deepin-greeter

写在最后

至此,恭喜你,已经成功安装Archlinux发行版,我希望每位读者都能到达这一步。我会持续更新这篇文章,只要我还在使用Archlinux。码字不易,且看且珍惜。如果你们发现什么错误或者有什么需求,请在评论中说明,我会尽快更正。

最后,声明一下,欢迎转载,但是请注明出处,并添加链接。

谢绝 看引擎 转载!