本来打算写一个archlinux的安装记录,先前在Virtualbox上测试了好长时间,真机安装的时候却发现完全不一样,显卡驱动、wifi网络都是问题,所以干脆将这个文档作为一个安装使用的记录,随时更新使用情况,方便大家参考。
1. 安装Archlinux Base系统
制作USB启动盘
必须使用USB Writer刻录Archlinux ISO文件到U盘,其他工具均不靠谱。刻录完成后U盘从大小看感觉不太正常,是因为有一个分区被隐藏了,勿要大惊小怪:
按照Wiki安装
Archlinux Wiki Beginners' guide
Archlinux的Wiki文档写的非常不错,完全按照最新的官方文档安装应该不会有任何问题。
Archlinux的ISO做的不怎么样,这么大ISO文件(600MB+)安装过程竟然还必须联网更新数据包,相比Debian的netinst.iso才200MB。自带的安装工具还算比较齐全,比如zsh,还有好用的wifi-menu,让安装过程很是顺利。
注意几个点:
- Wiki里的部分安装过程不需要操作,浪费时间,比如LiveCD操作、Language配置等,这些配置都是针对临时的安装环境,重启后都失效。
- 分区表、引导工具以及分区工具选择
BIOS:MBR:GRUB:fdisk
UEFI:GPT:SYSLINUX:cgdisk - 分区情况
/boot 引导分区,尽量有,隔离故障时非常有用。500M完全够用了。
/ root分区,必须有,1/3容量分配即可,大部分情况下/只是用于安装软件,保存软件本身的数据。
/home分区,必须有,2/3容量分配。除了用户自己的数据,软件本身外的数据也可以放到/home下, 不用单独/opt分区了,太麻烦。比如virtualbox等虚拟机文件就可以放到这里。
swap分区,完全没必要。现代内存几乎都比较大,不需要swap分区。随后还需要针对SSD将swap分区读写降到最小。
- pacman mirrorlist备份一份方便以后使用。并将.cn/的都留下,其他全删掉,包括163(都说163不稳定)。
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.installbak
cat /etc/pacman.d/mirrorlist.installbak | grep -e .cn/ > /etc/pacman.d/mirrorlist
- 新系统字符集建议将en_US.UTF-8和所有zh_*都够选。
2. 安装基础软件
更新软件源,安装必备软件
pacman -Syy
pacman -Syu
pacman -S vim
安装GUI
GUI环境的安装过程与虚拟化环境差别最大,因为VMWare/Virtualbox环境下,驱动都是特定的,系统安装包已经内置,比较简单,真机环境下就相对复杂很多。
不说显卡种类(Nvidia,Intel,AMD),单说Nvidia一家就有数种闭源驱动,再加上开源的nouveau驱动就更是混乱。本节尽量将Nvidia部分说明白,其他显卡请从Archlinux Wiki Xorg开始疏理。
Nvidia Linux显卡驱动介绍
主要参考URL
1. Archlinux Wiki Xorg
2. Archlinux Wiki Nvidia驱动
3. Archlinux Wiki Nouveau驱动
4. Archlinux Wiki KMS
Nvidia显卡分类
- 闭源驱动:
- Nvidia厂家驱动。需要官方下载驱动文件,sh运行,期间会通过kernel-source对驱动进行编译,所以需要安装kernel source。
不建议,过程复杂,不能滚动升级
- Nvidia pacman官方仓库驱动。直接pacman安装。
建议,安装简单,滚动省级
- 开源驱动
- pacman 官方仓库开源驱动,直接pacman安装 xf86-video-nouveau,需要配置KMS、/etc/X11/xorg.conf文件。
次推荐,较复杂
Nvidia pacman 官方闭源驱动型号选择
Nvidia pacman官方闭源驱动虽然安装简单,但前提是安装包型号选对的情况,否则将会非常混乱。
Archlinux Wiki Nvidia驱动的Installing小节针对如何选择驱动型号做了详细的介绍,再此简述一下,以原文更新为准:
- 确定显卡型号
$ lspci -k | grep -A 2 -i "VGA"
- 查看显卡对应的code name (如NV50, NVC0等)
根据上一条命令查询的显卡型号在code names page中找到对应的code name。 - 根据对应的code name选择相关驱动包
- GeForce 400 series cards and newer [NVCx and newer],在官方pacman仓库安装 nvidia或nvidia-lts 包。
- GeForce 8000/9000 and 100-300 series cards [NV5x, NV8x, NV9x and NVAx] from around 2006-2010, 在官方pacman仓库安装 nvidia-340xx 或 nvidia-340xx-lts 包。
- GeForce 6000/7000 series cards [NV4x and NV6x] from around 2004-2006, 在官方pacman仓库安装 nvidia-304xx 或 nvidia-304xx-lts 包。
- 没有找到对应code name的新卡,从AUR中安装 nvidia-beta
- legacy的老卡,从AUR中安装对应的驱动,或使用开源nouveau驱动。
- 重启后Nvidia驱动生效
重启后,console界面的字体会变得比较大,显示效果比较差,因为Nvidia驱动在X11启动后在会被使用,console界面没有调用显卡驱动,如果需要console界面要有好的显示效果,就需要配置KMS,在kernel启动后就接管显卡驱动。
显卡驱动相关文件和工具
- /etc/X11/xorg.conf X11配置文件
主要参数:
- Driver,指定驱动模块名称
- BusID,指定显卡PCI ID,Archlinux Wiki Nvidia驱动 的Troubleshooting章节
No screens found on a laptop/NVIDIA Optimus
有针对该参数的配置方法。
可以使用nvidia-xconfig命令自动生成Xorg.conf文件,也可以手工配置。
- X11测试
Xorg :1&
xterm -display :1&
X11日志文件
用户日志文件:~/.local/share/xorg/Xorg.0.log
root日志文件:/var/log/Xorg.0.log
Kernel日志
dmesg启动DM方法
-
~/.xinitrc
文件中使用exec gnome-session,用于startx(xinit的前端) - gdm等工具
GUI安装过程###
由于各个安装包的依赖关系,冲突的可能性很大,建议严格按照如下顺序来安装,避免不必要的问题:
Xorg--->gnome/gdm(DM/DM)---->显卡驱动->dbus
因为nVIDIA的显卡驱动可能会修改X11的一些配置,如果先安装显卡驱动可能会导致某些文件不能正常写入,需要自己nvidia-xconfig生成一下,以后熟悉了可以挑战一下。
正式安装步骤:
pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils
安装xorg-server时会提示需要选择libgl版本,一共有四个选择,Thinkpad T410选择第三项(nvidia-340xx-libgl)
pacman -S gnome gnome-extra gdm
pacman -S nvidia-3400xx
安装驱动程序,Thinkpad T410安装nvidia-3400xx,其他显卡根据上边的选择步骤选择
pacman -S dbus
可选安装Nvidia开源驱动,测试比较复杂,需要结合KMS。安装闭源驱动前要完全卸载Nvidia闭源驱动。不推荐此方法。操作步骤如下:
pacman -S xf86-video-nouveau
vim /etc/mkinitcpio.conf
增加MODULES=“nouveau"
mkinitcpio -p linux
可选安装Cinnamon DM
pacman -S cinnamon
Nvidia显卡配置##
默认安装完毕后,X11是没有xorg.conf配置的,但是不影响DM的使用。
小问题:使用Fn+Home/End调整屏幕亮度时可以显示调整的图示,但是没有效果,需要生成xorg.conf文件,并增加配置:
nvidia-xconfig
生成xorg.conf配置文件
vim /etc/X11/xorg.conf增加如下Option配置到Device部分,并对其文字
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "NoLogo" "1"
Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection
安装Yaourt
在/etc/pacman.conf
文件最后增加如下内容:
/etc/pacman.d/mirrorlist
文件中增加应该也是可以的,但是我在Virtualbox下测试没有问题,Thinkpad T410下测试就报错archlinuxcn/fr database err
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = http://repo.archlinuxcn.org/$arch
[archlinuxfr]
Server = http://repo.archlinux.fr/$arch
pacman -Sy yaourt
如果遇到关于key的错误,可以安装如下keyring包:
pacman -S archlinux-keyring
pacman -S archlinuxcn-keyring
参考URL:
灵活使用yaourt
Error: Key could not be imported
安装字体
pacman -S ttf-bitstream-vera ttf-dejavu ttf-droid
yaourt -S ttf-ms-fonts wqy-microhei
fc-cache -vf
重启X
创建新用户
# useradd -m ray
# passwd ray
$ visudo
在root条目下增加
ray ALL=(ALL:ALL) ALL
输入法
sudo pacman -S ibus ibus-libpinyin ibus-qt
Gnome3环境
- 不需要.xinitrc设置,例如export QT_IM_MODULE,GTK_IM_MODULE,XMODIFIERS
- 不需要中启用ibus-daemon
- 不需要在IBus首选项中添加输入法
- 需要配置Gnome->Setting->Region&Language->增加Input Source,增加En和Chinese。
配置完后,Gnome右上角就会显示中英文切换图标。
Cinnamon环境
需要手工将ibus daemon加入到Startup Application Preferences的启动项中:
Name: ibus
Command: /usr/bin/ibus-daemon –drx
3. Gnome优化#
Gnome主题安装##
Gnome主题分为如下3类:
- Window --->程序窗口样式
- GTK+ --->gtk程序界面风格
- Shell theme --->Gnome界面风格(顶部栏和搜索栏)
Gnome3主题存放目录:
- 系统全局目录:
/usr/share/themes/
- 用户本地目录:
~/.themes
pacman -S gnome-tweak-tool
主题:
pacman -S numix-themes
yaourt gtk3-zukitre-theme
图标:
yaourt ultra-flat-icons推荐
yaourt numix-circle-icon-theme配合docky效果好
Dock:
pacman -S docky
动态桌面显示:
pacman -S conky curl
参考URL:
教你6步定制你的Ubuntu桌面
Gnome3美化教程
reddit-unixporn
Cinnamon Theme
Ubuntu Theme
Gnome Look
Linux Mint Theme
Gnome3 auto hide top pannel extension安装##
yaourt gnome-shell-extension-hidetopbar-git
重启Gnome3,并使用gnome-tweak激活。
Gnome3 开启右上角网络连接图标##
注意大小写
systemctl enable NetworkManager.service
systemctl start NetworkManager.service
NetworkManager是Gnome自己的无线管理服务,与netctl/wpa_actiond服务冲突。两个无线管理服务同时使用会导致无线连接失败。NetworkManager搜索无线也连接不上,systemd --failed
会看到netctl@wlp3s0服务failed且为static状态,对其的所有enable/disable操作均不生效,查文档应该是被其他启动项所以依赖。解决的方法就是删除netctl和wpa_actiond包,因为Gnome自身的NetworkManager有GUI,兼容性最好。
pacman -R netctl wpa_actiond
参考URL:
What makes a systemd service "static"? [SOLVED]
安装Thinkpad T410驱动
- 声卡驱动
pacman -S alsa-lib alsa-utils alsa-ossalsa-lib默认安装了
- 触摸板驱动
pacman -S xf86-input-synaptics - 硬盘
yaourt -S hdaps tp_smapiSSD硬盘不需要安装
把tp_smapi和hdaps添加到modules,hdapsd添加到daemon中去。 - 指纹识别
yaourt -S fingerprint-gui - Wifi LED blink闪烁关闭
参考Disabling LED blink,
vim /etc/tmpfiles.d/phy0-led.conf
文件不存在,需要建立
增加如下内容:
w /sys/class/leds/phy0-led/trigger - - - - phy0radio
重起或使用如下命令立即激活:
systemd-tmpfiles --create phy0-led.conf
参考URL:
Archlinux Wiki's Hard Drive Active Protection System
在ThinkPad T420上安装Archlinux
Archlinux Wiki's Lenovo ThinkPad T410
Archlinux Wiki's Fingerprint-gui
How to install the latest Nvidia drivers on Ubuntu 14.04 Trusty Tahr
PowerTOP Will Maximize Your Linux Laptop’s Battery Life
安装32bit的应用程序lib库
修改/etc/pacman.conf
文件,注释掉如下内容:
[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
其他软件
pacman -S flashplugin
pacman -S ntfs-3g 读写NTFS格式的分区,archlinux默认可以读NTFS
pacman -S rhythmbox
设置Rhythmbox:
去掉Edit → Plugins → DAAP Music Sharing,否则Rhythmbox启动非常慢。
pacman -S gnome-mplayer
pacman -S gstreamer0.10-ugly-plugins gstreamer0.10-bad-plugins gstreamer0.10-ffmpeg
Deepin系列软件:
Deepin Github by @fasheng
pacman -S deepin-screenshot
VPN
pacman -S networkmanager-pptp networkmanager-vpnc networkmanager-openvpn
Pacman 优化
加速Pacman
pacman -S axel
vim /etc/axelrc
注释掉如下行:
alternate_output = 1
vim /etc/pacman.conf
增加如下行
XferCommand = /usr/bin/axel -n 5 -a -o %o %u
加速Yaourt
Yaourt下载使用的是makepkg,所以上述pacman加速方式对yaourt不生效,所以需要进行如下操作:
vim /etc/makepkg.conf
将http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u改成http::/usr/bin/axel -o %o %u
参考URL:
Improve pacman performance
Arch Linux之pacman调用axel多线程加速下载
加速yaourt----yaourt与makepkg调用其他下载工具
pacman神装一套配置方案
Pacman Mirrorlist
滚动更新有可能会将备份的本地mirrorlist文件冲掉,这时候可以使用官方的Mirrorlist Generator重新下载:
- X环境,访问Archlinux Mirrorlist Generator下载即可。
- Console环境:
wget -O /etc/pacman.d/mirrorlist https://www.archlinux.org/mirrorlist/all/
参考URL:
Archlinux Wiki's Mirrors
技巧
截图
Gnome3自带:
- 全屏截图:PrintScreen 快捷键
- 活动窗口截图:Alt+PrintScreen 快捷键
- 指定区域截图:Shift+PrintScreen 快捷键
参考文章
Archlinux.org Wiki
archlinux吧
Ubuntu Wiki's X
Gentoo Wiki
Gentoo Wiki TW
在预装Win8 (UEFI)的ThinkPad上加装ArchLinux系统
Archlinux ThinkPad T410安装指南
ssd安装archlinux
在移动硬盘上安装 Arch Linux
Archlinux Wiki's Partitioning
Redhat Partitioning Scheme
[SOLVED] Intel Wireless: Can't connect faster than 54Mbit
Suddenly Slow Wireless - Intel Centrino N 6235
Tyrant's Arch Linux
Arch Linux 的靈魂:PKGBUILD、AUR 和 ABS
我在ArchLinux下使用的程序