# FAQ (简体中文)

除了本文，还建议你阅读一下Arch之道和Arch Linux。两文都对Arch Linux做了很好的介绍。

## 一般问题

### Q) Arch Linux 是什么？

A) 请阅读Arch Linux。

### Q) 为什么我要用Arch？

A) 请先阅读Arch之道。如果你乐于“DIY”，并且需要（或喜欢）简洁、优雅、可定制、前沿的通用GNU/Linux发行版，你也许会爱上Arch。

### Q) 为什么我不想用Arch？

A) 您也许不想使用Arch，如果：

- 看完了Arch之道，你并不赞同我们的哲学。
- 没有能力、时间、愿望去打理这样一个高度可定制的GNU/Linux发行版。
- 需要非x86_64、i686平台支持。
- 你是狂热的自由软件爱好者，只希望发行版提供GNU定义的自由软件。
- 出于安全原因，需要带签名认证的软件包。
- 你认为好的操作系统应当是已经配置好的：安装介质应默认包含一套完整的应用软件、桌面环境——达到“开箱即用”。
- 你不需要追求最新、使用滚动升级的发行版、
- 你对目前使用的操作系统感到满意。
- 你需要一个针对不同用户群的操作系统。

### Q) Arch基于什么发行版？

A) Arch完全独立自主开发，是从零开始建设的，并不基于任何发行版。创造Arch之前Judd Vinet非常喜欢并使用CRUX——一个由Per Lidén创建的小型发行版。灵感源于CRUX，Arch从零开始。此外，pacman是用C语言编写的。

### Q) 我是一个彻头彻尾的Linux新手，我应该用Arch吗？

A) 这个问题有诸多争议。Arch 的目标用户是比较熟悉GNU/Linux的用户，但是一些人也认为 Arch 很适合愿意动手解决问题的新手，只要是愿意花不少时间学习即可。在开始问任何问题之前，自己先通过Google、Wiki或者论坛进行搜索。我们为你创建了这些资源并让你可以随时访问，上千志愿者为你提供了大量的信息资源。

推荐阅读：Arch Linux的新手指南。

### Q) Arch的安装和配置十分麻烦，社区的人总是让我去读那些TMD死长死长的手册。

A) Arch是针对一部分特定用户群设计的，也许不适合你。

### Q) Arch是为服务器、桌面还是工作站设计的？

A) Arch并不是针对特定应用设计的，而是针对特定类型的用户设计的。Arch适合那些喜欢并有动手能力的用户，以及希望打造属于自己的独一无二的系统的用户。因此，对于这些用户，Arch能胜任各种工作。许多人把Arch同时当做桌面系统和工作站。此外，archlinux.org网站在Arch上运行。

### Q) 我太喜欢Arch了，希望开发团队实现一个新功能。

A) 首先，你看过Arch之道了吗？你能否自己实现这个功能？这个功能是否符合Arch的最小化和代码的正确性胜过易用性的哲学？与大家分享你的代码或是解决方案。如果大家和开发者确实认同该功能，有可能会被添加到系统中。Arch社区依靠大众贡献分享的代码和工具蓬勃发展。

### Q) 什么时候发布新版本？

A) Arch Linux 的发布版本只是安装脚本加上[core]仓库的快照，一般每月上旬发布一次。

Arch使用滚动升级模式，只需执行一条命令，便可升级系统到最新版本。基于上述原因，发布新版本对Arch并不重要，滚动升级使系统永葆青春。使用`pacman -Syu`命令升级系统，无需重装系统即可更新到最新版本。同样，Arch的新发行版本并不会提供什么新的功能。新的功能通过`pacman -Syu`命令即可立即拥有。

### Q) Arch Linux 是否稳定？会不会经常坏掉？

A) 简单而明了的答复：主要取决于你自己。

你在基本系统上组建了自己的Arch，你控制系统的升级。（显然，大而复杂的系统包含很多软件包、工具，包含桌面环境，比起小而简单的系统，更可能因为某个上游的改动导致问题。）Arch适合积极、能干的用户。通用UNIX操作技能、良好的系统维护和升级对系统稳定性也十分重要。此外，很多Arch软件包都是原版编译的，没有使用补丁，所以大多数程序问题都是上游导致的。

所以，“用户”应当对自己的滚动升级的系统稳定性负责任。用户自己决定何时升级、修改配置。Arch与其他发行版的一个不同是，Arch是真正的“DIY”发行版。抱怨系统损坏是无意义的，毕竟上游的改动不是Arch开发者的责任。

