前言
这篇文章看一看作是Arch Linux USB(安装篇)的后续,不过archlinux的自由度很高,每一个人都能配置出高度个人定制化的东西,所以这里也只是结合archwiki和我个人的一些配置简单介绍一下。
参考:General recommendations (简体中文)(这个页面还特地做了#中国大陆用户的推荐解决方案)
以下引文不加注释都引自General recommendations (简体中文)
系统和软件包管理
系统管理
新安装的系统只有一个超级用户,即 root。使用 root 进行日常操作是不安全的。应当创建普通用户进行日常操作,仅在管理系统时使用 root。不要在服务器上给 root 开放SSH登录权限。普通用户的创建方法请参阅 用户和用户组。
用户和用户组是GNU/Linux 权限控制机制的基础。管理员通过调整用户组的成员、所有者,可以控制用户使用系统资源。
换言之,平常用普通用户,只有涉及系统管理时使用root的权限。可以用sudo
命令获取临时的root权限,只要在命令前加上sudo
就可以。而su
命令则是以指定用户登录一个新的shell,比如su - xxx
就是登录用户名为xxx的用户,而默认su -
登录的就是root。使用exit
退出su
命令登录的用户,回到原来的shell。
服务管理:
Arch Linux 使用 systemd (简体中文) 管理系统服务。新用户有必要了解其基本使用方法。通常使用
# systemctl
命令进行系统管理,参见此文。
注意,新的服务都需要用户重新设置和管理,设置哪些服务开机自启动,哪些服务在用的时候手动启动,可以减少资源浪费。
系统维护:
Arch 是滚动发行系统,软件包的更新速度很快,用户需要花些时间进行 系统维护。 安全页面也给出了很多加强系统安全性的建议和技巧。
微软总是催着你windows系统更新,但是Arch是自己手动更新的。经常看到有人说Arch这样的滚动发行版不稳定,容易滚挂。我反正从来没遇到过,Arch更新虽然是整个系统重新安装的,但是速度很快,而且也很稳定。
更新系统的时候使用pacman -Syu
(要root权限),注意不要在一堆服务和进程在运行的时候更新系统,最好在刚开机的时候在字符界面就更新,更新之后reboot
重启就行。
虽然一般建议Arch经常更新,但是我曾经半年没更也没什么。就是有时候pacman -Sy
安装软件的时候发现lib库和软件已经对不上了,那就更新系统吧。
另外,安装在USB或者移动硬盘等可移动介质的同学一定要注意,在使用过程中不要拔插,关机前最后一件事一定是sync
确保数据同步写入。
软件包管理
具体看archwiki学习
Arch拥有Linux中最丰富的软件包资源,由官方软件仓库和非官方软件仓库(AUR)组成。
Pacman 是Arch 的软件包管理器(简称包管理器)
下面列一些我常用的命令
pacman -Sy # 更新软件源并安装
pacman -Ss # 搜索软件
pacman -Si # 查看软件包具体信息
pacman -Syu #更新系统及所有包
pacman -Qs # 搜索已安装的包
pacman -Qi # 查看已安装的包的信息
pacman -Rs # 删除软件包及其依赖
有关pacman的一些配置在/etc/pacman.conf,贴一下我的配置
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
Color
ILoveCandy
#TotalDownload
CheckSpace
#VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
#[testing]
#Include = /etc/pacman.d/mirrorlist
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
#[community-testing]
#Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist
#[multilib]
#Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
[archlinuxcn]
SigLevel = Never
Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
我的配置主要就是取消了Color
前的注释,是Pacman 的输出是彩色的更易识别,然后ILoveCandy
是我自己加上的,这是Pacman 的一个彩蛋,因为pacman也是那款叫作吃豆人的著名游戏,加上ILoveCandy
后会出现吃豆人。
最后加上了archlinuxcn的源,因为里面提供了更多为中国用户进行优化的软件包,用的是科大的源,加上之后需要pacman -S archlinuxcn-keyring
安装对应的密钥。
主要的pacman 镜像我用的是北外的镜像,在/etc/pacman.d/mirrorlist
中更改,一般里面已经按照速度排序排好了,如果没有,可以参见 #镜像状态 和 #按速度排序 查看帮助选择镜像的工具。
当然也可以和我一样用北外的镜像(不推荐清华的镜像,至少我自己的使用不佳)
Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch
其他镜像
## China
#Server = http://mirrors.163.com/archlinux/$repo/os/$arch
#Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch
#Server = https://mirrors.aliyun.com/archlinux/$repo/os/$arch
#Server = http://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.bfsu.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.cqu.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirrors.dgut.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.dgut.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirrors.hit.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.hit.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.neusoft.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirrors.nju.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.nju.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirror.redrock.team/archlinux/$repo/os/$arch
#Server = https://mirror.redrock.team/archlinux/$repo/os/$arch
#Server = https://mirrors.sjtug.sjtu.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirrors.wsyu.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.wsyu.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch
#Server = http://mirrors.zju.edu.cn/archlinux/$repo/os/$arch
记得pacman -S archlinux-keyring
然后是AUR 的包。
Arch 编译系统提供了编译官方库软件的脚本,而 AUR 则提供了用户提交的、非官方的软件包编译脚本。这是一个基于 web 界面或通过 AUR 工具访问的非官方软件仓库。
aur里面有更多的软件包可以选择,当然由于是非官方,也会有无人维护的情况。
基于web界面是指,aur的包可以到https://aur.archlinux.org/ 这个网页上去查找相关信息。
由于aur的包不能由pacman 直接安装,所以需要采取一下方法:
- 从 AUR 下载包含 PKGBUILD 和其他安装文件(比如 systemd 和补丁,通常不是实际代码)的 tar 包。
- 用命令
tar -xvf packagename.tar.gz
解包到一个仅用于编译 AUR 的空闲文件夹。 - 验证 PKGBUILD 和其它相关文件,确保其中不含有恶意代码。
- 在上述文件夹中运行
makepkg -si
。命令会自动调用 pacman 解决依赖关系,然后下载代码、编译并打包。然后安装软件包。
我一般跳过了验证那一步,(懒得验证),对AUR受信用户(简称 TU)展现出充分的信任
当然,使用AUR 工具 会简单一些(因为上面那个方法其实也蛮简单了)
具体查看wiki,我用过yay,因为已经pacman封装了,所以语法和pacman一样。
图形界面
从字符到图形
pacman -Sy xorg-server
安装X服务器
X 窗口管理系统(X11或者X) 是基于网络的显示协议,提供了窗口功能,包含建立图形用户界面(GUI)的标准工具和协议。Xorg是X窗口系统11版本的开源实现,提供图形用户界面, 安装和配置请阅读Xorg。
Wayland 是新的显示服务协议,Weston 是参考实现。目前还处于开发阶段,支持的程序很少。
只有X能够进入图形界面了,不过只有最基本的框架,需要配合 桌面环境(DE)才能使用。
桌面环境通常提供图标、小程序(applets)、窗口、工具栏、文件夹、壁纸、应用程序和拖放等功能。使用GNOME、KDE、LXDE、Xfce这类桌面环境,是最简单的配置方法. Category:Desktop environments 包含了各种桌面环境。
其中KDE和GNOME是两个功能完全的主流桌面环境,KDE体积更加大一点。由于U盘大小有限,我使用的是轻量化的Xfce。
对于Xfce,只需要pacman Sy xfce4
,我没有使用额外的显示管理器(也就是从图形界面登录用户并自动启动图形界面),一方面从字符界面启动更加轻量,另一方面并不是每一次都有进入图形界面的需要。Xfce自带从字符界面启动的命令startxfce4
后来我更倾向于使用i3wm作为桌面环境,更加轻量快速, Start X at Login 提供了直接从终端启动的轻量方法。i3wm的定制化程度更高,也意味着配置需要一定的精力,这里就不展开了。
浏览器
毫无疑问pacman -Sy firefox
当你打开浏览器输入诸如www.baidu.com
之类的中文网页,你会发现一堆矩形之类的乱码。
从英文到中文
因为你还没有安装字体,所以无法正常显示中文。
pacman -Sy wqy-microhei
文泉驿的中文字体之一。还有其他字体,可以自己去发现。
然后就能看到中文了。
同时在启动桌面环境的命令前加上指定用中文启动,就可以以中文为默认语言使用桌面环境,例:LANG=zh_CN.UTF-8 startxfce4
声音
如果和我一样使用了轻量化的桌面环境,一般要手动调整声音,pacman -Sy alsa-utils
安装声音配置相关的一些工具,其中alsamixer
命令可以在终端中用类似图形化的方式调整声音
有时候没有声音还要设置默认声卡,有时候没有混音还得自己手动开启dmix.这里就不展开了。
输入法
参见 Fcitx (简体中文) 、 Fcitx5 (简体中文) 或 Ibus。
我使用的是Fcitx5,是fcitx的最新版本,pacman -Sy fcitx5-im fcitx5-chinese-addons
,里面有图形界面的配置工具
欲在程序中正常启用 Fcitx5, 需设置以下环境变量,并重新登录:
~/.pam_environment
-------------------------------------------------
GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE DEFAULT=fcitx
XMODIFIERS DEFAULT=\@im=fcitx
INPUT_METHOD DEFAULT=fcitx
SDL_IM_MODULE DEFAULT=fcitx
GLFW_IM_MODULE DEFAULT=ibus
还有一个小工具在fcitx5上可以使用搜狗输入法的皮肤,大家自己查吧
其他
类似于记事本的工具:leafpad或者mousepad
音乐:netease-cloud-music, yesplaymusic, iease-music(后两个都是网易云的第三方客户端,非常漂亮)
ofiice: WPS Office (简体中文)或者LibreOffice (简体中文)
视频音频的播放: VLC
邮件客户端:Mailspring (也是颜值很高,而且有一些实用的功能)
终端模拟器:**Tilda** — 可配置的下拉终端模拟器(很方便,可以随时唤出)
其他的大家看List of applications各取所需吧。
希望看到大家自己的Arch!