https://wiki.archlinux.org/api.php?action=feedcontributions&user=Jason&feedformat=atom
ArchWiki - User contributions [en]
2024-03-28T23:06:58Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=Pacman_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)/Package_signing_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=212527
Pacman (简体中文)/Package signing (简体中文)
2012-07-10T13:23:20Z
<p>Jason: /* 官方开发者密钥 */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:Pacman development (简体中文)]]<br />
[[en:Pacman-key]]<br />
[[es:Pacman-key]]<br />
[[fr:pacman-key]]<br />
[[it:Pacman-key]]<br />
[[ru:Pacman-key]]<br />
[[tr:pacman paket imzaları]]<br />
{{Lowercase title}}<br />
pacman-key 是 pacman 4 新加的工具。有了它,用户可以管理 pacman 新签名系统的授信密钥。<br />
<br />
==原理==<br />
Pacman 中的软件包签名使用"信任网络"模型以保证软件包来自开发者而不是伪装者。软件包开发者和 TU 都有各自的 PGP 密钥并用它们签名软件包。这些签名能够保证软件包确实来自他们。而每个用户使用 pacman-key 时也会获得一个唯一 PGP 密钥。<br />
<br />
密钥也可以用来签名其它的密钥,也就是说签名密钥的所有者能够保证被签名密钥的安全性。要信任一个软件包,需要在用户自己的 PGP 密钥和软件包签名间建立一个密钥链。在 Arch 的密钥结构中,有三种方式:<br />
* '''自定义软件包''': 用户自己构建软件包并用自己的密钥签名认证。<br />
* '''非官方软件包''': 开发者构建软件包并签名它。用户需要用自己的密钥签名开发者的密钥,将其变为可信。<br />
* '''官方软件包''': 开发者构建软件包,而开发者的密钥已经被 Arch 主密钥签名。最终用户用自己的密钥签名主密钥,这样就能信任所有官方开发者。<br />
<br />
关于此问题的背景,请访问博客 [http://allanmcrae.com/2011/08/pacman-package-signing-1-makepkg-and-repo-add/][http://allanmcrae.com/2011/08/pacman-package-signing-2-pacman-key/][http://allanmcrae.com/2011/08/pacman-package-signing-3-pacman/][http://allanmcrae.com/2011/12/pacman-package-signing-4-arch-linux/] 和 [[Package Signing Proposal for Pacman|软件包签名提议]] wiki 页面。<br />
<br />
==配置==<br />
===配置 pacman===<br />
首先通过 {{ic|/etc/pacman.conf}} 中的 {{ic|SigLevel}} 确定要使用的检查级别。文件的注释中列出了几个可选设置, [http://www.archlinux.org/pacman/pacman.conf.5.html#_package_and_database_signature_checking {{ic|pacman.conf}}手册页面] 有详细介绍。<br />
<br />
{{警告|{{ic|TrustAll}} 选项仅用来进行调试,非常容易信任未验证的签名。所有官方软件源都应该使用 {{ic|TrustedOnly}}。}}<br />
<br />
直到 2012 四月, 数据库签名还未实现,所以如果使用 {{ic|Required}} 选项,应该加入 {{ic|DatabaseOptional}} 例如:<br />
{{bc|1=SigLevel = Required DatabaseOptional TrustedOnly}}<br />
<br />
===初始化密钥环===<br />
<br />
要初始化 pacman 密钥:<br />
# pacman-key --init<br />
<br />
这会在 {{ic|/etc/pacman.d/gnupg}} 建立新密钥并生成系统主密钥。要检查软件包签名,需要先通过下面介绍的方式导入密钥。<br />
<br />
==管理密钥==<br />
用来验证软件包的密钥保存在 pacman-key 管理的 "keyring" 中。pacman 在软件包中遇到未知密钥时,pacman 和 pacman-key 可以从密钥服务器下载。密钥服务器通过 {{ic|/etc/pacman.d/gnupg/gpg.conf}} 配置,可以在命令行中用 {{ic|--keyserver}} 选项指定。[[wikipedia:Key server (cryptographic)|Wikipedia 文章]] 列出了可用的密钥服务器。<br />
<br />
PGP 通常很长(2048 位或更长),不太容易使用,所以通常创建一个40位十六进制指纹,最后八位被称为密钥 ID,是密钥的名字。长签名可以用来检测两个密钥是否相同。<br />
<br />
===主密钥===<br />
有 5 个 Arch Linux 主密钥被用来签名开发者和 TU 的密钥。用户的密钥环中应该包含这些密钥并信任它。可以通过 [https://www.archlinux.org/master-keys/ Master Signing Keys] 页面的密钥 ID ("Master Key"列)获取它们。<br />
<br />
===官方开发者密钥===<br />
官方开发者和 TU 的密钥已经被主密钥签名认证,所以不需要用 pacman-key 认证它们。pacman 遇到不认识的签名时,它将会询问是否从密钥服务器下载,下载开发者密钥后,以后都不需要下载。以后会用它验证所有这个开发者构建的软件包。<br />
<br />
热锅开发者和 TU 的密钥是较早之前导入,它们的签名可能还不存在于本地数据库,用下面命令更新:<br />
<br />
# pacman-key --refresh-keys<br />
<br />
{{注意| --refresh-keys 时,本地签名也会被远程查找,并收到未找到的消息,这是正常的。}}<br />
<br />
===导入主密钥和开发者密钥===<br />
Arch linux 提供了 {{Pkg|archlinux-keyring}} 软件包,安装时可以自动装入主密钥和开发者密钥。如果密钥环中没有主密钥,安装时会询问是否信任主密钥,可以检查 [https://www.archlinux.org/master-keys/ 这些指纹]是否正确。<br />
<br />
===非官方密钥===<br />
要加入非官方密钥,需要手动运行 pacman-key,先从密钥所有者那里得到 ID,然后运行下面命令下载密钥:<br />
{{bc|# pacman-key -r <keyid>}}<br />
请和主密钥一样验证指纹,然后本地签名验证此密钥:<br />
{{bc|# pacman-key --lsign-key <keyid>}}<br />
这样这个密钥就可以用来验证软件包了。<br />
<br />
== 问题解决 ==<br />
=== 如何收集熵 ===<br />
移动鼠标、不停的随机按键盘按键或者执行磁盘操作例如 {{ic|updatedb}} 可以生成足够的熵,可能需要一段时间,请保持耐心。Alt+F2-6 到第二个终端不起作用。<br />
<br />
<br />
如果需要通过 ssh 运行 pacman-key --init,请在目标机器编译安装 [[AUR (简体中文)|AUR]] 中的 {{AUR|rng-tools}} 软件包,通过 ssh 连接并运行:<br />
# sed -i 's/0/10/' /etc/conf.d/rngd<br />
# rngd -f -r /dev/urandom &<br />
# pacman-key --init<br />
<br />
pacman-key 成功运行后停止 rngd 并删除软件包。<br />
<br />
# killall rngd<br />
# pacman -Rns rng-tools<br />
<br />
===密钥导入失败处理===<br />
<br />
可能某些服务商屏蔽了导入 GPG 的端口。<br />
<br />
编辑 {{ic|/etc/pacman.d/gnupg/gpg.conf}} 将 {{ic|keyserver hkp://keys.gnupg.net}} 替换为<br />
keyserver hkp://pgp.mit.edu:11371<br />
<br />
===禁用签名检查===<br />
{{警告|小心使用,禁用签名检查,pacman 会自动安装不信任的软件包。}}<br />
<br />
如果不在意软件包签名,可以完全禁用 PGP 签名检查,编辑 {{ic|/etc/pacman.conf}} 并注释掉 [options] 下的如下行:<br />
SigLevel = Never<br />
需要同时注释掉软件源的 SigLevel 设置。<br />
<br />
这样就不会进行任何签名检查,和 pacman 4 之前一样。如果这样,就不需要用 pacman-key 建立密钥环。<br />
<br />
===重置所有密钥===<br />
<br />
如果要删除或重置系统,删除 {{ic|/etc/pacman.d/gnupg}} 目录并重新运行 {{ic|pacman-key --init}},然后添加需要的密钥。</div>
Jason
https://wiki.archlinux.org/index.php?title=Official_Installation_Guide_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=212526
Official Installation Guide (简体中文)
2012-07-10T11:00:40Z
<p>Jason: </p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:Getting and installing Arch (简体中文)]]<br />
[[bg:Official Installation Guide]]<br />
[[cs:Official Installation Guide]]<br />
[[en:Official Installation Guide]]<br />
[[es:Official Installation Guide]]<br />
[[fr:Guide officiel de l'installation]]<br />
[[it:Official Installation Guide]]<br />
[[ja:Official Installation Guide]]<br />
[[ko:Official Installation Guide]]<br />
[[nl:Official Installation Guide]]<br />
[[pl:Official Installation Guide]]<br />
[[pt:Official Installation Guide]]<br />
[[ro:Ghid de instalare oficial]]<br />
[[ru:Official Installation Guide]]<br />
[[sk:Official Installation Guide]]<br />
[[sr:Official Installation Guide]]<br />
[[uk:Official Installation Guide]]<br />
[[zh-TW:Official Installation Guide]]<br />
{{Article summary start|摘要}}<br />
{{Article summary text| 1=<br />
<p>Archlinux发行版的通用安装文档</p><br />
<br />
<p>本指南只适用于2010.05及其以后的发行版。本指南由<br />
[http://projects.archlinux.org/?p=aif.git aif git]维护 <br /><br />
欢迎反馈Git抓取请求、补丁、评论等意见到arch<br />
[http://www.archlinux.org/mailman/listinfo/arch-releng releng mailing list]</p><br />
<br />
<p>本指南可以从发行媒介的/usr/share/aif/docs目录和<br />
[[Official_Arch_Linux_Install_Guide|The arch wiki]]获取</p>}}<br />
<br />
{{Article summary heading|相关页面}}<br />
{{Article summary wiki|新手指南 (简体中文)}} (适合新手)<br />
{{Article summary end}}<br />
官方安装指南被[http://projects.archlinux.org/aif.git/ aif.git]维护。<br />
<br />
包括最新[http://www.archlinux.org/download/ 发行版本] (2011.08.19)能在[http://projects.archlinux.org/aif.git/plain/doc/official_installation_guide_en?id=13c8c0813328eb8f52b03b3c53a32f1f40558021 这里]找到。<br />
<br />
(非官方) [[Beginners' Guide]]提供一个安装和配置过程。<br />
<br />
<h1>介绍</h1><br />
<br />
<h2>Arch Linux是什么?</h2><br />
<br />
<p>Arch Linux是独立开发并为i686和x86_64平台优化的Linux发行版,其开发思想最早源自CRUX。</p><br />
<p>Arch Linux的开发专注于在简单,优雅,代码正确和技术领先各方面取得平衡。</p><br />
<p>它轻巧和简便的设计使其易于扩展和打造成你想要的系统。</p><br />
<br />
<h2>许可</h2><br />
<br />
<p>Arch Linux及其代码脚本版权所有</p><br />
<br />
<p>2002-2007 Judd Vinet</p><br />
<br />
<p>2007-2010 Aaron Griffin</p><br />
<br />
<p>授权方式遵循GNU通用公共授权(GPL).</p><br />
<br />
<h1>安装前准备</h1><br />
<br />
<h2>系统构架</h2><br />
<br />
<p>Arch Linux针对i686和x86_64处理器而优化,因此它无法运行在更低版本或是不兼容的x86 CPU上(例如:i386,i486或是i586)。安装Arch Linux需要Pentium Pro,Pentium II或者AMD Athlon (K7)以上的处理器(技术上说,一些没有cmov指令的CPU(例如:AMD K6和VIA C3)也是i686的CPU,但是我们使用的gcc需要用到cmov指令集)。<br />
在安装Arch Linux之前,你需要决定采用何种安装方式。</p><br />
<br />
<h2>可用的镜像</h2><br />
<br />
<p>Arch Linux提供的iso镜像文件,可以写到光盘,磁盘或是U盘上。</p><br />
<br />
<p>引导程序用的是Isolinux bootloader。共有两种类型的安装媒介,它们的区别仅仅在于是否包含了软件包(packages)。</p><br />
<br />
<ul><br />
<li><p>“core“镜像提供了一些核心的软件包。<br /><br />
这个镜像适用于网络连接慢或建立网络连接有困难的用户。</p></li><br />
<li><p>”net”镜像不包含任何软件包,通过网络进行安装。<br /><br />
这个镜像适合拥有快速的网络连接的用户,我们推荐你选用这个镜像,因为安装完成后,你的系统就是最新的。</p></li><br />
</ul><br />
<br />
<p>使用这两种镜像,你都可以指令安装程序从网络获取软件包,并且两种镜像都可用作功能完备的系统还原环境。</p><br />
<p>这些镜像可以像正常安装的Arch Linux一样运行。事实上它们是一样的,只是镜像安装在了光盘或U盘,而不是硬盘上。他们都包含了完整的“base”软件包集合,还包含了网络工具,驱动程序和aif软件包。如果在运行当中需要用到其它软件,你只需要连通网络并使用pacman进行安装。本文的最后有pacman命令的简短参考。</p><br />
<br />
<p>镜像有i686,x86_64以及双构架的版本,双构架的版本包含了i686和x86_64的版本,可以由你在启动时选择所需版本。</p><br />
<br />
<h2>AIF安装工具</h2><br />
<br />
<p>Arch Linux使用AIF(Arch Linux Installation Framework)来进行安装。<br /><br />
这个工具用bash编写,它包含了一些库用以提供如安装软件包,设置磁盘等功能,还有一些程序调用这些库以简化安装过程或是把安装过程分解为相关的简单任务。<br />
默认包括的程序有:</p><br />
<br />
<ul><br />
<li>interactive: 一个交互式安装程序。在安装过程中,它会询问你一些问题,根据你选择的答案自动改变系统配置,从而引导你完成安装。<br/><br />
安装好的系统将只包括定制的一些基础软件包("base"),以及连接网络所需要的程序和驱动。<br/><br />
在你成功安装并启动系统后,你可以对系统进行全面升级并安装任何所需的软件包。(简写为 <code>/arch/setup</code>)</li><br />
<li>automatic: 一个几近于0交互的自动化的类似于部署工具的程序。它使用配置文件对系统进行设置,在/usr/share/aif/examples/下有配置文件的例子。这些例子都是一些较通用的方案,你也可以根据自己的需要进行修改以安装其它软件包,或是进行其他的一些配置。</li><br />
<li>base: 基础的,少交互的以默认方式安装的程序。它不是提供给最终用户使用,而是方便其它程序继承其功能的。</li><br />
<li>partial-configure-network: 将网络的配置选项从交互过程中弹出,帮助你实时配置网络。</li><br />
<li>partial-disks: 处理磁盘子系统或是进行回滚(rollback)。</li><br />
<li>partial-keymap: 改变键盘映射/控制台的字体设置。(简写为 <code>km</code>)</li><br />
</ul><br />
<br />
<p>partial-keymap和partial-configure-network这类程序与loadkeys,ifconfig相比,好处是能交互式的询问你是否将配置应用到目标系统。</p><br />
<br />
<p>更进一步,你还可以:</p><br />
<br />
<ul><br />
<li>自己从头写程序,或是覆盖已有程序中的一部分</li><br />
<li>自己写函数库,提供新的,可重用的功能</li><br />
<li>自己写配置文件,并让已有的程序能(自动的)支持它们。</li><br />
</ul><br />
<br />
<p>更多信息,可查看AIF的readme.</p><br />
<br />
<h2>获取Arch Linux</h2><br />
<br />
<ul><br />
<li><p>你可以从[http://www.archlinux.org/download/ 下载]页面罗列的任一镜像点下载Arch Linux。</p></li><br />
<li><p>你也可以从Archux, OSDisc或是LinuxCD购买安装光盘,并寄往世界上任何地方。</p></li><br />
</ul><br />
<br />
<h2>准备安装介质</h2><br />
<br />
<ul><br />
<li><p>通过BT下载(推荐)或是从你喜欢的镜像点下载安装文件。</p></li><br />
<li><p>下载iso/<release>/sha1sums.txt</p></li><br />
<li><p>用sha1sum校验.iso镜像文件:</p><br />
<br />
<p>sha1sum --check sha1sums.txt</p><br />
<br />
<p>archlinux-XXX.iso: OK</p></li><br />
<li><p>用刻录软件将ISO镜像文件写入CD-R,CD-RW。如果是使用USB存储器如U盘,则需要用dd或是其它的原始写入(raw-write)软件;</p><br />
<br />
<p>dd if=archlinux-XXX.iso of=/dev/sdX</p></li><br />
</ul><br />
<br />
<p>确保使用的是/dev/sdX,而不是/dev/sdX1. <br /><br />
这个命令将不可撤消的删除你U盘上的所有文件,所以在此之前请确认U盘上没有任何重要文件。</p><br />
<br />
<h1>安装Arch Linux</h1><br />
<br />
<h2>使用安装介质</h2><br />
<br />
<h3>启动前</h3><br />
<br />
<p>确认你的BIOS已设置为允许你从CD-ROM或者是USB设备启动。<br /><br />
将Arch Linux安装光盘放入光驱或是将Arch Linux安装U盘插入相应端口,然后重启计算机。安装介质引导启动后,你将看到Arch Linux的图标和一个grub菜单供你选择。<br /><br />
大多数情况下你只需要敲回车即可。<br /><br />
如果Grub挂起,那么你是那些光驱不支持grub的少数人之一,你可以尝试使用isolinux镜像。</p><br />
<br />
<h3>启动后</h3><br />
<br />
<p>在启动完之后,你会看到一个登录提示和屏幕上方的简单说明。<br /><br />
你应当以root身份登录。此刻你可以选择手动准备并开始安装系统。</p><br />
<br />
<ul><br />
<li>如果你使用non-US的键盘映射或者是特殊的终端字体,可以通过敲入<code>km</code>命令进行修改。</li><br />
<li>如果由于一些原因你在开始安装之前需要连接网络,可以敲入<code>aif -p partial-configure-network</code>命令。<br /><br />
(安装过程中的交互程序也能让你为网络安装进行网络配置)</li><br />
</ul><br />
<br />
<p>以上两项设置,都可以通过安装过程中的交互程序将其应用到目标系统。</p><br />
<br />
<p>你还可以用<code>arch</code>身份登录,从而执行一些不需权限的操作。<br /><br />
大多数人不会用到这一功能。</p><br />
<br />
<p>在/arch路径下,你可以找到所有安装所需的文件(包括本文档,aif README,aif程序的快捷方式)。</p><br />
<br />
<h2>使用PXE(网络启动)</h2><br />
<br />
<h3>服务器端</h3><br />
<br />
<p>在另一台运行(Arch) Linux(live版或普通版)的机器上,<br /><br />
你需要安装配置dhcp和tftpd。Dnsmasq是一个不错的选择,具有dhcp和tftpd两者的功能。<br /><br />
你还需要nbd(网络块设备,network block device),以使客户端能够加载所需文件。</p><br />
<br />
<p>你可以在[[Archiso-as-pxe-server| 社区贡献文档]]的wiki页面上找到更多信息。<br />
</p><br />
<br />
<p>(本节内容可再详细些)</p><br />
<br />
<h3>客户端</h3><br />
<br />
<p>首先,配置你的系统尝试从网络启动(pxe)。大部分系统会默认这样。你从服务器得到一个IP地址,并通过网络载入所有需要的文件。一旦启动了,你就可以像正常安装那样。</p><br />
<br />
<h2>进行安装</h2><br />
<br />
<p>你可以选用交互式(interactive),或者自动(automatic)的方式进行安装。<br /><br />
更多内容可见[[#AIF安装工具]]或AIF readme。</p><br />
<br />
<h3>交互式的安装过程</h3><br />
<br />
<p>敲入 <code>/arch/setup</code> (或 <code>aif -p interactive</code>, 它们是等价的) 启动安装。</p><br />
<br />
<p>在欢迎消息和声明后,你将看到主安装菜单。你可以通过上下方向键浏览菜单。使用TAB键在按钮间切换,用回车键确认。在安装过程的任意时刻,你都可以切换到第7虚拟控制台(ALT-F7)去查看安装程序的输出信息。使用(ALT-F1)返回一开始安装程序正在运行的控制台。如果你想手动介入安装过程,可以通过ALT与F2~F6的组合键开启新的控制台。</p><br />
<br />
<h4>选择安装源</h4><br />
<br />
<p>第一步你必须选择安装Arch Linux的方式。如果你有快速的网络连接,你可能会更喜欢网络安装,以保证你得到最新的软件包,而不是写在光盘或U盘里过时的软件包。如果你用的就是NET镜像,那么你没什么可选的;-)。</p><br />
<br />
<h5>光盘或其它源</h5><br />
<br />
<p>当你选择光盘或其它源时,你将只能安装光盘上可能已经过时的软件包,或者是将软件包存放在存储介质(DVD,U盘等),再挂载到文件系统中进行安装。这样做的好处是你不需要有因特网连接,因此推荐给拨号用户或是不愿意下载全部软件包的用户。</p><br />
<br />
<h5>网络源(FTP/HTTP)</h5><br />
<br />
<h6>配置网络</h6><br />
<br />
<p>安装菜单的第一项"配置网络"将允许你安装并配置你的网络设备。如果你使用的是无线设备,那你还是要用常用的程序进行手动配置,那样的话这部分安装过程对你用处不大。检测到的网络设备会以列表呈现给你。如果列表中没有以太网设备,或者你要用的那个不在列表里,你可以点击OK继续检测,或者切换到另一个控制台手动加载相应模块。如果你还是无法配置网卡,请检查网卡是否已插好并且能被Linux内核所支持。</p><br />
<br />
<p>当加载了正确的模块,并且你想用的网卡在列表当中,你就可以选择要进行配置的以太网设备。你可以给你的网络配置DHCP。如果你的网络使用DHCP,点击YES,其它的交给安装程序。如果你点击NO,那你需要手动键入网络信息。这两种方法都可以成功配置你的网络,你可以在另一个控制台里用ping之类的工具测试网络连通性。</p><br />
<br />
<h6>选择镜像</h6><br />
<br />
<p>"选择镜像"菜单允许你选择优先的镜像点,来下载将要安装到Arch Linux系统中的软件包。你应该选择离你所在地较近的镜像点,这样下载速度会更快。在之后的安装过程中,会有选项让你把此时选择的镜像点作为下载软件包默认的镜像点。</p><br />
<br />
<p><em>*注意: *</em> ftp.archlinux.org限速50 KB/s.</p><br />
<br />
<p>显然,这些菜单项只有在你选择FTP安装时才会出现。配置完毕,点击Return返回主菜单。</p><br />
<br />
<h3>设置编辑器</h3><br />
<br />
<p>你可以在此选择喜欢的编辑器,以进行后续配置。<br />
选择有nano和vi(如果使用其他控制台安装过,也可以使用pico/joe/vim)。可以跳过该选择,但后面需要时还会询问。</p><br />
<br />
<h4>设置时钟</h4><br />
<br />
<p>"设置时钟"菜单允许你设置系统时钟和日期。首先你必须指定你的硬件时钟(hardwareclock)以UTC还是当地时间(localtime)表示。我们推荐UTC,但如果你在此计算机上安装的其它系统不能正确处理UTC时制的BIOS时间-如Windows系统-那你就必须选择当时时间。第二步你需要选择大陆/国家(时区),并设定日期和时间(如果你的网络连通,你还可以用[http://www.ntp.org/ NTP]对时)。</p><br />
<br />
<h4>准备硬盘</h4><br />
<br />
<p>从"准备硬盘"菜单进入的子菜单,提供了两种可选的准备硬盘的方法和一种撤消重做的方法。</p><br />
<br />
<ul><br />
<li>自动准备将自动对你选择的硬盘进行分区(完全覆盖)。它将硬盘分为/boot,swap,/ 和 /home,你可以选择文件系统类型和各分区的大小。</li><br />
<li>你也可以手动对一块或多块硬盘分区,然后指定分区进行系统安装。你可以使用lvm和dm_crypt等工具。</li><br />
<li>回滚功能将检测这两种方法创建的文件系统,卸载相关的文件系统,并破坏你用lvm和dm_crypt创建的卷。当你需要撤消或重建分区时,就需要用到回滚功能。会有提示询问你是否需要回滚。</li><br />
</ul><br />
<br />
<p>注意:</p><br />
<br />
<ul><br />
<li>AIF可以帮你创建新的dm_crypt和lvm卷,但目前还不能创建软阵列(softraid)。</li><br />
<li>AIF目前还不能帮你创建跨物理卷的卷组。(如果你需要这样做-不大可能-:使用vgcreate)</li><br />
<li>AIF支持重用文件系统,但只有当它能找到块设备。如果你想在lvm/dm_crypt/softraid之上重用文件系统,你需要自己建立卷。</li><br />
</ul><br />
<br />
<h5>自动准备</h5><br />
<br />
<p>自动准备会自动将你的硬盘分为/boot,swap,root和/home,并在4个分区上创建文件系统。这4个分区也会被挂载到适当的位置。准确的说,这一选项将创建:</p><br />
<br />
<ul><br />
<li>32 MB 的 ext2 /boot 分区</li><br />
<li>256 MB 的 swap 分区</li><br />
<li>7.5 GB 的 root 分区</li><br />
<li>剩余空间分配给 /home 分区</li><br />
</ul><br />
<br />
<p>会有提示允许你更改各分区的大小,但最后剩下的磁盘容量总是会全部分配给 /home 分区。你可以立即指定/boot, root和/home分区的文件系统类型。</p><br />
<br />
<p><strong>自动准备会擦除选定硬盘上的所有数据!</strong></p><br />
<br />
<h5>手动分区</h5><br />
<br />
<p>你可以选择要进行分区的硬盘,然后会开启cfdisk程序,你可以程序里任意修改分区信息,直到你点击"写入[Write]"才会执行修改,或是点击"放弃[Quit]"取消修改。继续进行安装至少需要有一个root分区。</p><br />
<br />
<h5>手动配置块设备、文件系统、挂载位置</h5><br />
<br />
<p>在本菜单中会列出所有识别到的分区。在各分区上你可以创建新的文件系统。有几件事需要你注意:</p><br />
<br />
<ul><br />
<li>你的选择直到你点击确认后才会生效。</li><br />
<li>块设备不一定能支持所有的文件系统(就好比你不能把LVM卷组配置到非LVM的物理卷上)。安装程序会自动过滤只列出支持的文件系统,当只有一种文件系统可选则安装程序会替你选择。</li><br />
<li>有些文件系统会创建新的块设备。dm_crypt和lvm卷就是这种情况。你会在列表中看到它们,并可以在其上建立其它文件系统。</li><br />
<li>当被问及是否给mkfs命令指定(可选的)参数时,你可以填入确切参数选项。例如,要取消ext文件系统的日志功能<br />
<ul><br />
<li>不要这样做:<code>^has_journal</code></li><br />
<li>而是要这样:<code>-O ^has_journal</code></li><br />
</ul></li><br />
</ul><br />
<br />
<p>当文件系统建立完毕,你可以选择‘完成(Done)'。此时,会有一个校验以告诉你是否有严重错误(如根分区没有文件系统),或者是给出一些警告(如没有swap分区),你可以忽略这引些警告。你可以返回之前的步骤去修复错误和警告,没有错误的话你也可以继续以你指定的方式安装。</p><br />
<br />
<p>比如,如果你想在dm_crypt之上使用LVM,你可以:</p><br />
<br />
<ul><br />
<li>确认你有2个分区:一个容量小不加密的boot分区(约100M),其余容量用途加密的系统。(在手动分区菜单可以实现)</li><br />
<li>在你的 /dev/sdX1上,创建 ext2 文件系统,挂载点设为 /boot</li><br />
<li>在你的 /dev/sdX2上,创建 dm_crypt 卷,卷标签名为 sdX2crypt(或者别的名字)</li><br />
<li>会出现 /dev/mapper/sdX2crypt,在其上配置LVM物理卷</li><br />
<li>然后会出现 /dev/mapper/sdX2crypt+,代表的是物理卷。在其上配置卷组,标签名为 cryptpool(或别的名字)</li><br />
<li>然后会出现 /dev/mapper/cryptpool,在这个卷组上你可以创建多个逻辑卷,假设创建2个:<br />
<ul><br />
<li>一个5G:标签名为 cryptroot</li><br />
<li>一个10G:标签名为 crypthome</li><br />
</ul></li><br />
<li>会出现2个新的卷:<br />
<ul><br />
<li>/dev/mapper/cryptpool-cryptroot:在这个块设备上,你可以建立你的根文件系统,挂载点 / 。</li><br />
<li>/dev/mapper/cryptpool-crypthome:在这个块设备上,你可以建立挂载到 /home 的文件系统 </li><br />
</ul></li><br />
<li>如果你需要swap分区,你可以创建一个逻辑卷给swap。</li><br />
<li>就是这样!如果你选择'完成',程序就会执行你的配置。很酷的一点是:你可以先分配少量空间给你的卷,在需要的时候再扩大空间。</li><br />
</ul><br />
<br />
<h5>回滚</h5><br />
<br />
<p>回滚会尽一切可能撤消你在“手动分区"和"自动准备"中所做的配置。回滚之后你可以重新准备硬盘。</p><br />
<br />
<p>回滚会进行下列操作:</p><br />
<br />
<ul><br />
<li>从目标系统卸载文件系统</li><br />
<li>破坏/取消 lvm和dm_crypt卷。</li><br />
</ul><br />
<br />
<p>回滚不会:</p><br />
<br />
<ul><br />
<li>撤消分区操作</li><br />
<li>删除'简单'文件系统,如ext3,xfs,swap等。</li><br />
</ul><br />
<br />
<p>原因很简单:只有那些会干扰接下来的‘准备硬盘’操作的,才会被撤消。</p><br />
<br />
<h4>选择软件包</h4><br />
<br />
<p>‘选择软件包’让你可以从CD、USB或者NET镜像点选择安装软件包。你可以先选择整个软件组,然后再对单独的软件包进行筛选。使用空格键执行选择与取消选择的操作。我们建议在这个时候选择安装全部的‘base'包,而不装其它软件包。唯一的例外是安装那些连接网络所需要的包。</p><br />
<br />
<p>一旦你选好了所需软件包,离开选择框继续下一部。</p><br />
<br />
<h4>安装软件包</h4><br />
<br />
<p>安装软件包会安装基础系统和你选择的其它软件包到你的硬盘上,软件包的依赖关系会自动得到解决。</p><br />
<br />
<h4>配置系统</h4><br />
<br />
<p>配置系统要做这些事情:</p><br />
<br />
<ul><br />
<li>自动生成一些配置文件 (如 grub的menu.lst,mkinitcpio.conf的HOOKS,rc.conf中的键盘映射,pacman镜像点等)</li><br />
<li>在你同意后生成一些配置文件 (如 网络配置)</li><br />
<li>允许你手动改变重要的配置文件。你将被问到使用哪个文本编辑器,你可以在nano,joe和vi之间选择。</li><br />
<li>你还可以设置root用户的口令。</li><br />
</ul><br />
<br />
<p><strong>配置文件</strong></p><br />
<br />
<p>以下是Arch Linux关键的配置文件。如果你需要对某项服务进行配置的帮助信息,请参阅相关的man手册页或者是在线文档。很多情况下,Arch Linux [[Main Page|Wiki]] 和<br />
[http://bbs.archlinux.org/ forums] 是很好的寻求帮助的渠道。</p><br />
<br />
<ul><br />
<li>/etc/rc.conf</li><br />
<li>[[Fstab|/etc/fstab]]</li><br />
<li>/etc/mkinitcpio.conf</li><br />
<li>/etc/modprobe.d/modprobe.conf</li><br />
<li>/etc/resolv.conf</li><br />
<li>/etc/hosts</li><br />
<li>/etc/hosts.deny</li><br />
<li>/etc/hosts.allow</li><br />
<li>/etc/locale.gen</li><br />
<li>/etc/pacman.d/mirrorlist</li><br />
<li>/etc/pacman.conf</li><br />
<li>/etc/crypttab</li><br />
</ul><br />
<br />
<p><strong>/etc/rc.conf</strong></p><br />
<br />
<p>Arch Linux主配置文件。内容包括 键盘,时区,主机名,网络,开机启动的服务和加载的模块,其它配置等。</p><br />
<br />
<p><strong>LOCALE:</strong> 设置你的系统语言,所以支持i18n的程序都将使用此项设置。下方的locale.gen有选项说明。美式英语用户可以使用默认设置。</p><br />
<br />
<p><strong>HARDWARECLOCK:</strong> BIOS时钟为UTC则设置成UTC,BIOS时钟为当地时则设置成localtime。如果你电脑上装的其它操作系统(如Windows)不能正确支持UTC的BIOS时间,则选择当地时。否则,建议使用UTC,能回避夏令时的问题,还有其它一些优点。</p><br />
<br />
<p><strong>USEDIRECTISA:</strong> 如果设置成"yes",那 hwclock 将使用显式的I/O指定读取硬件时钟。否则,hwclock会尝试使用 /dev/rtc,认为它是由rtc设备驱动的。此项设置默认为"no",对非ISA的机器可以不更改。</p><br />
<br />
<p><strong>TIMEZONE:</strong> 指明你所在的时区。可能的时区是一个相对路径,对应位于/usr/share/zoneinfo下的时区信息文件。例如,德国时区是Europe/Berlin,对应的文件是/usr/share/zoneinfo/Europe/Berlin。如果你不知道你的时区文件名,可以稍后再管。</p><br />
<br />
<p><strong>KEYMAP:</strong> 定义loadkeys程序在系统启动时加载的键盘映射表。可能的键盘映射位于/usr/share/kbd/keymaps下。注意,这项设置只对TTY生效,对任何图形窗口管理器或X都不生效。美式键盘用户还是可以使用默认设置。</p><br />
<br />
<p><strong>CONSOLEFONT:</strong> 定义setfont程序在系统启动时加载的控制台字体。可能的字体位于/usr/share/kbd/consolefonts。</p><br />
<br />
<p><strong>CONSOLEMAP:</strong> 定义setfont程序在系统启动时加载的控制台字符映射(console map),可能的映射位于/usr/share/kbd/consoletrans。此项设置应该与locale相匹配(如针对Latin1的8859-1),如果你的locale配置为UTF-8,并且程序产生8位输出。如果你日常工作都使用X11,不用费心,因为此项设置只影响Linux控制台程序的输出。</p><br />
<br />
<p><strong>USECOLOR:</strong> 以彩色(或黑白)显示系统启动时的状态消息。</p><br />
<br />
<p><strong>MOD_AUTOLOAD:</strong> 如果设置为"yes",udev能够在系统启动时加载所需模块。如果设置为"no",则不会加载。</p><br />
<br />
<p><strong>MODULES:</strong> 在这个数组中列出你要在系统启动时加载的模块名称,你就不需要像modprobe.conf那样把模块与硬件设备捆绑。只需要把模块名写在此,如果需要再把模块的选项写入modprobe.conf。在模块名前加'!'就可以将其列入黑名单,在系统启动时就不会加载。</p><br />
<br />
<p><strong>USELVM:</strong> 设置为"yes"就可以在系统初始化时运行vgchange,由此激活所有的LVM组。</p><br />
<br />
<p><strong>HOSTNAME:</strong> 设置为本机的主机名,不包括域名。你可以起任意的名字,但只能使用字母、数字和一些通用的特殊字符如短横线。</p><br />
<br />
<p><strong>INTERFACES:</strong> 设置网络接口。文件中的默认设置和自带的注释是很好的说明。如果你使用DHCP,令'eth0="dhcp"'就可以。如果你不用DHCP,记住你赋给变量(必须和设备名一致)的值必须与你手动调用ifconfig命令时所附加的选项完全一致。</p><br />
<br />
<p><strong>ROUTES:</strong> 定义你自己的静态网络路由。类似于默认网关的意思。基本上引号的部分与你手动传递给route add命令的参数是一致的,因此建议阅读route的手册,否则别去动它。</p><br />
<br />
<p><strong>[[Network_Profiles|NET_PROFILES]]:</strong> 在系统启动时应用相关的网络配置。使用网络配置文件可以方便地管理多种网络配置,它将会替代时下为单一网络配置所推荐的INTERFACES/ROUTES配置方法。如果你的电脑(笔记本)不时的会变更网络环境,那你应该在/etc/network.d/路径下创建多个配置文件。该路径下有个示例文件。启用此功能需要用到netcfg包。</p><br />
<br />
<p><strong>DAEMONS:</strong> 该数组列出/etc/rc.d/路径下需要在系统启动时运行的脚本。如果脚本名前置!,则不会执行该脚本。如果脚本前置@,则后台执行脚本,就是说在启动过程中不会等待脚本执行成功才继续下一步。通常,你不用改变显证人设置,但当你安装了新的系统服务(如sshd)并希望开机启动时,你就需要编辑此数组。</p><br />
<br />
<p><strong>[[Fstab|/etc/fstab]]</strong></p><br />
<br />
<p>在此配置文件系统和挂载位置。安装程序应该已经创建了必要的条目。确认这些条目是准确的。</p><br />
<br />
<p><strong>/etc/mkinitcpio.conf</strong></p><br />
<br />
<p>在此可以微调你系统的初始虚拟硬盘(ramdisk)。ramdisk是一个压缩镜像,在系统启动时内核需要读取ramdisk。它的用途是引导系统访问根文件系统。这意味着它必须加载用于访问IDE、SCSI、SATA(或USB/FW)驱动器的模块。一旦ramdisk加载了合适的模块,手动或通过udev,它将把控制权交给Arch系统并继续系统启动。因此,ramdisk只需包含用于访问根文件系统的模块即可。它不用包括你所有将来可能用到的模块。你日常用到的模块在稍后的初始化(init)时会由udev加载。</p><br />
<br />
<p>默认情况下,mkinitcpio.conf被配置为通过HOOKS自动检测所有针对IDE、SCSI、SATA系统的模块。安装程序应该还会插入相关的如crypt、lvm、键盘映射、usb输入模块。这意味着默认的initrd对所有人都有用。你可以编辑mkinitcpio.conf并删除一些你不需要的子系统HOOKS(如IDE, SCSI, RAID, USB等)。你还可以进一步在MODULES数组中指定你需要具体模块,而把其它钩子删掉,但删的时候要小心。</p><br />
<br />
<p>如果你的根文件系统使用了RAID,那就必须文件尾部配置RAID信息。更多内容查看RAID和mkinitcpio的wiki页。如果你使用non-US的键盘,你需要添加'keymap'钩子,如果是USB键盘,还需要添加'usbinput'钩子。</p><br />
<br />
<p><strong>/etc/modprobe.d/modprobe.conf</strong></p><br />
<br />
<p>系统内核依据此文件将模块和功能选项加载到相应的系统设备上。比如,要让内核在启动网络(如 设置eth0)时加载Realtek 8139,使用这行命令:</p><br />
<br />
<pre> alias eth0 8139too<br />
</pre><br />
<br />
<p>大部分人不需要编辑这个文件。</p><br />
<br />
<p><strong>/etc/resolv.conf</strong></p><br />
<br />
<p>使用本文件手动配置你的域名服务器。文件内容应该是这样的:</p><br />
<br />
<pre> search domain.tld<br />
<br />
nameserver 192.168.0.1<br />
<br />
nameserver 192.168.0.2<br />
</pre><br />
<br />
<p>将domain.tld和ip地址替换为你的网络设置。所谓的搜索域(search domain)指定默认的域,这个域将自动加到主机名后。设置了域以后,ping myhost就会变成ping myhost.domain.tld了。这些设置并不是特别重要,大部分人可以先不管它们。如果你使用DHCP,在网络启动时这个文件会自动被正确的值替代,也就是说你可以忽略这个文件。</p><br />
<br />
<p><strong>/etc/hosts</strong></p><br />
<br />
<p>你网络上 hostname/ip 的关联可以写在此文件里。如果有一个主机名在你的DNS上没有记录,你就可以加到本文件里以正常访问。你通常不需要修改它,但你可能想把本机的 hostname和hostname+domain解析到你的网络接口IP。在你不清楚自己正在做的什么修改时,先读hosts的手册,否则别去管这个文件。</p><br />
<br />
<p><strong>/etc/hosts.deny</strong></p><br />
<br />
<p>此文件设置阻止网络服务的访问。默认情况所有网络服务都被阻止。</p><br />
<br />
<pre> sshd: ALL: DENY<br />
</pre><br />
<br />
<p><strong>/etc/hosts.allow</strong></p><br />
<br />
<p>此文件设置允许网络服务的访问。输入你允许的网络服务,如 允许所有机器通过ssh访问:</p><br />
<br />
<pre> sshd: ALL: ALLOW<br />
</pre><br />
<br />
<p><strong>/etc/locale.gen</strong></p><br />
<br />
<p>此文件包括所有支持并可用的locale和charsets。当在/etc/rc.conf里指定一个locale或者以某个locale启动一个程序时,你需要在此文件中取消该locale的注释。以root身份运行locale-gen命令,将会生成所有未注释的locale文件,将它们放入相应的文件夹。你要使用的locale都要需要注释。</p><br />
<br />
<p>在系统安装时,你不用手动运行locale-gen,在你保存对此文件的更改后,安装程序会自动执行相应操作。默认情况下,只有在rc.conf中指定LOCALE=setting时,该locale才会被启用。为了使你的系统运行平衡,你至少要把此文件中你在rc.conf里用到的那个locale取消注释。</p><br />
<br />
<p><strong>/etc/pacman.d/mirrorlist</strong></p><br />
<br />
<p>此文件是镜像列表,pacman会从这些镜像点的Arch Linux软件仓库下载。镜像点的访问顺序依照它们在文件里的排列顺序。$repo宏会由pacman根据仓库类别(core、extra、community或testing)自动扩展。</p><br />
<br />
<p>如果你是从FTP源进行安装,你选择的镜像点会被加到镜像列表的头部,以使其作为你的新Arch Linux系统默认的镜像点。</p><br />
<br />
<p><strong>/etc/pacman.conf</strong></p><br />
<br />
<p>你可以在此对pacman进行配置,比如选择使用哪种软件仓库。</p><br />
<br />
<p><strong>/etc/crypttab</strong></p><br />
<br />
<p>如果你对某个设备进行了加密,但在启动你的根文件系统时没有用到该设备(因此在mkinitcpio.conf中的加密钩子也没有启用该设备),你就需要在此文件中对其进行配置。</p><br />
<br />
<p><strong>Set Root Password</strong></p><br />
<br />
<p>在这一步,你必须为你系统的root身份设置口令。精心挑选一个口令,最好是字母数字与特殊字符的组合,因为这个口令将允许你修改系统的核心文件。</p><br />
<br />
<p>当你编辑完配置文件后,选返回回到主菜单。安装程序将重新生成ramdisk,以使你对mkinitcpio.conf所做的修改生效。</p><br />
<br />
<h4>安装启动引导程序</h4><br />
<br />
<p>在你的硬盘上安装启动引导程序,或者是GRUB,或者如果你已经有启动引导程序也可以不安装。如果你选择安装GRUB,安装程序会让你检查相关的配置文件,以确认配置都是正确的。</p><br />
<br />
<p><strong>/boot/grub/menu.lst</strong></p><br />
<br />
<p>使用GRUB的话,你需要核对并修改这个文件以适应你的启动设置。如果不是用的GRUB,那你就修改现有引导程序的配置文件。安装程序可能已经根据UUID条目提前生成了这个配置文件,你需要像修改fstab那样修改它。</p><br />
<br />
<p>核对你的引导程序配置无误后,会提示你选择安装引导程序的分区。除非你使用的是其它引导程序,否则你应该安装GRUB到安装系统的硬盘的MBR,一般是以无数字后缀的设备名表示。</p><br />
<br />
<h4>退出安装</h4><br />
<br />
<p>退出安装程序,移除安装介质,敲入reboot命令,交叉手指祈祷好运吧!</p><br />
<br />
<h3>自动化的安装过程</h3><br />
<br />
<p>借助于自动安装程序,你可以进行脚本化/自动化的安装。参见[[#AIF安装工具]]。在/usr/share/aif/examples里,你可以找到示例配置文件,不修改或只做少量修改你就可以安装好一个系统:</p><br />
<br />
<ul><br />
<li>generic-install-on-sda<br />
这个文件说明你可以做的一些事(如添加自定义软件包,设置时区,更新配置文件等),它会在/dev/sda上做一个简单的安装(就像'自动准备'所做的那样)。</li><br />
<li>fancy-install-on-sda<br />
非常近似于generic-install-on-sda,但会在/dev/sda上建立lvm或dm_crypt卷,然后再创建文件系统。</li><br />
</ul><br />
<br />
<p>注意这些文件只是普通的bash脚本文件,因此如果你想定义,比如说<code>SYNC_URL</code>,它必须用单引号引用以防止bash展开<code>$repo</code>。</p><br />
<br />
<p>使用<code>aif -p automatic -c /path/to/configfile</code>命令触发安装。显然,如果你不是要把系统装在/dev/sda上,不要忘了修改硬盘名称。</p><br />
<br />
<h4>配置文件的句法</h4><br />
<br />
<p>配置文件将被bash shell读取,因此配置文件要合乎bash代码的句法。</p><br />
<br />
<p><strong>PARTITIONS:</strong> 允许你为你的硬盘定义分区,以空格为分隔符。</p><br />
<br />
<ul><br />
<li>首先是你硬盘的设备文件first comes the device file for the hard disk</li><br />
<li>然后是指定每个分区的大小:单位为MB('*'表示剩余空间),文件系统和可靠的'+'代表是可启动分区,以冒号(':')为分格符。</li><br />
</ul><br />
<br />
<p><strong>BLOCKDATA:</strong> 在这个多行的变量里,你可以描述每个分区将被怎样使用。通过例子文件学习它是如何工作的。</p><br />
<br />
<h3>自定义安装</h3><br />
<br />
<p>你还可以通过写新的程序(可能是继承自现有的程序)或新的配置文件,来进行自定义安装。所有aif库文件你都可以使用,你还可以创建新的库(见/usr/lib/aif)。这是个很灵活的工作,所以可以查看AIF readme以获得更多信息。</p><br />
<br />
<h1>你的新系统</h1><br />
<br />
<p>如果一切顺利,你可以重启系统(确保你不是还从U盘或光驱启动)并运行新的系统。</p><br />
<br />
<p>你会注意到在用户空间(系统引导后)的开始,(mkinitcpio.conf中定义的)钩子会使你的根文件系统运行起来。<br /><br />
如果你用到了lvm卷,则会运行lvm钩子。<br />
如果你用了磁盘加密,则会运行键盘映射和加密钩子,让你可以键入口令解密磁盘卷。</p><br />
<br />
<p>系统启动后,以root身份登录。默认情况密码为空,但在之前的交互安装中,你可以修改它。</p><br />
<br />
<h1>更多信息</h1><br />
<br />
<h2>软件包管理</h2><br />
<br />
<p>Pacman是软件包管理器,它会跟踪系统上所有软件的安装。它对依赖关系的处理方法很简便。所有软件包都使用标准gzipped tar压缩包格式。你可能用到的一些通用的任务,在下方进行解释。更细致的说明,参考pacman的手册,或是Arch Linux [[Pacman|Wiki]]。</p><br />
<br />
<p><strong>典型任务:</strong></p><br />
<br />
<ul><br />
<li><p>刷新软件包列表</p><br />
<br />
<p># pacman --sync --refresh</p><br />
<br />
<p># pacman -Sy</p></li><br />
</ul><br />
<br />
<p>这条命令会依据/etc/pacman.conf所定义的仓库类型,获取到最新的软件列表,并解压缩到数据库里。</p><br />
<br />
<ul><br />
<li><p>查找某个软件所在的软件仓库</p><br />
<br />
<p># pacman --sync --search <regexp></p><br />
<br />
<p># pacman -Ss <regexp></p></li><br />
</ul><br />
<br />
<p>这条命令会在软件列表里寻找名称或描述与正则表达式(regexp)相匹配的软件。</p><br />
<br />
<ul><br />
<li><p>显示软件仓库中某个指定软件包的信息。</p><br />
<br />
<p># pacman --sync --info foo</p><br />
<br />
<p># pacman -Si foo</p></li><br />
</ul><br />
<br />
<p>显示软件仓库中名为foo的软件包的信息,包括大小、创建日期、依赖关系、软件冲突等等。</p><br />
<br />
<ul><br />
<li><p>向软件库添加包</p><br />
<br />
<p># pacman --sync foo</p><br />
<br />
<p># pacman -S foo</p></li><br />
</ul><br />
<br />
<p>这条命令会获取并安装名为foo的软件包,会自动完成所需依赖。在使用sync选项前,确保你刷新了软件包列表。</p><br />
<br />
<ul><br />
<li><p>列出所有安装的软件包</p><br />
<br />
<p># pacman --query</p><br />
<br />
<p># pacman -Q</p></li><br />
</ul><br />
<br />
<p>列表显示系统中所有安装的软件包。</p><br />
<br />
<ul><br />
<li><p>查看某个软件包是否已安装</p><br />
<br />
<p># pacman --query foo</p><br />
<br />
<p># pacman -Q foo</p></li><br />
</ul><br />
<br />
<p>如果安装有foo,这条命令会显示foo的名字和版本。如果没有安装,则不会显示。</p><br />
<br />
<ul><br />
<li><p>显示某个软件包的信息</p><br />
<br />
<p># pacman --query --info foo</p><br />
<br />
<p># pacman -Qi foo</p></li><br />
</ul><br />
<br />
<p>显示已安装的foo的信息,大小、创建日期、依赖关系、软件冲突等等。</p><br />
<br />
<ul><br />
<li><p>显示软件包中包含的文件</p><br />
<br />
<p># pacman --query --list foo</p><br />
<br />
<p># pacman -Ql foo</p></li><br />
</ul><br />
<br />
<p>列出属于foo的所有文件。</p><br />
<br />
<ul><br />
<li><p>查找某个文件属于哪个包</p><br />
<br />
<p># pacman --query --owns /path/to/file</p><br />
<br />
<p># pacman -Qo /path/to/file</p></li><br />
</ul><br />
<br />
<p>这条命令会显示指定文件(以完整路径作为参数名)所属软件包的名字和版本。</p><br />
<br />
<h2>附录</h2><br />
<br />
<p>参见 [[General_Recommendations_(简体中文)|Official Arch Linux Install Guide Appendix]],可以找到一些相关的非官方文档,对新用户可能有用。</p></div>
Jason