User:Lakejason0/DontBreakArch

本页使用了标题或全文手工转换
来自 Arch Linux 中文维基

提示:本用户页欢迎任何用户直接的建设性编辑。

原始页面来自Advice For New Users On Not Breaking Their Debian System - Debian Wiki

Arch Linux是滚动更新的系统。从单独的时刻上去看,其即使可能会在更新后出现问题,但由于滚动更新,这些问题也可以被快速修复,因而总体上依然稳定可靠。除去上游引入的问题,用户手上持有的系统最高权限——root权限——也通常是导致系统损坏的导火索。背离通常的操作手段导致系统故障是正常的,因而我们在此处列出常见的导致系统故障的操作,以期帮助大家避免这些问题。不过,若有充分的知识和谨慎的操作,即使出了问题,通常也是可以妥当解决的。

在此之前,需要知道一点的是,来自官方仓库的软件包受到官方支持,且来自core仓库的软件包更是会先进行严格的审核。而在其他系统中,你可能会从各个网站下载安装包,但无论在哪个系统上,这通常都伴随风险。在Arch Linux上,还有很多第三方软件的安装脚本来自Arch Linux用户软件仓库(简称AUR)。这些脚本相较于用户手动使用命令编译安装来说,可以让通过脚本安装的软件受到本系统的包管理软件,pacman管理,这可以极大的减小自行安装与包管理冲突的风险,但这些脚本亦可能包含恶意代码(这曾经发生过,虽然不常见)。因此,请尽量选用来自官方仓库的软件包,并在使用来自AUR的安装脚本前对它们做仔细检查(比如检查包含的网址,可能包含的破坏性命令等)。

中文用户可能会选用来自非官方用户仓库[archlinuxcn]的软件包。同样,你也应该谨慎选用这些软件包,在非官方软件包出问题时也请向相应的人员报告问题。

现在,让我们开始吧。

不要混用测试仓库[编辑 | 编辑源代码]

如果你使用桌面环境,你有可能想提前尝试测试版本的桌面环境,比如KDE和GNOME,并相应启用gnome-unstablekde-unstable。需要注意的是,这些仓库需要同时与测试仓库,也就是testing仓库和community-testing同时启用(如果有启用更多的官方仓库也要启用相应的测试仓库),否则可能导致部分升级,简单来说就是新旧软件包不兼容的情况。要提前尝试,就都要提前尝试。一旦产生错误,则必须尽快解决问题。

通常,只要pacman可以运行,完整地启用测试仓库后,进行 pacman -Syu 就能修复这些问题。

不要“下载”显卡驱动[编辑 | 编辑源代码]

显卡制造商的官网可能会提供显卡驱动的安装脚本,但是也请用来自软件仓库的驱动软件包。Arch Linux的软件仓库已经(基本上)提供了这些驱动,并且可以伴随Linux内核升级而升级,这比单独的安装脚本要可靠和安全得多。

即使是臭名昭著的NVIDIA,近年来的表现也在逐渐稳定。请参考NVIDIAAMDIntel获取更多信息。本wiki同时提供其他软件在Arch Linux上的使用说明,其中也可能包含相关软件在与特定显卡配合使用时需要单独采取的措施。

小心make install和其他类似命令[编辑 | 编辑源代码]

pacman包管理通过统一的方式管理系统软件及其文件,但make installninja install等安装的文件不受pacman管理,且可能与pacman管理的文件相冲突。同样,如果需要卸载由这些命令安装的文件,也需要花费一番功夫。

同样,直接运行这些命令会需要你自行管理这些软件的升级等,事实上十分不便。来自AUR的安装脚本实际上采用与软件仓库打包相一致的过程,因而这样安装的软件受到pacman管理。在了解相应风险后,您也可以使用AUR 助手帮助你升级来自AUR的软件包。如果AUR也实在没有,也可以考虑自己创建软件包(当然这并不轻松),让pacman管理。还有一些常见的类似建议列在下方。

不要直接pip install[编辑 | 编辑源代码]

Python有相当多的库并不在Arch仓库内,使用pip install是个不错的折衷办法。但是,请一定在venv(或类似环境)中运行。如果你sudo pip install,那么你安装的文件会与pacman管理的文件「打架」。然而,即使使用pip install安装到~/.local下,也可能安装了与系统软件重复的库,但因为疏于更新而落后于系统软件需要的版本,从而导致某些需要新版本的库的命令出错。

不要默认启用anaconda环境[编辑 | 编辑源代码]

anaconda是个不错的管理Python软件的方式。然而,它自带了包括curl和ncurses在内的许多库文件,其版本可能与系统所需要的版本冲突。因此,请不要默认启用anaconda环境,仅在需要使用的时候启用。

不要盲从教程[编辑 | 编辑源代码]

标题不是在说不要看任何教程,而是说,应该同时比对几份同主题的教程(对于ArchWiki,则也可以是中英文),以及参考说明文档。同样,教程也有时效性,如果是五年前的教程,可能现在已经完全不适用。

但,无论是在跟随教程之前,还是在对比几份教程之前,都应该搞清楚教程中的命令到底会做出哪些操作。这样可能会帮助你及时发现错误,当然,即使未能发现,也能更迅速地帮助你恢复系统正常。

除了ArchWiki外,man命令等是已经存在于你系统上的文档。这些也是参考来源。

移除软件包需谨慎[编辑 | 编辑源代码]

软件包之间有依赖关系,也就是一个软件包必须和另一些软件包一起存在。因此,移除一个软件包可能会需要相关的其他软件包也被一同移除。

移除软件包前,pacman会显示要移除的包的列表。一定要仔细查看每个要被删除的包,它们有的可能是你仍需要使用的软件。如果不清楚,除了询问其他人以外,你还可以通过pacman的查询命令来查看每个软件包的简介与相关信息。

记得自己做过什么[编辑 | 编辑源代码]

记得自己做过什么在出问题的时候可以帮助你或者是让其他人帮你快速解决问题。比如,改动配置文件时,也许可以原地留一下注释和日期,标注原因,之类的。

总的来说,要维持Arch Linux系统的稳定,你自然要付出一定的精力。

寻求他人帮助[编辑 | 编辑源代码]

Arch Linux用户通常对Arch Linux上的问题更为熟悉。在遵循行为准则的前提下,向官方社区和非官方的国际社区(中文用户可以看看Arch Linux 中文社区)通常是个好主意。

行为准则#常识有言:

  • 使用Arch Linux,先要接受Arch 之道
  • 先看文档,搜索网站,做好功课,再行提问
  • 寻求帮助,耐心委婉
  • 乐于奉献,止于损害

遵循基本前提,提供尽可能多的细节,保持耐心多等待,不要宣泄情绪。

当然,每个社区都会有自己的建议。但通常,使用即时通讯软件时,不要频繁换行发言,尽可能一次发完。上传日志建议使用外部网站(比如Pastebin和每个群组自行设置的类Pastebin网站),并且注意删掉私人信息。

最后,祝你的Arch Linux之旅顺利且愉快!