完整的Arch Linux安装记录+一些感想

提醒:此文更新时间为2014年9月,有些操作可能已经失效,安装请参阅 Arch Wiki。推荐参阅 此教程 。

2017.8.26 Update: 我最近在 U 盘上装了一次,和在电脑上装的区别不大,除了一开始用 U 盘进行引导和重新分区以外。再次推荐上面提到的那篇教程作为参考。

       之前有一篇《真·新手装Arch Linux记》,但是后来发现那一次装出来的系统实在问题太多,于是趁着中秋假期回家网络条件好的时候重新装了一次系统。不得不感慨,在没有稳定、可直接使用的网络环境下,装Arch会非常麻烦。这一次我把所有的操作步骤都记录了下来,算是作为日后如果需要重装系统的参考。

 

一、基本系统安装

0、使用 Legacy 而非 UEFI 模式启动刻录到U盘中的Arch Linux(原因见后)。

1、执行lsblk -f 查看所有分区布局,找到需要安装的分区。以本机为例,为/dev/sda5 。

2、挂载要安装到的分区到/mnt位置,以本机为例,为 mount /dev/sda5 /mnt 。

3、执行 wifi-menu 连接到无线网络,供下载基本包使用。

4、修改安装镜像源。执行  nano /etc/pacman.d/mirrorlist,将在nano编辑器中打开/etc/pacman.d/mirrorlist,在头部加入163和清华的镜像(因为个人觉得这两个比较快)
Server = http://mirrors.163.com/archlinux/$repo/os/$arch
Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
(最后的$arch可以被替换为x86_64或者i686,视你要装的系统为32位还是64位而定)
修改完以后按ctrl+X,Y,回车,就可以保存在原来的文件了。

5、给mnt安装基本系统。执行pacstrap /mnt base base-devel。这一步的速度视网速而定。在我家20M的电信宽带下,大约可以在5分钟内下载安装完毕。之前在学校装实在太蛋疼了。

6、执行 genfstab -U -p /mnt >> /mnt/etc/fstab 生成fstab。生成完毕以后可以 nano /mnt/etc/fstab 看一下挂载点是否有问题。注意,按照Wiki的指示,如果发现有问题,不要重复生成fstab,只能手动修改这个文件。

7、执行 arch-chroot /mnt /bin/bash 到新系统下进行配置。

8、修改本地化配置。执行 nano /etc/locale.gen ,找到
#en_US.UTF-8 UTF-8
#zh_CN.UTF-8 UTF-8
#zh_TW.UTF-8 UTF-8
这三行,去掉前面的#,然后按4中的方法保存。然后执行locale-gen生成。执行 echo LANG=en_US.UTF-8 > /etc/locale.conf 创建 locale.conf 并提交本地化选项。Wiki新手指南中有一则警告,不推荐设置任何中文locale,因为可能导致tty和终端出现乱码。

9、修改本地时区。在中国,可以设置 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ,其他时区请参照Wiki新手指南。同时,设置 hwclock –systohc –localtime 将本地时间作为硬件时间,否则在Linux和Windows之间会出现8个小时的差别。

10、设置主机名。以本机为例,使用主机名为WorkStationEH。执行 echo WorkStationEH > /etc/hostname ,并且执行 nano /etc/hosts 找到
127.0.0.1    localhost.localdomain    localhost
在后面加上主机名 变成
127.0.0.1    localhost.localdomain    localhost WorkStationEH 。

11、配置网络。
对于有线网络,一般使用自动获取IP的方式连接,因此只要打开dhcpcd即可。首先执行 ip link 查看本地的网络接口。其中,lo 指本地环回,en 开头的一般是有线网络(Enther Net),wl 开头的一般是无线网络(WireLess)。找到对应的接口名字,以本机为例为 enp3s0 ,执行 systemctl enable [email protected],即可在 enp3s0 上启动DHCP服务。
对于无线网楼,需要先执行 pacman -S iw wpa_supplicant dialog wpa_actiond 安装所需要的包。这样,启动系统以后,可以执行 wifi-menu 来连接到无线网络。如果需要开启自动连接到已知网络的功能,以本机为例,无线接口名称为 wlp4s0 ,则执行 systemctl enable [email protected]。注意,这一步请在重启到本地系统(14)以后,连接上wifi再进行设置。

12、执行 passwd 为 root 设置新的密码。

13、安装 syslinux 作为启动引导。以本机为例,由于硬盘是GPT格式的,所以需要先执行 pacman -S gptfdisk syslinux 安装,如果不是GPT格式则直接 pacman -S syslinux 即可。然后执行 syslinux-install_update -iam ,因为我为了方便让 Arch Linux 在 Legacy 模式下进行引导,所以要使用-m 参数设置为MBR引导。如果要在UEFI安装双系统启动的话,参见Wiki新手指南页。执行 nano /boot/syslinux/syslinx.cfg ,修改 TIMEOUT 值为10,表示等待1秒

14、执行 exit 退出 chroot ,然后 umount -R /mnt 卸载下分区,reboot 重启系统。这时可以移除U盘了。以 root 用户进入系统后,先连接到无线网络上。

 

二、系统基本配置

15、创建一个日常使用的桌面用户,使用 zsh 作为终端。以本机为例,先执行 pacman -S zsh,然后创建用户 enigma :useradd -m -g users -G audio,video,floppy,network,rfkill,scanner,storage,optical,power,wheel,uucp -s /usr/bin/zsh enigma。然后执行passwd enigma为enigma账户设置新的密码。