### Q) Arch需要更多曝光（比如广告）。

A) Arch已经得到应得的新闻曝光机会。Arch Linux 的目标不是为了变大。我们的目标是使它变得更好。让它自然增长吧。试图强迫它成长得更快会造成诸多问题。

### Q) Arch需要更多开发者

A) 也许吧。欢迎你来帮助我们！逛逛论坛，IRC频道，以及邮件列表，看看有什么需要做的。或者，看看论坛的 Community Contributions 子版面吧。

### Q) 为什么Arch下网速比其他系统慢？

A)网络是否正确配置，读一读新手指南中的网络配置。

### Q) Arch为什么用了我的所有内存？

A) 实际上，内存不用就浪费了。

很多新用户发现，Linux内核对内存的处理和他们所想的有所不同。由于访问内存比访问磁盘要快速得多，内核会把最近访问的数据缓存到内存中。缓存数据会在空闲内存耗尽时被释放。

造成这种困惑的罪魁祸首，恐怕是`free`命令：

    $ free -m

                 total       used       free     shared    buffers     cached
    Mem:          1009        741        267          0        104        359
    -/+ buffers/cache:        278        731
    Swap:         1537          0       1537

注意`-/+ buffers/cache:`这一行——第一个数据是真正的“正在使用”的内存，第二个数据是“可利用”的内存（但不是“未使用”）。

上述例子是从一台总内存1G的笔记本电脑上取得的，已使用的内存有741M，剩下的内存貌似连浏览器都开不了呢！然而，根据我们上面的解释，这台机器只有278M内存是正在使用的，而剩下的731M内存都是可以使用的。根据后面的数字，104M的内存作为缓冲区，359MB内存用来缓存数据，两者都可以在需要时被释放。剩下的267M内存是完全没有使用的。

有什么用？更好的性能！

如果对此十分好奇，请参见此文。

### Q) 我的磁盘空间被什么东西占用了？

A) 问题的答案因系统而异。有一些实用程序或许能告诉你答案。

## 软件包管理

### Q) 那个啥啥程序在什么软件包里面？

使用 pkgfile.

例如，要查看`glxinfo`在哪个包里面：

    $ pkgfile file_name

### Q) 我发现了某个软件包的错误，该怎么办？X

A) 首先你需要搞清楚Arch队伍是否能够解决这个错误。有时并非如此（Firefox崩溃也许是Mozilla开发团队的错误）——这便是所谓的上游错误。如果确实是Arch的问题，你可以采取以下步骤：

1. 在论坛中搜索有关信息。看是否有人已经注意到过。
2. 根据 Bugtracker 指导，提交Bug报告。
3. 也可在论坛中发篇帖子，阐述问题细节并说明你已经报告过。这会避免其他人重复报告同样的问题。

### Q) Arch软件包需要独特的后缀名。“.pkg.tar.xz”太长了，而且令人困惑

A) 在Arch邮件列表曾有过讨论。一些用户提议.pac作为文件扩展名。但就目前所知而言，没有计划改变软件包的扩展名。

正如Tobias Kieslich（一名Arch开发者）所说：“一个软件包就是一个[xz]压缩包！它可以被很多软件打开、研究和操作。此外，这种mime-type也可以被大多数软件自动地正确识别。”

### Q) Pacman应该提供函数库接口，这样其他软件就可容易地获得软件包信息。

A) 从3.0.0版本开始，libalpm（Arch Linux Package Management，Arch Linux 软件包管理）库成为了pacman的后端，这个库大大方便了交互式前端的编写（例如图形化前端）。

### Q) 为什么不提供官方的pacman图形化前端？

A) 请阅读Arch之道、Arch Linux。答案很明确，Arch开发团队不会提供这样的工具。如果需要，请使用用户开发的pacman图形化前端。

### Q) pacman需要某某功能！

A) 请阅读Arch之道、Arch Linux。Arch的哲学是“保持简单”。但如果你认为这个功能确实是必要的，可以在官方论坛说出来让大家讨论，或者直接与开发者联系。如果你认为这对pacman特别重要甚至是一个bug，请到这里汇报。

也欢迎你自己实现新功能。也许你的代码或补丁不会被官方接受，但他人可能会用到。

### Q) Arch需要一个稳定软件包分支。

也许你应该试试ArchServer。

### Q) Arch的不同软件仓库分别有什么用？

A) 参见官方软件仓库。

### Q) 我刚刚安装了一个软件包，怎么启动呢？

A) 如果正在使用像KDE和GNOME这样的软件包，程序一般会自动出现在菜单中。如果是命令行程序，则可使用如下命令查看可执行文件名称和位置：

    $ pacman -Qlq package_name | grep /usr/bin/

### Q) 在官方仓库中，为什么只为每个共享链接库提供一个版本？

A) 某些发行版，比如Debian，会为一个共享库提供多个版本，比如：`libfoo1`，`libfoo2`，`libfoo3`等等。这样，就可以同时安装那些依赖不同版本libfoo的程序。

和Debian不同，Arch是滚动升级的前沿发行版。这类发行版的特征就是提供最新的软件包，所以Arch官方只对最新版的程序提供支持。摆脱了过时的软件包，包维护人员就可以全力维护新版本的程序。只要上游提供新版本的共享库，我们就会重新编译相关程序，更新仓库。

### Q) 执行`pacman -Syu`时，显示某个共享库需要升级，但依赖它的程序没有升级，我该怎么做呢？

A) 这种情况理应不会发生。假如官方源一个名为`foobaz`的程序，成功地使用新版本共享库`libbaz`编译成功，那么它应该和`libbaz`一同更新。如果编译不成功，由于旧的`foobaz`存在依赖关系，例如：

    libbaz=1.5

所以当`libbaz`升级时，它会被移除。

如果`foobaz`是你自己编译的或是从AUR获取的，当`libbaz`升级时你应当重新编译它。如果编译失败，请通知`foobaz`开发者。

### Q) 会不会出现仓库中的内核主版本更新了，而某些驱动包没有一同升级的情况？

A) 不可能。当内核主版本升级时，所有支持的驱动一定会一同更新。然而，如果你安装有非内核支持的驱动包，比如`catalyst`，内核升级可能导致系统挂机。你应当在内核升级时自行重编译它们。

### Q) Arch 使用软件包签名机制吗？

A) 是的，pacman 4 已经包含软件签名功能，请参见package signing。

## 安装

### Q) Arch需要安装程序，比如带图形界面的。

A) 由于Arch通常不需要多次安装（采取滚动升级），安装程序并不是开发者和用户关注的重点。Installation Guide (简体中文) 和 Beginners' Guide (简体中文) 已经完全更新到使用命令行的版本。如果想使用安装程序，可以试试Archboot.

### Q) 我安装了Arch，现在正面对一个命令行登陆界面，怎么办？

A) 参见新手指南。

### Q) 哪个桌面环境或窗口管理器比较好？

A) 有很多选项，选择最适合你的即可。参见：桌面环境。

### Q) Arch比起其他“小型”发行版，有何独特之处？

A) 某些发行版和Arch相似，提供最小化安装。但必须指出几点：

1. Arch的基础被设计为一个轻量、小型的基本环境。
2. 不论使用网络安装或是安装光盘，安装Arch的唯一方法是从最基本系统构建。
3. 安装程序、基本系统、以及整个发行版，都遵从K.I.S.S.设计理念，这种理念使得Arch独一无二，适合其目标用户群。
4. 服务和软件包的安装需要用户交互配置。和其它发行版自动配置服务和启动服务不同，Arch 中将这些任务交给用户自己完成。
5. Arch软件包都力求精简，对任何可选依赖，用户会得到提示，而不会被自动安装。这使得Arch颇为轻量。
6. Arch提供完善的文档，帮助用户搭建系统。

## 其他

### Q) AUR是什么？

A) 参见：Arch用户软件仓库#FAQ。

### Q) 观看视频时屏幕总是一片绿色，怎么办？

A) 你的显示色深可能没有设置好。比如，本该是24位色，却设置成了16位色。

### Q) 拼写检查说所有文本都是错误的！

A) 安装aspell词典了吗？使用`pacman -Ss aspell`查找可用词典。

如果安装字典也没用，可能是`enchant`出问题了。查看aspell识别到的词典文件：

    $ aspell dicts

    en
    en_GB
    ...etc

如果你需要的语言不在其中，添加下面的内容到`/usr/share/enchant/enchant.ordering`：

    en_GB:aspell # 以en_GB为例

Category:

- About Arch (简体中文)