16、安装图形界面。这里有点特殊。由于我的机器是 GTX 760M + Intel HD 4600 这样的组合,所以在默认情况下,Arch 所识别出来的显卡设备是英特尔的核显,而GTX 760M被识别为3D加速控制器。因此,pacman -S nvidia安装nvidia无法直接启动图形界面,我们需要先装英特尔的核显驱动来进图形界面。
首先执行 pacman -S xorg-server  xorg-apps,这个时候由于依赖关系会要求安装 nvidia-304xx-utils 或者 vesa ,我装了前者。然后,执行 pacman -Rnsc nvidia-304xx-utils 将这个包卸载掉,执行 pacman -S xf86-video-intel 安装英特尔显卡驱动。再执行 pacman -S xorg-xinit xorg-xclock xorg-twm xterm 来安装启动X服务需要的组件。安装完毕以后,重启系统,再执行 startx 就可以看到包含 xterm xclock 组件的原始X界面了。
后来我为了使用N卡的CUDA,装了Bumblebee,参见这里

【注意:最近Arch已经drop掉了KDE4,以后的系统将只有plasma和KF5,本文内的KDE都是KDE4,已经过期,请慎重参考】

17、安装KDE桌面环境。执行 pacman -S kdebase 安装基本环境,中间需要选择的一路按回车即可。这一步需要一点时间。

18、安装字体包。执行 pacman -S kde-l10n-zh_cn wqy-zenhei wqy-microhei wqy-bitmapfont 安装KDE的中文语言包和文泉驿正黑、文泉驿微米黑、文泉驿点阵字体,重启以后可以将KDE界面语言修改为中文。

19、设置KDE的启动。执行 sytemctl enable kdm.service 允许直接登录到KDE桌面环境。如果不需要直接登录到KDE,可以先登录到enigma,执行 nano ~/.xinitrc ,输入一行 exec startkde,保存。然后,执行 startx 就会自动启动KDE了。

20、按照fcitx的Wiki页面安装并配置好fcitx。在有些程序里,比如Chromium,fcitx可能不被正确地调用,经查需要将(8)中的 /etc/locale.conf编辑如下:
LANG=zh_CN.UTF-8
LANGUAGE=en_US.UTF-8
这样相当于把系统语言设置成了中文。这样设置以后,tty中会出现中文乱码,Konsole中不会出现。如果需要在tty中显示中文,需要安装fbterm并且在tty login以后进入fbterm中。

21、按照ALSA的wiki页面配置好声音通道。在本机上,存在两张声卡,按F6可以看到HDA Intel HDMI和HDA Intel PCH,选择后者,然后调整音量。然后,执行 pacman -S pulseaudio-alsa 安装 pulseaudio ,一般来说这将自动配置好全局的声音设置。

22、执行 pacman -S networkmanager kdeplasma-applets-plasma-nm 安装NetworkManager和其KDE的图形前端。执行 systemctl enable NetworkManager ,注意大小写敏感。然后,可以在KDE的面板中添加部件 网络管理 。不建议在开启自动网络连接(11)的同时使用NetworkManager。

三、应用程序安装和配置

23、执行 pacman -S chromium 安装 chromium 浏览器。

24、执行 pacman -S shadowsocks 安装shadowsocks,并执行 nano /etc/shadowsocks/config.json 按Wiki页面的说明进行配置。在系统的设置里(KDE的【系统设置】-【网络设置】)里可以直接用SOCKS代理,可以识别SOCKS5代理。这样可以用于Chromium/Chrome的登录,因为在大陆谷歌已经被DNS污染了。

25、由 AUR 中https://aur.archlinux.org/packages/chromium-pepper-flash下载压缩包,执行 tar -xvf %压缩包名%.tar.gz 解压,然后cd到解压出来的文件夹中,执行 makepkg 。在我的网络环境下,curl无法正常下载AUR页面中“源代码”一项所列出的两个文件,因此手动下载之并放到解压出来的文件夹中,再执行makepkg。得到一个 .pkg.tar.xz 文件,用 pacman -U 来安装这个文件即可。

26、执行 pacman -S libreoffice 安装libreoffice 办公套件。

27、执行 pacman -S lazarus-qt codeblocks 安装 Lazarus 和 CodeBlocks 这两个IDE。

28、执行 pacman -S WizNote 安装为知笔记。

*29、学校提供的锐捷客户端可以使用,但是需要用参数指定接口enp3s0。

30、尝试了若干种方案以后,我使用了http://www.cnblogs.com/ma6174/archive/2012/05/08/2490921.html这个页面的配置文件来配置我的zsh,其实主要是彩色和补全。

31、自 AUR 中依次安装 package-query 和 yaourt 。这一次安装的时候,我没有遇到网络问题,可以直接在解压以后 makepkg 而无需手动下载。之前我曾按中文Wiki页面的指引修改了 pacman.conf 来直接使用 pacman 安装,但是遇到了签名问题并且无法解决。后来看英文Wiki,pacman安装的方法不是主流做法……当然,中文Wiki里也有提供 AUR 的安装方法。

 

至此,Arch基本已经配置完毕。比较蛋疼的是没有办法用网线上网,如果舍友不在没有WiFi我就没有办法在宿舍里上网了。整个安装过程中,我在16、20、21、24、25这几个步骤上面卡了比较多的时间。在16上卡,是我一开始的时候装了nvidia的驱动,但是lspci发现系统认的显卡是Intel的,所以用不了。25是因为一开始我直接看了关于浏览器插件的中文Wiki页面,里面并没有提示新版的Chromium无法使用NPAPI的Flash插件。后来我注册了一个帐号,去给中文Wiki页面补完了这一条信息。

完整的Arch Linux安装记录+一些感想》上有3条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注