# Chinese (simplified) translation of the Guix manual.
# Copyright (C) 2013-2019 the authors of Guix (msgids) and the following authors (msgstr)
# This file is distributed under the same license as the guix manual package.
# Meiyo Peng <meiyo@riseup.net>, 2019.
# 郑俊杰 <873216071@qq.com>, 2021, 2023, 2024.
# Liu Tao <lyuutau@outlook.com>, 2021, 2023.
# Xinglu Chen <public@yoctocell.xyz>, 2021.
# Charles Lee <lchopn@gmail.com>, 2021.
# Went He <1437061699@qq.com>, 2021, 2023.
# Whired Planck <fungdaat31@outlook.com>, 2022.
# chin housin <sharingfun@163.com>, 2022.
# Julien Lepiller <fedora-account@lepiller.eu>, 2022.
# Yang Yulin <yylteam@icloud.com>, 2022.
# Thomas Cheng <orangecza@gmail.com>, 2023.
# Hilton Chain <yareli@ultrarare.space>, 2023.
# Yi Cao <cygauss@outlook.com>, 2023.
# Burgess Chang <bsc@brsvh.org>, 2023.
# Florian Pelz <pelzflorian@pelzflorian.de>, 2023, 2024, 2025.
# a x <meruarasu@email1.io>, 2023.
# Integral <integral@member.fsf.org>, 2024.
# Celestial y <clsty@celestialy.top>, 2024, 2025.
# Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2024, 2025.
# voyage 200 <hello_cmd@outlook.com>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: guix-manual 1.0.1-pre1\n"
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
"POT-Creation-Date: 2025-02-20 03:18+0000\n"
"PO-Revision-Date: 2025-02-28 11:36+0000\n"
"Last-Translator: Florian Pelz <pelzflorian@pelzflorian.de>\n"
"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/projects/guix/documentation-manual/zh_CN/>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.10\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"

#. #-#-#-#-#  contributing.pot (guix manual checkout)  #-#-#-#-#
#. type: chapter
#. #-#-#-#-#  guix.pot (guix manual checkout)  #-#-#-#-#
#. type: menuentry
#: guix-git/doc/contributing.texi:1 guix-git/doc/contributing.texi:2
#: guix-git/doc/guix.texi:226
#, no-wrap
msgid "Contributing"
msgstr "贡献"

#. type: Plain text
#: guix-git/doc/contributing.texi:9
msgid "This project is a cooperative effort, and we need your help to make it grow! Please get in touch with us on @email{guix-devel@@gnu.org} and @code{#guix} on the Libera Chat IRC network.  We welcome ideas, bug reports, patches, and anything that may be helpful to the project.  We particularly welcome help on packaging (@pxref{Packaging Guidelines})."
msgstr "这个项目是大家合作的成果,需要你的帮助才能发展壮大!请通过 @email{guix-devel@@gnu.org} 和 Libera Chat IRC 上的 @code{#guix} 联系我们。我们欢迎各种想法、bug 反馈、补丁以及任何对项目有帮助的内容,尤其是打包方面的帮助(@pxref{Packaging Guidelines})。"

#. type: cindex
#: guix-git/doc/contributing.texi:10
#, no-wrap
msgid "code of conduct, of contributors"
msgstr "行为准则和贡献者"

#. type: cindex
#: guix-git/doc/contributing.texi:11
#, no-wrap
msgid "contributor covenant"
msgstr "贡献者契约"

#. type: Plain text
#: guix-git/doc/contributing.texi:17
msgid "We want to provide a warm, friendly, and harassment-free environment, so that anyone can contribute to the best of their abilities.  To this end our project uses a ``Contributor Covenant'', which was adapted from @url{https://contributor-covenant.org/}.  You can find a local version in the @file{CODE-OF-CONDUCT} file in the source tree."
msgstr "我们希望提供一个温暖、友好、无骚扰的环境,让任何人都能尽其所能贡献。为此,我们的项目采用了“贡献者契约”,该契约改编自 @url{https://contributor-covenant.org/}。在源代码目录里的 @file{CODE-OF-CONDUCT} 文件中可以找到一份本地版。"

#. type: Plain text
#: guix-git/doc/contributing.texi:21
msgid "Contributors are not required to use their legal name in patches and on-line communication; they can use any name or pseudonym of their choice."
msgstr "贡献者不必在提交补丁和在线交流时使用法定姓名。他们可以使用自己选择的任何名字或者笔名。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:45
#: guix-git/doc/contributing.texi:46
#, no-wrap
msgid "Requirements"
msgstr "需求"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Software needed to build and run Guix."
msgstr "构建和运行 Guix 需要的软件。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:133
#: guix-git/doc/contributing.texi:134
#, no-wrap
msgid "Building from Git"
msgstr "从 Git 构建"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "The latest and greatest."
msgstr "最新的并且最好的。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:325
#: guix-git/doc/contributing.texi:326
#, no-wrap
msgid "Running the Test Suite"
msgstr "运行测试套件"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Testing Guix."
msgstr "测试 Guix。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:436
#: guix-git/doc/contributing.texi:437
#, no-wrap
msgid "Running Guix Before It Is Installed"
msgstr "在安装之前运行 Guix"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Hacker tricks."
msgstr "黑客技巧。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:526
#: guix-git/doc/contributing.texi:527
#, no-wrap
msgid "The Perfect Setup"
msgstr "完美的配置"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "The right tools."
msgstr "正确的工具。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:703
#: guix-git/doc/contributing.texi:704
#, no-wrap
msgid "Alternative Setups"
msgstr "替代配置"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Other possible tools that do the job."
msgstr "其他可能用于完成任务的工具。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:780
#: guix-git/doc/contributing.texi:781
#, no-wrap
msgid "Source Tree Structure"
msgstr "源码树结构"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Source code guided tour."
msgstr "源码导览。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:1031
#: guix-git/doc/contributing.texi:1032
#, no-wrap
msgid "Packaging Guidelines"
msgstr "打包指导"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Growing the distribution."
msgstr "帮助发行版成长。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:1752
#: guix-git/doc/contributing.texi:1753
#, no-wrap
msgid "Coding Style"
msgstr "代码风格"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Hygiene of the contributor."
msgstr "贡献者代码卫生守则。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:1859
#: guix-git/doc/contributing.texi:1860
#, no-wrap
msgid "Submitting Patches"
msgstr "提交补丁"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Share your work."
msgstr "分享你的工作。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:2243
#: guix-git/doc/contributing.texi:2244
#, no-wrap
msgid "Tracking Bugs and Changes"
msgstr "跟踪程序漏洞及改动"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Keeping it all organized."
msgstr "保持井井有条。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:2659
#: guix-git/doc/contributing.texi:2660
#, no-wrap
msgid "Teams"
msgstr "团队"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Coordinating efforts."
msgstr "协调努力。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:2736
#: guix-git/doc/contributing.texi:2737
#, no-wrap
msgid "Making Decisions"
msgstr "做出决定"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Collectively choosing the way forward."
msgstr "共同选择前进的方向。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:2755
#: guix-git/doc/contributing.texi:2756
#, no-wrap
msgid "Commit Access"
msgstr "提交权利"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Pushing to the official repository."
msgstr "推送到官方仓库。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:2999
#: guix-git/doc/contributing.texi:3000
#, no-wrap
msgid "Reviewing the Work of Others"
msgstr "审阅他人的工作"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Some guidelines for sharing reviews."
msgstr "分享评论的一些指导方针。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:3098
#: guix-git/doc/contributing.texi:3099
#, no-wrap
msgid "Updating the Guix Package"
msgstr "更新 Guix 软件包"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Updating the Guix package definition."
msgstr "更新 Guix 的软件包定义。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:3135
#: guix-git/doc/contributing.texi:3136
#, no-wrap
msgid "Deprecation Policy"
msgstr "弃用策略"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Commitments and tools for deprecation."
msgstr "用于弃用的提交和工具。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:3326
#: guix-git/doc/contributing.texi:3327
#, no-wrap
msgid "Writing Documentation"
msgstr "撰写文档"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Improving documentation in GNU Guix."
msgstr "完善 GNU Guix 中的文档。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:3370
#: guix-git/doc/contributing.texi:3371
#, no-wrap
msgid "Translating Guix"
msgstr "翻译 Guix"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
msgid "Make Guix speak your native language."
msgstr "用您的母语翻译 Guix。"

#. type: section
#: guix-git/doc/contributing.texi:43 guix-git/doc/contributing.texi:3653
#: guix-git/doc/contributing.texi:3654
#, fuzzy, no-wrap
msgid "Contributing to Guix's Infrastructure"
msgstr "为 Guix 的基础设施做贡献"

#. type: menuentry
#: guix-git/doc/contributing.texi:43
#, fuzzy
msgid "Make Guix ecosystem work better."
msgstr "让 Guix 生态系统更好地运作。"

#. type: Plain text
#: guix-git/doc/contributing.texi:50
msgid "You can easily hack on Guix itself using Guix and Git, which we use for version control (@pxref{Building from Git})."
msgstr "你可以轻松地使用 Guix 和 Git 来折腾 Guix 本身,我们将其用于版本控制。(@pxref{Building from Git})。"

#. type: Plain text
#: guix-git/doc/contributing.texi:55
msgid "But when packaging Guix for foreign distros or when bootstrapping on systems without Guix, and if you decide to not just trust and install our readily made binary (@pxref{Binary Installation}), you can download a release version of our reproducible source tarball and read on."
msgstr "但是,在为外国发行版打包 Guix 或在没有 Guix 的系统上引导时,如果您决定不要直接信任并安装我们现成的二进制文件(@pxref{Binary Installation}),您可以下载一份我们可复现的源码包的发布版并继续阅读。"

#. type: Plain text
#: guix-git/doc/contributing.texi:60
msgid "This section lists requirements when building Guix from source.  The build procedure for Guix is the same as for other GNU software, and is not covered here.  Please see the files @file{README} and @file{INSTALL} in the Guix source tree for additional details."
msgstr "这个小节列举了从源代码构建 Guix 的要求。构建 Guix 的步骤和其它 GNU 软件相同,这里不介绍。请阅读 Guix 源码树里的 @file{README} 和 @file{INSTALL} 文件以了解更多细节。"

#. type: cindex
#: guix-git/doc/contributing.texi:61
#, no-wrap
msgid "official website"
msgstr "官方网站"

#. type: Plain text
#: guix-git/doc/contributing.texi:64
msgid "GNU Guix is available for download from its website at @url{https://www.gnu.org/software/guix/}."
msgstr "GNU Guix 可以从它的网站下载 @url{https://www.gnu.org/software/guix/}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:66
msgid "GNU Guix depends on the following packages:"
msgstr "GNU Guix 依赖以下软件包:"

#. type: item
#: guix-git/doc/contributing.texi:68
#, no-wrap
msgid "@url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x,"
msgstr "@url{https://gnu.org/software/guile/, GNU Guile},版本 3.0.x,"

#. type: itemize
#: guix-git/doc/contributing.texi:70
msgid "version 3.0.3 or later;"
msgstr "版本 3.0.3 或更新;"

#. type: item
#: guix-git/doc/contributing.texi:70
#, no-wrap
msgid "@url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version"
msgstr "@url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt},版本"

#. type: itemize
#: guix-git/doc/contributing.texi:72
msgid "0.1.0 or later;"
msgstr "0.1.0 或更新;"

#. type: itemize
#: guix-git/doc/contributing.texi:78
msgid "@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS} (@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile})@footnote{The Guile bindings to @uref{https://gnutls.org/, GnuTLS} were distributed as part of GnuTLS until version 3.7.8 included.};"
msgstr "@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS}(@pxref{Guile 准备工作, 如何为 Guile 安装 GnuTLS 绑定,, gnutls-guile, GnuTLS-Guile})@footnote{关于 @uref{https://gnutls.org/, GnuTLS} 的 Guile 绑定作为 GnuTLS 直到(含)版本 3.7.8 的一部分分发。};"

#. type: itemize
#: guix-git/doc/contributing.texi:81
msgid "@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0 or later;"
msgstr "@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, 版本 0.1.0 或更新;"

#. type: item
#: guix-git/doc/contributing.texi:81
#, no-wrap
msgid "@uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib},"
msgstr "@uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib},"

#. type: itemize
#: guix-git/doc/contributing.texi:83
msgid "version 0.1.0 or later;"
msgstr "版本 0.1.0 或更新;"

#. type: item
#: guix-git/doc/contributing.texi:83
#, no-wrap
msgid "@uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};"
msgstr "@uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};"

#. type: item
#: guix-git/doc/contributing.texi:84
#, no-wrap
msgid "@uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};"
msgstr "@uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};"

#. type: itemize
#: guix-git/doc/contributing.texi:88
msgid "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.5.0 or later;"
msgstr "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git},版本 0.5.0 或更新;"

#. type: item
#: guix-git/doc/contributing.texi:88
#, no-wrap
msgid "@uref{https://git-scm.com, Git} (yes, both!);"
msgstr "@uref{https://git-scm.com, Git}(是的,两个都是!);"

#. type: item
#: guix-git/doc/contributing.texi:89
#, no-wrap
msgid "@uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}"
msgstr "@uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}"

#. type: itemize
#: guix-git/doc/contributing.texi:91
msgid "4.3.0 or later;"
msgstr "4.3.0 或更新;"

#. type: item
#: guix-git/doc/contributing.texi:91
#, no-wrap
msgid "@url{https://www.gnu.org/software/make/, GNU Make}."
msgstr "@url{https://www.gnu.org/software/make/, GNU Make}."

#. type: Plain text
#: guix-git/doc/contributing.texi:95
msgid "The following dependencies are optional:"
msgstr "这些依赖是可选的:"

#. type: itemize
#: guix-git/doc/contributing.texi:103
msgid "Support for build offloading (@pxref{Daemon Offload Setup}) and @command{guix copy} (@pxref{Invoking guix copy}) depends on @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.13.0 or later."
msgstr "对构建下发(@pxref{Daemon Offload Setup})和 @command{guix copy} (@pxref{Invoking guix copy})的支持依赖于 @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH},版本 0.13.0 或更新。"

#. type: itemize
#: guix-git/doc/contributing.texi:108
msgid "@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, for zstd compression and decompression in @command{guix publish} and for substitutes (@pxref{Invoking guix publish})."
msgstr "@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd},用于在 @command{guix publish} 中进行 zstd 压缩和解压缩,以及用于 substitutes (@pxref{Invoking guix publish})。"

#. type: itemize
#: guix-git/doc/contributing.texi:112
msgid "@uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} for the @code{crate} importer (@pxref{Invoking guix import})."
msgstr "@uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} 用于 @code{crate} 导入器(@pxref{Invoking guix import})。"

#. type: itemize
#: guix-git/doc/contributing.texi:117
msgid "@uref{https://www.nongnu.org/guile-lib/doc/ref/htmlprag/, Guile-Lib} for the @code{go} importer (@pxref{Invoking guix import}) and for some of the ``updaters'' (@pxref{Invoking guix refresh})."
msgstr "@uref{https://www.nongnu.org/guile-lib/doc/ref/htmlprag/, Guile-Lib} 用于 @code{go} 导入器(@pxref{Invoking guix import})以及一些“升级器”(@pxref{Invoking guix refresh})。"

#. type: itemize
#: guix-git/doc/contributing.texi:121
msgid "When @url{http://www.bzip.org, libbz2} is available, @command{guix-daemon} can use it to compress build logs."
msgstr "当 @url{http://www.bzip.org, libbz2} 可用时,@command{guix-daemon} 可以用它来压缩构建日志。"

#. type: Plain text
#: guix-git/doc/contributing.texi:125
msgid "Unless @option{--disable-daemon} was passed to @command{configure}, the following packages are also needed:"
msgstr "除非 @option{--disable-daemon} 被传给 @command{configure},以下软件包也被需要:"

#. type: item
#: guix-git/doc/contributing.texi:127
#, no-wrap
msgid "@url{https://gnupg.org/, GNU libgcrypt};"
msgstr "@url{https://gnupg.org/, GNU libgcrypt};"

#. type: item
#: guix-git/doc/contributing.texi:128
#, no-wrap
msgid "@url{https://sqlite.org, SQLite 3};"
msgstr "@url{https://sqlite.org, SQLite 3};"

#. type: item
#: guix-git/doc/contributing.texi:129
#, no-wrap
msgid "@url{https://gcc.gnu.org, GCC's g++}, with support for the"
msgstr "@url{https://gcc.gnu.org, GCC's g++},带有支持对于"

#. type: itemize
#: guix-git/doc/contributing.texi:131
msgid "C++11 standard."
msgstr "C++11 标准。"

#. type: Plain text
#: guix-git/doc/contributing.texi:138
msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository:"
msgstr "如果你想折腾 Guix 本身,建议使用 Git 仓库里最新的版本:"

#. type: example
#: guix-git/doc/contributing.texi:141
#, no-wrap
msgid "git clone https://git.savannah.gnu.org/git/guix.git\n"
msgstr "git clone https://git.savannah.gnu.org/git/guix.git\n"

#. type: cindex
#: guix-git/doc/contributing.texi:143
#, no-wrap
msgid "authentication, of a Guix checkout"
msgstr "Guix 签出的身份认证"

#. type: Plain text
#: guix-git/doc/contributing.texi:148
msgid "How do you ensure that you obtained a genuine copy of the repository? To do that, run @command{guix git authenticate}, passing it the commit and OpenPGP fingerprint of the @dfn{channel introduction} (@pxref{Invoking guix git authenticate}):"
msgstr "如何确保已获得存储库的真实副本?为此请运行 @command{guix git authenticate},将 @dfn{channel introduction}(@pxref{Invoking guix git authenticate})的提交和 OpenPGP 指纹传给它:"

#. type: example
#: guix-git/doc/contributing.texi:155
#, no-wrap
msgid ""
"git fetch origin keyring:keyring\n"
"guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n"
"  \"BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA\"\n"
msgstr ""
"git fetch origin keyring:keyring\n"
"guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n"
"  \"BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA\"\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:160
msgid "This command completes with exit code zero on success; it prints an error message and exits with a non-zero code otherwise."
msgstr "此命令完成后,若成功则退出代码为零;否则打印一条错误消息,以非零代码退出。"

#. type: Plain text
#: guix-git/doc/contributing.texi:167
msgid "As you can see, there is a chicken-and-egg problem: you first need to have Guix installed.  Typically you would install Guix System (@pxref{System Installation}) or Guix on top of another distro (@pxref{Binary Installation}); in either case, you would verify the OpenPGP signature on the installation medium.  This ``bootstraps'' the trust chain."
msgstr "正如你所看到的,这里存在一个先决条件的问题:你首先需要安装 Guix。典型地,你会安装 Guix 系统(@pxref{System Installation})或在 另一个发行版上安装 Guix(@pxref{Binary Installation});无论哪种情况,你 都需要在安装介质上验证 OpenPGP 签名。这“引导”了信任链。"

#. type: Plain text
#: guix-git/doc/contributing.texi:172
msgid "The easiest way to set up a development environment for Guix is, of course, by using Guix! The following command starts a new shell where all the dependencies and appropriate environment variables are set up to hack on Guix:"
msgstr "设置 Guix 开发环境的最简单的方式当然是使用 Guix!下面这些命令启动一个 shell,所有的依赖和环境变量都为折腾 Guix 设置好了:"

#. type: example
#: guix-git/doc/contributing.texi:175
#, no-wrap
msgid "guix shell -D guix -CPW\n"
msgstr "guix shell -D guix -CPW\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:178
msgid "or even, from within a Git worktree for Guix:"
msgstr "或者,从一个 Git worktree 内部使用 Guix:"

#. type: example
#: guix-git/doc/contributing.texi:181
#, no-wrap
msgid "guix shell -CPW\n"
msgstr "guix shell -CPW\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:186
msgid "If @option{-C} (short for @option{--container}) is not supported on your system, try @command{--pure} instead of @option{-CPW}.  @xref{Invoking guix shell}, for more information on that command."
msgstr "如果 @option{-C}(@option{--container} 的缩写)在你的系统上不被支持,请尝试使用 @command{--pure} 来代替 @option{-CPW}。有关该命令的更多信息见 @xref{Invoking guix shell}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:190
msgid "If you are unable to use Guix when building Guix from a checkout, the following are the required packages in addition to those mentioned in the installation instructions (@pxref{Requirements})."
msgstr "如果在从检出中构建 Guix 时无法使用 Guix,则除了安装说明中提到的 软件包(@pxref{Requirements})外,以下是所需的软件包。"

#. type: item
#: guix-git/doc/contributing.texi:192
#, no-wrap
msgid "@url{https://gnu.org/software/autoconf/, GNU Autoconf};"
msgstr "@url{https://gnu.org/software/autoconf/, GNU Autoconf};"

#. type: item
#: guix-git/doc/contributing.texi:193
#, no-wrap
msgid "@url{https://gnu.org/software/automake/, GNU Automake};"
msgstr "@url{https://gnu.org/software/automake/, GNU Automake};"

#. type: item
#: guix-git/doc/contributing.texi:194
#, no-wrap
msgid "@url{https://gnu.org/software/gettext/, GNU Gettext};"
msgstr "@url{https://gnu.org/software/gettext/, GNU Gettext};"

#. type: item
#: guix-git/doc/contributing.texi:195
#, no-wrap
msgid "@url{https://gnu.org/software/texinfo/, GNU Texinfo};"
msgstr "@url{https://gnu.org/software/texinfo/, GNU Texinfo};"

#. type: item
#: guix-git/doc/contributing.texi:196
#, no-wrap
msgid "@url{https://www.graphviz.org/, Graphviz};"
msgstr "@url{https://www.graphviz.org/, Graphviz};"

#. type: item
#: guix-git/doc/contributing.texi:197
#, no-wrap
msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}."
msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man(可选)}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:202
msgid "On Guix, extra dependencies can be added by instead running @command{guix shell}:"
msgstr "在 Guix 上,额外的依赖也可以通过 @command{guix shell} 添加:"

#. type: example
#: guix-git/doc/contributing.texi:205
#, no-wrap
msgid "guix shell -D guix help2man git strace --pure\n"
msgstr "guix shell -D guix help2man git strace --pure\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:209
msgid "From there you can generate the build system infrastructure using Autoconf and Automake:"
msgstr "在这里你可以使用 Autoconf 和 Automake 生成构建系统的基础设施:"

#. type: example
#: guix-git/doc/contributing.texi:212
#, no-wrap
msgid "./bootstrap\n"
msgstr "./bootstrap\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:215
msgid "If you get an error like this one:"
msgstr "若你得到一个像这样的错误:"

#. type: example
#: guix-git/doc/contributing.texi:218
#, no-wrap
msgid "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n"
msgstr "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:227
msgid "it probably means that Autoconf couldn’t find @file{pkg.m4}, which is provided by pkg-config.  Make sure that @file{pkg.m4} is available.  The same holds for the @file{guile.m4} set of macros provided by Guile.  For instance, if you installed Automake in @file{/usr/local}, it wouldn’t look for @file{.m4} files in @file{/usr/share}.  In that case, you have to invoke the following command:"
msgstr "它可能意味着 Autoconf 无法找到由 pkg-config 提供的 @file{pkg.m4}。请确保 @file{pkg.m4} 可用。由 Guile 提供的 @file{guile.m4} 宏也类似。假如你的 Automake 安装在 @file{/usr/local},那么它不会从 @file{/usr/share} 里寻找 @file{.m4} 文件。这种情况下,你必须执行下面这个命令:"

#. type: example
#: guix-git/doc/contributing.texi:230
#, no-wrap
msgid "export ACLOCAL_PATH=/usr/share/aclocal\n"
msgstr "export ACLOCAL_PATH=/usr/share/aclocal\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:234
msgid "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more information."
msgstr "更多信息请参考 @xref{Macro Search Path,,, automake, The GNU Automake Manual}."

#. type: cindex
#: guix-git/doc/contributing.texi:235
#, no-wrap
msgid "state directory"
msgstr "state 目录"

#. type: cindex
#: guix-git/doc/contributing.texi:236
#, no-wrap
msgid "localstatedir"
msgstr "localstatedir"

#. type: cindex
#: guix-git/doc/contributing.texi:237
#, no-wrap
msgid "system configuration directory"
msgstr "系统配置目录"

#. type: cindex
#: guix-git/doc/contributing.texi:238
#, no-wrap
msgid "sysconfdir"
msgstr "sysconfdir"

#. type: Plain text
#: guix-git/doc/contributing.texi:240
msgid "Then, run:"
msgstr "然后,运行:"

#. type: example
#: guix-git/doc/contributing.texi:243
#, no-wrap
msgid "./configure\n"
msgstr "./configure\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:253
#, fuzzy
msgid "Optionally, @code{--localstatedir} and @code{--sysconfdir} can also be provided as arguments.  By default, @code{localstatedir} is @file{/var} (@pxref{The Store}, for information about this) and @code{sysconfdir} is @file{/etc}.  Note that you will probably not run @command{make install} at the end (you don't have to) but it's still important to pass the right @code{localstatedir} and @code{sysconfdir} values, which get recorded in the @code{(guix config)} Guile module."
msgstr "... 这里的 @file{/var} 是普通的 @code{localstatedir} 值 (@pxref{The Store}, 获取更多信息)。 请注意,即使在最后不运行 @command{make install}, 也要传递正确的参数 @code{localstatedir}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:256
msgid "Finally, you can build Guix and, if you feel so inclined, run the tests (@pxref{Running the Test Suite}):"
msgstr "最后,你可以构建 Guix。若你希望,还可以运行测试 (@pxref{运行测试套件}):"

#. type: example
#: guix-git/doc/contributing.texi:260
#, no-wrap
msgid ""
"make\n"
"make check\n"
msgstr ""
"make\n"
"make check\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:266
msgid "If anything fails, take a look at installation instructions (@pxref{Installation}) or send a message to the @email{guix-devel@@gnu.org, mailing list}."
msgstr "如果遇到任何错误,请参考“安装指导”(@pxref{Installation})或者给@email{guix-devel@@gnu.org, 邮件列表}发邮件。"

#. type: Plain text
#: guix-git/doc/contributing.texi:269
msgid "From there on, you can authenticate all the commits included in your checkout by running:"
msgstr "从这开始,你可以运行下面的命令认证检出中的所有提交:"

#. type: example
#: guix-git/doc/contributing.texi:274
#, no-wrap
msgid ""
"guix git authenticate \\\n"
"  9edb3f66fd807b096b48283debdcddccfea34bad \\\n"
"  \"BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA\"\n"
msgstr ""
"guix git authenticate \\\n"
"  9edb3f66fd807b096b48283debdcddccfea34bad \\\n"
"  \"BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA\"\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:281
#, fuzzy
msgid "The first run takes a couple of minutes, but subsequent runs are faster.  On subsequent runs, you can run the command without any arguments since the @dfn{introduction} (the commit ID and OpenPGP fingerprints above)  will have been recorded@footnote{This requires a recent version of Guix, from May 2024 or more recent.}:"
msgstr "第一次运行需要几分钟,但后续运行会更快。在后续运行中,您可以不带任何参数运行命令,因为 @dfn{介绍}(上面的提交 ID 和 OpenPGP 指纹)将被记录@footnote{这需要 2024 年 5 月或更高版本的 Guix。}:"

#. type: example
#: guix-git/doc/contributing.texi:284 guix-git/doc/contributing.texi:2870
#, no-wrap
msgid "guix git authenticate\n"
msgstr "guix git authenticate\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:291
msgid "When your configuration for your local Git repository doesn't match the default one, you can provide the reference for the @code{keyring} branch @i{via} the @option{-k} option.  The following example assumes that you have a Git remote called @samp{myremote} pointing to the official repository:"
msgstr "或者,当你的本地 Git 仓库与默认的不符时,你可以通过环境变量 @code{GUIX_GIT_KEYRING} 提供一个对@code{keyring} 分支的引用。下面的例子假设你有一个名为 @samp{myremote} 的 Git 远程分支,它指向官方仓库:"

#. type: example
#: guix-git/doc/contributing.texi:297
#, no-wrap
msgid ""
"guix git authenticate \\\n"
"  -k myremote/keyring \\\n"
"  9edb3f66fd807b096b48283debdcddccfea34bad \\\n"
"  \"BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA\"\n"
msgstr ""
"guix git authenticate \\\n"
"  -k myremote/keyring \\\n"
"  9edb3f66fd807b096b48283debdcddccfea34bad \\\n"
"  \"BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA\"\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:301
msgid "@xref{Invoking guix git authenticate}, for more information on this command."
msgstr "@xref{Invoking guix git authenticate},以获得关于此命令的更多信息。"

#. type: quotation
#: guix-git/doc/contributing.texi:302 guix-git/doc/contributing.texi:1490
#: guix-git/doc/contributing.texi:2104 guix-git/doc/contributing.texi:2149
#: guix-git/doc/contributing.texi:2172 guix-git/doc/contributing.texi:2197
#: guix-git/doc/contributing.texi:2843 guix-git/doc/guix.texi:819
#: guix-git/doc/guix.texi:845 guix-git/doc/guix.texi:1216
#: guix-git/doc/guix.texi:1241 guix-git/doc/guix.texi:1314
#: guix-git/doc/guix.texi:1701 guix-git/doc/guix.texi:1925
#: guix-git/doc/guix.texi:2000 guix-git/doc/guix.texi:2188
#: guix-git/doc/guix.texi:2410 guix-git/doc/guix.texi:3707
#: guix-git/doc/guix.texi:4119 guix-git/doc/guix.texi:4639
#: guix-git/doc/guix.texi:4653 guix-git/doc/guix.texi:4736
#: guix-git/doc/guix.texi:4751 guix-git/doc/guix.texi:4814
#: guix-git/doc/guix.texi:5044 guix-git/doc/guix.texi:5958
#: guix-git/doc/guix.texi:5991 guix-git/doc/guix.texi:6619
#: guix-git/doc/guix.texi:6898 guix-git/doc/guix.texi:7032
#: guix-git/doc/guix.texi:7061 guix-git/doc/guix.texi:7102
#: guix-git/doc/guix.texi:7148 guix-git/doc/guix.texi:7155
#: guix-git/doc/guix.texi:7199 guix-git/doc/guix.texi:8850
#: guix-git/doc/guix.texi:11215 guix-git/doc/guix.texi:11364
#: guix-git/doc/guix.texi:11434 guix-git/doc/guix.texi:13405
#: guix-git/doc/guix.texi:13445 guix-git/doc/guix.texi:13545
#: guix-git/doc/guix.texi:13713 guix-git/doc/guix.texi:13820
#: guix-git/doc/guix.texi:13832 guix-git/doc/guix.texi:14739
#: guix-git/doc/guix.texi:16717 guix-git/doc/guix.texi:17248
#: guix-git/doc/guix.texi:17306 guix-git/doc/guix.texi:17339
#: guix-git/doc/guix.texi:17417 guix-git/doc/guix.texi:17818
#: guix-git/doc/guix.texi:18833 guix-git/doc/guix.texi:19403
#: guix-git/doc/guix.texi:19964 guix-git/doc/guix.texi:20025
#: guix-git/doc/guix.texi:22763 guix-git/doc/guix.texi:24017
#: guix-git/doc/guix.texi:24200 guix-git/doc/guix.texi:24261
#: guix-git/doc/guix.texi:24737 guix-git/doc/guix.texi:29849
#: guix-git/doc/guix.texi:30466 guix-git/doc/guix.texi:33954
#: guix-git/doc/guix.texi:38168 guix-git/doc/guix.texi:38607
#: guix-git/doc/guix.texi:41994 guix-git/doc/guix.texi:44040
#: guix-git/doc/guix.texi:44114 guix-git/doc/guix.texi:44156
#: guix-git/doc/guix.texi:44502 guix-git/doc/guix.texi:44685
#: guix-git/doc/guix.texi:44698 guix-git/doc/guix.texi:44866
#: guix-git/doc/guix.texi:44973 guix-git/doc/guix.texi:45019
#: guix-git/doc/guix.texi:45076 guix-git/doc/guix.texi:45103
#: guix-git/doc/guix.texi:45570 guix-git/doc/guix.texi:47079
#: guix-git/doc/guix.texi:47130 guix-git/doc/guix.texi:47186
#: guix-git/doc/guix.texi:47294 guix-git/doc/guix.texi:49227
#: guix-git/doc/guix.texi:49273 guix-git/doc/guix.texi:49367
#: guix-git/doc/guix.texi:49432 guix-git/doc/guix.texi:49828
#: guix-git/doc/guix.texi:49872
#, no-wrap
msgid "Note"
msgstr "注"

#. type: quotation
#: guix-git/doc/contributing.texi:306
#, fuzzy
msgid "By default, hooks are installed such that @command{guix git authenticate} is invoked anytime you run @command{git pull} or @command{git push}."
msgstr "默认情况下,安装了钩子,以便在您运行 @command{git pull} 或 @command{git push} 时调用 @command{guix git authenticate}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:310
msgid "After updating the repository, @command{make} might fail with an error similar to the following example:"
msgstr "在每次更新仓库后,@command{make} 可能会因为一个错误而失败,就像下面的例子:"

#. type: example
#: guix-git/doc/contributing.texi:314
#, no-wrap
msgid ""
"error: failed to load 'gnu/packages/linux.scm':\n"
"ice-9/eval.scm:293:34: In procedure abi-check: #<record-type <origin>>: record ABI mismatch; recompilation needed\n"
msgstr ""
"error: failed to load 'gnu/packages/linux.scm':\n"
"ice-9/eval.scm:293:34: In procedure abi-check: #<record-type <origin>>: record ABI mismatch; recompilation needed\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:320
msgid "This means that one of the record types that Guix defines (in this example, the @code{origin} record) has changed, and all of guix needs to be recompiled to take that change into account.  To do so, run @command{make clean-go} followed by @command{make}."
msgstr "它的意思是 Guix 定义的一个记录类型变动了(在这个例子中,为 @code{origin} 记录),并且全部 guix 都需要重编译来让这个变动生效。运行 @command{make clean-go} 和 @command{make} 来重新编译。"

#. type: Plain text
#: guix-git/doc/contributing.texi:324
#, fuzzy
msgid "Should @command{make} fail with an Automake error message after updating, you need to repeat the steps outlined in this section, commencing with @command{./bootstrap}."
msgstr "如果 @command{make} 在更新后因 Automake 错误消息而失败,您需要重复本节中概述的步骤,从 @command{./bootstrap} 开始。"

#. type: cindex
#: guix-git/doc/contributing.texi:328
#, no-wrap
msgid "test suite"
msgstr "测试套件"

#. type: Plain text
#: guix-git/doc/contributing.texi:334
msgid "After a successful @command{configure} and @code{make} run, it is a good idea to run the test suite.  It can help catch issues with the setup or environment, or bugs in Guix itself---and really, reporting test failures is a good way to help improve the software.  To run the test suite, type:"
msgstr "成功执行 @command{configure} 和 @code{make} 之后,最好运行测试套件。它可以帮助查找设置和环境的错误,或者是 Guix 自身的 bug--并且,报告测试错误是帮助改进软件的好方法。输入下面的命令以运行测试套件:"

#. type: example
#: guix-git/doc/contributing.texi:337
#, no-wrap
msgid "make check\n"
msgstr "make check\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:344
msgid "Test cases can run in parallel: you can use the @code{-j} option of GNU@tie{}make to speed things up.  The first run may take a few minutes on a recent machine; subsequent runs will be faster because the store that is created for test purposes will already have various things in cache."
msgstr "测试用例可以并行运行:你可以用 GNU@tie{}make 的 @code{-j} 参数来加速运行。在一台较新的机器上第一次运行可能会花几分钟,后续的运行会更快,因为为测试创建的仓库已经包含了各种缓存。"

#. type: Plain text
#: guix-git/doc/contributing.texi:347
msgid "It is also possible to run a subset of the tests by defining the @code{TESTS} makefile variable as in this example:"
msgstr "你还可以通过定义 makefile 的 @code{TESTS} 变量来运行测试的一个子集,如同以下示例:"

#. type: example
#: guix-git/doc/contributing.texi:350
#, no-wrap
msgid "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n"
msgstr "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:355
msgid "By default, tests results are displayed at a file level.  In order to see the details of every individual test cases, it is possible to define the @code{SCM_LOG_DRIVER_FLAGS} makefile variable as in this example:"
msgstr "默认情况下,测试结果只展示到文件层级。为了查看每个独立的测试用例的详情,可以像这样定义 @code{SCM_LOG_DRIVER_FLAGS} makefile 变量:"

#. type: example
#: guix-git/doc/contributing.texi:358
#, no-wrap
msgid "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n"
msgstr "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:366
#, fuzzy
msgid "The underlying SRFI 64 custom Automake test driver used for the 'check' test suite (located at @file{build-aux/test-driver.scm}) also allows selecting which test cases to run at a finer level, via its @option{--select} and @option{--exclude} options.  Here's an example, to run all the test cases from the @file{tests/packages.scm} test file whose names start with ``transaction-upgrade-entry'':"
msgstr "用于“检查”测试套件的底层 SRFI 64 自定义 Automake 测试驱动程序(位于 @file{build-aux/test-driver.scm})还允许通过其 @option{--select} 和 @option{--exclude} 选项以更细的级别选择要运行的测试用例。以下是一个示例,运行所有名称以“transaction-upgrade-entry”开头的 @file{tests/packages.scm} 测试文件中的测试用例:"

#. type: example
#: guix-git/doc/contributing.texi:370
#, no-wrap
msgid ""
"export SCM_LOG_DRIVER_FLAGS=\"--select=^transaction-upgrade-entry\"\n"
"make check TESTS=\"tests/packages.scm\"\n"
msgstr ""
"export SCM_LOG_DRIVER_FLAGS=\"--select=^transaction-upgrade-entry\"\n"
"make check TESTS=\"tests/packages.scm\"\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:376
#, fuzzy
msgid "Those wishing to inspect the results of failed tests directly from the command line can add the @option{--errors-only=yes} option to the @code{SCM_LOG_DRIVER_FLAGS} makefile variable and set the @code{VERBOSE} Automake makefile variable, as in:"
msgstr "希望直接从命令行检查失败测试结果的用户可以将 @option{--errors-only=yes} 选项添加到 @code{SCM_LOG_DRIVER_FLAGS} makefile 变量中,并设置 @code{VERBOSE} Automake makefile 变量,如下所示:"

#. type: example
#: guix-git/doc/contributing.texi:379
#, no-wrap
msgid "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --errors-only=yes\" VERBOSE=1\n"
msgstr "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --errors-only=yes\" VERBOSE=1\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:384
#, fuzzy
msgid "The @option{--show-duration=yes} option can be used to print the duration of the individual test cases, when used in combination with @option{--brief=no}:"
msgstr "可以使用 @option{--show-duration=yes} 选项来打印单个测试用例的持续时间,当与 @option{--brief=no} 结合使用时:"

#. type: example
#: guix-git/doc/contributing.texi:387
#, no-wrap
msgid "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --show-duration=yes\"\n"
msgstr "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --show-duration=yes\"\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:391
#, fuzzy
msgid "@xref{Parallel Test Harness,,,automake,GNU Automake} for more information about the Automake Parallel Test Harness."
msgstr "有关 Automake 并行测试工具的更多信息,请参见 @xref{Parallel Test Harness,,,automake,GNU Automake}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:396
msgid "Upon failure, please email @email{bug-guix@@gnu.org} and attach the @file{test-suite.log} file.  Please specify the Guix version being used as well as version numbers of the dependencies (@pxref{Requirements}) in your message."
msgstr "遇到错误时,请给 @email{bug-guix@@gnu.org} 发邮件,并附带 @file{test-suite.log} 文件。请在消息里说明使用的 Guix 的版本信息和依赖(@pxref{Requirements})的版本信息。"

#. type: Plain text
#: guix-git/doc/contributing.texi:400
msgid "Guix also comes with a whole-system test suite that tests complete Guix System instances.  It can only run on systems where Guix is already installed, using:"
msgstr "Guix 还附带了一个可以测试整个 Guix 系统实例的全系统测试套件。它只能在已经安装 Guix 的系统上运行,使用:"

#. type: example
#: guix-git/doc/contributing.texi:403
#, no-wrap
msgid "make check-system\n"
msgstr "make check-system\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:407
msgid "or, again, by defining @code{TESTS} to select a subset of tests to run:"
msgstr "或者再次,通过定义 @code{TESTS} 选择测试的一个子集来运行:"

#. type: example
#: guix-git/doc/contributing.texi:410
#, no-wrap
msgid "make check-system TESTS=\"basic mcron\"\n"
msgstr "make check-system TESTS=\"basic mcron\"\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:418
msgid "These system tests are defined in the @code{(gnu tests @dots{})} modules.  They work by running the operating systems under test with lightweight instrumentation in a virtual machine (VM).  They can be computationally intensive or rather cheap, depending on whether substitutes are available for their dependencies (@pxref{Substitutes}).  Some of them require a lot of storage space to hold VM images."
msgstr "这些系统测试在 @code{(gnu tests @dots{})} 模块中定义。原理是,在一个虚拟机(virtual machine, VM)中,以轻量级的仪表运行待测试的操作系统。它们的计算密集程度可能很高,也可能相对较低,这取决于其依赖项是否有 substitues 可用(@pxref{Substitutes})。其中一些需要大量存储空间来保存 VM 镜像。"

#. type: Plain text
#: guix-git/doc/contributing.texi:420
msgid "If you encounter an error like:"
msgstr "若你遇到一个像这样的错误:"

#. type: example
#: guix-git/doc/contributing.texi:426
#, fuzzy, no-wrap
msgid ""
"Compiling Scheme modules...\n"
"ice-9/eval.scm:142:16: In procedure compile-top-call:\n"
"error: all-system-tests: unbound variable\n"
"hint: Did you forget `(use-modules (gnu tests))'?\n"
msgstr ""
"编译 Scheme 模块...\n"
"ice-9/eval.scm:142:16: 在过程 compile-top-call 中:\n"
"错误:all-system-tests:未绑定变量\n"
"提示:您是否忘记了 `(use-modules (gnu tests))'?\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:432
msgid "there may be inconsistencies in the work tree from previous builds.  To resolve this, try running @command{make clean-go} followed by @command{make}."
msgstr "工作树中可能存在来自先前构建的不一致处。要解决此问题,尝试运行 @command{make clean-go},再运行 @command{make}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:435
msgid "Again in case of test failures, please send @email{bug-guix@@gnu.org} all the details."
msgstr "再次,若遇到测试错误,请向 @email{bug-guix@@gnu.org} 发送所有细节信息。"

#. type: Plain text
#: guix-git/doc/contributing.texi:443
msgid "In order to keep a sane working environment, you will find it useful to test the changes made in your local source tree checkout without actually installing them.  So that you can distinguish between your ``end-user'' hat and your ``motley'' costume."
msgstr "为了保持一个正常的工作环境,你会发现在不实际安装的情况下测试本地源码树签出中的更改是非常有用的。这样你可以更好地区分自己作为“最终用户”和“测试员”的角色。"

#. type: Plain text
#: guix-git/doc/contributing.texi:453
msgid "To that end, all the command-line tools can be used even if you have not run @code{make install}.  To do that, you first need to have an environment with all the dependencies available (@pxref{Building from Git}), and then simply prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env} script lives in the top build tree of Guix; @pxref{Building from Git} to generate it).  As an example, here is how you would build the @code{hello} package as defined in your working tree (this assumes @command{guix-daemon} is already running on your system; it's OK if it's a different version):"
msgstr "这样,即使你没有运行 @code{make install},所有的命令行工具都可以使用。为此,你先要有一个全部依赖都可用的环境(@pxref{从 Git 构建}),然后简单地为每个命令添加前缀 @command{./pre-inst-env}(@file{pre-inst-env} 脚本在 Guix 构建树的最顶层,@pxref{从 Git 构建}来生成它)。作为例子,以下是你如何构建 @code{hello} 包,如同在你的工作树中定义的那样(这假设了 @command{guix-daemon} 正在运行于你的系统上;如果是不同的版本也可以):"

#. type: example
#: guix-git/doc/contributing.texi:456
#, no-wrap
msgid "$ ./pre-inst-env guix build hello\n"
msgstr "$ ./pre-inst-env guix build hello\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:460
msgid "Similarly, an example for a Guile session using the Guix modules:"
msgstr "类似地,一个使用 Guix 模块的 Guile 会话的例子:"

#. type: example
#: guix-git/doc/contributing.texi:463
#, no-wrap
msgid ""
"$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n"
"\n"
msgstr ""
"$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n"
"\n"

#. type: example
#: guix-git/doc/contributing.texi:465
#, no-wrap
msgid ";;; (\"x86_64-linux\")\n"
msgstr ";;; (\"x86_64-linux\")\n"

#. type: cindex
#: guix-git/doc/contributing.texi:468
#, no-wrap
msgid "REPL"
msgstr "REPL"

#. type: cindex
#: guix-git/doc/contributing.texi:469
#, no-wrap
msgid "read-eval-print loop"
msgstr "读取-估值-打印(read-eval-print)循环"

#. type: Plain text
#: guix-git/doc/contributing.texi:471
msgid "@dots{} and for a REPL (@pxref{Using Guix Interactively}):"
msgstr "@dots{} 以及为了一个 REPL(@pxref{Using Guix Interactively}):"

#. type: example
#: guix-git/doc/contributing.texi:486
#, no-wrap
msgid ""
"$ ./pre-inst-env guile\n"
"scheme@@(guile-user)> ,use(guix)\n"
"scheme@@(guile-user)> ,use(gnu)\n"
"scheme@@(guile-user)> (define snakes\n"
"                       (fold-packages\n"
"                         (lambda (package lst)\n"
"                           (if (string-prefix? \"python\"\n"
"                                               (package-name package))\n"
"                               (cons package lst)\n"
"                               lst))\n"
"                         '()))\n"
"scheme@@(guile-user)> (length snakes)\n"
"$1 = 361\n"
msgstr ""
"$ ./pre-inst-env guile\n"
"scheme@@(guile-user)> ,use(guix)\n"
"scheme@@(guile-user)> ,use(gnu)\n"
"scheme@@(guile-user)> (define snakes\n"
"                       (fold-packages\n"
"                         (lambda (package lst)\n"
"                           (if (string-prefix? \"python\"\n"
"                                               (package-name package))\n"
"                               (cons package lst)\n"
"                               lst))\n"
"                         '()))\n"
"scheme@@(guile-user)> (length snakes)\n"
"$1 = 361\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:494
msgid "If you are hacking on the daemon and its supporting code or if @command{guix-daemon} is not already running on your system, you can launch it straight from the build tree@footnote{The @option{-E} flag to @command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set such that @command{guix-daemon} and the tools it uses can find the Guile modules they need.}:"
msgstr "如果你在折腾守护进程及其支持代码,或者 @command{guix-daemon} 尚未在系统中运行,你可以直接从构建树中启动它@footnote{@command{sudo} 的 @option{-E} 选项保证了 @code{GUILE_LOAD_PATH} 被正确设置,以便 @command{guix-daemon} 及其使用的工具可以找到它们所需的 Guile 模块。}:"

#. type: example
#: guix-git/doc/contributing.texi:497
#, no-wrap
msgid "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n"
msgstr "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:501
msgid "The @command{pre-inst-env} script sets up all the environment variables necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}."
msgstr "@command{pre-inst-env} 脚本设置好了为了支持这个的所有必要的环境变量,包括 @env{PATH} 和 @env{GUILE_LOAD_PATH}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:506
msgid "Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the local source tree; it simply updates the @file{~/.config/guix/current} symlink (@pxref{Invoking guix pull}).  Run @command{git pull} instead if you want to upgrade your local source tree."
msgstr "注意,@command{./pre-inst-env guix pull} @emph{不}会更新本地源代码树;它只是简单地更新 @file{~/.config/guix/current} 符号链接(@pxref{Invoking guix pull})。如果你想更新本地源码树,请运行 @command{git pull}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:510
msgid "Sometimes, especially if you have recently updated your repository, running @command{./pre-inst-env} will print a message similar to the following example:"
msgstr "有时,特别是刚刚更新过你的仓库时,运行 @command{./pre-inst-env} 将会打印一个消息,类似于下面的例子:"

#. type: example
#: guix-git/doc/contributing.texi:514
#, no-wrap
msgid ""
";;; note: source file /home/user/projects/guix/guix/progress.scm\n"
";;;       newer than compiled /home/user/projects/guix/guix/progress.go\n"
msgstr ""
";;; note: source file /home/user/projects/guix/guix/progress.scm\n"
";;;       newer than compiled /home/user/projects/guix/guix/progress.go\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:520
msgid "This is only a note and you can safely ignore it.  You can get rid of the message by running @command{make -j4}.  Until you do, Guile will run slightly slower because it will interpret the code instead of using prepared Guile object (@file{.go}) files."
msgstr "这仅仅是一个提示,你可以安全地忽略它,可以通过运行 @command{make -j4} 来避免这条消息。若你不这么做,Guile 就会运行的稍微慢一些,因为它会解释代码而不是使用预备的 Guile 对象 (@file{.go}) 文件。"

#. type: Plain text
#: guix-git/doc/contributing.texi:525
msgid "You can run @command{make} automatically as you work using @command{watchexec} from the @code{watchexec} package.  For example, to build again each time you update a package file, run @samp{watchexec -w gnu/packages -- make -j4}."
msgstr "你可以使用 @code{watchexec} 包中的 @command{watchexec} 在你干活时自动运行 @command{make}。例如,若要在每次更新一个包文件后都再次构建,运行@samp{watchexec -w gnu/packages -- make -j4}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:534
msgid "The Perfect Setup to hack on Guix is basically the perfect setup used for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference Manual}).  First, you need more than an editor, you need @url{https://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful @url{https://nongnu.org/geiser/, Geiser}.  To set that up, run:"
msgstr "折腾 Guix 的完美配置也是折腾 Guile 的完美配置 @pxref{Using Guile in Emacs,,, guile, Guile Reference Manual})。首先,你需要的不仅是一个编辑器,你需要 @url{https://www.gnu.org/software/emacs, Emacs},以及美妙的 @url{http://nongnu.org/geiser/, Geiser}。为此,运行:"

#. type: example
#: guix-git/doc/contributing.texi:537
#, no-wrap
msgid "guix install emacs guile emacs-geiser emacs-geiser-guile\n"
msgstr "guix install emacs guile emacs-geiser emacs-geiser-guile\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:547
#, fuzzy
msgid "Geiser allows for interactive and incremental development from within Emacs: code compilation and evaluation from within buffers, access to on-line documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump to an object definition, a REPL to try out your code, and more (@pxref{Introduction,,, geiser, Geiser User Manual}).  If you allow Emacs to load the @file{.dir-locals.el} file at the root of the project checkout, it will cause Geiser to automatically add the local Guix sources to the Guile load path."
msgstr "Geiser 允许在 Emacs 里进行交互式的、增长式的开发:buffer 里的代码补全和执行,获取一行的文档 (docstrings),上下文敏感的补全,@kbd{M-.} 跳转到对象定义,测试代码的 REPL,及更多(@pxref{Introduction,,, geiser, Geiser User Manual})。为了方便的 Guix 开发,请确保修改 Guile 的加载路径 (load path) 以使其能从你的项目里找到源代码文件:"

#. type: Plain text
#: guix-git/doc/contributing.texi:554
msgid "To actually edit the code, Emacs already has a neat Scheme mode.  But in addition to that, you must not miss @url{https://www.emacswiki.org/emacs/ParEdit, Paredit}.  It provides facilities to directly operate on the syntax tree, such as raising an s-expression or wrapping it, swallowing or rejecting the following s-expression, etc."
msgstr "真正编辑代码时别忘了 Emacs 自带了方便的 Scheme 模式。而且,一定不要错过 @url{https://www.emacswiki.org/emacs/ParEdit, Paredit}。它提供了直接操作语法树的的功能,例如,用 S- 表达式替换父节点,为 S- 表达式添加、删除前后的括号,删除后面的 S- 表达式,等等。"

#. type: cindex
#: guix-git/doc/contributing.texi:555
#, no-wrap
msgid "code snippets"
msgstr "代码片段"

#. type: cindex
#: guix-git/doc/contributing.texi:556
#, no-wrap
msgid "templates"
msgstr "模板"

#. type: cindex
#: guix-git/doc/contributing.texi:557
#, no-wrap
msgid "reducing boilerplate"
msgstr "减少样板"

#. type: Plain text
#: guix-git/doc/contributing.texi:567
#, fuzzy
msgid "We also provide templates for common git commit messages and package definitions in the @file{etc/snippets} directory.  These templates can be used to expand short trigger strings to interactive text snippets. If you use @url{https://joaotavora.github.io/yasnippet/, YASnippet}, you may want to add the @file{etc/snippets/yas} snippets directory to the @var{yas-snippet-dirs} variable.  If you use @url{https://github.com/minad/tempel/, Tempel}, you may want to add the @file{etc/snippets/tempel/*} path to the @var{tempel-path} variable in Emacs."
msgstr "在@file{etc/snippets}文件夹里,我们还为普通的git commit信息和软件包定义提供模板。这些模板可以通过@url{http://joaotavora.github.io/yasnippet/, YASnippet}使用,它可以把短的触发字符串扩展成交互式的文字片段。你可能希望将这个文件夹添加到Emacs的@var{yas-snippet-dirs}变量里。"

#. type: lisp
#: guix-git/doc/contributing.texi:579
#, no-wrap
msgid ""
";; @r{Assuming the Guix checkout is in ~/src/guix.}\n"
";; @r{Yasnippet configuration}\n"
"(with-eval-after-load 'yasnippet\n"
"  (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets/yas\"))\n"
";; @r{Tempel configuration}\n"
"(with-eval-after-load 'tempel\n"
"   ;; Ensure tempel-path is a list -- it may also be a string.\n"
"   (unless (listp 'tempel-path)\n"
"     (setq tempel-path (list tempel-path)))\n"
"   (add-to-list 'tempel-path \"~/src/guix/etc/snippets/tempel/*\"))\n"
msgstr ""
";; @r{假设 Guix 签出在 ~/src/guix 中。}\n"
";; @r{Yasnippet 配置}\n"
"(with-eval-after-load 'yasnippet\n"
"  (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets/yas\"))\n"
";; @r{Tempel 配置}\n"
"(with-eval-after-load 'tempel\n"
"   ;; 确保 tempel-path 是一个列表——它也可以是一个字符串。\n"
"   (unless (listp 'tempel-path)\n"
"     (setq tempel-path (list tempel-path)))\n"
"   (add-to-list 'tempel-path \"~/src/guix/etc/snippets/tempel/*\"))\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:587
msgid "The commit message snippets depend on @url{https://magit.vc/, Magit} to display staged files.  When editing a commit message type @code{add} followed by @kbd{TAB} to insert a commit message template for adding a package; type @code{update} followed by @kbd{TAB} to insert a template for updating a package; type @code{https} followed by @kbd{TAB} to insert a template for changing the home page URI of a package to HTTPS."
msgstr "commit信息片段显示staged文件需要依赖@url{https://magit.vc/, Magit}。编辑commit信息时,输入@code{add},然后按@kbd{TAB}就可以插入一段用于新增软件包的模板;输入@code{update},然后按@kbd{TAB}可以插入一段更新软件包的模板;输入@code{https}然后按@kbd{TAB}可以插入一段修改主页URI为HTTPS的模板。"

#. type: Plain text
#: guix-git/doc/contributing.texi:593
msgid "The main snippet for @code{scheme-mode} is triggered by typing @code{package...} followed by @kbd{TAB}.  This snippet also inserts the trigger string @code{origin...}, which can be expanded further.  The @code{origin} snippet in turn may insert other trigger strings ending on @code{...}, which also can be expanded further."
msgstr "@code{scheme-mode}最重要的模板可以通过输入@code{package...},然后按@kbd{TAB}触发。这个片段还插入了触发字符串@code{origin...},以进一步展开。@code{origin}片段更进一步的可能插入其它以@code{...}结尾的触发字符串,它们可以被继续展开。"

#. type: cindex
#: guix-git/doc/contributing.texi:594
#, no-wrap
msgid "insert or update copyright"
msgstr "插入或更新版权"

#. type: code{#1}
#: guix-git/doc/contributing.texi:595
#, no-wrap
msgid "M-x guix-copyright"
msgstr "M-x guix-copyright"

#. type: code{#1}
#: guix-git/doc/contributing.texi:596
#, no-wrap
msgid "M-x copyright-update"
msgstr "M-x copyright-update"

#. type: Plain text
#: guix-git/doc/contributing.texi:600
msgid "We additionally provide insertion and automatic update of a copyright in @file{etc/copyright.el}.  You may want to set your full name, mail, and load a file."
msgstr "我们在@file{etc/copyright.el} 中额外提供了版权的插入和自动更新。你也许会想要设置你的全名,邮箱以及加载一个文件。"

#. type: lisp
#: guix-git/doc/contributing.texi:606
#, no-wrap
msgid ""
"(setq user-full-name \"Alice Doe\")\n"
"(setq user-mail-address \"alice@@mail.org\")\n"
";; @r{Assuming the Guix checkout is in ~/src/guix.}\n"
"(load-file \"~/src/guix/etc/copyright.el\")\n"
msgstr ""
"(setq user-full-name \"Alice Doe\")\n"
"(setq user-mail-address \"alice@@mail.org\")\n"
";; @r{假设 Guix 签出在 ~/src/guix。}\n"
"(load-file \"~/src/guix/etc/copyright.el\")\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:609
msgid "To insert a copyright at the current line invoke @code{M-x guix-copyright}."
msgstr "要在当前行插入版权信息,调用@code{M-x guix-copyright}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:611
msgid "To update a copyright you need to specify a @code{copyright-names-regexp}."
msgstr "要更新一个版权信息,你需要指定 @code{copyright-names-regexp}。"

#. type: lisp
#: guix-git/doc/contributing.texi:615
#, no-wrap
msgid ""
"(setq copyright-names-regexp\n"
"      (format \"%s <%s>\" user-full-name user-mail-address))\n"
msgstr ""
"(setq copyright-names-regexp\n"
"      (format \"%s <%s>\" user-full-name user-mail-address))\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:621
msgid "You can check if your copyright is up to date by evaluating @code{M-x copyright-update}.  If you want to do it automatically after each buffer save then add @code{(add-hook 'after-save-hook 'copyright-update)} in Emacs."
msgstr "你可以通过执行 @code{M-x copyright-update} 检查版权信息是否已更新。若你想要在每次缓存区保存后自动做这件事,就在 Emacs 中添加 @code{(add-hook 'after-save-hook 'copyright-update)}。"

#. type: subsection
#: guix-git/doc/contributing.texi:622 guix-git/doc/contributing.texi:623
#, no-wrap
msgid "Viewing Bugs within Emacs"
msgstr "在Emacs内部浏览漏洞"

#. type: Plain text
#: guix-git/doc/contributing.texi:633
#, fuzzy
msgid "Emacs has a nice minor mode called @code{bug-reference}, which, when combined with @samp{emacs-debbugs} (the Emacs package), can be used to open links such as @samp{<https://bugs.gnu.org/58697>} or @samp{<https://issues.guix.gnu.org/58697>} as bug report buffers.  From there you can easily consult the email thread via the Gnus interface, reply or modify the bug status, all without leaving the comfort of Emacs! Below is a sample configuration to add to your @file{~/.emacs} configuration file:"
msgstr "Emacs 有一个很好的小模式,称为 @code{bug-reference},当与 @samp{emacs-debbugs}(Emacs 包)结合使用时,可以用来打开链接,例如 @samp{<https://bugs.gnu.org/58697>} 或 @samp{<https://issues.guix.gnu.org/58697>} 作为错误报告缓冲区。从那里,您可以轻松通过 Gnus 界面查看电子邮件线程,回复或修改错误状态,所有这些都无需离开 Emacs 的舒适环境!以下是要添加到您的 @file{~/.emacs} 配置文件中的示例配置:"

#. type: lisp
#: guix-git/doc/contributing.texi:642
#, fuzzy, no-wrap
msgid ""
";;; Bug references.\n"
"(require 'bug-reference)\n"
"(add-hook 'prog-mode-hook #'bug-reference-prog-mode)\n"
"(add-hook 'gnus-mode-hook #'bug-reference-mode)\n"
"(add-hook 'erc-mode-hook #'bug-reference-mode)\n"
"(add-hook 'gnus-summary-mode-hook #'bug-reference-mode)\n"
"(add-hook 'gnus-article-mode-hook #'bug-reference-mode)\n"
"\n"
msgstr ""
";;; Bug references.\n"
"(require 'bug-reference)\n"
"(add-hook 'prog-mode-hook #'bug-reference-prog-mode)\n"
"(add-hook 'gnus-mode-hook #'bug-reference-mode)\n"
"(add-hook 'erc-mode-hook #'bug-reference-mode)\n"
"(add-hook 'gnus-summary-mode-hook #'bug-reference-mode)\n"
"(add-hook 'gnus-article-mode-hook #'bug-reference-mode)\n"
"\n"

#. type: lisp
#: guix-git/doc/contributing.texi:674
#, no-wrap
msgid ""
";;; This extends the default expression (the top-most, first expression\n"
";;; provided to 'or') to also match URLs such as\n"
";;; <https://issues.guix.gnu.org/58697> or <https://bugs.gnu.org/58697>.\n"
";;; It is also extended to detect \"Fixes: #NNNNN\" git trailers.\n"
"(setq bug-reference-bug-regexp\n"
"      (rx (group (or (seq word-boundary\n"
"                          (or (seq (char \"Bb\") \"ug\"\n"
"                                   (zero-or-one \" \")\n"
"                                   (zero-or-one \"#\"))\n"
"                              (seq (char \"Pp\") \"atch\"\n"
"                                   (zero-or-one \" \")\n"
"                                   \"#\")\n"
"                              (seq (char \"Ff\") \"ixes\"\n"
"                                   (zero-or-one \":\")\n"
"                                   (zero-or-one \" \") \"#\")\n"
"                              (seq \"RFE\"\n"
"                                   (zero-or-one \" \") \"#\")\n"
"                              (seq \"PR \"\n"
"                                   (one-or-more (char \"a-z+-\")) \"/\"))\n"
"                          (group (one-or-more (char \"0-9\"))\n"
"                                 (zero-or-one\n"
"                                  (seq \"#\" (one-or-more\n"
"                                            (char \"0-9\"))))))\n"
"                     (seq (? \"<\") \"https://bugs.gnu.org/\"\n"
"                          (group-n 2 (one-or-more (char \"0-9\")))\n"
"                          (? \">\"))\n"
"                     (seq (? \"<\") \"https://issues.guix.gnu.org/\"\n"
"                          (? \"issue/\")\n"
"                          (group-n 2 (one-or-more (char \"0-9\")))\n"
"                          (? \">\"))))))\n"
"(setq bug-reference-url-format \"https://issues.guix.gnu.org/%s\")\n"
"\n"
msgstr ""
";;; 这扩展了默认表达式(最上面的第一个表达式提供给'or')来匹配\n"
";;; url,例如 <https://issues.guix.gnu.org/58697>或\n"
";;; <https://bugs.gnu.org/58697>。它也被扩展到检测\n"
";;; “Fixes: #NNNNN” git trailers。\n"
"(setq bug-reference-bug-regexp\n"
"      (rx (group (or (seq word-boundary\n"
"                          (or (seq (char \"Bb\") \"ug\"\n"
"                                   (zero-or-one \" \")\n"
"                                   (zero-or-one \"#\"))\n"
"                              (seq (char \"Pp\") \"atch\"\n"
"                                   (zero-or-one \" \")\n"
"                                   \"#\")\n"
"                              (seq (char \"Ff\") \"ixes\"\n"
"                                   (zero-or-one \":\")\n"
"                                   (zero-or-one \" \") \"#\")\n"
"                              (seq \"RFE\"\n"
"                                   (zero-or-one \" \") \"#\")\n"
"                              (seq \"PR \"\n"
"                                   (one-or-more (char \"a-z+-\")) \"/\"))\n"
"                          (group (one-or-more (char \"0-9\"))\n"
"                                 (zero-or-one\n"
"                                  (seq \"#\" (one-or-more\n"
"                                            (char \"0-9\"))))))\n"
"                     (seq (? \"<\") \"https://bugs.gnu.org/\"\n"
"                          (group-n 2 (one-or-more (char \"0-9\")))\n"
"                          (? \">\"))\n"
"                     (seq (? \"<\") \"https://issues.guix.gnu.org/\"\n"
"                          (? \"issue/\")\n"
"                          (group-n 2 (one-or-more (char \"0-9\")))\n"
"                          (? \">\"))))))\n"
"(setq bug-reference-url-format \"https://issues.guix.gnu.org/%s\")\n"
"\n"

#. type: lisp
#: guix-git/doc/contributing.texi:679
#, no-wrap
msgid ""
"(require 'debbugs)\n"
"(require 'debbugs-browse)\n"
"(add-hook 'bug-reference-mode-hook #'debbugs-browse-mode)\n"
"(add-hook 'bug-reference-prog-mode-hook #'debbugs-browse-mode)\n"
"\n"
msgstr ""
"(require 'debbugs)\n"
"(require 'debbugs-browse)\n"
"(add-hook 'bug-reference-mode-hook #'debbugs-browse-mode)\n"
"(add-hook 'bug-reference-prog-mode-hook #'debbugs-browse-mode)\n"
"\n"

#. type: lisp
#: guix-git/doc/contributing.texi:690
#, fuzzy, no-wrap
msgid ""
";; The following allows Emacs Debbugs user to open the issue directly within\n"
";; Emacs.\n"
"(setq debbugs-browse-url-regexp\n"
"      (rx line-start\n"
"          \"http\" (zero-or-one \"s\") \"://\"\n"
"          (or \"debbugs\" \"issues.guix\" \"bugs\")\n"
"          \".gnu.org\" (one-or-more \"/\")\n"
"          (group (zero-or-one \"cgi/bugreport.cgi?bug=\"))\n"
"          (group-n 3 (one-or-more digit))\n"
"          line-end))\n"
"\n"
msgstr ""
";; 以下允许 Emacs Debbugs 用户直接在 Emacs 中打开问题\n"
";; Emacs。\n"
"(setq debbugs-browse-url-regexp\n"
"      (rx line-start\n"
"          \"http\" (zero-or-one \"s\") \"://\"\n"
"          (or \"debbugs\" \"issues.guix\" \"bugs\")\n"
"          \".gnu.org\" (one-or-more \"/\")\n"
"          (group (zero-or-one \"cgi/bugreport.cgi?bug=\"))\n"
"          (group-n 3 (one-or-more digit))\n"
"          line-end))\n"
"\n"

#. type: lisp
#: guix-git/doc/contributing.texi:693
#, no-wrap
msgid ""
";; Change the default when run as 'M-x debbugs-gnu'.\n"
"(setq debbugs-gnu-default-packages '(\"guix\" \"guix-patches\"))\n"
"\n"
msgstr ""
";; 修改当运行 'M-x debbugs-gnu' 时的默认值.\n"
"(setq debbugs-gnu-default-packages '(\"guix\" \"guix-patches\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/contributing.texi:697
#, no-wrap
msgid ""
";; Show feature requests.\n"
"(setq debbugs-gnu-default-severities\n"
" '(\"serious\" \"important\" \"normal\" \"minor\" \"wishlist\"))\n"
msgstr ""
";; 显示功能需求。\n"
"(setq debbugs-gnu-default-severities\n"
" '(\"serious\" \"important\" \"normal\" \"minor\" \"wishlist\"))\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:702
msgid "For more information, refer to @ref{Bug Reference,,, emacs, The GNU Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User Guide}."
msgstr "更多信息,请查询@ref{Bug Reference,,, emacs, The GNU Emacs Manual}和@ref{Minor Mode,,, debbugs-ug, The Debbugs User Guide}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:709
#, fuzzy
msgid "Alternative setups than Emacs may let you work on Guix with a similar development experience and they might work better with the tools you currently use or help you make the transition to Emacs."
msgstr "与 Emacs 的替代设置可能让您以类似的开发体验在 Guix 上工作,并且它们可能与您当前使用的工具更兼容,或者帮助您过渡到 Emacs。"

#. type: Plain text
#: guix-git/doc/contributing.texi:715
msgid "The options listed below only provide the alternatives to the Emacs based setup, which is the most widely used in the Guix community. If you want to really understand how is the perfect setup for Guix development supposed to work, we encourage you to read the section before this regardless the editor you choose to use."
msgstr "下面列出的选项仅提供基于 Emacs 的配置的替代方案,这是 Guix 社区使用最广泛的配置。如果想要真正了解 Guix 开发的完美配置如何工作,建议阅读前面的章节,无论选择使用哪种编辑器。"

#. type: subsection
#: guix-git/doc/contributing.texi:719 guix-git/doc/contributing.texi:721
#: guix-git/doc/contributing.texi:722
#, no-wrap
msgid "Guile Studio"
msgstr "Guile Studio"

#. type: menuentry
#: guix-git/doc/contributing.texi:719
#, fuzzy
msgid "First step in your transition to Emacs."
msgstr "您过渡到 Emacs 的第一步。"

#. type: subsection
#: guix-git/doc/contributing.texi:719 guix-git/doc/contributing.texi:734
#: guix-git/doc/contributing.texi:735
#, no-wrap
msgid "Vim and NeoVim"
msgstr "Vim 和 NeoVim"

#. type: menuentry
#: guix-git/doc/contributing.texi:719
#, fuzzy
msgid "When you are evil to the root."
msgstr "当您对根目录恶意时。"

#. type: Plain text
#: guix-git/doc/contributing.texi:727
msgid "Guile Studio is a pre-configured Emacs with mostly everything you need to start hacking in Guile. If you are not familiar with Emacs it makes the transition easier for you."
msgstr "Guile Studio 是一个预配置 的 Emacs,其中包含了您在Guile中进行黑客攻击所需的大部分内容。如果您不熟悉Emacs,它将使您更容易转换。"

#. type: example
#: guix-git/doc/contributing.texi:730
#, no-wrap
msgid "guix install guile-studio\n"
msgstr "guix install guile-studio\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:733
msgid "Guile Studio comes with Geiser preinstalled and prepared for action."
msgstr "Guile Studio 预装了 Geiser,可随时使用。"

#. type: Plain text
#: guix-git/doc/contributing.texi:740
msgid "Vim (and NeoVim) are also packaged in Guix, just in case you decided to go for the evil path."
msgstr "Vim(和NeoVim)也打包在Guix中,以防您决定走上邪路。"

#. type: example
#: guix-git/doc/contributing.texi:743
#, no-wrap
msgid "guix install vim\n"
msgstr "guix install vim\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:751
#, fuzzy
msgid "If you want to enjoy a similar development experience to that in the perfect setup, you should install several plugins to configure the editor. Vim (and NeoVim) have the equivalent to Paredit, @uref{https://www.vim.org/scripts/script.php?script_id=3998, @code{paredit.vim}}, that will help you with the structural editing of Scheme files (the support for very large files is not great, though)."
msgstr "如果您想享受与完美设置中类似的开发体验,您应该安装几个插件来配置编辑器。Vim(和 NeoVim)有与 Paredit 等效的插件,@uref{https://www.vim.org/scripts/script.php?script_id=3998, @code{paredit.vim}},这将帮助您进行 Scheme 文件的结构化编辑(不过对非常大的文件的支持不是很好)。"

#. type: example
#: guix-git/doc/contributing.texi:754
#, fuzzy, no-wrap
msgid "guix install vim-paredit\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:758
msgid "We also recommend that you run @code{:set autoindent} so that your code is automatically indented as you type."
msgstr "建议运行 @code{:set autoindent},以便在输入代码时自动缩进。"

#. type: Plain text
#: guix-git/doc/contributing.texi:762
msgid "For the interaction with Git, @uref{https://www.vim.org/scripts/script.php?script_id=2975, @code{fugitive.vim}} is the most commonly used plugin:"
msgstr "@uref{https://www.vim.org/scripts/script.php?script_id=2975, @code{fugitive.vim}} 是最常用的 Git 交互插件:"

#. type: example
#: guix-git/doc/contributing.texi:765
#, no-wrap
msgid "guix install vim-fugitive\n"
msgstr "guix install vim-fugitive\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:770
msgid "And of course if you want to interact with Guix directly from inside of vim, using the built-in terminal emulator, we have our very own @code{guix.vim} package!"
msgstr "当然,如果你想直接在 vim 中使用内置终端模拟器与 Guix 交互,我们还有自己的 @code{guix.vim} 软件包!"

#. type: example
#: guix-git/doc/contributing.texi:773
#, fuzzy, no-wrap
msgid "guix install vim-guix-vim\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:778
msgid "In NeoVim you can even make a similar setup to Geiser using @url{https://conjure.fun/, Conjure} that lets you connect to a running Guile process and inject your code there live (sadly it's not packaged in Guix yet)."
msgstr "在 NeoVim 中,你甚至可以使用 @url{https://conjure.fun/, Conjure} 进行与 Geiser 类似的配置,从而连接到正在运行的 Guile 进程,并在其中实时注入代码(遗憾的是 Guix 还没有打包)。"

#. type: cindex
#: guix-git/doc/contributing.texi:783
#, fuzzy, no-wrap
msgid "structure, of the source tree"
msgstr "源树的结构"

#. type: Plain text
#: guix-git/doc/contributing.texi:787
#, fuzzy
msgid "If you're willing to contribute to Guix beyond packages, or if you'd like to learn how it all fits together, this section provides a guided tour in the code base that you may find useful."
msgstr "如果您愿意在 Guix 中贡献超出软件包的内容,或者如果您想了解它是如何结合在一起的,本节提供了代码库的导览,您可能会觉得有用。"

#. type: Plain text
#: guix-git/doc/contributing.texi:791
#, fuzzy
msgid "Overall, the Guix source tree contains almost exclusively Guile @dfn{modules}, each of which can be seen as an independent library (@pxref{Modules,,, guile, GNU Guile Reference Manual})."
msgstr "总体而言,Guix 源树几乎完全包含 Guile @dfn{模块},每个模块都可以视为一个独立的库(@pxref{Modules,,, guile, GNU Guile Reference Manual})。"

#. type: Plain text
#: guix-git/doc/contributing.texi:796
#, fuzzy
msgid "The following table gives an overview of the main directories and what they contain.  Remember that in Guile, each module name is derived from its file name---e.g., the module in file @file{guix/packages.scm} is called @code{(guix packages)}."
msgstr "以下表格概述了主要目录及其包含的内容。请记住,在 Guile 中,每个模块名称是从其文件名派生的——例如,文件 @file{guix/packages.scm} 中的模块称为 @code{(guix packages)}。"

#. type: item
#: guix-git/doc/contributing.texi:798 guix-git/doc/contributing.texi:3448
#: guix-git/doc/guix.texi:11393
#, fuzzy, no-wrap
msgid "guix"
msgstr "guix"

#. type: table
#: guix-git/doc/contributing.texi:802
#, fuzzy
msgid "This is the location of core Guix mechanisms.  To illustrate what is meant by ``core'', here are a few examples, starting from low-level tools and going towards higher-level tools:"
msgstr "这是核心 Guix 机制的位置。为了说明“核心”是什么意思,这里有几个例子,从低级工具到高级工具:"

#. type: item
#: guix-git/doc/contributing.texi:804
#, no-wrap
msgid "(guix store)"
msgstr "(guix store)"

#. type: table
#: guix-git/doc/contributing.texi:806
#, fuzzy
msgid "Connecting to and interacting with the build daemon (@pxref{The Store})."
msgstr "连接并与构建守护进程交互(@pxref{The Store})。"

#. type: item
#: guix-git/doc/contributing.texi:806
#, fuzzy, no-wrap
msgid "(guix derivations)"
msgstr "(guix 派生)"

#. type: table
#: guix-git/doc/contributing.texi:808
#, fuzzy
msgid "Creating derivations (@pxref{Derivations})."
msgstr "创建派生(@pxref{Derivations})。"

#. type: item
#: guix-git/doc/contributing.texi:808
#, fuzzy, no-wrap
msgid "(guix gexps)"
msgstr "guix repl"

#. type: table
#: guix-git/doc/contributing.texi:810
#, fuzzy
msgid "Writing G-expressions (@pxref{G-Expressions})."
msgstr "编写 G 表达式 (@pxref{G-Expressions})."

#. type: item
#: guix-git/doc/contributing.texi:810
#, no-wrap
msgid "(guix packages)"
msgstr "(guix packages)"

#. type: table
#: guix-git/doc/contributing.texi:812
#, fuzzy
msgid "Defining packages and origins (@pxref{package Reference})."
msgstr "定义包和来源 (@pxref{package Reference})."

#. type: item
#: guix-git/doc/contributing.texi:812
#, no-wrap
msgid "(guix download)"
msgstr "(guix download)"

#. type: itemx
#: guix-git/doc/contributing.texi:813
#, no-wrap
msgid "(guix git-download)"
msgstr "(guix git-download)"

#. type: table
#: guix-git/doc/contributing.texi:816
#, fuzzy
msgid "The @code{url-fetch} and @code{git-fetch} origin download methods (@pxref{origin Reference})."
msgstr "@code{url-fetch} 和 @code{git-fetch} 来源下载方法 (@pxref{origin Reference})."

#. type: item
#: guix-git/doc/contributing.texi:816
#, fuzzy, no-wrap
msgid "(guix swh)"
msgstr "guix shell"

#. type: table
#: guix-git/doc/contributing.texi:819
#, fuzzy
msgid "Fetching source code from the @uref{https://archive.softwareheritage.org,Software Heritage archive}."
msgstr "从 @uref{https://archive.softwareheritage.org,Software Heritage archive} 获取源代码."

#. type: item
#: guix-git/doc/contributing.texi:819
#, fuzzy, no-wrap
msgid "(guix search-paths)"
msgstr "guix package --list-available"

#. type: table
#: guix-git/doc/contributing.texi:821
#, fuzzy
msgid "Implementing search paths (@pxref{Search Paths})."
msgstr "实现搜索路径 (@pxref{Search Paths})."

#. type: item
#: guix-git/doc/contributing.texi:821
#, no-wrap
msgid "(guix build-system)"
msgstr "(guix build-system)"

#. type: table
#: guix-git/doc/contributing.texi:823
#, fuzzy
msgid "The build system interface (@pxref{Build Systems})."
msgstr "构建系统接口 (@pxref{Build Systems})."

#. type: item
#: guix-git/doc/contributing.texi:823
#, no-wrap
msgid "(guix profiles)"
msgstr "(guix profiles)"

#. type: table
#: guix-git/doc/contributing.texi:825
#, fuzzy
msgid "Implementing profiles."
msgstr "实现数据结构。"

#. type: cindex
#: guix-git/doc/contributing.texi:827
#, fuzzy, no-wrap
msgid "build system, directory structure"
msgstr "构建系统,目录结构"

#. type: item
#: guix-git/doc/contributing.texi:828
#, no-wrap
msgid "guix/build-system"
msgstr "guix/build-system"

#. type: table
#: guix-git/doc/contributing.texi:831
#, fuzzy
msgid "This directory contains specific build system implementations (@pxref{Build Systems}), such as:"
msgstr "该目录包含特定的构建系统实现 (@pxref{Build Systems}), 例如:"

#. type: item
#: guix-git/doc/contributing.texi:833
#, no-wrap
msgid "(guix build-system gnu)"
msgstr "(guix build-system gnu)"

#. type: table
#: guix-git/doc/contributing.texi:835
#, fuzzy
msgid "the GNU build system;"
msgstr "构建系统"

#. type: item
#: guix-git/doc/contributing.texi:835
#, no-wrap
msgid "(guix build-system cmake)"
msgstr "(guix build-system cmake)"

#. type: table
#: guix-git/doc/contributing.texi:837
#, fuzzy
msgid "the CMake build system;"
msgstr "cmake-build-system"

#. type: item
#: guix-git/doc/contributing.texi:837
#, no-wrap
msgid "(guix build-system pyproject)"
msgstr "(guix build-system pyproject)"

#. type: table
#: guix-git/doc/contributing.texi:839
#, fuzzy
msgid "The Python ``pyproject'' build system."
msgstr "aarch64-linux"

#. type: item
#: guix-git/doc/contributing.texi:841
#, no-wrap
msgid "guix/build"
msgstr "guix/build"

#. type: table
#: guix-git/doc/contributing.texi:846
#, fuzzy
msgid "This contains code generally used on the ``build side'' (@pxref{G-Expressions, strata of code}).  This includes code used to build packages or other operating system components, as well as utilities:"
msgstr "这包含通常在“构建侧”使用的代码 (@pxref{G-Expressions, strata of code}).  这包括用于构建包或其他操作系统组件的代码,以及实用工具:"

#. type: item
#: guix-git/doc/contributing.texi:848
#, fuzzy, no-wrap
msgid "(guix build utils)"
msgstr "(guix build utils)"

#. type: table
#: guix-git/doc/contributing.texi:850
#, fuzzy
msgid "Utilities for package definitions and more (@pxref{Build Utilities})."
msgstr "导入软件包定义。"

#. type: item
#: guix-git/doc/contributing.texi:850
#, no-wrap
msgid "(guix build gnu-build-system)"
msgstr "(guix build gnu-build-system)"

#. type: itemx
#: guix-git/doc/contributing.texi:851
#, no-wrap
msgid "(guix build cmake-build-system)"
msgstr "(guix build cmake-build-system)"

#. type: itemx
#: guix-git/doc/contributing.texi:852
#, fuzzy, no-wrap
msgid "(guix build pyproject-build-system)"
msgstr "aarch64-linux"

#. type: table
#: guix-git/doc/contributing.texi:855
#, fuzzy
msgid "Implementation of build systems, and in particular definition of their build phases (@pxref{Build Phases})."
msgstr "构建系统的实现,特别是其构建阶段的定义 (@pxref{Build Phases})."

#. type: item
#: guix-git/doc/contributing.texi:855
#, fuzzy, no-wrap
msgid "(guix build syscalls)"
msgstr "(guix build syscalls)"

#. type: table
#: guix-git/doc/contributing.texi:857
#, fuzzy
msgid "Interface to the C library and to Linux system calls."
msgstr "与 C 库和 Linux 系统调用的接口."

#. type: cindex
#: guix-git/doc/contributing.texi:859
#, fuzzy, no-wrap
msgid "command-line tools, as Guile modules"
msgstr "命令行工具,作为 Guile 模块"

#. type: cindex
#: guix-git/doc/contributing.texi:860
#, fuzzy, no-wrap
msgid "command modules"
msgstr "软件包模块"

#. type: item
#: guix-git/doc/contributing.texi:861
#, no-wrap
msgid "guix/scripts"
msgstr "guix/scripts"

#. type: table
#: guix-git/doc/contributing.texi:866
msgid "This contains modules corresponding to @command{guix} sub-commands.  For example, the @code{(guix scripts shell)} module exports the @code{guix-shell} procedure, which directly corresponds to the @command{guix shell} command (@pxref{Invoking guix shell})."
msgstr "这包括了相应于 @command{guix} 子命令的模块。例如,@code{(guix scripts shell)} 模块导出了 @code{guix-shell} 过程,这直接对应于 @command{guix shell} 命令(@pxref{Invoking guix shell})。"

#. type: cindex
#: guix-git/doc/contributing.texi:867
#, no-wrap
msgid "importer modules"
msgstr "导入器模块"

#. type: item
#: guix-git/doc/contributing.texi:868
#, no-wrap
msgid "guix/import"
msgstr "guix/import"

#. type: table
#: guix-git/doc/contributing.texi:873
msgid "This contains supporting code for the importers and updaters (@pxref{Invoking guix import}, and @pxref{Invoking guix refresh}).  For example, @code{(guix import pypi)} defines the interface to PyPI, which is used by the @command{guix import pypi} command."
msgstr "这包含了对于导入器和升级器的支持代码(@pxref{Invoking guix import},以及 @pxref{Invoking guix refresh})。例如,@code{(guix import pypi)} 定义了 PyPI 的接口,这由 @command{guix import pypi} 命令使用。"

#. type: Plain text
#: guix-git/doc/contributing.texi:888
#, fuzzy
msgid "The directories we have seen so far all live under @file{guix/}.  The other important place is the @file{gnu/} directory, which contains primarily package definitions as well as libraries and tools for Guix System (@pxref{System Configuration}) and Guix Home (@pxref{Home Configuration}), all of which build upon functionality provided by @code{(guix @dots{})} modules@footnote{For this reason, @code{(guix @dots{})} modules must generally not depend on @code{(gnu @dots{})} modules, with notable exceptions: @code{(guix build-system @dots{})} modules may look up packages at run time---e.g., @code{(guix build-system cmake)} needs to access the @code{cmake} variable at run time---, @code{(guix scripts @dots{})} often rely on @code{(gnu @dots{})} modules, and the same goes for some of the @code{(guix import @dots{})} modules.}."
msgstr "到目前为止我们看到的所有目录都位于 @file{guix/} 下。  另一个重要的地方是 @file{gnu/} 目录,它主要包含包定义以及 Guix 系统 (@pxref{System Configuration}) 和 Guix Home (@pxref{Home Configuration}) 的库和工具,所有这些都建立在 @code{(guix @dots{})} 模块提供的功能之上@footnote{因此,@code{(guix @dots{})} 模块通常不应依赖于 @code{(gnu @dots{})} 模块,尽管有一些显著的例外:@code{(guix build-system @dots{})} 模块可以在运行时查找包——例如,@code{(guix build-system cmake)} 需要在运行时访问 @code{cmake} 变量——,@code{(guix scripts @dots{})} 通常依赖于 @code{(gnu @dots{})} 模块,@code{(guix import @dots{})} 模块中的某些模块也是如此.}."

#. type: cindex
#: guix-git/doc/contributing.texi:890
#, no-wrap
msgid "package modules"
msgstr "软件包模块"

#. type: item
#: guix-git/doc/contributing.texi:891
#, no-wrap
msgid "gnu/packages"
msgstr "gnu/packages"

#. type: table
#: guix-git/doc/contributing.texi:895
#, fuzzy
msgid "This is by far the most crowded directory of the source tree: it contains @dfn{package modules} that export package definitions (@pxref{Package Modules}).  A few examples:"
msgstr "这是源树中最拥挤的目录:它包含 @dfn{包模块},导出包定义 (@pxref{Package Modules}).  一些示例:"

#. type: item
#: guix-git/doc/contributing.texi:897
#, no-wrap
msgid "(gnu packages base)"
msgstr "(gnu packages base)"

#. type: table
#: guix-git/doc/contributing.texi:900
#, fuzzy
msgid "Module providing ``base'' packages: @code{glibc}, @code{coreutils}, @code{grep}, etc."
msgstr "提供“基础”包的模块:@code{glibc}, @code{coreutils}, @code{grep}, 等等."

#. type: item
#: guix-git/doc/contributing.texi:900
#, no-wrap
msgid "(gnu packages guile)"
msgstr "(gnu packages guile)"

#. type: table
#: guix-git/doc/contributing.texi:902
#, fuzzy
msgid "Guile and core Guile packages."
msgstr "构建软件包。"

#. type: item
#: guix-git/doc/contributing.texi:902
#, no-wrap
msgid "(gnu packages linux)"
msgstr "(gnu packages linux)"

#. type: table
#: guix-git/doc/contributing.texi:904
#, fuzzy
msgid "The Linux-libre kernel and related packages."
msgstr "Linux-libre内核及相关软件包。"

#. type: item
#: guix-git/doc/contributing.texi:904
#, no-wrap
msgid "(gnu packages python)"
msgstr "(gnu packages python)"

#. type: table
#: guix-git/doc/contributing.texi:906
#, fuzzy
msgid "Python and core Python packages."
msgstr "Python软件包的输入"

#. type: item
#: guix-git/doc/contributing.texi:906
#, no-wrap
msgid "(gnu packages python-xyz)"
msgstr "(gnu packages python-xyz)"

#. type: table
#: guix-git/doc/contributing.texi:908
#, fuzzy
msgid "Miscellaneous Python packages (we were not very creative)."
msgstr "杂项Python软件包(我们并没有很有创意)。"

#. type: table
#: guix-git/doc/contributing.texi:913
#, fuzzy
msgid "In any case, you can jump to a package definition using @command{guix edit} (@pxref{Invoking guix edit}) and view its location with @command{guix show} (@pxref{Invoking guix package})."
msgstr "无论如何,您可以使用@command{guix edit}跳转到软件包定义(@pxref{Invoking guix edit}),并使用@command{guix show}查看其位置(@pxref{Invoking guix package})。"

#. type: findex
#: guix-git/doc/contributing.texi:914
#, no-wrap
msgid "search-patches"
msgstr "search-patches"

#. type: item
#: guix-git/doc/contributing.texi:915
#, no-wrap
msgid "gnu/packages/patches"
msgstr "gnu/packages/patches"

#. type: table
#: guix-git/doc/contributing.texi:918
#, fuzzy
msgid "This directory contains patches applied against packages and obtained using the @code{search-patches} procedure."
msgstr "该目录包含针对软件包应用的补丁,这些补丁是通过@code{search-patches}过程获得的。"

#. type: item
#: guix-git/doc/contributing.texi:919
#, no-wrap
msgid "gnu/services"
msgstr "gnu/services"

#. type: table
#: guix-git/doc/contributing.texi:923
#, fuzzy
msgid "This contains service definitions, primarily for Guix System (@pxref{Services}) but some of them are adapted and reused for Guix Home as we will see below.  Examples:"
msgstr "这包含服务定义,主要用于Guix系统(@pxref{Services}),但其中一些被调整并重用于Guix Home,如下所示。示例:"

#. type: item
#: guix-git/doc/contributing.texi:925
#, no-wrap
msgid "(gnu services)"
msgstr "(gnu services)"

#. type: table
#: guix-git/doc/contributing.texi:928
#, fuzzy
msgid "The service framework itself, which defines the service and service type data types (@pxref{Service Composition})."
msgstr "服务框架本身,定义服务和服务类型数据类型(@pxref{Service Composition})。"

#. type: item
#: guix-git/doc/contributing.texi:928
#, no-wrap
msgid "(gnu services base)"
msgstr "(gnu services base)"

#. type: table
#: guix-git/doc/contributing.texi:930
#, fuzzy
msgid "``Base'' services (@pxref{Base Services})."
msgstr "``基础''服务(@pxref{Base Services})。"

#. type: item
#: guix-git/doc/contributing.texi:930
#, no-wrap
msgid "(gnu services desktop)"
msgstr "(gnu services desktop)"

#. type: table
#: guix-git/doc/contributing.texi:932
#, fuzzy
msgid "``Desktop'' services (@pxref{Desktop Services})."
msgstr "桌面服务"

#. type: item
#: guix-git/doc/contributing.texi:932
#, fuzzy, no-wrap
msgid "(gnu services shepherd)"
msgstr "(gnu服务牧羊人)"

#. type: table
#: guix-git/doc/contributing.texi:934
#, fuzzy
msgid "Support for Shepherd services (@pxref{Shepherd Services})."
msgstr "对牧羊人服务的支持(@pxref{Shepherd Services})。"

#. type: table
#: guix-git/doc/contributing.texi:939
#, fuzzy
msgid "You can jump to a service definition using @command{guix system edit} and view its location with @command{guix system search} (@pxref{Invoking guix system})."
msgstr "您可以使用@command{guix system edit}跳转到服务定义,并使用@command{guix system search}查看其位置(@pxref{Invoking guix system})。"

#. type: item
#: guix-git/doc/contributing.texi:940
#, no-wrap
msgid "gnu/system"
msgstr "gnu/system"

#. type: table
#: guix-git/doc/contributing.texi:942
#, fuzzy
msgid "These are core Guix System modules, such as:"
msgstr "这些是核心Guix系统模块,例如:"

#. type: item
#: guix-git/doc/contributing.texi:944
#, no-wrap
msgid "(gnu system)"
msgstr "(gnu system)"

#. type: table
#: guix-git/doc/contributing.texi:946
#, fuzzy
msgid "Defines @code{operating-system} (@pxref{operating-system Reference})."
msgstr "定义@code{operating-system}(@pxref{operating-system Reference})。"

#. type: item
#: guix-git/doc/contributing.texi:946
#, no-wrap
msgid "(gnu system file-systems)"
msgstr "(gnu system file-systems)"

#. type: table
#: guix-git/doc/contributing.texi:948
#, fuzzy
msgid "Defines @code{file-system} (@pxref{File Systems})."
msgstr "定义@code{file-system}(@pxref{File Systems})。"

#. type: item
#: guix-git/doc/contributing.texi:948
#, no-wrap
msgid "(gnu system mapped-devices)"
msgstr "(gnu system mapped-devices)"

#. type: table
#: guix-git/doc/contributing.texi:950
#, fuzzy
msgid "Defines @code{mapped-device} (@pxref{Mapped Devices})."
msgstr "定义@code{mapped-device}(@pxref{Mapped Devices})。"

#. type: item
#: guix-git/doc/contributing.texi:952
#, no-wrap
msgid "gnu/build"
msgstr "gnu/build"

#. type: table
#: guix-git/doc/contributing.texi:956
#, fuzzy
msgid "These are modules that are either used on the ``build side'' when building operating systems or packages, or at run time by operating systems."
msgstr "这些模块要么在构建操作系统或软件包时用于``构建端'',要么在操作系统运行时使用。"

#. type: item
#: guix-git/doc/contributing.texi:958
#, no-wrap
msgid "(gnu build accounts)"
msgstr "(gnu build accounts)"

#. type: table
#: guix-git/doc/contributing.texi:961
#, fuzzy
msgid "Creating @file{/etc/passwd}, @file{/etc/shadow}, etc. (@pxref{User Accounts})."
msgstr "创建@file{/etc/passwd}、@file{/etc/shadow}等(@pxref{User Accounts})。"

#. type: item
#: guix-git/doc/contributing.texi:961
#, no-wrap
msgid "(gnu build activation)"
msgstr "(gnu build activation)"

#. type: table
#: guix-git/doc/contributing.texi:963
#, fuzzy
msgid "Activating an operating system at boot time or reconfiguration time."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/contributing.texi:963
#, no-wrap
msgid "(gnu build file-systems)"
msgstr "(gnu build file-systems)"

#. type: table
#: guix-git/doc/contributing.texi:965
#, fuzzy
msgid "Searching, checking, and mounting file systems."
msgstr "搜索、检查和挂载文件系统。"

#. type: item
#: guix-git/doc/contributing.texi:965
#, no-wrap
msgid "(gnu build linux-boot)"
msgstr "(gnu build linux-boot)"

#. type: itemx
#: guix-git/doc/contributing.texi:966
#, no-wrap
msgid "(gnu build hurd-boot)"
msgstr "(gnu build hurd-boot)"

#. type: table
#: guix-git/doc/contributing.texi:968
#, fuzzy
msgid "Booting GNU/Linux and GNU/Hurd operating systems."
msgstr "改变目录进入现有系统"

#. type: item
#: guix-git/doc/contributing.texi:968
#, no-wrap
msgid "(gnu build linux-initrd)"
msgstr "(gnu build linux-initrd)"

#. type: table
#: guix-git/doc/contributing.texi:970
#, fuzzy
msgid "Creating a Linux initial RAM disk (@pxref{Initial RAM Disk})."
msgstr "创建Linux初始RAM磁盘(@pxref{Initial RAM Disk})。"

#. type: item
#: guix-git/doc/contributing.texi:972
#, no-wrap
msgid "gnu/home"
msgstr "gnu/home"

#. type: table
#: guix-git/doc/contributing.texi:975
#, fuzzy
msgid "This contains all things Guix Home (@pxref{Home Configuration}); examples:"
msgstr "这包含所有Guix Home的内容(@pxref{Home Configuration});示例:"

#. type: item
#: guix-git/doc/contributing.texi:977
#, no-wrap
msgid "(gnu home services)"
msgstr "(gnu home services)"

#. type: table
#: guix-git/doc/contributing.texi:979
#, fuzzy
msgid "Core services such as @code{home-files-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/contributing.texi:979
#, no-wrap
msgid "(gnu home services ssh)"
msgstr "(gnu home services ssh)"

#. type: table
#: guix-git/doc/contributing.texi:981
#, fuzzy
msgid "SSH-related services (@pxref{Secure Shell})."
msgstr "与SSH相关的服务(@pxref{Secure Shell})。"

#. type: item
#: guix-git/doc/contributing.texi:983
#, no-wrap
msgid "gnu/installer"
msgstr "gnu/installer"

#. type: table
#: guix-git/doc/contributing.texi:986
#, fuzzy
msgid "This contains the text-mode graphical system installer (@pxref{Guided Graphical Installation})."
msgstr "这包含文本模式图形系统安装程序(@pxref{Guided Graphical Installation})。"

#. type: item
#: guix-git/doc/contributing.texi:987
#, no-wrap
msgid "gnu/machine"
msgstr "gnu/machine"

#. type: table
#: guix-git/doc/contributing.texi:990
#, fuzzy
msgid "These are the @dfn{machine abstractions} used by @command{guix deploy} (@pxref{Invoking guix deploy})."
msgstr "一旦安装好了,可以通过运行@command{guix pull}升级Guix(@pxref{Invoking guix pull})。"

#. type: item
#: guix-git/doc/contributing.texi:991
#, no-wrap
msgid "gnu/tests"
msgstr "gnu/tests"

#. type: table
#: guix-git/doc/contributing.texi:994
#, fuzzy
msgid "This contains system tests---tests that spawn virtual machines to check that system services work as expected (@pxref{Running the Test Suite})."
msgstr "这包含系统测试——生成虚拟机以检查系统服务是否按预期工作的测试(@pxref{Running the Test Suite})。"

#. type: Plain text
#: guix-git/doc/contributing.texi:998
#, fuzzy
msgid "Last, there's also a few directories that contain files that are @emph{not} Guile modules:"
msgstr "最后,还有一些目录包含的文件是@emph{不是} Guile模块:"

#. type: item
#: guix-git/doc/contributing.texi:1000
#, no-wrap
msgid "nix"
msgstr "nix"

#. type: table
#: guix-git/doc/contributing.texi:1003
#, fuzzy
msgid "This is the C++ implementation of @command{guix-daemon}, inherited from Nix (@pxref{Invoking guix-daemon})."
msgstr "这是@command{guix-daemon}的C++实现,继承自Nix(@pxref{Invoking guix-daemon})。"

#. type: item
#: guix-git/doc/contributing.texi:1004
#, no-wrap
msgid "tests"
msgstr "tests"

#. type: table
#: guix-git/doc/contributing.texi:1008
#, fuzzy
msgid "These are unit tests, each file corresponding more or less to one module, in particular @code{(guix @dots{})} modules (@pxref{Running the Test Suite})."
msgstr "这些是单元测试,每个文件大致对应一个模块,特别是 @code{(guix @dots{})} 模块 (@pxref{运行测试套件})。"

#. type: item
#: guix-git/doc/contributing.texi:1009
#, no-wrap
msgid "doc"
msgstr "doc"

#. type: table
#: guix-git/doc/contributing.texi:1013
#, fuzzy
msgid "This is the documentation in the form of Texinfo files: this manual and the Cookbook.  @xref{Writing a Texinfo File,,, texinfo, GNU Texinfo}, for information on Texinfo markup language."
msgstr "这是以 Texinfo 文件形式存在的文档:本手册和 Cookbook。有关 Texinfo 标记语言的信息,请参见 @xref{编写 Texinfo 文件,,, texinfo, GNU Texinfo}。"

#. type: item
#: guix-git/doc/contributing.texi:1014
#, no-wrap
msgid "po"
msgstr "po"

#. type: table
#: guix-git/doc/contributing.texi:1019
#, fuzzy
msgid "This is the location of translations of Guix itself, of package synopses and descriptions, of the manual, and of the cookbook.  Note that @file{.po} files that live here are pulled directly from Weblate (@pxref{Translating Guix})."
msgstr "这是 Guix 本身、软件包摘要和描述、手册以及 Cookbook 的翻译位置。请注意,这里存在的 @file{.po} 文件直接来自 Weblate (@pxref{翻译 Guix})。"

#. type: item
#: guix-git/doc/contributing.texi:1020
#, no-wrap
msgid "etc"
msgstr "etc"

#. type: table
#: guix-git/doc/contributing.texi:1023
#, fuzzy
msgid "Miscellaneous files: shell completions, support for systemd and other init systems, Git hooks, etc."
msgstr "杂项文件:shell 完成、对 systemd 和其他初始化系统的支持、Git 钩子等。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1030
#, fuzzy
msgid "With all this, a fair chunk of your operating system is at your fingertips! Beyond @command{grep} and @command{git grep}, @pxref{The Perfect Setup} on how to navigate code from your editor, and @pxref{Using Guix Interactively} for information on how to use Scheme modules interactively.  Enjoy!"
msgstr "有了这些,您操作系统的很大一部分就在您的指尖!除了 @command{grep} 和 @command{git grep},请参阅 @pxref{完美设置} 了解如何从编辑器导航代码,以及 @pxref{交互式使用 Guix} 以获取有关如何交互式使用 Scheme 模块的信息。祝您愉快!"

#. type: cindex
#: guix-git/doc/contributing.texi:1034
#, no-wrap
msgid "packages, creating"
msgstr "软件包, 创建"

#. type: Plain text
#: guix-git/doc/contributing.texi:1038
msgid "The GNU distribution is nascent and may well lack some of your favorite packages.  This section describes how you can help make the distribution grow."
msgstr "这个GNU发行版正在开发的早期阶段,可能缺少一些你喜欢的软件。这个章节介绍你可以怎样帮助这个发行版成长。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1046
msgid "Free software packages are usually distributed in the form of @dfn{source code tarballs}---typically @file{tar.gz} files that contain all the source files.  Adding a package to the distribution means essentially two things: adding a @dfn{recipe} that describes how to build the package, including a list of other packages required to build it, and adding @dfn{package metadata} along with that recipe, such as a description and licensing information."
msgstr "自由软件通常以@dfn{源代码包}的形式分发,通常是包含完整代码的@file{tar.gz}包。添加软件包到这个发行版意味着两件事:添加描述如何构建包的@dfn{配方}和一系列依赖软件,以及添加配方之外的@dfn{软件包元数据},如一段文字描述和证书信息。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1055
msgid "In Guix all this information is embodied in @dfn{package definitions}.  Package definitions provide a high-level view of the package.  They are written using the syntax of the Scheme programming language; in fact, for each package we define a variable bound to the package definition, and export that variable from a module (@pxref{Package Modules}).  However, in-depth Scheme knowledge is @emph{not} a prerequisite for creating packages.  For more information on package definitions, @pxref{Defining Packages}."
msgstr "在Guix里所有这些信息都包含在@dfn{软件包定义}里。软件包定义提供了软件包的高层视角。它们使用Scheme编程语言编写,事实上,对每个软件包我们都定义一个绑定到软件包定义的的变量,并且从模块(@pxref{Package Modules})中导出那个变量。然而,深入的Scheme知识@emph{不}是创建软件包的前提条件。若要了解软件包的更多信息,@pxref{Defining Packages}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1061
msgid "Once a package definition is in place, stored in a file in the Guix source tree, it can be tested using the @command{guix build} command (@pxref{Invoking guix build}).  For example, assuming the new package is called @code{gnew}, you may run this command from the Guix build tree (@pxref{Running Guix Before It Is Installed}):"
msgstr "一旦软件包定义准备好了,并且包存在Guix代码树的一个文件里,你可以用@command{guix build} (@pxref{Invoking guix build})命令测试它。假设这个新软件包的名字叫做@code{gnew},你可以在Guix构建树里运行这个命令(@pxref{Running Guix Before It Is Installed}):"

#. type: example
#: guix-git/doc/contributing.texi:1064
#, no-wrap
msgid "./pre-inst-env guix build gnew --keep-failed\n"
msgstr "./pre-inst-env guix build gnew --keep-failed\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:1070
msgid "Using @code{--keep-failed} makes it easier to debug build failures since it provides access to the failed build tree.  Another useful command-line option when debugging is @code{--log-file}, to access the build log."
msgstr "使用@code{--keep-failed}参数会保留失败的构建树,这可以使调试构建错误更容易。@code{--log-file}也是一个调试时很有用的参数,它可以用来访问构建日志。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1075
msgid "If the package is unknown to the @command{guix} command, it may be that the source file contains a syntax error, or lacks a @code{define-public} clause to export the package variable.  To figure it out, you may load the module from Guile to get more information about the actual error:"
msgstr "如果@command{guix}命令找不到这个软件包,那可能是因为源文件包含语法错误,或者缺少导出软件包的@code{define-public}语句。为了查找错误,你可以用Guile导入这个模块以了解这个错误的详情:"

#. type: example
#: guix-git/doc/contributing.texi:1078
#, no-wrap
msgid "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n"
msgstr "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:1085
msgid "Once your package builds correctly, please send us a patch (@pxref{Submitting Patches}).  Well, if you need help, we will be happy to help you too.  Once the patch is committed in the Guix repository, the new package automatically gets built on the supported platforms by @url{https://@value{SUBSTITUTE-SERVER-1}, our continuous integration system}."
msgstr "一旦你的软件包可以正确构建,请给我们发送补丁(@pxref{Submitting Patches})。当然,如果你需要帮助,我们也会很乐意帮助你。一旦补丁被提交到 Guix 仓库里,这个新的软件包会由@url{https://@value{SUBSTITUTE-SERVER-1}, our continuous integration system}自动地在支持的平台上构建。"

#. type: cindex
#: guix-git/doc/contributing.texi:1086
#, no-wrap
msgid "substituter"
msgstr "substitutes"

#. type: Plain text
#: guix-git/doc/contributing.texi:1093
#, fuzzy
msgid "Users can obtain the new package definition simply by running @command{guix pull} (@pxref{Invoking guix pull}).  When @code{@value{SUBSTITUTE-SERVER-1}} is done building the package, installing the package automatically downloads binaries from there (@pxref{Substitutes}).  The only place where human intervention is needed is to review and apply the patch."
msgstr "用户可以通过运行@command{guix pull}命令获取最新的软件包定义(@pxref{Invoking guix pull})。当@code{@value{SUBSTITUTE-SERVER}}构建好这些软件包之后,安装这些软件包时会自动从服务器(@pxref{Substitutes})上下载构建好的二进制包。唯一需要人工干预的地方是评审和应用代码补丁。"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1111
#: guix-git/doc/contributing.texi:1112
#, no-wrap
msgid "Software Freedom"
msgstr "软件自由"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "What may go into the distribution."
msgstr "什么可以进入这个发行版。"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1139
#: guix-git/doc/contributing.texi:1140
#, no-wrap
msgid "Package Naming"
msgstr "软件包命名"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "What's in a name?"
msgstr "名字里包含什么?"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1172
#: guix-git/doc/contributing.texi:1173
#, no-wrap
msgid "Version Numbers"
msgstr "版本号"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "When the name is not enough."
msgstr "当名字不够时。"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1279
#: guix-git/doc/contributing.texi:1280
#, no-wrap
msgid "Synopses and Descriptions"
msgstr "简介和描述"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "Helping users find the right package."
msgstr "帮助用户寻找合适的软件包。"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1358
#: guix-git/doc/contributing.texi:1359
#, no-wrap
msgid "Snippets versus Phases"
msgstr "原始片段 vs. 构建阶段"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "Whether to use a snippet, or a build phase."
msgstr "用片段,还是用构建阶段。"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1373
#: guix-git/doc/contributing.texi:1374
#, fuzzy, no-wrap
msgid "Cyclic Module Dependencies"
msgstr "指定依赖"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
#, fuzzy
msgid "Going full circle."
msgstr "回归原点。"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1428
#: guix-git/doc/contributing.texi:1429 guix-git/doc/guix.texi:1906
#, no-wrap
msgid "Emacs Packages"
msgstr "Emacs 包"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "Your Elisp fix."
msgstr "你的 Elisp 补丁。"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1468
#: guix-git/doc/contributing.texi:1469
#, no-wrap
msgid "Python Modules"
msgstr "Python模块"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "A touch of British comedy."
msgstr "一点英式喜剧。"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1563
#: guix-git/doc/contributing.texi:1564
#, no-wrap
msgid "Perl Modules"
msgstr "Perl模块"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "Little pearls."
msgstr "小珍珠。"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1579
#: guix-git/doc/contributing.texi:1580
#, no-wrap
msgid "Java Packages"
msgstr "Java包"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "Coffee break."
msgstr "喝咖啡休息。"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1599
#: guix-git/doc/contributing.texi:1600
#, no-wrap
msgid "Rust Crates"
msgstr "Rust Crates"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "Beware of oxidation."
msgstr "谨防氧化。"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1633
#: guix-git/doc/contributing.texi:1634
#, no-wrap
msgid "Elm Packages"
msgstr "Elm包"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "Trees of browser code"
msgstr "树状浏览器代码"

#. type: subsection
#: guix-git/doc/contributing.texi:1109 guix-git/doc/contributing.texi:1714
#: guix-git/doc/contributing.texi:1715
#, no-wrap
msgid "Fonts"
msgstr "字体"

#. type: menuentry
#: guix-git/doc/contributing.texi:1109
msgid "Fond of fonts."
msgstr "字体的乐趣。"

#. type: cindex
#: guix-git/doc/contributing.texi:1115
#, no-wrap
msgid "free software"
msgstr "自由软件"

#. type: Plain text
#: guix-git/doc/contributing.texi:1123
msgid "The GNU operating system has been developed so that users can have freedom in their computing.  GNU is @dfn{free software}, meaning that users have the @url{https://www.gnu.org/philosophy/free-sw.html,four essential freedoms}: to run the program, to study and change the program in source code form, to redistribute exact copies, and to distribute modified versions.  Packages found in the GNU distribution provide only software that conveys these four freedoms."
msgstr "开发 GNU 操作系统是为了用户拥有计算的自由。GNU是@dfn{自由软件},这意味着它有@url{https://www.gnu.org/philosophy/free-sw.html,四项重要的自由}:运行程序的自由,以源代码形式学习和修改程序的自由,原样重新分发副本的自由,和分发修改后的版本的自由。GNU 发行版里包含的软件包只提供遵守这四项自由的软件。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1129
msgid "In addition, the GNU distribution follow the @url{https://www.gnu.org/distros/free-system-distribution-guidelines.html,free software distribution guidelines}.  Among other things, these guidelines reject non-free firmware, recommendations of non-free software, and discuss ways to deal with trademarks and patents."
msgstr "此外,GNU 发行版遵循@url{https://www.gnu.org/distros/free-system-distribution-guidelines.html,自由软件发行版准则}。这些准则拒绝非自由的固件和对非自由软件的推荐,并讨论解决商标和专利的方法。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1137
msgid "Some otherwise free upstream package sources contain a small and optional subset that violates the above guidelines, for instance because this subset is itself non-free code.  When that happens, the offending items are removed with appropriate patches or code snippets in the @code{origin} form of the package (@pxref{Defining Packages}).  This way, @code{guix build --source} returns the ``freed'' source rather than the unmodified upstream source."
msgstr "某些上游的软件包源代码包含一小部分违反上述准则的可选的子集,比如这个子集本身就是非自由代码。这时,这些讨厌的代码需要用合适的补丁或者软件包定义(@pxref{Defining Packages})里的@code{origin}里的代码片段移除。这样,@code{guix build --source}就可以返回自由的源代码而不是未经修改的上游源代码。"

#. type: cindex
#: guix-git/doc/contributing.texi:1142
#, no-wrap
msgid "package name"
msgstr "软件包名字"

#. type: Plain text
#: guix-git/doc/contributing.texi:1150
msgid "A package actually has two names associated with it.  First, there is the name of the @emph{Scheme variable}, the one following @code{define-public}.  By this name, the package can be made known in the Scheme code, for instance as input to another package.  Second, there is the string in the @code{name} field of a package definition.  This name is used by package management commands such as @command{guix package} and @command{guix build}."
msgstr "一个软件包事实上有两个名字:第一个是@emph{Scheme变量}的名字,即用@code{define-public}定义的名字。通过这个名字,软件包可以被Scheme代码找到,如用作其它软件包的输入。第二个名字是软件包定义里的@code{name}属性的字符串值。这个名字用于软件包管理命令,如:@command{guix package},@command{guix build}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1155
msgid "Both are usually the same and correspond to the lowercase conversion of the project name chosen upstream, with underscores replaced with hyphens.  For instance, GNUnet is available as @code{gnunet}, and SDL_net as @code{sdl-net}."
msgstr "两个名字通常是相同的,常是上游项目名字转成小写字母并把下划线替换成连字符的结果。比如,GNUnet转成@code{gnunet},SDL_net转成@code{sdl-net}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1163
msgid "A noteworthy exception to this rule is when the project name is only a single character, or if an older maintained project with the same name already exists---regardless of whether it has already been packaged for Guix.  Use common sense to make such names unambiguous and meaningful.  For example, Guix's package for the shell called ``s'' upstream is @code{s-shell} and @emph{not} @code{s}.  Feel free to ask your fellow hackers for inspiration."
msgstr "这条规则有一个值得注意的例外,那就是当工程名只有一个字符,或与它同名的一个旧工程已经存在——不论是否已经被打为 Guix 包。你应该动用常识来让这些名字无歧义且有意义。比如说,上游称为 ``s'' 的 shell 程序在 Guix 中称为 @code{s-shell} 而 @emph{不是} @code{s}。你可以随便问问你的黑客伙计们来获得一些启发。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1168
msgid "We do not add @code{lib} prefixes for library packages, unless these are already part of the official project name.  But @pxref{Python Modules} and @ref{Perl Modules} for special rules concerning modules for the Python and Perl languages."
msgstr "我们不给库软件包添加@code{lib}前缀,除非它是项目官方名字的一部分。但是@pxref{Python Modules}和@ref{Perl Modules}有关于Python和Perl语言的特殊规则。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1170
msgid "Font package names are handled differently, @pxref{Fonts}."
msgstr "字体软件包的名字处理起来不同,@pxref{Fonts}."

#. type: cindex
#: guix-git/doc/contributing.texi:1175
#, no-wrap
msgid "package version"
msgstr "软件包版本"

#. type: Plain text
#: guix-git/doc/contributing.texi:1184
msgid "We usually package only the latest version of a given free software project.  But sometimes, for instance for incompatible library versions, two (or more) versions of the same package are needed.  These require different Scheme variable names.  We use the name as defined in @ref{Package Naming} for the most recent version; previous versions use the same name, suffixed by @code{-} and the smallest prefix of the version number that may distinguish the two versions."
msgstr "我们通常只为每个自由软件的最新版本打包。但是有时候,比如对于版本不兼容的库,需要有同一个软件包的两个或更多版本。它们需要使用不同的Scheme变量名。我们为最新的版本使用@ref{Package Naming}里规定的名字,旧的版本使用加上后缀的名字,后缀是@code{-}和可以区分开版本号的版本号的最小前缀。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1187
msgid "The name inside the package definition is the same for all versions of a package and does not contain any version number."
msgstr "软件包定义里的名字对于同一个软件包的所有版本都是相同的,并且不含有版本号。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1189
msgid "For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged as follows:"
msgstr "例如,GTK+的2.24.20和3.9.12两个版本可以这样打包:"

#. type: lisp
#: guix-git/doc/contributing.texi:1201
#, no-wrap
msgid ""
"(define-public gtk+\n"
"  (package\n"
"    (name \"gtk+\")\n"
"    (version \"3.9.12\")\n"
"    ...))\n"
"(define-public gtk+-2\n"
"  (package\n"
"    (name \"gtk+\")\n"
"    (version \"2.24.20\")\n"
"    ...))\n"
msgstr ""
"(define-public gtk+\n"
"  (package\n"
"    (name \"gtk+\")\n"
"    (version \"3.9.12\")\n"
"    ...))\n"
"(define-public gtk+-2\n"
"  (package\n"
"    (name \"gtk+\")\n"
"    (version \"2.24.20\")\n"
"    ...))\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:1203
msgid "If we also wanted GTK+ 3.8.2, this would be packaged as"
msgstr "如果我们还需要GTK+ 3.8.2,就这样打包"

#. type: lisp
#: guix-git/doc/contributing.texi:1209
#, no-wrap
msgid ""
"(define-public gtk+-3.8\n"
"  (package\n"
"    (name \"gtk+\")\n"
"    (version \"3.8.2\")\n"
"    ...))\n"
msgstr ""
"(define-public gtk+-3.8\n"
"  (package\n"
"    (name \"gtk+\")\n"
"    (version \"3.8.2\")\n"
"    ...))\n"

#. type: cindex
#: guix-git/doc/contributing.texi:1213
#, no-wrap
msgid "version number, for VCS snapshots"
msgstr "用于版本控制快照的版本号"

#. type: Plain text
#: guix-git/doc/contributing.texi:1219
msgid "Occasionally, we package snapshots of upstream's version control system (VCS) instead of formal releases.  This should remain exceptional, because it is up to upstream developers to clarify what the stable release is.  Yet, it is sometimes necessary.  So, what should we put in the @code{version} field?"
msgstr "有时候,我们为软件包上游的版本控制系统(VCS)的快照而不是正式发布版打包。这是特殊情况,因为决定哪个是稳定版的权力应该属于上游开发者。然而,有时候这是必须的。那么,我们该如何决定写在@code{version}里的版本号呢?"

#. type: Plain text
#: guix-git/doc/contributing.texi:1227
msgid "Clearly, we need to make the commit identifier of the VCS snapshot visible in the version string, but we also need to make sure that the version string is monotonically increasing so that @command{guix package --upgrade} can determine which version is newer.  Since commit identifiers, notably with Git, are not monotonically increasing, we add a revision number that we increase each time we upgrade to a newer snapshot.  The resulting version string looks like this:"
msgstr "显然,我们需要让VCS快照的commit ID在版本号中体现出来,但是我们也需要确保版本号单调递增,以便@command{guix package --upgrade}决定哪个版本号更新。由于commit ID,尤其是Git的commit ID,不是单调递增的,我们添加一个每次升级快照时都手动增长的revision数字。最后的版本号字符串看起来是这样:"

#. type: example
#: guix-git/doc/contributing.texi:1236
#, no-wrap
msgid ""
"2.0.11-3.cabba9e\n"
"  ^    ^    ^\n"
"  |    |    `-- upstream commit ID\n"
"  |    |\n"
"  |    `--- Guix package revision\n"
"  |\n"
"latest upstream version\n"
msgstr ""
"2.0.11-3.cabba9e\n"
"  ^    ^    ^\n"
"  |    |    `-- 上游的commit ID\n"
"  |    |\n"
"  |    `--- Guix软件包的revision\n"
"  |\n"
"最新的上游版本号\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:1246
msgid "It is a good idea to strip commit identifiers in the @code{version} field to, say, 7 digits.  It avoids an aesthetic annoyance (assuming aesthetics have a role to play here) as well as problems related to OS limits such as the maximum shebang length (127 bytes for the Linux kernel).  There are helper functions for doing this for packages using @code{git-fetch} or @code{hg-fetch} (see below).  It is best to use the full commit identifiers in @code{origin}s, though, to avoid ambiguities.  A typical package definition may look like this:"
msgstr "把@code{版本号}里的commit ID截短,比如只取7个数字,是一个好主意。它避免了美学上的烦恼(假设美学在这里很重要),以及操作系统限制引起的问题(比如Linux内核的127字节)。尽管如此,在@code{origin}里最好使用完整的commit ID,以避免混淆。通常一个软件包应该看起来是下面这样:"

#. type: lisp
#: guix-git/doc/contributing.texi:1263
#, no-wrap
msgid ""
"(define my-package\n"
"  (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n"
"        (revision \"1\"))          ;Guix package revision\n"
"    (package\n"
"      (version (git-version \"0.9\" revision commit))\n"
"      (source (origin\n"
"                (method git-fetch)\n"
"                (uri (git-reference\n"
"                      (url \"git://example.org/my-package.git\")\n"
"                      (commit commit)))\n"
"                (sha256 (base32 \"1mbikn@dots{}\"))\n"
"                (file-name (git-file-name name version))))\n"
"      ;; @dots{}\n"
"      )))\n"
msgstr ""
"(define my-package\n"
"  (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n"
"        (revision \"1\"))          ;Guix软件包的revision\n"
"    (package\n"
"      (version (git-version \"0.9\" revision commit))\n"
"      (source (origin\n"
"                (method git-fetch)\n"
"                (uri (git-reference\n"
"                      (url \"git://example.org/my-package.git\")\n"
"                      (commit commit)))\n"
"                (sha256 (base32 \"1mbikn@dots{}\"))\n"
"                (file-name (git-file-name name version))))\n"
"      ;; @dots{}\n"
"      )))\n"

#. type: deffn
#: guix-git/doc/contributing.texi:1265
#, no-wrap
msgid "{Procedure} git-version @var{VERSION} @var{REVISION} @var{COMMIT}"
msgstr "{过程} git-version @var{VERSION} @var{REVISION} @var{COMMIT}"

#. type: deffn
#: guix-git/doc/contributing.texi:1267
msgid "Return the version string for packages using @code{git-fetch}."
msgstr "返回包的版本字符串,利用 @code{git-fetch}。"

#. type: lisp
#: guix-git/doc/contributing.texi:1271
#, no-wrap
msgid ""
"(git-version \"0.2.3\" \"0\" \"93818c936ee7e2f1ba1b315578bde363a7d43d05\")\n"
"@result{} \"0.2.3-0.93818c9\"\n"
msgstr ""
"(git-version \"0.2.3\" \"0\" \"93818c936ee7e2f1ba1b315578bde363a7d43d05\")\n"
"@result{} \"0.2.3-0.93818c9\"\n"

#. type: deffn
#: guix-git/doc/contributing.texi:1274
#, no-wrap
msgid "{Procedure} hg-version @var{VERSION} @var{REVISION} @var{CHANGESET}"
msgstr "{过程} hg-version @var{VERSION} @var{REVISION} @var{CHANGESET}"

#. type: deffn
#: guix-git/doc/contributing.texi:1277
msgid "Return the version string for packages using @code{hg-fetch}.  It works in the same way as @code{git-version}."
msgstr "返回包的版本字符串,利用  @code{hg-fetch},就像 @code{git-version} 那样。"

#. type: cindex
#: guix-git/doc/contributing.texi:1282
#, no-wrap
msgid "package description"
msgstr "软件包描述"

#. type: cindex
#: guix-git/doc/contributing.texi:1283
#, no-wrap
msgid "package synopsis"
msgstr "软件包简介"

#. type: Plain text
#: guix-git/doc/contributing.texi:1290
msgid "As we have seen before, each package in GNU@tie{}Guix includes a synopsis and a description (@pxref{Defining Packages}).  Synopses and descriptions are important: They are what @command{guix package --search} searches, and a crucial piece of information to help users determine whether a given package suits their needs.  Consequently, packagers should pay attention to what goes into them."
msgstr "我们已经看到,GNU@tie{}Guix里的每个软件包都包含一个简介(synopsis)和一个描述(description)(@pxref{Defining Packages})。简介和描述很重要:它们是@command{guix package --search}搜索的信息,并且是帮助用户决定一个软件包是否符合自己需求的重要信息。因此,打包的人应该关注怎样写它们的内容。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1298
msgid "Synopses must start with a capital letter and must not end with a period.  They must not start with ``a'' or ``the'', which usually does not bring anything; for instance, prefer ``File-frobbing tool'' over ``A tool that frobs files''.  The synopsis should say what the package is---e.g., ``Core GNU utilities (file, text, shell)''---or what it is used for---e.g., the synopsis for GNU@tie{}grep is ``Print lines matching a pattern''."
msgstr "简介必须以大写字母开头,并且不能以句号结尾。它们不能以 ``a'' 或者 ``the'' 等没有意义的词开头。例如 ``File-frobbing tool'' 要比 ``A tool that frobs files'' 更好。简介需要说明软件包是什么--如 ``Core GNU utilities (file, text, shell)'',或者它的用途--如 GNU@tie{}grep 的简介是 ``Print lines matching a pattern''。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1308
msgid "Keep in mind that the synopsis must be meaningful for a very wide audience.  For example, ``Manipulate alignments in the SAM format'' might make sense for a seasoned bioinformatics researcher, but might be fairly unhelpful or even misleading to a non-specialized audience.  It is a good idea to come up with a synopsis that gives an idea of the application domain of the package.  In this example, this might give something like ``Manipulate nucleotide sequence alignments'', which hopefully gives the user a better idea of whether this is what they are looking for."
msgstr "记住,简介必须能被广大的听众理解。例如,“以SAM格式修改对齐”可能对经验丰富的生物信息科研工作者来说能理解,但是对普通对听众则是无用的甚至是令人误解的。简介最好说明软件包应用的领域。在这个例子中,应该这样描述“修改核苷酸序列的对齐格式”,这会让用户更容易判断这是不是他们想要的。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1316
msgid "Descriptions should take between five and ten lines.  Use full sentences, and avoid using acronyms without first introducing them.  Please avoid marketing phrases such as ``world-leading'', ``industrial-strength'', and ``next-generation'', and avoid superlatives like ``the most advanced''---they are not helpful to users looking for a package and may even sound suspicious.  Instead, try to be factual, mentioning use cases and features."
msgstr "描述应该在5至10句话之间。使用完整的句子,并且避免在未介绍的情况下使用缩写。请避免推广营销性对词汇,如“世界领先”,“行业最强”,“下一代”,并且避免高级的形容词,如“最先进的”--他们对用户寻找软件包是无用的,甚至是可疑的。相反的,尽量务实,提及用例和功能。"

#. type: cindex
#: guix-git/doc/contributing.texi:1317
#, no-wrap
msgid "Texinfo markup, in package descriptions"
msgstr "软件包描述里的Texinfo标记"

#. type: Plain text
#: guix-git/doc/contributing.texi:1326
#, fuzzy
msgid "Descriptions can include Texinfo markup, which is useful to introduce ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, or hyperlinks (@pxref{Overview,,, texinfo, GNU Texinfo}).  However you should be careful when using some characters for example @samp{@@} and curly braces which are the basic special characters in Texinfo (@pxref{Special Characters,,, texinfo, GNU Texinfo}).  User interfaces such as @command{guix show} take care of rendering it appropriately."
msgstr "描述可以含有Texinfo标记,这对格式化有帮助,如@code{@@code}、@code{@@dfn}、列表、超链接(@pxref{Overview,,, texinfo, GNU Texinfo})。但是,在使用某些字符时应该小心,如@samp{@@}和花括号是基本的Texinfo特殊字符(@pxref{Special Characters,,, texinfo, GNU Texinfo})。@command{guix package --show}之类的用户界面会解决渲染问题。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1332
#, fuzzy
msgid "Synopses and descriptions are translated by volunteers @uref{https://translate.fedoraproject.org/projects/guix/packages, at Weblate} so that as many users as possible can read them in their native language.  User interfaces search them and display them in the language specified by the current locale."
msgstr "简介和描述会由@uref{http://translationproject.org/domain/guix-packages.html, Translation Project}项目的志愿者翻译,从而使尽可能多的用户可以用母语阅读。用户界面用当前区域设置的语言搜索和展示这些信息。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1337
msgid "To allow @command{xgettext} to extract them as translatable strings, synopses and descriptions @emph{must be literal strings}.  This means that you cannot use @code{string-append} or @code{format} to construct these strings:"
msgstr "为了让@command{xgettext}可以把它们提取成待翻译的字符串,简介和描述@emph{必须是文字字符串}。这意味着你不能使用@code{string-append}或@code{format}来合成字符串:"

#. type: lisp
#: guix-git/doc/contributing.texi:1343
#, no-wrap
msgid ""
"(package\n"
"  ;; @dots{}\n"
"  (synopsis \"This is translatable\")\n"
"  (description (string-append \"This is \" \"*not*\" \" translatable.\")))\n"
msgstr ""
"(package\n"
"  ;; @dots{}\n"
"  (synopsis \"这是可以翻译的\")\n"
"  (description (string-append \"这是\" \"*不可以*\" \"翻译的\")))\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:1351
msgid "Translation is a lot of work so, as a packager, please pay even more attention to your synopses and descriptions as every change may entail additional work for translators.  In order to help them, it is possible to make recommendations or instructions visible to them by inserting special comments like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):"
msgstr "翻译是很繁重的工作,所以,作为打包者请更加注意你的简介和介绍,每一个改动都会增加翻译的工作量。为了帮助他们,你可以插入这类可以被他们看到的建议和指示(@pxref{xgettext Invocation,,, gettext, GNU Gettext}):"

#. type: lisp
#: guix-git/doc/contributing.texi:1356
#, no-wrap
msgid ""
";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n"
"(description \"ARandR is designed to provide a simple visual front end\n"
"for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n"
msgstr ""
";; TRANSLATORS: \"X11 resize-and-rotate\"不需要翻译。\n"
"(description \"ARandR为X11 resize-and-rotate (RandR)扩展提供简单的图形界面。@dots{}\")\n"

#. type: cindex
#: guix-git/doc/contributing.texi:1361
#, no-wrap
msgid "snippets, when to use"
msgstr "何时使用片段"

#. type: Plain text
#: guix-git/doc/contributing.texi:1372
msgid "The boundary between using an origin snippet versus a build phase to modify the sources of a package can be elusive.  Origin snippets are typically used to remove unwanted files such as bundled libraries, nonfree sources, or to apply simple substitutions.  The source derived from an origin should produce a source that can be used to build the package on any system that the upstream package supports (i.e., act as the corresponding source).  In particular, origin snippets must not embed store items in the sources; such patching should rather be done using build phases.  Refer to the @code{origin} record documentation for more information (@pxref{origin Reference})."
msgstr "原始片段和构建阶段的边界比较难以理解。原始片段通常用来移除不想要的文件,比如捆绑的库,非自由源,或者用于应用简单的替换。从原始源迭代出的源应该在上游包支持的系统上都能成功构建包(就是说,像对应的原始源那样动作)。尤其是,原始片段一定不能内嵌有 store 中的项目;这样的补丁更应该在构建阶段完成。参考@code{origin} 记录文档获取更多信息 (@pxref{origin Reference})。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1380
#, fuzzy
msgid "While there cannot be circular dependencies between packages, Guile's lax module loading mechanism allows circular dependencies between Guile modules, which doesn't cause problems as long as the following conditions are followed for two modules part of a dependency cycle:"
msgstr "虽然软件包之间不能存在循环依赖,但 Guile 的宽松模块加载机制允许 Guile 模块之间存在循环依赖,只要遵循以下条件,这不会造成问题:"

#. type: cindex
#: guix-git/doc/contributing.texi:1381
#, fuzzy, no-wrap
msgid "rules to cope with circular module dependencies"
msgstr "应对循环模块依赖的规则"

#. type: enumerate
#: guix-git/doc/contributing.texi:1385
#, fuzzy
msgid "Macros are not shared between the co-dependent modules"
msgstr "宏在共同依赖的模块之间不共享"

#. type: enumerate
#: guix-git/doc/contributing.texi:1389
#, fuzzy
msgid "Top-level variables are only referenced in delayed (@i{thunked}) package fields: @code{arguments}, @code{native-inputs}, @code{inputs}, @code{propagated-inputs} or @code{replacement}"
msgstr "顶级变量仅在延迟(@i{thunked})的包字段中引用:@code{arguments}、@code{native-inputs}、@code{inputs}、@code{propagated-inputs} 或 @code{replacement}"

#. type: enumerate
#: guix-git/doc/contributing.texi:1392
#, fuzzy
msgid "Procedures referencing top-level variables from another module are not called at the top level of a module themselves."
msgstr "引用来自另一个模块的顶级变量的过程不会在模块的顶层调用。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1398
#, fuzzy
msgid "Straying away from the above rules may work while there are no dependency cycles between modules, but given such cycles are confusing and difficult to troubleshoot, it is best to follow the rules to avoid introducing problems down the line."
msgstr "偏离上述规则可能在模块之间没有依赖循环时有效,但考虑到这样的循环令人困惑且难以排除故障,最好遵循这些规则以避免在后续引入问题。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1401
msgid "Here is a common trap to avoid:"
msgstr "这是一个需要避免的常见问题:"

#. type: lisp
#: guix-git/doc/contributing.texi:1407
#, fuzzy, no-wrap
msgid ""
"(define-public avr-binutils\n"
"  (package\n"
"    (inherit (cross-binutils \"avr\"))\n"
"    (name \"avr-binutils\")))\n"
msgstr ""
"(define-public avr-binutils\n"
"  (package\n"
"    (inherit (cross-binutils \"avr\"))\n"
"    (name \"avr-binutils\")))\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:1416
#, fuzzy
msgid "In the above example, the @code{avr-binutils} package was defined in the module @code{(gnu packages avr)}, and the @code{cross-binutils} procedure in @code{(gnu packages cross-base)}.  Because the @code{inherit} field is not delayed (thunked), it is evaluated at the top level at load time, which is problematic in the presence of module dependency cycles.  This could be resolved by turning the package into a procedure instead, like:"
msgstr "在上述示例中,@code{avr-binutils} 包是在模块 @code{(gnu packages avr)} 中定义的,而 @code{cross-binutils} 过程在 @code{(gnu packages cross-base)} 中定义。由于 @code{inherit} 字段不是延迟(thunked)的,因此在加载时在顶层进行评估,这在存在模块依赖循环时是有问题的。可以通过将包转换为过程来解决此问题,例如:"

#. type: lisp
#: guix-git/doc/contributing.texi:1422
#, fuzzy, no-wrap
msgid ""
"(define (make-avr-binutils)\n"
"  (package\n"
"    (inherit (cross-binutils \"avr\"))\n"
"    (name \"avr-binutils\")))\n"
msgstr ""
"(定义 (make-avr-binutils)\n"
"  (包\n"
"    (继承 (cross-binutils \"avr\"))\n"
"    (名称 \"avr-binutils\")))\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:1427
#, fuzzy
msgid "Care would need to be taken to ensure the above procedure is only ever used in a package delayed fields or within another procedure also not called at the top level."
msgstr "需要谨慎确保上述程序仅在包延迟字段中或在另一个也未在顶层调用的程序中使用。"

#. type: cindex
#: guix-git/doc/contributing.texi:1431
#, no-wrap
msgid "emacs, packaging"
msgstr "emacs,打包"

#. type: cindex
#: guix-git/doc/contributing.texi:1432
#, no-wrap
msgid "elisp, packaging"
msgstr "elisp,打包"

#. type: Plain text
#: guix-git/doc/contributing.texi:1444
msgid "Emacs packages should preferably use the Emacs build system (@pxref{emacs-build-system}), for uniformity and the benefits provided by its build phases, such as the auto-generation of the autoloads file and the byte compilation of the sources.  Because there is no standardized way to run a test suite for Emacs packages, tests are disabled by default.  When a test suite is available, it should be enabled by setting the @code{#:tests?} argument to @code{#true}.  By default, the command to run the test is @command{make check}, but any command can be specified via the @code{#:test-command} argument.  The @code{#:test-command} argument expects a list containing a command and its arguments, to be invoked during the @code{check} phase."
msgstr "为统一化以及享受构建阶段的方便,比如自动生成 autoloads 文件、字节编译源文件,Emacs 包应该选择 Emacs 构建系统(@pxref{emacs-build-system})。由于没有标准化的方法运行Emacs包的测试用例,测试默认是禁用的。当一个测试用例可用时,可以通过设置 @code{#:tests?} 参数为 @code{#true} 启用。默认条件下,运行测试的命令是 @command{make check},不过其它的命令也可以用 @code{#:test-command} 参数指定。参数 @code{#:test-command} 应当由包含命令和命令参数的列表,并在 @code{check} 阶段调用。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1449
msgid "The Elisp dependencies of Emacs packages are typically provided as @code{propagated-inputs} when required at run time.  As for other packages, build or test dependencies should be specified as @code{native-inputs}."
msgstr "Emacs包的Elisp依赖项通常在运行时需要时作为 @code{propagated-inputs} 提供。 对于其他包,构建或测试依赖项应指定为@code{native-inputs}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1458
msgid "Emacs packages sometimes depend on resources directories that should be installed along the Elisp files.  The @code{#:include} argument can be used for that purpose, by specifying a list of regexps to match.  The best practice when using the @code{#:include} argument is to extend rather than override its default value (accessible via the @code{%default-include} variable).  As an example, a yasnippet extension package typically include a @file{snippets} directory, which could be copied to the installation directory using:"
msgstr "Emacs包有时依赖于应与Elisp文件一并安装的资源目录。 @code{#:include} 参数可用于此目的,方法是指定要匹配的正则表达式列表。 使用 @code{#:include} 参数时的最佳实践是扩展而不是覆盖它的默认值(可通过@code{%default-include} 变量访问)。 例如,yasnippet 扩展包通常包含一个 @file{snippets} 目录,可以使用以下命令将其复制到安装目录:"

#. type: lisp
#: guix-git/doc/contributing.texi:1461
#, no-wrap
msgid "#:include (cons \"^snippets/\" %default-include)\n"
msgstr "#:include (cons \"^snippets/\" %default-include)\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:1467
msgid "When encountering problems, it is wise to check for the presence of the @code{Package-Requires} extension header in the package main source file, and whether any dependencies and their versions listed therein are satisfied."
msgstr "当遇到问题时,明智的做法是检查包主要源文件中是否存在 @code{Package-Requires} 扩展标头,以及是否满足其中列出的任何依赖项及其版本。"

#. type: cindex
#: guix-git/doc/contributing.texi:1471
#, no-wrap
msgid "python"
msgstr "python"

#. type: Plain text
#: guix-git/doc/contributing.texi:1477
msgid "We currently package Python 2 and Python 3, under the Scheme variable names @code{python-2} and @code{python} as explained in @ref{Version Numbers}.  To avoid confusion and naming clashes with other programming languages, it seems desirable that the name of a package for a Python module contains the word @code{python}."
msgstr "我们目前为Python 2和Python 3打包,如@ref{Version Numbers}的规则所述,它们的Scheme变量名分别是@code{python-2}和@code{python}。为了避免和其他编程语言的冲突,Python模块的软件包名字最好含有@code{python}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1483
#, fuzzy
msgid "Some modules are compatible with only one version of Python, others with both.  If the package Foo is compiled with Python 3, we name it @code{python-foo}.  If it is compiled with Python 2, we name it @code{python2-foo}.  Python 2 packages are being removed from the distribution; please do no not submit any new Python 2 packages."
msgstr "某些模块仅和一个版本的Python兼容,而某些模块和两个版本都兼容。如果一个叫做Foo的软件包仅和Python 3兼容,我们把它命名为@code{python-foo};如果它仅和Python 2兼容,我们把它命名为@code{python2-foo}。只有当需要时,我们才会添加它的Python 2变体。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1489
msgid "If a project already contains the word @code{python}, we drop this; for instance, the module python-dateutil is packaged under the names @code{python-dateutil} and @code{python2-dateutil}.  If the project name starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as described above."
msgstr "如果一个项目的名字已经含有@code{python}这个单词,我们把它丢掉;例如,python-dateutil模块打包后的名字是@code{python-dateutil}和@code{python2-dateutil}。如果项目的名字以@code{py}开头(如@: @code{pytz}),我们把它保留,并且添加上面所述的前缀。"

#. type: quotation
#: guix-git/doc/contributing.texi:1503
msgid "Currently there are two different build systems for Python packages in Guix: @var{python-build-system} and @var{pyproject-build-system}.  For the longest time, Python packages were built from an informally specified @file{setup.py} file.  That worked amazingly well, considering Python's success, but was difficult to build tooling around.  As a result, a host of alternative build systems emerged and the community eventually settled on a @url{https://peps.python.org/pep-0517/, formal standard} for specifying build requirements.  @var{pyproject-build-system} is Guix's implementation of this standard.  It is considered ``experimental'' in that it does not yet support all the various PEP-517 @emph{build backends}, but you are encouraged to try it for new Python packages and report any problems.  It will eventually be deprecated and merged into @var{python-build-system}."
msgstr "目前在 Guix 中有两种不同的 Python 包构建系统:@var{python-build-system} 和@var{pyproject-build-system}。 在很长的一段时间里,Python 包是从非正式指定的 @file{setup.py} 文件构建的。 考虑到 Python 的成功,这工作得非常好,但很难围绕它构建工具。 结果,出现了许多替代构建系统,社区最终确定了一个 @url{https://peps.python.org/pep-0517/, 正式标准} 来指定构建要求。 @var{pyproject-build-system} 是 Guix 对该标准的实现。 它被认为是“实验性的”,因为它还不支持所有不同的 PEP-517 @emph{编译后端},但我们鼓励您为新的 Python 包尝试它并报告任何问题。 它最终将被弃用并合并到 @var{python-build-system} 中。"

#. type: subsubsection
#: guix-git/doc/contributing.texi:1505
#, no-wrap
msgid "Specifying Dependencies"
msgstr "指定依赖"

#. type: cindex
#: guix-git/doc/contributing.texi:1506
#, no-wrap
msgid "inputs, for Python packages"
msgstr "Python软件包的输入"

#. type: Plain text
#: guix-git/doc/contributing.texi:1513
msgid "Dependency information for Python packages is usually available in the package source tree, with varying degrees of accuracy: in the @file{pyproject.toml} file, the @file{setup.py} file, in @file{requirements.txt}, or in @file{tox.ini} (the latter mostly for test dependencies)."
msgstr "Python软件包的依赖信息通常在包的源代码树里,各种文件有不同的准确度:@file{setup.py}文件,@file{requirements.txt}文件,或在 @file{tox.ini}文件(后者主要用于测试依赖项)。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1519
msgid "Your mission, when writing a recipe for a Python package, is to map these dependencies to the appropriate type of ``input'' (@pxref{package Reference, inputs}).  Although the @code{pypi} importer normally does a good job (@pxref{Invoking guix import}), you may want to check the following check list to determine which dependency goes where."
msgstr "你在写软件包配方时的任务是把这些依赖转换成相应的“输入”(@pxref{package Reference, inputs})。尽管@code{pypi}导入工具通常可以做得很好(@pxref{Invoking guix import}),你可能想检查下面这个清单,以决定每个依赖放在哪儿。"

#. type: itemize
#: guix-git/doc/contributing.texi:1526
msgid "We currently package Python with @code{setuptools} and @code{pip} installed per default.  This is about to change, and users are encouraged to use @code{python-toolchain} if they want a build environment for Python."
msgstr "我们目前将 Python 打包为默认安装的 @code{setuptools} 和 @code{pip}。 这即将改变,如果用户想要 Python 的构建环境,我们鼓励他们使用@code{python-toolchain}。"

#. type: itemize
#: guix-git/doc/contributing.texi:1529
msgid "@command{guix lint} will warn if @code{setuptools} or @code{pip} are added as native-inputs because they are generally not necessary."
msgstr "如果将 @code{setuptools} 或 @code{pip} 添加为本机输入,@command{guix lint} 将发出警告,因为通常它们不是必需的。"

#. type: itemize
#: guix-git/doc/contributing.texi:1535
msgid "Python dependencies required at run time go into @code{propagated-inputs}.  They are typically defined with the @code{install_requires} keyword in @file{setup.py}, or in the @file{requirements.txt} file."
msgstr "运行时需要的Python依赖要放进@code{propagated-inputs}。它们通常由@file{setup.py}文件里的@code{install_requires}关键字或@file{requirements.txt}文件定义。"

#. type: itemize
#: guix-git/doc/contributing.texi:1544
#, fuzzy
msgid "Python packages required only at build time---e.g., those listed under @code{build-system.requires} in @file{pyproject.toml} or with the @code{setup_requires} keyword in @file{setup.py}---or dependencies only for testing---e.g., those in @code{tests_require} or @file{tox.ini}---go into @code{native-inputs}.  The rationale is that (1) they do not need to be propagated because they are not needed at run time, and (2) in a cross-compilation context, it's the ``native'' input that we'd want."
msgstr "仅在构建时依赖的Python包--如,@file{setup.py}里的@code{setup_requires}关键字列举的包--或仅在测试时依赖的包--如,@code{tests_require}里的包--要放进@code{native-inputs}。因为,(1)在运行时不需要它们,因此不需要propagate,并且(2)在交叉编译时,它们属于“native”输入。"

#. type: itemize
#: guix-git/doc/contributing.texi:1548
msgid "Examples are the @code{pytest}, @code{mock}, and @code{nose} test frameworks.  Of course if any of these packages is also required at run-time, it needs to go to @code{propagated-inputs}."
msgstr "例如@code{pytest},@code{mock},@code{nose}测试框架。当然,如果在运行时需要这里的任何一个包,它需要被加进@code{propagated-inputs}。"

#. type: itemize
#: guix-git/doc/contributing.texi:1553
msgid "Anything that does not fall in the previous categories goes to @code{inputs}, for example programs or C libraries required for building Python packages containing C extensions."
msgstr "任何不属于上述类别的包都要被加进@code{inputs},如,构建含有C语言扩展的Python包所需的程序和C语言库。"

#. type: itemize
#: guix-git/doc/contributing.texi:1559
msgid "If a Python package has optional dependencies (@code{extras_require}), it is up to you to decide whether to add them or not, based on their usefulness/overhead ratio (@pxref{Submitting Patches, @command{guix size}})."
msgstr "如果一个Python软件包由可选的依赖(@code{extras_require}),由你根据它们的性价比(用处/负担)决定是否添加它们(@pxref{Submitting Patches, @command{guix size}})。"

#. type: cindex
#: guix-git/doc/contributing.texi:1566
#, no-wrap
msgid "perl"
msgstr "perl"

#. type: Plain text
#: guix-git/doc/contributing.texi:1577
msgid "Perl programs standing for themselves are named as any other package, using the lowercase upstream name.  For Perl packages containing a single class, we use the lowercase class name, replace all occurrences of @code{::} by dashes and prepend the prefix @code{perl-}.  So the class @code{XML::Parser} becomes @code{perl-xml-parser}.  Modules containing several classes keep their lowercase upstream name and are also prepended by @code{perl-}.  Such modules tend to have the word @code{perl} somewhere in their name, which gets dropped in favor of the prefix.  For instance, @code{libwww-perl} becomes @code{perl-libwww}."
msgstr "Perl程序和其它软件包的命名规则类似,用小写的上游名字命名。对于仅包含一个类的Perl包,我们使用小写的类名,把所有的@code{::}替换成破折号,并且添加@code{perl-}前缀。所以类@code{XML::Parser}变成@code{perl-xml-parser}。包含多个类的模块保留它们上游的名字,并且添加@code{perl-}前缀。这类模块的名字通常含有@code{perl},这个单词需要被删掉。例如,@code{libwww-perl}变成@code{perl-libwww}。"

#. type: cindex
#: guix-git/doc/contributing.texi:1582
#, no-wrap
msgid "java"
msgstr "java"

#. type: Plain text
#: guix-git/doc/contributing.texi:1585
msgid "Java programs standing for themselves are named as any other package, using the lowercase upstream name."
msgstr "Java程序和其它软件包的命名规则类似,用小写的上游名字命名。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1591
msgid "To avoid confusion and naming clashes with other programming languages, it is desirable that the name of a package for a Java package is prefixed with @code{java-}.  If a project already contains the word @code{java}, we drop this; for instance, the package @code{ngsjava} is packaged under the name @code{java-ngs}."
msgstr "为了避免和其它编程语言混淆和命名冲突,Java软件包的名字最好有@code{java-}前缀。如果一个项目的名字已经含有@code{java},我们把它删掉;例如,@code{ngsjava}打包后的名字是@code{java-ngs}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1597
msgid "For Java packages containing a single class or a small class hierarchy, we use the lowercase class name, replace all occurrences of @code{.} by dashes and prepend the prefix @code{java-}.  So the class @code{apache.commons.cli} becomes package @code{java-apache-commons-cli}."
msgstr "对于仅包含一个或很少几个类的Java软件包,我们使用小写的类名,把所有的@code{.}替换成破折号,并且添加@code{java-}前缀。因此,类@code{apache.commons.cli}打包后的名字是@code{java-apache-commons-cli}。"

#. type: cindex
#: guix-git/doc/contributing.texi:1602
#, no-wrap
msgid "rust"
msgstr "rust"

#. type: Plain text
#: guix-git/doc/contributing.texi:1605
msgid "Rust programs standing for themselves are named as any other package, using the lowercase upstream name."
msgstr "Rust 程序和其它软件包的命名规则类似,用小写的上游名字命名。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1609
#, fuzzy
msgid "To prevent namespace collisions we prefix all other Rust packages with the @code{rust-} prefix.  The name should be changed to lowercase as appropriate and dashes should remain in place."
msgstr "为了防止命名空间冲突,我们在所有其他 Rust 包前加上 @code{rust-} 前缀。名称应根据需要改为小写,并保持破折号不变。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1615
#, fuzzy
msgid "In the rust ecosystem it is common for multiple incompatible versions of a package to be used at any given time, so all package definitions should have a versioned suffix.  The versioned suffix is the left-most non-zero digit (and any leading zeros, of course).  This follows the ``caret'' version scheme intended by Cargo.  Examples@: @code{rust-clap-2}, @code{rust-rand-0.6}."
msgstr "在 Rust 生态系统中,通常会在任何给定时间使用多个不兼容版本的包,因此所有包定义应具有版本后缀。版本后缀是最左侧的非零数字(当然还有任何前导零)。这遵循 Cargo 所意图的 ``caret'' 版本方案。示例@: @code{rust-clap-2}, @code{rust-rand-0.6}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1625
#, fuzzy
msgid "Because of the difficulty in reusing rust packages as pre-compiled inputs for other packages the Cargo build system (@pxref{Build Systems, @code{cargo-build-system}}) presents the @code{#:cargo-inputs} and @code{cargo-development-inputs} keywords as build system arguments.  It would be helpful to think of these as similar to @code{propagated-inputs} and @code{native-inputs}.  Rust @code{dependencies} and @code{build-dependencies} should go in @code{#:cargo-inputs}, and @code{dev-dependencies} should go in @code{#:cargo-development-inputs}.  If a Rust package links to other libraries then the standard placement in @code{inputs} and the like should be used."
msgstr "由于将 Rust 包作为其他包的预编译输入重用的困难,Cargo 构建系统 (@pxref{构建系统, @code{cargo-build-system}}) 将 @code{#:cargo-inputs} 和 @code{cargo-development-inputs} 关键字作为构建系统参数呈现。将这些视为类似于 @code{propagated-inputs} 和 @code{native-inputs} 是有帮助的。Rust @code{dependencies} 和 @code{build-dependencies} 应放在 @code{#:cargo-inputs} 中,而 @code{dev-dependencies} 应放在 @code{#:cargo-development-inputs} 中。如果 Rust 包链接到其他库,则应使用 @code{inputs} 等中的标准放置。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1631
#, fuzzy
msgid "Care should be taken to ensure the correct version of dependencies are used; to this end we try to refrain from skipping the tests or using @code{#:skip-build?} when possible.  Of course this is not always possible, as the package may be developed for a different Operating System, depend on features from the Nightly Rust compiler, or the test suite may have atrophied since it was released."
msgstr "应谨慎确保使用正确版本的依赖项;为此,我们尽量避免跳过测试或在可能的情况下使用 @code{#:skip-build?}。当然,这并不总是可能,因为该包可能是为不同的操作系统开发的,依赖于 Nightly Rust 编译器的功能,或者测试套件自发布以来可能已经退化。"

#. type: cindex
#: guix-git/doc/contributing.texi:1636
#, fuzzy, no-wrap
msgid "Elm"
msgstr "Elm"

#. type: Plain text
#: guix-git/doc/contributing.texi:1639
#, fuzzy
msgid "Elm applications can be named like other software: their names need not mention Elm."
msgstr "Elm 应用程序可以像其他软件一样命名:它们的名称不需要提及 Elm。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1645
#, fuzzy
msgid "Packages in the Elm sense (see @code{elm-build-system} under @ref{Build Systems}) are required use names of the format @var{author}@code{/}@var{project}, where both the @var{author} and the @var{project} may contain hyphens internally, and the @var{author} sometimes contains uppercase letters."
msgstr "在 Elm 的意义上(见 @code{elm-build-system} 在 @ref{构建系统} 下),包要求使用 @var{author}@code{/}@var{project} 格式的名称,其中 @var{author} 和 @var{project} 都可以在内部包含破折号,并且 @var{author} 有时包含大写字母。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1649
#, fuzzy
msgid "To form the Guix package name from the upstream name, we follow a convention similar to Python packages (@pxref{Python Modules}), adding an @code{elm-} prefix unless the name would already begin with @code{elm-}."
msgstr "要从上游名称形成 Guix 包名称,我们遵循类似于 Python 包的约定(@pxref{Python Modules}),添加 @code{elm-} 前缀,除非名称已经以 @code{elm-} 开头。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1656
#, fuzzy
msgid "In many cases we can reconstruct an Elm package's upstream name heuristically, but, since conversion to a Guix-style name involves a loss of information, this is not always possible.  Care should be taken to add the @code{'upstream-name} property when necessary so that @samp{guix import elm} will work correctly (@pxref{Invoking guix import}). The most notable scenarios when explicitly specifying the upstream name is necessary are:"
msgstr "在许多情况下,我们可以通过启发式方法重建 Elm 包的上游名称,但由于转换为 Guix 风格名称会导致信息丢失,这并不总是可能的。应谨慎在必要时添加 @code{'upstream-name} 属性,以便 @samp{guix import elm} 能正确工作(@pxref{Invoking guix import})。明确指定上游名称是必要的最显著场景是:"

#. type: enumerate
#: guix-git/doc/contributing.texi:1661
#, fuzzy
msgid "When the @var{author} is @code{elm} and the @var{project} contains one or more hyphens, as with @code{elm/virtual-dom}; and"
msgstr "当 @var{author} 为 @code{elm} 且 @var{project} 包含一个或多个连字符时,例如 @code{elm/virtual-dom};以及"

#. type: enumerate
#: guix-git/doc/contributing.texi:1668
#, fuzzy
msgid "When the @var{author} contains hyphens or uppercase letters, as with @code{Elm-Canvas/raster-shapes}---unless the @var{author} is @code{elm-explorations}, which is handled as a special case, so packages like @code{elm-explorations/markdown} do @emph{not} need to use the @code{'upstream-name} property."
msgstr "当 @var{author} 包含连字符或大写字母时,例如 @code{Elm-Canvas/raster-shapes}——除非 @var{author} 为 @code{elm-explorations},这被视为特例,因此像 @code{elm-explorations/markdown} 的包不需要使用 @code{'upstream-name} 属性。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1672
#, fuzzy
msgid "The module @code{(guix build-system elm)} provides the following utilities for working with names and related conventions:"
msgstr "模块 @code{(guix build-system elm)} 提供以下工具,用于处理名称和相关约定:"

#. type: deffn
#: guix-git/doc/contributing.texi:1673
#, fuzzy, no-wrap
msgid "{Procedure} elm-package-origin @var{elm-name} @var{version} @"
msgstr "{Procedure} elm-package-origin @var{elm-name} @var{version} @"

#. type: deffn
#: guix-git/doc/contributing.texi:1678
#, fuzzy
msgid "@var{hash} Returns a Git origin using the repository naming and tagging regime required for a published Elm package with the upstream name @var{elm-name} at version @var{version} with sha256 checksum @var{hash}."
msgstr "@var{hash} 返回一个 Git 来源,使用发布的 Elm 包所需的仓库命名和标记机制,上游名称为 @var{elm-name},版本为 @var{version},sha256 校验和为 @var{hash}。"

#. type: deffn
#: guix-git/doc/contributing.texi:1680 guix-git/doc/guix.texi:38464
#: guix-git/doc/guix.texi:42993
#, fuzzy
msgid "For example:"
msgstr "例如:"

#. type: lisp
#: guix-git/doc/contributing.texi:1690
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  (name \"elm-html\")\n"
"  (version \"1.0.0\")\n"
"  (source\n"
"   (elm-package-origin\n"
"    \"elm/html\"\n"
"    version\n"
"    (base32 \"15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a\")))\n"
"  ...)\n"
msgstr ""
"(package\n"
"  (name \"elm-html\")\n"
"  (version \"1.0.0\")\n"
"  (source\n"
"   (elm-package-origin\n"
"    \"elm/html\"\n"
"    version\n"
"    (base32 \"15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a\")))\n"
"  ...)\n"

#. type: deffn
#: guix-git/doc/contributing.texi:1693
#, fuzzy, no-wrap
msgid "{Procedure} elm->package-name @var{elm-name}"
msgstr "{Procedure} elm->package-name @var{elm-name}"

#. type: deffn
#: guix-git/doc/contributing.texi:1696
#, fuzzy
msgid "Returns the Guix-style package name for an Elm package with upstream name @var{elm-name}."
msgstr "返回上游名称为 @var{elm-name} 的 Elm 包的 Guix 风格包名称。"

#. type: deffn
#: guix-git/doc/contributing.texi:1699
#, fuzzy
msgid "Note that there is more than one possible @var{elm-name} for which @code{elm->package-name} will produce a given result."
msgstr "请注意,可能有多个 @var{elm-name},使得 @code{elm->package-name} 会产生给定的结果。"

#. type: deffn
#: guix-git/doc/contributing.texi:1701
#, fuzzy, no-wrap
msgid "{Procedure} guix-package->elm-name @var{package}"
msgstr "{Procedure} guix-package->elm-name @var{package}"

#. type: deffn
#: guix-git/doc/contributing.texi:1705
#, fuzzy
msgid "Given an Elm @var{package}, returns the possibly-inferred upstream name, or @code{#f} the upstream name is not specified via the @code{'upstream-name} property and can not be inferred by @code{infer-elm-package-name}."
msgstr "给定一个 Elm @var{package},返回可能推断的上游名称,或者如果未通过 @code{'upstream-name} 属性指定上游名称且无法通过 @code{infer-elm-package-name} 推断,则返回 @code{#f}。"

#. type: deffn
#: guix-git/doc/contributing.texi:1707
#, fuzzy, no-wrap
msgid "{Procedure} infer-elm-package-name @var{guix-name}"
msgstr "{Procedure} infer-elm-package-name @var{guix-name}"

#. type: deffn
#: guix-git/doc/contributing.texi:1712
#, fuzzy
msgid "Given the @var{guix-name} of an Elm package, returns the inferred upstream name, or @code{#f} if the upstream name can't be inferred.  If the result is not @code{#f}, supplying it to @code{elm->package-name} would produce @var{guix-name}."
msgstr "给定 Elm 包的 @var{guix-name},返回推断的上游名称,如果无法推断上游名称,则返回 @code{#f}。如果结果不是 @code{#f},将其提供给 @code{elm->package-name} 将产生 @var{guix-name}。"

#. type: cindex
#: guix-git/doc/contributing.texi:1717 guix-git/doc/guix.texi:1841
#, no-wrap
msgid "fonts"
msgstr "字体"

#. type: Plain text
#: guix-git/doc/contributing.texi:1723
msgid "For fonts that are in general not installed by a user for typesetting purposes, or that are distributed as part of a larger software package, we rely on the general packaging rules for software; for instance, this applies to the fonts delivered as part of the X.Org system or fonts that are part of TeX Live."
msgstr "对于通常不会被用户安装用于排版的字体,或者随更大的软件包分发的字体,我们使用通常的命名规则。例如,这适用于X.Org系统附带的字体或TeX Live附带的字体。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1727
msgid "To make it easier for a user to search for fonts, names for other packages containing only fonts are constructed as follows, independently of the upstream package name."
msgstr "为了让用户更容易搜索字体,其它仅含有字体的软件包按以下规则命名,不管上游的包名是什么。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1735
msgid "The name of a package containing only one font family starts with @code{font-}; it is followed by the foundry name and a dash @code{-} if the foundry is known, and the font family name, in which spaces are replaced by dashes (and as usual, all upper case letters are transformed to lower case).  For example, the Gentium font family by SIL is packaged under the name @code{font-sil-gentium}."
msgstr "仅含有一个字体家族的软件包需要以@code{font-}开头;如果作者名字已知,则添加作者名字和@code{-},接着是字体家族名字(把空格替换成破折号),(和通常一样,把所有的大写字母转换成小写字母)。例如,由SIL设计的Gentium字体家族打包后的名字是@code{font-sil-gentium}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1744
msgid "For a package containing several font families, the name of the collection is used in the place of the font family name.  For instance, the Liberation fonts consist of three families, Liberation Sans, Liberation Serif and Liberation Mono.  These could be packaged separately under the names @code{font-liberation-sans} and so on; but as they are distributed together under a common name, we prefer to package them together as @code{font-liberation}."
msgstr "对于一个含有多个字体家族的软件包,用集合的名字替换字体家族的名字。例如,Liberation字体含有三个家族,Liberation Sans、Liberation Serif和Liberation Mono。它们可以用@code{font-liberation-sans}等名字分开打包;但是由于它们以一个共同的名字分发,我们倾向于以@code{font-liberation}名字统一打包。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1750
msgid "In the case where several formats of the same font family or font collection are packaged separately, a short form of the format, prepended by a dash, is added to the package name.  We use @code{-ttf} for TrueType fonts, @code{-otf} for OpenType fonts and @code{-type1} for PostScript Type 1 fonts."
msgstr "当同一个字体家族或字体集合的不同格式分开打包时,把破折号和格式(缩写)添加在软件包名字后面。我们用@code{-ttf}代表TrueType字体,@code{-otf}代表OpenType字体,@code{-type1}代表PostScript Type 1字体。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1758
msgid "In general our code follows the GNU Coding Standards (@pxref{Top,,, standards, GNU Coding Standards}).  However, they do not say much about Scheme, so here are some additional rules."
msgstr "总的来说,我们的代码遵循GNU代码规范(@pxref{Top,,, standards, GNU代码规范})。但是,这个规范对Scheme的介绍不多,所以这儿提供一些额外的规则。"

#. type: subsection
#: guix-git/doc/contributing.texi:1764 guix-git/doc/contributing.texi:1766
#: guix-git/doc/contributing.texi:1767
#, no-wrap
msgid "Programming Paradigm"
msgstr "编程范例"

#. type: menuentry
#: guix-git/doc/contributing.texi:1764
msgid "How to compose your elements."
msgstr "怎样合成元素。"

#. type: subsection
#: guix-git/doc/contributing.texi:1764 guix-git/doc/contributing.texi:1773
#: guix-git/doc/contributing.texi:1774
#, no-wrap
msgid "Modules"
msgstr "模块"

#. type: menuentry
#: guix-git/doc/contributing.texi:1764
msgid "Where to store your code?"
msgstr "在哪里保存代码?"

#. type: subsection
#: guix-git/doc/contributing.texi:1764 guix-git/doc/contributing.texi:1789
#: guix-git/doc/contributing.texi:1790
#, no-wrap
msgid "Data Types and Pattern Matching"
msgstr "数据类型和模式匹配"

#. type: menuentry
#: guix-git/doc/contributing.texi:1764
msgid "Implementing data structures."
msgstr "实现数据结构。"

#. type: subsection
#: guix-git/doc/contributing.texi:1764 guix-git/doc/contributing.texi:1820
#: guix-git/doc/contributing.texi:1821
#, no-wrap
msgid "Formatting Code"
msgstr "格式化代码"

#. type: menuentry
#: guix-git/doc/contributing.texi:1764
msgid "Writing conventions."
msgstr "书写规范。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1772
msgid "Scheme code in Guix is written in a purely functional style.  One exception is code that involves input/output, and procedures that implement low-level concepts, such as the @code{memoize} procedure."
msgstr "Guix里的Scheme代码是以纯函数的风格写的。一个例外是有关输入/输出的代码,和实现底层概念的过程,如@code{memoize}过程。"

#. type: cindex
#: guix-git/doc/contributing.texi:1775
#, fuzzy, no-wrap
msgid "build-side modules"
msgstr "构建用户"

#. type: cindex
#: guix-git/doc/contributing.texi:1776
#, fuzzy, no-wrap
msgid "host-side modules"
msgstr "主机端模块"

#. type: Plain text
#: guix-git/doc/contributing.texi:1785
#, fuzzy
msgid "Guile modules that are meant to be used on the builder side must live in the @code{(guix build @dots{})} name space.  They must not refer to other Guix or GNU modules.  However, it is OK for a ``host-side'' module to use a build-side module.  As an example, the @code{(guix search-paths)} module should not be imported and used by a package since it isn't meant to be used as a ``build-side'' module.  It would also couple the module with the package's dependency graph, which is undesirable."
msgstr "用于构建的Guile模块必须放在@code{(guix build @dots{})}命名空间里。它们不允许引用其它Guix或GNU模块。但是,主机端(host-side)模块可以使用构建端(build-side)模块。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1788
msgid "Modules that deal with the broader GNU system should be in the @code{(gnu @dots{})} name space rather than @code{(guix @dots{})}."
msgstr "关于更广的GNU系统的模块应该在@code{(gnu @dots{})}命名空间里而不是@code{(guix @dots{})}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1797
msgid "The tendency in classical Lisp is to use lists to represent everything, and then to browse them ``by hand'' using @code{car}, @code{cdr}, @code{cadr}, and co.  There are several problems with that style, notably the fact that it is hard to read, error-prone, and a hindrance to proper type error reports."
msgstr "经典的Lisp倾向于用列表表示所有的东西,然后用@code{car},@code{cdr},@code{cadr}等手动浏览它们。这种风格有几个问题,特别是难以阅读,易出错,并且妨碍生成合适的类型错误报告。"

#. type: findex
#: guix-git/doc/contributing.texi:1798
#, fuzzy, no-wrap
msgid "define-record-type*"
msgstr "define-record-type*"

#. type: findex
#: guix-git/doc/contributing.texi:1799
#, fuzzy, no-wrap
msgid "match-record"
msgstr "match-record"

#. type: cindex
#: guix-git/doc/contributing.texi:1800
#, fuzzy, no-wrap
msgid "pattern matching"
msgstr "数据类型和模式匹配"

#. type: Plain text
#: guix-git/doc/contributing.texi:1808
#, fuzzy
msgid "Guix code should define appropriate data types (for instance, using @code{define-record-type*}) rather than abuse lists.  In addition, it should use pattern matching, via Guile’s @code{(ice-9 match)} module, especially when matching lists (@pxref{Pattern Matching,,, guile, GNU Guile Reference Manual}); pattern matching for records is better done using @code{match-record} from @code{(guix records)}, which, unlike @code{match}, verifies field names at macro-expansion time."
msgstr "Guix代码应该定义合适的数据类型(例如,用@code{define-record-type*})而不是滥用列表。而且,它应该利用Guile的@code{(ice-9 match)}模块使用模式匹配,特别是匹配列表的时候。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1819
#, fuzzy
msgid "When defining a new record type, keep the @dfn{record type descriptor} (RTD) private (@pxref{Records,,, guile, GNU Guile Reference Manual}, for more on records and RTDs).  As an example, the @code{(guix packages)} module defines @code{<package>} as the RTD for package records but it does not export it; instead, it exports a type predicate, a constructor, and field accessors.  Exporting RTDs would make it harder to change the application binary interface (because code in other modules might be matching fields by position) and would make it trivial for users to forge records of that type, bypassing any checks we may have in the official constructor (such as ``field sanitizers'')."
msgstr "在定义新的记录类型时,保持 @dfn{记录类型描述符} (RTD) 私有 (@pxref{Records,,, guile, GNU Guile Reference Manual},有关记录和 RTD 的更多信息)。作为示例,@code{(guix packages)} 模块将 @code{<package>} 定义为包记录的 RTD,但不导出它;相反,它导出一个类型谓词、一个构造函数和字段访问器。导出 RTD 会使更改应用程序二进制接口变得更加困难(因为其他模块中的代码可能会按位置匹配字段),并且会使用户轻松伪造该类型的记录,绕过我们在官方构造函数中可能有的任何检查(例如“字段清理器”)。"

#. type: cindex
#: guix-git/doc/contributing.texi:1823
#, no-wrap
msgid "formatting code"
msgstr "格式化代码"

#. type: cindex
#: guix-git/doc/contributing.texi:1824
#, no-wrap
msgid "coding style"
msgstr "代码风格"

#. type: Plain text
#: guix-git/doc/contributing.texi:1831
#, fuzzy
msgid "When writing Scheme code, we follow common wisdom among Scheme programmers.  In general, we follow the @url{https://mumble.net/~campbell/scheme/style.txt, Riastradh's Lisp Style Rules}.  This document happens to describe the conventions mostly used in Guile’s code too.  It is very thoughtful and well written, so please do read it."
msgstr "在写Scheme代码时,我们遵循Scheme程序员的通用智慧。通常,我们遵循@url{http://mumble.net/~campbell/scheme/style.txt, Riastradh的Lisp风格}。这个文档碰巧描述了在Guile代码里大量使用的惯例。它很周到,而且写的很好,所以务必阅读。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1838
msgid "Some special forms introduced in Guix, such as the @code{substitute*} macro, have special indentation rules.  These are defined in the @file{.dir-locals.el} file, which Emacs automatically uses.  Also note that Emacs-Guix provides @code{guix-devel-mode} mode that indents and highlights Guix code properly (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})."
msgstr "一些Guix添加的special form,如@code{substitute*}宏,有特殊的缩进规则。它们的规则在@file{.dir-locals.el}文件里定义,Emacs会自动使用。另外,Emacs-Guix提供的@code{guix-devel-mode}模式可以正确地缩进和高亮Guix代码(@pxref{Development,,, emacs-guix, Emacs-Guix参考手册})。"

#. type: cindex
#: guix-git/doc/contributing.texi:1839
#, no-wrap
msgid "indentation, of code"
msgstr "代码缩进"

#. type: cindex
#: guix-git/doc/contributing.texi:1840
#, no-wrap
msgid "formatting, of code"
msgstr "代码格式化"

#. type: Plain text
#: guix-git/doc/contributing.texi:1843
msgid "If you do not use Emacs, please make sure to let your editor knows these rules.  To automatically indent a package definition, you can also run:"
msgstr "如果你不使用Emacs,请确保让你的编辑器知道这些规则。为了自动地缩进软件包定义,你也可以运行:"

#. type: example
#: guix-git/doc/contributing.texi:1846
#, fuzzy, no-wrap
msgid "./pre-inst-env guix style @var{package}\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:1850
#, fuzzy
msgid "@xref{Invoking guix style}, for more information."
msgstr "@xref{Invoking guix pack},了解这个方便的工具。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1854
msgid "We require all top-level procedures to carry a docstring.  This requirement can be relaxed for simple private procedures in the @code{(guix build @dots{})} name space, though."
msgstr "我们要求所有的顶级过程附带一个docstring。这个要求对@code{(guix build @dots{})}命名空间里的简单的私有过程可以放宽。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1857
msgid "Procedures should not have more than four positional parameters.  Use keyword parameters for procedures that take more than four parameters."
msgstr "过程不应该有多于四个定位参数。对于接收多于四个定位参数的过程应使用关键字参数。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1871
#, fuzzy
msgid "Development is done using the Git distributed version control system.  Thus, access to the repository is not strictly necessary.  We welcome contributions in the form of patches as produced by @code{git format-patch} sent to the @email{guix-patches@@gnu.org} mailing list (@pxref{Submitting patches to a project,,, git, Git User Manual}).  Contributors are encouraged to take a moment to set some Git repository options (@pxref{Configuring Git}) first, which can improve the readability of patches.  Seasoned Guix developers may also want to look at the section on commit access (@pxref{Commit Access})."
msgstr "开发是使用Git分布式版本控制系统完成的。因此,对仓库的访问权限不是必须的。我们欢迎以向@email{guix-patches@@gnu.org}邮件列表发送@code{git format-patch}补丁的方式共享代码。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1878
#, fuzzy
msgid "This mailing list is backed by a Debbugs instance, which allows us to keep track of submissions (@pxref{Tracking Bugs and Changes}).  Each message sent to that mailing list gets a new tracking number assigned; people can then follow up on the submission by sending email to @code{@var{ISSUE_NUMBER}@@debbugs.gnu.org}, where @var{ISSUE_NUMBER} is the tracking number (@pxref{Sending a Patch Series})."
msgstr "这个邮件列表的后端是一个Debbugs实例(可以从@uref{https://bugs.gnu.org/guix-patches}访问),它允许我们跟踪提交的bug。每个发送到那个邮件列表的消息都会被分配一个跟踪数字;之后人们可以通过向@code{@var{NNN}@@debbugs.gnu.org}发送邮件来跟进提交(@var{NNN}是跟踪数字,@pxref{Sending a Patch Series})。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1882
msgid "Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, standards, GNU Coding Standards}); you can check the commit history for examples."
msgstr "请以ChangeLog格式(@pxref{Change Logs,,, standards, GNU代码规范})写commit日志;你可以浏览commit历史里的例子。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1892
#, fuzzy
msgid "You can help make the review process more efficient, and increase the chance that your patch will be reviewed quickly, by describing the context of your patch and the impact you expect it to have.  For example, if your patch is fixing something that is broken, describe the problem and how your patch fixes it.  Tell us how you have tested your patch.  Will users of the code changed by your patch have to adjust their workflow at all? If so, tell us how.  In general, try to imagine what questions a reviewer will ask, and answer those questions in advance."
msgstr "您可以通过描述补丁的上下文和您期望其产生的影响,帮助使审查过程更高效,并增加您的补丁快速被审查的机会。例如,如果您的补丁修复了某个损坏的内容,请描述问题以及您的补丁如何修复它。告诉我们您如何测试您的补丁。更改您补丁的代码的用户是否需要调整他们的工作流程?如果是,请告诉我们如何。一般来说,尽量想象审查者会问什么问题,并提前回答这些问题。"

#. type: Plain text
#: guix-git/doc/contributing.texi:1895
msgid "Before submitting a patch that adds or modifies a package definition, please run through this check list:"
msgstr "提交添加或者修改软件包定义的补丁之前,请过一遍这个检查列表:"

#. type: enumerate
#: guix-git/doc/contributing.texi:1902
msgid "If the authors of the packaged software provide a cryptographic signature for the release tarball, make an effort to verify the authenticity of the archive.  For a detached GPG signature file this would be done with the @code{gpg --verify} command."
msgstr "如果软件包的作者为发布的文件包提供了密码学签名,请验证文件的真实性。对于独立的 GPG 签名文件,这可以通过 @code{gpg --verify} 命令完成。"

#. type: enumerate
#: guix-git/doc/contributing.texi:1906
msgid "Take some time to provide an adequate synopsis and description for the package.  @xref{Synopses and Descriptions}, for some guidelines."
msgstr "花些时间为软件包提供一个合适的简介和描述。更多指导,@xref{Synopses and Descriptions}。"

#. type: enumerate
#: guix-git/doc/contributing.texi:1911
msgid "Run @command{guix lint @var{package}}, where @var{package} is the name of the new or modified package, and fix any errors it reports (@pxref{Invoking guix lint})."
msgstr "运行@command{guix lint @var{软件包}},@var{软件包}是新添加的或修改过的软件包的名字,修复它报告的错误(@pxref{Invoking guix lint})。"

#. type: enumerate
#: guix-git/doc/contributing.texi:1915
#, fuzzy
msgid "Run @command{guix style @var{package}} to format the new package definition according to the project's conventions (@pxref{Invoking guix style})."
msgstr "运行@code{guix lint @var{软件包}},@var{软件包}是新添加的或修改过的软件包的名字,修复它报告的错误(@pxref{Invoking guix lint})。"

#. type: enumerate
#: guix-git/doc/contributing.texi:1921
#, fuzzy
msgid "Make sure the package builds on your platform, using @command{guix build @var{package}}.  Also build at least its direct dependents with @command{guix build --dependents=1 @var{package}} (@pxref{build-dependents, @command{guix build}})."
msgstr "确保该包在您的平台上构建,使用 @command{guix build @var{package}}。还要使用 @command{guix build --dependents=1 @var{package}} 构建至少其直接依赖项 (@pxref{build-dependents, @command{guix build}})。"

#. type: enumerate
#: guix-git/doc/contributing.texi:1929
#, fuzzy
msgid "We recommend you also try building the package on other supported platforms.  As you may not have access to actual hardware platforms, we recommend using the @code{qemu-binfmt-service-type} to emulate them.  In order to enable it, add the @code{virtualization} service module and the following service to the list of services in your @code{operating-system} configuration:"
msgstr "我们建议你同时尝试在别的支持的平台上构建这个软件包。你可能没有别的平台的真实的硬件,我们推荐使用@code{qemu-binfmt-service-type}来模拟它们。为了启用这个功能,把下面这个服务添加到你的@code{操作系统}配置的服务列表里:"

#. type: lisp
#: guix-git/doc/contributing.texi:1934
#, no-wrap
msgid ""
"(service qemu-binfmt-service-type\n"
" (qemu-binfmt-configuration\n"
"   (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))))\n"
msgstr ""
"(service qemu-binfmt-service-type\n"
" (qemu-binfmt-configuration\n"
"   (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))))\n"

#. type: enumerate
#: guix-git/doc/contributing.texi:1937
msgid "Then reconfigure your system."
msgstr "然后重新配置你的系统。"

#. type: enumerate
#: guix-git/doc/contributing.texi:1942
#, fuzzy
msgid "You can then build packages for different platforms by specifying the @code{--system} option.  For example, to build the \"hello\" package for the armhf or aarch64 architectures, you would run the following commands, respectively:"
msgstr "你之后可以用@code{--system}参数为不同的平台构建软件包。例如,为armhf,aarch64,或mips64架构构建\"hello\"软件包,你可以依次运行如下的命令:"

#. type: example
#: guix-git/doc/contributing.texi:1945
#, no-wrap
msgid ""
"guix build --system=armhf-linux --rounds=2 hello\n"
"guix build --system=aarch64-linux --rounds=2 hello\n"
msgstr ""
"guix build --system=armhf-linux --rounds=2 hello\n"
"guix build --system=aarch64-linux --rounds=2 hello\n"

#. type: cindex
#: guix-git/doc/contributing.texi:1948
#, no-wrap
msgid "bundling"
msgstr "构建"

#. type: enumerate
#: guix-git/doc/contributing.texi:1951
msgid "Make sure the package does not use bundled copies of software already available as separate packages."
msgstr "请确保软件包里不捆绑出现已经被打过包的软件的副本。"

#. type: enumerate
#: guix-git/doc/contributing.texi:1960
msgid "Sometimes, packages include copies of the source code of their dependencies as a convenience for users.  However, as a distribution, we want to make sure that such packages end up using the copy we already have in the distribution, if there is one.  This improves resource usage (the dependency is built and stored only once), and allows the distribution to make transverse changes such as applying security updates for a given software package in a single place and have them affect the whole system---something that bundled copies prevent."
msgstr "有时,软件包为了方便用户,捆绑了依赖库的源代码。然而,当依赖库在发行版里已经存在时,做为一个发行版,我们希望确保这些软件包使用发行版里已有的副本。这提高资源使用率(依赖库只构建一次,存储一份),并且使发行版更容易管理,如仅在一个地方对某个软件包进行安全更新就可以影响整个系统--捆绑软件会妨碍这么做。"

#. type: enumerate
#: guix-git/doc/contributing.texi:1969
#, fuzzy
msgid "Take a look at the profile reported by @command{guix size} (@pxref{Invoking guix size}).  This will allow you to notice references to other packages unwillingly retained.  It may also help determine whether to split the package (@pxref{Packages with Multiple Outputs}), and which optional dependencies should be used.  In particular, avoid adding @code{texlive} as a dependency: because of its extreme size, use @code{texlive-updmap.cfg} procedure instead."
msgstr "看一下@command{guix size}(@pxref{Invoking guix size})的分析报告。这会让你注意到对其它软件包无意中的引用。它也可以帮助决定是否要把一个软件包分割成几个输出(@pxref{有多个输出的软件包}),以及需要使用哪些可选的依赖。特别地,避免把@code{texlive}添加为依赖:因为它太大了,请使用@code{texlive-tiny}或@code{texlive-union}代替它。"

#. type: enumerate
#: guix-git/doc/contributing.texi:1974
#, fuzzy
msgid "Check that dependent packages (if applicable) are not affected by the change; @command{guix refresh --list-dependent @var{package}} will help you do that (@pxref{Invoking guix refresh})."
msgstr "对于重要的更改,确保依赖它的软件包没有受到影响。@code{guix refresh --list-dependent @var{软件包}}会帮你检查(@pxref{Invoking guix refresh})。"

#. type: cindex
#: guix-git/doc/contributing.texi:1976
#, no-wrap
msgid "determinism, of build processes"
msgstr "构建过程的确定性"

#. type: cindex
#: guix-git/doc/contributing.texi:1977
#, no-wrap
msgid "reproducible builds, checking"
msgstr "检查可复现的构建"

#. type: enumerate
#: guix-git/doc/contributing.texi:1981
msgid "Check whether the package's build process is deterministic.  This typically means checking whether an independent build of the package yields the exact same result that you obtained, bit for bit."
msgstr "检查软件包的构建过程是不是确定性的。这通常意味着检查对软件包的独立构建是否能得到每一个比特都完全相同的结果。"

#. type: enumerate
#: guix-git/doc/contributing.texi:1984
msgid "A simple way to do that is by building the same package several times in a row on your machine (@pxref{Invoking guix build}):"
msgstr "为此,一个简单的做法是在你的机器上多次构建同一个软件包(@pxref{Invoking guix build}):"

#. type: example
#: guix-git/doc/contributing.texi:1987
#, no-wrap
msgid "guix build --rounds=2 my-package\n"
msgstr "guix build --rounds=2 <我的软件包>\n"

#. type: enumerate
#: guix-git/doc/contributing.texi:1991
msgid "This is enough to catch a class of common non-determinism issues, such as timestamps or randomly-generated output in the build result."
msgstr "这足以查出一批普通的不确定性问题,如构建结果里存在时间戳或随机生成的输出。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2001
msgid "Another option is to use @command{guix challenge} (@pxref{Invoking guix challenge}).  You may run it once the package has been committed and built by @code{@value{SUBSTITUTE-SERVER-1}} to check whether it obtains the same result as you did.  Better yet: Find another machine that can build it and run @command{guix publish}.  Since the remote build machine is likely different from yours, this can catch non-determinism issues related to the hardware---e.g., use of different instruction set extensions---or to the operating system kernel---e.g., reliance on @code{uname} or @file{/proc} files."
msgstr "另一个选择是使用@command{guix challenge}(@pxref{Invoking guix challenge})。当软件包被提交并且被@code{@value{SUBSTITUTE-SERVER-1}}构建之后,你可以运行这个命令检查你是否得到相同的构建结果。更好的:找另一台可以构建的机器,运行@command{guix publish}。由于远程的构建机器很可能和你的机器不同,这可以捕捉到由硬件不同引起的不确定性问题--如,使用不同的指令集--或不同操作系统内核引起的问题--如,对@code{uname}或@file{/proc}文件的依赖。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2007
msgid "When writing documentation, please use gender-neutral wording when referring to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, singular ``they''@comma{} ``their''@comma{} ``them''}, and so forth."
msgstr "在编写文档时,请用性别中立的词语指代人,如@uref{https://en.wikipedia.org/wiki/Singular_they, “他”@comma{} “他的”},等。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2011
msgid "Verify that your patch contains only one set of related changes.  Bundling unrelated changes together makes reviewing harder and slower."
msgstr "检查你的补丁只包含一些相关的更改。把不相关的更改捆绑在一起会让评审更困难和更慢。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2014
msgid "Examples of unrelated changes include the addition of several packages, or a package update along with fixes to that package."
msgstr "不相关的更改的例子有:同时新增多个软件包,或更新软件包同时修补这个软件包。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2019
#, fuzzy
msgid "Please follow our code formatting rules, possibly running @command{guix style} script to do that automatically for you (@pxref{Formatting Code})."
msgstr "请遵守我们的代码格式规范,最好运行@command{etc/indent-code.el}脚本以自动为你格式化(@pxref{Formatting Code})。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2027
msgid "When possible, use mirrors in the source URL (@pxref{Invoking guix download}).  Use reliable URLs, not generated ones.  For instance, GitHub archives are not necessarily identical from one generation to the next, so in this case it's often better to clone the repository.  Don't use the @code{name} field in the URL: it is not very useful and if the name changes, the URL will probably be wrong."
msgstr "当可能时,请在源URL里使用镜像@pxref{Invoking guix download}。使用可靠的而不是生成的URL。例如,GitHub的下载文件每次生成时不一定是相同的,所以这时最好克隆仓库。不要在URL里使用@code{name}变量:这没有什么用,而且如果名字变了,URL很可能就错了。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2031
#, fuzzy
msgid "Check if Guix builds (@pxref{Building from Git}) and address the warnings, especially those about use of undefined symbols."
msgstr "检查 Guix 是否构建成功 (@pxref{Building from Git}) 并解决警告,特别是关于使用未定义符号的警告。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2035
#, fuzzy
msgid "Make sure your changes do not break Guix and simulate a @command{guix pull} with:"
msgstr "确保您的更改不会破坏 Guix,并使用以下命令模拟 @command{guix pull}:"

#. type: example
#: guix-git/doc/contributing.texi:2037
#, fuzzy, no-wrap
msgid "guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master\n"
msgstr "guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2045
#, fuzzy
msgid "When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a subject, if your patch is to be applied on a branch other than @code{master}, say @code{core-updates}, specify it in the subject like @samp{[PATCH core-updates] @dots{}}."
msgstr "在向邮件列表发布补丁时,如果您的补丁要应用于除@code{master}以外的分支,例如@code{core-updates},请使用@samp{[PATCH] @dots{}}作为主题,并在主题中指定它,如@samp{[PATCH core-updates] @dots{}}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2052
#, fuzzy
msgid "You may use your email client, the @command{git send-email} command (@pxref{Sending a Patch Series}) or the @command{mumi send-email} command (@pxref{Debbugs User Interfaces}).  We prefer to get patches in plain text messages, either inline or as MIME attachments.  You are advised to pay attention if your email client changes anything like line breaks or indentation which could potentially break the patches."
msgstr "在提交补丁到邮件列表时,使用@samp{[PATCH] @dots{}}做为主题。你可以使用你的邮件客户端或者@command{git send-email}命令(@pxref{Sending a Patch Series})。我们倾向于接收纯文本的邮件,无论是在正文里还是在MIME附件里。建议你注意你的邮件客户端是否会自动修改换行或缩进,这可能会损坏补丁。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2057
#, fuzzy
msgid "Expect some delay when you submit your very first patch to @email{guix-patches@@gnu.org}. You have to wait until you get an acknowledgement with the assigned tracking number. Future acknowledgements should not be delayed."
msgstr "提交您的第一个补丁到@email{guix-patches@@gnu.org}时,请预期会有一些延迟。您必须等待直到收到带有分配跟踪号的确认。未来的确认不应延迟。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2060
#, fuzzy
msgid "When a bug is resolved, please close the thread by sending an email to @email{@var{ISSUE_NUMBER}-done@@debbugs.gnu.org}."
msgstr "当一个bug被修复时,请通过向@email{@var{NNN}-done@@debbugs.gnu.org}发邮件的方式关闭thread。"

#. type: subsection
#: guix-git/doc/contributing.texi:2064 guix-git/doc/contributing.texi:2066
#: guix-git/doc/contributing.texi:2067
#, no-wrap
msgid "Configuring Git"
msgstr "配置Git"

#. type: subsection
#: guix-git/doc/contributing.texi:2064 guix-git/doc/contributing.texi:2090
#: guix-git/doc/contributing.texi:2091
#, no-wrap
msgid "Sending a Patch Series"
msgstr "发送补丁系列"

#. type: cindex
#: guix-git/doc/contributing.texi:2068
#, fuzzy, no-wrap
msgid "git configuration"
msgstr "系统配置"

#. type: code{#1}
#: guix-git/doc/contributing.texi:2069 guix-git/doc/contributing.texi:2094
#, fuzzy, no-wrap
msgid "git format-patch"
msgstr "git format-patch"

#. type: code{#1}
#: guix-git/doc/contributing.texi:2070 guix-git/doc/contributing.texi:2093
#, no-wrap
msgid "git send-email"
msgstr "git send-email"

#. type: Plain text
#: guix-git/doc/contributing.texi:2078
#, fuzzy
msgid "If you have not done so already, you may wish to set a name and email that will be associated with your commits (@pxref{telling git your name, , Telling Git your name, git, Git User Manual}).  If you wish to use a different name or email just for commits in this repository, you can use @command{git config --local}, or edit @file{.git/config} in the repository instead of @file{~/.gitconfig}."
msgstr "如果您尚未这样做,您可能希望设置一个与您的提交相关联的名称和电子邮件(@pxref{telling git your name, , Telling Git your name, git, Git User Manual})。如果您希望仅为此存储库中的提交使用不同的名称或电子邮件,您可以使用@command{git config --local},或者编辑存储库中的@file{.git/config}而不是@file{~/.gitconfig}。"

#. type: cindex
#: guix-git/doc/contributing.texi:2079
#, fuzzy, no-wrap
msgid "commit-msg hook"
msgstr "commit-msg hook"

#. type: Plain text
#: guix-git/doc/contributing.texi:2089
#, fuzzy
msgid "Other important Git configuration will automatically be configured when building the project (@pxref{Building from Git}).  A @file{.git/hooks/commit-msg} hook will be installed that embeds @samp{Change-Id} Git @emph{trailers} in your commit messages for traceability purposes.  It is important to preserve these when editing your commit messages, particularly if a first version of your proposed changes was already submitted for review.  If you have a @file{commit-msg} hook of your own you would like to use with Guix, you can place it under the @file{.git/hooks/commit-msg.d/} directory."
msgstr "其他重要的Git配置将在构建项目时自动配置(@pxref{Building from Git})。将安装一个@file{.git/hooks/commit-msg}钩子,该钩子在您的提交消息中嵌入@samp{Change-Id} Git @emph{trailers}以便于追踪。在编辑提交消息时,保留这些信息非常重要,特别是如果您提议的更改的第一个版本已经提交进行审查。如果您有自己的@file{commit-msg}钩子希望与Guix一起使用,可以将其放在@file{.git/hooks/commit-msg.d/}目录下。"

#. type: cindex
#: guix-git/doc/contributing.texi:2092
#, no-wrap
msgid "patch series"
msgstr "补丁系列"

#. type: anchor{#1}
#: guix-git/doc/contributing.texi:2096 guix-git/doc/contributing.texi:2103
#, fuzzy, no-wrap
msgid "Single Patches"
msgstr "提交补丁"

#. type: Plain text
#: guix-git/doc/contributing.texi:2103
#, fuzzy
msgid "The @command{git send-email} command is the best way to send both single patches and patch series (@pxref{Multiple Patches}) to the Guix mailing list.  Sending patches as email attachments may make them difficult to review in some mail clients, and @command{git diff} does not store commit metadata."
msgstr "@command{git send-email}命令是将单个补丁和补丁系列(@pxref{Multiple Patches})发送到Guix邮件列表的最佳方式。将补丁作为电子邮件附件发送可能会使其在某些邮件客户端中难以审查,并且@command{git diff}不存储提交元数据。"

#. type: quotation
#: guix-git/doc/contributing.texi:2107
#, fuzzy
msgid "The @command{git send-email} command is provided by the @code{send-email} output of the @code{git} package, i.e. @code{git:send-email}."
msgstr "@command{git send-email}命令由@code{git}包的@code{send-email}输出提供,即@code{git:send-email}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2114
#, fuzzy
msgid "The following command will create a patch email from the latest commit, open it in your @var{EDITOR} or @var{VISUAL} for editing, and send it to the Guix mailing list to be reviewed and merged.  Assuming you have already configured Git according to @xref{Configuring Git}, you can simply use:"
msgstr "以下命令将从最新的提交创建一个补丁电子邮件,在您的@var{EDITOR}或@var{VISUAL}中打开以进行编辑,并将其发送到Guix邮件列表以供审查和合并。假设您已经根据@xref{Configuring Git}配置了Git,您可以简单地使用:"

#. type: example
#: guix-git/doc/contributing.texi:2117
#, fuzzy, no-wrap
msgid "$ git send-email --annotate -1\n"
msgstr "git send-email\n"

#. type: quotation
#: guix-git/doc/contributing.texi:2119 guix-git/doc/guix.texi:10649
#: guix-git/doc/guix.texi:20858 guix-git/doc/guix.texi:20866
#: guix-git/doc/guix.texi:35813
#, fuzzy, no-wrap
msgid "Tip"
msgstr "Top"

#. type: quotation
#: guix-git/doc/contributing.texi:2125
#, fuzzy
msgid "To add a prefix to the subject of your patch, you may use the @option{--subject-prefix} option.  The Guix project uses this to specify that the patch is intended for a branch or repository other than the @code{master} branch of @url{https://git.savannah.gnu.org/cgit/guix.git}."
msgstr "要在补丁的主题前添加前缀,可以使用 @option{--subject-prefix} 选项。Guix 项目使用此选项来指定补丁是针对 @url{https://git.savannah.gnu.org/cgit/guix.git} 的 @code{master} 分支以外的分支或仓库。"

#. type: example
#: guix-git/doc/contributing.texi:2128
#, no-wrap
msgid "git send-email --annotate --subject-prefix='PATCH core-updates' -1\n"
msgstr "git send-email --annotate --subject-prefix='PATCH core-updates' -1\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2135
#, fuzzy
msgid "The patch email contains a three-dash separator line after the commit message.  You may ``annotate'' the patch with explanatory text by adding it under this line.  If you do not wish to annotate the email, you may drop the @option{--annotate} option."
msgstr "补丁电子邮件在提交消息后包含一条三破折号分隔线。您可以通过在此行下方添加解释性文本来“注释”补丁。如果您不想注释电子邮件,可以省略 @option{--annotate} 选项。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2142
#, fuzzy
msgid "If you need to send a revised patch, don't resend it like this or send a ``fix'' patch to be applied on top of the last one; instead, use @command{git commit --amend} or @url{https://git-rebase.io, @command{git rebase}} to modify the commit, and use the @email{@var{ISSUE_NUMBER}@@debbugs.gnu.org} address and the @option{-v} flag with @command{git send-email}."
msgstr "如果您需要发送修订后的补丁,请不要像这样重新发送它或发送“修复”补丁以应用于最后一个补丁;相反,请使用 @command{git commit --amend} 或 @url{https://git-rebase.io, @command{git rebase}} 来修改提交,并使用 @email{@var{ISSUE_NUMBER}@@debbugs.gnu.org} 地址和 @option{-v} 标志与 @command{git send-email}。"

#. type: example
#: guix-git/doc/contributing.texi:2147
#, fuzzy, no-wrap
msgid ""
"$ git commit --amend\n"
"$ git send-email --annotate -v@var{REVISION} \\\n"
"      --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -1\n"
msgstr ""
"$ git commit --amend\n"
"$ git send-email --annotate -v@var{REVISION} \\\n"
"      --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -1\n"

#. type: quotation
#: guix-git/doc/contributing.texi:2153
#, fuzzy
msgid "Due to an apparent bug in @command{git send-email}, @option{-v @var{REVISION}} (with the space) will not work; you @emph{must} use @option{-v@var{REVISION}}."
msgstr "由于 @command{git send-email} 中的明显错误,@option{-v @var{REVISION}}(带空格)将无法工作;您 @emph{必须} 使用 @option{-v@var{REVISION}}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2159
#, fuzzy
msgid "You can find out @var{ISSUE_NUMBER} either by searching on the mumi interface at @url{https://issues.guix.gnu.org} for the name of your patch or reading the acknowledgement email sent automatically by Debbugs in reply to incoming bugs and patches, which contains the bug number."
msgstr "您可以通过在 @url{https://issues.guix.gnu.org} 的 mumi 界面上搜索补丁名称或阅读 Debbugs 自动发送的确认电子邮件来找到 @var{ISSUE_NUMBER},该电子邮件是对来电错误和补丁的回复,其中包含错误编号。"

#. type: anchor{#1}
#: guix-git/doc/contributing.texi:2160 guix-git/doc/contributing.texi:2162
#, fuzzy, no-wrap
msgid "Notifying Teams"
msgstr "通知团队"

#. type: cindex
#: guix-git/doc/contributing.texi:2162 guix-git/doc/contributing.texi:2661
#, fuzzy, no-wrap
msgid "teams"
msgstr "团队"

#. type: Plain text
#: guix-git/doc/contributing.texi:2171
#, fuzzy
msgid "If your git checkout has been correctly configured (@pxref{Configuring Git}), the @command{git send-email} command will automatically notify the appropriate team members, based on the scope of your changes.  This relies on the @file{etc/teams.scm} script, which can also be invoked manually if you do not use the preferred @command{git send-email} command to submit patches.  To list the available actions of the script, you can invoke it via the @command{etc/teams.scm help} command.  For more information regarding teams, @pxref{Teams}."
msgstr "如果您的 git 检出已正确配置(@pxref{Configuring Git}),则 @command{git send-email} 命令将自动通知适当的团队成员,具体取决于您的更改范围。这依赖于 @file{etc/teams.scm} 脚本,如果您不使用首选的 @command{git send-email} 命令提交补丁,也可以手动调用该脚本。要列出脚本的可用操作,您可以通过 @command{etc/teams.scm help} 命令调用它。有关团队的更多信息,请参见 @pxref{Teams}。"

#. type: quotation
#: guix-git/doc/contributing.texi:2175
#, fuzzy
msgid "On foreign distros, you might have to use @command{./pre-inst-env git send-email} for @file{etc/teams.scm} to work."
msgstr "在外国发行版上,您可能需要使用 @command{./pre-inst-env git send-email} 才能使 @file{etc/teams.scm} 工作。"

#. type: anchor{#1}
#: guix-git/doc/contributing.texi:2177 guix-git/doc/contributing.texi:2179
#, fuzzy, no-wrap
msgid "Multiple Patches"
msgstr "提交补丁"

#. type: cindex
#: guix-git/doc/contributing.texi:2179
#, fuzzy, no-wrap
msgid "cover letter"
msgstr "求职信"

#. type: Plain text
#: guix-git/doc/contributing.texi:2185
#, fuzzy
msgid "While @command{git send-email} alone will suffice for a single patch, an unfortunate flaw in Debbugs means you need to be more careful when sending multiple patches: if you send them all to the @email{guix-patches@@gnu.org} address, a new issue will be created for each patch!"
msgstr "虽然单独使用 @command{git send-email} 对于单个补丁来说足够,但 Debbugs 中的不幸缺陷意味着在发送多个补丁时需要更加小心:如果将它们全部发送到 @email{guix-patches@@gnu.org} 地址,每个补丁都会创建一个新问题!"

#. type: Plain text
#: guix-git/doc/contributing.texi:2191
#, fuzzy
msgid "When sending a series of patches, it's best to send a Git ``cover letter'' first, to give reviewers an overview of the patch series.  We can create a directory called @file{outgoing} containing both our patch series and a cover letter called @file{0000-cover-letter.patch} with @command{git format-patch}."
msgstr "在发送一系列补丁时,最好先发送一个 Git ``求职信'',以便给审阅者提供补丁系列的概述。我们可以创建一个名为 @file{outgoing} 的目录,其中包含我们的补丁系列和一个名为 @file{0000-cover-letter.patch} 的求职信,使用 @command{git format-patch} 创建。"

#. type: example
#: guix-git/doc/contributing.texi:2195
#, fuzzy, no-wrap
msgid ""
"$ git format-patch -@var{NUMBER_COMMITS} -o outgoing \\\n"
"      --cover-letter\n"
msgstr ""
"$ git format-patch -@var{NUMBER_COMMITS} -o outgoing \\\n"
"      --cover-letter\n"

#. type: quotation
#: guix-git/doc/contributing.texi:2202
#, fuzzy
msgid "@code{git format-patch} accepts a wide range of @uref{https://git-scm.com/docs/gitrevisions, revision range} specifiers.  For example, if you are working in a branch, you could select all commits in your branch starting at @code{master}."
msgstr "@code{git format-patch} 接受广泛的 @uref{https://git-scm.com/docs/gitrevisions, 修订范围} 指定符。例如,如果您在一个分支中工作,可以选择从 @code{master} 开始的所有提交。"

#. type: example
#: guix-git/doc/contributing.texi:2206
#, fuzzy, no-wrap
msgid ""
"$ git format-patch master..@var{MY_BRANCH} -o outgoing \\\n"
"      --cover-letter\n"
msgstr ""
"$ git format-patch master..@var{MY_BRANCH} -o outgoing \\\n"
"      --cover-letter\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2212
#, fuzzy
msgid "We can now send @emph{just} the cover letter to the @email{guix-patches@@gnu.org} address, which will create an issue that we can send the rest of the patches to."
msgstr "我们现在可以将 @emph{仅} 求职信发送到 @email{guix-patches@@gnu.org} 地址,这将创建一个我们可以将其余补丁发送到的问题。"

#. type: example
#: guix-git/doc/contributing.texi:2216
#, fuzzy, no-wrap
msgid ""
"$ git send-email outgoing/0000-cover-letter.patch --annotate\n"
"$ rm outgoing/0000-cover-letter.patch # we don't want to resend it!\n"
msgstr ""
"$ git send-email outgoing/0000-cover-letter.patch --annotate\n"
"$ rm outgoing/0000-cover-letter.patch # 我们不想重新发送它!\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2221
#, fuzzy
msgid "Ensure you edit the email to add an appropriate subject line and blurb before sending it.  Note the automatically generated shortlog and diffstat below the blurb."
msgstr "确保您编辑电子邮件以添加适当的主题行和简介,然后再发送。请注意简介下方自动生成的短日志和差异统计。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2224
#, fuzzy
msgid "Once the Debbugs mailer has replied to your cover letter email, you can send the actual patches to the newly-created issue address."
msgstr "一旦 Debbugs 邮件程序回复了您的求职信电子邮件,您就可以将实际补丁发送到新创建的问题地址。"

#. type: example
#: guix-git/doc/contributing.texi:2228
#, fuzzy, no-wrap
msgid ""
"$ git send-email outgoing/*.patch --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org\n"
"$ rm -rf outgoing # we don't need these anymore\n"
msgstr ""
"$ git send-email outgoing/*.patch --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org\n"
"$ rm -rf outgoing # 我们不再需要这些\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2233
#, fuzzy
msgid "Thankfully, this @command{git format-patch} dance is not necessary to send an amended patch series, since an issue already exists for the patchset."
msgstr "值得庆幸的是,发送修订补丁系列时不需要进行这种 @command{git format-patch} 操作,因为补丁集已经存在问题。"

#. type: example
#: guix-git/doc/contributing.texi:2237
#, fuzzy, no-wrap
msgid ""
"$ git send-email -@var{NUMBER_COMMITS} -v@var{REVISION} \\\n"
"      --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org\n"
msgstr ""
"$ git send-email -@var{NUMBER_COMMITS} -v@var{REVISION} \\\n"
"      --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2242
#, fuzzy
msgid "If need be, you may use @option{--cover-letter --annotate} to send another cover letter, e.g. for explaining what's changed since the last revision, and these changes are necessary."
msgstr "如有必要,您可以使用 @option{--cover-letter --annotate} 发送另一封求职信,例如解释自上次修订以来发生了什么变化,这些变化是必要的。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2248
#, fuzzy
msgid "This section describes how the Guix project tracks its bug reports, patch submissions and topic branches."
msgstr "本节描述了Guix项目如何跟踪其错误报告、补丁提交和主题分支。"

#. type: subsection
#: guix-git/doc/contributing.texi:2255 guix-git/doc/contributing.texi:2257
#: guix-git/doc/contributing.texi:2258
#, fuzzy, no-wrap
msgid "The Issue Tracker"
msgstr "问题跟踪器"

#. type: menuentry
#: guix-git/doc/contributing.texi:2255
#, fuzzy
msgid "The official bug and patch tracker."
msgstr "官方的错误和补丁跟踪器。"

#. type: subsection
#: guix-git/doc/contributing.texi:2255 guix-git/doc/contributing.texi:2271
#: guix-git/doc/contributing.texi:2272
#, fuzzy, no-wrap
msgid "Managing Patches and Branches"
msgstr "管理补丁和分支"

#. type: menuentry
#: guix-git/doc/contributing.texi:2255
#, fuzzy
msgid "How changes to Guix are managed."
msgstr "Guix的更改是如何管理的。"

#. type: subsection
#: guix-git/doc/contributing.texi:2255 guix-git/doc/contributing.texi:2376
#: guix-git/doc/contributing.texi:2377
#, fuzzy, no-wrap
msgid "Debbugs User Interfaces"
msgstr "用户界面"

#. type: menuentry
#: guix-git/doc/contributing.texi:2255
#, fuzzy
msgid "Ways to interact with Debbugs."
msgstr "与Debbugs互动的方式。"

#. type: subsection
#: guix-git/doc/contributing.texi:2255 guix-git/doc/contributing.texi:2565
#: guix-git/doc/contributing.texi:2566
#, fuzzy, no-wrap
msgid "Debbugs Usertags"
msgstr "Debbugs用户标签"

#. type: menuentry
#: guix-git/doc/contributing.texi:2255
#, fuzzy
msgid "Tag reports with custom labels."
msgstr "用自定义标签标记报告。"

#. type: subsection
#: guix-git/doc/contributing.texi:2255 guix-git/doc/contributing.texi:2622
#: guix-git/doc/contributing.texi:2623
#, fuzzy, no-wrap
msgid "Cuirass Build Notifications"
msgstr "Cuirass构建通知"

#. type: menuentry
#: guix-git/doc/contributing.texi:2255
#, fuzzy
msgid "Be alerted of any breakage via RSS feeds."
msgstr "通过RSS订阅任何故障的警报。"

#. type: cindex
#: guix-git/doc/contributing.texi:2260
#, fuzzy, no-wrap
msgid "bug reports, tracking"
msgstr "错误报告,跟踪"

#. type: cindex
#: guix-git/doc/contributing.texi:2261
#, fuzzy, no-wrap
msgid "patch submissions, tracking"
msgstr "补丁提交,跟踪"

#. type: cindex
#: guix-git/doc/contributing.texi:2262
#, fuzzy, no-wrap
msgid "issue tracking"
msgstr "问题跟踪"

#. type: cindex
#: guix-git/doc/contributing.texi:2263
#, fuzzy, no-wrap
msgid "Debbugs, issue tracking system"
msgstr "Debbugs,问题跟踪系统"

#. type: Plain text
#: guix-git/doc/contributing.texi:2270
#, fuzzy
msgid "Bug reports and patch submissions are currently tracked using the Debbugs instance at @uref{https://bugs.gnu.org}.  Bug reports are filed against the @code{guix} ``package'' (in Debbugs parlance), by sending email to @email{bug-guix@@gnu.org}, while patch submissions are filed against the @code{guix-patches} package by sending email to @email{guix-patches@@gnu.org} (@pxref{Submitting Patches})."
msgstr "错误报告和补丁提交目前通过@uref{https://bugs.gnu.org}的Debbugs实例进行跟踪。错误报告是针对@code{guix}“包”(在Debbugs术语中)提交的,发送邮件至@email{bug-guix@@gnu.org},而补丁提交则是针对@code{guix-patches}包,发送邮件至@email{guix-patches@@gnu.org}(@pxref{提交补丁})。"

#. type: cindex
#: guix-git/doc/contributing.texi:2273
#, no-wrap
msgid "branching strategy"
msgstr "分支策略"

#. type: cindex
#: guix-git/doc/contributing.texi:2274
#, no-wrap
msgid "rebuild scheduling strategy"
msgstr "重新构建的调度策略"

#. type: Plain text
#: guix-git/doc/contributing.texi:2283
#, fuzzy
msgid "Changes should be posted to @email{guix-patches@@gnu.org}.  This mailing list fills the patch-tracking database (@pxref{The Issue Tracker}).  It also allows patches to be picked up and tested by the quality assurance tooling; the result of that testing eventually shows up on the dashboard at @indicateurl{https://qa.guix.gnu.org/issue/@var{ISSUE_NUMBER}}, where @var{ISSUE_NUMBER} is the number assigned by the issue tracker.  Leave time for a review, without committing anything."
msgstr "更改应发送至@email{guix-patches@@gnu.org}。该邮件列表填充补丁跟踪数据库(@pxref{问题跟踪器})。它还允许补丁被质量保证工具拾取和测试;测试的结果最终会显示在@indicateurl{https://qa.guix.gnu.org/issue/@var{ISSUE_NUMBER}}的仪表板上,其中@var{ISSUE_NUMBER}是问题跟踪器分配的编号。请留出时间进行审查,而不要提交任何内容。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2289
#, fuzzy
msgid "As an exception, some changes considered ``trivial'' or ``obvious'' may be pushed directly to the @code{master} branch.  This includes changes to fix typos and reverting commits that caused immediate problems.  This is subject to being adjusted, allowing individuals to commit directly on non-controversial changes on parts they’re familiar with."
msgstr "作为例外,一些被认为是“微不足道”或“显而易见”的更改可以直接推送到@code{master}分支。这包括修复拼写错误和恢复导致立即问题的提交。这可能会有所调整,允许个人在他们熟悉的部分直接提交非争议性更改。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2297
#, fuzzy
msgid "Changes which affect more than 300 dependent packages (@pxref{Invoking guix refresh}) should first be pushed to a topic branch other than @code{master}; the set of changes should be consistent---e.g., ``GNOME update'', ``NumPy update'', etc.  This allows for testing: the branch will automatically show up at @indicateurl{https://qa.guix.gnu.org/branch/@var{branch}}, with an indication of its build status on various platforms."
msgstr "影响超过300个依赖包的更改(@pxref{调用guix refresh})应首先推送到除@code{master}以外的主题分支;更改集应保持一致——例如,“GNOME更新”、“NumPy更新”等。这允许进行测试:该分支将自动显示在@indicateurl{https://qa.guix.gnu.org/branch/@var{branch}},并在各种平台上指示其构建状态。"

#. type: cindex
#: guix-git/doc/contributing.texi:2298
#, fuzzy, no-wrap
msgid "feature branches, coordination"
msgstr "特性分支,协调"

#. type: Plain text
#: guix-git/doc/contributing.texi:2303
#, fuzzy
msgid "To help coordinate the merging of branches, you must create a new guix-patches issue each time you create a branch (@pxref{The Issue Tracker}).  The title of the issue requesting to merge a branch should have the following format:"
msgstr "为了帮助协调分支的合并,每次创建分支时必须创建一个新的 guix-patches 问题 (@pxref{问题跟踪器})。请求合并分支的 issue 标题应具有以下格式:"

#. type: cindex
#: guix-git/doc/contributing.texi:2304
#, fuzzy, no-wrap
msgid "merge requests, template"
msgstr "合并请求,模板"

#. type: example
#: guix-git/doc/contributing.texi:2307
#, fuzzy, no-wrap
msgid "Request for merging \"@var{name}\" branch\n"
msgstr "请求合并“@var{name}”分支\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2312
#, fuzzy
msgid "The @url{https://qa.guix.gnu.org/, QA infrastructure} recognizes such issues and lists the merge requests on its main page.  The following points apply to managing these branches:"
msgstr "@url{https://qa.guix.gnu.org/, QA 基础设施} 识别此类问题并在其主页上列出合并请求。管理这些分支时应遵循以下几点:"

#. type: enumerate
#: guix-git/doc/contributing.texi:2318
#, fuzzy
msgid "The commits on the branch should be a combination of the patches relevant to the branch.  Patches not related to the topic of the branch should go elsewhere."
msgstr "分支上的提交应是与该分支相关的补丁的组合。与分支主题无关的补丁应放在其他地方。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2323
#, fuzzy
msgid "Any changes that can be made on the master branch, should be made on the master branch.  If a commit can be split to apply part of the changes on master, this is good to do."
msgstr "可以在主分支上进行的任何更改,应在主分支上进行。如果可以将提交拆分以在主分支上应用部分更改,这样做是好的。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2327
#, fuzzy
msgid "It should be possible to re-create the branch by starting from master and applying the relevant patches."
msgstr "应该可以通过从主分支开始并应用相关补丁来重新创建该分支。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2331
#, fuzzy
msgid "Avoid merging master in to the branch.  Prefer rebasing or re-creating the branch on top of an updated master revision."
msgstr "避免将主分支合并到该分支中。更倾向于在更新的主修订版上重新基于或重新创建该分支。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2336
#, fuzzy
msgid "Minimise the changes on master that are missing on the branch prior to merging the branch in to master.  This means that the state of the branch better reflects the state of master should the branch be merged."
msgstr "在将分支合并到主分支之前,尽量减少主分支上缺少的更改。这意味着如果分支被合并,分支的状态更好地反映主分支的状态。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2341
#, fuzzy
msgid "If you don't have commit access, create the ``Request for merging'' issue and request that someone creates the branch.  Include a list of issues/patches to include on the branch."
msgstr "如果您没有提交访问权限,请创建“合并请求”问题,并请求某人创建该分支。包括要包含在分支上的问题/补丁列表。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2355
#, fuzzy
msgid "Normally branches will be merged in a ``first come, first merged'' manner, tracked through the guix-patches issues.  If you agree on a different order with those involved, you can track this by updating which issues block@footnote{You can mark an issue as blocked by another by emailing @email{control@@debbugs.gnu.org} with the following line in the body of the email: @code{block XXXXX by YYYYY}.  Where @code{XXXXX} is the number for the blocked issue, and @code{YYYYY} is the number for the issue blocking it.} which other issues.  Therefore, to know which branch is at the front of the queue, look for the oldest issue, or the issue that isn't @dfn{blocked} by any other branch merges.  An ordered list of branches with the open issues is available at @url{https://qa.guix.gnu.org}."
msgstr "通常,分支将以“先到先合并”的方式合并,通过 guix-patches 问题进行跟踪。如果您与相关人员达成不同的顺序,可以通过更新哪些问题阻止@footnote{您可以通过向@email{control@@debbugs.gnu.org}发送电子邮件,邮件正文中包含以下行来标记一个问题被另一个问题阻止:@code{block XXXXX by YYYYY}。其中 @code{XXXXX} 是被阻止问题的编号,@code{YYYYY} 是阻止它的问题的编号。}其他问题来跟踪。因此,要知道哪个分支在队列前面,请查找最旧的问题,或未被任何其他分支合并@dfn{阻止}的问题。带有开放问题的分支的有序列表可在 @url{https://qa.guix.gnu.org} 上找到。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2361
#, fuzzy
msgid "Once a branch is at the front of the queue, wait until sufficient time has passed for the build farms to have processed the changes, and for the necessary testing to have happened.  For example, you can check @indicateurl{https://qa.guix.gnu.org/branch/@var{branch}} to see information on some builds and substitute availability."
msgstr "一旦分支在队列的前面,等待足够的时间以便构建农场处理更改,并进行必要的测试。例如,您可以检查 @indicateurl{https://qa.guix.gnu.org/branch/@var{branch}} 以查看一些构建和替代可用性的信息。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2364
#, fuzzy
msgid "Once the branch has been merged, the issue should be closed and the branch deleted."
msgstr "一旦分支被合并,问题应该关闭并删除该分支。"

#. type: cindex
#: guix-git/doc/contributing.texi:2365
#, fuzzy, no-wrap
msgid "work-in-progress branches, wip"
msgstr "进行中的分支,wip"

#. type: cindex
#: guix-git/doc/contributing.texi:2366
#, fuzzy, no-wrap
msgid "wip branches"
msgstr "wip 分支"

#. type: Plain text
#: guix-git/doc/contributing.texi:2375
#, fuzzy
msgid "Sometimes, a branch may be a work in progress, for example for larger efforts such as updating the GNOME desktop.  In these cases, the branch name should reflect this by having the @samp{wip-} prefix.  The QA infrastructure will avoid building work-in-progress branches, so that the available resources can be better focused on building the branches that are ready to be merged.  When the branch is no longer a work in progress, it should be renamed, with the @samp{wip-} prefix removed, and only then should the merge requests be created, as documented earlier."
msgstr "有时,分支可能是一个进行中的工作,例如更新 GNOME 桌面等较大工作。在这些情况下,分支名称应通过添加 @samp{wip-} 前缀来反映这一点。QA 基础设施将避免构建进行中的分支,以便更好地集中可用资源于构建准备合并的分支。当分支不再是进行中的工作时,应重命名,去掉 @samp{wip-} 前缀,只有在此之后才应创建合并请求,如前所述。"

#. type: subsubsection
#: guix-git/doc/contributing.texi:2379
#, fuzzy, no-wrap
msgid "Web interface"
msgstr "用户界面"

#. type: cindex
#: guix-git/doc/contributing.texi:2381
#, fuzzy, no-wrap
msgid "mumi, web interface for issues"
msgstr "用户界面"

#. type: Plain text
#: guix-git/doc/contributing.texi:2384
#, fuzzy
msgid "A web interface (actually @emph{two} web interfaces!) are available to browse issues:"
msgstr "有一个网络界面(实际上是 @emph{两个} 网络界面!)可用于浏览问题:"

#. type: itemize
#: guix-git/doc/contributing.texi:2393
#, fuzzy
msgid "@url{https://issues.guix.gnu.org} provides a pleasant interface powered by mumi@footnote{Mumi is a nice piece of software written in Guile, and you can help! See @url{https://git.savannah.gnu.org/cgit/guix/mumi.git}.} to browse bug reports and patches, and to participate in discussions; mumi also has a command-line interface as we will see below;"
msgstr "@url{https://issues.guix.gnu.org} 提供了一个愉快的界面,由 mumi@footnote{Mumi 是一个用 Guile 编写的优秀软件,您可以参与!请参见 @url{https://git.savannah.gnu.org/cgit/guix/mumi.git}。} 提供支持,用于浏览错误报告和补丁,并参与讨论;mumi 还具有命令行界面,正如我们下面将看到的;"

#. type: itemize
#: guix-git/doc/contributing.texi:2395
#, fuzzy
msgid "@url{https://bugs.gnu.org/guix} lists bug reports;"
msgstr "@url{https://gnupg.org/, GNU libgcrypt};"

#. type: itemize
#: guix-git/doc/contributing.texi:2397
#, fuzzy
msgid "@url{https://bugs.gnu.org/guix-patches} lists patch submissions."
msgstr "@url{https://bugs.gnu.org/guix-patches} 列出了补丁提交。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2402
#, fuzzy
msgid "To view discussions related to issue number @var{n}, go to @indicateurl{https://issues.guix.gnu.org/@var{n}} or @indicateurl{https://bugs.gnu.org/@var{n}}."
msgstr "要查看与问题编号 @var{n} 相关的讨论,请访问 @indicateurl{https://issues.guix.gnu.org/@var{n}} 或 @indicateurl{https://bugs.gnu.org/@var{n}}。"

#. type: subsubsection
#: guix-git/doc/contributing.texi:2403
#, fuzzy, no-wrap
msgid "Command-Line Interface"
msgstr "编程接口"

#. type: cindex
#: guix-git/doc/contributing.texi:2405
#, fuzzy, no-wrap
msgid "mumi command-line interface"
msgstr "编程接口"

#. type: cindex
#: guix-git/doc/contributing.texi:2406
#, fuzzy, no-wrap
msgid "mumi am"
msgstr "mumi am"

#. type: cindex
#: guix-git/doc/contributing.texi:2407
#, fuzzy, no-wrap
msgid "mumi compose"
msgstr "mumi compose"

#. type: cindex
#: guix-git/doc/contributing.texi:2408
#, fuzzy, no-wrap
msgid "mumi send-email"
msgstr "git send-email"

#. type: cindex
#: guix-git/doc/contributing.texi:2409
#, fuzzy, no-wrap
msgid "mumi www"
msgstr "mumi www"

#. type: Plain text
#: guix-git/doc/contributing.texi:2414
#, fuzzy
msgid "Mumi also comes with a command-line interface that can be used to search existing issues, open new issues, compose replies, apply and send patches.  You do not need to use Emacs to use the mumi command-line client.  You interact with it only on the command-line."
msgstr "Mumi 还带有一个命令行界面,可用于搜索现有问题、打开新问题、撰写回复、应用和发送补丁。您不需要使用 Emacs 来使用 mumi 命令行客户端。您只需在命令行中与它交互。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2418
#, fuzzy
msgid "To use the mumi command-line interface, navigate to a local clone of the Guix git repository, and drop into a shell with mumi, git and git:send-email installed."
msgstr "要使用 mumi 命令行界面,请导航到 Guix git 仓库的本地克隆,并进入一个安装了 mumi、git 和 git:send-email 的 shell。"

#. type: example
#: guix-git/doc/contributing.texi:2422
#, fuzzy, no-wrap
msgid ""
"$ cd guix\n"
"~/guix$ guix shell mumi git git:send-email\n"
msgstr ""
"$ cd guix\n"
"~/guix$ guix shell mumi git git:send-email\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2425
#, fuzzy
msgid "To search for issues, say all open issues about \"zig\", run"
msgstr "要搜索问题,请运行关于“zig”的所有开放问题"

#. type: example
#: guix-git/doc/contributing.texi:2428
#, fuzzy, no-wrap
msgid ""
"~/guix [env]$ mumi search zig is:open\n"
"\n"
msgstr ""
"~/guix [env]$ mumi search zig is:open\n"
"\n"

#. type: example
#: guix-git/doc/contributing.texi:2439
#, fuzzy, no-wrap
msgid ""
"#60889 Add zig-build-system\n"
"opened on 17 Jan 17:37 Z by Ekaitz Zarraga\n"
"#61036 [PATCH 0/3] Update zig to 0.10.1\n"
"opened on 24 Jan 09:42 Z by Efraim Flashner\n"
"#39136 [PATCH] gnu: services: Add endlessh.\n"
"opened on 14 Jan 2020 21:21 by Nicol? Balzarotti\n"
"#60424 [PATCH] gnu: Add python-online-judge-tools\n"
"opened on 30 Dec 2022 07:03 by gemmaro\n"
"#45601 [PATCH 0/6] vlang 0.2 update\n"
"opened on  1 Jan 2021 19:23 by Ryan Prior\n"
msgstr ""
"#60889 添加 zig-build-system\n"
"于 17 年 1 月 17:37 Z 由 Ekaitz Zarraga 开启\n"
"#61036 [PATCH 0/3] 更新 zig 到 0.10.1\n"
"于 24 年 1 月 09:42 Z 由 Efraim Flashner 开启\n"
"#39136 [PATCH] gnu: services: 添加 endlessh。\n"
"于 2020 年 1 月 14 日 21:21 由 Nicol? Balzarotti 开启\n"
"#60424 [PATCH] gnu: 添加 python-online-judge-tools\n"
"于 2022 年 12 月 30 日 07:03 由 gemmaro 开启\n"
"#45601 [PATCH 0/6] vlang 0.2 更新\n"
"于 2021 年 1 月 1 日 19:23 由 Ryan Prior 开启\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2442
#, fuzzy
msgid "Pick an issue and make it the \"current\" issue."
msgstr "选择一个问题并将其设为“当前”问题。"

#. type: example
#: guix-git/doc/contributing.texi:2445
#, fuzzy, no-wrap
msgid ""
"~/guix [env]$ mumi current 61036\n"
"\n"
msgstr ""
"~/guix [env]$ mumi current 61036\n"
"\n"

#. type: example
#: guix-git/doc/contributing.texi:2448
#, fuzzy, no-wrap
msgid ""
"#61036 [PATCH 0/3] Update zig to 0.10.1\n"
"opened on 24 Jan 09:42 Z by Efraim Flashner\n"
msgstr ""
"#61036 [PATCH 0/3] 更新 zig 到 0.10.1\n"
"于 24 年 1 月 09:42 Z 由 Efraim Flashner 开启\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2453
#, fuzzy
msgid "Once an issue is the current issue, you can open the issue in a web browser, compose replies, apply patches, send patches, etc. with short succinct commands."
msgstr "一旦一个问题成为当前问题,您可以在网页浏览器中打开该问题,撰写回复,应用补丁,发送补丁等,使用简短的命令。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2455
#, fuzzy
msgid "Open the issue in your web browser using"
msgstr "使用以下命令在您的网页浏览器中打开该问题"

#. type: example
#: guix-git/doc/contributing.texi:2458
#, fuzzy, no-wrap
msgid "~/guix [env]$ mumi www\n"
msgstr "~/guix [env]$ mumi www\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2461
#, fuzzy
msgid "Compose a reply using"
msgstr "使用以下命令撰写回复"

#. type: example
#: guix-git/doc/contributing.texi:2464
#, fuzzy, no-wrap
msgid "~/guix [env]$ mumi compose\n"
msgstr "~/guix [env]$ mumi compose\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2467
#, fuzzy
msgid "Compose a reply and close the issue using"
msgstr "使用以下命令撰写回复并关闭该问题"

#. type: example
#: guix-git/doc/contributing.texi:2470
#, fuzzy, no-wrap
msgid "~/guix [env]$ mumi compose --close\n"
msgstr "~/guix [env]$ mumi compose --close\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2475
#, fuzzy
msgid "@command{mumi compose} opens your mail client by passing @samp{mailto:} URIs to @command{xdg-open}.  So, you need to have @command{xdg-open} set up to open your mail client correctly."
msgstr "@command{mumi compose} 通过将 @samp{mailto:} URI 传递给 @command{xdg-open} 来打开您的邮件客户端。因此,您需要正确设置 @command{xdg-open} 以打开您的邮件客户端。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2477
#, fuzzy
msgid "Apply the latest patchset from the issue using"
msgstr "使用以下命令应用该问题的最新补丁集"

#. type: example
#: guix-git/doc/contributing.texi:2480
#, fuzzy, no-wrap
msgid "~/guix [env]$ mumi am\n"
msgstr "~/guix [env]$ mumi am\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2483
#, fuzzy
msgid "You may also apply a patchset of a specific version (say, v3) using"
msgstr "您还可以使用以下命令应用特定版本的补丁集(例如,v3)"

#. type: example
#: guix-git/doc/contributing.texi:2486
#, fuzzy, no-wrap
msgid "~/guix [env]$ mumi am v3\n"
msgstr "~/guix [env]$ mumi am v3\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2491
#, fuzzy
msgid "Or, you may apply a patch from a specific e-mail message.  For example, to apply the patch from the 4th message (message index starts from 0), run"
msgstr "或者,您可以从特定电子邮件消息中应用补丁。例如,要应用来自第 4 条消息的补丁(消息索引从 0 开始),请运行"

#. type: example
#: guix-git/doc/contributing.texi:2494
#, fuzzy, no-wrap
msgid "~/guix [env]$ mumi am @@4\n"
msgstr "~/guix [env]$ mumi am @@4\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2499
#, fuzzy
msgid "@command{mumi am} is a wrapper around @command{git am}.  You can pass @command{git am} arguments to it after a @samp{--}.  For example, to add a Signed-off-by trailer, run"
msgstr "@command{mumi am} 是 @command{git am} 的一个包装器。您可以在 @samp{--} 之后将 @command{git am} 参数传递给它。例如,要添加一个 Signed-off-by 附加信息,请运行"

#. type: example
#: guix-git/doc/contributing.texi:2502
#, fuzzy, no-wrap
msgid "~/guix [env]$ mumi am -- -s\n"
msgstr "~/guix [env]$ mumi am -- -s\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2505
#, fuzzy
msgid "Create and send patches to the issue using"
msgstr "使用以下命令创建并发送补丁到该问题"

#. type: example
#: guix-git/doc/contributing.texi:2509
#, fuzzy, no-wrap
msgid ""
"~/guix [env]$ git format-patch origin/master\n"
"~/guix [env]$ mumi send-email foo.patch bar.patch\n"
msgstr ""
"~/guix [env]$ git format-patch origin/master\n"
"~/guix [env]$ mumi send-email foo.patch bar.patch\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2514
#, fuzzy
msgid "Note that you do not have to pass in @samp{--to} or @samp{--cc} arguments to @command{git format-patch}.  @command{mumi send-email} will put them in correctly when sending the patches."
msgstr "请注意,您不必将 @samp{--to} 或 @samp{--cc} 参数传递给 @command{git format-patch}。@command{mumi send-email} 在发送补丁时会正确放置它们。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2516
#, fuzzy
msgid "To open a new issue, run"
msgstr "要打开一个新问题,请运行"

#. type: example
#: guix-git/doc/contributing.texi:2519
#, fuzzy, no-wrap
msgid "~/guix [env]$ mumi new\n"
msgstr "~/guix [env]$ mumi new\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2523
#, fuzzy
msgid "and send an email (using @command{mumi compose}) or patches (using @command{mumi send-email})."
msgstr "并发送电子邮件(使用 @command{mumi compose})或补丁(使用 @command{mumi send-email})。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2529
#, fuzzy
msgid "@command{mumi send-email} is really a wrapper around @command{git send-email} that automates away all the nitty-gritty of sending patches.  It uses the current issue state to automatically figure out the correct @samp{To} address to send to, other participants to @samp{Cc}, headers to add, etc."
msgstr "@command{mumi send-email} 实际上是 @command{git send-email} 的一个包装器,自动处理发送补丁的所有琐事。它使用当前问题状态自动确定正确的 @samp{To} 地址、其他参与者的 @samp{Cc}、要添加的标题等。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2537
#, fuzzy
msgid "Also note that, unlike @command{git send-email}, @command{mumi send-email} works perfectly well with single and multiple patches alike.  It automates away the debbugs dance of sending the first patch, waiting for a response from debbugs and sending the remaining patches.  It does so by sending the first patch, polling the server for a response, and then sending the remaining patches.  This polling can unfortunately take a few minutes.  So, please be patient."
msgstr "还请注意,与 @command{git send-email} 不同,@command{mumi send-email} 对单个和多个补丁都能很好地工作。它自动处理发送第一个补丁、等待 debbugs 的响应以及发送其余补丁的过程。它通过发送第一个补丁、轮询服务器以获取响应,然后发送其余补丁来实现。这种轮询不幸地可能需要几分钟。因此,请耐心等待。"

#. type: subsubsection
#: guix-git/doc/contributing.texi:2538
#, fuzzy, no-wrap
msgid "Emacs Interface"
msgstr "用户界面"

#. type: Plain text
#: guix-git/doc/contributing.texi:2542
#, fuzzy
msgid "If you use Emacs, you may find it more convenient to interact with issues using @file{debbugs.el}, which you can install with:"
msgstr "如果您使用 Emacs,您可能会发现使用 @file{debbugs.el} 与问题交互更方便,您可以通过以下方式安装:"

#. type: example
#: guix-git/doc/contributing.texi:2545
#, fuzzy, no-wrap
msgid "guix install emacs-debbugs\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2548
#, fuzzy
msgid "For example, to list all open issues on @code{guix-patches}, hit:"
msgstr "例如,要列出 @code{guix-patches} 上的所有开放问题,请按:"

#. type: example
#: guix-git/doc/contributing.texi:2551
#, fuzzy, no-wrap
msgid "@kbd{C-u} @kbd{M-x} debbugs-gnu @kbd{RET} @kbd{RET} guix-patches @kbd{RET} n y\n"
msgstr "@kbd{C-u} @kbd{M-x} debbugs-gnu @kbd{RET} @kbd{RET} guix-patches @kbd{RET} n y\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2558
#, fuzzy
msgid "For a more convenient (shorter) way to access both the bugs and patches submissions, you may want to configure the @code{debbugs-gnu-default-packages} and @code{debbugs-gnu-default-severities} Emacs variables (@pxref{Viewing Bugs within Emacs})."
msgstr "为了更方便(更简短)地访问错误和补丁提交,您可能想要配置 @code{debbugs-gnu-default-packages} 和 @code{debbugs-gnu-default-severities} Emacs 变量(@pxref{在 Emacs 中查看错误})。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2561
#, fuzzy
msgid "To search for bugs, @samp{@kbd{M-x} debbugs-gnu-guix-search} can be used."
msgstr "要搜索错误,可以使用 @samp{@kbd{M-x} debbugs-gnu-guix-search}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2564
msgid "@xref{Top,,, debbugs-ug, Debbugs User Guide}, for more information on this nifty tool!"
msgstr "@xref{Top,,, debbugs-ug, Debbugs User Guide},了解更多有关此实用工具的信息!"

#. type: cindex
#: guix-git/doc/contributing.texi:2568
#, fuzzy, no-wrap
msgid "usertags, for debbugs"
msgstr "用户标签,适用于 debbugs"

#. type: cindex
#: guix-git/doc/contributing.texi:2569
#, fuzzy, no-wrap
msgid "Debbugs usertags"
msgstr "Debbugs 用户标签"

#. type: Plain text
#: guix-git/doc/contributing.texi:2580
#, fuzzy
msgid "Debbugs provides a feature called @dfn{usertags} that allows any user to tag any bug with an arbitrary label.  Bugs can be searched by usertag, so this is a handy way to organize bugs@footnote{The list of usertags is public information, and anyone can modify any user's list of usertags, so keep that in mind if you choose to use this feature.}.  If you use Emacs Debbugs, the entry-point to consult existing usertags is the @samp{C-u M-x debbugs-gnu-usertags} procedure.  To set a usertag, press @samp{C} while consulting a bug within the *Guix-Patches* buffer opened with @samp{C-u M-x debbugs-gnu-bugs} buffer, then select @code{usertag} and follow the instructions."
msgstr "Debbugs 提供了一种称为 @dfn{usertags} 的功能,允许任何用户用任意标签标记任何错误。可以通过用户标签搜索错误,因此这是组织错误的便捷方式@footnote{用户标签列表是公开信息,任何人都可以修改任何用户的用户标签列表,因此如果您选择使用此功能,请记住这一点。}。如果您使用 Emacs Debbugs,咨询现有用户标签的入口点是 @samp{C-u M-x debbugs-gnu-usertags} 程序。要设置用户标签,请在 *Guix-Patches* 缓冲区中咨询错误时按 @samp{C},该缓冲区是通过 @samp{C-u M-x debbugs-gnu-bugs} 打开的,然后选择 @code{usertag} 并按照说明进行操作。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2586
#, fuzzy
msgid "For example, to view all the bug reports (or patches, in the case of @code{guix-patches}) tagged with the usertag @code{powerpc64le-linux} for the user @code{guix}, open a URL like the following in a web browser: @url{https://debbugs.gnu.org/cgi-bin/pkgreport.cgi?tag=powerpc64le-linux;users=guix}."
msgstr "例如,要查看所有与用户 @code{guix} 相关的用户标签 @code{powerpc64le-linux} 的错误报告(或补丁,在 @code{guix-patches} 的情况下),请在网页浏览器中打开如下 URL: @url{https://debbugs.gnu.org/cgi-bin/pkgreport.cgi?tag=powerpc64le-linux;users=guix}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2590
#, fuzzy
msgid "For more information on how to use usertags, please refer to the documentation for Debbugs or the documentation for whatever tool you use to interact with Debbugs."
msgstr "有关如何使用用户标签的更多信息,请参考 Debbugs 的文档或您用来与 Debbugs 交互的任何工具的文档。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2595
#, fuzzy
msgid "In Guix, we are experimenting with usertags to keep track of architecture-specific issues, as well as reviewed ones.  To facilitate collaboration, all our usertags are associated with the single user @code{guix}.  The following usertags currently exist for that user:"
msgstr "在 Guix 中,我们正在尝试使用用户标签来跟踪特定于架构的问题,以及经过审查的问题。为了促进协作,我们所有的用户标签都与单一用户 @code{guix} 相关联。当前为该用户存在以下用户标签:"

#. #-#-#-#-#  contributing.pot (guix manual checkout)  #-#-#-#-#
#. type: item
#. #-#-#-#-#  guix.pot (guix manual checkout)  #-#-#-#-#
#. type: defvar
#: guix-git/doc/contributing.texi:2598 guix-git/doc/guix.texi:666
#: guix-git/doc/guix.texi:50196
#, fuzzy, no-wrap
msgid "powerpc64le-linux"
msgstr "aarch64-linux"

#. type: table
#: guix-git/doc/contributing.texi:2606
#, fuzzy
msgid "The purpose of this usertag is to make it easy to find the issues that matter most for the @code{powerpc64le-linux} system type.  Please assign this usertag to bugs or patches that affect @code{powerpc64le-linux} but not other system types.  In addition, you may use it to identify issues that for some reason are particularly important for the @code{powerpc64le-linux} system type, even if the issue affects other system types, too."
msgstr "此用户标签的目的是使查找对 @code{powerpc64le-linux} 系统类型最重要的问题变得容易。请将此用户标签分配给影响 @code{powerpc64le-linux} 而不影响其他系统类型的错误或补丁。此外,您可以使用它来识别出于某种原因对 @code{powerpc64le-linux} 系统类型特别重要的问题,即使该问题也影响其他系统类型。"

#. #-#-#-#-#  contributing.pot (guix manual checkout)  #-#-#-#-#
#. type: item
#. #-#-#-#-#  guix.pot (guix manual checkout)  #-#-#-#-#
#. type: cindex
#: guix-git/doc/contributing.texi:2607 guix-git/doc/guix.texi:2986
#: guix-git/doc/guix.texi:4938
#, fuzzy, no-wrap
msgid "reproducibility"
msgstr "可重现性"

#. type: table
#: guix-git/doc/contributing.texi:2611
#, fuzzy
msgid "For issues related to reproducibility.  For example, it would be appropriate to assign this usertag to a bug report for a package that fails to build reproducibly."
msgstr "与可重现性相关的问题。例如,将此用户标签分配给无法可重现构建的包的错误报告是合适的。"

#. type: item
#: guix-git/doc/contributing.texi:2612
#, fuzzy, no-wrap
msgid "reviewed-looks-good"
msgstr "审核-看起来不错"

#. type: table
#: guix-git/doc/contributing.texi:2614
#, fuzzy
msgid "You have reviewed the series and it looks good to you (LGTM)."
msgstr "您已审核该系列,并且看起来不错(LGTM)。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2621
#, fuzzy
msgid "If you're a committer and you want to add a usertag, just start using it with the @code{guix} user.  If the usertag proves useful to you, consider updating this section of the manual so that others will know what your usertag means."
msgstr "如果您是提交者并且想要添加用户标签,只需开始与 @code{guix} 用户一起使用它。如果该用户标签对您有用,请考虑更新手册的这一部分,以便其他人知道您的用户标签的含义。"

#. type: cindex
#: guix-git/doc/contributing.texi:2625
#, fuzzy, no-wrap
msgid "build event notifications, RSS feed"
msgstr "构建事件通知,RSS 源"

#. type: cindex
#: guix-git/doc/contributing.texi:2626
#, fuzzy, no-wrap
msgid "notifications, build events"
msgstr "容器,构建环境"

#. type: Plain text
#: guix-git/doc/contributing.texi:2635
#, fuzzy
msgid "Cuirass includes @acronym{RSS, Really Simple Syndication} feeds as one of its features (@pxref{Notifications,,,cuirass}).  Since @url{https://ci.guix.gnu.org/, Berlin} runs an instance of Cuirass, this feature can be used to keep track of recently broken or fixed packages caused by changes pushed to the Guix git repository.  Any RSS client can be used.  A good one, included with Emacs, is @xref{Gnus,,,gnus}.  To register the feed, copy its URL, then from the main Gnus buffer, @samp{*Group*}, do the following:"
msgstr "Cuirass 包括 @acronym{RSS, Really Simple Syndication} 源作为其功能之一 (@pxref{Notifications,,,cuirass})。由于 @url{https://ci.guix.gnu.org/, Berlin} 运行 Cuirass 的一个实例,因此可以使用此功能跟踪由于推送到 Guix git 存储库的更改而最近破坏或修复的包。可以使用任何 RSS 客户端。一个不错的客户端是 Emacs 附带的 @xref{Gnus,,,gnus}。要注册源,请复制其 URL,然后从主 Gnus 缓冲区 @samp{*Group*} 中执行以下操作:"

#. type: cindex
#: guix-git/doc/contributing.texi:2636
#, fuzzy, no-wrap
msgid "Gnus, configuration to read CI RSS feeds"
msgstr "Gnus,配置以读取 CI RSS 源"

#. type: cindex
#: guix-git/doc/contributing.texi:2637
#, fuzzy, no-wrap
msgid "RSS feeds, Gnus configuration"
msgstr "系统配置"

#. type: example
#: guix-git/doc/contributing.texi:2641
#, fuzzy, no-wrap
msgid ""
"@kbd{G R} https://ci.guix.gnu.org/events/rss/?specification=master RET\n"
"Guix CI - master RET Build events for specification master. RET\n"
msgstr ""
"@kbd{G R} https://ci.guix.gnu.org/events/rss/?specification=master RET\n"
"Guix CI - master RET 规范 master 的构建事件。RET\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2648
#, fuzzy
msgid "Then, back at the @samp{*Group*} buffer, press @kbd{s} to save the newly added RSS group.  As for any other Gnus group, you can update its content by pressing the @kbd{g} key.  You should now receive notifications that read like:"
msgstr "然后,在 @samp{*Group*} 缓冲区中,按 @kbd{s} 保存新添加的 RSS 组。与任何其他 Gnus 组一样,您可以通过按 @kbd{g} 键更新其内容。您现在应该会收到如下通知:"

#. type: example
#: guix-git/doc/contributing.texi:2653
#, fuzzy, no-wrap
msgid ""
" . [ ?: Cuirass ] Build tree-sitter-meson.aarch64-linux on master is fixed.\n"
" . [ ?: Cuirass ] Build rust-pbkdf2.aarch64-linux on master is fixed.\n"
" . [ ?: Cuirass ] Build rust-pbkdf2.x86_64-linux on master is fixed.\n"
msgstr ""
" . [ ?: Cuirass ] 在 master 上构建 tree-sitter-meson.aarch64-linux 已修复。\n"
" . [ ?: Cuirass ] 在 master 上构建 rust-pbkdf2.aarch64-linux 已修复。\n"
" . [ ?: Cuirass ] 在 master 上构建 rust-pbkdf2.x86_64-linux 已修复。\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2658
#, fuzzy
msgid "where each RSS entry contains a link to the Cuirass build details page of the associated build."
msgstr "每个 RSS 条目都包含指向相关构建的 Cuirass 构建详细信息页面的链接。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2672
#, fuzzy
msgid "To organize work on Guix, including but not just development efforts, the project has a set of @dfn{teams}.  Each team has its own focus and interests and is the primary contact point for questions and contributions in those areas.  A team's primary mission is to coordinate and review the work of individuals in its scope (@pxref{Reviewing the Work of Others}); it can make decisions within its scope, in agreement with other teams whenever there is overlap or a close connection, and in accordance with other project rules such as seeking consensus (@pxref{Making Decisions})."
msgstr "为了组织 Guix 的工作,包括但不限于开发工作,该项目有一组 @dfn{团队}。每个团队都有自己的重点和兴趣,并且是这些领域问题和贡献的主要联系点。团队的主要任务是协调和审查其范围内个人的工作(@pxref{Reviewing the Work of Others});它可以在其范围内做出决定,与其他团队达成一致,特别是在存在重叠或紧密联系时,并遵循其他项目规则,例如寻求共识(@pxref{Making Decisions})。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2686
#, fuzzy
msgid "As an example, the Python team is responsible for core Python packaging matters; it can decide to upgrade core Python packages in a dedicated @code{python-team} branch, in collaboration with any team whose scope is directly dependent on Python---e.g., the Science team---and following branching rules (@pxref{Managing Patches and Branches}).  The Documentation team helps review changes to the documentation and can initiate overarching documentation changes.  The Translations team organizes translation of Guix and its manual and coordinates efforts in that area.  The Core team is responsible for the development of core functionality and interfaces of Guix; because of its central nature, some of its work may require soliciting input from the community at large and seeking consensus before enacting decisions that would affect the entire community."
msgstr "例如,Python 团队负责核心 Python 打包事务;它可以决定在专用的 @code{python-team} 分支中升级核心 Python 包,与任何直接依赖于 Python 的团队合作——例如,科学团队——并遵循分支规则(@pxref{Managing Patches and Branches})。文档团队帮助审查文档的更改,并可以发起整体文档更改。翻译团队组织 Guix 及其手册的翻译,并协调该领域的工作。核心团队负责 Guix 核心功能和接口的开发;由于其中心性质,其某些工作可能需要征求整个社区的意见,并在实施影响整个社区的决策之前寻求共识。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2690
#, fuzzy
msgid "Teams are defined in the @file{etc/teams.scm} file in the Guix repository.  The scope of each team is defined, when applicable, as a set of files or as a regular expression matching file names."
msgstr "团队在 Guix 仓库的 @file{etc/teams.scm} 文件中定义。每个团队的范围在适用时定义为一组文件或匹配文件名的正则表达式。"

#. type: cindex
#: guix-git/doc/contributing.texi:2691
#, fuzzy, no-wrap
msgid "team membership"
msgstr "团队成员资格"

#. type: Plain text
#: guix-git/doc/contributing.texi:2698
#, fuzzy
msgid "Anyone with interest in a team's domain and willing to contribute to its work can apply to become a member by contacting current members by email; commit access is not a precondition.  Membership is formalized by adding the person's name and email address to @file{etc/teams.scm}.  Members who have not been participating in the team's work for one year or more may be removed; they are free to reapply for membership later."
msgstr "任何对团队领域感兴趣并愿意为其工作做出贡献的人都可以通过电子邮件联系当前成员申请成为成员;提交访问权限不是先决条件。通过将个人的姓名和电子邮件地址添加到 @file{etc/teams.scm} 来正式化成员资格。未参与团队工作一年或更长时间的成员可能会被移除;他们可以在之后自由重新申请成员资格。"

#. type: cindex
#: guix-git/doc/contributing.texi:2699
#, fuzzy, no-wrap
msgid "team creation"
msgstr "系统配置"

#. type: Plain text
#: guix-git/doc/contributing.texi:2705
#, fuzzy
msgid "One or more people may propose the creation of a new team by reaching out to the community by email at @email{guix-devel@@gnu.org}, clarifying the intended scope and purpose.  When consensus is reached on the creation of this team, someone with commit access formalizes its creation by adding it and its initial members to @file{etc/teams.scm}."
msgstr "一个或多个人可以通过电子邮件联系社区 @email{guix-devel@@gnu.org} 提议创建一个新团队,明确其预期范围和目的。当达成共识创建该团队时,具有提交访问权限的人通过将其及其初始成员添加到 @file{etc/teams.scm} 来正式化其创建。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2707
#, fuzzy
msgid "To list existing teams, run the following command from a Guix checkout:"
msgstr "要列出现有团队,请从 Guix 检出中运行以下命令:"

#. type: example
#: guix-git/doc/contributing.texi:2716
#, fuzzy, no-wrap
msgid ""
"$ ./etc/teams.scm list-teams\n"
"id: mentors\n"
"name: Mentors\n"
"description: A group of mentors who chaperone contributions by newcomers.\n"
"members:\n"
"+ Charlie Smith <charlie@@example.org>\n"
"@dots{}\n"
msgstr ""
"$ ./etc/teams.scm list-teams\n"
"id: mentors\n"
"name: Mentors\n"
"description: 一组指导者,负责指导新人的贡献。\n"
"members:\n"
"+ Charlie Smith <charlie@@example.org>\n"
"@dots{}\n"

#. type: cindex
#: guix-git/doc/contributing.texi:2718
#, fuzzy, no-wrap
msgid "mentoring"
msgstr "指导"

#. type: Plain text
#: guix-git/doc/contributing.texi:2721
#, fuzzy
msgid "You can run the following command to have the Mentors team put in CC of a patch series:"
msgstr "您可以运行以下命令,让 Mentors 团队将补丁系列放入 CC:"

#. type: example
#: guix-git/doc/contributing.texi:2725
#, fuzzy, no-wrap
msgid ""
"$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org \\\n"
"  --header-cmd='etc/teams.scm cc-mentors-header-cmd' *.patch\n"
msgstr ""
"$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org \\\n"
"  --header-cmd='etc/teams.scm cc-mentors-header-cmd' *.patch\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2730
#, fuzzy
msgid "The appropriate team or teams can also be inferred from the modified files.  For instance, if you want to send the two latest commits of the current Git repository to review, you can run:"
msgstr "适当的团队或团队也可以从修改的文件中推断出来。例如,如果您想将当前 Git 仓库的两个最新提交发送进行审查,可以运行:"

#. type: example
#: guix-git/doc/contributing.texi:2734
#, fuzzy, no-wrap
msgid ""
"$ guix shell -D guix\n"
"[env]$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -2\n"
msgstr ""
"$ guix shell -D guix\n"
"[env]$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -2\n"

#. type: cindex
#: guix-git/doc/contributing.texi:2739
#, fuzzy, no-wrap
msgid "decision making"
msgstr "决策"

#. type: cindex
#: guix-git/doc/contributing.texi:2740
#, fuzzy, no-wrap
msgid "consensus seeking"
msgstr "寻求共识"

#. type: Plain text
#: guix-git/doc/contributing.texi:2747
#, fuzzy
msgid "It is expected from all contributors, and even more so from committers, to help build consensus and make decisions based on consensus.  By using consensus, we are committed to finding solutions that everyone can live with.  It implies that no decision is made against significant concerns and these concerns are actively resolved with proposals that work for everyone."
msgstr "所有贡献者,尤其是提交者,都应帮助建立共识并基于共识做出决策。通过使用共识,我们致力于寻找每个人都能接受的解决方案。这意味着没有决策是针对重大关切做出的,这些关切通过适合每个人的提案积极解决。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2754
#, fuzzy
msgid "A contributor (who may or may not have commit access) wishing to block a proposal bears a special responsibility for finding alternatives, proposing ideas/code or explain the rationale for the status quo to resolve the deadlock.  To learn what consensus decision making means and understand its finer details, you are encouraged to read @url{https://www.seedsforchange.org.uk/consensus}."
msgstr "希望阻止提案的贡献者(可能拥有或不拥有提交权限)承担着寻找替代方案、提出想法/代码或解释现状以解决僵局的特殊责任。要了解共识决策的含义并理解其细微细节,建议您阅读 @url{https://www.seedsforchange.org.uk/consensus}。"

#. type: cindex
#: guix-git/doc/contributing.texi:2758
#, fuzzy, no-wrap
msgid "commit access, for developers"
msgstr "提交权限,针对开发者"

#. type: Plain text
#: guix-git/doc/contributing.texi:2769
#, fuzzy
msgid "Everyone can contribute to Guix without having commit access (@pxref{Submitting Patches}).  However, for frequent contributors, having write access to the repository can be convenient.  As a rule of thumb, a contributor should have accumulated fifty (50) reviewed commits to be considered as a committer and have sustained their activity in the project for at least 6 months.  This ensures enough interactions with the contributor, which is essential for mentoring and assessing whether they are ready to become a committer.  Commit access should not be thought of as a ``badge of honor'' but rather as a responsibility a contributor is willing to take to help the project."
msgstr "每个人都可以在没有提交权限的情况下为 Guix 做出贡献(@pxref{提交补丁})。然而,对于频繁的贡献者来说,拥有对代码库的写入权限可能会很方便。作为经验法则,贡献者应积累五十(50)个经过审查的提交,以被视为提交者,并在项目中持续活动至少 6 个月。这确保了与贡献者之间有足够的互动,这对于指导和评估他们是否准备好成为提交者至关重要。提交权限不应被视为“荣誉徽章”,而应被视为贡献者愿意承担的责任,以帮助项目。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2774
#, fuzzy
msgid "Committers are in a position where they enact technical decisions.  Such decisions must be made by @emph{actively building consensus} among interested parties and stakeholders.  @xref{Making Decisions}, for more on that."
msgstr "提交者处于执行技术决策的位置。这些决策必须通过 @emph{积极建立共识} 在相关方和利益相关者之间做出。有关更多信息,请参见 @xref{做出决策}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2778
#, fuzzy
msgid "The following sections explain how to get commit access, how to be ready to push commits, and the policies and community expectations for commits pushed upstream."
msgstr "以下部分解释了如何获得提交权限、如何准备推送提交,以及推送到上游的提交的政策和社区期望。"

#. type: subsection
#: guix-git/doc/contributing.texi:2779
#, fuzzy, no-wrap
msgid "Applying for Commit Access"
msgstr "提交权利"

#. type: Plain text
#: guix-git/doc/contributing.texi:2783
#, fuzzy
msgid "When you deem it necessary, consider applying for commit access by following these steps:"
msgstr "当您认为有必要时,请考虑按照以下步骤申请提交权限:"

#. type: enumerate
#: guix-git/doc/contributing.texi:2792
#, fuzzy
msgid "Find three committers who would vouch for you.  You can view the list of committers at @url{https://savannah.gnu.org/project/memberlist.php?group=guix}.  Each of them should email a statement to @email{guix-maintainers@@gnu.org} (a private alias for the collective of maintainers), signed with their OpenPGP key."
msgstr "找到三位愿意为您担保的提交者。您可以在 @url{https://savannah.gnu.org/project/memberlist.php?group=guix} 查看提交者列表。他们每个人都应向 @email{guix-maintainers@@gnu.org}(维护者集体的私人别名)发送一份声明,并用他们的 OpenPGP 密钥签名。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2798
#, fuzzy
msgid "Committers are expected to have had some interactions with you as a contributor and to be able to judge whether you are sufficiently familiar with the project's practices.  It is @emph{not} a judgment on the value of your work, so a refusal should rather be interpreted as ``let's try again later''."
msgstr "提交者应与您作为贡献者有过一些互动,并能够判断您是否对项目的实践足够熟悉。这并不是对您工作的价值的评判,因此拒绝应被理解为“让我们稍后再试”。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2805
#, fuzzy
msgid "Send @email{guix-maintainers@@gnu.org} a message stating your intent, listing the three committers who support your application, signed with the OpenPGP key you will use to sign commits, and giving its fingerprint (see below).  See @uref{https://emailselfdefense.fsf.org/en/}, for an introduction to public-key cryptography with GnuPG."
msgstr "向 @email{guix-maintainers@@gnu.org} 发送一条消息,说明您的意图,列出支持您申请的三位提交者,并使用您将用于签署提交的 OpenPGP 密钥进行签名,并提供其指纹(见下文)。有关 GnuPG 公钥密码学的介绍,请参见 @uref{https://emailselfdefense.fsf.org/en/}。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2811
#, fuzzy
msgid "Set up GnuPG such that it never uses the SHA1 hash algorithm for digital signatures, which is known to be unsafe since 2019, for instance by adding the following line to @file{~/.gnupg/gpg.conf} (@pxref{GPG Esoteric Options,,, gnupg, The GNU Privacy Guard Manual}):"
msgstr "设置 GnuPG,使其永远不使用 SHA1 哈希算法进行数字签名,因为自 2019 年以来已知不安全,例如通过将以下行添加到 @file{~/.gnupg/gpg.conf} 中(@pxref{GPG Esoteric Options,,, gnupg, The GNU Privacy Guard Manual}):"

#. type: example
#: guix-git/doc/contributing.texi:2814
#, fuzzy, no-wrap
msgid "digest-algo sha512\n"
msgstr "digest-algo sha512\n"

#. type: enumerate
#: guix-git/doc/contributing.texi:2819
#, fuzzy
msgid "Maintainers ultimately decide whether to grant you commit access, usually following your referrals' recommendation."
msgstr "维护者最终决定是否授予您提交访问权限,通常会遵循您推荐的建议。"

#. type: cindex
#: guix-git/doc/contributing.texi:2821
#, fuzzy, no-wrap
msgid "OpenPGP, signed commits"
msgstr "OpenPGP,签名提交"

#. type: enumerate
#: guix-git/doc/contributing.texi:2826
#, fuzzy
msgid "If and once you've been given access, please send a message to @email{guix-devel@@gnu.org} to say so, again signed with the OpenPGP key you will use to sign commits (do that before pushing your first commit).  That way, everyone can notice and ensure you control that OpenPGP key."
msgstr "如果您获得了访问权限,请向 @email{guix-devel@@gnu.org} 发送一条消息以说明这一点,再次使用您将用于签署提交的 OpenPGP 密钥进行签名(在推送您的第一次提交之前这样做)。这样,大家都可以注意到并确保您控制该 OpenPGP 密钥。"

#. type: quotation
#: guix-git/doc/contributing.texi:2827 guix-git/doc/guix.texi:722
#: guix-git/doc/guix.texi:754 guix-git/doc/guix.texi:22425
#: guix-git/doc/guix.texi:36253 guix-git/doc/guix.texi:36898
#, fuzzy, no-wrap
msgid "Important"
msgstr "重要"

#. type: quotation
#: guix-git/doc/contributing.texi:2829
#, fuzzy
msgid "Before you can push for the first time, maintainers must:"
msgstr "在您第一次推送之前,维护者必须:"

#. type: enumerate
#: guix-git/doc/contributing.texi:2833
#, fuzzy
msgid "add your OpenPGP key to the @code{keyring} branch;"
msgstr "将您的 OpenPGP 密钥添加到 @code{keyring} 分支;"

#. type: enumerate
#: guix-git/doc/contributing.texi:2836
#, fuzzy
msgid "add your OpenPGP fingerprint to the @file{.guix-authorizations} file of the branch(es) you will commit to."
msgstr "将您的 OpenPGP 指纹添加到您将提交的分支的 @file{.guix-authorizations} 文件中。"

#. type: enumerate
#: guix-git/doc/contributing.texi:2841
#, fuzzy
msgid "Make sure to read the rest of this section and... profit!"
msgstr "确保阅读本节的其余部分并... 获利!"

#. type: quotation
#: guix-git/doc/contributing.texi:2847
#, fuzzy
msgid "Maintainers are happy to give commit access to people who have been contributing for some time and have a track record---don't be shy and don't underestimate your work!"
msgstr "维护者乐于向那些已经贡献了一段时间并有良好记录的人授予提交访问权限——不要害羞,也不要低估您的工作!"

#. type: quotation
#: guix-git/doc/contributing.texi:2851
#, fuzzy
msgid "However, note that the project is working towards a more automated patch review and merging system, which, as a consequence, may lead us to have fewer people with commit access to the main repository.  Stay tuned!"
msgstr "但是,请注意,该项目正在朝着更自动化的补丁审查和合并系统努力,因此可能导致我们拥有更少的人拥有主存储库的提交访问权限。请保持关注!"

#. type: Plain text
#: guix-git/doc/contributing.texi:2858
#, fuzzy
msgid "All commits that are pushed to the central repository on Savannah must be signed with an OpenPGP key, and the public key should be uploaded to your user account on Savannah and to public key servers, such as @code{keys.openpgp.org}.  To configure Git to automatically sign commits, run:"
msgstr "所有推送到 Savannah 中央存储库的提交必须使用 OpenPGP 密钥签名,并且公钥应上传到您在 Savannah 的用户帐户和公共密钥服务器,例如 @code{keys.openpgp.org}。要配置 Git 自动签署提交,请运行:"

#. type: example
#: guix-git/doc/contributing.texi:2861
#, fuzzy, no-wrap
msgid ""
"git config commit.gpgsign true\n"
"\n"
msgstr ""
"git config commit.gpgsign true\n"
"\n"

#. type: example
#: guix-git/doc/contributing.texi:2864
#, fuzzy, no-wrap
msgid ""
"# Substitute the fingerprint of your public PGP key.\n"
"git config user.signingkey CABBA6EA1DC0FF33\n"
msgstr ""
"# 替换为您的公共 PGP 密钥的指纹。\n"
"git config user.signingkey CABBA6EA1DC0FF33\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:2867
#, fuzzy
msgid "To check that commits are signed with correct key, use:"
msgstr "要检查提交是否使用正确的密钥签名,请使用:"

#. type: Plain text
#: guix-git/doc/contributing.texi:2874
#, fuzzy
msgid "@xref{Building from Git} for running the first authentication of a Guix checkout."
msgstr "@xref{Building from Git} 以运行 Guix 检出的第一次身份验证。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2878
#, fuzzy
msgid "To avoid accidentally pushing unsigned or signed with the wrong key commits to Savannah, make sure to configure Git according to @xref{Configuring Git}."
msgstr "为了避免意外将未签名或使用错误密钥签名的提交推送到 Savannah,请确保根据 @xref{Configuring Git} 配置 Git。"

#. type: subsection
#: guix-git/doc/contributing.texi:2879
#, fuzzy, no-wrap
msgid "Commit Policy"
msgstr "提交权利"

#. type: Plain text
#: guix-git/doc/contributing.texi:2884
#, fuzzy
msgid "If you get commit access, please make sure to follow the policy below (discussions of the policy can take place on @email{guix-devel@@gnu.org})."
msgstr "如果您获得提交访问权限,请确保遵循以下政策(政策讨论可以在 @email{guix-devel@@gnu.org} 上进行)。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2888
#, fuzzy
msgid "Ensure you're aware of how the changes should be handled (@pxref{Managing Patches and Branches}) prior to being pushed to the repository, especially for the @code{master} branch."
msgstr "在推送到仓库之前,请确保您了解如何处理更改 (@pxref{Managing Patches and Branches}),尤其是对于 @code{master} 分支。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2895
#, fuzzy
msgid "If you're committing and pushing your own changes, try and wait at least one week (two weeks for more significant changes, up to one month for changes such as removing a package---@pxref{package-removal-policy, Package Removal}) after you send them for review.  After this, if no one else is available to review them and if you're confident about the changes, it's OK to commit."
msgstr "如果您正在提交和推送自己的更改,请尽量等待至少一周(对于更重要的更改为两周,对于诸如删除包等更改,最多为一个月---@pxref{package-removal-policy, Package Removal})在您发送它们进行审查后。 之后,如果没有其他人可以审查它们,并且您对更改有信心,可以提交。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2900
#, fuzzy
msgid "When pushing a commit on behalf of somebody else, please add a @code{Signed-off-by} line at the end of the commit log message---e.g., with @command{git am --signoff}.  This improves tracking of who did what."
msgstr "在代表其他人推送提交时,请在提交日志消息的末尾添加一行 @code{Signed-off-by}---例如,使用 @command{git am --signoff}。 这有助于跟踪谁做了什么。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2904
#, fuzzy
msgid "When adding channel news entries (@pxref{Channels, Writing Channel News}), make sure they are well-formed by running the following command right before pushing:"
msgstr "在添加频道新闻条目时 (@pxref{Channels, Writing Channel News}),请确保它们格式正确,方法是在推送之前运行以下命令:"

#. type: example
#: guix-git/doc/contributing.texi:2907
#, fuzzy, no-wrap
msgid "make check-channel-news\n"
msgstr "make check\n"

#. type: subsection
#: guix-git/doc/contributing.texi:2909
#, fuzzy, no-wrap
msgid "Addressing Issues"
msgstr "处理问题"

#. type: Plain text
#: guix-git/doc/contributing.texi:2920
#, fuzzy
msgid "Peer review (@pxref{Submitting Patches}) and tools such as @command{guix lint} (@pxref{Invoking guix lint}) and the test suite (@pxref{Running the Test Suite}) should catch issues before they are pushed.  Yet, commits that ``break'' functionality might occasionally go through.  When that happens, there are two priorities: mitigating the impact, and understanding what happened to reduce the chance of similar incidents in the future.  The responsibility for both these things primarily lies with those involved, but like everything this is a group effort."
msgstr "同行评审 (@pxref{Submitting Patches}) 和工具如 @command{guix lint} (@pxref{Invoking guix lint}) 以及测试套件 (@pxref{Running the Test Suite}) 应该在推送之前捕捉到问题。 然而,偶尔会有“破坏”功能的提交通过。 当这种情况发生时,有两个优先事项:减轻影响和理解发生了什么,以减少未来类似事件的可能性。 这两件事的责任主要在于参与者,但像所有事情一样,这是一个集体努力。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2925
#, fuzzy
msgid "Some issues can directly affect all users---for instance because they make @command{guix pull} fail or break core functionality, because they break major packages (at build time or run time), or because they introduce known security vulnerabilities."
msgstr "某些问题可能会直接影响所有用户——例如,因为它们使得 @command{guix pull} 失败或破坏核心功能,或者因为它们破坏了主要软件包(在构建时或运行时),或者因为它们引入了已知的安全漏洞。"

#. type: cindex
#: guix-git/doc/contributing.texi:2926
#, fuzzy, no-wrap
msgid "reverting commits"
msgstr "回滚提交"

#. type: Plain text
#: guix-git/doc/contributing.texi:2932
#, fuzzy
msgid "The people involved in authoring, reviewing, and pushing such commit(s) should be at the forefront to mitigate their impact in a timely fashion: by pushing a followup commit to fix it (if possible), or by reverting it to leave time to come up with a proper fix, and by communicating with other developers about the problem."
msgstr "参与编写、审查和推送这些提交的人应该在第一时间采取措施,以及时减轻其影响:通过推送后续提交来修复它(如果可能),或者通过回滚它以留出时间提出适当的修复方案,并与其他开发人员沟通问题。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2938
#, fuzzy
msgid "If these persons are unavailable to address the issue in time, other committers are entitled to revert the commit(s), explaining in the commit log and on the mailing list what the problem was, with the goal of leaving time to the original committer, reviewer(s), and author(s)  to propose a way forward."
msgstr "如果这些人无法及时解决问题,其他提交者有权回滚提交,解释提交日志和邮件列表中出现的问题,目的是给原提交者、审查者和作者留出时间提出解决方案。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2947
#, fuzzy
msgid "Once the problem has been dealt with, it is the responsibility of those involved to make sure the situation is understood.  If you are working to understand what happened, focus on gathering information and avoid assigning any blame.  Do ask those involved to describe what happened, do not ask them to explain the situation---this would implicitly blame them, which is unhelpful.  Accountability comes from a consensus about the problem, learning from it and improving processes so that it's less likely to reoccur."
msgstr "一旦问题得到解决,参与者有责任确保情况得到理解。如果您正在努力了解发生了什么,请专注于收集信息,避免指责。请要求相关人员描述发生了什么,不要要求他们解释情况——这会隐含地指责他们,这没有帮助。问责来自于对问题的共识,从中学习并改进流程,以减少再次发生的可能性。"

#. type: subsubsection
#: guix-git/doc/contributing.texi:2948
#, fuzzy, no-wrap
msgid "Reverting commits"
msgstr "回滚提交"

#. type: Plain text
#: guix-git/doc/contributing.texi:2953
#, fuzzy
msgid "Like normal commits, the commit message should state why the changes are being made, which in this case would be why the commits are being reverted."
msgstr "与正常提交一样,提交信息应说明更改的原因,在这种情况下就是为什么要回滚这些提交。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2961
#, fuzzy
msgid "If the changes are being reverted because they led to excessive number of packages being affected, then a decision should be made whether to allow the build farms to build the changes, or whether to avoid this. For the bordeaux build farm, commits can be ignored by adding them to the @code{ignore-commits} list in the @code{build-from-guix-data-service} record, found in the bayfront machine configuration."
msgstr "如果更改被回滚是因为它们导致了过多的软件包受到影响,那么应决定是否允许构建农场构建这些更改,或者是否避免这样做。对于波尔多构建农场,可以通过将提交添加到 @code{ignore-commits} 列表中,在 @code{build-from-guix-data-service} 记录中找到,来忽略提交,这在 bayfront 机器配置中。"

#. type: subsection
#: guix-git/doc/contributing.texi:2962
#, fuzzy, no-wrap
msgid "Commit Revocation"
msgstr "日志轮替"

#. type: Plain text
#: guix-git/doc/contributing.texi:2969
#, fuzzy
msgid "In order to reduce the possibility of mistakes, committers will have their Savannah account removed from the Guix Savannah project and their key removed from @file{.guix-authorizations} after 12 months of inactivity; they can ask to regain commit access by emailing the maintainers, without going through the vouching process."
msgstr "为了减少错误的可能性,提交者在 12 个月不活动后将被移除其在 Guix Savannah 项目中的 Savannah 账户,并从 @file{.guix-authorizations} 中移除其密钥;他们可以通过电子邮件联系维护者请求恢复提交访问权限,而无需经过担保过程。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2979
#, fuzzy
msgid "Maintainers@footnote{See @uref{https://guix.gnu.org/en/about} for the current list of maintainers.  You can email them privately at @email{guix-maintainers@@gnu.org}.} may also revoke an individual's commit rights, as a last resort, if cooperation with the rest of the community has caused too much friction---even within the bounds of the project's code of conduct (@pxref{Contributing}).  They would only do so after public or private discussion with the individual and a clear notice.  Examples of behavior that hinders cooperation and could lead to such a decision include:"
msgstr "维护者@脚注{请参阅@uref{https://guix.gnu.org/en/about}以获取当前维护者的列表。您可以通过@email{guix-maintainers@@gnu.org}私下给他们发送电子邮件。}也可以在最后的情况下撤销个人的提交权限,如果与社区其他成员的合作造成了过多的摩擦——即使在项目行为准则(@pxref{Contributing})的范围内。他们只有在与个人进行公开或私下讨论并发出明确通知后才会这样做。妨碍合作并可能导致此类决定的行为示例包括:"

#. type: item
#: guix-git/doc/contributing.texi:2981
#, fuzzy, no-wrap
msgid "repeated violation of the commit policy stated above;"
msgstr "重复违反上述提交政策;"

#. type: item
#: guix-git/doc/contributing.texi:2982
#, fuzzy, no-wrap
msgid "repeated failure to take peer criticism into account;"
msgstr "重复未能考虑同行的批评;"

#. type: item
#: guix-git/doc/contributing.texi:2983
#, fuzzy, no-wrap
msgid "breaching trust through a series of grave incidents."
msgstr "通过一系列严重事件破坏信任。"

#. type: Plain text
#: guix-git/doc/contributing.texi:2990
#, fuzzy
msgid "When maintainers resort to such a decision, they notify developers on @email{guix-devel@@gnu.org}; inquiries may be sent to @email{guix-maintainers@@gnu.org}.  Depending on the situation, the individual may still be welcome to contribute."
msgstr "当维护者采取此类决定时,他们会通知开发人员@email{guix-devel@@gnu.org};询问可以发送至@email{guix-maintainers@@gnu.org}。根据情况,个人仍然可能受到欢迎参与贡献。"

#. type: subsection
#: guix-git/doc/contributing.texi:2991
#, fuzzy, no-wrap
msgid "Helping Out"
msgstr "帮助他人"

#. type: Plain text
#: guix-git/doc/contributing.texi:2998
#, fuzzy
msgid "One last thing: the project keeps moving forward because committers not only push their own awesome changes, but also offer some of their time @emph{reviewing} and pushing other people's changes.  As a committer, you're welcome to use your expertise and commit rights to help other contributors, too!"
msgstr "最后一件事:项目不断向前推进,因为提交者不仅推动自己的精彩更改,还提供一些时间@emph{审查}和推动其他人的更改。作为提交者,您也可以利用您的专业知识和提交权限来帮助其他贡献者!"

#. type: Plain text
#: guix-git/doc/contributing.texi:3014
#, fuzzy
msgid "Perhaps the biggest action you can do to help GNU Guix grow as a project is to review the work contributed by others.  You do not need to be a committer to do so; applying, reading the source, building, linting and running other people's series and sharing your comments about your experience will give some confidence to committers.  You must ensure the check list found in the @ref{Submitting Patches} section has been correctly followed.  A reviewed patch series should give the best chances for the proposed change to be merged faster, so if a change you would like to see merged hasn't yet been reviewed, this is the most appropriate thing to do! If you would like to review changes in a specific area and to receive notifications for incoming patches relevant to that domain, consider joining the relevant team(s) (@pxref{Teams})."
msgstr "也许您可以帮助GNU Guix作为一个项目成长的最大行动就是审查其他人贡献的工作。您不需要是提交者;应用、阅读源代码、构建、检查和运行其他人的系列并分享您对经验的评论将给提交者一些信心。您必须确保在@ref{Submitting Patches}部分找到的检查清单已被正确遵循。经过审查的补丁系列应该为提议的更改提供更快合并的最佳机会,因此如果您希望看到合并的更改尚未被审查,这是最合适的做法!如果您希望在特定领域审查更改并接收与该领域相关的传入补丁的通知,请考虑加入相关团队(@pxref{Teams})。"

#. type: cindex
#: guix-git/doc/contributing.texi:3015
#, fuzzy, no-wrap
msgid "reviewing, guidelines"
msgstr "打包指导"

#. type: Plain text
#: guix-git/doc/contributing.texi:3020
#, fuzzy
msgid "Review comments should be unambiguous; be as clear and explicit as you can about what you think should be changed, ensuring the author can take action on it.  Please try to keep the following guidelines in mind during review:"
msgstr "审查意见应明确无误;尽可能清晰和明确地表达您认为应该更改的内容,以确保作者能够采取行动。请在审查过程中牢记以下指导原则:"

#. type: enumerate
#: guix-git/doc/contributing.texi:3026
#, fuzzy
msgid "@emph{Be clear and explicit about changes you are suggesting}, ensuring the author can take action on it.  In particular, it is a good idea to explicitly ask for new revisions when you want it."
msgstr "@emph{清晰明确地说明您建议的更改},确保作者能够采取行动。特别是,当您希望进行新修订时,明确要求是个好主意。"

#. type: enumerate
#: guix-git/doc/contributing.texi:3034
#, fuzzy
msgid "@emph{Remain focused: do not change the scope of the work being reviewed.} For example, if the contribution touches code that follows a pattern deemed unwieldy, it would be unfair to ask the submitter to fix all occurrences of that pattern in the code; to put it simply, if a problem unrelated to the patch at hand was already there, do not ask the submitter to fix it."
msgstr "@emph{保持专注:不要改变正在审查的工作的范围。} 例如,如果贡献涉及遵循被认为笨重的模式的代码,那么要求提交者修复代码中所有该模式的出现是不公平的;简单来说,如果与当前补丁无关的问题已经存在,请不要要求提交者修复它。"

#. type: enumerate
#: guix-git/doc/contributing.texi:3041
#, fuzzy
msgid "@emph{Ensure progress.} As they respond to review, submitters may submit new revisions of their changes; avoid requesting changes that you did not request in the previous round of comments.  Overall, the submitter should get a clear sense of progress; the number of items open for discussion should clearly decrease over time."
msgstr "@emph{确保进展。} 在回应审查时,提交者可能会提交其更改的新修订;避免请求您在前一轮评论中未请求的更改。总体而言,提交者应清楚地感受到进展;待讨论的项目数量应随着时间的推移明显减少。"

#. type: enumerate
#: guix-git/doc/contributing.texi:3048
#, fuzzy
msgid "@emph{Aim for finalization.} Reviewing code is time-consuming.  Your goal as a reviewer is to put the process on a clear path towards integration, possibly with agreed-upon changes, or rejection, with a clear and mutually-understood reasoning.  Avoid leaving the review process in a lingering state with no clear way out."
msgstr "@emph{目标是最终确定。} 审查代码是耗时的。作为审查者,您的目标是将过程引导到明确的整合路径上,可能伴随达成一致的更改,或因明确且相互理解的理由而拒绝。避免将审查过程留在没有明确出路的悬而未决状态。"

#. type: enumerate
#: guix-git/doc/contributing.texi:3062
#, fuzzy
msgid "@emph{Review is a discussion.} The submitter's and reviewer's views on how to achieve a particular change may not always be aligned.  To lead the discussion, remain focused, ensure progress and aim for finalization, spending time proportional to the stakes@footnote{The tendency to discuss minute details at length is often referred to as ``bikeshedding'', where much time is spent discussing each one's preference for the color of the shed at the expense of progress made on the project to keep bikes dry.}.  As a reviewer, try hard to explain the rationale for suggestions you make, and to understand and take into account the submitter's motivation for doing things in a certain way.  In other words, build consensus with everyone involved (@pxref{Making Decisions})."
msgstr "@emph{审查是一个讨论。} 提交者和审查者对如何实现特定更改的看法可能并不总是一致。为了引导讨论,保持专注,确保进展并目标明确,花费与风险成比例的时间@footnote{讨论琐碎细节的倾向通常被称为“自行车棚”,在这种情况下,花费大量时间讨论每个人对棚子颜色的偏好,而忽视了保持自行车干燥的项目进展。}。作为审查者,努力解释您所做建议的理由,并理解并考虑提交者以某种方式做事的动机。换句话说,与所有相关人员建立共识(@pxref{做决定})。"

#. type: cindex
#: guix-git/doc/contributing.texi:3064
#, fuzzy, no-wrap
msgid "LGTM, Looks Good To Me"
msgstr "看起来不错,符合我的要求"

#. type: cindex
#: guix-git/doc/contributing.texi:3065
#, fuzzy, no-wrap
msgid "review tags"
msgstr "审查标签"

#. type: cindex
#: guix-git/doc/contributing.texi:3066
#, fuzzy, no-wrap
msgid "Reviewed-by, git trailer"
msgstr "已审查,git 追踪信息"

#. type: Plain text
#: guix-git/doc/contributing.texi:3077
#, fuzzy
msgid "When you deem the proposed change adequate and ready for inclusion within Guix, the following well understood/codified @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} @footnote{The @samp{Reviewed-by} Git trailer is used by other projects such as Linux, and is understood by third-party tools such as the @samp{b4 am} sub-command, which is able to retrieve the complete submission email thread from a public-inbox instance and add the Git trailers found in replies to the commit patches.} line should be used to sign off as a reviewer, meaning you have reviewed the change and that it looks good to you:"
msgstr "当您认为提议的更改足够充分并准备好纳入 Guix 时,以下公认/规范的 @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} @footnote{@samp{Reviewed-by} Git 追踪信息被其他项目(如 Linux)使用,并且被第三方工具(如 @samp{b4 am} 子命令)理解,该工具能够从公共邮箱实例中检索完整的提交邮件线程,并将回复中找到的 Git 追踪信息添加到提交补丁中。} 行应被用作审查者的签名,意味着您已审查该更改,并且它看起来不错:"

#. type: itemize
#: guix-git/doc/contributing.texi:3086
#, fuzzy
msgid "If the @emph{whole} series (containing multiple commits) looks good to you, reply with @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} to the cover page if it has one, or to the last patch of the series otherwise, adding another @samp{(for the whole series)} comment on the line below to explicit this fact."
msgstr "如果您认为整个系列(包含多个提交)看起来不错,请回复 @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} 到封面页(如果有的话),否则回复到系列的最后一个补丁,并在下面的行中添加另一个 @samp{(对于整个系列)} 注释以明确这一事实。"

#. type: itemize
#: guix-git/doc/contributing.texi:3092
#, fuzzy
msgid "If you instead want to mark a @emph{single commit} as reviewed (but not the whole series), simply reply with @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} to that commit message."
msgstr "如果您想标记一个 @emph{单个提交} 为已审查(而不是整个系列),只需回复 @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} 到该提交消息。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3097
#, fuzzy
msgid "If you are not a committer, you can help others find a @emph{series} you have reviewed more easily by adding a @code{reviewed-looks-good} usertag for the @code{guix} user (@pxref{Debbugs Usertags})."
msgstr "如果您不是提交者,您可以通过为 @code{guix} 用户添加 @code{reviewed-looks-good} 用户标签来帮助其他人更容易地找到您已审查的 @emph{系列}(@pxref{Debbugs Usertags})。"

#. type: cindex
#: guix-git/doc/contributing.texi:3101
#, fuzzy, no-wrap
msgid "update-guix-package, updating the guix package"
msgstr "更新 guix 包,正在更新 guix 包"

#. type: Plain text
#: guix-git/doc/contributing.texi:3107
#, fuzzy
msgid "It is sometimes desirable to update the @code{guix} package itself (the package defined in @code{(gnu packages package-management)}), for example to make new daemon features available for use by the @code{guix-service-type} service type.  In order to simplify this task, the following command can be used:"
msgstr "有时需要更新 @code{guix} 包本身(在 @code{(gnu packages package-management)} 中定义的包),例如使新的守护进程功能可供 @code{guix-service-type} 服务类型使用。为了简化此任务,可以使用以下命令:"

#. type: example
#: guix-git/doc/contributing.texi:3110
#, fuzzy, no-wrap
msgid "make update-guix-package\n"
msgstr "make update-guix-package\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:3117
#, fuzzy
msgid "The @code{update-guix-package} make target will use the last known @emph{commit} corresponding to @code{HEAD} in your Guix checkout, compute the hash of the Guix sources corresponding to that commit and update the @code{commit}, @code{revision} and hash of the @code{guix} package definition."
msgstr "@code{update-guix-package} make 目标将使用您 Guix 检出中与 @code{HEAD} 对应的最后已知 @emph{提交},计算与该提交对应的 Guix 源的哈希,并更新 @code{guix} 包定义的 @code{commit}、@code{revision} 和哈希。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3121
#, fuzzy
msgid "To validate that the updated @code{guix} package hashes are correct and that it can be built successfully, the following command can be run from the directory of your Guix checkout:"
msgstr "要验证更新后的 @code{guix} 包哈希是否正确以及是否可以成功构建,可以从您的 Guix 检出目录运行以下命令:"

#. type: example
#: guix-git/doc/contributing.texi:3124
#, fuzzy, no-wrap
msgid "./pre-inst-env guix build guix\n"
msgstr "./pre-inst-env guix build gnew --keep-failed\n"

#. type: Plain text
#: guix-git/doc/contributing.texi:3129
#, fuzzy
msgid "To guard against accidentally updating the @code{guix} package to a commit that others can't refer to, a check is made that the commit used has already been pushed to the Savannah-hosted Guix git repository."
msgstr "为了防止意外将 @code{guix} 包更新到其他人无法引用的提交,会检查所使用的提交是否已推送到 Savannah 托管的 Guix git 仓库。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3134
#, fuzzy
msgid "This check can be disabled, @emph{at your own peril}, by setting the @code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT} environment variable.  When this variable is set, the updated package source is also added to the store.  This is used as part of the release process of Guix."
msgstr "此检查可以在 @emph{自担风险} 的情况下通过设置 @code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT} 环境变量来禁用。当设置此变量时,更新的包源也会被添加到存储中。这是 Guix 发布过程的一部分。"

#. type: cindex
#: guix-git/doc/contributing.texi:3138
#, fuzzy, no-wrap
msgid "deprecation policy"
msgstr "弃用政策"

#. type: Plain text
#: guix-git/doc/contributing.texi:3148
#, fuzzy
msgid "As any lively project with a broad scope, Guix changes all the time and at all levels.  Because it's user-extensible and programmable, incompatible changes can directly impact users and make their life harder.  It is thus important to reduce user-visible incompatible changes to a minimum and, when such changes are deemed necessary, to clearly communicate them through a @dfn{deprecation period} so everyone can adapt with minimum hassle.  This section defines the project's commitments for smooth deprecation and describes procedures and mechanisms to honor them."
msgstr "作为一个范围广泛的活跃项目,Guix 时刻在变化,且变化发生在各个层面。由于它是用户可扩展和可编程的,不兼容的变化可能会直接影响用户并使他们的生活更加困难。因此,减少用户可见的不兼容变化至关重要,并且在这些变化被认为是必要时,通过 @dfn{弃用期} 清晰地传达这些变化,以便每个人都能以最小的麻烦进行适应。本节定义了项目在平稳弃用方面的承诺,并描述了遵守这些承诺的程序和机制。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3151
#, fuzzy
msgid "There are several ways to use Guix; how to handle deprecation will depend on each use case.  Those can be roughly categorized like this:"
msgstr "使用 Guix 有几种方式;如何处理弃用将取决于每个用例。这些用例大致可以分类如下:"

#. type: itemize
#: guix-git/doc/contributing.texi:3155
#, fuzzy
msgid "package management exclusively through the command line;"
msgstr "仅通过命令行进行包管理;"

#. type: itemize
#: guix-git/doc/contributing.texi:3158
#, fuzzy
msgid "advanced package management using the manifest and package interfaces;"
msgstr "使用清单和包接口进行高级包管理;"

#. type: itemize
#: guix-git/doc/contributing.texi:3162
#, fuzzy
msgid "Home and System management, using the @code{operating-system} and/or @code{home-environment} interfaces together with the service interfaces;"
msgstr "家庭和系统管理,使用 @code{operating-system} 和/或 @code{home-environment} 接口以及服务接口;"

#. type: itemize
#: guix-git/doc/contributing.texi:3166
#, fuzzy
msgid "development or use of external tools that use programming interfaces such as the @code{(guix ...)} modules."
msgstr "开发或使用使用编程接口的外部工具,例如 @code{(guix ...)} 模块。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3172
#, fuzzy
msgid "These use cases form a spectrum with varying degrees of coupling---from ``distant'' to tightly coupled.  Based on this insight, we define the following @dfn{deprecation policies} that we consider suitable for each of these levels."
msgstr "这些用例形成了一个具有不同耦合程度的光谱——从“远离”到紧密耦合。基于这一见解,我们定义了以下 @dfn{弃用政策},我们认为这些政策适合每个级别。"

#. type: item
#: guix-git/doc/contributing.texi:3174
#, fuzzy, no-wrap
msgid "Command-line tools"
msgstr "编程接口"

#. type: table
#: guix-git/doc/contributing.texi:3179
#, fuzzy
msgid "Guix sub-commands should be thought of as remaining available ``forever''.  Once a Guix sub-command is to be removed, it should be deprecated first, and then remain available for @b{at least one year} after the first release that deprecated it."
msgstr "Guix 子命令应被视为“永远”可用。一旦要删除某个 Guix 子命令,应该先将其弃用,然后在首次发布弃用它后至少保持可用 @b{一年}。"

#. type: table
#: guix-git/doc/contributing.texi:3189
#, fuzzy
msgid "Deprecation should first be announced in the manual and as an entry in @file{etc/news.scm}; additional communication such as a blog post explaining the rationale is welcome.  Months before the scheduled removal date, the command should print a warning explaining how to migrate.  An example of this is the replacement of @command{guix environment} by @command{guix shell}, started in October 2021@footnote{For more details on the @command{guix shell} transition, see @uref{https://guix.gnu.org/en/blog/2021/from-guix-environment-to-guix-shell/}.}."
msgstr "弃用应首先在手册中宣布,并作为 @file{etc/news.scm} 中的条目;欢迎额外的沟通,例如解释理由的博客文章。在计划的移除日期之前的几个月,命令应打印警告,解释如何迁移。一个例子是 @command{guix environment} 被 @command{guix shell} 替代,这一过程始于 2021 年 10 月@footnote{有关 @command{guix shell} 过渡的更多细节,请参见 @uref{https://guix.gnu.org/en/blog/2021/from-guix-environment-to-guix-shell/}.}。"

#. type: table
#: guix-git/doc/contributing.texi:3192
#, fuzzy
msgid "Because of the broad impact of such a change, we recommend conducting a user survey before enacting a plan."
msgstr "由于此类更改的广泛影响,我们建议在实施计划之前进行用户调查。"

#. type: cindex
#: guix-git/doc/contributing.texi:3193
#, fuzzy, no-wrap
msgid "package deprecation"
msgstr "软件包描述"

#. type: item
#: guix-git/doc/contributing.texi:3194
#, fuzzy, no-wrap
msgid "Package name changes"
msgstr "软件包管理命令。"

#. type: table
#: guix-git/doc/contributing.texi:3199
#, fuzzy
msgid "When a package name changes, it must remain available under its old name for @b{at least one year}.  For example, @code{go-ipfs} was renamed to @code{kubo} following a decision made upstream; to communicate the name change to users, the package module provided this definition:"
msgstr "当软件包名称更改时,必须在其旧名称下保持可用 @b{至少一年}。例如,@code{go-ipfs} 在上游做出决定后被重命名为 @code{kubo};为了向用户传达名称更改,软件包模块提供了以下定义:"

#. type: findex
#: guix-git/doc/contributing.texi:3200
#, fuzzy, no-wrap
msgid "deprecated-package"
msgstr "specifications->packages"

#. type: lisp
#: guix-git/doc/contributing.texi:3204
#, fuzzy, no-wrap
msgid ""
"(define-public go-ipfs\n"
"  (deprecated-package \"go-ipfs\" kubo))\n"
msgstr ""
"(define-public go-ipfs\n"
"  (deprecated-package \"go-ipfs\" kubo))\n"

#. type: table
#: guix-git/doc/contributing.texi:3208
#, fuzzy
msgid "That way, someone running @command{guix install go-ipfs} or similar sees a deprecation warning mentioning the new name."
msgstr "这样,运行 @command{guix install go-ipfs} 或类似命令的人会看到提到新名称的弃用警告。"

#. type: cindex
#: guix-git/doc/contributing.texi:3209
#, fuzzy, no-wrap
msgid "package removal policy"
msgstr "软件包, 创建"

#. type: anchor{#1}
#: guix-git/doc/contributing.texi:3211
#, fuzzy
msgid "package-removal-policy"
msgstr "package-removal-policy"

#. type: item
#: guix-git/doc/contributing.texi:3211
#, fuzzy, no-wrap
msgid "Package removal"
msgstr "软件包模块"

#. type: table
#: guix-git/doc/contributing.texi:3215
#, fuzzy
msgid "Packages whose upstream developers have declared as having reached ``end of life'' or being unmaintained may be removed; likewise, packages that have been @b{failing to build for two months or more} may be removed."
msgstr "那些上游开发者已声明为“生命周期结束”或未维护的软件包可能会被移除;同样,@b{构建失败两个月或更长时间}的软件包也可能被移除。"

#. type: table
#: guix-git/doc/contributing.texi:3219
#, fuzzy
msgid "There is no formal deprecation mechanism for this case, unless a replacement exists, in which case the @code{deprecated-package} procedure mentioned above can be used."
msgstr "在这种情况下没有正式的弃用机制,除非存在替代品,在这种情况下可以使用上述提到的 @code{deprecated-package} 过程。"

#. type: table
#: guix-git/doc/contributing.texi:3224
#, fuzzy
msgid "If the package being removed is a ``leaf'' (no other packages depend on it), it may be removed after a @b{one-month review period} of the patch removing it (this applies even when the removal has additional motivations such as security problems affecting the package)."
msgstr "如果被移除的软件包是“叶子”包(没有其他软件包依赖于它),则在移除该补丁的 @b{一个月审查期} 后可以被移除(即使移除还有其他动机,例如影响软件包的安全问题)。"

#. type: table
#: guix-git/doc/contributing.texi:3232
#, fuzzy
msgid "If it has many dependent packages---as is the case for example with Python version@tie{}2---the relevant team must propose a deprecation removal agenda and seek consensus with other packagers for @b{at least one month}.  It may also invite feedback from the broader user community, for example through a survey.  Removal of all impacted packages may be gradual, spanning multiple months, to accommodate all use cases."
msgstr "如果它有许多依赖包——例如 Python 版本@tie{}2 的情况——相关团队必须提出弃用移除议程,并与其他打包者寻求共识,@b{至少一个月}。它还可以邀请更广泛用户社区的反馈,例如通过调查。所有受影响软件包的移除可能是渐进的,跨越数月,以适应所有用例。"

#. type: table
#: guix-git/doc/contributing.texi:3236
#, fuzzy
msgid "When the package being removed is considered popular, whether or not it is a leaf, its deprecation must be announced as an entry in @code{etc/news.scm}."
msgstr "当被移除的包被认为是流行的,无论它是否是叶子节点,其弃用必须作为条目在 @code{etc/news.scm} 中宣布。"

#. type: item
#: guix-git/doc/contributing.texi:3237
#, fuzzy, no-wrap
msgid "Package upgrade"
msgstr "软件包模块"

#. type: table
#: guix-git/doc/contributing.texi:3240
#, fuzzy
msgid "In the case of packages with many dependents and/or many users, an upgrade may be treated like the @emph{removal} of the previous version."
msgstr "对于依赖项和/或用户众多的包,升级可能被视为之前版本的 @emph{移除}。"

#. type: table
#: guix-git/doc/contributing.texi:3244
#, fuzzy
msgid "Examples include major version upgrades of programming language implementations, as we've seen above with Python, and major upgrades of ``big'' libraries such as Qt or GTK."
msgstr "示例包括编程语言实现的主要版本升级,正如我们在上面看到的 Python,以及 ``大'' 库(如 Qt 或 GTK)的主要升级。"

#. type: cindex
#: guix-git/doc/contributing.texi:3245
#, fuzzy, no-wrap
msgid "service deprecation"
msgstr "合成服务"

#. #-#-#-#-#  contributing.pot (guix manual checkout)  #-#-#-#-#
#. type: item
#. #-#-#-#-#  guix.pot (guix manual checkout)  #-#-#-#-#
#. type: node
#: guix-git/doc/contributing.texi:3246 guix-git/doc/guix.texi:391
#: guix-git/doc/guix.texi:397 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:19185 guix-git/doc/guix.texi:19186
#: guix-git/doc/guix.texi:35786
#, no-wrap
msgid "Services"
msgstr "服务"

#. type: table
#: guix-git/doc/contributing.texi:3251
#, fuzzy
msgid "Changes to services for Guix Home and Guix System have a direct impact on user configuration.  For a user, adjusting to interface changes is rarely rewarding, which is why any such change must be clearly communicated in advance through deprecation warnings and documentation."
msgstr "对 Guix Home 和 Guix System 服务的更改对用户配置有直接影响。对于用户来说,适应界面变化很少能带来回报,这就是为什么任何此类更改必须通过弃用警告和文档提前清晰地传达。"

#. type: table
#: guix-git/doc/contributing.texi:3257
#, fuzzy
msgid "Renaming of variables related to service, home, or system configuration must be communicated for at least six months before removal using the @code{(guix deprecation)} mechanisms.  For example, renaming of @code{murmur-configuration} to @code{mumble-server-configuration} was communicated through a series of definitions like this one:"
msgstr "与服务、家或系统配置相关的变量重命名必须在移除前至少提前六个月通过 @code{(guix deprecation)} 机制进行沟通。例如,将 @code{murmur-configuration} 重命名为 @code{mumble-server-configuration} 是通过一系列定义进行沟通的,如下所示:"

#. type: findex
#: guix-git/doc/contributing.texi:3258
#, fuzzy, no-wrap
msgid "define-deprecated/public-alias"
msgstr "define-deprecated/public-alias"

#. type: lisp
#: guix-git/doc/contributing.texi:3263
#, fuzzy, no-wrap
msgid ""
"(define-deprecated/public-alias\n"
"  murmur-configuration\n"
"  mumble-server-configuration)\n"
msgstr ""
"(define-deprecated/public-alias\n"
"  murmur-configuration\n"
"  mumble-server-configuration)\n"

#. type: table
#: guix-git/doc/contributing.texi:3266
#, fuzzy
msgid "Procedures slated for removal may be defined like this:"
msgstr "计划移除的过程可以这样定义:"

#. type: findex
#: guix-git/doc/contributing.texi:3267
#, fuzzy, no-wrap
msgid "define-deprecated"
msgstr "define-deprecated"

#. type: lisp
#: guix-git/doc/contributing.texi:3272
#, fuzzy, no-wrap
msgid ""
"(define-deprecated (elogind-service #:key (config (elogind-configuration)))\n"
"  elogind-service-type\n"
"  (service elogind-service-type config))\n"
msgstr ""
"(define-deprecated (elogind-service #:key (config (elogind-configuration)))\n"
"  elogind-service-type\n"
"  (service elogind-service-type config))\n"

#. type: table
#: guix-git/doc/contributing.texi:3279
#, fuzzy
msgid "Record fields, notably fields of service configuration records, must follow a similar deprecation period.  This is usually achieved through @i{ad hoc} means though.  For example, the @code{hosts-file} field of @code{operating-system} was deprecated by adding a @code{sanitized} property that would emit a warning:"
msgstr "记录字段,特别是服务配置记录的字段,必须遵循类似的弃用期。这通常通过 @i{ad hoc} 方法实现。例如,@code{operating-system} 的 @code{hosts-file} 字段通过添加一个 @code{sanitized} 属性来弃用,该属性会发出警告:"

#. type: lisp
#: guix-git/doc/contributing.texi:3286
#, fuzzy, no-wrap
msgid ""
"(define-record-type* <operating-system>\n"
"  ;; @dots{}\n"
"  (hosts-file %operating-system-hosts-file         ;deprecated\n"
"              (default #f)\n"
"              (sanitize warn-hosts-file-field-deprecation)))\n"
"\n"
msgstr ""
"(define-record-type* <operating-system>\n"
"  ;; @dots{}\n"
"  (hosts-file %operating-system-hosts-file         ;deprecated\n"
"              (default #f)\n"
"              (sanitize warn-hosts-file-field-deprecation)))\n"
"\n"

#. type: lisp
#: guix-git/doc/contributing.texi:3290
#, fuzzy, no-wrap
msgid ""
"(define-deprecated (operating-system-hosts-file os)\n"
"  hosts-service-type\n"
"  (%operating-system-hosts-file os))\n"
msgstr ""
"(define-deprecated (operating-system-hosts-file os)\n"
"  hosts-service-type\n"
"  (%operating-system-hosts-file os))\n"

#. type: table
#: guix-git/doc/contributing.texi:3295
#, fuzzy
msgid "When deprecating interfaces in @code{operating-system}, @code{home-environment}, @code{(gnu services)}, or any popular service, the deprecation must come with an entry in @code{etc/news.scm}."
msgstr "在弃用 @code{operating-system}、@code{home-environment}、@code{(gnu services)} 或任何流行服务中的接口时,弃用必须在 @code{etc/news.scm} 中有一个条目。"

#. type: cindex
#: guix-git/doc/contributing.texi:3296
#, fuzzy, no-wrap
msgid "deprecation of programming interfaces"
msgstr "编程接口"

#. type: item
#: guix-git/doc/contributing.texi:3297
#, fuzzy, no-wrap
msgid "Core interfaces"
msgstr "用户界面"

#. type: table
#: guix-git/doc/contributing.texi:3304
#, fuzzy
msgid "Core programming interfaces, in particular the @code{(guix ...)} modules, may be relied on by a variety of external tools and channels.  Any incompatible change must be formally deprecated with @code{define-deprecated}, as shown above, for @b{at least one year} before removal.  The manual must clearly document the new interface and, except in obvious cases, explain how to migrate from the old one."
msgstr "核心编程接口,特别是 @code{(guix ...)} 模块,可能会被各种外部工具和渠道依赖。 任何不兼容的更改必须正式弃用,使用 @code{define-deprecated},如上所示,在移除之前,至少要有 @b{一年的时间}。 手册必须清楚地记录新接口,并且在明显的情况下,解释如何从旧接口迁移。"

#. type: table
#: guix-git/doc/contributing.texi:3308
#, fuzzy
msgid "As an example, the @code{build-expression->derivation} procedure was superseded by @code{gexp->derivation} and remained available as a deprecated symbol:"
msgstr "例如,@code{build-expression->derivation} 过程被 @code{gexp->derivation} 取代,并作为弃用符号继续可用:"

#. type: lisp
#: guix-git/doc/contributing.texi:3314
#, fuzzy, no-wrap
msgid ""
"(define-deprecated (build-expression->derivation store name exp\n"
"                                                 #:key @dots{})\n"
"  gexp->derivation\n"
"  @dots{})\n"
msgstr ""
"(define-deprecated (build-expression->derivation store name exp\n"
"                                                 #:key @dots{})\n"
"  gexp->derivation\n"
"  @dots{})\n"

#. type: table
#: guix-git/doc/contributing.texi:3319
#, fuzzy
msgid "Sometimes bindings are moved from one module to another.  In those cases, bindings must be reexported from the original module for at least one year."
msgstr "有时绑定会从一个模块移动到另一个模块。在这些情况下,绑定必须从原始模块重新导出至少一年。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3324
#, fuzzy
msgid "This section does not cover all possible situations but hopefully allows users to know what to expect and developers to stick to its spirit.  Please email @email{guix-devel@@gnu.org} for any questions."
msgstr "本节并未涵盖所有可能的情况,但希望能让用户知道该期待什么,并让开发者遵循其精神。如有任何问题,请发送电子邮件至 @email{guix-devel@@gnu.org}。"

#. #-#-#-#-#  contributing.pot (guix manual checkout)  #-#-#-#-#
#. type: cindex
#. #-#-#-#-#  guix.pot (guix manual checkout)  #-#-#-#-#
#. type: item
#: guix-git/doc/contributing.texi:3325 guix-git/doc/guix.texi:4025
#: guix-git/doc/guix.texi:46237 guix-git/doc/guix.texi:46294
#, no-wrap
msgid "documentation"
msgstr "documentation"

#. type: Plain text
#: guix-git/doc/contributing.texi:3332
#, fuzzy
msgid "Guix is documented using the Texinfo system.  If you are not yet familiar with it, we accept contributions for documentation in most formats.  That includes plain text, Markdown, Org, etc."
msgstr "Guix 使用 Texinfo 系统进行文档编写。如果您还不熟悉它,我们接受大多数格式的文档贡献。这包括纯文本、Markdown、Org 等。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3336
#, fuzzy
msgid "Documentation contributions can be sent to @email{guix-patches@@gnu.org}.  Prepend @samp{[DOCUMENTATION]} to the subject."
msgstr "文档贡献可以发送至 @email{guix-patches@@gnu.org}。请在主题前加上 @samp{[DOCUMENTATION]}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3341
#, fuzzy
msgid "When you need to make more than a simple addition to the documentation, we prefer that you send a proper patch as opposed to sending an email as described above.  @xref{Submitting Patches} for more information on how to send your patches."
msgstr "当您需要对文档进行的不仅仅是简单的添加时,我们更希望您发送一个适当的补丁,而不是像上面所述那样发送电子邮件。有关如何发送补丁的更多信息,请参见 @xref{Submitting Patches}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3350
#, fuzzy
msgid "To modify the documentation, you need to edit @file{doc/guix.texi} and @file{doc/contributing.texi} (which contains this documentation section), or @file{doc/guix-cookbook.texi} for the cookbook.  If you compiled the Guix repository before, you will have many more @file{.texi} files that are translations of these documents.  Do not modify them, the translation is managed through @uref{https://translate.fedoraproject.org/projects/guix, Weblate}.  @xref{Translating Guix} for more information."
msgstr "要修改文档,您需要编辑 @file{doc/guix.texi} 和 @file{doc/contributing.texi}(其中包含此文档部分),或 @file{doc/guix-cookbook.texi} 以获取食谱。如果您之前编译过 Guix 仓库,您将拥有更多 @file{.texi} 文件,这些文件是这些文档的翻译。请勿修改它们,翻译通过 @uref{https://translate.fedoraproject.org/projects/guix, Weblate} 管理。有关更多信息,请参见 @xref{Translating Guix}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3355
#, fuzzy
msgid "To render documentation, you must first make sure that you ran @command{./configure} in your source tree (@pxref{Running Guix Before It Is Installed}).  After that you can run one of the following commands:"
msgstr "要渲染文档,您必须首先确保在源树中运行了 @command{./configure} (@pxref{运行 Guix 在安装之前})。之后,您可以运行以下命令之一:"

#. type: item
#: guix-git/doc/contributing.texi:3357
#, fuzzy, no-wrap
msgid "@samp{make doc/guix.info} to compile the Info manual."
msgstr "@samp{make doc/guix.info} 来编译 Info 手册。"

#. type: itemize
#: guix-git/doc/contributing.texi:3359
#, fuzzy
msgid "You can check it with @command{info doc/guix.info}."
msgstr "您可以使用 @command{info doc/guix.info} 来检查它。"

#. type: item
#: guix-git/doc/contributing.texi:3359
#, fuzzy, no-wrap
msgid "@samp{make doc/guix.html} to compile the HTML version."
msgstr "@samp{make doc/guix.html} 来编译 HTML 版本。"

#. type: itemize
#: guix-git/doc/contributing.texi:3362
#, fuzzy
msgid "You can point your browser to the relevant file in the @file{doc/guix.html} directory."
msgstr "您可以将浏览器指向 @file{doc/guix.html} 目录中的相关文件。"

#. type: item
#: guix-git/doc/contributing.texi:3362
#, fuzzy, no-wrap
msgid "@samp{make doc/guix-cookbook.info} for the cookbook Info manual."
msgstr "@samp{make doc/guix-cookbook.info} 用于烹饪书 Info 手册。"

#. type: item
#: guix-git/doc/contributing.texi:3363
#, fuzzy, no-wrap
msgid "@samp{make doc/guix-cookbook.html} for the cookbook HTML version."
msgstr "@samp{make doc/guix-cookbook.html} 用于烹饪书 HTML 版本。"

#. type: cindex
#: guix-git/doc/contributing.texi:3366
#, fuzzy, no-wrap
msgid "translation"
msgstr "隔离"

#. type: cindex
#: guix-git/doc/contributing.texi:3367
#, fuzzy, no-wrap
msgid "l10n"
msgstr "本地化"

#. type: cindex
#: guix-git/doc/contributing.texi:3368
#, no-wrap
msgid "i18n"
msgstr "i18n"

#. type: cindex
#: guix-git/doc/contributing.texi:3369
#, fuzzy, no-wrap
msgid "native language support"
msgstr "本地语言支持"

#. type: Plain text
#: guix-git/doc/contributing.texi:3379
#, fuzzy
msgid "Writing code and packages is not the only way to provide a meaningful contribution to Guix.  Translating to a language you speak is another example of a valuable contribution you can make.  This section is designed to describe the translation process.  It gives you advice on how you can get involved, what can be translated, what mistakes you should avoid and what we can do to help you!"
msgstr "编写代码和软件包并不是对 Guix 提供有意义贡献的唯一方式。翻译成您所说的语言是您可以做出的另一种有价值的贡献示例。本节旨在描述翻译过程。它为您提供了如何参与、可以翻译的内容、应避免的错误以及我们可以如何帮助您的建议!"

#. type: Plain text
#: guix-git/doc/contributing.texi:3385
#, fuzzy
msgid "Guix is a big project that has multiple components that can be translated.  We coordinate the translation effort on a @uref{https://translate.fedoraproject.org/projects/guix/,Weblate instance} hosted by our friends at Fedora.  You will need an account to submit translations."
msgstr "Guix 是一个大型项目,具有多个可以翻译的组件。我们在由 Fedora 的朋友们托管的 @uref{https://translate.fedoraproject.org/projects/guix/,Weblate 实例} 上协调翻译工作。您需要一个帐户才能提交翻译。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3392
#, fuzzy
msgid "Some of the software packaged in Guix also contain translations.  We do not host a translation platform for them.  If you want to translate a package provided by Guix, you should contact their developers or find the information on their website.  As an example, you can find the homepage of the @code{hello} package by typing @command{guix show hello}.  On the ``homepage'' line, you will see @url{https://www.gnu.org/software/hello/} as the homepage."
msgstr "一些在 Guix 中打包的软件也包含翻译。我们不为它们托管翻译平台。如果您想翻译 Guix 提供的软件包,您应该联系它们的开发者或在其网站上查找信息。例如,您可以通过输入 @command{guix show hello} 找到 @code{hello} 软件包的主页。在“主页”行中,您将看到 @url{https://www.gnu.org/software/hello/} 作为主页。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3397
#, fuzzy
msgid "Many GNU and non-GNU packages can be translated on the @uref{https://translationproject.org,Translation Project}.  Some projects with multiple components have their own platform.  For instance, GNOME has its own platform, @uref{https://l10n.gnome.org/,Damned Lies}."
msgstr "许多 GNU 和非 GNU 软件包可以在 @uref{https://translationproject.org,翻译项目} 上进行翻译。一些具有多个组件的项目有自己的平台。例如,GNOME 有自己的平台 @uref{https://l10n.gnome.org/,Damned Lies}。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3399
#, fuzzy
msgid "Guix has five components hosted on Weblate."
msgstr "Guix 在 Weblate 上托管了五个组件。"

#. type: item
#: guix-git/doc/contributing.texi:3401
#, fuzzy, no-wrap
msgid "@code{guix} contains all the strings from the Guix software (the"
msgstr "@code{guix} 包含了 Guix 软件中的所有字符串(包括"

#. type: itemize
#: guix-git/doc/contributing.texi:3403
#, fuzzy
msgid "guided system installer, the package manager, etc), excluding packages."
msgstr "引导系统安装程序、包管理器等),不包括软件包。"

#. type: item
#: guix-git/doc/contributing.texi:3403
#, fuzzy, no-wrap
msgid "@code{packages} contains the synopsis (single-sentence description"
msgstr "@code{packages} 包含软件包的概要(单句描述"

#. type: itemize
#: guix-git/doc/contributing.texi:3405
#, fuzzy
msgid "of a package) and description (longer description) of packages in Guix."
msgstr ")和描述(更长的描述)。"

#. type: item
#: guix-git/doc/contributing.texi:3405
#, fuzzy, no-wrap
msgid "@code{website} contains the official Guix website, except for"
msgstr "@code{website} 包含官方 Guix 网站,除了"

#. type: itemize
#: guix-git/doc/contributing.texi:3407
#, fuzzy
msgid "blog posts and multimedia content."
msgstr "博客文章和多媒体内容。"

#. type: item
#: guix-git/doc/contributing.texi:3407
#, fuzzy, no-wrap
msgid "@code{documentation-manual} corresponds to this manual."
msgstr "@code{documentation-manual} 对应于本手册。"

#. type: item
#: guix-git/doc/contributing.texi:3408
#, fuzzy, no-wrap
msgid "@code{documentation-cookbook} is the component for the cookbook."
msgstr "@code{documentation-cookbook} 是食谱的组件。"

#. type: subsubheading
#: guix-git/doc/contributing.texi:3411
#, fuzzy, no-wrap
msgid "General Directions"
msgstr "通用目录"

#. type: Plain text
#: guix-git/doc/contributing.texi:3419
#, fuzzy
msgid "Once you get an account, you should be able to select a component from @uref{https://translate.fedoraproject.org/projects/guix/,the guix project}, and select a language.  If your language does not appear in the list, go to the bottom and click on the ``Start new translation'' button.  Select the language you want to translate to from the list, to start your new translation."
msgstr "一旦您获得账户,您应该能够从 @uref{https://translate.fedoraproject.org/projects/guix/,guix 项目} 中选择一个组件,并选择一种语言。如果您的语言未出现在列表中,请滚动到底部并点击 ``开始新的翻译'' 按钮。从列表中选择您想要翻译的语言,以开始您的新翻译。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3424
#, fuzzy
msgid "Like lots of other free software packages, Guix uses @uref{https://www.gnu.org/software/gettext,GNU Gettext} for its translations, with which translatable strings are extracted from the source code to so-called PO files."
msgstr "像许多其他免费软件包一样,Guix 使用 @uref{https://www.gnu.org/software/gettext,GNU Gettext} 进行翻译,从源代码中提取可翻译字符串到所谓的 PO 文件。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3435
#, fuzzy
msgid "Even though PO files are text files, changes should not be made with a text editor but with PO editing software.  Weblate integrates PO editing functionality.  Alternatively, translators can use any of various free-software tools for filling in translations, of which @uref{https://poedit.net/,Poedit} is one example, and (after logging in)  @uref{https://docs.weblate.org/en/latest/user/files.html,upload} the changed file.  There is also a special @uref{https://www.emacswiki.org/emacs/PoMode,PO editing mode} for users of GNU Emacs.  Over time translators find out what software they are happy with and what features they need."
msgstr "尽管PO文件是文本文件,但不应使用文本编辑器进行更改,而应使用PO编辑软件。Weblate集成了PO编辑功能。或者,翻译者可以使用各种自由软件工具来填写翻译,其中@uref{https://poedit.net/,Poedit}是一个例子,并在登录后@uref{https://docs.weblate.org/en/latest/user/files.html,上传}更改后的文件。对于GNU Emacs的用户,还有一个特殊的@uref{https://www.emacswiki.org/emacs/PoMode,PO编辑模式}。随着时间的推移,翻译者会发现他们喜欢使用的软件以及他们需要的功能。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3440
#, fuzzy
msgid "On Weblate, you will find various links to the editor, that will show various subsets (or all) of the strings.  Have a look around and at the @uref{https://docs.weblate.org/en/latest/,documentation} to familiarize yourself with the platform."
msgstr "在Weblate上,您会找到指向编辑器的各种链接,这些链接将显示各种子集(或所有)字符串。四处看看,并查看@uref{https://docs.weblate.org/en/latest/,文档}以熟悉该平台。"

#. type: subsubheading
#: guix-git/doc/contributing.texi:3441
#, fuzzy, no-wrap
msgid "Translation Components"
msgstr "翻译组件"

#. type: Plain text
#: guix-git/doc/contributing.texi:3446
#, fuzzy
msgid "In this section, we provide more detailed guidance on the translation process, as well as details on what you should or should not do.  When in doubt, please contact us, we will be happy to help!"
msgstr "在本节中,我们提供有关翻译过程的更详细指导,以及您应该或不应该做的事项的详细信息。如有疑问,请与我们联系,我们将乐意提供帮助!"

#. type: table
#: guix-git/doc/contributing.texi:3453
#, fuzzy
msgid "Guix is written in the Guile programming language, and some strings contain special formatting that is interpreted by Guile.  These special formatting should be highlighted by Weblate.  They start with @code{~} followed by one or more characters."
msgstr "Guix 是用 Guile 编程语言编写的,一些字符串包含由 Guile 解释的特殊格式。这些特殊格式应由 Weblate 突出显示。它们以 @code{~} 开头,后面跟着一个或多个字符。"

#. type: table
#: guix-git/doc/contributing.texi:3462
#, fuzzy
msgid "When printing the string, Guile replaces the special formatting symbols with actual values.  For instance, the string @samp{ambiguous package specification `~a'} would be substituted to contain said package specification instead of @code{~a}.  To properly translate this string, you must keep the formatting code in your translation, although you can place it where it makes sense in your language.  For instance, the French translation says @samp{spécification du paquet « ~a » ambiguë} because the adjective needs to be placed in the end of the sentence."
msgstr "在打印字符串时,Guile 会用实际值替换特殊格式符号。例如,字符串 @samp{ambiguous package specification `~a'} 将被替换为包含该包规范,而不是 @code{~a}。为了正确翻译这个字符串,您必须在翻译中保留格式代码,尽管您可以将其放置在您语言中合适的位置。例如,法语翻译为 @samp{spécification du paquet « ~a » ambiguë},因为形容词需要放在句子的末尾。"

#. type: table
#: guix-git/doc/contributing.texi:3466
#, fuzzy
msgid "If there are multiple formatting symbols, make sure to respect the order.  Guile does not know in which order you intended the string to be read, so it will substitute the symbols in the same order as the English sentence."
msgstr "如果有多个格式符号,请确保尊重顺序。Guile 不知道您希望字符串以何种顺序读取,因此它将按照英语句子的相同顺序替换符号。"

#. type: table
#: guix-git/doc/contributing.texi:3474
msgid "As an example, you cannot translate @samp{package '~a' has been superseded by '~a'} by @samp{'~a' supersedes package '~a'}, because the meaning would be reversed.  If @var{foo} is superseded by @var{bar}, the translation would read @samp{'foo' supersedes package 'bar'}.  To work around this problem, it is possible to use more advanced formatting to select a given piece of data, instead of following the default English order.  @xref{Formatted Output,,, guile, GNU Guile Reference Manual}, for more information on formatting in Guile."
msgstr "例如,您不能将 @samp{package '~a' has been superseded by '~a'} 翻译为 @samp{'~a' supersedes package '~a'},因为意思会被颠倒。如果 @var{foo} 被 @var{bar} 取代,翻译将为 @samp{'foo' supersedes package 'bar'}。为了解决这个问题,可以使用更高级的格式来选择特定的数据,而不是遵循默认的英语顺序。有关 Guile 中格式的更多信息,请参阅 @pxref{Formatted Output,,, guile, GNU Guile Reference Manual}。"

#. #-#-#-#-#  contributing.pot (guix manual checkout)  #-#-#-#-#
#. type: item
#. #-#-#-#-#  guix.pot (guix manual checkout)  #-#-#-#-#
#. type: cindex
#: guix-git/doc/contributing.texi:3475 guix-git/doc/guix.texi:2903
#, fuzzy, no-wrap
msgid "packages"
msgstr "包"

#. type: table
#: guix-git/doc/contributing.texi:3480
#, fuzzy
msgid "Package descriptions occasionally contain Texinfo markup (@pxref{Synopses and Descriptions}).  Texinfo markup looks like @samp{@@code@{rm -rf@}}, @samp{@@emph@{important@}}, etc.  When translating, please leave markup as is."
msgstr "包描述有时包含 Texinfo 标记 (@pxref{Synopses and Descriptions})。Texinfo 标记看起来像 @samp{@@code@{rm -rf@}}、@samp{@@emph@{important@}} 等。在翻译时,请保持标记不变。"

#. type: table
#: guix-git/doc/contributing.texi:3489
#, fuzzy
msgid "The characters after ``@@'' form the name of the markup, and the text between ``@{'' and ``@}'' is its content.  In general, you should not translate the content of markup like @code{@@code}, as it contains literal code that do not change with language.  You can translate the content of formatting markup such as @code{@@emph}, @code{@@i}, @code{@@itemize}, @code{@@item}.  However, do not translate the name of the markup, or it will not be recognized.  Do not translate the word after @code{@@end}, it is the name of the markup that is closed at this position (e.g.@: @code{@@itemize ... @@end itemize})."
msgstr "``@@'' 后的字符形成标记的名称,而 ``@{'' 和 ``@}'' 之间的文本是其内容。一般来说,您不应翻译像 @code{@@code} 这样的标记内容,因为它包含不随语言变化的字面代码。您可以翻译格式标记的内容,例如 @code{@@emph}、@code{@@i}、@code{@@itemize}、@code{@@item}。但是,不要翻译标记的名称,否则将无法识别。不要翻译 @code{@@end} 后的单词,它是此位置关闭的标记的名称(例如:@code{@@itemize ... @@end itemize})。"

#. type: item
#: guix-git/doc/contributing.texi:3490
#, fuzzy, no-wrap
msgid "documentation-manual and documentation-cookbook"
msgstr "文档手册和文档食谱"

#. type: table
#: guix-git/doc/contributing.texi:3494
#, fuzzy
msgid "The first step to ensure a successful translation of the manual is to find and translate the following strings @emph{first}:"
msgstr "确保手册成功翻译的第一步是找到并翻译以下字符串 @emph{first}:"

#. type: item
#: guix-git/doc/contributing.texi:3496
#, fuzzy, no-wrap
msgid "@code{version.texi}: Translate this string as @code{version-xx.texi},"
msgstr "@code{version.texi}:将此字符串翻译为 @code{version-xx.texi},"

#. type: itemize
#: guix-git/doc/contributing.texi:3499
#, fuzzy
msgid "where @code{xx} is your language code (the one shown in the URL on weblate)."
msgstr "其中 @code{xx} 是您的语言代码(在 weblate 的 URL 中显示的代码)。"

#. type: item
#: guix-git/doc/contributing.texi:3499
#, fuzzy, no-wrap
msgid "@code{contributing.texi}: Translate this string as"
msgstr "@code{contributing.texi}:将此字符串翻译为"

#. type: itemize
#: guix-git/doc/contributing.texi:3501
#, fuzzy
msgid "@code{contributing.xx.texi}, where @code{xx} is the same language code."
msgstr "@code{contributing.xx.texi},其中 @code{xx} 是相同的语言代码。"

#. type: item
#: guix-git/doc/contributing.texi:3501
#, fuzzy, no-wrap
msgid "@code{Top}: Do not translate this string, it is important for Texinfo."
msgstr "@code{Top}:请勿翻译此字符串,它对 Texinfo 很重要。"

#. type: itemize
#: guix-git/doc/contributing.texi:3504
#, fuzzy
msgid "If you translate it, the document will be empty (missing a Top node).  Please look for it, and register @code{Top} as its translation."
msgstr "如果您翻译了它,文档将为空(缺少 Top 节点)。请查找它,并将 @code{Top} 注册为其翻译。"

#. type: table
#: guix-git/doc/contributing.texi:3509
#, fuzzy
msgid "Translating these strings first ensure we can include your translation in the guix repository without breaking the make process or the @command{guix pull} machinery."
msgstr "首先翻译这些字符串确保我们可以将您的翻译包含在 guix 仓库中,而不会破坏构建过程或 @command{guix pull} 机制。"

#. type: table
#: guix-git/doc/contributing.texi:3516
#, fuzzy
msgid "The manual and the cookbook both use Texinfo.  As for @code{packages}, please keep Texinfo markup as is.  There are more possible markup types in the manual than in the package descriptions.  In general, do not translate the content of @code{@@code}, @code{@@file}, @code{@@var}, @code{@@value}, etc.  You should translate the content of formatting markup such as @code{@@emph}, @code{@@i}, etc."
msgstr "手册和食谱都使用 Texinfo。至于 @code{packages},请保持 Texinfo 标记不变。手册中的标记类型比包描述中更多。一般来说,不要翻译 @code{@@code}、@code{@@file}、@code{@@var}、@code{@@value} 等的内容。您应该翻译格式标记的内容,例如 @code{@@emph}、@code{@@i} 等。"

#. type: table
#: guix-git/doc/contributing.texi:3524
#, fuzzy
msgid "The manual contains sections that can be referred to by name by @code{@@ref}, @code{@@xref} and @code{@@pxref}.  We have a mechanism in place so you do not have to translate their content.  If you keep the English title, we will automatically replace it with your translation of that title.  This ensures that Texinfo will always be able to find the node. If you decide to change the translation of the title, the references will automatically be updated and you will not have to update them all yourself."
msgstr "手册包含可以通过 @code{@@ref}、@code{@@xref} 和 @code{@@pxref} 按名称引用的部分。我们有一个机制,使您不必翻译它们的内容。如果您保留英文标题,我们将自动用您翻译的标题替换它。这确保 Texinfo 始终能够找到节点。如果您决定更改标题的翻译,引用将自动更新,您无需自己更新所有引用。"

#. type: table
#: guix-git/doc/contributing.texi:3534
#, fuzzy
msgid "When translating references from the cookbook to the manual, you need to replace the name of the manual and the name of the section.  For instance, to translate @code{@@pxref@{Defining Packages,,, guix, GNU Guix Reference Manual@}}, you would replace @code{Defining Packages} with the title of that section in the translated manual @emph{only} if that title is translated.  If the title is not translated in your language yet, do not translate it here, or the link will be broken.  Replace @code{guix} with @code{guix.xx} where @code{xx} is your language code.  @code{GNU Guix Reference Manual} is the text of the link.  You can translate it however you wish."
msgstr "在将食谱中的引用翻译到手册时,您需要替换手册的名称和部分的名称。例如,要翻译 @code{@@pxref@{Defining Packages,,, guix, GNU Guix Reference Manual@}},您需要将 @code{Defining Packages} 替换为翻译手册中该部分的标题 @emph{仅当}该标题已翻译。如果该标题在您的语言中尚未翻译,请不要在此处翻译,否则链接将会断开。将 @code{guix} 替换为 @code{guix.xx},其中 @code{xx} 是您的语言代码。@code{GNU Guix Reference Manual} 是链接的文本。您可以随意翻译它。"

#. type: item
#: guix-git/doc/contributing.texi:3535
#, fuzzy, no-wrap
msgid "website"
msgstr "官方网站"

#. type: table
#: guix-git/doc/contributing.texi:3542
#, fuzzy
msgid "The website pages are written using SXML, an s-expression version of HTML, the basic language of the web.  We have a process to extract translatable strings from the source, and replace complex s-expressions with a more familiar XML markup, where each markup is numbered.  Translators can arbitrarily change the ordering, as in the following example."
msgstr "网站页面使用 SXML 编写,这是 HTML 的一种 s 表达式版本,是网络的基本语言。我们有一个过程来从源代码中提取可翻译的字符串,并用更熟悉的 XML 标记替换复杂的 s 表达式,每个标记都有编号。翻译者可以随意更改顺序,如以下示例所示。"

#. type: example
#: guix-git/doc/contributing.texi:3549
#, fuzzy, no-wrap
msgid ""
"#. TRANSLATORS: Defining Packages is a section name\n"
"#. in the English (en) manual.\n"
"#: apps/base/templates/about.scm:64\n"
"msgid \"Packages are <1>defined<1.1>en</1.1><1.2>Defining-Packages.html</1.2></1> as native <2>Guile</2> modules.\"\n"
"msgstr \"Pakete werden als reine <2>Guile</2>-Module <1>definiert<1.1>de</1.1><1.2>Pakete-definieren.html</1.2></1>.\"\n"
msgstr ""
"#. 翻译者:定义包是英文手册中的一个章节名称。\n"
"#. 在英文 (en) 手册中。\n"
"#: apps/base/templates/about.scm:64\n"
"msgid \"Packages are <1>defined<1.1>en</1.1><1.2>Defining-Packages.html</1.2></1> as native <2>Guile</2> modules.\"\n"
"msgstr \"包被作为原生 <2>Guile</2> 模块 <1>定义<1.1>zh</1.1><1.2>定义包.html</1.2></1>。\"\n"

#. type: table
#: guix-git/doc/contributing.texi:3552
#, fuzzy
msgid "Note that you need to include the same markups.  You cannot skip any."
msgstr "请注意,您需要包含相同的标记。您不能跳过任何标记。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3560
#, fuzzy
msgid "In case you make a mistake, the component might fail to build properly with your language, or even make guix pull fail.  To prevent that, we have a process in place to check the content of the files before pushing to our repository.  We will not be able to update the translation for your language in Guix, so we will notify you (through weblate and/or by email) so you get a chance to fix the issue."
msgstr "如果您犯了错误,组件可能无法正确构建您的语言,甚至可能导致 guix pull 失败。为此,我们有一个流程来检查文件的内容,然后再推送到我们的代码库。我们将无法更新 Guix 中您语言的翻译,因此我们会通知您(通过 weblate 和/或电子邮件),以便您有机会修复问题。"

#. type: subsubheading
#: guix-git/doc/contributing.texi:3561
#, fuzzy, no-wrap
msgid "Outside of Weblate"
msgstr "在 Weblate 之外"

#. type: Plain text
#: guix-git/doc/contributing.texi:3564
#, fuzzy
msgid "Currently, some parts of Guix cannot be translated on Weblate, help wanted!"
msgstr "目前,Guix 的某些部分无法在 Weblate 上翻译,急需帮助!"

#. type: item
#: guix-git/doc/contributing.texi:3566
#, fuzzy, no-wrap
msgid "@command{guix pull} news can be translated in @file{news.scm}, but is not"
msgstr "@command{guix pull} 新闻可以在 @file{news.scm} 中翻译,但目前不可用"

#. type: itemize
#: guix-git/doc/contributing.texi:3572
#, fuzzy
msgid "available from Weblate.  If you want to provide a translation, you can prepare a patch as described above, or simply send us your translation with the name of the news entry you translated and your language. @xref{Writing Channel News}, for more information about channel news."
msgstr "来自 Weblate。如果您想提供翻译,可以按照上述描述准备补丁,或者简单地将您的翻译与您翻译的新闻条目名称和您的语言一起发送给我们。有关频道新闻的更多信息,请参见 @xref{编写频道新闻}。"

#. type: item
#: guix-git/doc/contributing.texi:3572
#, fuzzy, no-wrap
msgid "Guix blog posts cannot currently be translated."
msgstr "Guix 博客文章目前无法翻译。"

#. type: item
#: guix-git/doc/contributing.texi:3573
#, fuzzy, no-wrap
msgid "The installer script (for foreign distributions) is entirely in English."
msgstr "安装脚本(针对外部发行版)完全是英文。"

#. type: item
#: guix-git/doc/contributing.texi:3574
#, fuzzy, no-wrap
msgid "Some of the libraries Guix uses cannot be translated or are translated"
msgstr "Guix 使用的一些库无法翻译或已翻译"

#. type: itemize
#: guix-git/doc/contributing.texi:3576
#, fuzzy
msgid "outside of the Guix project.  Guile itself is not internationalized."
msgstr "在 Guix 项目之外。Guile 本身没有国际化。"

#. type: item
#: guix-git/doc/contributing.texi:3576
#, fuzzy, no-wrap
msgid "Other manuals linked from this manual or the cookbook might not be"
msgstr "从本手册或食谱中链接的其他手册可能未被"

#. type: itemize
#: guix-git/doc/contributing.texi:3578
#, fuzzy
msgid "translated."
msgstr "翻译。"

#. type: subsubheading
#: guix-git/doc/contributing.texi:3580
#, fuzzy, no-wrap
msgid "Conditions for Inclusion"
msgstr "包含条件"

#. type: Plain text
#: guix-git/doc/contributing.texi:3587
#, fuzzy
msgid "There are no conditions for adding new translations of the @code{guix} and @code{guix-packages} components, other than they need at least one translated string.  New languages will be added to Guix as soon as possible.  The files may be removed if they fall out of sync and have no more translated strings."
msgstr "除了需要至少一个翻译字符串外,添加 @code{guix} 和 @code{guix-packages} 组件的新翻译没有其他条件。新语言将尽快添加到 Guix。如果文件不同步且没有更多翻译字符串,则可能会被删除。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3593
#, fuzzy
msgid "Given that the web site is dedicated to new users, we want its translation to be as complete as possible before we include it in the language menu.  For a new language to be included, it needs to reach at least 80% completion.  When a language is included, it may be removed in the future if it stays out of sync and falls below 60% completion."
msgstr "考虑到该网站专门面向新用户,我们希望在将其纳入语言菜单之前,翻译尽可能完整。要包含一种新语言,它需要达到至少80%的完成度。当一种语言被纳入时,如果它保持不同步并且低于60%的完成度,可能会在未来被移除。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3601
#, fuzzy
msgid "The manual and cookbook are automatically added in the default compilation target.  Every time we synchronize translations, developers need to recompile all the translated manuals and cookbooks.  This is useless for what is essentially the English manual or cookbook.  Therefore, we will only include a new language when it reaches 10% completion in the component.  When a language is included, it may be removed in the future if it stays out of sync and falls below 5% completion."
msgstr "手册和食谱会自动添加到默认编译目标中。每次我们同步翻译时,开发人员需要重新编译所有翻译的手册和食谱。这对于本质上是英文手册或食谱的内容来说是没有用的。因此,我们只会在一种语言在组件中达到10%的完成度时才将其纳入。当一种语言被纳入时,如果它保持不同步并且低于5%的完成度,可能会在未来被移除。"

#. type: subsubheading
#: guix-git/doc/contributing.texi:3602
#, fuzzy, no-wrap
msgid "Translation Infrastructure"
msgstr "翻译基础设施"

#. type: Plain text
#: guix-git/doc/contributing.texi:3613
#, fuzzy
msgid "Weblate is backed by a git repository from which it discovers new strings to translate and pushes new and updated translations.  Normally, it would be enough to give it commit access to our repositories.  However, we decided to use a separate repository for two reasons.  First, we would have to give Weblate commit access and authorize its signing key, but we do not trust it in the same way we trust guix developers, especially since we do not manage the instance ourselves.  Second, if translators mess something up, it can break the generation of the website and/or guix pull for all our users, independently of their language."
msgstr "Weblate 由一个 git 仓库支持,从中发现新的字符串进行翻译并推送新的和更新的翻译。通常,给予它对我们仓库的提交访问权限就足够了。然而,我们决定使用一个单独的仓库,原因有两个。首先,我们必须给予 Weblate 提交访问权限并授权其签名密钥,但我们并不以同样的方式信任它,就像我们信任 guix 开发者一样,特别是因为我们并不自己管理该实例。其次,如果翻译者搞砸了某些东西,可能会破坏网站的生成和/或 guix pull,影响所有用户,无论他们的语言如何。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3617
#, fuzzy
msgid "For these reasons, we use a dedicated repository to host translations, and we synchronize it with our guix and artworks repositories after checking no issue was introduced in the translation."
msgstr "基于这些原因,我们使用一个专用仓库来托管翻译,并在检查翻译中没有引入问题后,将其与我们的 guix 和艺术作品仓库同步。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3623
#, fuzzy
msgid "Developers can download the latest PO files from weblate in the Guix repository by running the @command{make download-po} command.  It will automatically download the latest files from weblate, reformat them to a canonical form, and check they do not contain issues.  The manual needs to be built again to check for additional issues that might crash Texinfo."
msgstr "开发人员可以通过运行 @command{make download-po} 命令,从 Guix 仓库下载最新的 PO 文件。它将自动从 weblate 下载最新文件,将其重新格式化为规范形式,并检查它们是否不包含问题。手册需要重新构建,以检查可能导致 Texinfo 崩溃的其他问题。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3627
#, fuzzy
msgid "Before pushing new translation files, developers should add them to the make machinery so the translations are actually available.  The process differs for the various components."
msgstr "在推送新的翻译文件之前,开发人员应将其添加到构建机制中,以便翻译实际上可用。该过程因各个组件而异。"

#. type: item
#: guix-git/doc/contributing.texi:3629
#, fuzzy, no-wrap
msgid "New po files for the @code{guix} and @code{packages} components must"
msgstr "@code{guix} 和 @code{packages} 组件的新 po 文件必须"

#. type: itemize
#: guix-git/doc/contributing.texi:3632
#, fuzzy
msgid "be registered by adding the new language to @file{po/guix/LINGUAS} or @file{po/packages/LINGUAS}."
msgstr "通过将新语言添加到 @file{po/guix/LINGUAS} 或 @file{po/packages/LINGUAS} 来注册。"

#. type: item
#: guix-git/doc/contributing.texi:3632
#, fuzzy, no-wrap
msgid "New po files for the @code{documentation-manual} component must be"
msgstr "@code{documentation-manual} 组件的新 po 文件必须"

#. type: itemize
#: guix-git/doc/contributing.texi:3638
#, fuzzy
msgid "registered by adding the file name to @code{DOC_PO_FILES} in @file{po/doc/local.mk}, the generated @file{%D%/guix.xx.texi} manual to @code{info_TEXINFOS} in @file{doc/local.mk} and the generated @file{%D%/guix.xx.texi} and @file{%D%/contributing.xx.texi} to @code{TRANSLATED_INFO} also in @file{doc/local.mk}."
msgstr "通过将文件名添加到 @code{DOC_PO_FILES} 在 @file{po/doc/local.mk} 中,生成的 @file{%D%/guix.xx.texi} 手册添加到 @code{info_TEXINFOS} 在 @file{doc/local.mk} 中,以及将生成的 @file{%D%/guix.xx.texi} 和 @file{%D%/contributing.xx.texi} 添加到 @code{TRANSLATED_INFO} 也在 @file{doc/local.mk} 中来注册。"

#. type: item
#: guix-git/doc/contributing.texi:3638
#, fuzzy, no-wrap
msgid "New po files for the @code{documentation-cookbook} component must be"
msgstr "@code{documentation-cookbook} 组件的新 po 文件必须"

#. type: itemize
#: guix-git/doc/contributing.texi:3644
#, fuzzy
msgid "registered by adding the file name to @code{DOC_COOKBOOK_PO_FILES} in @file{po/doc/local.mk}, the generated @file{%D%/guix-cookbook.xx.texi} manual to @code{info_TEXINFOS} in @file{doc/local.mk} and the generated @file{%D%/guix-cookbook.xx.texi} to @code{TRANSLATED_INFO} also in @file{doc/local.mk}."
msgstr "通过将文件名添加到 @code{DOC_COOKBOOK_PO_FILES} 在 @file{po/doc/local.mk} 中,生成的 @file{%D%/guix-cookbook.xx.texi} 手册添加到 @code{info_TEXINFOS} 在 @file{doc/local.mk} 中,以及将生成的 @file{%D%/guix-cookbook.xx.texi} 添加到 @code{TRANSLATED_INFO} 也在 @file{doc/local.mk} 中来注册。"

#. type: item
#: guix-git/doc/contributing.texi:3644
#, fuzzy, no-wrap
msgid "New po files for the @code{website} component must be added to the"
msgstr "@code{website} 组件的新 po 文件必须添加到"

#. type: itemize
#: guix-git/doc/contributing.texi:3649
#, fuzzy
msgid "@code{guix-artwork} repository, in @file{website/po/}.  @file{website/po/LINGUAS} and @file{website/po/ietf-tags.scm} must be updated accordingly (see @file{website/i18n-howto.txt} for more information on the process)."
msgstr "@code{guix-artwork} 仓库中的 @file{website/po/}。 @file{website/po/LINGUAS} 和 @file{website/po/ietf-tags.scm} 必须相应更新(有关该过程的更多信息,请参见 @file{website/i18n-howto.txt})。"

#. type: cindex
#: guix-git/doc/contributing.texi:3652
#, fuzzy, no-wrap
msgid "infrastructure"
msgstr "基础设施"

#. type: Plain text
#: guix-git/doc/contributing.texi:3659
#, fuzzy
msgid "Since its inception, the Guix project has always valued its autonomy, and that reflects in its infrastructure: our servers run Guix System and exclusively free software, and are administered by volunteers."
msgstr "自成立以来,Guix 项目始终重视其自主性,这反映在其基础设施中:我们的服务器运行 Guix 系统和完全自由的软件,并由志愿者管理。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3663
#, fuzzy
msgid "Of course this comes at a cost and this is why we need contributions.  Our hope is to make infrastructure-related activity more legible so that maybe you can picture yourself helping in one of these areas."
msgstr "当然,这是有代价的,这就是我们需要贡献的原因。我们的希望是使与基础设施相关的活动更加清晰,以便您可以想象自己在这些领域中的帮助。"

#. type: subsection
#: guix-git/doc/contributing.texi:3672 guix-git/doc/contributing.texi:3674
#: guix-git/doc/contributing.texi:3675
#, fuzzy, no-wrap
msgid "Coding"
msgstr "代码风格"

#. type: subsection
#: guix-git/doc/contributing.texi:3672 guix-git/doc/contributing.texi:3720
#: guix-git/doc/contributing.texi:3721
#, fuzzy, no-wrap
msgid "System Administration"
msgstr "系统管理"

#. type: subsection
#: guix-git/doc/contributing.texi:3672 guix-git/doc/contributing.texi:3773
#: guix-git/doc/contributing.texi:3774
#, fuzzy, no-wrap
msgid "Day-to-Day System Administration"
msgstr "系统管理"

#. type: subsection
#: guix-git/doc/contributing.texi:3672 guix-git/doc/contributing.texi:3793
#: guix-git/doc/contributing.texi:3794
#, fuzzy, no-wrap
msgid "On-Site Intervention"
msgstr "现场干预"

#. type: subsection
#: guix-git/doc/contributing.texi:3672 guix-git/doc/contributing.texi:3808
#: guix-git/doc/contributing.texi:3809
#, fuzzy, no-wrap
msgid "Hosting"
msgstr "移植"

#. type: subsection
#: guix-git/doc/contributing.texi:3672 guix-git/doc/contributing.texi:3832
#: guix-git/doc/contributing.texi:3833
#, fuzzy, no-wrap
msgid "Administrative Tasks"
msgstr "用户界面"

#. type: Plain text
#: guix-git/doc/contributing.texi:3679
#, fuzzy
msgid "The project runs many Guix-specific services; this is all lovely Scheme code but it tends to receive less attention than Guix itself:"
msgstr "该项目运行许多特定于 Guix 的服务;这都是可爱的 Scheme 代码,但往往比 Guix 本身受到的关注要少:"

#. type: itemize
#: guix-git/doc/contributing.texi:3683
#, fuzzy
msgid "Build Farm Front-End: @url{https://git.cbaines.net/guix/bffe, bffe}"
msgstr "构建农场前端:@url{https://git.cbaines.net/guix/bffe, bffe}"

#. type: itemize
#: guix-git/doc/contributing.texi:3685
#, fuzzy
msgid "Cuirass: @url{https://guix.gnu.org/cuirass/, Cuirass}"
msgstr "@url{https://gnupg.org/, GNU libgcrypt};"

#. type: itemize
#: guix-git/doc/contributing.texi:3689
#, fuzzy
msgid "Goggles (IRC logger): @url{https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/goggles.scm, Goggles}"
msgstr "护目镜 (IRC 日志记录器): @url{https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/goggles.scm, Goggles}"

#. type: itemize
#: guix-git/doc/contributing.texi:3693
#, fuzzy
msgid "Guix Build Coordinator: @url{https://git.savannah.gnu.org/cgit/guix/build-coordinator.git/, Build-Coordinator}"
msgstr "Guix 构建协调员: @url{https://git.savannah.gnu.org/cgit/guix/build-coordinator.git/, Build-Coordinator}"

#. type: itemize
#: guix-git/doc/contributing.texi:3696
#, fuzzy
msgid "Guix Data Service: @url{https://git.savannah.gnu.org/git/guix/data-service.git/, Data-Service}"
msgstr "git clone https://git.savannah.gnu.org/git/guix.git"

#. type: itemize
#: guix-git/doc/contributing.texi:3700
#, fuzzy
msgid "Guix Packages Website: @url{https://codeberg.org/luis-felipe/guix-packages-website.git, Guix-Packages-Website}"
msgstr "Guix 包网站: @url{https://codeberg.org/luis-felipe/guix-packages-website.git, Guix-Packages-Website}"

#. type: itemize
#: guix-git/doc/contributing.texi:3702
#, fuzzy
msgid "mumi: @url{https://git.savannah.gnu.org/cgit/guix/mumi.git/, Mumi}"
msgstr "git clone https://git.savannah.gnu.org/git/guix.git"

#. type: itemize
#: guix-git/doc/contributing.texi:3705
#, fuzzy
msgid "nar-herder: @url{https://git.savannah.gnu.org/cgit/guix/nar-herder.git/, Nar-Herder}"
msgstr "git clone https://git.savannah.gnu.org/git/guix.git"

#. type: itemize
#: guix-git/doc/contributing.texi:3708
#, fuzzy
msgid "QA Frontpage: @url{https://git.savannah.gnu.org/git/guix/qa-frontpage.git, QA-Frontpage}"
msgstr "git clone https://git.savannah.gnu.org/git/guix.git"

#. type: Plain text
#: guix-git/doc/contributing.texi:3713
#, fuzzy
msgid "There is no time constraint on this coding activity: any improvement is welcome, whenever it comes.  Most of these code bases are relatively small, which should make it easier to get started."
msgstr "此编码活动没有时间限制:任何改进都是受欢迎的,无论何时出现。大多数代码库相对较小,这应该使入门更容易。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3715
#, fuzzy
msgid "Prerequisites: Familiarity with Guile, HTTP, and databases."
msgstr "先决条件:熟悉 Guile、HTTP 和数据库。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3719
#, fuzzy
msgid "If you wish to get started, check out the README of the project of your choice and get in touch with guix-devel and the primary developer(s) of the tool as per @code{git shortlog -s | sort -k1 -n}."
msgstr "如果您希望开始,请查看您选择的项目的 README,并根据 @code{git shortlog -s | sort -k1 -n} 与 guix-devel 和工具的主要开发者联系。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3724
#, fuzzy
msgid "Guix System configuration for all our systems is held in this repository:"
msgstr "我们所有系统的 Guix 系统配置保存在这个仓库中:"

#. type: Plain text
#: guix-git/doc/contributing.texi:3726
#, fuzzy
msgid "@url{https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/}"
msgstr "git clone https://git.savannah.gnu.org/git/guix.git"

#. type: Plain text
#: guix-git/doc/contributing.texi:3731
#, fuzzy
msgid "The two front-ends are @file{berlin.scm} (the machine behind ci.guix.gnu.org)  and @file{bayfront.scm} (the machine behind bordeaux.guix.gnu.org, guix.gnu.org, hpc.guix.info, qa.guix.gnu.org, and more).  Both connect to a number of build machines and helpers."
msgstr "两个前端是 @file{berlin.scm}(ci.guix.gnu.org 背后的机器)和 @file{bayfront.scm}(bordeaux.guix.gnu.org、guix.gnu.org、hpc.guix.info、qa.guix.gnu.org 等背后的机器)。两者都连接到多个构建机器和助手。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3735
#, fuzzy
msgid "Without even having SSH access to the machine, you can help by posting patches to improve the configuration (you can test it with @code{guix system vm}).  Here are ways you can help:"
msgstr "即使没有 SSH 访问机器,您也可以通过发布补丁来帮助改善配置(您可以使用 @code{guix system vm} 进行测试)。以下是您可以提供帮助的方式:"

#. type: itemize
#: guix-git/doc/contributing.texi:3740
#, fuzzy
msgid "Improve infra monitoring: set up a dashboard to monitor all the infrastructure, and an out-of-band channel to communicate about downtime."
msgstr "改善基础设施监控:设置一个仪表板来监控所有基础设施,以及一个带外渠道来沟通停机时间。"

#. type: itemize
#: guix-git/doc/contributing.texi:3744
#, fuzzy
msgid "Implement web site redundancy: guix.gnu.org should be backed by several machines on different sites.  Get in touch with us and/or send a patch!"
msgstr "实现网站冗余:guix.gnu.org 应该由不同地点的多台机器支持。请与我们联系和/或发送补丁!"

#. type: itemize
#: guix-git/doc/contributing.texi:3748
#, fuzzy
msgid "Implement substitute redundancy: likewise, bordeaux.guix.gnu.org and ci.guix.gnu.org should be backed by several head nodes."
msgstr "实现替代品冗余:同样,bordeaux.guix.gnu.org 和 ci.guix.gnu.org 应该由多台主节点支持。"

#. type: itemize
#: guix-git/doc/contributing.texi:3753
#, fuzzy
msgid "Improve backup: there's currently ad-hoc backup of selected pieces over rsync between the two head nodes; we can improve on that, for example with a dedicated backup site and proper testing of recoverability."
msgstr "改善备份:目前在两台主节点之间通过 rsync 对选定部分进行临时备份;我们可以在这方面进行改进,例如使用专用备份站点和适当的可恢复性测试。"

#. type: itemize
#: guix-git/doc/contributing.texi:3757
#, fuzzy
msgid "Support mirroring: We'd like to make it easy for others to mirror substitutes from ci.guix and bordeaux.guix, perhaps by offering public rsync access."
msgstr "支持镜像:我们希望让其他人能够轻松地从 ci.guix 和 bordeaux.guix 镜像替代品,也许通过提供公共 rsync 访问。"

#. type: itemize
#: guix-git/doc/contributing.texi:3761
#, fuzzy
msgid "Optimize our web services: Monitor the performance of our services and tweak nginx config or whatever it takes to improve it."
msgstr "优化我们的网络服务:监控我们服务的性能,并调整nginx配置或其他任何必要的措施来改善它。"

#. type: itemize
#: guix-git/doc/contributing.texi:3764
#, fuzzy
msgid "There is no time constraint on this activity: any improvement is welcome, whenever you can work on it."
msgstr "此活动没有时间限制:任何改进都是受欢迎的,您可以在任何时候进行。"

#. type: itemize
#: guix-git/doc/contributing.texi:3767
#, fuzzy
msgid "Prerequisite: Familiarity with Guix System administration and ideally with the infrastructure handbook:"
msgstr "前提条件:熟悉Guix系统管理,理想情况下熟悉基础设施手册:"

#. type: Plain text
#: guix-git/doc/contributing.texi:3770 guix-git/doc/contributing.texi:3792
#, fuzzy
msgid "@url{https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/doc/infra-handbook.org, Infra-Handbook}"
msgstr "@url{https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/doc/infra-handbook.org, Infra-Handbook}"

#. type: Plain text
#: guix-git/doc/contributing.texi:3780
#, fuzzy
msgid "We're also looking for people who'd be willing to have SSH access to some of the infrastructure to help with day-to-day maintenance: restarting a build, restarting the occasional service that has gone wild (that can happen), reconfiguring/upgrading a machine, rebooting, etc."
msgstr "我们也在寻找愿意拥有SSH访问权限的人,以帮助进行日常维护:重启构建,重启偶尔出现问题的服务(这种情况可能会发生),重新配置/升级机器,重启等。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3785
#, fuzzy
msgid "This day-to-day activity requires you to be available some of the time (during office hours or not, during the week-end or not), whenever is convenient for you, so you can react to issues reported on IRC, on the mailing list, or elsewhere, and synchronize with other sysadmins."
msgstr "这项日常活动要求您在某些时间内可用(无论是办公时间还是非办公时间,周末或非周末),只要对您方便,您就可以对IRC、邮件列表或其他地方报告的问题做出反应,并与其他系统管理员同步。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3789
#, fuzzy
msgid "Prerequisite: Being a ``known'' member of the community, familiarity with Guix System administration, with some of the services/web sites being run, and with the infrastructure handbook:"
msgstr "前提条件:成为社区的“已知”成员,熟悉Guix系统管理,熟悉正在运行的一些服务/网站,以及基础设施手册:"

#. type: Plain text
#: guix-git/doc/contributing.texi:3799
#, fuzzy
msgid "The first front-end is currently generously hosted by the Max Delbrück Center (MDC), a research institute in Berlin, Germany. Only authorized personnel can physically access it."
msgstr "第一个前端目前由位于德国柏林的马克斯·德尔布吕克中心(MDC)慷慨托管。只有授权人员可以物理访问它。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3804
#, fuzzy
msgid "The second one, bordeaux.guix.gnu.org, is hosted in Bordeaux, France, in a professional data center shared with non-profit ISP Aquilenet.  If you live in the region of Bordeaux and would like to help out when we need to go on-site, please make yourself known by emailing @email{guix-sysadmin@@gnu.org}."
msgstr "第二个前端bordeaux.guix.gnu.org托管在法国波尔多的一个专业数据中心,与非营利ISP Aquilenet共享。如果您住在波尔多地区,并希望在我们需要现场时提供帮助,请通过电子邮件@email{guix-sysadmin@@gnu.org}告知我们。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3807
#, fuzzy
msgid "On-site interventions are rare, but they're usually in response to an emergency."
msgstr "现场干预很少,但通常是响应紧急情况。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3813
#, fuzzy
msgid "We're looking for people who can host machines and help out whenever physical access is needed.  More specifically:"
msgstr "我们正在寻找可以托管机器并在需要物理访问时提供帮助的人。更具体地说:"

#. type: itemize
#: guix-git/doc/contributing.texi:3818
#, fuzzy
msgid "We need hosting of ``small'' machines such as single-board computers (AArch64, RISC-V) for use as build machines."
msgstr "我们需要托管“较小”的机器,例如用于构建机器的单板计算机(AArch64,RISC-V)。"

#. type: itemize
#: guix-git/doc/contributing.texi:3823
#, fuzzy
msgid "We need hosting for front-ends and x86_64 build machines in a data center where they can be racked and where, ideally, several local Guix sysadmins can physically access them."
msgstr "我们需要在数据中心托管前端和x86_64构建机器,以便它们可以被机架放置,并且理想情况下,几位本地Guix系统管理员可以物理访问它们。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3828
#, fuzzy
msgid "The machines should be accessible over Wireguard VPN most of the time, so longer power or network interruptions should be the exception."
msgstr "这些机器应该大部分时间可以通过 Wireguard VPN 访问,因此较长的电源或网络中断应该是例外。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3831
#, fuzzy
msgid "Prerequisites: Familiarity with installing and remotely administering Guix System."
msgstr "前提条件:熟悉安装和远程管理 Guix 系统。"

#. type: Plain text
#: guix-git/doc/contributing.texi:3837
#, fuzzy
msgid "The infra remains up and running thanks to crucial administrative tasks, which includes:"
msgstr "基础设施能够正常运行,得益于关键的管理任务,包括:"

#. type: itemize
#: guix-git/doc/contributing.texi:3841
#, fuzzy
msgid "Selecting and purchasing hardware, for example build machines."
msgstr "选择和购买硬件,例如构建机器。"

#. type: itemize
#: guix-git/doc/contributing.texi:3843
#, fuzzy
msgid "Renewing domain names."
msgstr "续订域名。"

#. type: itemize
#: guix-git/doc/contributing.texi:3847
#, fuzzy
msgid "Securing funding, in particular via the Guix Foundation: @url{https://foundation.guix.info, Guix Foundation}"
msgstr "确保资金,特别是通过 Guix 基金会:@url{https://foundation.guix.info, Guix 基金会}"

#. type: Plain text
#: guix-git/doc/contributing.texi:3850
#, fuzzy
msgid "Prerequisites: Familiarity with hardware, and/or DNS registrars, and/or sponsorship, and/or crowdfunding."
msgstr "前提条件:熟悉硬件和/或 DNS 注册商和/或赞助和/或众筹。"

#. type: Plain text
#: guix-git/doc/guix.texi:7
msgid "@documentencoding UTF-8"
msgstr "@documentencoding UTF-8"

#. type: title
#: guix-git/doc/guix.texi:7 guix-git/doc/guix.texi:169
#, no-wrap
msgid "GNU Guix Reference Manual"
msgstr "GNU Guix 参考手册"

#. type: include
#: guix-git/doc/guix.texi:10
#, no-wrap
msgid "version.texi"
msgstr "version-zh_CN.texi"

#. type: copying
#: guix-git/doc/guix.texi:141
#, fuzzy
msgid "Copyright @copyright{} 2012--2025 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016, 2024 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021, 2023, 2025 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@* Copyright @copyright{} 2017, 2018, 2020, 2021, 2022 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, 2018, 2024 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@* Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@* Copyright @copyright{} 2017, 2019, 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer@* Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2023, 2024, 2025 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018, 2021, 2023 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright @copyright{} 2018, 2019 Gábor Boskovits@* Copyright @copyright{} 2018, 2019, 2020, 2022, 2023, 2024 Florian Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} 2018 Alex Vong@* Copyright @copyright{} 2019 Josh Holland@* Copyright @copyright{} 2019, 2020 Diego Nicola Barbato@* Copyright @copyright{} 2019 Ivan Petkov@* Copyright @copyright{} 2019 Jakob L. Kreuze@* Copyright @copyright{} 2019 Kyle Andrews@* Copyright @copyright{} 2019 Alex Griffin@* Copyright @copyright{} 2019, 2020, 2021, 2022 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Liliana Marie Prikler@* Copyright @copyright{} 2019, 2020, 2021, 2022, 2023 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Damien Cassou@* Copyright @copyright{} 2020 Jakub Kądziołka@* Copyright @copyright{} 2020 Jack Hill@* Copyright @copyright{} 2020 Naga Malleswari@* Copyright @copyright{} 2020, 2021 Brice Waegeneire@* Copyright @copyright{} 2020 R Veera Kumar@* Copyright @copyright{} 2020, 2021, 2022 Pierre Langlois@* Copyright @copyright{} 2020 pinoaffe@* Copyright @copyright{} 2020, 2023 André Batista@* Copyright @copyright{} 2020, 2021 Alexandru-Sergiu Marton@* Copyright @copyright{} 2020 raingloom@* Copyright @copyright{} 2020 Daniel Brooks@* Copyright @copyright{} 2020 John Soo@* Copyright @copyright{} 2020 Jonathan Brielmaier@* Copyright @copyright{} 2020 Edgar Vincent@* Copyright @copyright{} 2021, 2022 Maxime Devos@* Copyright @copyright{} 2021 B. Wilson@* Copyright @copyright{} 2021 Xinglu Chen@* Copyright @copyright{} 2021 Raghav Gururajan@* Copyright @copyright{} 2021 Domagoj Stolfa@* Copyright @copyright{} 2021 Hui Lu@* Copyright @copyright{} 2021 pukkamustard@* Copyright @copyright{} 2021 Alice Brenon@* Copyright @copyright{} 2021-2023 Josselin Poiret@* Copyright @copyright{} 2021, 2023 muradm@* Copyright @copyright{} 2021, 2022 Andrew Tropin@* Copyright @copyright{} 2021 Sarah Morgensen@* Copyright @copyright{} 2022 Remco van 't Veer@* Copyright @copyright{} 2022 Aleksandr Vityazev@* Copyright @copyright{} 2022 Philip M@sup{c}Grath@* Copyright @copyright{} 2022 Karl Hallsby@* Copyright @copyright{} 2022 Justin Veilleux@* Copyright @copyright{} 2022 Reily Siegel@* Copyright @copyright{} 2022 Simon Streit@* Copyright @copyright{} 2022 (@* Copyright @copyright{} 2022 John Kehayias@* Copyright @copyright{} 2022⁠–⁠2023 Bruno Victal@* Copyright @copyright{} 2022 Ivan Vilata-i-Balaguer@* Copyright @copyright{} 2023-2025 Giacomo Leidi@* Copyright @copyright{} 2022 Antero Mejr@* Copyright @copyright{} 2023 Karl Hallsby@* Copyright @copyright{} 2023 Nathaniel Nicandro@* Copyright @copyright{} 2023 Tanguy Le Carrour@* Copyright @copyright{} 2023-2024 Zheng Junjie@* Copyright @copyright{} 2023 Brian Cully@* Copyright @copyright{} 2023 Felix Lechner@* Copyright @copyright{} 2023 Foundation Devices, Inc.@* Copyright @copyright{} 2023 Thomas Ieong@* Copyright @copyright{} 2023 Saku Laesvuori@* Copyright @copyright{} 2023 Graham James Addis@* Copyright @copyright{} 2023, 2024 Tomas Volf@* Copyright @copyright{} 2024, 2025 Herman Rimm@* Copyright @copyright{} 2024 Matthew Trzcinski@* Copyright @copyright{} 2024 Richard Sent@* Copyright @copyright{} 2024 Dariqq@* Copyright @copyright{} 2024 Denis 'GNUtoo' Carikli@* Copyright @copyright{} 2024 Fabio Natali@* Copyright @copyright{} 2024 Arnaud Daby-Seesaram@* Copyright @copyright{} 2024 Nigko Yerden@* Copyright @copyright{} 2024 Troy Figiel@* Copyright @copyright{} 2024 Sharlatan Hellseher@* Copyright @copyright{} 2024 45mg@* Copyright @copyright{} 2025 Sören Tempel@* Copyright @copyright{} 2025 Rostislav Svoboda@* Copyright @copyright{} 2025 Zacchaeus@*"
msgstr "版权 @copyright{} 2012--2025 Ludovic Courtès@* 版权 @copyright{} 2013, 2014, 2016, 2024 Andreas Enge@* 版权 @copyright{} 2013 Nikita Karetnikov@* 版权 @copyright{} 2014, 2015, 2016 Alex Kost@* 版权 @copyright{} 2015, 2016 Mathieu Lirzin@* 版权 @copyright{} 2014 Pierre-Antoine Rault@* 版权 @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* 版权 @copyright{} 2015, 2016, 2017, 2019, 2020, 2021, 2023 Leo Famulari@* 版权 @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@* 版权 @copyright{} 2016 Ben Woodcroft@* 版权 @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* 版权 @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* 版权 @copyright{} 2016 John Darrington@* 版权 @copyright{} 2016, 2017 Nikita Gillmann@* 版权 @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Janneke Nieuwenhuizen@* 版权 @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* 版权 @copyright{} 2016 Alex ter Weele@* 版权 @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* 版权 @copyright{} 2017, 2018, 2019 Clément Lassieur@* 版权 @copyright{} 2017, 2018, 2020, 2021, 2022 Mathieu Othacehe@* 版权 @copyright{} 2017 Federico Beffa@* 版权 @copyright{} 2017, 2018, 2024 Carlo Zancanaro@* 版权 @copyright{} 2017 Thomas Danckaert@* 版权 @copyright{} 2017 humanitiesNerd@* 版权 @copyright{} 2017, 2021 Christine Lemmer-Webber@* 版权 @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@* 版权 @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@* 版权 @copyright{} 2017, 2019, 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer@* 版权 @copyright{} 2017–2022 Tobias Geerinckx-Rice@* 版权 @copyright{} 2017 George Clemmer@* 版权 @copyright{} 2017 Andy Wingo@* 版权 @copyright{} 2017, 2018, 2019, 2020, 2023, 2024, 2025 Arun Isaac@* 版权 @copyright{} 2017 nee@* 版权 @copyright{} 2018 Rutger Helling@* 版权 @copyright{} 2018, 2021, 2023 Oleg Pykhalov@* 版权 @copyright{} 2018 Mike Gerwitz@* 版权 @copyright{} 2018 Pierre-Antoine Rouby@* 版权 @copyright{} 2018, 2019 Gábor Boskovits@* 版权 @copyright{} 2018, 2019, 2020, 2022, 2023, 2024 Florian Pelz@* 版权 @copyright{} 2018 Laura Lazzati@* 版权 @copyright{} 2018 Alex Vong@* 版权 @copyright{} 2019 Josh Holland@* 版权 @copyright{} 2019, 2020 Diego Nicola Barbato@* 版权 @copyright{} 2019 Ivan Petkov@* 版权 @copyright{} 2019 Jakob L. Kreuze@* 版权 @copyright{} 2019 Kyle Andrews@* 版权 @copyright{} 2019 Alex Griffin@* 版权 @copyright{} 2019, 2020, 2021, 2022 Guillaume Le Vaillant@* 版权 @copyright{} 2020 Liliana Marie Prikler@* 版权 @copyright{} 2019, 2020, 2021, 2022, 2023 Simon Tournier@* 版权 @copyright{} 2020 Wiktor Żelazny@* 版权 @copyright{} 2020 Damien Cassou@* 版权 @copyright{} 2020 Jakub Kądziołka@* 版权 @copyright{} 2020 Jack Hill@* 版权 @copyright{} 2020 Naga Malleswari@* 版权 @copyright{} 2020, 2021 Brice Waegeneire@* 版权 @copyright{} 2020 R Veera Kumar@* 版权 @copyright{} 2020, 2021, 2022 Pierre Langlois@* 版权 @copyright{} 2020 pinoaffe@* 版权 @copyright{} 2020, 2023 André Batista@* 版权 @copyright{} 2020, 2021 Alexandru-Sergiu Marton@* 版权 @copyright{} 2020 raingloom@* 版权 @copyright{} 2020 Daniel Brooks@* 版权 @copyright{} 2020 John Soo@* 版权 @copyright{} 2020 Jonathan Brielmaier@* 版权 @copyright{} 2020 Edgar Vincent@* 版权 @copyright{} 2021, 2022 Maxime Devos@* 版权 @copyright{} 2021 B. Wilson@* 版权 @copyright{} 2021 Xinglu Chen@* 版权 @copyright{} 2021 Raghav Gururajan@* 版权 @copyright{} 2021 Domagoj Stolfa@* 版权 @copyright{} 2021 Hui Lu@* 版权 @copyright{} 2021 pukkamustard@* 版权 @copyright{} 2021 Alice Brenon@* 版权 @copyright{} 2021-2023 Josselin Poiret@* 版权 @copyright{} 2021, 2023 muradm@* 版权 @copyright{} 2021, 2022 Andrew Tropin@* 版权 @copyright{} 2021 Sarah Morgensen@* 版权 @copyright{} 2022 Remco van 't Veer@* 版权 @copyright{} 2022 Aleksandr Vityazev@* 版权 @copyright{} 2022 Philip M@sup{c}Grath@* 版权 @copyright{} 2022 Karl Hallsby@* 版权 @copyright{} 2022 Justin Veilleux@* 版权 @copyright{} 2022 Reily Siegel@* 版权 @copyright{} 2022 Simon Streit@* 版权 @copyright{} 2022 (@* 版权 @copyright{} 2022 John Kehayias@* 版权 @copyright{} 2022⁠–⁠2023 Bruno Victal@* 版权 @copyright{} 2022 Ivan Vilata-i-Balaguer@* 版权 @copyright{} 2023-2025 Giacomo Leidi@* 版权 @copyright{} 2022 Antero Mejr@* 版权 @copyright{} 2023 Karl Hallsby@* 版权 @copyright{} 2023 Nathaniel Nicandro@* 版权 @copyright{} 2023 Tanguy Le Carrour@* 版权 @copyright{} 2023-2024 Zheng Junjie@* 版权 @copyright{} 2023 Brian Cully@* 版权 @copyright{} 2023 Felix Lechner@* 版权 @copyright{} 2023 Foundation Devices, Inc.@* 版权 @copyright{} 2023 Thomas Ieong@* 版权 @copyright{} 2023 Saku Laesvuori@* 版权 @copyright{} 2023 Graham James Addis@* 版权 @copyright{} 2023, 2024 Tomas Volf@* 版权 @copyright{} 2024 Herman Rimm@* 版权 @copyright{} 2024 Matthew Trzcinski@* 版权 @copyright{} 2024 Richard Sent@* 版权 @copyright{} 2024 Dariqq@* 版权 @copyright{} 2024 Denis 'GNUtoo' Carikli@* 版权 @copyright{} 2024 Fabio Natali@* 版权 @copyright{} 2024 Arnaud Daby-Seesaram@* 版权 @copyright{} 2024 Nigko Yerden@* 版权 @copyright{} 2024 Troy Figiel@* 版权 @copyright{} 2024 Sharlatan Hellseher@* 版权 @copyright{} 2024 45mg@* 版权 @copyright{} 2025 Sören Tempel@*"

#. type: copying
#: guix-git/doc/guix.texi:148
msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license is included in the section entitled ``GNU Free Documentation License''."
msgstr "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license is included in the section entitled ``GNU Free Documentation License''."

#. type: dircategory
#: guix-git/doc/guix.texi:150
#, no-wrap
msgid "System administration"
msgstr "系统管理"

#. type: menuentry
#: guix-git/doc/guix.texi:158
msgid "Guix: (guix)"
msgstr "Guix:(guix)"

#. type: menuentry
#: guix-git/doc/guix.texi:158
msgid "Manage installed software and system configuration."
msgstr "管理安装的软件和系统配置。"

#. type: menuentry
#: guix-git/doc/guix.texi:158
msgid "guix package: (guix)Invoking guix package"
msgstr "guix package:(guix.zh_CN)调用guix package"

#. type: menuentry
#: guix-git/doc/guix.texi:158
msgid "Installing, removing, and upgrading packages."
msgstr "安装、删除和升级软件包。"

#. type: menuentry
#: guix-git/doc/guix.texi:158
msgid "guix gc: (guix)Invoking guix gc"
msgstr "guix gc:(guix.zh_CN)调用guix gc"

#. type: menuentry
#: guix-git/doc/guix.texi:158
msgid "Reclaiming unused disk space."
msgstr "回收不使用的硬盘空间。"

#. type: menuentry
#: guix-git/doc/guix.texi:158
msgid "guix pull: (guix)Invoking guix pull"
msgstr "guix pull:(guix.zh_CN)调用guix pull"

#. type: menuentry
#: guix-git/doc/guix.texi:158
msgid "Update the list of available packages."
msgstr "更新可用的软件包列表。"

#. type: menuentry
#: guix-git/doc/guix.texi:158
msgid "guix system: (guix)Invoking guix system"
msgstr "guix system:(guix.zh_CN)调用guix system"

#. type: menuentry
#: guix-git/doc/guix.texi:158
msgid "Manage the operating system configuration."
msgstr "管理操作系统配置。"

#. type: menuentry
#: guix-git/doc/guix.texi:158
msgid "guix deploy: (guix)Invoking guix deploy"
msgstr "guix deploy:(guix.zh_CN)调用guix deploy"

#. type: menuentry
#: guix-git/doc/guix.texi:158
#, fuzzy
msgid "Manage operating system configurations for remote hosts."
msgstr "管理操作系统配置。"

#. type: dircategory
#: guix-git/doc/guix.texi:160
#, no-wrap
msgid "Software development"
msgstr "软件开发"

#. type: menuentry
#: guix-git/doc/guix.texi:166
msgid "guix shell: (guix)Invoking guix shell"
msgstr "guix shell:(guix.zh_CN)调用guix shell"

#. type: menuentry
#: guix-git/doc/guix.texi:166
#, fuzzy
msgid "Creating software environments."
msgstr "创建软件bundle。"

#. type: menuentry
#: guix-git/doc/guix.texi:166
msgid "guix environment: (guix)Invoking guix environment"
msgstr "guix environment:(guix.zh_CN)调用guix environment"

#. type: menuentry
#: guix-git/doc/guix.texi:166
msgid "Building development environments with Guix."
msgstr "用Guix构建开发环境。"

#. type: menuentry
#: guix-git/doc/guix.texi:166
msgid "guix build: (guix)Invoking guix build"
msgstr "guix build:(guix.zh_CN)调用guix build"

#. type: menuentry
#: guix-git/doc/guix.texi:166
msgid "Building packages."
msgstr "构建软件包。"

#. type: menuentry
#: guix-git/doc/guix.texi:166
msgid "guix pack: (guix)Invoking guix pack"
msgstr "guix pack:(guix.zh_CN)调用guix pack"

#. type: menuentry
#: guix-git/doc/guix.texi:166
msgid "Creating binary bundles."
msgstr "创建二进制bundle。"

#. type: subtitle
#: guix-git/doc/guix.texi:170
#, no-wrap
msgid "Using the GNU Guix Functional Package Manager"
msgstr "使用GNU Guix函数式包管理器"

#. type: author
#: guix-git/doc/guix.texi:171
#, no-wrap
msgid "The GNU Guix Developers"
msgstr "GNU Guix开发者"

#. type: titlepage
#: guix-git/doc/guix.texi:177
msgid "Edition @value{EDITION} @* @value{UPDATED} @*"
msgstr "版本@value{EDITION} @* @value{UPDATED} @*"

#. type: node
#: guix-git/doc/guix.texi:184
#, no-wrap
msgid "Top"
msgstr "Top"

#. type: top
#: guix-git/doc/guix.texi:185
#, no-wrap
msgid "GNU Guix"
msgstr "GNU Guix"

#. type: Plain text
#: guix-git/doc/guix.texi:189
msgid "This document describes GNU Guix version @value{VERSION}, a functional package management tool written for the GNU system."
msgstr "这份文档介绍GNU Guix版本@value{VERSION},一个为GNU系统编写的函数式包管理器。"

#.  You can replace the following paragraph with information on
#. type: Plain text
#: guix-git/doc/guix.texi:202
msgid "This manual is also available in Simplified Chinese (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}), French (@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}), German (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), Spanish (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}), Brazilian Portuguese (@pxref{Top,,, guix.pt_BR, Manual de referência do GNU Guix}), and Russian (@pxref{Top,,, guix.ru, Руководство GNU Guix}).  If you would like to translate it in your native language, consider joining @uref{https://translate.fedoraproject.org/projects/guix/documentation-manual, Weblate} (@pxref{Translating Guix})."
msgstr "这个用户手册还提供英语版(@pxref{Top,,, guix, GNU Guix Reference Manual}),法语版(@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}),德语版(@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}),西班牙语版(@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}),巴西葡萄牙语版(@pxref{Top,,, guix.pt_BR, Manual de referência do GNU Guix})和俄语版(@pxref{Top,,, guix.ru, Руководство GNU Guix})。如果你想把它翻译成你的母语,请考虑加入 @uref{https://translate.fedoraproject.org/projects/guix/documentation-manual, Weblate}(@pxref{Translating Guix})。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:236
#: guix-git/doc/guix.texi:505 guix-git/doc/guix.texi:506
#, no-wrap
msgid "Introduction"
msgstr "介绍"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "What is Guix about?"
msgstr "Guix是关于什么的?"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:241
#: guix-git/doc/guix.texi:709 guix-git/doc/guix.texi:710
#, no-wrap
msgid "Installation"
msgstr "安装"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Installing Guix."
msgstr "安装Guix。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:255
#: guix-git/doc/guix.texi:1989 guix-git/doc/guix.texi:1990
#, no-wrap
msgid "System Installation"
msgstr "系统安装"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Installing the whole operating system."
msgstr "安装整个操作系统。"

#. type: section
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:2701
#: guix-git/doc/guix.texi:2702 guix-git/doc/guix.texi:17230
#, no-wrap
msgid "Getting Started"
msgstr "入门"

#. type: menuentry
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:391
#: guix-git/doc/guix.texi:17227
#, fuzzy
msgid "Your first steps."
msgstr "您的第一步。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:272
#: guix-git/doc/guix.texi:2900 guix-git/doc/guix.texi:2901
#, no-wrap
msgid "Package Management"
msgstr "软件包管理"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Package installation, upgrade, etc."
msgstr "软件包安装、升级等。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:296
#: guix-git/doc/guix.texi:5223 guix-git/doc/guix.texi:5224
#, no-wrap
msgid "Channels"
msgstr "频道"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Customizing the package collection."
msgstr "定制软件包集合。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:310
#: guix-git/doc/guix.texi:5923 guix-git/doc/guix.texi:5924
#, no-wrap
msgid "Development"
msgstr "开发"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Guix-aided software development."
msgstr "Guix辅助的软件开发。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:318
#: guix-git/doc/guix.texi:7548 guix-git/doc/guix.texi:7549
#, no-wrap
msgid "Programming Interface"
msgstr "编程接口"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Using Guix in Scheme."
msgstr "在Scheme里使用Guix。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:340
#: guix-git/doc/guix.texi:12980 guix-git/doc/guix.texi:12981
#, no-wrap
msgid "Utilities"
msgstr "工具"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Package management commands."
msgstr "软件包管理命令。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:366
#: guix-git/doc/guix.texi:17015 guix-git/doc/guix.texi:17016
#, fuzzy, no-wrap
msgid "Foreign Architectures"
msgstr "外部架构"

#. type: menuentry
#: guix-git/doc/guix.texi:226
#, fuzzy
msgid "Build for foreign architectures."
msgstr "为外部架构构建。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:371
#: guix-git/doc/guix.texi:17182 guix-git/doc/guix.texi:17183
#, no-wrap
msgid "System Configuration"
msgstr "系统配置"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Configuring the operating system."
msgstr "配置操作系统。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:445
#: guix-git/doc/guix.texi:46880 guix-git/doc/guix.texi:46881
#, fuzzy, no-wrap
msgid "System Troubleshooting Tips"
msgstr "系统故障排除提示"

#. type: menuentry
#: guix-git/doc/guix.texi:226
#, fuzzy
msgid "When things don't go as planned."
msgstr "当事情不按计划进行时。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:449
#: guix-git/doc/guix.texi:46995 guix-git/doc/guix.texi:46996
#, fuzzy, no-wrap
msgid "Home Configuration"
msgstr "系统配置"

#. type: menuentry
#: guix-git/doc/guix.texi:226
#, fuzzy
msgid "Configuring the home environment."
msgstr "设置引导程序。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:50043
#: guix-git/doc/guix.texi:50044
#, no-wrap
msgid "Documentation"
msgstr "文档"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Browsing software user manuals."
msgstr "浏览软件用户手册。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:476
#: guix-git/doc/guix.texi:50109 guix-git/doc/guix.texi:50110
#, no-wrap
msgid "Platforms"
msgstr "平台"

#. type: menuentry
#: guix-git/doc/guix.texi:226
#, fuzzy
msgid "Defining platforms."
msgstr "定义新软件包。"

#. type: node
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:50247
#, fuzzy, no-wrap
msgid "System Images"
msgstr "系统安装"

#. type: menuentry
#: guix-git/doc/guix.texi:226
#, fuzzy
msgid "Creating system images."
msgstr "创建系统镜像。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:492
#: guix-git/doc/guix.texi:50788 guix-git/doc/guix.texi:50789
#, no-wrap
msgid "Installing Debugging Files"
msgstr "安装调试文件"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Feeding the debugger."
msgstr "为调试工具提供输入。"

#. type: node
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:50943
#, fuzzy, no-wrap
msgid "Using TeX and LaTeX"
msgstr "使用 TeX 和 LaTeX"

#. type: menuentry
#: guix-git/doc/guix.texi:226
#, fuzzy
msgid "Typesetting."
msgstr "测试Guix。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:51062
#: guix-git/doc/guix.texi:51063
#, no-wrap
msgid "Security Updates"
msgstr "安全更新"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Deploying security fixes quickly."
msgstr "快速部署安全补丁。"

#. type: chapter
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:497
#: guix-git/doc/guix.texi:51177 guix-git/doc/guix.texi:51178
#, no-wrap
msgid "Bootstrapping"
msgstr "引导"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "GNU/Linux built from scratch."
msgstr "从头开始构建GNU/Linux。"

#. type: node
#: guix-git/doc/guix.texi:226 guix-git/doc/guix.texi:51481
#, no-wrap
msgid "Porting"
msgstr "移植"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Targeting another platform or kernel."
msgstr "以别的平台或内核为目标。"

#. type: menuentry
#: guix-git/doc/guix.texi:226
msgid "Your help needed!"
msgstr "你需要帮助!"

#. type: chapter
#: guix-git/doc/guix.texi:231 guix-git/doc/guix.texi:51531
#: guix-git/doc/guix.texi:51532
#, no-wrap
msgid "Acknowledgments"
msgstr "致谢"

#. type: menuentry
#: guix-git/doc/guix.texi:231
msgid "Thanks!"
msgstr "感谢!"

#. type: appendix
#: guix-git/doc/guix.texi:231 guix-git/doc/guix.texi:51553
#: guix-git/doc/guix.texi:51554
#, no-wrap
msgid "GNU Free Documentation License"
msgstr "GNU自由文档许可证"

#. type: menuentry
#: guix-git/doc/guix.texi:231
msgid "The license of this manual."
msgstr "这个用户手册的许可证。"

#. type: unnumbered
#: guix-git/doc/guix.texi:231 guix-git/doc/guix.texi:51559
#: guix-git/doc/guix.texi:51560
#, no-wrap
msgid "Concept Index"
msgstr "概念索引"

#. type: menuentry
#: guix-git/doc/guix.texi:231
msgid "Concepts."
msgstr "概念。"

#. type: unnumbered
#: guix-git/doc/guix.texi:231 guix-git/doc/guix.texi:51563
#: guix-git/doc/guix.texi:51564
#, no-wrap
msgid "Programming Index"
msgstr "编程索引"

#. type: menuentry
#: guix-git/doc/guix.texi:231
msgid "Data types, functions, and variables."
msgstr "数据类型、函数和变量。"

#. type: menuentry
#: guix-git/doc/guix.texi:234
msgid "--- The Detailed Node Listing ---"
msgstr "---详细的章节列表---"

#. type: section
#: guix-git/doc/guix.texi:239 guix-git/doc/guix.texi:532
#: guix-git/doc/guix.texi:534 guix-git/doc/guix.texi:535
#, no-wrap
msgid "Managing Software the Guix Way"
msgstr "以Guix的方式管理软件"

#. type: menuentry
#: guix-git/doc/guix.texi:239 guix-git/doc/guix.texi:532
msgid "What's special."
msgstr "特殊的地方。"

#. type: section
#: guix-git/doc/guix.texi:239 guix-git/doc/guix.texi:532
#: guix-git/doc/guix.texi:589 guix-git/doc/guix.texi:590
#, no-wrap
msgid "GNU Distribution"
msgstr "GNU发行版"

#. type: menuentry
#: guix-git/doc/guix.texi:239 guix-git/doc/guix.texi:532
msgid "The packages and tools."
msgstr "软件包和工具。"

#. type: section
#: guix-git/doc/guix.texi:247 guix-git/doc/guix.texi:742
#: guix-git/doc/guix.texi:744 guix-git/doc/guix.texi:745
#, no-wrap
msgid "Binary Installation"
msgstr "二进制文件安装"

#. type: menuentry
#: guix-git/doc/guix.texi:247 guix-git/doc/guix.texi:742
msgid "Getting Guix running in no time!"
msgstr "立刻运行Guix!"

#. type: section
#: guix-git/doc/guix.texi:247 guix-git/doc/guix.texi:249
#: guix-git/doc/guix.texi:742 guix-git/doc/guix.texi:876
#: guix-git/doc/guix.texi:877
#, no-wrap
msgid "Setting Up the Daemon"
msgstr "设置后台进程"

#. type: menuentry
#: guix-git/doc/guix.texi:247 guix-git/doc/guix.texi:742
msgid "Preparing the build daemon's environment."
msgstr "准备“构建后台进程”的环境。"

#. type: node
#: guix-git/doc/guix.texi:247 guix-git/doc/guix.texi:742
#: guix-git/doc/guix.texi:1409
#, no-wrap
msgid "Invoking guix-daemon"
msgstr "调用guix-daemon"

#. type: menuentry
#: guix-git/doc/guix.texi:247 guix-git/doc/guix.texi:742
msgid "Running the build daemon."
msgstr "运行后台构建进程。"

#. type: section
#: guix-git/doc/guix.texi:247 guix-git/doc/guix.texi:742
#: guix-git/doc/guix.texi:1715 guix-git/doc/guix.texi:1716
#, no-wrap
msgid "Application Setup"
msgstr "设置应用程序"

#. type: menuentry
#: guix-git/doc/guix.texi:247 guix-git/doc/guix.texi:742
msgid "Application-specific setup."
msgstr "应用程序相关的设置。"

#. type: section
#: guix-git/doc/guix.texi:247 guix-git/doc/guix.texi:742
#: guix-git/doc/guix.texi:1952 guix-git/doc/guix.texi:1953
#, no-wrap
msgid "Upgrading Guix"
msgstr "升级 Guix"

#. type: menuentry
#: guix-git/doc/guix.texi:247 guix-git/doc/guix.texi:742
msgid "Upgrading Guix and its build daemon."
msgstr "升级 Guix 及其构建守护进程。"

#. type: subsection
#: guix-git/doc/guix.texi:253 guix-git/doc/guix.texi:916
#: guix-git/doc/guix.texi:918 guix-git/doc/guix.texi:919
#, no-wrap
msgid "Build Environment Setup"
msgstr "设置构建环境"

#. type: menuentry
#: guix-git/doc/guix.texi:253 guix-git/doc/guix.texi:916
msgid "Preparing the isolated build environment."
msgstr "准备隔离的构建环境。"

#. type: node
#: guix-git/doc/guix.texi:253 guix-git/doc/guix.texi:916
#: guix-git/doc/guix.texi:1047
#, no-wrap
msgid "Daemon Offload Setup"
msgstr "下发工作给后台进程的设置"

#. type: menuentry
#: guix-git/doc/guix.texi:253 guix-git/doc/guix.texi:916
msgid "Offloading builds to remote machines."
msgstr "下发构建工作给远程的机器。"

#. type: subsection
#: guix-git/doc/guix.texi:253 guix-git/doc/guix.texi:916
#: guix-git/doc/guix.texi:1299 guix-git/doc/guix.texi:1300
#, no-wrap
msgid "SELinux Support"
msgstr "SELinux的支持"

#. type: menuentry
#: guix-git/doc/guix.texi:253 guix-git/doc/guix.texi:916
msgid "Using an SELinux policy for the daemon."
msgstr "为后台进程使用SELinux规则。"

#. type: section
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:1354
#: guix-git/doc/guix.texi:2023 guix-git/doc/guix.texi:2025
#: guix-git/doc/guix.texi:2026
#, no-wrap
msgid "Limitations"
msgstr "限制"

#. type: menuentry
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
msgid "What you can expect."
msgstr "你可以期待什么。"

#. type: section
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
#: guix-git/doc/guix.texi:2042 guix-git/doc/guix.texi:2043
#, no-wrap
msgid "Hardware Considerations"
msgstr "硬件的考虑"

#. type: menuentry
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
msgid "Supported hardware."
msgstr "支持的硬件。"

#. type: section
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
#: guix-git/doc/guix.texi:2080 guix-git/doc/guix.texi:2081
#, no-wrap
msgid "USB Stick and DVD Installation"
msgstr "U盘和DVD安装"

#. type: menuentry
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
msgid "Preparing the installation medium."
msgstr "准备安装介质。"

#. type: section
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
#: guix-git/doc/guix.texi:2171 guix-git/doc/guix.texi:2172
#, no-wrap
msgid "Preparing for Installation"
msgstr "准备安装"

#. type: menuentry
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
msgid "Networking, partitioning, etc."
msgstr "网络、分区等。"

#. type: section
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
#: guix-git/doc/guix.texi:2194 guix-git/doc/guix.texi:2195
#, no-wrap
msgid "Guided Graphical Installation"
msgstr "指导的图形安装"

#. type: menuentry
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
msgid "Easy graphical installation."
msgstr "简单的图形安装。"

#. type: section
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:267
#: guix-git/doc/guix.texi:2023 guix-git/doc/guix.texi:2225
#: guix-git/doc/guix.texi:2226
#, no-wrap
msgid "Manual Installation"
msgstr "手动安装"

#. type: menuentry
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
msgid "Manual installation for wizards."
msgstr "适合巫师的手动安装。"

#. type: section
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
#: guix-git/doc/guix.texi:2596 guix-git/doc/guix.texi:2597
#, no-wrap
msgid "After System Installation"
msgstr "系统安装之后"

#. type: menuentry
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
msgid "When installation succeeded."
msgstr "当安装成功后。"

#. type: node
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
#: guix-git/doc/guix.texi:2617
#, no-wrap
msgid "Installing Guix in a VM"
msgstr "在虚拟机里安装 Guix"

#. type: menuentry
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
msgid "Guix System playground."
msgstr "Guix系统游乐场。"

#. type: section
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
#: guix-git/doc/guix.texi:2668 guix-git/doc/guix.texi:2669
#, no-wrap
msgid "Building the Installation Image"
msgstr "构建安装镜像"

#. type: menuentry
#: guix-git/doc/guix.texi:265 guix-git/doc/guix.texi:2023
msgid "How this comes to be."
msgstr "这是怎样实现的。"

#. type: node
#: guix-git/doc/guix.texi:270 guix-git/doc/guix.texi:2243
#: guix-git/doc/guix.texi:2245
#, no-wrap
msgid "Keyboard Layout and Networking and Partitioning"
msgstr "键盘布局、网络和分区"

#. type: menuentry
#: guix-git/doc/guix.texi:270 guix-git/doc/guix.texi:2243
msgid "Initial setup."
msgstr "初始设置。"

#. type: subsection
#: guix-git/doc/guix.texi:270 guix-git/doc/guix.texi:2243
#: guix-git/doc/guix.texi:2507 guix-git/doc/guix.texi:2508
#, no-wrap
msgid "Proceeding with the Installation"
msgstr "继续安装步骤"

#. type: menuentry
#: guix-git/doc/guix.texi:270 guix-git/doc/guix.texi:2243
msgid "Installing."
msgstr "安装。"

#. type: section
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#: guix-git/doc/guix.texi:2935 guix-git/doc/guix.texi:2936
#, no-wrap
msgid "Features"
msgstr "功能"

#. type: menuentry
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
msgid "How Guix will make your life brighter."
msgstr "Guix怎样让你的生活更美好。"

#. type: node
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#: guix-git/doc/guix.texi:3025
#, no-wrap
msgid "Invoking guix package"
msgstr "调用guix package"

#. type: menuentry
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
msgid "Package installation, removal, etc."
msgstr "软件包安装,移除等。"

#. type: section
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:286
#: guix-git/doc/guix.texi:2933 guix-git/doc/guix.texi:3638
#: guix-git/doc/guix.texi:3639
#, no-wrap
msgid "Substitutes"
msgstr "substitutes"

#. type: menuentry
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
msgid "Downloading pre-built binaries."
msgstr "下载构建好的二进制文件。"

#. type: section
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#: guix-git/doc/guix.texi:3997 guix-git/doc/guix.texi:3998
#, no-wrap
msgid "Packages with Multiple Outputs"
msgstr "有多个输出的软件包"

#. type: menuentry
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
msgid "Single source package, multiple outputs."
msgstr "单个输入多个输出的软件包。"

#. type: node
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#: guix-git/doc/guix.texi:4070
#, no-wrap
msgid "Invoking guix locate"
msgstr "调用guix locate"

#. type: menuentry
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#, fuzzy
msgid "Locating packages that provide a file."
msgstr "定位提供文件的包。"

#. type: node
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#: guix-git/doc/guix.texi:4200
#, no-wrap
msgid "Invoking guix gc"
msgstr "调用guix gc"

#. type: menuentry
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
msgid "Running the garbage collector."
msgstr "运行垃圾回收器。"

#. type: node
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#: guix-git/doc/guix.texi:4424
#, no-wrap
msgid "Invoking guix pull"
msgstr "调用guix pull"

#. type: menuentry
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
msgid "Fetching the latest Guix and distribution."
msgstr "获取最新的Guix和发行版。"

#. type: node
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#: guix-git/doc/guix.texi:4684
#, no-wrap
msgid "Invoking guix time-machine"
msgstr "调用guix time-machine"

#. type: menuentry
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#, fuzzy
msgid "Running an older revision of Guix."
msgstr "和其它版本的Guix交互。"

#. type: section
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#: guix-git/doc/guix.texi:4810 guix-git/doc/guix.texi:4811
#, fuzzy, no-wrap
msgid "Inferiors"
msgstr "下级"

#. type: menuentry
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
msgid "Interacting with another revision of Guix."
msgstr "和其它版本的Guix交互。"

#. type: node
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#: guix-git/doc/guix.texi:4935
#, no-wrap
msgid "Invoking guix describe"
msgstr "调用guix describe"

#. type: menuentry
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
msgid "Display information about your Guix revision."
msgstr "显示你的Guix版本信息。"

#. type: node
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
#: guix-git/doc/guix.texi:5031
#, no-wrap
msgid "Invoking guix archive"
msgstr "调用guix archive"

#. type: menuentry
#: guix-git/doc/guix.texi:284 guix-git/doc/guix.texi:2933
msgid "Exporting and importing store files."
msgstr "导出和导入仓库文件。"

#. type: subsection
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
#: guix-git/doc/guix.texi:3664 guix-git/doc/guix.texi:3665
#, fuzzy, no-wrap
msgid "Official Substitute Servers"
msgstr "官方的substitute服务器"

#. type: menuentry
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
msgid "One particular source of substitutes."
msgstr "substitute的一个特殊来源。"

#. type: subsection
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
#: guix-git/doc/guix.texi:3694 guix-git/doc/guix.texi:3695
#, no-wrap
msgid "Substitute Server Authorization"
msgstr "substitute服务器授权"

#. type: menuentry
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
msgid "How to enable or disable substitutes."
msgstr "怎么开启或关闭substitute。"

#. type: subsection
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
#: guix-git/doc/guix.texi:3764 guix-git/doc/guix.texi:3765
#, fuzzy, no-wrap
msgid "Getting Substitutes from Other Servers"
msgstr "从其他服务器获取替代品"

#. type: menuentry
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
msgid "Substitute diversity."
msgstr "substitutes多样化。"

#. type: subsection
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
#: guix-git/doc/guix.texi:3885 guix-git/doc/guix.texi:3886
#, no-wrap
msgid "Substitute Authentication"
msgstr "验证substitute"

#. type: menuentry
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
msgid "How Guix verifies substitutes."
msgstr "Guix怎样验证substitute。"

#. type: subsection
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
#: guix-git/doc/guix.texi:3920 guix-git/doc/guix.texi:3921
#, no-wrap
msgid "Proxy Settings"
msgstr "代理设置"

#. type: menuentry
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
msgid "How to get substitutes via proxy."
msgstr "怎样通过代理获取substitute。"

#. type: subsection
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
#: guix-git/doc/guix.texi:3932 guix-git/doc/guix.texi:3933
#, no-wrap
msgid "Substitution Failure"
msgstr "substitute失败"

#. type: menuentry
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
msgid "What happens when substitution fails."
msgstr "当substitute失败时会发生什么。"

#. type: subsection
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
#: guix-git/doc/guix.texi:3960 guix-git/doc/guix.texi:3961
#, no-wrap
msgid "On Trusting Binaries"
msgstr "关于信任二进制文件"

#. type: menuentry
#: guix-git/doc/guix.texi:294 guix-git/doc/guix.texi:3662
msgid "How can you trust that binary blob?"
msgstr "你怎么能信任二进制的 blob 呢?"

#. type: section
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#: guix-git/doc/guix.texi:5257 guix-git/doc/guix.texi:5258
#, fuzzy, no-wrap
msgid "Specifying Additional Channels"
msgstr "指定额外的频道"

#. type: menuentry
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
msgid "Extending the package collection."
msgstr "拓展软件包集合。"

#. type: section
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#: guix-git/doc/guix.texi:5303 guix-git/doc/guix.texi:5304
#, fuzzy, no-wrap
msgid "Using a Custom Guix Channel"
msgstr "使用自定义 Guix 频道"

#. type: menuentry
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#, fuzzy
msgid "Using a customized Guix."
msgstr "使用定制的 Guix。"

#. type: section
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#: guix-git/doc/guix.texi:5344 guix-git/doc/guix.texi:5345
#, fuzzy, no-wrap
msgid "Replicating Guix"
msgstr "复制 Guix"

#. type: menuentry
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#, fuzzy
msgid "Running the @emph{exact same} Guix."
msgstr "运行 @emph{完全相同} 的 Guix。"

#. type: section
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#: guix-git/doc/guix.texi:5463 guix-git/doc/guix.texi:5464
#, fuzzy, no-wrap
msgid "Channel Authentication"
msgstr "验证substitute"

#. type: menuentry
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#, fuzzy
msgid "How Guix verifies what it fetches."
msgstr "Guix怎样验证substitute。"

#. type: section
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#: guix-git/doc/guix.texi:5503 guix-git/doc/guix.texi:5504
#, fuzzy, no-wrap
msgid "Channels with Substitutes"
msgstr "分享substitute。"

#. type: menuentry
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#, fuzzy
msgid "Using channels with available substitutes."
msgstr "使用可用替代品的频道。"

#. type: section
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#: guix-git/doc/guix.texi:5528 guix-git/doc/guix.texi:5529
#, no-wrap
msgid "Creating a Channel"
msgstr "创建一个频道"

#. type: menuentry
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#, fuzzy
msgid "How to write your custom channel."
msgstr "如何编写自定义频道。"

#. type: section
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#: guix-git/doc/guix.texi:5659 guix-git/doc/guix.texi:5660
#, fuzzy, no-wrap
msgid "Package Modules in a Sub-directory"
msgstr "软件包模块"

#. type: menuentry
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#, fuzzy
msgid "Specifying the channel's package modules location."
msgstr "指定如何构建软件包。"

#. type: section
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#: guix-git/doc/guix.texi:5685 guix-git/doc/guix.texi:5686
#, fuzzy, no-wrap
msgid "Declaring Channel Dependencies"
msgstr "声明频道依赖关系"

#. type: menuentry
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#, fuzzy
msgid "How to depend on other channels."
msgstr "如何依赖其他频道。"

#. type: section
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#: guix-git/doc/guix.texi:5727 guix-git/doc/guix.texi:5728
#, fuzzy, no-wrap
msgid "Specifying Channel Authorizations"
msgstr "指定频道授权"

#. type: menuentry
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#, fuzzy
msgid "Defining channel authors authorizations."
msgstr "定义频道作者的授权。"

#. type: section
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#: guix-git/doc/guix.texi:5830 guix-git/doc/guix.texi:5831
#, fuzzy, no-wrap
msgid "Primary URL"
msgstr "主要 URL"

#. type: menuentry
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#, fuzzy
msgid "Distinguishing mirror to original."
msgstr "区分镜像与原始。"

#. type: section
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#: guix-git/doc/guix.texi:5853 guix-git/doc/guix.texi:5854
#, fuzzy, no-wrap
msgid "Writing Channel News"
msgstr "撰写频道新闻"

#. type: menuentry
#: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:5255
#, fuzzy
msgid "Communicating information to channel's users."
msgstr "向频道用户传达信息。"

#. type: node
#: guix-git/doc/guix.texi:316 guix-git/doc/guix.texi:5943
#: guix-git/doc/guix.texi:5945
#, no-wrap
msgid "Invoking guix shell"
msgstr "调用 guix shell"

#. type: menuentry
#: guix-git/doc/guix.texi:316 guix-git/doc/guix.texi:5943
#, fuzzy
msgid "Spawning one-off software environments."
msgstr "准备隔离的构建环境。"

#. type: node
#: guix-git/doc/guix.texi:316 guix-git/doc/guix.texi:5943
#: guix-git/doc/guix.texi:6491
#, no-wrap
msgid "Invoking guix environment"
msgstr "调用guix environment"

#. type: menuentry
#: guix-git/doc/guix.texi:316 guix-git/doc/guix.texi:5943
msgid "Setting up development environments."
msgstr "设置开发环境。"

#. type: node
#: guix-git/doc/guix.texi:316 guix-git/doc/guix.texi:5943
#: guix-git/doc/guix.texi:6888
#, no-wrap
msgid "Invoking guix pack"
msgstr "调用guix pack"

#. type: menuentry
#: guix-git/doc/guix.texi:316 guix-git/doc/guix.texi:5943
msgid "Creating software bundles."
msgstr "创建软件bundle。"

#. type: section
#: guix-git/doc/guix.texi:316 guix-git/doc/guix.texi:5943
#: guix-git/doc/guix.texi:7426 guix-git/doc/guix.texi:7427
#, fuzzy, no-wrap
msgid "The GCC toolchain"
msgstr "GCC 工具链"

#. type: menuentry
#: guix-git/doc/guix.texi:316 guix-git/doc/guix.texi:5943
#, fuzzy
msgid "Working with languages supported by GCC."
msgstr "使用 GCC 支持的语言。"

#. type: node
#: guix-git/doc/guix.texi:316 guix-git/doc/guix.texi:5943
#: guix-git/doc/guix.texi:7452
#, no-wrap
msgid "Invoking guix git authenticate"
msgstr "调用guix git authenticate"

#. type: menuentry
#: guix-git/doc/guix.texi:316 guix-git/doc/guix.texi:5943
#, fuzzy
msgid "Authenticating Git repositories."
msgstr "认证HTTPS服务器。"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:7594 guix-git/doc/guix.texi:7595
#, no-wrap
msgid "Package Modules"
msgstr "软件包模块"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
msgid "Packages from the programmer's viewpoint."
msgstr "从程序员的角度看软件包。"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:335
#: guix-git/doc/guix.texi:7592 guix-git/doc/guix.texi:7656
#: guix-git/doc/guix.texi:7657
#, no-wrap
msgid "Defining Packages"
msgstr "定义软件包"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
msgid "Defining new packages."
msgstr "定义新软件包。"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:8485 guix-git/doc/guix.texi:8486
#, fuzzy, no-wrap
msgid "Defining Package Variants"
msgstr "定义软件包"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#, fuzzy
msgid "Customizing packages."
msgstr "构建软件包。"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:8779 guix-git/doc/guix.texi:8780
#, no-wrap
msgid "Writing Manifests"
msgstr "书写清单"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#, fuzzy
msgid "The bill of materials of your environment."
msgstr "您环境的材料清单。"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:9084 guix-git/doc/guix.texi:9085
#, no-wrap
msgid "Build Systems"
msgstr "构建系统"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
msgid "Specifying how packages are built."
msgstr "指定如何构建软件包。"

#. type: subsection
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:10438 guix-git/doc/guix.texi:10439
#: guix-git/doc/guix.texi:10981
#, fuzzy, no-wrap
msgid "Build Phases"
msgstr "构建系统"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#, fuzzy
msgid "Phases of the build process of a package."
msgstr "包的构建过程的阶段。"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:10663 guix-git/doc/guix.texi:10664
#, fuzzy, no-wrap
msgid "Build Utilities"
msgstr "工具"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#, fuzzy
msgid "Helpers for your package definitions and more."
msgstr "导入软件包定义。"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:11138 guix-git/doc/guix.texi:11139
#, fuzzy, no-wrap
msgid "Search Paths"
msgstr "搜索路径"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#, fuzzy
msgid "Declaring search path environment variables."
msgstr "准备隔离的构建环境。"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:11342 guix-git/doc/guix.texi:11343
#, no-wrap
msgid "The Store"
msgstr "仓库"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
msgid "Manipulating the package store."
msgstr "操纵软件包仓库。"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:11494 guix-git/doc/guix.texi:11495
#, fuzzy, no-wrap
msgid "Derivations"
msgstr "派生"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
msgid "Low-level interface to package derivations."
msgstr "软件包derivation的底层接口。"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:11687 guix-git/doc/guix.texi:11688
#, no-wrap
msgid "The Store Monad"
msgstr "仓库monad"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
msgid "Purely functional interface to the store."
msgstr "仓库的纯函数式接口。"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:12009 guix-git/doc/guix.texi:12010
#, no-wrap
msgid "G-Expressions"
msgstr "G-表达式"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
msgid "Manipulating build expressions."
msgstr "操纵构建表达式。"

#. type: node
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:12701
#, no-wrap
msgid "Invoking guix repl"
msgstr "调用guix repl"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#, fuzzy
msgid "Programming Guix in Guile"
msgstr "在 Guile 中为 Guix 编程"

#. type: section
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#: guix-git/doc/guix.texi:12818 guix-git/doc/guix.texi:12819
#, no-wrap
msgid "Using Guix Interactively"
msgstr "交互式使用 Guix"

#. type: menuentry
#: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:7592
#, fuzzy
msgid "Fine-grain interaction at the REPL."
msgstr "在 REPL 中进行细粒度交互。"

#. type: node
#: guix-git/doc/guix.texi:338 guix-git/doc/guix.texi:7860
#: guix-git/doc/guix.texi:7863
#, no-wrap
msgid "package Reference"
msgstr "软件包引用"

#. type: menuentry
#: guix-git/doc/guix.texi:338 guix-git/doc/guix.texi:7860
msgid "The package data type."
msgstr "软件包数据类型。"

#. type: node
#: guix-git/doc/guix.texi:338 guix-git/doc/guix.texi:7860
#: guix-git/doc/guix.texi:8179
#, no-wrap
msgid "origin Reference"
msgstr "origin参考手册"

#. type: menuentry
#: guix-git/doc/guix.texi:338 guix-git/doc/guix.texi:7860
msgid "The origin data type."
msgstr "origin数据类型。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:13007
#, no-wrap
msgid "Invoking guix build"
msgstr "调用guix build"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Building packages from the command line."
msgstr "用命令行构建软件包。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:14015
#, no-wrap
msgid "Invoking guix edit"
msgstr "调用 guix edit"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Editing package definitions."
msgstr "编辑软件包定义。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:14045
#, no-wrap
msgid "Invoking guix download"
msgstr "调用guix download"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Downloading a file and printing its hash."
msgstr "下载一个文件并打印它的hash。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:14126
#, no-wrap
msgid "Invoking guix hash"
msgstr "调用guix hash"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Computing the cryptographic hash of a file."
msgstr "计算一个文件的密码学hash。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:14217
#, no-wrap
msgid "Invoking guix import"
msgstr "调用guix import"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Importing package definitions."
msgstr "导入软件包定义。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:14908
#, no-wrap
msgid "Invoking guix refresh"
msgstr "调用guix refresh"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Updating package definitions."
msgstr "更新软件包定义。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:15366
#, no-wrap
msgid "Invoking guix style"
msgstr "调用 guix style"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#, fuzzy
msgid "Styling package definitions."
msgstr "编辑软件包定义。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:15575
#, no-wrap
msgid "Invoking guix lint"
msgstr "调用guix lint"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Finding errors in package definitions."
msgstr "从软件包定义里寻找错误。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:15761
#, no-wrap
msgid "Invoking guix size"
msgstr "调用guix size"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Profiling disk usage."
msgstr "分析硬盘使用情况。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:15905
#, no-wrap
msgid "Invoking guix graph"
msgstr "调用guix graph"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Visualizing the graph of packages."
msgstr "展示软件包的关系图。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:16186
#, no-wrap
msgid "Invoking guix publish"
msgstr "调用guix publish"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Sharing substitutes."
msgstr "分享substitute。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:16460
#, no-wrap
msgid "Invoking guix challenge"
msgstr "调用guix challenge"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Challenging substitute servers."
msgstr "挑战subtitute服务器。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:16649
#, no-wrap
msgid "Invoking guix copy"
msgstr "调用guix copy"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Copying to and from a remote store."
msgstr "复制到远程的仓库,或从远程的仓库复制。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:16713
#, no-wrap
msgid "Invoking guix container"
msgstr "调用guix container"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Process isolation."
msgstr "进程隔离。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:16767
#, no-wrap
msgid "Invoking guix weather"
msgstr "调用guix weather"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Assessing substitute availability."
msgstr "评估substitute的可用性。"

#. type: node
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
#: guix-git/doc/guix.texi:16916
#, no-wrap
msgid "Invoking guix processes"
msgstr "调用guix processes"

#. type: menuentry
#: guix-git/doc/guix.texi:357 guix-git/doc/guix.texi:13005
msgid "Listing client processes."
msgstr "列出客户端进程。"

#. type: section
#: guix-git/doc/guix.texi:359 guix-git/doc/guix.texi:13008
#, no-wrap
msgid "Invoking @command{guix build}"
msgstr "调用@command{guix build}"

#. type: subsection
#: guix-git/doc/guix.texi:364 guix-git/doc/guix.texi:13059
#: guix-git/doc/guix.texi:13061 guix-git/doc/guix.texi:13062
#, no-wrap
msgid "Common Build Options"
msgstr "普通的构建选项"

#. type: menuentry
#: guix-git/doc/guix.texi:364 guix-git/doc/guix.texi:13059
msgid "Build options for most commands."
msgstr "大部分命令的构建选项。"

#. type: subsection
#: guix-git/doc/guix.texi:364 guix-git/doc/guix.texi:13059
#: guix-git/doc/guix.texi:13216 guix-git/doc/guix.texi:13217
#, no-wrap
msgid "Package Transformation Options"
msgstr "软件包转换选项"

#. type: menuentry
#: guix-git/doc/guix.texi:364 guix-git/doc/guix.texi:13059
msgid "Creating variants of packages."
msgstr "创建软件包的变体。"

#. type: subsection
#: guix-git/doc/guix.texi:364 guix-git/doc/guix.texi:13059
#: guix-git/doc/guix.texi:13639 guix-git/doc/guix.texi:13640
#, no-wrap
msgid "Additional Build Options"
msgstr "额外的构建选项"

#. type: menuentry
#: guix-git/doc/guix.texi:364 guix-git/doc/guix.texi:13059
msgid "Options specific to 'guix build'."
msgstr "只属于'guix build'的选项。"

#. type: subsection
#: guix-git/doc/guix.texi:364 guix-git/doc/guix.texi:13059
#: guix-git/doc/guix.texi:13935 guix-git/doc/guix.texi:13936
#, no-wrap
msgid "Debugging Build Failures"
msgstr "调试构建错误"

#. type: menuentry
#: guix-git/doc/guix.texi:364 guix-git/doc/guix.texi:13059
msgid "Real life packaging experience."
msgstr "真实的打包经验。"

#. type: section
#: guix-git/doc/guix.texi:369 guix-git/doc/guix.texi:17039
#: guix-git/doc/guix.texi:17041 guix-git/doc/guix.texi:17042
#, no-wrap
msgid "Cross-Compilation"
msgstr "交叉编译"

#. type: menuentry
#: guix-git/doc/guix.texi:369 guix-git/doc/guix.texi:17039
msgid "Cross-compiling for another architecture."
msgstr "为另一个架构交叉编译。"

#. type: section
#: guix-git/doc/guix.texi:369 guix-git/doc/guix.texi:17039
#: guix-git/doc/guix.texi:17094 guix-git/doc/guix.texi:17095
#, no-wrap
msgid "Native Builds"
msgstr "本地构建"

#. type: menuentry
#: guix-git/doc/guix.texi:369 guix-git/doc/guix.texi:17039
#, fuzzy
msgid "Targeting another architecture through native builds."
msgstr "以别的平台或内核为目标。"

#. type: node
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:17229
#, fuzzy, no-wrap
msgid "Getting Started with the System"
msgstr "入门"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:17432 guix-git/doc/guix.texi:17433
#, no-wrap
msgid "Using the Configuration System"
msgstr "使用配置系统"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Customizing your GNU system."
msgstr "定制你的GNU系统。"

#. type: node
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:17761
#, no-wrap
msgid "operating-system Reference"
msgstr "操作系统参考"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Detail of operating-system declarations."
msgstr "操作系统声明详情。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:393
#: guix-git/doc/guix.texi:17227 guix-git/doc/guix.texi:17980
#: guix-git/doc/guix.texi:17981
#, no-wrap
msgid "File Systems"
msgstr "文件系统"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Configuring file system mounts."
msgstr "设置文件系统挂载。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:18357 guix-git/doc/guix.texi:18358
#, no-wrap
msgid "Mapped Devices"
msgstr "映射的设备"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Block device extra processing."
msgstr "块设备额外的处理。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:18530 guix-git/doc/guix.texi:18531
#, no-wrap
msgid "Swap Space"
msgstr "交换空间"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#, fuzzy
msgid "Backing RAM with disk space."
msgstr "用磁盘空间支持 RAM。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:18712 guix-git/doc/guix.texi:18713
#, no-wrap
msgid "User Accounts"
msgstr "用户帐号"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Specifying user accounts."
msgstr "指定用户帐号。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:2252
#: guix-git/doc/guix.texi:17227 guix-git/doc/guix.texi:18900
#: guix-git/doc/guix.texi:18901
#, no-wrap
msgid "Keyboard Layout"
msgstr "键盘布局"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "How the system interprets key strokes."
msgstr "系统怎样理解按键。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:1723
#: guix-git/doc/guix.texi:17227 guix-git/doc/guix.texi:19045
#: guix-git/doc/guix.texi:19046
#, no-wrap
msgid "Locales"
msgstr "区域"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Language and cultural convention settings."
msgstr "语言和文化惯例设置。"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Specifying system services."
msgstr "指定系统服务。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:43477 guix-git/doc/guix.texi:43478
#, fuzzy, no-wrap
msgid "Privileged Programs"
msgstr "setuid程序"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#, fuzzy
msgid "Programs running with elevated privileges."
msgstr "以root权限运行的程序。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:1895
#: guix-git/doc/guix.texi:17227 guix-git/doc/guix.texi:43574
#: guix-git/doc/guix.texi:43575
#, no-wrap
msgid "X.509 Certificates"
msgstr "X.509证书"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Authenticating HTTPS servers."
msgstr "认证HTTPS服务器。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:1782
#: guix-git/doc/guix.texi:17227 guix-git/doc/guix.texi:43638
#: guix-git/doc/guix.texi:43639
#, no-wrap
msgid "Name Service Switch"
msgstr "Name Service Switch"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Configuring libc's name service switch."
msgstr "设置libc的name service switch。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:43776 guix-git/doc/guix.texi:43777
#, no-wrap
msgid "Initial RAM Disk"
msgstr "初始的内存虚拟硬盘"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Linux-Libre bootstrapping."
msgstr "Linux-Libre引导。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:43983 guix-git/doc/guix.texi:43984
#, no-wrap
msgid "Bootloader Configuration"
msgstr "引导设置"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Configuring the boot loader."
msgstr "设置引导程序。"

#. type: node
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:44419
#, no-wrap
msgid "Invoking guix system"
msgstr "调用guix system"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Instantiating a system configuration."
msgstr "实例化一个系统配置。"

#. type: node
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:45092
#, no-wrap
msgid "Invoking guix deploy"
msgstr "调用 guix deploy"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#, fuzzy
msgid "Deploying a system configuration to a remote host."
msgstr "实例化一个系统配置。"

#. type: node
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
#: guix-git/doc/guix.texi:45462
#, no-wrap
msgid "Running Guix in a VM"
msgstr "在虚拟机里运行Guix"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "How to run Guix System in a virtual machine."
msgstr "怎样在虚拟机里运行Guix。"

#. type: section
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:437
#: guix-git/doc/guix.texi:17227 guix-git/doc/guix.texi:45597
#: guix-git/doc/guix.texi:45598
#, no-wrap
msgid "Defining Services"
msgstr "定义服务"

#. type: menuentry
#: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:17227
msgid "Adding new service definitions."
msgstr "添加新的服务定义。"

#. type: subsection
#: guix-git/doc/guix.texi:395 guix-git/doc/guix.texi:18251
#: guix-git/doc/guix.texi:18253 guix-git/doc/guix.texi:18254
#, fuzzy, no-wrap
msgid "Btrfs file system"
msgstr "网络文件系统"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:19285 guix-git/doc/guix.texi:19286
#, no-wrap
msgid "Base Services"
msgstr "基础服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Essential system services."
msgstr "必要的系统服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:20797 guix-git/doc/guix.texi:20798
#, no-wrap
msgid "Scheduled Job Execution"
msgstr "执行计划任务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "The mcron service."
msgstr "mcron服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:20971 guix-git/doc/guix.texi:20972
#, no-wrap
msgid "Log Rotation"
msgstr "日志轮替"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "Archiving and deleting old logs."
msgstr "归档和删除旧日志。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:21279 guix-git/doc/guix.texi:21280
#, fuzzy, no-wrap
msgid "Networking Setup"
msgstr "网络服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Setting up network interfaces."
msgstr "配置网络接口。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:22014 guix-git/doc/guix.texi:22015
#, no-wrap
msgid "Networking Services"
msgstr "网络服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Firewall, SSH daemon, etc."
msgstr "防火墙,SSH后台进程等。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:23877 guix-git/doc/guix.texi:23878
#, fuzzy, no-wrap
msgid "Unattended Upgrades"
msgstr "无人值守升级"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "Automated system upgrades."
msgstr "自动系统升级。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:24035 guix-git/doc/guix.texi:24036
#, no-wrap
msgid "X Window"
msgstr "X窗口"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Graphical display."
msgstr "图形显示器。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:24698 guix-git/doc/guix.texi:24699
#, no-wrap
msgid "Printing Services"
msgstr "打印服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Local and remote printer support."
msgstr "本地和远程打印机的支持。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:25520 guix-git/doc/guix.texi:25521
#, no-wrap
msgid "Desktop Services"
msgstr "桌面服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "D-Bus and desktop services."
msgstr "D-Bus和桌面服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:26744 guix-git/doc/guix.texi:26745
#, no-wrap
msgid "Sound Services"
msgstr "声音服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "ALSA and Pulseaudio services."
msgstr "ALSA和Pulseaudio服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:26960 guix-git/doc/guix.texi:26961
#, fuzzy, no-wrap
msgid "File Search Services"
msgstr "消息服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "Tools to search for files."
msgstr "搜索文件的工具。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:27064 guix-git/doc/guix.texi:27065
#, no-wrap
msgid "Database Services"
msgstr "数据库服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "SQL databases, key-value stores, etc."
msgstr "SQL数据库,键值仓库等。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:27431 guix-git/doc/guix.texi:27432
#, no-wrap
msgid "Mail Services"
msgstr "邮件服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "IMAP, POP3, SMTP, and all that."
msgstr "IMAP,POP3,SMTP等。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:29552 guix-git/doc/guix.texi:29553
#, no-wrap
msgid "Messaging Services"
msgstr "消息服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Messaging services."
msgstr "消息服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:30063 guix-git/doc/guix.texi:30064
#, no-wrap
msgid "Telephony Services"
msgstr "电话服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Telephony services."
msgstr "电话服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:30515 guix-git/doc/guix.texi:30516
#, fuzzy, no-wrap
msgid "File-Sharing Services"
msgstr "消息服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "File-sharing services."
msgstr "消息服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:31313 guix-git/doc/guix.texi:31314
#, no-wrap
msgid "Monitoring Services"
msgstr "监控服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Monitoring services."
msgstr "监控服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:31971 guix-git/doc/guix.texi:31972
#, no-wrap
msgid "Kerberos Services"
msgstr "Kerberos服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Kerberos services."
msgstr "Kerberos服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:32097 guix-git/doc/guix.texi:32098
#, fuzzy, no-wrap
msgid "LDAP Services"
msgstr "LDAP 服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "LDAP services."
msgstr "LDAP 服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:32761 guix-git/doc/guix.texi:32762
#, no-wrap
msgid "Web Services"
msgstr "Web服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Web servers."
msgstr "Web服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:34102 guix-git/doc/guix.texi:34103
#, no-wrap
msgid "Certificate Services"
msgstr "证书服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "TLS certificates via Let's Encrypt."
msgstr "Let's Encrypt TLS证书。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:34282 guix-git/doc/guix.texi:34283
#, no-wrap
msgid "DNS Services"
msgstr "DNS服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "DNS daemons."
msgstr "DNS后台进程。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:35039 guix-git/doc/guix.texi:35040
#, fuzzy, no-wrap
msgid "VNC Services"
msgstr "VNC 服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "VNC daemons."
msgstr "VPN后台进程。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:35193 guix-git/doc/guix.texi:35194
#, no-wrap
msgid "VPN Services"
msgstr "VPN服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "VPN daemons."
msgstr "VPN后台进程。"

#. type: node
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:35590 guix-git/doc/guix.texi:35591
#: guix-git/doc/guix.texi:35786
#, no-wrap
msgid "Network File System"
msgstr "网络文件系统"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "NFS related services."
msgstr "网络文件系统相关的服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:35786 guix-git/doc/guix.texi:35787
#, fuzzy, no-wrap
msgid "Samba Services"
msgstr "游戏服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "Samba services."
msgstr "基础服务"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:35786 guix-git/doc/guix.texi:35938
#: guix-git/doc/guix.texi:35939
#, no-wrap
msgid "Continuous Integration"
msgstr "持续集成"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "Cuirass and Laminar services."
msgstr "Cuirass服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:36240 guix-git/doc/guix.texi:36241
#, no-wrap
msgid "Power Management Services"
msgstr "电源管理服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Extending battery life."
msgstr "延长电池寿命。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:36871 guix-git/doc/guix.texi:36872
#, no-wrap
msgid "Audio Services"
msgstr "音频服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "The MPD."
msgstr "MPD。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:37278 guix-git/doc/guix.texi:37279
#, no-wrap
msgid "Virtualization Services"
msgstr "虚拟化服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Virtualization services."
msgstr "虚拟化服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:39276 guix-git/doc/guix.texi:39277
#, no-wrap
msgid "Version Control Services"
msgstr "版本控制服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Providing remote access to Git repositories."
msgstr "远程访问Git仓库。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:40633 guix-git/doc/guix.texi:40634
#, no-wrap
msgid "Game Services"
msgstr "游戏服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Game servers."
msgstr "游戏服务器。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:40688 guix-git/doc/guix.texi:40689
#, fuzzy, no-wrap
msgid "PAM Mount Service"
msgstr "声音服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "Service to mount volumes when logging in."
msgstr "登录时挂载卷的服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:40869 guix-git/doc/guix.texi:40870
#, fuzzy, no-wrap
msgid "Guix Services"
msgstr "音频服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "Services relating specifically to Guix."
msgstr "与 Guix 特别相关的服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:41376 guix-git/doc/guix.texi:41377
#, fuzzy, no-wrap
msgid "Linux Services"
msgstr "邮件服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "Services tied to the Linux kernel."
msgstr "与 Linux 内核相关的服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:41753 guix-git/doc/guix.texi:41754
#, fuzzy, no-wrap
msgid "Hurd Services"
msgstr "声音服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#, fuzzy
msgid "Services specific for a Hurd System."
msgstr "特定于 Hurd 系统的服务。"

#. type: subsection
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
#: guix-git/doc/guix.texi:41795 guix-git/doc/guix.texi:41796
#, no-wrap
msgid "Miscellaneous Services"
msgstr "其它各种服务"

#. type: menuentry
#: guix-git/doc/guix.texi:435 guix-git/doc/guix.texi:19283
msgid "Other services."
msgstr "其它服务。"

#. type: subsection
#: guix-git/doc/guix.texi:443 guix-git/doc/guix.texi:45610
#: guix-git/doc/guix.texi:45612 guix-git/doc/guix.texi:45613
#, no-wrap
msgid "Service Composition"
msgstr "合成服务"

#. type: menuentry
#: guix-git/doc/guix.texi:443 guix-git/doc/guix.texi:45610
msgid "The model for composing services."
msgstr "服务合成的模型。"

#. type: subsection
#: guix-git/doc/guix.texi:443 guix-git/doc/guix.texi:45610
#: guix-git/doc/guix.texi:45668 guix-git/doc/guix.texi:45669
#, no-wrap
msgid "Service Types and Services"
msgstr "服务类型和服务"

#. type: menuentry
#: guix-git/doc/guix.texi:443 guix-git/doc/guix.texi:45610
msgid "Types and services."
msgstr "类型和服务。"

#. type: subsection
#: guix-git/doc/guix.texi:443 guix-git/doc/guix.texi:45610
#: guix-git/doc/guix.texi:45804 guix-git/doc/guix.texi:45805
#, no-wrap
msgid "Service Reference"
msgstr "服务参考"

#. type: menuentry
#: guix-git/doc/guix.texi:443 guix-git/doc/guix.texi:45610
msgid "API reference."
msgstr "API参考。"

#. type: subsection
#: guix-git/doc/guix.texi:443 guix-git/doc/guix.texi:45610
#: guix-git/doc/guix.texi:46121 guix-git/doc/guix.texi:46122
#, no-wrap
msgid "Shepherd Services"
msgstr "Shepherd服务"

#. type: menuentry
#: guix-git/doc/guix.texi:443 guix-git/doc/guix.texi:45610
msgid "A particular type of service."
msgstr "一种特别的服务。"

#. type: subsection
#: guix-git/doc/guix.texi:443 guix-git/doc/guix.texi:45610
#: guix-git/doc/guix.texi:46503 guix-git/doc/guix.texi:46504
#, fuzzy, no-wrap
msgid "Complex Configurations"
msgstr "系统配置"

#. type: menuentry
#: guix-git/doc/guix.texi:443 guix-git/doc/guix.texi:45610
#, fuzzy
msgid "Defining bindings for complex configurations."
msgstr "实例化一个系统配置。"

#. type: section
#: guix-git/doc/guix.texi:447 guix-git/doc/guix.texi:46897
#: guix-git/doc/guix.texi:46899 guix-git/doc/guix.texi:46900
#, no-wrap
msgid "Chrooting into an existing system"
msgstr "改变目录进入现有系统"

#. type: section
#: guix-git/doc/guix.texi:454 guix-git/doc/guix.texi:47052
#: guix-git/doc/guix.texi:47054 guix-git/doc/guix.texi:47055
#, fuzzy, no-wrap
msgid "Declaring the Home Environment"
msgstr "准备隔离的构建环境。"

#. type: menuentry
#: guix-git/doc/guix.texi:454 guix-git/doc/guix.texi:47052
#, fuzzy
msgid "Customizing your Home."
msgstr "定制你的GNU系统。"

#. type: section
#: guix-git/doc/guix.texi:454 guix-git/doc/guix.texi:47052
#: guix-git/doc/guix.texi:47144 guix-git/doc/guix.texi:47145
#, fuzzy, no-wrap
msgid "Configuring the Shell"
msgstr "设置引导程序。"

#. type: menuentry
#: guix-git/doc/guix.texi:454 guix-git/doc/guix.texi:47052
#, fuzzy
msgid "Enabling home environment."
msgstr "启用家庭环境。"

#. type: section
#: guix-git/doc/guix.texi:454 guix-git/doc/guix.texi:456
#: guix-git/doc/guix.texi:47052 guix-git/doc/guix.texi:47191
#: guix-git/doc/guix.texi:47192
#, fuzzy, no-wrap
msgid "Home Services"
msgstr "游戏服务"

#. type: menuentry
#: guix-git/doc/guix.texi:454 guix-git/doc/guix.texi:47052
#, fuzzy
msgid "Specifying home services."
msgstr "指定系统服务。"

#. type: node
#: guix-git/doc/guix.texi:454 guix-git/doc/guix.texi:47052
#: guix-git/doc/guix.texi:49701
#, no-wrap
msgid "Invoking guix home"
msgstr "调用guix home"

#. type: menuentry
#: guix-git/doc/guix.texi:454 guix-git/doc/guix.texi:47052
#, fuzzy
msgid "Instantiating a home configuration."
msgstr "实例化一个系统配置。"

#. type: subsection
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#: guix-git/doc/guix.texi:47243 guix-git/doc/guix.texi:47244
#, fuzzy, no-wrap
msgid "Essential Home Services"
msgstr "必要的系统服务。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Environment variables, packages, on-* scripts."
msgstr "环境变量、包、on-* 脚本。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Shells: Shells Home Services"
msgstr "Shepherd服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "POSIX shells, Bash, Zsh."
msgstr "POSIX shell、Bash、Zsh。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Mcron: Mcron Home Service"
msgstr "声音服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Scheduled User's Job Execution."
msgstr "执行计划任务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Power Management: Power Management Home Services"
msgstr "电源管理服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Services for battery power."
msgstr "分享你的工作。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Shepherd: Shepherd Home Service"
msgstr "Shepherd服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Managing User's Daemons."
msgstr "消息服务。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "SSH: Secure Shell"
msgstr "SSH:安全外壳"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Setting up the secure shell client."
msgstr "设置安全外壳客户端。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "GPG: GNU Privacy Guard"
msgstr "GPG:GNU 隐私保护"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Setting up GPG and related tools."
msgstr "设置 GPG 和相关工具。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Desktop: Desktop Home Services"
msgstr "桌面服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Services for graphical environments."
msgstr "图形环境的服务。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Guix: Guix Home Services"
msgstr "游戏服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Services for Guix."
msgstr "服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Fonts: Fonts Home Services"
msgstr "声音服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Services for managing User's fonts."
msgstr "消息服务。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Sound: Sound Home Services"
msgstr "声音服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Dealing with audio."
msgstr "处理音频。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Mail: Mail Home Services"
msgstr "游戏服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Services for managing mail."
msgstr "消息服务。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Messaging: Messaging Home Services"
msgstr "消息服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Services for managing messaging."
msgstr "消息服务。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Media: Media Home Services"
msgstr "游戏服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Services for managing media."
msgstr "消息服务。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Sway: Sway window manager"
msgstr "Sway:Sway 窗口管理器"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Setting up the Sway configuration."
msgstr "实例化一个系统配置。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Networking: Networking Home Services"
msgstr "网络服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
msgid "Networking services."
msgstr "网络服务。"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "Miscellaneous: Miscellaneous Home Services"
msgstr "其它各种服务"

#. type: menuentry
#: guix-git/doc/guix.texi:474 guix-git/doc/guix.texi:47240
#, fuzzy
msgid "More services."
msgstr "其它服务。"

#. type: node
#: guix-git/doc/guix.texi:479 guix-git/doc/guix.texi:50121
#: guix-git/doc/guix.texi:50123
#, fuzzy, no-wrap
msgid "platform Reference"
msgstr "origin参考手册"

#. type: menuentry
#: guix-git/doc/guix.texi:479 guix-git/doc/guix.texi:50121
#, fuzzy
msgid "Detail of platform declarations."
msgstr "操作系统声明详情。"

#. type: section
#: guix-git/doc/guix.texi:479 guix-git/doc/guix.texi:50121
#: guix-git/doc/guix.texi:50170 guix-git/doc/guix.texi:50171
#, fuzzy, no-wrap
msgid "Supported Platforms"
msgstr "支持的硬件。"

#. type: menuentry
#: guix-git/doc/guix.texi:479 guix-git/doc/guix.texi:50121
#, fuzzy
msgid "Description of the supported platforms."
msgstr "支持平台的描述。"

#. type: chapter
#: guix-git/doc/guix.texi:481 guix-git/doc/guix.texi:50248
#, no-wrap
msgid "Creating System Images"
msgstr "创建系统镜像"

#. type: node
#: guix-git/doc/guix.texi:486 guix-git/doc/guix.texi:50280
#: guix-git/doc/guix.texi:50282
#, fuzzy, no-wrap
msgid "image Reference"
msgstr "软件包引用"

#. type: menuentry
#: guix-git/doc/guix.texi:486 guix-git/doc/guix.texi:50280
#, fuzzy
msgid "Detail of image declarations."
msgstr "操作系统声明详情。"

#. type: section
#: guix-git/doc/guix.texi:486 guix-git/doc/guix.texi:50280
#: guix-git/doc/guix.texi:50436 guix-git/doc/guix.texi:50437
#, fuzzy, no-wrap
msgid "Instantiate an Image"
msgstr "实例化一个镜像"

#. type: menuentry
#: guix-git/doc/guix.texi:486 guix-git/doc/guix.texi:50280
#, fuzzy
msgid "How to instantiate an image record."
msgstr "如何实例化一个镜像记录。"

#. type: section
#: guix-git/doc/guix.texi:486 guix-git/doc/guix.texi:50280
#: guix-git/doc/guix.texi:50606 guix-git/doc/guix.texi:50607
#, fuzzy, no-wrap
msgid "image-type Reference"
msgstr "软件包引用"

#. type: menuentry
#: guix-git/doc/guix.texi:486 guix-git/doc/guix.texi:50280
#, fuzzy
msgid "Detail of image types declaration."
msgstr "操作系统声明详情。"

#. type: section
#: guix-git/doc/guix.texi:486 guix-git/doc/guix.texi:50280
#: guix-git/doc/guix.texi:50735 guix-git/doc/guix.texi:50736
#, fuzzy, no-wrap
msgid "Image Modules"
msgstr "软件包模块"

#. type: menuentry
#: guix-git/doc/guix.texi:486 guix-git/doc/guix.texi:50280
#, fuzzy
msgid "Definition of image modules."
msgstr "镜像模块的定义。"

#. type: section
#: guix-git/doc/guix.texi:488 guix-git/doc/guix.texi:50283
#, no-wrap
msgid "@code{image} Reference"
msgstr "@code{image} 参考手册"

#. type: node
#: guix-git/doc/guix.texi:490 guix-git/doc/guix.texi:50372
#: guix-git/doc/guix.texi:50374
#, no-wrap
msgid "partition Reference"
msgstr "partition参考手册"

#. type: section
#: guix-git/doc/guix.texi:495 guix-git/doc/guix.texi:50805
#: guix-git/doc/guix.texi:50807 guix-git/doc/guix.texi:50808
#, fuzzy, no-wrap
msgid "Separate Debug Info"
msgstr "单独的调试信息"

#. type: menuentry
#: guix-git/doc/guix.texi:495 guix-git/doc/guix.texi:50805
msgid "Installing 'debug' outputs."
msgstr "安装“调试”输出"

#. type: section
#: guix-git/doc/guix.texi:495 guix-git/doc/guix.texi:50805
#: guix-git/doc/guix.texi:50880 guix-git/doc/guix.texi:50881
#, fuzzy, no-wrap
msgid "Rebuilding Debug Info"
msgstr "重建调试信息"

#. type: menuentry
#: guix-git/doc/guix.texi:495 guix-git/doc/guix.texi:50805
#, fuzzy
msgid "Building missing debug info."
msgstr "构建缺失的调试信息。"

#. type: node
#: guix-git/doc/guix.texi:500 guix-git/doc/guix.texi:51216
#: guix-git/doc/guix.texi:51218
#, fuzzy, no-wrap
msgid "Full-Source Bootstrap"
msgstr "完整源引导"

#. type: menuentry
#: guix-git/doc/guix.texi:500 guix-git/doc/guix.texi:51216
#, fuzzy
msgid "A Bootstrap worthy of GNU."
msgstr "值得 GNU 的引导。"

#. type: section
#: guix-git/doc/guix.texi:500 guix-git/doc/guix.texi:51216
#: guix-git/doc/guix.texi:51305 guix-git/doc/guix.texi:51306
#, fuzzy, no-wrap
msgid "Preparing to Use the Bootstrap Binaries"
msgstr "准备使用引导二进制文件"

#. type: menuentry
#: guix-git/doc/guix.texi:500 guix-git/doc/guix.texi:51216
#, fuzzy
msgid "Building that what matters most."
msgstr "构建最重要的东西。"

#. type: cindex
#: guix-git/doc/guix.texi:508
#, no-wrap
msgid "purpose"
msgstr "目的"

#. type: Plain text
#: guix-git/doc/guix.texi:516
msgid "GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks'' using the international phonetic alphabet (IPA).} is a package management tool for and distribution of the GNU system.  Guix makes it easy for unprivileged users to install, upgrade, or remove software packages, to roll back to a previous package set, to build packages from source, and generally assists with the creation and maintenance of software environments."
msgstr "GNU Guix@footnote{``Guix''读做``geeks'',或``ɡiːks''(国际音标)}是GNU系统的包管理器和发行版。Guix让无特权的用户可以轻松地安装,升级,或删除软件包,回滚到前一个软件包集合,从源代码构建软件包,及辅助软件环境的创建和维护。"

#. type: cindex
#: guix-git/doc/guix.texi:517 guix-git/doc/guix.texi:592
#: guix-git/doc/guix.texi:714
#, no-wrap
msgid "Guix System"
msgstr "Guix系统"

#. type: cindex
#: guix-git/doc/guix.texi:518
#, no-wrap
msgid "GuixSD, now Guix System"
msgstr "GuixSD,现在称为Guix系统"

#. type: cindex
#: guix-git/doc/guix.texi:519
#, no-wrap
msgid "Guix System Distribution, now Guix System"
msgstr "Guix系统发行版,现在称为Guix系统"

#. type: Plain text
#: guix-git/doc/guix.texi:528
msgid "You can install GNU@tie{}Guix on top of an existing GNU/Linux system where it complements the available tools without interference (@pxref{Installation}), or you can use it as a standalone operating system distribution, @dfn{Guix@tie{}System}@footnote{We used to refer to Guix System as ``Guix System Distribution'' or ``GuixSD''.  We now consider it makes more sense to group everything under the ``Guix'' banner since, after all, Guix System is readily available through the @command{guix system} command, even if you're using a different distro underneath!}.  @xref{GNU Distribution}."
msgstr "你可以在现有的GNU/Linux发行版上安装GNU@tie{}Guix(@pxref{Installation}),Guix可以补充已有的工具,并且不会和它们产生冲突。或者你可以把它当作独立的操作系统发行版(@dfn{Guix@tie{}系统}@footnote{我们以前把Guix系统称为``Guix系统发行版''或``GuixSD''。我们现在觉得把一切都统一在``Guix''的旗帜下更合理,因为,毕竟即使在别的发行版上你也可以随时通过@command{guix system}命令获得Guix系统})。@xref{GNU Distribution}."

#. type: cindex
#: guix-git/doc/guix.texi:537
#, no-wrap
msgid "user interfaces"
msgstr "用户界面"

#. type: Plain text
#: guix-git/doc/guix.texi:543
msgid "Guix provides a command-line package management interface (@pxref{Package Management}), tools to help with software development (@pxref{Development}), command-line utilities for more advanced usage (@pxref{Utilities}), as well as Scheme programming interfaces (@pxref{Programming Interface})."
msgstr "Guix提供了命令行软件包管理接口(@pxref{Package Management}),辅助软件开发的工具(@pxref{Development}),高级用法的命令行接口(@pxref{Utilities}),以及Scheme编程语言接口(@pxref{Programming Interface})。"

#. type: cindex
#: guix-git/doc/guix.texi:543
#, no-wrap
msgid "build daemon"
msgstr "构建后台进程"

#. type: Plain text
#: guix-git/doc/guix.texi:547
msgid "Its @dfn{build daemon} is responsible for building packages on behalf of users (@pxref{Setting Up the Daemon}) and for downloading pre-built binaries from authorized sources (@pxref{Substitutes})."
msgstr "@dfn{构建后台进程}为用户构建软件包(@pxref{Setting Up the Daemon}),及从授权的源(@pxref{Substitutes})下载预构建的二进制文件。"

#. type: cindex
#: guix-git/doc/guix.texi:548
#, no-wrap
msgid "extensibility of the distribution"
msgstr "发行版的扩展性"

#. type: cindex
#: guix-git/doc/guix.texi:549 guix-git/doc/guix.texi:7616
#, no-wrap
msgid "customization, of packages"
msgstr "定制软件包"

#. type: Plain text
#: guix-git/doc/guix.texi:558
msgid "Guix includes package definitions for many GNU and non-GNU packages, all of which @uref{https://www.gnu.org/philosophy/free-sw.html, respect the user's computing freedom}.  It is @emph{extensible}: users can write their own package definitions (@pxref{Defining Packages}) and make them available as independent package modules (@pxref{Package Modules}).  It is also @emph{customizable}: users can @emph{derive} specialized package definitions from existing ones, including from the command line (@pxref{Package Transformation Options})."
msgstr "Guix包含很多GNU和非GNU的软件包定义,所有的这些软件包都@uref{https://www.gnu.org/philosophy/free-sw.html, 尊重用户的自由}。它是@emph{可扩展的}:用户可以编写自己的软件包定义(@pxref{Defining Packages}),并且把它们作为独立的软件包模块@pxref{Package Modules}。它也是@emph{可定制的}:用户可以从现有的软件包定义衍生出特殊的软件包,包括从命令行(@pxref{Package Transformation Options})。"

#. type: cindex
#: guix-git/doc/guix.texi:559
#, no-wrap
msgid "functional package management"
msgstr "函数式包管理器"

#. type: cindex
#: guix-git/doc/guix.texi:560
#, no-wrap
msgid "isolation"
msgstr "隔离"

#. type: Plain text
#: guix-git/doc/guix.texi:575
msgid "Under the hood, Guix implements the @dfn{functional package management} discipline pioneered by Nix (@pxref{Acknowledgments}).  In Guix, the package build and installation process is seen as a @emph{function}, in the mathematical sense.  That function takes inputs, such as build scripts, a compiler, and libraries, and returns an installed package.  As a pure function, its result depends solely on its inputs---for instance, it cannot refer to software or scripts that were not explicitly passed as inputs.  A build function always produces the same result when passed a given set of inputs.  It cannot alter the environment of the running system in any way; for instance, it cannot create, modify, or delete files outside of its build and installation directories.  This is achieved by running build processes in isolated environments (or @dfn{containers}), where only their explicit inputs are visible."
msgstr "在底层,Guix实现了由Nix(@pxref{Acknowledgments})开创的@dfn{函数式包管理器}。在Guix里,软件包构建和安装过程被视为数学意义上的@emph{函数}。函数获取输入,如构建脚本、编译器和库,并且返回一个安装好的软件包。作为一个纯函数,它的结果只取决于它的输入--例如,它不能引用没有作为显式输入传入的软件和脚本。当传入特定的输入时,一个构建函数总是得到相同的结果。它不能以任何方式修改运行系统的环境,例如,它不能创建,修改,或删除构建和安装环境之外的文件夹。这是通过在隔离的环境(@dfn{容器})里运行构建进程实现的,在这个环境里只能访问到显式的输入。"

#. type: cindex
#: guix-git/doc/guix.texi:576 guix-git/doc/guix.texi:4192
#: guix-git/doc/guix.texi:11345
#, no-wrap
msgid "store"
msgstr "store"

#. type: Plain text
#: guix-git/doc/guix.texi:583
msgid "The result of package build functions is @dfn{cached} in the file system, in a special directory called @dfn{the store} (@pxref{The Store}).  Each package is installed in a directory of its own in the store---by default under @file{/gnu/store}.  The directory name contains a hash of all the inputs used to build that package; thus, changing an input yields a different directory name."
msgstr "软件包构建函数的结果被@dfn{缓存}在文件系统里的一个叫做@dfn{仓库}(@pxref{The Store})的特殊文件夹内。每个软件包都被安装在仓库(默认在@file{/gnu/store})里的一个独立的文件夹内。这个文件夹的名字含有用于构建这个软件包的所有输入的hash,所以,修改输入会得到一个不同的文件夹名。"

#. type: Plain text
#: guix-git/doc/guix.texi:587
msgid "This approach is the foundation for the salient features of Guix: support for transactional package upgrade and rollback, per-user installation, and garbage collection of packages (@pxref{Features})."
msgstr "这种手段是实现Guix的突出功能的基础:对事务型软件包升级和回滚的支持,每个用户独立的安装,软件包垃圾回收@pxref{Features}。"

#. type: Plain text
#: guix-git/doc/guix.texi:602
msgid "Guix comes with a distribution of the GNU system consisting entirely of free software@footnote{The term ``free'' here refers to the @url{https://www.gnu.org/philosophy/free-sw.html,freedom provided to users of that software}.}.  The distribution can be installed on its own (@pxref{System Installation}), but it is also possible to install Guix as a package manager on top of an installed GNU/Linux system (@pxref{Installation}).  When we need to distinguish between the two, we refer to the standalone distribution as Guix@tie{}System."
msgstr "Guix提供了一个GNU系统发行版,这个发新版只包含自由软件@footnote{这里的“自由”指的是@url{https://www.gnu.org/philosophy/free-sw.html,软件提供给用户的自由}。}。这个发行版可以独立安装(@pxref{System Installation}),但是把Guix安装为一个已经安装好的GNU/Linux系统的包管理器也是可行的(@pxref{Installation})。当我们需要区分这两者时,我们把独立的发行版称为“Guix系统”。"

#. type: Plain text
#: guix-git/doc/guix.texi:608
msgid "The distribution provides core GNU packages such as GNU libc, GCC, and Binutils, as well as many GNU and non-GNU applications.  The complete list of available packages can be browsed @url{https://www.gnu.org/software/guix/packages,on-line} or by running @command{guix package} (@pxref{Invoking guix package}):"
msgstr "这个发行版提供了GNU核心软件包,如libc、gcc和Binutils,以及很多GNU和非GNU应用程序。可用的软件包的完整列表可以在@url{https://www.gnu.org/software/guix/packages,on-line}浏览,或者通过运行@command{guix package}(@pxref{Invoking guix package})获得:"

#. type: example
#: guix-git/doc/guix.texi:611
#, no-wrap
msgid "guix package --list-available\n"
msgstr "guix package --list-available\n"

#. type: Plain text
#: guix-git/doc/guix.texi:617
msgid "Our goal is to provide a practical 100% free software distribution of Linux-based and other variants of GNU, with a focus on the promotion and tight integration of GNU components, and an emphasis on programs and tools that help users exert that freedom."
msgstr "我们的目标是提供一个基于Linux和其它GNU变体的可用的100%自由的软件发行版,我们的重点是推广和紧密集成GNU组件,以及强调帮助用户行使那些自由的程序和工具。"

#. type: Plain text
#: guix-git/doc/guix.texi:619
msgid "Packages are currently available on the following platforms:"
msgstr "目前这些平台提供软件包:"

#. type: defvar
#: guix-git/doc/guix.texi:622 guix-git/doc/guix.texi:2089
#: guix-git/doc/guix.texi:50208
#, no-wrap
msgid "x86_64-linux"
msgstr "x86_64-linux"

#. type: table
#: guix-git/doc/guix.texi:624
msgid "Intel/AMD @code{x86_64} architecture, Linux-Libre kernel."
msgstr "Intel/AMD @code{x86_64} 架构,Linux-Libre 内核。"

#. type: defvar
#: guix-git/doc/guix.texi:625 guix-git/doc/guix.texi:2092
#: guix-git/doc/guix.texi:50204
#, no-wrap
msgid "i686-linux"
msgstr "i686-linux"

#. type: table
#: guix-git/doc/guix.texi:627
msgid "Intel 32-bit architecture (IA32), Linux-Libre kernel."
msgstr "Intel 32 位架构(IA32),Linux-Libre 内核。"

#. type: item
#: guix-git/doc/guix.texi:628
#, no-wrap
msgid "armhf-linux"
msgstr "armhf-linux"

#. type: table
#: guix-git/doc/guix.texi:632
msgid "ARMv7-A architecture with hard float, Thumb-2 and NEON, using the EABI hard-float application binary interface (ABI), and Linux-Libre kernel."
msgstr "ARMv7-A架构,带硬件浮点数、Thumb-2和NEON扩展,EABI硬件浮点数应用二进制接口(ABI),和Linux-Libre内核。"

#. type: defvar
#: guix-git/doc/guix.texi:633 guix-git/doc/guix.texi:50180
#, no-wrap
msgid "aarch64-linux"
msgstr "aarch64-linux"

#. type: table
#: guix-git/doc/guix.texi:635
msgid "little-endian 64-bit ARMv8-A processors, Linux-Libre kernel."
msgstr "小端序64位元ARMv8-A处理器,Linux-Libre内核。"

#. type: defvar
#: guix-git/doc/guix.texi:636 guix-git/doc/guix.texi:50227
#, no-wrap
msgid "i586-gnu"
msgstr "i586-gnu"

#. type: table
#: guix-git/doc/guix.texi:639
#, fuzzy
msgid "@uref{https://hurd.gnu.org, GNU/Hurd} on the Intel 32-bit architecture (IA32)."
msgstr "在 Intel 32 位架构 (IA32) 上的 @uref{https://hurd.gnu.org, GNU/Hurd}。"

#. type: table
#: guix-git/doc/guix.texi:645
#, fuzzy
msgid "This configuration is experimental and under development.  The easiest way for you to give it a try is by setting up an instance of @code{hurd-vm-service-type} on your GNU/Linux machine (@pxref{transparent-emulation-qemu, @code{hurd-vm-service-type}}).  @xref{Contributing}, on how to help!"
msgstr "此配置是实验性的,正在开发中。您尝试的最简单方法是在您的 GNU/Linux 机器上设置一个 @code{hurd-vm-service-type} 实例 (@pxref{transparent-emulation-qemu, @code{hurd-vm-service-type}})。@xref{Contributing},了解如何提供帮助!"

#. type: item
#: guix-git/doc/guix.texi:646
#, fuzzy, no-wrap
msgid "x86_64-gnu"
msgstr "x86_64-linux"

#. type: table
#: guix-git/doc/guix.texi:649
#, fuzzy
msgid "@uref{https://hurd.gnu.org, GNU/Hurd} on the @code{x86_64} Intel/AMD 64-bit architecture."
msgstr "@uref{https://hurd.gnu.org, GNU/Hurd} 在 @code{x86_64} Intel/AMD 64 位架构上。"

#. type: table
#: guix-git/doc/guix.texi:652
#, fuzzy
msgid "This configuration is even more experimental and under heavy upstream development."
msgstr "此配置更加实验性,并处于上游开发的重压之下。"

#. type: item
#: guix-git/doc/guix.texi:653
#, fuzzy, no-wrap
msgid "mips64el-linux (unsupported)"
msgstr "mips64el-linux"

#. type: table
#: guix-git/doc/guix.texi:659
#, fuzzy
msgid "little-endian 64-bit MIPS processors, specifically the Loongson series, n32 ABI, and Linux-Libre kernel.  This configuration is no longer fully supported; in particular, there is no ongoing work to ensure that this architecture still works.  Should someone decide they wish to revive this architecture then the code is still available."
msgstr "小端64位MIPS处理器,特别是Loongson系列,n32 ABI,以及Linux-Libre内核。此配置不再完全支持;特别是,没有持续的工作来确保该架构仍然有效。如果有人决定希望恢复该架构,则代码仍然可用。"

#. type: item
#: guix-git/doc/guix.texi:660
#, fuzzy, no-wrap
msgid "powerpc-linux (unsupported)"
msgstr "powerpc-linux(不支持)"

#. type: table
#: guix-git/doc/guix.texi:665
#, fuzzy
msgid "big-endian 32-bit PowerPC processors, specifically the PowerPC G4 with AltiVec support, and Linux-Libre kernel.  This configuration is not fully supported and there is no ongoing work to ensure this architecture works."
msgstr "大端32位PowerPC处理器,特别是支持AltiVec的PowerPC G4,以及Linux-Libre内核。此配置不完全支持,并且没有持续的工作来确保该架构有效。"

#. type: table
#: guix-git/doc/guix.texi:676
#, fuzzy
msgid "little-endian 64-bit Power ISA processors, Linux-Libre kernel.  This includes POWER9 systems such as the @uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom, RYF Talos II mainboard}. This platform is available as a \"technology preview\": although it is supported, substitutes are not yet available from the build farm (@pxref{Substitutes}), and some packages may fail to build (@pxref{Tracking Bugs and Changes}).  That said, the Guix community is actively working on improving this support, and now is a great time to try it and get involved!"
msgstr "小端64位RISC-V处理器,特别是RV64GC和Linux Libre内核。该平台可作为“技术预览”使用:尽管支持该平台,但构建场(@pxref{Substitutes})中尚未提供substitutes,并且某些包可能无法构建 (@pxref{Tracking Bugs and Patches})。这就是说,Guix社区正在积极完善这种支持,现在是探索和加入它的好时机!"

#. type: defvar
#: guix-git/doc/guix.texi:677 guix-git/doc/guix.texi:50200
#, fuzzy, no-wrap
msgid "riscv64-linux"
msgstr "aarch64-linux"

#. type: table
#: guix-git/doc/guix.texi:685
msgid "little-endian 64-bit RISC-V processors, specifically RV64GC, and Linux-Libre kernel. This platform is available as a \"technology preview\": although it is supported, substitutes are not yet available from the build farm (@pxref{Substitutes}), and some packages may fail to build (@pxref{Tracking Bugs and Changes}).  That said, the Guix community is actively working on improving this support, and now is a great time to try it and get involved!"
msgstr "小端64位RISC-V处理器,特别是RV64GC和Linux Libre内核。该平台可作为“技术预览”使用:尽管支持该平台,但构建场(@pxref{Substitutes})中尚未提供substitutes,并且某些包可能无法构建 (@pxref{Tracking Bugs and Changes})。这就是说,Guix社区正在积极完善这种支持,现在是探索和加入它的好时机!"

#. type: Plain text
#: guix-git/doc/guix.texi:695
msgid "With Guix@tie{}System, you @emph{declare} all aspects of the operating system configuration and Guix takes care of instantiating the configuration in a transactional, reproducible, and stateless fashion (@pxref{System Configuration}).  Guix System uses the Linux-libre kernel, the Shepherd initialization system (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual}), the well-known GNU utilities and tool chain, as well as the graphical environment or system services of your choice."
msgstr "在Guix系统里,你@emph{声明}操作系统所有方面的配置,然后Guix以事务型的,可重复的,和无状态的方式解决实例化配置的问题(@pxref{System Configuration})。Guix系统使用Linux-Libre内核,Shepherd初始化系统@pxref{Introduction,,, shepherd, GNU Shepherd用户手册},知名的GNU工具和工具链,以及你可选的图形界面环境和系统服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:699
msgid "Guix System is available on all the above platforms except @code{mips64el-linux}, @code{powerpc-linux}, @code{powerpc64le-linux} and @code{riscv64-linux}."
msgstr "Guix系统在上面所有的平台上都可用,但@code{mips64el-linux}, @code{powerpc-linux}, @code{powerpc64le-linux} 和 @code{riscv64-linux}除外。"

#. type: Plain text
#: guix-git/doc/guix.texi:703
msgid "For information on porting to other architectures or kernels, @pxref{Porting}."
msgstr "关于移植到其它架构或内核的信息,@pxref{Porting}。"

#. type: Plain text
#: guix-git/doc/guix.texi:706
msgid "Building this distribution is a cooperative effort, and you are invited to join! @xref{Contributing}, for information about how you can help."
msgstr "构建这个发行版需要努力合作,欢迎你加入!关于你可以怎样提供帮助的信息,@xref{Contributing}。"

#. type: cindex
#: guix-git/doc/guix.texi:712
#, no-wrap
msgid "installing Guix"
msgstr "安装Guix"

#. type: cindex
#: guix-git/doc/guix.texi:713 guix-git/doc/guix.texi:1718
#, no-wrap
msgid "foreign distro"
msgstr "别的发行版"

#. type: Plain text
#: guix-git/doc/guix.texi:721
msgid "You can install the package management tool Guix on top of an existing GNU/Linux or GNU/Hurd system@footnote{Hurd support is currently limited.}, referred to as a @dfn{foreign distro}.  If, instead, you want to install the complete, standalone GNU system distribution, @dfn{Guix@tie{}System}, @pxref{System Installation}.  This section is concerned only with the installation of Guix on a foreign distro."
msgstr "您可以在现有的GNU/Linux或GNU/Hurd系统上安装包管理工具Guix@footnote{Hurd支持目前有限。},称为@dfn{外部发行版}。如果您想安装完整的独立GNU系统发行版@dfn{Guix@tie{}System},请参见@ref{System Installation}。本节仅涉及在外部发行版上安装Guix。"

#. type: quotation
#: guix-git/doc/guix.texi:725 guix-git/doc/guix.texi:757
msgid "This section only applies to systems without Guix.  Following it for existing Guix installations will overwrite important system files."
msgstr "本节仅适用于没有Guix的系统。对现有Guix安装执行此操作将覆盖重要的系统文件。"

#. type: cindex
#: guix-git/doc/guix.texi:727
#, no-wrap
msgid "directories related to foreign distro"
msgstr "和foreign distro相关的文件夹"

#. type: Plain text
#: guix-git/doc/guix.texi:732
msgid "When installed on a foreign distro, GNU@tie{}Guix complements the available tools without interference.  Its data lives exclusively in two directories, usually @file{/gnu/store} and @file{/var/guix}; other files on your system, such as @file{/etc}, are left untouched."
msgstr "在foreign distro上安装时,GNU@tie{}Guix可以在不引起冲突的前提下补充现有的工具。它的数据只存放在两个文件夹里,通常是@file{/gnu/store}和@file{/var/guix};系统上的其它文件,如@file{/etc},不会被修改。"

#. type: Plain text
#: guix-git/doc/guix.texi:735
msgid "Once installed, Guix can be updated by running @command{guix pull} (@pxref{Invoking guix pull})."
msgstr "一旦安装好了,可以通过运行@command{guix pull}升级Guix(@pxref{Invoking guix pull})。"

#. type: cindex
#: guix-git/doc/guix.texi:747
#, no-wrap
msgid "installing Guix from binaries"
msgstr "用二进制文件安装Guix"

#. type: cindex
#: guix-git/doc/guix.texi:748
#, no-wrap
msgid "installer script"
msgstr "安装脚本"

#. type: Plain text
#: guix-git/doc/guix.texi:753
#, fuzzy
msgid "This section describes how to install Guix from a self-contained tarball providing binaries for Guix and for all its dependencies.  This is often quicker than installing from source, described later (@pxref{Building from Git})."
msgstr "这个小节介绍如何在任意的系统上用独立的Guix二进制文件包安装Guix和它的依赖。这通常比从源代码安装更快,下一小节会介绍如何从源代码安装。唯一的需求是有GNU@tie{}tar和Xz。"

#. type: Plain text
#: guix-git/doc/guix.texi:763
#, fuzzy
msgid "Some GNU/Linux distributions, such as Debian, Ubuntu, and openSUSE provide Guix through their own package managers.  The version of Guix may be older than @value{VERSION} but you can update it afterwards by running @samp{guix pull}."
msgstr "一些GNU/Linux发行版,如Debian、Ubuntu和openSUSE通过自己的包管理器提供Guix。Guix的版本可能早于@value{VERSION},但您可以在之后通过运行@samp{guix pull}来更新它。"

#. type: Plain text
#: guix-git/doc/guix.texi:768
#, fuzzy
msgid "We advise system administrators who install Guix, both from the installation script or @i{via} the native package manager of their foreign distribution, to also regularly read and follow security notices, as shown by @command{guix pull}."
msgstr "我们建议安装Guix的系统管理员,无论是通过安装脚本还是@i{通过}其外部发行版的本地包管理器,定期阅读和遵循安全通知,如@command{guix pull}所示。"

#. type: Plain text
#: guix-git/doc/guix.texi:770
#, fuzzy
msgid "For Debian or derivatives such as Ubuntu or Trisquel, call:"
msgstr "对于Debian或衍生版,如Ubuntu或Trisquel,请调用:"

#. type: example
#: guix-git/doc/guix.texi:773
#, fuzzy, no-wrap
msgid "sudo apt install guix\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:776
#, fuzzy
msgid "Likewise, on openSUSE:"
msgstr "同样,在openSUSE上:"

#. type: example
#: guix-git/doc/guix.texi:779
#, fuzzy, no-wrap
msgid "sudo zypper install guix\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:783
#, fuzzy
msgid "If you are running Parabola, after enabling the pcr (Parabola Community Repo) repository, you can install Guix with:"
msgstr "如果您正在运行Parabola,在启用pcr(Parabola Community Repo)存储库后,您可以使用以下命令安装Guix:"

#. type: example
#: guix-git/doc/guix.texi:785
#, fuzzy, no-wrap
msgid "sudo pacman -S guix\n"
msgstr "sudo -i guix pull\n"

#. type: Plain text
#: guix-git/doc/guix.texi:793
#, fuzzy
msgid "The Guix project also provides a shell script, @file{guix-install.sh}, which automates the binary installation process without use of a foreign distro package manager@footnote{@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh}}.  Use of @file{guix-install.sh} requires Bash, GnuPG, GNU@tie{}tar, wget, and Xz."
msgstr "Guix项目还提供了一个shell脚本@file{guix-install.sh},该脚本自动化了二进制安装过程,而无需使用外部发行版包管理器@footnote{@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh}}。使用@file{guix-install.sh}需要Bash、GnuPG、GNU@tie{}tar、wget和Xz。"

#. type: Plain text
#: guix-git/doc/guix.texi:795
#, fuzzy
msgid "The script guides you through the following:"
msgstr "目前这些平台提供软件包:"

#. type: item
#: guix-git/doc/guix.texi:797
#, fuzzy, no-wrap
msgid "Downloading and extracting the binary tarball"
msgstr "正在下载和提取二进制 tarball"

#. type: item
#: guix-git/doc/guix.texi:798
#, fuzzy, no-wrap
msgid "Setting up the build daemon"
msgstr "设置后台进程"

#. type: item
#: guix-git/doc/guix.texi:799
#, fuzzy, no-wrap
msgid "Making the ‘guix’ command available to non-root users"
msgstr "使非根用户可以使用‘guix’命令"

#. type: item
#: guix-git/doc/guix.texi:800
#, fuzzy, no-wrap
msgid "Configuring substitute servers"
msgstr "挑战subtitute服务器。"

#. type: Plain text
#: guix-git/doc/guix.texi:804
#, fuzzy
msgid "As root, run:"
msgstr "作为根用户,运行:"

#. type: example
#: guix-git/doc/guix.texi:810
#, fuzzy, no-wrap
msgid ""
"# cd /tmp\n"
"# wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh\n"
"# chmod +x guix-install.sh\n"
"# ./guix-install.sh\n"
msgstr ""
"# cd /tmp\n"
"# wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh\n"
"# chmod +x guix-install.sh\n"
"# ./guix-install.sh\n"

#. type: Plain text
#: guix-git/doc/guix.texi:814
#, fuzzy
msgid "The script to install Guix is also packaged in Parabola (in the pcr repository). You can install and run it with:"
msgstr "安装 Guix 的脚本也打包在 Parabola 中(在 pcr 仓库中)。您可以使用以下命令安装并运行它:"

#. type: example
#: guix-git/doc/guix.texi:817
#, fuzzy, no-wrap
msgid ""
"sudo pacman -S guix-installer\n"
"sudo guix-install.sh\n"
msgstr ""
"sudo pacman -S guix-installer\n"
"sudo guix-install.sh\n"

#. type: quotation
#: guix-git/doc/guix.texi:827
#, fuzzy
msgid "By default, @file{guix-install.sh} will configure Guix to download pre-built package binaries, called @dfn{substitutes} (@pxref{Substitutes}), from the project's build farms.  If you choose not to permit this, Guix will build @emph{everything} from source, making each installation and upgrade very expensive.  @xref{On Trusting Binaries} for a discussion of why you may want to build packages from source."
msgstr "默认情况下,@file{guix-install.sh} 将配置 Guix 从项目的构建农场下载预构建的包二进制文件,称为 @dfn{substitutes} (@pxref{Substitutes})。如果您选择不允许这样做,Guix 将从源代码构建 @emph{所有} 内容,使每次安装和升级都非常昂贵。有关您可能希望从源代码构建包的原因,请参见 @xref{On Trusting Binaries}。"

#. type: cindex
#: guix-git/doc/guix.texi:828 guix-git/doc/guix.texi:3698
#: guix-git/doc/guix.texi:19951
#, no-wrap
msgid "substitutes, authorization thereof"
msgstr "substitutes,对其授权"

#. type: quotation
#: guix-git/doc/guix.texi:832
#, fuzzy
msgid "To use substitutes from @code{@value{SUBSTITUTE-SERVER-1}}, @code{@value{SUBSTITUTE-SERVER-2}} or a mirror, you must authorize them.  For example,"
msgstr "为了使用@code{@value{SUBSTITUTE-SERVER}}或其镜像的substitute(@pxref{Substitutes}),对其授权:"

#. type: example
#: guix-git/doc/guix.texi:838
#, no-wrap
msgid ""
"# guix archive --authorize < \\\n"
"     ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub\n"
"# guix archive --authorize < \\\n"
"     ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub\n"
msgstr ""
"# guix archive --authorize < \\\n"
"     ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub\n"
"# guix archive --authorize < \\\n"
"     ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub\n"

#. type: Plain text
#: guix-git/doc/guix.texi:844
#, fuzzy
msgid "When you're done installing Guix, @pxref{Application Setup} for extra configuration you might need, and @ref{Getting Started} for your first steps!"
msgstr "安装 Guix 完成后,请参见 @pxref{Application Setup} 以获取您可能需要的额外配置,以及 @ref{Getting Started} 以获取您的第一步!"

#. type: quotation
#: guix-git/doc/guix.texi:848
msgid "The binary installation tarball can be (re)produced and verified simply by running the following command in the Guix source tree:"
msgstr "二进制安装包可以通过在Guix源代码树里运行下面这些命令来重现和验证:"

#. type: example
#: guix-git/doc/guix.texi:851
#, no-wrap
msgid "make guix-binary.@var{system}.tar.xz\n"
msgstr "make guix-binary.@var{系统}.tar.xz\n"

#. type: quotation
#: guix-git/doc/guix.texi:855
msgid "...@: which, in turn, runs:"
msgstr "...@: 这个命令会执行:"

#. type: example
#: guix-git/doc/guix.texi:859
#, no-wrap
msgid ""
"guix pack -s @var{system} --localstatedir \\\n"
"  --profile-name=current-guix guix\n"
msgstr ""
"guix pack -s @var{系统} --localstatedir \\\n"
"  --profile-name=current-guix guix\n"

#. type: quotation
#: guix-git/doc/guix.texi:862
msgid "@xref{Invoking guix pack}, for more info on this handy tool."
msgstr "@xref{Invoking guix pack},了解这个方便的工具。"

#. type: cindex
#: guix-git/doc/guix.texi:864
#, fuzzy, no-wrap
msgid "uninstalling Guix"
msgstr "安装Guix"

#. type: cindex
#: guix-git/doc/guix.texi:865
#, fuzzy, no-wrap
msgid "uninstallation, of Guix"
msgstr "安装Guix"

#. type: Plain text
#: guix-git/doc/guix.texi:868
#, fuzzy
msgid "Should you eventually want to uninstall Guix, run the same script with the @option{--uninstall} flag:"
msgstr "如果您最终想要卸载 Guix,请使用 @option{--uninstall} 标志运行相同的脚本:"

#. type: example
#: guix-git/doc/guix.texi:871
#, fuzzy, no-wrap
msgid "./guix-install.sh --uninstall\n"
msgstr "guix install guile-studio\n"

#. type: Plain text
#: guix-git/doc/guix.texi:875
#, fuzzy
msgid "With @option{--uninstall}, the script irreversibly deletes all the Guix files, configuration, and services."
msgstr "使用 @option{--uninstall},该脚本将不可逆转地删除所有 Guix 文件、配置和服务。"

#. type: cindex
#: guix-git/doc/guix.texi:879
#, no-wrap
msgid "daemon"
msgstr "后台进程"

#. type: Plain text
#: guix-git/doc/guix.texi:883
#, fuzzy
msgid "During installation, the @dfn{build daemon} that must be running to use Guix has already been set up and you can run @command{guix} commands in your terminal program, @pxref{Getting Started}:"
msgstr "在安装过程中,必须运行的 @dfn{构建守护进程} 已经设置好,您可以在终端程序中运行 @command{guix} 命令,@pxref{Getting Started}:"

#. type: example
#: guix-git/doc/guix.texi:886
#, fuzzy, no-wrap
msgid "guix build hello\n"
msgstr "# guix install hello\n"

#. type: Plain text
#: guix-git/doc/guix.texi:891
#, fuzzy
msgid "If this runs through without error, feel free to skip this section.  You should continue with the following section, @ref{Application Setup}."
msgstr "如果此过程没有错误,请随意跳过此部分。您应该继续进行下一部分,@ref{Application Setup}。"

#. type: Plain text
#: guix-git/doc/guix.texi:899
#, fuzzy
msgid "However, now would be a good time to replace outdated daemon versions, tweak it, perform builds on other machines (@pxref{Daemon Offload Setup}), or start it manually in special environments like ``chroots'' (@pxref{Chrooting into an existing system}) or WSL (not needed for WSL images created with Guix, @pxref{System Images, @code{wsl2-image-type}}).  If you want to know more or optimize your system, this section is worth reading."
msgstr "然而,现在是替换过时的守护进程版本、调整它、在其他机器上执行构建(@pxref{Daemon Offload Setup})或在特殊环境中手动启动它的好时机,例如“chroots”(@pxref{Chrooting into an existing system})或 WSL(对于使用 Guix 创建的 WSL 镜像不需要,@pxref{System Images, @code{wsl2-image-type}})。如果您想了解更多或优化您的系统,这一部分值得阅读。"

#. type: Plain text
#: guix-git/doc/guix.texi:907
msgid "Operations such as building a package or running the garbage collector are all performed by a specialized process, the build daemon, on behalf of clients.  Only the daemon may access the store and its associated database.  Thus, any operation that manipulates the store goes through the daemon.  For instance, command-line tools such as @command{guix package} and @command{guix build} communicate with the daemon (@i{via} remote procedure calls) to instruct it what to do."
msgstr "构建软件包或运行垃圾回收器之类的操作都是由一个特殊的进程代替客户执行的,即构建后台进程。只有这个进程可以访问仓库和相关的数据库。因此,所有修改仓库的操作都通过这个后台进程执行。例如,@command{guix package}和@command{guix build}之类的命令行工具通过和这个后台进程通信(通过远程过程调用)来指示它该做什么。"

#. type: Plain text
#: guix-git/doc/guix.texi:911
#, fuzzy
msgid "The following sections explain how to prepare the build daemon's environment.  @xref{Substitutes} for how to allow the daemon to download pre-built binaries."
msgstr "接下来的几个小节介绍如何准备“构建后台进程”的环境。参考@ref{Substitutes},了解怎样允许这个后台进程下载预构建好的二进制文件。"

#. type: cindex
#: guix-git/doc/guix.texi:921 guix-git/doc/guix.texi:1430
#, no-wrap
msgid "build environment"
msgstr "构建环境"

#. type: Plain text
#: guix-git/doc/guix.texi:929
msgid "In a standard multi-user setup, Guix and its daemon---the @command{guix-daemon} program---are installed by the system administrator; @file{/gnu/store} is owned by @code{root} and @command{guix-daemon} runs as @code{root}.  Unprivileged users may use Guix tools to build packages or otherwise access the store, and the daemon will do it on their behalf, ensuring that the store is kept in a consistent state, and allowing built packages to be shared among users."
msgstr "在一个标准的多用户设置里,Guix和它的后台进程--@command{guix-daemon}程序--是由@code{root}用户安装的,并且@command{guix-daemon}以@code{root}用户身份运行。无特权的用户可以用Guix的工具构建软件包或访问仓库,这个后台进程会代替用户进行这些操作,以确保仓库保持一致的状态,并且允许构建好的软件包可以在不同用户间共享。"

#. type: cindex
#: guix-git/doc/guix.texi:930
#, no-wrap
msgid "build users"
msgstr "构建用户"

#. type: Plain text
#: guix-git/doc/guix.texi:941
msgid "When @command{guix-daemon} runs as @code{root}, you may not want package build processes themselves to run as @code{root} too, for obvious security reasons.  To avoid that, a special pool of @dfn{build users} should be created for use by build processes started by the daemon.  These build users need not have a shell and a home directory: they will just be used when the daemon drops @code{root} privileges in build processes.  Having several such users allows the daemon to launch distinct build processes under separate UIDs, which guarantees that they do not interfere with each other---an essential feature since builds are regarded as pure functions (@pxref{Introduction})."
msgstr "当@command{guix-daemon}以@code{root}用户身份运行时,由于安全方面的考虑,你可能不希望软件包构建进程也以@code{root}用户身份运行。为了避免那样,我们需要创建一个@dfn{构建用户}池,以供后台进程启动的构建进程使用。这些构建用户不需要拥有shell和家目录:他们只会在后台进程为构建进程剥夺@code{root}特权时使用。拥有多个这类用户使后台进程可以以不同的UID启动不同的构建进程,这保证它们不会互相干扰--这是一个重要的功能,因为构建被视为纯函数(@pxref{Introduction})。"

#. type: Plain text
#: guix-git/doc/guix.texi:944
msgid "On a GNU/Linux system, a build user pool may be created like this (using Bash syntax and the @code{shadow} commands):"
msgstr "在一个GNU/Linux系统上,可以这样创建一个构建用户池(用bash语法和@code{shadow}命令):"

#. type: example
#: guix-git/doc/guix.texi:956
#, fuzzy, no-wrap
msgid ""
"# groupadd --system guixbuild\n"
"# for i in $(seq -w 1 10);\n"
"  do\n"
"    useradd -g guixbuild -G guixbuild           \\\n"
"            -d /var/empty -s $(which nologin)   \\\n"
"            -c \"Guix build user $i\" --system    \\\n"
"            guixbuilder$i;\n"
"  done\n"
msgstr ""
"# groupadd --system guixbuild\n"
"# for i in `seq -w 1 10`;\n"
"  do\n"
"    useradd -g guixbuild -G guixbuild           \\\n"
"            -d /var/empty -s `which nologin`    \\\n"
"            -c \"Guix build user $i\" --system    \\\n"
"            guixbuilder$i;\n"
"  done\n"

#. type: Plain text
#: guix-git/doc/guix.texi:966
msgid "The number of build users determines how many build jobs may run in parallel, as specified by the @option{--max-jobs} option (@pxref{Invoking guix-daemon, @option{--max-jobs}}).  To use @command{guix system vm} and related commands, you may need to add the build users to the @code{kvm} group so they can access @file{/dev/kvm}, using @code{-G guixbuild,kvm} instead of @code{-G guixbuild} (@pxref{Invoking guix system})."
msgstr "构建用户的数量决定了有多少个构建任务可以并行执行,即@option{--max-jobs}参数(@pxref{Invoking guix-daemon, @option{--max-jobs}})。为了使用@command{guix system vm}和相关的命令,你需要把构建用户添加到@code{kvm}用户组,以使它们访问@file{/dev/kvm}。为此,把@code{-G guixbuild}替换成@code{-G guixbuild,kvm}(@pxref{Invoking guix system})。"

#. type: Plain text
#: guix-git/doc/guix.texi:975
#, fuzzy
msgid "The @code{guix-daemon} program may then be run as @code{root} with the following command@footnote{If your machine uses the systemd init system, copying the @file{@var{prefix}/lib/systemd/system/guix-daemon.service} file to @file{/etc/systemd/system} will ensure that @command{guix-daemon} is automatically started.  Similarly, if your machine uses the Upstart init system, copy the @file{@var{prefix}/lib/upstart/system/guix-daemon.conf} file to @file{/etc/init}.}:"
msgstr "之后以@code{root}身份用下面的命令运行@code{guix-daemon}程序command@footnote{如果你的机器使用systemd init系统,把@file{@var{prefix}/lib/systemd/system/guix-daemon.service}文件复制到@file{/etc/systemd/system}文件夹里可以使@command{guix-daemon}自启动。类似的,如果你的机器使用Upstart init系统,把@file{@var{prefix}/lib/upstart/system/guix-daemon.conf}文件复制到@file{/etc/init}文件夹里}:"

#. type: example
#: guix-git/doc/guix.texi:978 guix-git/doc/guix.texi:1419
#, no-wrap
msgid "# guix-daemon --build-users-group=guixbuild\n"
msgstr "# guix-daemon --build-users-group=guixbuild\n"

#. type: cindex
#: guix-git/doc/guix.texi:980 guix-git/doc/guix.texi:1428
#, no-wrap
msgid "chroot"
msgstr "chroot"

#. type: Plain text
#: guix-git/doc/guix.texi:985
msgid "This way, the daemon starts build processes in a chroot, under one of the @code{guixbuilder} users.  On GNU/Linux, by default, the chroot environment contains nothing but:"
msgstr "这样,后台进程在一个chroot环境里,以一个@code{guixbuilder}用户组成员的身份启动构建进程。在GNU/Linux上,默认的,这个chroot环境仅包含这些东西:"

#. type: itemize
#: guix-git/doc/guix.texi:993
msgid "a minimal @code{/dev} directory, created mostly independently from the host @code{/dev}@footnote{``Mostly'', because while the set of files that appear in the chroot's @code{/dev} is fixed, most of these files can only be created if the host has them.};"
msgstr "一个和主机@code{/dev}独立的@footnote{大致这样,因为虽然chroot环境里的@code{/dev}包含的文件是固定的,大部分这些文件只有在主机有对应的文件时才能创建。},最小的@code{/dev}文件夹;"

#. type: itemize
#: guix-git/doc/guix.texi:997
msgid "the @code{/proc} directory; it only shows the processes of the container since a separate PID name space is used;"
msgstr "@code{/proc}文件夹;它只含有当前容器的进程,因为用了一个独立的进程PID命名空间;"

#. type: itemize
#: guix-git/doc/guix.texi:1001
msgid "@file{/etc/passwd} with an entry for the current user and an entry for user @file{nobody};"
msgstr "@file{/etc/passwd},仅包含当前用户和@file{nobody};"

#. type: itemize
#: guix-git/doc/guix.texi:1004
msgid "@file{/etc/group} with an entry for the user's group;"
msgstr "@file{/etc/group},包含用户的组;"

#. type: itemize
#: guix-git/doc/guix.texi:1008
msgid "@file{/etc/hosts} with an entry that maps @code{localhost} to @code{127.0.0.1};"
msgstr "@file{/etc/hosts},包含@code{localhost}映射到@code{127.0.0.1}的条目;"

#. type: itemize
#: guix-git/doc/guix.texi:1011
msgid "a writable @file{/tmp} directory."
msgstr "一个可写的@file{/tmp}文件夹。"

#. type: Plain text
#: guix-git/doc/guix.texi:1017
#, fuzzy
msgid "The chroot does not contain a @file{/home} directory, and the @env{HOME} environment variable is set to the non-existent @file{/homeless-shelter}.  This helps to highlight inappropriate uses of @env{HOME} in the build scripts of packages."
msgstr "chroot 不包含 @file{/home} 目录,@env{HOME} 环境变量被设置为不存在的 @file{/homeless-shelter}。这有助于突出包的构建脚本中 @env{HOME} 的不当使用。"

#. type: Plain text
#: guix-git/doc/guix.texi:1022
#, fuzzy
msgid "All this usually enough to ensure details of the environment do not influence build processes.  In some exceptional cases where more control is needed---typically over the date, kernel, or CPU---you can resort to a virtual build machine (@pxref{build-vm, virtual build machines})."
msgstr "所有这些通常足以确保环境的细节不会影响构建过程。在一些特殊情况下,当需要更多控制时——通常是对日期、内核或CPU的控制——您可以求助于虚拟构建机器(@pxref{build-vm, 虚拟构建机器})。"

#. type: Plain text
#: guix-git/doc/guix.texi:1030
#, fuzzy
msgid "You can influence the directory where the daemon stores build trees @i{via} the @env{TMPDIR} environment variable.  However, the build tree within the chroot is always called @file{/tmp/guix-build-@var{name}.drv-0}, where @var{name} is the derivation name---e.g., @code{coreutils-8.24}.  This way, the value of @env{TMPDIR} does not leak inside build environments, which avoids discrepancies in cases where build processes capture the name of their build tree."
msgstr "你可以@i{通过}@code{TMPDIR}环境变量修改后台进程保存构建树的位置。但是,chroot里的构建树总是在@file{/tmp/guix-build-@var{名字}.drv-0},@var{名字}是derivation的名字--如@code{coreutils-8.24}。这样,@code{TMPDIR}的值就不会泄漏到构建环境里,这可以避免由构建进程读取构建树名字引起的问题。"

#. type: vindex
#: guix-git/doc/guix.texi:1031 guix-git/doc/guix.texi:3923
#, no-wrap
msgid "http_proxy"
msgstr "http_proxy"

#. type: vindex
#: guix-git/doc/guix.texi:1032 guix-git/doc/guix.texi:3924
#, fuzzy, no-wrap
msgid "https_proxy"
msgstr "https_proxy"

#. type: Plain text
#: guix-git/doc/guix.texi:1037
#, fuzzy
msgid "The daemon also honors the @env{http_proxy} and @env{https_proxy} environment variables for HTTP and HTTPS downloads it performs, be it for fixed-output derivations (@pxref{Derivations}) or for substitutes (@pxref{Substitutes})."
msgstr "后台进程通过HTTP下载时还遵守@code{http_proxy}环境变量,无论是下载derivation(@pxref{Derivations}),还是下载substitute(@pxref{Substitutes})。"

#. type: Plain text
#: guix-git/doc/guix.texi:1045
#, fuzzy
msgid "If you are installing Guix as an unprivileged user, it is still possible to run @command{guix-daemon} provided you pass @option{--disable-chroot}.  However, build processes will not be isolated from one another, and not from the rest of the system.  Thus, build processes may interfere with each other, and may access programs, libraries, and other files available on the system---making it much harder to view them as @emph{pure} functions."
msgstr "如果你是以无特权的用户的身份安装Guix,你仍可以运行@command{guix-daemon},只要添加@code{--disable-chroot}参数就行了。但是,构建进程不会互相隔离,也不会和系统的其它部分隔离。因此,构建进程有可能互相干扰,可以访问程序、库和系统上的其它文件--这样就很难把它看作@emph{纯}函数。"

#. type: subsection
#: guix-git/doc/guix.texi:1048
#, no-wrap
msgid "Using the Offload Facility"
msgstr "使用任务下发设施"

#. type: cindex
#: guix-git/doc/guix.texi:1050 guix-git/doc/guix.texi:1489
#, no-wrap
msgid "offloading"
msgstr "下发"

#. type: cindex
#: guix-git/doc/guix.texi:1051
#, no-wrap
msgid "build hook"
msgstr "构建钩子"

#. type: Plain text
#: guix-git/doc/guix.texi:1070
#, fuzzy
msgid "When desired, the build daemon can @dfn{offload} derivation builds to other machines running Guix, using the @code{offload} @dfn{build hook}@footnote{This feature is available only when @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} is present.}.  When that feature is enabled, a list of user-specified build machines is read from @file{/etc/guix/machines.scm}; every time a build is requested, for instance via @code{guix build}, the daemon attempts to offload it to one of the machines that satisfy the constraints of the derivation, in particular its system types---e.g., @code{x86_64-linux}.  A single machine can have multiple system types, either because its architecture natively supports it, via emulation (@pxref{transparent-emulation-qemu, Transparent Emulation with QEMU}), or both.  Missing prerequisites for the build are copied over SSH to the target machine, which then proceeds with the build; upon success the output(s) of the build are copied back to the initial machine.  The offload facility comes with a basic scheduler that attempts to select the best machine.  The best machine is chosen among the available machines based on criteria such as:"
msgstr "当需要时,构建后台进程可以把构建derivation的任务@dfn{下发}给其它运行Guix的机器,这通过@code{下发} @dfn{构建钩子}实现@footnote{这个功能只有当@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}存在时才可用。}。当那个功能被启用时,会从@file{/etc/guix/machines.scm}读取一列用户指定的机器;每次发送构建请求时,如执行@code{guix build},后台进程尝试把它下发到某一台满足derivation的约束(特别是系统类型--如@file{x86_64-linux})的机器上。缺少的必备构建依赖通过SSH复制到目标机器,然后继续构建;成功后,构建输出的结果被复制回初始的机器上。"

#. type: enumerate
#: guix-git/doc/guix.texi:1076
#, fuzzy
msgid "The availability of a build slot.  A build machine can have as many build slots (connections) as the value of the @code{parallel-builds} field of its @code{build-machine} object."
msgstr "构建插槽的可用性。构建机器可以拥有与其@code{build-machine}对象的@code{parallel-builds}字段值相同数量的构建插槽(连接)。"

#. type: enumerate
#: guix-git/doc/guix.texi:1080
#, fuzzy
msgid "Its relative speed, as defined via the @code{speed} field of its @code{build-machine} object."
msgstr "其相对速度,通过其@code{build-machine}对象的@code{speed}字段定义。"

#. type: enumerate
#: guix-git/doc/guix.texi:1085
#, fuzzy
msgid "Its load.  The normalized machine load must be lower than a threshold value, configurable via the @code{overload-threshold} field of its @code{build-machine} object."
msgstr "其负载。标准化的机器负载必须低于一个阈值,该阈值可以通过其@code{build-machine}对象的@code{overload-threshold}字段进行配置。"

#. type: enumerate
#: guix-git/doc/guix.texi:1088
#, fuzzy
msgid "Disk space availability.  More than a 100 MiB must be available."
msgstr "磁盘空间的可用性。必须有超过100 MiB的可用空间。"

#. type: Plain text
#: guix-git/doc/guix.texi:1091
msgid "The @file{/etc/guix/machines.scm} file typically looks like this:"
msgstr "@file{/etc/guix/machines.scm}文件通常是这样的:"

#. type: lisp
#: guix-git/doc/guix.texi:1099
#, fuzzy, no-wrap
msgid ""
"(list (build-machine\n"
"        (name \"eightysix.example.org\")\n"
"        (systems (list \"x86_64-linux\" \"i686-linux\"))\n"
"        (host-key \"ssh-ed25519 AAAAC3Nza@dots{}\")\n"
"        (user \"bob\")\n"
"        (speed 2.))     ;incredibly fast!\n"
"\n"
msgstr ""
"(list (build-machine\n"
"        (name \"eightysix.example.org\")\n"
"        (system \"x86_64-linux\")\n"
"        (host-key \"ssh-ed25519 AAAAC3Nza@dots{}\")\n"
"        (user \"bob\")\n"
"        (speed 2.))     ;非常快!\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:1105
#, no-wrap
msgid ""
"      (build-machine\n"
"        (name \"armeight.example.org\")\n"
"        (systems (list \"aarch64-linux\"))\n"
"        (host-key \"ssh-rsa AAAAB3Nza@dots{}\")\n"
"        (user \"alice\")\n"
"\n"
msgstr ""
"      (build-machine\n"
"        (name \"armeight.example.org\")\n"
"        (systems (list \"aarch64-linux\"))\n"
"        (host-key \"ssh-rsa AAAAB3Nza@dots{}\")\n"
"        (user \"alice\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:1109
#, fuzzy, no-wrap
msgid ""
"        ;; Remember 'guix offload' is spawned by\n"
"        ;; 'guix-daemon' as root.\n"
"        (private-key \"/root/.ssh/identity-for-guix\")))\n"
msgstr ""
"        ;; 请记住,'guix offload'是由\n"
"        ;; 'guix-daemon'作为root用户生成的。\n"
"        (private-key \"/root/.ssh/identity-for-guix\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1115
#, fuzzy
msgid "In the example above we specify a list of two build machines, one for the @code{x86_64} and @code{i686} architectures and one for the @code{aarch64} architecture."
msgstr "在上面的例子里,我们指定了一个包含两个构建机器的列表,一个是@code{x86_64}架构,一个是@code{mips64el}架构。"

#. type: Plain text
#: guix-git/doc/guix.texi:1124
msgid "In fact, this file is---not surprisingly!---a Scheme file that is evaluated when the @code{offload} hook is started.  Its return value must be a list of @code{build-machine} objects.  While this example shows a fixed list of build machines, one could imagine, say, using DNS-SD to return a list of potential build machines discovered in the local network (@pxref{Introduction, Guile-Avahi,, guile-avahi, Using Avahi in Guile Scheme Programs}).  The @code{build-machine} data type is detailed below."
msgstr "事实上,这个文件--并不意外地--是一个Scheme文件,当@code{下发}钩子被启动时执行。它的返回值必须是一个包含@code{build-machine}对象的列表。虽然这个例子展示的是一个固定的列表,你可以想象,使用DNS-SD来返回一个包含从局域网内发现的构建机器的列表,@pxref{Introduction, Guile-Avahi,, guile-avahi, 在Guile Scheme程序里使用Avahi}。@code{build-machine}数据类型的详细信息如下。"

#. type: deftp
#: guix-git/doc/guix.texi:1125
#, no-wrap
msgid "{Data Type} build-machine"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:1128
msgid "This data type represents build machines to which the daemon may offload builds.  The important fields are:"
msgstr "这个数据类型表示后台进程可以下发构建任务的构建机器。重要的项有:"

#. type: code{#1}
#: guix-git/doc/guix.texi:1131 guix-git/doc/guix.texi:7873
#: guix-git/doc/guix.texi:8942 guix-git/doc/guix.texi:18758
#: guix-git/doc/guix.texi:18857 guix-git/doc/guix.texi:19104
#: guix-git/doc/guix.texi:21454 guix-git/doc/guix.texi:22388
#: guix-git/doc/guix.texi:22716 guix-git/doc/guix.texi:27283
#: guix-git/doc/guix.texi:30491 guix-git/doc/guix.texi:32032
#: guix-git/doc/guix.texi:32829 guix-git/doc/guix.texi:33241
#: guix-git/doc/guix.texi:33296 guix-git/doc/guix.texi:35563
#: guix-git/doc/guix.texi:38769 guix-git/doc/guix.texi:38807
#: guix-git/doc/guix.texi:42025 guix-git/doc/guix.texi:42042
#: guix-git/doc/guix.texi:43755 guix-git/doc/guix.texi:45926
#: guix-git/doc/guix.texi:46291 guix-git/doc/guix.texi:50623
#, no-wrap
msgid "name"
msgstr "名字"

#. type: table
#: guix-git/doc/guix.texi:1133
msgid "The host name of the remote machine."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:1134
#, fuzzy, no-wrap
msgid "systems"
msgstr "系统"

#. type: table
#: guix-git/doc/guix.texi:1137
#, fuzzy
msgid "The system types the remote machine supports---e.g., @code{(list \"x86_64-linux\" \"i686-linux\")}."
msgstr "远程机器的系统类型--如,@code{\"x86_64-linux\"}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:1138 guix-git/doc/guix.texi:22398
#, no-wrap
msgid "user"
msgstr "user"

#. type: table
#: guix-git/doc/guix.texi:1142
#, fuzzy
msgid "The user account on the remote machine to use when connecting over SSH.  Note that the SSH key pair must @emph{not} be passphrase-protected, to allow non-interactive logins."
msgstr "通过SSH连接远程机器时使用的用户帐号。注意,SSH密钥@emph{不}能被密码保护,以支持无交互的登录。"

#. type: item
#: guix-git/doc/guix.texi:1143
#, no-wrap
msgid "host-key"
msgstr "主机公钥"

#. type: table
#: guix-git/doc/guix.texi:1147
msgid "This must be the machine's SSH @dfn{public host key} in OpenSSH format.  This is used to authenticate the machine when we connect to it.  It is a long string that looks like this:"
msgstr "这必须是机器的OpenSSH格式的SSH@dfn{公钥}。这是用来在连接机器时认证身份的。它是一个像这样的长字符串:"

#. type: example
#: guix-git/doc/guix.texi:1150
#, no-wrap
msgid "ssh-ed25519 AAAAC3NzaC@dots{}mde+UhL hint@@example.org\n"
msgstr "ssh-ed25519 AAAAC3NzaC@dots{}mde+UhL hint@@example.org\n"

#. type: table
#: guix-git/doc/guix.texi:1155
msgid "If the machine is running the OpenSSH daemon, @command{sshd}, the host key can be found in a file such as @file{/etc/ssh/ssh_host_ed25519_key.pub}."
msgstr "如果这个机器正在运行OpenSSH后台进程,@command{sshd},那么主机公钥可以在@file{/etc/ssh/ssh_host_ed25519_key.pub}找到。"

#. type: table
#: guix-git/doc/guix.texi:1160
msgid "If the machine is running the SSH daemon of GNU@tie{}lsh, @command{lshd}, the host key is in @file{/etc/lsh/host-key.pub} or a similar file.  It can be converted to the OpenSSH format using @command{lsh-export-key} (@pxref{Converting keys,,, lsh, LSH Manual}):"
msgstr "如果这个机器正在运行GNU@tie{}lsh,@command{lshd},那么主机公钥可以在@file{/etc/lsh/host-key.pub}或类似的位置找到。它可以通过@command{lsh-export-key}命令转换成OpenSSH格式(@pxref{Converting keys,,, lsh, LSH用户手册}):"

#. type: example
#: guix-git/doc/guix.texi:1164
#, fuzzy, no-wrap
msgid ""
"$ lsh-export-key --openssh < /etc/lsh/host-key.pub\n"
"ssh-rsa AAAAB3NzaC1yc2EAAAAEOp8FoQAAAQEAs1eB46LV@dots{}\n"
msgstr ""
"$ lsh-export-key --openssh < /etc/lsh/host-key.pub \n"
"ssh-rsa AAAAB3NzaC1yc2EAAAAEOp8FoQAAAQEAs1eB46LV@dots{}\n"

#. type: deftp
#: guix-git/doc/guix.texi:1169
msgid "A number of optional fields may be specified:"
msgstr "一些可选的项:"

#. type: item
#: guix-git/doc/guix.texi:1172 guix-git/doc/guix.texi:45273
#, no-wrap
msgid "@code{port} (default: @code{22})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:1174
msgid "Port number of SSH server on the machine."
msgstr "机器上的SSH服务器的端口号。"

#. type: item
#: guix-git/doc/guix.texi:1175
#, no-wrap
msgid "@code{private-key} (default: @file{~root/.ssh/id_rsa})"
msgstr "@code{private-key}(默认值:@file{~root/.ssh/id_rsa})"

#. type: table
#: guix-git/doc/guix.texi:1178
msgid "The SSH private key file to use when connecting to the machine, in OpenSSH format.  This key must not be protected with a passphrase."
msgstr "连接机器时使用的SSH私钥,OpenSSH格式。这个私钥不能被密码保护。"

#. type: table
#: guix-git/doc/guix.texi:1181
msgid "Note that the default value is the private key @emph{of the root account}.  Make sure it exists if you use the default."
msgstr "注意,默认值是@emph{root帐号}的私钥。使用默认值时请确保它存在。"

#. type: item
#: guix-git/doc/guix.texi:1182
#, no-wrap
msgid "@code{compression} (default: @code{\"zlib@@openssh.com,zlib\"})"
msgstr "@code{compression}(默认值:@code{\"zlib@@openssh.com,zlib\"})"

#. type: itemx
#: guix-git/doc/guix.texi:1183
#, no-wrap
msgid "@code{compression-level} (default: @code{3})"
msgstr "@code{compression-level}(默认值:@code{3})"

#. type: table
#: guix-git/doc/guix.texi:1185
msgid "The SSH-level compression methods and compression level requested."
msgstr "SSH压缩算法和压缩级别。"

#. type: table
#: guix-git/doc/guix.texi:1188
msgid "Note that offloading relies on SSH compression to reduce bandwidth usage when transferring files to and from build machines."
msgstr "下发任务依赖SSH压缩来减少传输文件到构建机器时使用的带宽。"

#. type: item
#: guix-git/doc/guix.texi:1189
#, no-wrap
msgid "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:1192
msgid "File name of the Unix-domain socket @command{guix-daemon} is listening to on that machine."
msgstr "那台机器上的@command{guix-daemon}监听的Unix套接字文件名。"

#. type: item
#: guix-git/doc/guix.texi:1193
#, fuzzy, no-wrap
msgid "@code{overload-threshold} (default: @code{0.8})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:1199
#, fuzzy
msgid "The load threshold above which a potential offload machine is disregarded by the offload scheduler.  The value roughly translates to the total processor usage of the build machine, ranging from 0.0 (0%) to 1.0 (100%).  It can also be disabled by setting @code{overload-threshold} to @code{#f}."
msgstr "超出负载阈值的潜在卸载机器将被卸载调度程序忽略。该值大致转换为构建机器的总处理器使用率,范围从0.0(0%)到1.0(100%)。也可以通过将@code{overload-threshold}设置为@code{#f}来禁用。"

#. type: item
#: guix-git/doc/guix.texi:1200
#, no-wrap
msgid "@code{parallel-builds} (default: @code{1})"
msgstr "@code{parallel-builds}(默认值:@code{1})"

#. type: table
#: guix-git/doc/guix.texi:1202
msgid "The number of builds that may run in parallel on the machine."
msgstr "那台机器上可以并行运行的构建任务数量。"

#. type: item
#: guix-git/doc/guix.texi:1203
#, no-wrap
msgid "@code{speed} (default: @code{1.0})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:1206
msgid "A ``relative speed factor''.  The offload scheduler will tend to prefer machines with a higher speed factor."
msgstr "一个相对的速度值。下发调度器会偏好速度更快的机器。"

#. type: item
#: guix-git/doc/guix.texi:1207
#, no-wrap
msgid "@code{features} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:1212
msgid "A list of strings denoting specific features supported by the machine.  An example is @code{\"kvm\"} for machines that have the KVM Linux modules and corresponding hardware support.  Derivations can request features by name, and they will be scheduled on matching build machines."
msgstr "一个表示机器支持的功能的字符串列表。例如,@code{\"kvm\"}表示机器有KVM Linux模块和相关的硬件支持。Derivation可以通过名字请求需要的功能,然后被分发到匹配的机器的任务队列里。"

#. type: quotation
#: guix-git/doc/guix.texi:1222
#, fuzzy
msgid "On Guix System, instead of managing @file{/etc/guix/machines.scm} independently, you can choose to specify build machines directly in the @code{operating-system} declaration, in the @code{build-machines} field of @code{guix-configuration}.  @xref{guix-configuration-build-machines, @code{build-machines} field of @code{guix-configuration}}."
msgstr "在Guix系统上,您可以选择直接在@code{operating-system}声明中指定构建机器,而不是独立管理@file{/etc/guix/machines.scm},在@code{guix-configuration}的@code{build-machines}字段中。@xref{guix-configuration-build-machines, @code{guix-configuration}的@code{build-machines}字段}。"

#. type: Plain text
#: guix-git/doc/guix.texi:1226
msgid "The @command{guix} command must be in the search path on the build machines.  You can check whether this is the case by running:"
msgstr "@command{guix}命令必须在构建机器的搜素路径里。你可以通过这个命令检查:"

#. type: example
#: guix-git/doc/guix.texi:1229
#, no-wrap
msgid "ssh build-machine guix repl --version\n"
msgstr "ssh build-machine guix repl --version\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1236
msgid "There is one last thing to do once @file{machines.scm} is in place.  As explained above, when offloading, files are transferred back and forth between the machine stores.  For this to work, you first need to generate a key pair on each machine to allow the daemon to export signed archives of files from the store (@pxref{Invoking guix archive}):"
msgstr "@file{machines.scm}到位后,还有一件要做的事。如上所述,下发任务时会在机器的仓库之间传输文件。为此,你需要在每台机器上生成一个密钥对,以使后台进程可以从仓库导出签名后的文件包(@pxref{Invoking guix archive}):"

#. type: example
#: guix-git/doc/guix.texi:1239 guix-git/doc/guix.texi:45177
#, no-wrap
msgid "# guix archive --generate-key\n"
msgstr "# guix archive --generate-key\n"

#. type: quotation
#: guix-git/doc/guix.texi:1244
#, fuzzy
msgid "This key pair is not related to the SSH key pair that was previously mentioned in the description of the @code{build-machine} data type."
msgstr "此密钥对与之前在@code{build-machine}数据类型描述中提到的SSH密钥对无关。"

#. type: Plain text
#: guix-git/doc/guix.texi:1249
msgid "Each build machine must authorize the key of the master machine so that it accepts store items it receives from the master:"
msgstr "每台构建机器都必须认证主机器的公钥,从而接收从主机器接收的仓库文件:"

#. type: example
#: guix-git/doc/guix.texi:1252
#, no-wrap
msgid "# guix archive --authorize < master-public-key.txt\n"
msgstr "# guix archive --authorize < master-public-key.txt\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1256
msgid "Likewise, the master machine must authorize the key of each build machine."
msgstr "类似的,主机器必须认证每台构建机器的公钥:"

#. type: Plain text
#: guix-git/doc/guix.texi:1262
msgid "All the fuss with keys is here to express pairwise mutual trust relations between the master and the build machines.  Concretely, when the master receives files from a build machine (and @i{vice versa}), its build daemon can make sure they are genuine, have not been tampered with, and that they are signed by an authorized key."
msgstr "所有这些有关公钥的繁琐事宜都是为了表达主服务器和构建服务器之间成对的互相信任关系。具体地,当主机器从构建机器接收文件时(反之亦然),它的构建后台进程可以确保文件是原样的,没有被篡改,并且被认证的公钥签名过。"

#. type: cindex
#: guix-git/doc/guix.texi:1263
#, no-wrap
msgid "offload test"
msgstr "下发测试"

#. type: Plain text
#: guix-git/doc/guix.texi:1266
msgid "To test whether your setup is operational, run this command on the master node:"
msgstr "为了测试你的设置是否能正常工作,在主节点上运行这个命令:"

#. type: example
#: guix-git/doc/guix.texi:1269
#, no-wrap
msgid "# guix offload test\n"
msgstr "# guix offload test\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1275
#, fuzzy
msgid "This will attempt to connect to each of the build machines specified in @file{/etc/guix/machines.scm}, make sure Guix is available on each machine, attempt to export to the machine and import from it, and report any error in the process."
msgstr "这会尝试连接每台在@file{/etc/guix/machines.scm}里指定的构建机器,确保Guile和Guix模块在每台机器上都可用,尝试导出到这些机器和从这些机器导入,并且报告这个过程中遇到的任何错误。"

#. type: Plain text
#: guix-git/doc/guix.texi:1278
msgid "If you want to test a different machine file, just specify it on the command line:"
msgstr "如果你希望用别的文件测试,只需要在命令行指定它:"

#. type: example
#: guix-git/doc/guix.texi:1281
#, no-wrap
msgid "# guix offload test machines-qualif.scm\n"
msgstr "# guix offload test machines-qualif.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1285
msgid "Last, you can test the subset of the machines whose name matches a regular expression like this:"
msgstr "最后,你可以像这样只测试机器列表里名字匹配某个正则表达式的子集:"

#. type: example
#: guix-git/doc/guix.texi:1288
#, no-wrap
msgid "# guix offload test machines.scm '\\.gnu\\.org$'\n"
msgstr "# guix offload test machines.scm '\\.gnu\\.org$'\n"

#. type: cindex
#: guix-git/doc/guix.texi:1290
#, no-wrap
msgid "offload status"
msgstr "下发状态"

#. type: Plain text
#: guix-git/doc/guix.texi:1293
msgid "To display the current load of all build hosts, run this command on the main node:"
msgstr "若想展示所有构建主机的当前负载,在主节点上运行这个命令:"

#. type: example
#: guix-git/doc/guix.texi:1296
#, no-wrap
msgid "# guix offload status\n"
msgstr "# guix offload status\n"

#. type: cindex
#: guix-git/doc/guix.texi:1302
#, no-wrap
msgid "SELinux, daemon policy"
msgstr "SELinux,后台进程策略"

#. type: cindex
#: guix-git/doc/guix.texi:1303
#, no-wrap
msgid "mandatory access control, SELinux"
msgstr "强制访问控制,SELinux"

#. type: cindex
#: guix-git/doc/guix.texi:1304
#, no-wrap
msgid "security, guix-daemon"
msgstr "安全,guix-daemon"

#. type: Plain text
#: guix-git/doc/guix.texi:1310
msgid "Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that can be installed on a system where SELinux is enabled, in order to label Guix files and to specify the expected behavior of the daemon.  Since Guix System does not provide an SELinux base policy, the daemon policy cannot be used on Guix System."
msgstr "Guix附带一个SELinux策略文件,位置在@file{etc/guix-daemon.cil},它可以在启用SELinux的系统上安装,为Guix的文件添加标签及指定后台进程的期望行为。由于Guix系统不提供SELinux基础策略,这个后台进程策略不能在Guix系统上使用。"

#. type: subsubsection
#: guix-git/doc/guix.texi:1311
#, no-wrap
msgid "Installing the SELinux policy"
msgstr "安装SELinux策略"

#. type: cindex
#: guix-git/doc/guix.texi:1312
#, no-wrap
msgid "SELinux, policy installation"
msgstr "SELinux,安装策略"

#. type: quotation
#: guix-git/doc/guix.texi:1317
#, fuzzy
msgid "The @code{guix-install.sh} binary installation script offers to perform the steps below for you (@pxref{Binary Installation})."
msgstr "@code{guix-install.sh}二进制安装脚本提供为您执行以下步骤的选项(@pxref{Binary Installation})。"

#. type: Plain text
#: guix-git/doc/guix.texi:1320
msgid "To install the policy run this command as root:"
msgstr "用root用户执行这个命令以安装策略:"

#. type: example
#: guix-git/doc/guix.texi:1323
#, fuzzy, no-wrap
msgid "semodule -i /var/guix/profiles/per-user/root/current-guix/share/selinux/guix-daemon.cil\n"
msgstr ""
"# mkdir -p /usr/local/bin\n"
"# cd /usr/local/bin\n"
"# ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1327
#, fuzzy
msgid "Then, as root, relabel the file system, possibly after making it writable:"
msgstr "然后,作为root用户,重新标记文件系统,可能在使其可写之后:"

#. type: example
#: guix-git/doc/guix.texi:1331
#, fuzzy, no-wrap
msgid ""
"mount -o remount,rw /gnu/store\n"
"restorecon -R /gnu /var/guix\n"
msgstr ""
"mount -o remount,rw /gnu/store\n"
"restorecon -R /gnu /var/guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1336
#, fuzzy
msgid "At this point you can start or restart @command{guix-daemon}; on a distribution that uses systemd as its service manager, you can do that with:"
msgstr "此时,您可以启动或重启@command{guix-daemon};在使用systemd作为其服务管理器的发行版上,您可以通过以下方式进行:"

#. type: example
#: guix-git/doc/guix.texi:1339
#, fuzzy, no-wrap
msgid "systemctl restart guix-daemon\n"
msgstr "semodule -i etc/guix-daemon.cil\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1345
msgid "Once the policy is installed, the file system has been relabeled, and the daemon has been restarted, it should be running in the @code{guix_daemon_t} context.  You can confirm this with the following command:"
msgstr "一旦安装好策略,为文件系统重新打好标签,并且重启了后台进程,它应该在@code{guix_daemon_t}环境里运行。你可以用下面这个命令确认:"

#. type: example
#: guix-git/doc/guix.texi:1348
#, no-wrap
msgid "ps -Zax | grep guix-daemon\n"
msgstr "ps -Zax | grep guix-daemon\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1353
msgid "Monitor the SELinux log files as you run a command like @code{guix build hello} to convince yourself that SELinux permits all necessary operations."
msgstr "运行@code{guix build hello}之类的命令并监控SELinux日志以说服你自己SELinux允许所有的操作。"

#. type: cindex
#: guix-git/doc/guix.texi:1355
#, no-wrap
msgid "SELinux, limitations"
msgstr "SELinux,限制"

#. type: Plain text
#: guix-git/doc/guix.texi:1360
msgid "This policy is not perfect.  Here is a list of limitations or quirks that should be considered when deploying the provided SELinux policy for the Guix daemon."
msgstr "这个策略不是完美的。这里有一个关于限制和缺陷的列表,当为Guix后台进程部署提供的SELinux策略时该认真考虑。"

#. type: enumerate
#: guix-git/doc/guix.texi:1367
#, fuzzy
msgid "@code{guix_daemon_socket_t} isn’t actually used.  None of the socket operations involve contexts that have anything to do with @code{guix_daemon_socket_t}.  It doesn’t hurt to have this unused label, but it would be preferable to define socket rules for only this label."
msgstr "@code{guix_daemon_socket_t}没有被实际使用。所有的套接字操作都和@code{guix_daemon_socket_t}没有任何关系。存在这个没被使用的标签并不碍事,但是为这个标签定义套接字规则是更好的选择。"

#. type: enumerate
#: guix-git/doc/guix.texi:1378
#, fuzzy
msgid "@code{guix gc} cannot access arbitrary links to profiles.  By design, the file label of the destination of a symlink is independent of the file label of the link itself.  Although all profiles under @file{$localstatedir} are labelled, the links to these profiles inherit the label of the directory they are in.  For links in the user’s home directory this will be @code{user_home_t}.  But for links from the root user’s home directory, or @file{/tmp}, or the HTTP server’s working directory, etc, this won’t work.  @code{guix gc} would be prevented from reading and following these links."
msgstr "@code{guix gc}不可以任意访问指向profile的链接。由于设计的原因,符号链接的目标的文件标签和符号链接本身的文件标签是不同的。尽管$localstatedir里的所有profile都被打上了标签,指向这些profile的符号链接继承它们所在的文件夹的标签。对于普通用户的家目录里的链接,标签是@code{user_home_t}。但是对于root用户的家目录,或@file{/tmp},或HTTP服务器的工作目录等文件夹里的链接不是这样。@code{guix gc}会被阻止读取和跟随这些链接。"

#. type: enumerate
#: guix-git/doc/guix.texi:1383
msgid "The daemon’s feature to listen for TCP connections might no longer work.  This might require extra rules, because SELinux treats network sockets differently from files."
msgstr "后台进程监听TCP连接的功能不再可用。这可能需要额外的规则,因为SELinux区别对待网络套接字和文件。"

#. type: enumerate
#: guix-git/doc/guix.texi:1394
msgid "Currently all files with a name matching the regular expression @code{/gnu/store/.+-(guix-.+|profile)/bin/guix-daemon} are assigned the label @code{guix_daemon_exec_t}; this means that @emph{any} file with that name in any profile would be permitted to run in the @code{guix_daemon_t} domain.  This is not ideal.  An attacker could build a package that provides this executable and convince a user to install and run it, which lifts it into the @code{guix_daemon_t} domain.  At that point SELinux could not prevent it from accessing files that are allowed for processes in that domain."
msgstr "目前,所有匹配正则表达式@code{/gnu/store/.+-(guix-.+|profile)/bin/guix-daemon}的文件都被赋予@code{guix_daemon_exec_t}标签;这意味着@emph{任何}profile里的任何有这样名字的的文件都会被允许在@code{guix_daemon_t}域里执行。这不够理想。一个攻击者可以构建提供这个可执行程序的软件包,并说服一个用户安装、运行它,以此进入@code{guix_daemon_t}域。那时,SELinux无法阻止它访问所在域的进程可以访问的文件。"

#. type: enumerate
#: guix-git/doc/guix.texi:1399
#, fuzzy
msgid "You will need to relabel the store directory after all upgrades to @file{guix-daemon}, such as after running @code{guix pull}.  Assuming the store is in @file{/gnu}, you can do this with @code{restorecon -vR /gnu}, or by other means provided by your operating system."
msgstr "在对 @file{guix-daemon} 进行所有升级后,例如运行 @code{guix pull} 后,您需要重新标记存储目录。假设存储在 @file{/gnu} 中,您可以使用 @code{restorecon -vR /gnu} 来完成此操作,或者使用操作系统提供的其他方法。"

#. type: enumerate
#: guix-git/doc/guix.texi:1407
msgid "We could generate a much more restrictive policy at installation time, so that only the @emph{exact} file name of the currently installed @code{guix-daemon} executable would be labelled with @code{guix_daemon_exec_t}, instead of using a broad regular expression.  The downside is that root would have to install or upgrade the policy at installation time whenever the Guix package that provides the effectively running @code{guix-daemon} executable is upgraded."
msgstr "我们可以在安装时生成一个更严格的策略,仅当前安装的@code{guix-daemon}的@emph{精确的}的文件名会被打上@code{guix_daemon_exec_t}标签,而不是用一个宽泛的正则表达式。这样的缺点是root必须在每次安装提供@code{guix-daemon}的Guix软件包时安装或升级策略。"

#. type: section
#: guix-git/doc/guix.texi:1410
#, no-wrap
msgid "Invoking @command{guix-daemon}"
msgstr "调用@command{guix-daemon}"

#. type: command{#1}
#: guix-git/doc/guix.texi:1411
#, no-wrap
msgid "guix-daemon"
msgstr "guix-daemon"

#. type: Plain text
#: guix-git/doc/guix.texi:1416
msgid "The @command{guix-daemon} program implements all the functionality to access the store.  This includes launching build processes, running the garbage collector, querying the availability of a build result, etc.  It is normally run as @code{root} like this:"
msgstr "@command{guix-daemon}程序实现了所有访问仓库的功能。包括启动构建进程,运行垃圾回收器,查询构建结果,等。它通常以@code{root}身份运行:"

#. type: cindex
#: guix-git/doc/guix.texi:1421
#, fuzzy, no-wrap
msgid "socket activation, for @command{guix-daemon}"
msgstr "调用@command{guix-daemon}"

#. type: Plain text
#: guix-git/doc/guix.texi:1425
#, fuzzy
msgid "This daemon can also be started following the systemd ``socket activation'' protocol (@pxref{Service De- and Constructors, @code{make-systemd-constructor},, shepherd, The GNU Shepherd Manual})."
msgstr "此守护进程还可以按照 systemd 的“套接字激活”协议启动(@pxref{服务去构造器和构造器, @code{make-systemd-constructor},, shepherd, GNU Shepherd 手册})。"

#. type: Plain text
#: guix-git/doc/guix.texi:1427
msgid "For details on how to set it up, @pxref{Setting Up the Daemon}."
msgstr "关于如何设置它,@pxref{Setting Up the Daemon}。"

#. type: cindex
#: guix-git/doc/guix.texi:1429
#, no-wrap
msgid "container, build environment"
msgstr "容器,构建环境"

#. type: cindex
#: guix-git/doc/guix.texi:1431 guix-git/doc/guix.texi:2987
#: guix-git/doc/guix.texi:3904 guix-git/doc/guix.texi:16463
#, no-wrap
msgid "reproducible builds"
msgstr "可复现的构建"

#. type: Plain text
#: guix-git/doc/guix.texi:1443
#, fuzzy
msgid "By default, @command{guix-daemon} launches build processes under different UIDs, taken from the build group specified with @option{--build-users-group}.  In addition, each build process is run in a chroot environment that only contains the subset of the store that the build process depends on, as specified by its derivation (@pxref{Programming Interface, derivation}), plus a set of specific system directories.  By default, the latter contains @file{/dev} and @file{/dev/pts}.  Furthermore, on GNU/Linux, the build environment is a @dfn{container}: in addition to having its own file system tree, it has a separate mount name space, its own PID name space, network name space, etc.  This helps achieve reproducible builds (@pxref{Features})."
msgstr "默认情况下,@command{guix-daemon}用不同的UID启动构建进程,这些用户是从@code{--build-users-group}参数指定的用户组里获取的。并且,每个构建进程都在一个chroot环境里运行,这个环境只包含构建进程依赖的仓库的子集(由derivation(@pxref{Programming Interface, derivation})的内容决定),以及一些系统文件夹。默认情况下,后者包含@file{/dev}和@file{/dev/pts}。并且,在GNU/Linux上,构建环境是一个@dfn{容器}:它不仅有自己的文件系统树,还有独立的挂载命名空间,独立的PID命名空间,网络命名空间,等。这帮助实现可复现构建的目的(@pxref{Features})。"

#. type: Plain text
#: guix-git/doc/guix.texi:1449
#, fuzzy
msgid "When the daemon performs a build on behalf of the user, it creates a build directory under @file{/tmp} or under the directory specified by its @env{TMPDIR} environment variable.  This directory is shared with the container for the duration of the build, though within the container, the build tree is always called @file{/tmp/guix-build-@var{name}.drv-0}."
msgstr "当后台进程代替用户执行构建时,它在@file{/tmp}或@code{TMPDIR}环境变量指定的文件夹里创建一个文件夹。在构建期间,这个文件夹被共享给容器,然而容器内,这个构建树总是叫做@file{/tmp/guix-build-@var{name}.drv-0}。"

#. type: Plain text
#: guix-git/doc/guix.texi:1453
#, fuzzy
msgid "The build directory is automatically deleted upon completion, unless the build failed and the client specified @option{--keep-failed} (@pxref{Common Build Options, @option{--keep-failed}})."
msgstr "结束时构建文件夹就被自动删除了,除非构建失败并且客户端指定了@option{--keep-failed}参数(@pxref{Invoking guix build, @option{--keep-failed}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:1459
#, fuzzy
msgid "The daemon listens for connections and spawns one sub-process for each session started by a client (one of the @command{guix} sub-commands).  The @command{guix processes} command allows you to get an overview of the activity on your system by viewing each of the active sessions and clients.  @xref{Invoking guix processes}, for more information."
msgstr "后台进程监听连接并且为每个客户端(@command{guix}的子命令)启动的会话生成一个子进程。@command{guix processes}命令允许你获取系统上的活动的概况,浏览每个活动会话和客户端。@xref{Invoking guix processes},以了解更多信息。"

#. type: Plain text
#: guix-git/doc/guix.texi:1461
msgid "The following command-line options are supported:"
msgstr "下面这些命令行选项受支持:"

#. type: item
#: guix-git/doc/guix.texi:1463
#, no-wrap
msgid "--build-users-group=@var{group}"
msgstr "--build-users-group=@var{用户组}"

#. type: table
#: guix-git/doc/guix.texi:1466
msgid "Take users from @var{group} to run build processes (@pxref{Setting Up the Daemon, build users})."
msgstr "这会从@var{用户组}里选取用户,以运行构建进程(@pxref{Setting Up the Daemon,构建用户})。"

#. type: item
#: guix-git/doc/guix.texi:1467 guix-git/doc/guix.texi:13121
#, no-wrap
msgid "--no-substitutes"
msgstr "--no-substitutes"

#. type: cindex
#: guix-git/doc/guix.texi:1468 guix-git/doc/guix.texi:2999
#: guix-git/doc/guix.texi:3641
#, no-wrap
msgid "substitutes"
msgstr "substitutes"

#. type: table
#: guix-git/doc/guix.texi:1472 guix-git/doc/guix.texi:13125
msgid "Do not use substitutes for build products.  That is, always build things locally instead of allowing downloads of pre-built binaries (@pxref{Substitutes})."
msgstr "不要为构建商品使用substitute。即,总是在本地构建,而不是下载预构建的二进制文件(@pxref{Substitutes})。"

#. type: table
#: guix-git/doc/guix.texi:1476
msgid "When the daemon runs with @option{--no-substitutes}, clients can still explicitly enable substitution @i{via} the @code{set-build-options} remote procedure call (@pxref{The Store})."
msgstr "当后台进程用@code{--no-substitutes}参数启动时,客户端仍然可以显式地通过@code{set-build-options}远程过程调用来启用substitute(@pxref{The Store})。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:1478
msgid "daemon-substitute-urls"
msgstr "daemon-substitute-urls"

#. type: item
#: guix-git/doc/guix.texi:1478 guix-git/doc/guix.texi:13108
#: guix-git/doc/guix.texi:15865 guix-git/doc/guix.texi:16615
#: guix-git/doc/guix.texi:16845
#, no-wrap
msgid "--substitute-urls=@var{urls}"
msgstr "--substitute-urls=@var{urls}"

#. type: table
#: guix-git/doc/guix.texi:1482
#, fuzzy
msgid "Consider @var{urls} the default whitespace-separated list of substitute source URLs.  When this option is omitted, @indicateurl{@value{SUBSTITUTE-URLS}} is used."
msgstr "@var{urls}是用空格分隔的substitute源URL列表。当这个选项被省略时,默认使用@indicateurl{https://@value{SUBSTITUTE-SERVER}}。"

#. type: table
#: guix-git/doc/guix.texi:1485
msgid "This means that substitutes may be downloaded from @var{urls}, as long as they are signed by a trusted signature (@pxref{Substitutes})."
msgstr "这意味着可以从@var{urls}下载substitute,只要它们的签名可信(@pxref{Substitutes})。"

#. type: table
#: guix-git/doc/guix.texi:1488
#, fuzzy
msgid "@xref{Getting Substitutes from Other Servers}, for more information on how to configure the daemon to get substitutes from other servers."
msgstr "有关如何配置守护进程以从其他服务器获取替代品的更多信息,请参见 @xref{从其他服务器获取替代品}。"

#. type: item
#: guix-git/doc/guix.texi:1490 guix-git/doc/guix.texi:13144
#, fuzzy, no-wrap
msgid "--no-offload"
msgstr "下发"

#. type: table
#: guix-git/doc/guix.texi:1494 guix-git/doc/guix.texi:13148
#, fuzzy
msgid "Do not use offload builds to other machines (@pxref{Daemon Offload Setup}).  That is, always build things locally instead of offloading builds to remote machines."
msgstr "不要为构建商品使用substitute。即,总是在本地构建,而不是下载预构建的二进制文件(@pxref{Substitutes})。"

#. type: item
#: guix-git/doc/guix.texi:1495
#, no-wrap
msgid "--cache-failures"
msgstr "--cache-failures"

#. type: table
#: guix-git/doc/guix.texi:1497
msgid "Cache build failures.  By default, only successful builds are cached."
msgstr "缓存失败的构建。默认地,只缓存成功的构建。"

#. type: table
#: guix-git/doc/guix.texi:1502
msgid "When this option is used, @command{guix gc --list-failures} can be used to query the set of store items marked as failed; @command{guix gc --clear-failures} removes store items from the set of cached failures.  @xref{Invoking guix gc}."
msgstr "当这个选项被使用时,可以用@command{guix gc --list-failures}查询被标记为失败的仓库文件;@command{guix gc --clear-failures}从仓库里删除失败的缓存。@xref{Invoking guix gc}。"

#. type: item
#: guix-git/doc/guix.texi:1503 guix-git/doc/guix.texi:13174
#, no-wrap
msgid "--cores=@var{n}"
msgstr "--cores=@var{n}"

#. type: itemx
#: guix-git/doc/guix.texi:1504 guix-git/doc/guix.texi:13175
#, no-wrap
msgid "-c @var{n}"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:1507
msgid "Use @var{n} CPU cores to build each derivation; @code{0} means as many as available."
msgstr "用@var{n}个CPU核来构建每个derivation;@code{0}表示有多少就用多少。"

#. type: table
#: guix-git/doc/guix.texi:1511
#, fuzzy
msgid "The default value is @code{0}, but it may be overridden by clients, such as the @option{--cores} option of @command{guix build} (@pxref{Invoking guix build})."
msgstr "默认值是@code{0},但是它的值可以被客户端覆盖,例如@command{guix build}的@code{--cores}选项(@pxref{Invoking guix build})。"

#. type: table
#: guix-git/doc/guix.texi:1515
#, fuzzy
msgid "The effect is to define the @env{NIX_BUILD_CORES} environment variable in the build process, which can then use it to exploit internal parallelism---for instance, by running @code{make -j$NIX_BUILD_CORES}."
msgstr "他的作用是在构建进程里设置@code{NIX_BUILD_CORES}环境变量,从而用它来利用内部的并行机制--例如,通过运行@code{make -j$NIX_BUILD_CORES}。"

#. type: item
#: guix-git/doc/guix.texi:1516 guix-git/doc/guix.texi:13179
#, no-wrap
msgid "--max-jobs=@var{n}"
msgstr "--max-jobs=@var{n}"

#. type: itemx
#: guix-git/doc/guix.texi:1517 guix-git/doc/guix.texi:13180
#, no-wrap
msgid "-M @var{n}"
msgstr "-M @var{n}"

#. type: table
#: guix-git/doc/guix.texi:1522
msgid "Allow at most @var{n} build jobs in parallel.  The default value is @code{1}.  Setting it to @code{0} means that no builds will be performed locally; instead, the daemon will offload builds (@pxref{Daemon Offload Setup}), or simply fail."
msgstr "最多允许@var{n}个并行的构建任务。默认值是@code{1}。设置为@code{0}表示不在本地执行构建;而是下发构建任务(@pxref{Daemon Offload Setup}),或者直接失败。"

#. type: item
#: guix-git/doc/guix.texi:1523 guix-git/doc/guix.texi:13149
#, no-wrap
msgid "--max-silent-time=@var{seconds}"
msgstr "--max-silent-time=@var{seconds}"

#. type: table
#: guix-git/doc/guix.texi:1526 guix-git/doc/guix.texi:13152
msgid "When the build or substitution process remains silent for more than @var{seconds}, terminate it and report a build failure."
msgstr "当构建或substitution进程超过@var{seconds}秒仍然保持静默,就把它结束掉并报告构建失败。"

#. type: table
#: guix-git/doc/guix.texi:1528
#, fuzzy
msgid "The default value is @code{3600} (one hour)."
msgstr "默认值是@code{0},表示关闭超时。"

#. type: table
#: guix-git/doc/guix.texi:1531
#, fuzzy
msgid "The value specified here can be overridden by clients (@pxref{Common Build Options, @option{--max-silent-time}})."
msgstr "这里指定的值可以被客户端覆盖(@pxref{Common Build Options, @code{--max-silent-time}})。"

#. type: item
#: guix-git/doc/guix.texi:1532 guix-git/doc/guix.texi:13156
#, no-wrap
msgid "--timeout=@var{seconds}"
msgstr "--timeout=@var{seconds}"

#. type: table
#: guix-git/doc/guix.texi:1535 guix-git/doc/guix.texi:13159
msgid "Likewise, when the build or substitution process lasts for more than @var{seconds}, terminate it and report a build failure."
msgstr "类似地,当构建或substitution进程执行超过@var{seconds}秒,就把它结束掉并报告构建失败。"

#. type: table
#: guix-git/doc/guix.texi:1537
#, fuzzy
msgid "The default value is 24 hours."
msgstr "默认值为 24 小时。"

#. type: table
#: guix-git/doc/guix.texi:1540
#, fuzzy
msgid "The value specified here can be overridden by clients (@pxref{Common Build Options, @option{--timeout}})."
msgstr "这里指定的值可以被客户端覆盖(@pxref{Common Build Options, @code{--timeout}})。"

#. type: item
#: guix-git/doc/guix.texi:1541
#, no-wrap
msgid "--rounds=@var{N}"
msgstr "--rounds=@var{N}"

#. type: table
#: guix-git/doc/guix.texi:1546
msgid "Build each derivation @var{n} times in a row, and raise an error if consecutive build results are not bit-for-bit identical.  Note that this setting can be overridden by clients such as @command{guix build} (@pxref{Invoking guix build})."
msgstr "为每个derivation构建@var{n}次,如果连续的构建结果不是每个比特都相同就报告错误。这个设置可以被@command{guix build}之类的客户端覆盖(@pxref{Invoking guix build})。"

#. type: table
#: guix-git/doc/guix.texi:1550 guix-git/doc/guix.texi:13143
#: guix-git/doc/guix.texi:13877
msgid "When used in conjunction with @option{--keep-failed}, the differing output is kept in the store, under @file{/gnu/store/@dots{}-check}.  This makes it easy to look for differences between the two results."
msgstr "当和@option{--keep-failed}一起使用时,不同的输出保存在@file{/gnu/store/@dots{}-check}。这让检查两个结果的区别更容易。"

#. type: item
#: guix-git/doc/guix.texi:1551
#, no-wrap
msgid "--debug"
msgstr "--debug"

#. type: table
#: guix-git/doc/guix.texi:1553
msgid "Produce debugging output."
msgstr "生成调试输出。"

#. type: table
#: guix-git/doc/guix.texi:1557
#, fuzzy
msgid "This is useful to debug daemon start-up issues, but then it may be overridden by clients, for example the @option{--verbosity} option of @command{guix build} (@pxref{Invoking guix build})."
msgstr "这对调试后台进程的启动问题很有用,但是之后它可能会被客户端覆盖,例如@command{guix build}命令的@code{--verbosity}选项(@pxref{Invoking guix build})。"

#. type: item
#: guix-git/doc/guix.texi:1558
#, no-wrap
msgid "--chroot-directory=@var{dir}"
msgstr "--chroot-directory=@var{dir}"

#. type: table
#: guix-git/doc/guix.texi:1560
msgid "Add @var{dir} to the build chroot."
msgstr "把@var{dir}添加到构建的chroot。"

#. type: table
#: guix-git/doc/guix.texi:1566
msgid "Doing this may change the result of build processes---for instance if they use optional dependencies found in @var{dir} when it is available, and not otherwise.  For that reason, it is not recommended to do so.  Instead, make sure that each derivation declares all the inputs that it needs."
msgstr "这么做可能会改变构建进程的结果--例如,如果它们使用了在@var{dir}里发现的可选依赖。因此,建议不要这么做,而是确保每个derivation声明所需的全部输入。"

#. type: item
#: guix-git/doc/guix.texi:1567
#, no-wrap
msgid "--disable-chroot"
msgstr "--disable-chroot"

#. type: table
#: guix-git/doc/guix.texi:1569
msgid "Disable chroot builds."
msgstr "关闭chroot构建。"

#. type: table
#: guix-git/doc/guix.texi:1574
msgid "Using this option is not recommended since, again, it would allow build processes to gain access to undeclared dependencies.  It is necessary, though, when @command{guix-daemon} is running under an unprivileged user account."
msgstr "不建议使用这个选项,因为它会允许构建进程访问到没被声明的依赖。但是,当@command{guix-daemon}以没有特权的用户身份运行时,这个选项是必须的。"

#. type: item
#: guix-git/doc/guix.texi:1575
#, no-wrap
msgid "--log-compression=@var{type}"
msgstr "--log-compression=@var{type}"

#. type: table
#: guix-git/doc/guix.texi:1578
msgid "Compress build logs according to @var{type}, one of @code{gzip}, @code{bzip2}, or @code{none}."
msgstr "以@var{type}方式压缩构建日志,可选的值:@code{gzip},@code{bzip2},@code{none}。"

#. type: table
#: guix-git/doc/guix.texi:1582
#, fuzzy
msgid "Unless @option{--lose-logs} is used, all the build logs are kept in the @var{localstatedir}.  To save space, the daemon automatically compresses them with gzip by default."
msgstr "除非使用了@code{--lose-logs},所有的构建日志都保存在@var{localstatedir}里。为了节省空间,后台进程默认使用bzip2对它们进行压缩。"

#. type: item
#: guix-git/doc/guix.texi:1583
#, fuzzy, no-wrap
msgid "--discover[=yes|no]"
msgstr "--discover[=yes|no]"

#. type: table
#: guix-git/doc/guix.texi:1586 guix-git/doc/guix.texi:20046
#, fuzzy
msgid "Whether to discover substitute servers on the local network using mDNS and DNS-SD."
msgstr "是否通过 mDNS 和 DNS-SD 在本地网络上发现替代服务器。"

#. type: table
#: guix-git/doc/guix.texi:1589
#, fuzzy
msgid "This feature is still experimental.  However, here are a few considerations."
msgstr "此功能仍处于实验阶段。但是,这里有一些考虑因素。"

#. type: enumerate
#: guix-git/doc/guix.texi:1593
#, fuzzy
msgid "It might be faster/less expensive than fetching from remote servers;"
msgstr "它可能比从远程服务器获取更快/更便宜;"

#. type: enumerate
#: guix-git/doc/guix.texi:1596
#, fuzzy
msgid "There are no security risks, only genuine substitutes will be used (@pxref{Substitute Authentication});"
msgstr "没有安全风险,只有真正的替代品会被使用(@pxref{替代品认证});"

#. type: enumerate
#: guix-git/doc/guix.texi:1600
#, fuzzy
msgid "An attacker advertising @command{guix publish} on your LAN cannot serve you malicious binaries, but they can learn what software you’re installing;"
msgstr "在您的局域网中,攻击者宣传 @command{guix publish} 无法向您提供恶意二进制文件,但他们可以了解您正在安装的软件;"

#. type: enumerate
#: guix-git/doc/guix.texi:1603
#, fuzzy
msgid "Servers may serve substitute over HTTP, unencrypted, so anyone on the LAN can see what software you’re installing."
msgstr "服务器可能通过 HTTP 提供替代品,未加密,因此局域网中的任何人都可以看到您正在安装的软件。"

#. type: table
#: guix-git/doc/guix.texi:1607
#, fuzzy
msgid "It is also possible to enable or disable substitute server discovery at run-time by running:"
msgstr "还可以通过运行以下命令在运行时启用或禁用替代服务器发现:"

#. type: example
#: guix-git/doc/guix.texi:1611
#, fuzzy, no-wrap
msgid ""
"herd discover guix-daemon on\n"
"herd discover guix-daemon off\n"
msgstr ""
"herd discover guix-daemon on\n"
"herd discover guix-daemon off\n"

#. type: item
#: guix-git/doc/guix.texi:1613
#, no-wrap
msgid "--disable-deduplication"
msgstr "--disable-deduplication"

#. type: cindex
#: guix-git/doc/guix.texi:1614 guix-git/doc/guix.texi:4400
#, no-wrap
msgid "deduplication"
msgstr "去重"

#. type: table
#: guix-git/doc/guix.texi:1616
msgid "Disable automatic file ``deduplication'' in the store."
msgstr "关闭自动对仓库文件“去重”。"

#. type: table
#: guix-git/doc/guix.texi:1623
msgid "By default, files added to the store are automatically ``deduplicated'': if a newly added file is identical to another one found in the store, the daemon makes the new file a hard link to the other file.  This can noticeably reduce disk usage, at the expense of slightly increased input/output load at the end of a build process.  This option disables this optimization."
msgstr "默认地,添加到仓库的文件会被自动“去重”:如果新添加的文件和仓库里找到的某个文件完全相同,后台进程把这个新文件变成另一个文件的硬链接。这可以明显地减少硬盘使用,代价是构建结束后轻微地增加输入/输出负载。这个选项关闭这个优化。"

#. type: item
#: guix-git/doc/guix.texi:1624
#, no-wrap
msgid "--gc-keep-outputs[=yes|no]"
msgstr "--gc-keep-outputs[=yes|no]"

#. type: table
#: guix-git/doc/guix.texi:1627
msgid "Tell whether the garbage collector (GC) must keep outputs of live derivations."
msgstr "垃圾收集器(GC)是否必须保留存活的derivation的输出。"

#. type: cindex
#: guix-git/doc/guix.texi:1628 guix-git/doc/guix.texi:4212
#, no-wrap
msgid "GC roots"
msgstr "GC根"

#. type: cindex
#: guix-git/doc/guix.texi:1629 guix-git/doc/guix.texi:4213
#, no-wrap
msgid "garbage collector roots"
msgstr "垃圾收集的根"

#. type: table
#: guix-git/doc/guix.texi:1635
#, fuzzy
msgid "When set to @code{yes}, the GC will keep the outputs of any live derivation available in the store---the @file{.drv} files.  The default is @code{no}, meaning that derivation outputs are kept only if they are reachable from a GC root.  @xref{Invoking guix gc}, for more on GC roots."
msgstr "当设置为“yes”时,GC会保留仓库里每个存活的derivation(@code{.drv}文件)的输出。默认是“no”,表示只有当从GC根可以访问时才保留derivation的输出。@xref{Invoking guix gc},了解更多关于GC根的信息。"

#. type: item
#: guix-git/doc/guix.texi:1636
#, no-wrap
msgid "--gc-keep-derivations[=yes|no]"
msgstr "--gc-keep-derivations[=yes|no]"

#. type: table
#: guix-git/doc/guix.texi:1639
msgid "Tell whether the garbage collector (GC) must keep derivations corresponding to live outputs."
msgstr "垃圾收集器(GC)是否必须保留和存活的输出相关的derivation。"

#. type: table
#: guix-git/doc/guix.texi:1645
#, fuzzy
msgid "When set to @code{yes}, as is the case by default, the GC keeps derivations---i.e., @file{.drv} files---as long as at least one of their outputs is live.  This allows users to keep track of the origins of items in their store.  Setting it to @code{no} saves a bit of disk space."
msgstr "当设置为“yes”时(默认),只要derivation(即@code{.drv}文件)的输出至少有一个是存活的,GC就将其保留。这让用户可以追踪仓库里物品的源头。设置为“no”可以节省一点硬盘空间。"

#. type: table
#: guix-git/doc/guix.texi:1654
#, fuzzy
msgid "In this way, setting @option{--gc-keep-derivations} to @code{yes} causes liveness to flow from outputs to derivations, and setting @option{--gc-keep-outputs} to @code{yes} causes liveness to flow from derivations to outputs.  When both are set to @code{yes}, the effect is to keep all the build prerequisites (the sources, compiler, libraries, and other build-time tools) of live objects in the store, regardless of whether these prerequisites are reachable from a GC root.  This is convenient for developers since it saves rebuilds or downloads."
msgstr "这样,设置@code{--gc-keep-derivations}为“yes”使存活性从“输出”传递到“derivation”,设置@code{--gc-keep-outputs}为“yes”使存活性从“derivation”传递到“输出”。当两者都设置为“yes”时,效果是保留所有在仓库里的存活对象的构建先决条件(源代码,编译器,库,和其它构建时的工具),不管这些先决条件是否能从某个GC根访问到。这对开发者来说很方便,因为它避免了重复构建和下载。"

#. type: item
#: guix-git/doc/guix.texi:1655
#, no-wrap
msgid "--impersonate-linux-2.6"
msgstr "--impersonate-linux-2.6"

#. type: table
#: guix-git/doc/guix.texi:1658
msgid "On Linux-based systems, impersonate Linux 2.6.  This means that the kernel's @command{uname} system call will report 2.6 as the release number."
msgstr "在基于Linux的系统上,伪装成Linux 2.6。这意味着内核的@code{uname}系统调用会把版本号报告为2.6。"

#. type: table
#: guix-git/doc/guix.texi:1661
msgid "This might be helpful to build programs that (usually wrongfully) depend on the kernel version number."
msgstr "这可能会有助于构建那些(通常是错误地)依赖内核版本号的程序。"

#. type: item
#: guix-git/doc/guix.texi:1662
#, no-wrap
msgid "--lose-logs"
msgstr "--lose-logs"

#. type: table
#: guix-git/doc/guix.texi:1665
#, fuzzy
msgid "Do not keep build logs.  By default they are kept under @file{@var{localstatedir}/guix/log}."
msgstr "不保留构建日志。默认保存在@code{@var{localstatedir}/guix/log}。"

#. type: item
#: guix-git/doc/guix.texi:1666 guix-git/doc/guix.texi:4666
#: guix-git/doc/guix.texi:6279 guix-git/doc/guix.texi:6776
#: guix-git/doc/guix.texi:7343 guix-git/doc/guix.texi:13813
#: guix-git/doc/guix.texi:15892 guix-git/doc/guix.texi:16157
#: guix-git/doc/guix.texi:16851 guix-git/doc/guix.texi:44885
#, no-wrap
msgid "--system=@var{system}"
msgstr "--system=@var{system}"

#. type: table
#: guix-git/doc/guix.texi:1670
msgid "Assume @var{system} as the current system type.  By default it is the architecture/kernel pair found at configure time, such as @code{x86_64-linux}."
msgstr "假设@var{system}是当前的系统类型。默认值是configure时发现的架构/内核元组,如@code{x86_64-linux}。"

#. type: item
#: guix-git/doc/guix.texi:1671 guix-git/doc/guix.texi:12788
#, no-wrap
msgid "--listen=@var{endpoint}"
msgstr "--listen=@var{endpoint}"

#. type: table
#: guix-git/doc/guix.texi:1676
#, fuzzy
msgid "Listen for connections on @var{endpoint}.  @var{endpoint} is interpreted as the file name of a Unix-domain socket if it starts with @code{/} (slash sign).  Otherwise, @var{endpoint} is interpreted as a host name or host name and port to listen to.  Here are a few examples:"
msgstr "在 @var{endpoint} 上监听连接。 如果 @var{endpoint} 以 @code{/}(斜杠)开头,则将其解释为 Unix 域套接字的文件名。 否则,@var{endpoint} 被解释为要监听的主机名或主机名和端口。 这里有一些示例:"

#. type: item
#: guix-git/doc/guix.texi:1678
#, fuzzy, no-wrap
msgid "--listen=/gnu/var/daemon"
msgstr "--listen=/gnu/var/daemon"

#. type: table
#: guix-git/doc/guix.texi:1681
#, fuzzy
msgid "Listen for connections on the @file{/gnu/var/daemon} Unix-domain socket, creating it if needed."
msgstr "在 @file{/gnu/var/daemon} Unix 域套接字上监听连接,如果需要则创建它。"

#. type: item
#: guix-git/doc/guix.texi:1682
#, fuzzy, no-wrap
msgid "--listen=localhost"
msgstr "--listen=localhost"

#. type: cindex
#: guix-git/doc/guix.texi:1683 guix-git/doc/guix.texi:11394
#, fuzzy, no-wrap
msgid "daemon, remote access"
msgstr "守护进程,远程访问"

#. type: cindex
#: guix-git/doc/guix.texi:1684 guix-git/doc/guix.texi:11395
#, fuzzy, no-wrap
msgid "remote access to the daemon"
msgstr "对守护进程的远程访问"

#. type: cindex
#: guix-git/doc/guix.texi:1685 guix-git/doc/guix.texi:11396
#, fuzzy, no-wrap
msgid "daemon, cluster setup"
msgstr "守护进程,集群设置"

#. type: cindex
#: guix-git/doc/guix.texi:1686 guix-git/doc/guix.texi:11397
#, fuzzy, no-wrap
msgid "clusters, daemon setup"
msgstr "集群,守护进程设置"

#. type: table
#: guix-git/doc/guix.texi:1689
#, fuzzy
msgid "Listen for TCP connections on the network interface corresponding to @code{localhost}, on port 44146."
msgstr "在与 @code{localhost} 对应的网络接口上监听 TCP 连接,端口为 44146。"

#. type: item
#: guix-git/doc/guix.texi:1690
#, fuzzy, no-wrap
msgid "--listen=128.0.0.42:1234"
msgstr "--listen=128.0.0.42:1234"

#. type: table
#: guix-git/doc/guix.texi:1693
#, fuzzy
msgid "Listen for TCP connections on the network interface corresponding to @code{128.0.0.42}, on port 1234."
msgstr "在网络接口上监听 TCP 连接,对应于 @code{128.0.0.42},端口为 1234。"

#. type: table
#: guix-git/doc/guix.texi:1700
#, fuzzy
msgid "This option can be repeated multiple times, in which case @command{guix-daemon} accepts connections on all the specified endpoints.  Users can tell client commands what endpoint to connect to by setting the @env{GUIX_DAEMON_SOCKET} environment variable (@pxref{The Store, @env{GUIX_DAEMON_SOCKET}})."
msgstr "此选项可以重复多次,在这种情况下,@command{guix-daemon} 接受所有指定端点的连接。用户可以通过设置 @env{GUIX_DAEMON_SOCKET} 环境变量来告诉客户端命令连接到哪个端点 (@pxref{The Store, @env{GUIX_DAEMON_SOCKET}})。"

#. type: quotation
#: guix-git/doc/guix.texi:1707
#, fuzzy
msgid "The daemon protocol is @emph{unauthenticated and unencrypted}.  Using @option{--listen=@var{host}} is suitable on local networks, such as clusters, where only trusted nodes may connect to the build daemon.  In other cases where remote access to the daemon is needed, we recommend using Unix-domain sockets along with SSH."
msgstr "守护进程协议是 @emph{未认证且未加密} 的。使用 @option{--listen=@var{host}} 适合在本地网络上,例如集群,只有受信任的节点可以连接到构建守护进程。在需要远程访问守护进程的其他情况下,我们建议使用 Unix 域套接字和 SSH。"

#. type: table
#: guix-git/doc/guix.texi:1712
#, fuzzy
msgid "When @option{--listen} is omitted, @command{guix-daemon} listens for connections on the Unix-domain socket located at @file{@var{localstatedir}/guix/daemon-socket/socket}."
msgstr "当省略 @option{--listen} 时,@command{guix-daemon} 在位于 @file{@var{localstatedir}/guix/daemon-socket/socket} 的 Unix 域套接字上监听连接。"

#. type: Plain text
#: guix-git/doc/guix.texi:1722
#, fuzzy
msgid "When using Guix on top of GNU/Linux distribution other than Guix System---a so-called @dfn{foreign distro}---a few additional steps are needed to get everything in place.  Here are some of them."
msgstr "在非 Guix 系统的 GNU/Linux 发行版上使用 Guix 时——所谓的 @dfn{外部发行版}——需要一些额外的步骤来准备好一切。以下是其中的一些。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:1726
#, fuzzy
msgid "locales-and-locpath"
msgstr "locales-and-locpath"

#. type: cindex
#: guix-git/doc/guix.texi:1726
#, fuzzy, no-wrap
msgid "locales, when not on Guix System"
msgstr "在非 Guix 系统上使用的 locales"

#. type: vindex
#: guix-git/doc/guix.texi:1727 guix-git/doc/guix.texi:19088
#, fuzzy, no-wrap
msgid "LOCPATH"
msgstr "LOCPATH"

#. type: vindex
#: guix-git/doc/guix.texi:1728
#, fuzzy, no-wrap
msgid "GUIX_LOCPATH"
msgstr "GUIX_LOCPATH"

#. type: Plain text
#: guix-git/doc/guix.texi:1733
#, fuzzy
msgid "Packages installed @i{via} Guix will not use the locale data of the host system.  Instead, you must first install one of the locale packages available with Guix and then define the @env{GUIX_LOCPATH} environment variable:"
msgstr "通过 Guix 安装的包将不会使用主机系统的区域设置数据。相反,您必须首先安装可用的区域设置包之一,然后定义 @env{GUIX_LOCPATH} 环境变量:"

#. type: example
#: guix-git/doc/guix.texi:1737
#, fuzzy, no-wrap
msgid ""
"$ guix install glibc-locales\n"
"$ export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale\n"
msgstr ""
"$ guix install glibc-locales\n"
"$ export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1749
#, fuzzy
msgid "Note that the @code{glibc-locales} package contains data for all the locales supported by the GNU@tie{}libc and weighs in at around 930@tie{}MiB@footnote{The size of the @code{glibc-locales} package is reduced down to about 213@tie{}MiB with store deduplication and further down to about 67@tie{}MiB when using a zstd-compressed Btrfs file system.}.  If you only need a few locales, you can define your custom locales package via the @code{make-glibc-utf8-locales} procedure from the @code{(gnu packages base)} module.  The following example defines a package containing the various Canadian UTF-8 locales known to the GNU@tie{}libc, that weighs around 14@tie{}MiB:"
msgstr "请注意,@code{glibc-locales} 包包含 GNU@tie{}libc 支持的所有区域设置的数据,大小约为 930@tie{}MiB@footnote{@code{glibc-locales} 包的大小通过存储去重减少到约 213@tie{}MiB,并在使用 zstd 压缩的 Btrfs 文件系统时进一步减少到约 67@tie{}MiB。}。如果您只需要几个区域设置,可以通过 @code{(gnu packages base)} 模块中的 @code{make-glibc-utf8-locales} 过程定义自定义区域设置包。以下示例定义了一个包含 GNU@tie{}libc 所知的各种加拿大 UTF-8 区域设置的包,大小约为 14@tie{}MiB:"

#. type: lisp
#: guix-git/doc/guix.texi:1752
#, no-wrap
msgid ""
"(use-modules (gnu packages base))\n"
"\n"
msgstr ""
"(use-modules (gnu packages base))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:1758
#, fuzzy, no-wrap
msgid ""
"(define my-glibc-locales\n"
"  (make-glibc-utf8-locales\n"
"   glibc\n"
"   #:locales (list \"en_CA\" \"fr_CA\" \"ik_CA\" \"iu_CA\" \"shs_CA\")\n"
"   #:name \"glibc-canadian-utf8-locales\"))\n"
msgstr ""
"(定义 my-glibc-locales\n"
"  (make-glibc-utf8-locales\n"
"   glibc\n"
"   #:locales (list \"en_CA\" \"fr_CA\" \"ik_CA\" \"iu_CA\" \"shs_CA\")\n"
"   #:name \"glibc-canadian-utf8-locales\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1763
#, fuzzy
msgid "The @env{GUIX_LOCPATH} variable plays a role similar to @env{LOCPATH} (@pxref{Locale Names, @env{LOCPATH},, libc, The GNU C Library Reference Manual}).  There are two important differences though:"
msgstr "@env{GUIX_LOCPATH} 变量的作用类似于 @env{LOCPATH} (@pxref{Locale Names, @env{LOCPATH},, libc, The GNU C Library Reference Manual})。  不过有两个重要的区别:"

#. type: enumerate
#: guix-git/doc/guix.texi:1770
#, fuzzy
msgid "@env{GUIX_LOCPATH} is honored only by the libc in Guix, and not by the libc provided by foreign distros.  Thus, using @env{GUIX_LOCPATH} allows you to make sure the programs of the foreign distro will not end up loading incompatible locale data."
msgstr "@env{GUIX_LOCPATH} 仅被 Guix 中的 libc 尊重,而不被外部发行版提供的 libc 尊重。  因此,使用 @env{GUIX_LOCPATH} 可以确保外部发行版的程序不会加载不兼容的区域数据。"

#. type: enumerate
#: guix-git/doc/guix.texi:1777
#, fuzzy
msgid "libc suffixes each entry of @env{GUIX_LOCPATH} with @code{/X.Y}, where @code{X.Y} is the libc version---e.g., @code{2.22}.  This means that, should your Guix profile contain a mixture of programs linked against different libc version, each libc version will only try to load locale data in the right format."
msgstr "libc 为 @env{GUIX_LOCPATH} 的每个条目添加后缀 @code{/X.Y},其中 @code{X.Y} 是 libc 版本——例如,@code{2.22}。  这意味着,如果您的 Guix 配置文件包含链接到不同 libc 版本的程序,则每个 libc 版本只会尝试以正确的格式加载区域数据。"

#. type: Plain text
#: guix-git/doc/guix.texi:1781
#, fuzzy
msgid "This is important because the locale data format used by different libc versions may be incompatible."
msgstr "这很重要,因为不同 libc 版本使用的区域数据格式可能不兼容。"

#. type: cindex
#: guix-git/doc/guix.texi:1784
#, fuzzy, no-wrap
msgid "name service switch, glibc"
msgstr "名称服务开关,glibc"

#. type: cindex
#: guix-git/doc/guix.texi:1785
#, fuzzy, no-wrap
msgid "NSS (name service switch), glibc"
msgstr "NSS(名称服务开关),glibc"

#. type: cindex
#: guix-git/doc/guix.texi:1786 guix-git/doc/guix.texi:19777
#, fuzzy, no-wrap
msgid "@abbr{nscd, name service cache daemon}"
msgstr "Web服务"

#. type: Plain text
#: guix-git/doc/guix.texi:1793
#, fuzzy
msgid "When using Guix on a foreign distro, we @emph{strongly recommend} that the system run the GNU C library's @dfn{name service cache daemon}, @command{nscd}, which should be listening on the @file{/var/run/nscd/socket} socket.  Failing to do that, applications installed with Guix may fail to look up host names or user accounts, or may even crash.  The next paragraphs explain why."
msgstr "在外部发行版上使用 Guix 时,我们 @emph{强烈建议} 系统运行 GNU C 库的 @dfn{名称服务缓存守护进程} @command{nscd},该守护进程应监听 @file{/var/run/nscd/socket} 套接字。  如果不这样做,使用 Guix 安装的应用程序可能无法查找主机名或用户帐户,甚至可能崩溃。  接下来的段落将解释原因。"

#. type: file{#1}
#: guix-git/doc/guix.texi:1794
#, fuzzy, no-wrap
msgid "nsswitch.conf"
msgstr "nsswitch.conf"

#. type: Plain text
#: guix-git/doc/guix.texi:1799
#, fuzzy
msgid "The GNU C library implements a @dfn{name service switch} (NSS), which is an extensible mechanism for ``name lookups'' in general: host name resolution, user accounts, and more (@pxref{Name Service Switch,,, libc, The GNU C Library Reference Manual})."
msgstr "GNU C 库实现了 @dfn{名称服务开关}(NSS),这是一种可扩展的机制,用于一般的“名称查找”:主机名解析、用户帐户等 (@pxref{Name Service Switch,,, libc, The GNU C Library Reference Manual})。"

#. type: cindex
#: guix-git/doc/guix.texi:1800
#, fuzzy, no-wrap
msgid "Network information service (NIS)"
msgstr "网络信息服务(NIS)"

#. type: cindex
#: guix-git/doc/guix.texi:1801
#, fuzzy, no-wrap
msgid "NIS (Network information service)"
msgstr "NIS(网络信息服务)"

#. type: Plain text
#: guix-git/doc/guix.texi:1810
#, fuzzy
msgid "Being extensible, the NSS supports @dfn{plugins}, which provide new name lookup implementations: for example, the @code{nss-mdns} plugin allow resolution of @code{.local} host names, the @code{nis} plugin allows user account lookup using the Network information service (NIS), and so on.  These extra ``lookup services'' are configured system-wide in @file{/etc/nsswitch.conf}, and all the programs running on the system honor those settings (@pxref{NSS Configuration File,,, libc, The GNU C Reference Manual})."
msgstr "作为可扩展的,NSS 支持 @dfn{插件},这些插件提供新的名称查找实现:例如,@code{nss-mdns} 插件允许解析 @code{.local} 主机名,@code{nis} 插件允许使用网络信息服务(NIS)查找用户帐户,等等。  这些额外的“查找服务”在 @file{/etc/nsswitch.conf} 中进行系统范围的配置,系统上运行的所有程序都遵循这些设置 (@pxref{NSS Configuration File,,, libc, The GNU C Reference Manual})。"

#. type: Plain text
#: guix-git/doc/guix.texi:1820
#, fuzzy
msgid "When they perform a name lookup---for instance by calling the @code{getaddrinfo} function in C---applications first try to connect to the nscd; on success, nscd performs name lookups on their behalf.  If the nscd is not running, then they perform the name lookup by themselves, by loading the name lookup services into their own address space and running it.  These name lookup services---the @file{libnss_*.so} files---are @code{dlopen}'d, but they may come from the host system's C library, rather than from the C library the application is linked against (the C library coming from Guix)."
msgstr "当它们执行名称查找时——例如通过调用 C 中的 @code{getaddrinfo} 函数——应用程序首先尝试连接到 nscd;如果成功,nscd 将代表它们执行名称查找。如果 nscd 没有运行,那么它们会通过将名称查找服务加载到自己的地址空间并运行来自己执行名称查找。这些名称查找服务——@file{libnss_*.so} 文件——是 @code{dlopen} 的,但它们可能来自主机系统的 C 库,而不是来自应用程序链接的 C 库(该 C 库来自 Guix)。"

#. type: Plain text
#: guix-git/doc/guix.texi:1825
#, fuzzy
msgid "And this is where the problem is: if your application is linked against Guix's C library (say, glibc 2.24) and tries to load NSS plugins from another C library (say, @code{libnss_mdns.so} for glibc 2.22), it will likely crash or have its name lookups fail unexpectedly."
msgstr "这就是问题所在:如果您的应用程序链接到 Guix 的 C 库(例如,glibc 2.24)并尝试从另一个 C 库加载 NSS 插件(例如,@code{libnss_mdns.so} 用于 glibc 2.22),它很可能会崩溃或意外地导致名称查找失败。"

#. type: Plain text
#: guix-git/doc/guix.texi:1830
#, fuzzy
msgid "Running @command{nscd} on the system, among other advantages, eliminates this binary incompatibility problem because those @code{libnss_*.so} files are loaded in the @command{nscd} process, not in applications themselves."
msgstr "在系统上运行 @command{nscd},除了其他优点外,消除了这种二进制不兼容问题,因为这些 @code{libnss_*.so} 文件是在 @command{nscd} 进程中加载的,而不是在应用程序本身中。"

#. type: cindex
#: guix-git/doc/guix.texi:1831
#, fuzzy, no-wrap
msgid "nsncd, replacement for nscd"
msgstr "nsncd,nscd 的替代品"

#. type: Plain text
#: guix-git/doc/guix.texi:1838
#, fuzzy
msgid "Note that @command{nscd} is no longer provided on some GNU/Linux distros, such as Arch Linux (as of Dec. 2024).  @command{nsncd} can be used as a drop-in-replacement.  See @uref{https://github.com/twosigma/nsncd, the nsncd repository} and @uref{https://flokli.de/posts/2022-11-18-nsncd/, this blog post} for more information."
msgstr "请注意,某些 GNU/Linux 发行版(例如 Arch Linux,自 2024 年 12 月起)不再提供 @command{nscd}。可以使用 @command{nsncd} 作为替代品。有关更多信息,请参见 @uref{https://github.com/twosigma/nsncd, nsncd 仓库} 和 @uref{https://flokli.de/posts/2022-11-18-nsncd/, 这篇博客文章}。"

#. type: subsection
#: guix-git/doc/guix.texi:1839
#, no-wrap
msgid "X11 Fonts"
msgstr "X11 字体"

#. type: Plain text
#: guix-git/doc/guix.texi:1849
#, fuzzy
msgid "The majority of graphical applications use Fontconfig to locate and load fonts and perform X11-client-side rendering.  The @code{fontconfig} package in Guix looks for fonts in @file{$HOME/.guix-profile} by default.  Thus, to allow graphical applications installed with Guix to display fonts, you have to install fonts with Guix as well.  Essential font packages include @code{font-ghostscript}, @code{font-dejavu}, and @code{font-gnu-freefont}."
msgstr "大多数图形应用程序使用 Fontconfig 来定位和加载字体并执行 X11 客户端侧渲染。Guix 中的 @code{fontconfig} 包默认在 @file{$HOME/.guix-profile} 中查找字体。因此,为了允许使用 Guix 安装的图形应用程序显示字体,您还必须使用 Guix 安装字体。基本字体包包括 @code{font-ghostscript}、@code{font-dejavu} 和 @code{font-gnu-freefont}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:1850
#, fuzzy, no-wrap
msgid "fc-cache"
msgstr "fc-cache"

#. type: cindex
#: guix-git/doc/guix.texi:1851
#, fuzzy, no-wrap
msgid "font cache"
msgstr "字体缓存"

#. type: Plain text
#: guix-git/doc/guix.texi:1855
#, fuzzy
msgid "Once you have installed or removed fonts, or when you notice an application that does not find fonts, you may need to install Fontconfig and to force an update of its font cache by running:"
msgstr "一旦您安装或移除字体,或者当您注意到某个应用程序找不到字体时,您可能需要安装 Fontconfig,并通过运行以下命令强制更新其字体缓存:"

#. type: example
#: guix-git/doc/guix.texi:1859
#, fuzzy, no-wrap
msgid ""
"guix install fontconfig\n"
"fc-cache -rv\n"
msgstr ""
"guix install fontconfig\n"
"fc-cache -rv\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1867
#, fuzzy
msgid "To display text written in Chinese languages, Japanese, or Korean in graphical applications, consider installing @code{font-adobe-source-han-sans} or @code{font-wqy-zenhei}.  The former has multiple outputs, one per language family (@pxref{Packages with Multiple Outputs}).  For instance, the following command installs fonts for Chinese languages:"
msgstr "要在图形应用程序中显示用中文、日文或韩文书写的文本,请考虑安装 @code{font-adobe-source-han-sans} 或 @code{font-wqy-zenhei}。前者有多个输出,每个语言族一个 (@pxref{Packages with Multiple Outputs})。例如,以下命令安装中文字体:"

#. type: example
#: guix-git/doc/guix.texi:1870
#, fuzzy, no-wrap
msgid "guix install font-adobe-source-han-sans:cn\n"
msgstr "guix install font-adobe-source-han-sans:cn\n"

#. type: code{#1}
#: guix-git/doc/guix.texi:1872
#, fuzzy, no-wrap
msgid "xterm"
msgstr "xterm"

#. type: Plain text
#: guix-git/doc/guix.texi:1876
#, fuzzy
msgid "Older programs such as @command{xterm} do not use Fontconfig and instead rely on server-side font rendering.  Such programs require to specify a full name of a font using XLFD (X Logical Font Description), like this:"
msgstr "较旧的程序,如 @command{xterm},不使用 Fontconfig,而是依赖服务器端字体渲染。这些程序需要使用 XLFD(X 逻辑字体描述)指定字体的全名,如下所示:"

#. type: example
#: guix-git/doc/guix.texi:1879
#, fuzzy, no-wrap
msgid "-*-dejavu sans-medium-r-normal-*-*-100-*-*-*-*-*-1\n"
msgstr "-*-dejavu sans-medium-r-normal-*-*-100-*-*-*-*-*-1\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1883
#, fuzzy
msgid "To be able to use such full names for the TrueType fonts installed in your Guix profile, you need to extend the font path of the X server:"
msgstr "要能够使用安装在 Guix 配置文件中的 TrueType 字体的全名,您需要扩展 X 服务器的字体路径:"

#. type: example
#: guix-git/doc/guix.texi:1888
#, fuzzy, no-wrap
msgid "xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir))\n"
msgstr "xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir))\n"

#. type: code{#1}
#: guix-git/doc/guix.texi:1890
#, fuzzy, no-wrap
msgid "xlsfonts"
msgstr "xlsfonts"

#. type: Plain text
#: guix-git/doc/guix.texi:1893
#, fuzzy
msgid "After that, you can run @code{xlsfonts} (from @code{xlsfonts} package)  to make sure your TrueType fonts are listed there."
msgstr "之后,您可以运行 @code{xlsfonts}(来自 @code{xlsfonts} 包)以确保您的 TrueType 字体列在那里。"

#. type: code{#1}
#: guix-git/doc/guix.texi:1897 guix-git/doc/guix.texi:43595
#, fuzzy, no-wrap
msgid "nss-certs"
msgstr "nss-certs"

#. type: Plain text
#: guix-git/doc/guix.texi:1900
#, fuzzy
msgid "The @code{nss-certs} package provides X.509 certificates, which allow programs to authenticate Web servers accessed over HTTPS."
msgstr "@code{nss-certs} 包提供 X.509 证书,允许程序对通过 HTTPS 访问的 Web 服务器进行身份验证。"

#. type: Plain text
#: guix-git/doc/guix.texi:1905
#, fuzzy
msgid "When using Guix on a foreign distro, you can install this package and define the relevant environment variables so that packages know where to look for certificates.  @xref{X.509 Certificates}, for detailed information."
msgstr "在外部发行版上使用 Guix 时,您可以安装此包并定义相关环境变量,以便包知道在哪里查找证书。有关详细信息,请参见 @xref{X.509 Certificates}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:1908
#, fuzzy, no-wrap
msgid "emacs"
msgstr "emacs"

#. type: Plain text
#: guix-git/doc/guix.texi:1914
#, fuzzy
msgid "When you install Emacs packages with Guix, the Elisp files are placed under the @file{share/emacs/site-lisp/} directory of the profile in which they are installed.  The Elisp libraries are made available to Emacs through the @env{EMACSLOADPATH} environment variable, which is set when installing Emacs itself."
msgstr "当您使用 Guix 安装 Emacs 包时,Elisp 文件会放置在安装它们的配置文件的 @file{share/emacs/site-lisp/} 目录下。Elisp 库通过安装 Emacs 本身时设置的 @env{EMACSLOADPATH} 环境变量提供给 Emacs。"

#. type: cindex
#: guix-git/doc/guix.texi:1915
#, fuzzy, no-wrap
msgid "guix-emacs-autoload-packages, refreshing Emacs packages"
msgstr "guix-emacs-autoload-packages,刷新 Emacs 包"

#. type: Plain text
#: guix-git/doc/guix.texi:1924
#, fuzzy
msgid "Additionally, autoload definitions are automatically evaluated at the initialization of Emacs, by the Guix-specific @code{guix-emacs-autoload-packages} procedure.  This procedure can be interactively invoked to have newly installed Emacs packages discovered, without having to restart Emacs.  If, for some reason, you want to avoid auto-loading the Emacs packages installed with Guix, you can do so by running Emacs with the @option{--no-site-file} option (@pxref{Init File,,, emacs, The GNU Emacs Manual})."
msgstr "此外,自动加载定义会在 Emacs 初始化时由 Guix 特定的 @code{guix-emacs-autoload-packages} 过程自动评估。可以交互调用此过程,以发现新安装的 Emacs 包,而无需重新启动 Emacs。如果出于某种原因,您想避免自动加载与 Guix 一起安装的 Emacs 包,可以通过使用 @option{--no-site-file} 选项运行 Emacs 来实现 (@pxref{Init File,,, emacs, The GNU Emacs Manual})。"

#. type: quotation
#: guix-git/doc/guix.texi:1929
#, fuzzy
msgid "Most Emacs variants are now capable of doing native compilation.  The approach taken by Guix Emacs however differs greatly from the approach taken upstream."
msgstr "大多数 Emacs 变体现在都能够进行本地编译。然而,Guix Emacs 采取的方法与上游的做法大相径庭。"

#. type: quotation
#: guix-git/doc/guix.texi:1936
#, fuzzy
msgid "Upstream Emacs compiles packages just-in-time and typically places shared object files in a special folder within your @code{user-emacs-directory}.  These shared objects within said folder are organized in a flat hierarchy, and their file names contain two hashes to verify the original file name and contents of the source code."
msgstr "上游 Emacs 采用即时编译包,并通常将共享对象文件放置在 @code{user-emacs-directory} 中的一个特殊文件夹内。该文件夹中的共享对象以扁平层次结构组织,其文件名包含两个哈希值以验证原始文件名和源代码的内容。"

#. type: quotation
#: guix-git/doc/guix.texi:1945
#, fuzzy
msgid "Guix Emacs on the other hand prefers to compile packages ahead-of-time.  Shared objects retain much of the original file name and no hashes are added to verify the original file name or the contents of the file.  Crucially, this allows Guix Emacs and packages built against it to be grafted (@pxref{Security Updates, grafts}), but at the same time, Guix Emacs lacks the hash-based verification of source code baked into upstream Emacs.  As this naming schema is trivial to exploit, we disable just-in-time compilation."
msgstr "另一方面,Guix Emacs 更倾向于提前编译包。共享对象保留了大部分原始文件名,并且没有添加哈希值来验证原始文件名或文件内容。至关重要的是,这使得 Guix Emacs 及其构建的包能够被 grafted(@pxref{Security Updates, grafts}),但同时,Guix Emacs 缺乏上游 Emacs 中内置的基于哈希的源代码验证。由于这种命名方案很容易被利用,我们禁用了即时编译。"

#. type: quotation
#: guix-git/doc/guix.texi:1950
#, fuzzy
msgid "Further note, that @code{emacs-minimal}---the default Emacs for building packages---has been configured without native compilation.  To natively compile your emacs packages ahead of time, use a transformation like @option{--with-input=emacs-minimal=emacs}."
msgstr "进一步注意,@code{emacs-minimal}——构建包的默认 Emacs——已被配置为不进行本地编译。要提前本地编译您的 emacs 包,请使用类似 @option{--with-input=emacs-minimal=emacs} 的转换。"

#. type: cindex
#: guix-git/doc/guix.texi:1955
#, fuzzy, no-wrap
msgid "Upgrading Guix, on a foreign distro"
msgstr "在外部发行版上升级 Guix"

#. type: Plain text
#: guix-git/doc/guix.texi:1958
#, fuzzy
msgid "To upgrade Guix, run:"
msgstr "要升级 Guix,请运行:"

#. type: example
#: guix-git/doc/guix.texi:1961 guix-git/doc/guix.texi:2807
#, no-wrap
msgid "guix pull\n"
msgstr "guix pull\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1964
#, fuzzy
msgid "@xref{Invoking guix pull}, for more information."
msgstr "@xref{Invoking guix pack},了解这个方便的工具。"

#. type: cindex
#: guix-git/doc/guix.texi:1965
#, fuzzy, no-wrap
msgid "upgrading Guix for the root user, on a foreign distro"
msgstr "在外部发行版上为 root 用户升级 Guix"

#. type: cindex
#: guix-git/doc/guix.texi:1966
#, fuzzy, no-wrap
msgid "upgrading the Guix daemon, on a foreign distro"
msgstr "在外部发行版上升级 Guix 守护进程"

#. type: cindex
#: guix-git/doc/guix.texi:1967
#, fuzzy, no-wrap
msgid "@command{guix pull} for the root user, on a foreign distro"
msgstr "在外部发行版上为 root 用户运行 @command{guix pull}"

#. type: Plain text
#: guix-git/doc/guix.texi:1970
#, fuzzy
msgid "On a foreign distro, you can upgrade the build daemon by running:"
msgstr "在外部发行版上,您可以通过运行以下命令来升级构建守护进程:"

#. type: example
#: guix-git/doc/guix.texi:1973
#, no-wrap
msgid "sudo -i guix pull\n"
msgstr "sudo -i guix pull\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1978
#, fuzzy
msgid "followed by (assuming your distro uses the systemd service management tool):"
msgstr "然后(假设您的发行版使用 systemd 服务管理工具):"

#. type: example
#: guix-git/doc/guix.texi:1981
#, fuzzy, no-wrap
msgid "systemctl restart guix-daemon.service\n"
msgstr "semodule -i etc/guix-daemon.cil\n"

#. type: Plain text
#: guix-git/doc/guix.texi:1985
#, fuzzy
msgid "On Guix System, upgrading the daemon is achieved by reconfiguring the system (@pxref{Invoking guix system, @code{guix system reconfigure}})."
msgstr "在 Guix 系统上,通过重新配置系统来升级守护进程(@pxref{Invoking guix system, @code{guix system reconfigure}})。"

#. type: cindex
#: guix-git/doc/guix.texi:1992
#, fuzzy, no-wrap
msgid "installing Guix System"
msgstr "安装 Guix 系统"

#. type: cindex
#: guix-git/doc/guix.texi:1993
#, fuzzy, no-wrap
msgid "Guix System, installation"
msgstr "Guix 系统,安装"

#. type: Plain text
#: guix-git/doc/guix.texi:1998
#, fuzzy
msgid "This section explains how to install Guix System on a machine.  Guix, as a package manager, can also be installed on top of a running GNU/Linux system, @pxref{Installation}."
msgstr "本节解释了如何在机器上安装 Guix 系统。作为一个包管理器,Guix 也可以在运行的 GNU/Linux 系统上安装,@pxref{Installation}。"

#. type: quotation
#: guix-git/doc/guix.texi:2007
#, fuzzy
msgid "You are reading this documentation with an Info reader.  For details on how to use it, hit the @key{RET} key (``return'' or ``enter'') on the link that follows: @pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}.  Hit @kbd{l} afterwards to come back here."
msgstr "您正在使用 Info 阅读器阅读此文档。有关如何使用它的详细信息,请在以下链接上按 @key{RET} 键(“返回”或“输入”):@pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}。然后按 @kbd{l} 返回这里。"

#. type: quotation
#: guix-git/doc/guix.texi:2010
#, fuzzy
msgid "Alternatively, run @command{info info} in another tty to keep the manual available."
msgstr "或者,在另一个 tty 中运行 @command{info info} 以保持手册可用。"

#. type: Plain text
#: guix-git/doc/guix.texi:2031
#, fuzzy
msgid "We consider Guix System to be ready for a wide range of ``desktop'' and server use cases.  The reliability guarantees it provides---transactional upgrades and rollbacks, reproducibility---make it a solid foundation."
msgstr "我们认为 Guix 系统已准备好用于广泛的“桌面”和服务器用例。它提供的可靠性保证——事务升级和回滚、可重现性——使其成为一个坚实的基础。"

#. type: Plain text
#: guix-git/doc/guix.texi:2033
#, fuzzy
msgid "More and more system services are provided (@pxref{Services})."
msgstr "越来越多的系统服务被提供(@pxref{Services})。"

#. type: Plain text
#: guix-git/doc/guix.texi:2036
#, fuzzy
msgid "Nevertheless, before you proceed with the installation, be aware that some services you rely on may still be missing from version @value{VERSION}."
msgstr "然而,在您继续安装之前,请注意您依赖的一些服务可能仍然在 @value{VERSION} 版本中缺失。"

#. type: Plain text
#: guix-git/doc/guix.texi:2040
#, fuzzy
msgid "More than a disclaimer, this is an invitation to report issues (and success stories!), and to join us in improving it.  @xref{Contributing}, for more info."
msgstr "这不仅仅是免责声明,而是邀请您报告问题(和成功故事!),并与我们一起改进它。有关更多信息,请参见 @xref{Contributing}。"

#. type: cindex
#: guix-git/doc/guix.texi:2045
#, fuzzy, no-wrap
msgid "hardware support on Guix System"
msgstr "Guix 系统上的硬件支持"

#. type: Plain text
#: guix-git/doc/guix.texi:2054
#, fuzzy
msgid "GNU@tie{}Guix focuses on respecting the user's computing freedom.  It builds around the kernel Linux-libre, which means that only hardware for which free software drivers and firmware exist is supported.  Nowadays, a wide range of off-the-shelf hardware is supported on GNU/Linux-libre---from keyboards to graphics cards to scanners and Ethernet controllers.  Unfortunately, there are still areas where hardware vendors deny users control over their own computing, and such hardware is not supported on Guix System."
msgstr "GNU@tie{}Guix 专注于尊重用户的计算自由。它围绕 Linux-libre 内核构建,这意味着仅支持存在自由软件驱动程序和固件的硬件。如今,GNU/Linux-libre 支持广泛的现成硬件——从键盘到显卡,再到扫描仪和以太网控制器。不幸的是,仍然有一些领域,硬件供应商拒绝用户对自己计算的控制,这种硬件在 Guix 系统上不受支持。"

#. type: cindex
#: guix-git/doc/guix.texi:2055
#, fuzzy, no-wrap
msgid "WiFi, hardware support"
msgstr "WiFi,硬件支持"

#. type: Plain text
#: guix-git/doc/guix.texi:2064
#, fuzzy
msgid "One of the main areas where free drivers or firmware are lacking is WiFi devices.  WiFi devices known to work include those using Atheros chips (AR9271 and AR7010), which corresponds to the @code{ath9k} Linux-libre driver, and those using Broadcom/AirForce chips (BCM43xx with Wireless-Core Revision 5), which corresponds to the @code{b43-open} Linux-libre driver.  Free firmware exists for both and is available out-of-the-box on Guix System, as part of @code{%base-firmware} (@pxref{operating-system Reference, @code{firmware}})."
msgstr "自由驱动程序或固件缺乏的主要领域之一是 WiFi 设备。已知可用的 WiFi 设备包括使用 Atheros 芯片(AR9271 和 AR7010)的设备,这对应于 @code{ath9k} Linux-libre 驱动程序,以及使用 Broadcom/AirForce 芯片(BCM43xx 和 Wireless-Core Revision 5)的设备,这对应于 @code{b43-open} Linux-libre 驱动程序。两者都有自由固件,并作为 @code{%base-firmware} 的一部分在 Guix 系统上开箱即用(@pxref{operating-system Reference, @code{firmware}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:2067
#, fuzzy
msgid "The installer warns you early on if it detects devices that are known @emph{not} to work due to the lack of free firmware or free drivers."
msgstr "如果安装程序检测到由于缺乏自由固件或自由驱动程序而已知 @emph{不}工作的设备,它会在早期警告您。"

#. type: cindex
#: guix-git/doc/guix.texi:2068
#, fuzzy, no-wrap
msgid "RYF, Respects Your Freedom"
msgstr "RYF,尊重您的自由"

#. type: Plain text
#: guix-git/doc/guix.texi:2074
#, fuzzy
msgid "The @uref{https://www.fsf.org/, Free Software Foundation} runs @uref{https://www.fsf.org/ryf, @dfn{Respects Your Freedom}} (RYF), a certification program for hardware products that respect your freedom and your privacy and ensure that you have control over your device.  We encourage you to check the list of RYF-certified devices."
msgstr "@uref{https://www.fsf.org/, 自由软件基金会} 运行 @uref{https://www.fsf.org/ryf, @dfn{尊重您的自由}}(RYF),这是一个针对尊重您的自由和隐私并确保您对设备拥有控制权的硬件产品的认证程序。我们鼓励您查看 RYF 认证设备的列表。"

#. type: Plain text
#: guix-git/doc/guix.texi:2078
#, fuzzy
msgid "Another useful resource is the @uref{https://www.h-node.org/, H-Node} web site.  It contains a catalog of hardware devices with information about their support in GNU/Linux."
msgstr "另一个有用的资源是 @uref{https://www.h-node.org/, H-Node} 网站。它包含了硬件设备的目录,并提供了关于它们在 GNU/Linux 中支持的信息。"

#. type: Plain text
#: guix-git/doc/guix.texi:2087
#, fuzzy
msgid "An ISO-9660 installation image that can be written to a USB stick or burnt to a DVD can be downloaded from @indicateurl{@value{BASE-URL}/guix-system-install-@value{VERSION}.x86_64-linux.iso}, where you can replace @code{x86_64-linux} with one of:"
msgstr "可以从 @indicateurl{@value{BASE-URL}/guix-system-install-@value{VERSION}.x86_64-linux.iso} 下载一个可以写入 USB 闪存驱动器或刻录到 DVD 的 ISO-9660 安装映像,您可以将 @code{x86_64-linux} 替换为以下之一:"

#. type: table
#: guix-git/doc/guix.texi:2091
#, fuzzy
msgid "for a GNU/Linux system on Intel/AMD-compatible 64-bit CPUs;"
msgstr "用于在 Intel/AMD 兼容的 64 位 CPU 上运行的 GNU/Linux 系统;"

#. type: table
#: guix-git/doc/guix.texi:2094
#, fuzzy
msgid "for a 32-bit GNU/Linux system on Intel-compatible CPUs."
msgstr "用于在 Intel 兼容 CPU 上运行的 32 位 GNU/Linux 系统。"

#. type: Plain text
#: guix-git/doc/guix.texi:2099
#, fuzzy
msgid "Make sure to download the associated @file{.sig} file and to verify the authenticity of the image against it, along these lines:"
msgstr "确保下载相关的 @file{.sig} 文件,并根据它验证映像的真实性,步骤如下:"

#. type: example
#: guix-git/doc/guix.texi:2103
#, no-wrap
msgid ""
"$ wget @value{BASE-URL}/guix-system-install-@value{VERSION}.x86_64-linux.iso.sig\n"
"$ gpg --verify guix-system-install-@value{VERSION}.x86_64-linux.iso.sig\n"
msgstr ""
"$ wget @value{BASE-URL}/guix-system-install-@value{VERSION}.@var{系统}.iso.sig\n"
"$ gpg --verify guix-system-install-@value{VERSION}.@var{系统}.iso.sig\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2107
msgid "If that command fails because you do not have the required public key, then run this command to import it:"
msgstr "如果那个命令因为缺少所需的公钥而失败了,那么用这个命令导入它:"

#. type: example
#: guix-git/doc/guix.texi:2111
#, fuzzy, no-wrap
msgid ""
"$ wget @value{OPENPGP-SIGNING-KEY-URL} \\\n"
"      -qO - | gpg --import -\n"
msgstr ""
"$ wget @value{OPENPGP-SIGNING-KEY-URL} \\\n"
"      -qO - | gpg --import -\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2115
msgid "and rerun the @code{gpg --verify} command."
msgstr "再次运行@code{gpg --verify}命令。"

#. type: Plain text
#: guix-git/doc/guix.texi:2118
#, fuzzy
msgid "Take note that a warning like ``This key is not certified with a trusted signature!'' is normal."
msgstr "请注意,像 ``此密钥未经过受信任的签名认证!'' 的警告是正常的。"

#. type: Plain text
#: guix-git/doc/guix.texi:2123
#, fuzzy
msgid "This image contains the tools necessary for an installation.  It is meant to be copied @emph{as is} to a large-enough USB stick or DVD."
msgstr "此映像包含安装所需的工具。它旨在以 @emph{原样} 复制到足够大的 USB 闪存驱动器或 DVD 上。"

#. type: unnumberedsubsec
#: guix-git/doc/guix.texi:2124
#, fuzzy, no-wrap
msgid "Copying to a USB Stick"
msgstr "复制到 USB 闪存驱动器"

#. type: Plain text
#: guix-git/doc/guix.texi:2129
#, fuzzy
msgid "Insert a USB stick of 1@tie{}GiB or more into your machine, and determine its device name.  Assuming that the USB stick is known as @file{/dev/sdX}, copy the image with:"
msgstr "将一个 1@tie{}GiB 或更大的 USB 闪存驱动器插入您的机器,并确定其设备名称。假设 USB 闪存驱动器被称为 @file{/dev/sdX},可以使用以下命令复制映像:"

#. type: example
#: guix-git/doc/guix.texi:2133
#, fuzzy, no-wrap
msgid ""
"dd if=guix-system-install-@value{VERSION}.x86_64-linux.iso of=/dev/sdX status=progress\n"
"sync\n"
msgstr ""
"dd if=guix-system-install-@value{VERSION}.x86_64-linux.iso of=/dev/sdX status=progress\n"
"sync\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2136
#, fuzzy
msgid "Access to @file{/dev/sdX} usually requires root privileges."
msgstr "访问 @file{/dev/sdX} 通常需要 root 权限。"

#. type: unnumberedsubsec
#: guix-git/doc/guix.texi:2137
#, fuzzy, no-wrap
msgid "Burning on a DVD"
msgstr "刻录到 DVD"

#. type: Plain text
#: guix-git/doc/guix.texi:2142
#, fuzzy
msgid "Insert a blank DVD into your machine, and determine its device name.  Assuming that the DVD drive is known as @file{/dev/srX}, copy the image with:"
msgstr "将一张空白 DVD 插入您的机器,并确定其设备名称。假设 DVD 驱动器被称为 @file{/dev/srX},可以使用以下命令复制映像:"

#. type: example
#: guix-git/doc/guix.texi:2145
#, fuzzy, no-wrap
msgid "growisofs -dvd-compat -Z /dev/srX=guix-system-install-@value{VERSION}.x86_64-linux.iso\n"
msgstr "growisofs -dvd-compat -Z /dev/srX=guix-system-install-@value{VERSION}.x86_64-linux.iso\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2148
#, fuzzy
msgid "Access to @file{/dev/srX} usually requires root privileges."
msgstr "访问 @file{/dev/srX} 通常需要 root 权限。"

#. type: unnumberedsubsec
#: guix-git/doc/guix.texi:2149
#, fuzzy, no-wrap
msgid "Booting"
msgstr "启动"

#. type: Plain text
#: guix-git/doc/guix.texi:2156
#, fuzzy
msgid "Once this is done, you should be able to reboot the system and boot from the USB stick or DVD@.  The latter usually requires you to get in the BIOS or UEFI boot menu, where you can choose to boot from the USB stick.  In order to boot from Libreboot, switch to the command mode by pressing the @kbd{c} key and type @command{search_grub usb}."
msgstr "完成后,您应该能够重启系统并从 USB 闪存驱动器或 DVD 启动@。后者通常需要您进入 BIOS 或 UEFI 启动菜单,在那里您可以选择从 USB 闪存驱动器启动。为了从 Libreboot 启动,请按 @kbd{c} 键切换到命令模式,并输入 @command{search_grub usb}。"

#. type: Plain text
#: guix-git/doc/guix.texi:2166
#, fuzzy
msgid "Sadly, on some machines, the installation medium cannot be properly booted and you only see a black screen after booting even after you waited for ten minutes.  This may indicate that your machine cannot run Guix System; perhaps you instead want to install Guix on a foreign distro (@pxref{Binary Installation}).  But don't give up just yet; a possible workaround is pressing the @kbd{e} key in the GRUB boot menu and appending @option{nomodeset} to the Linux bootline.  Sometimes the black screen issue can also be resolved by connecting a different display."
msgstr "遗憾的是,在某些机器上,安装介质无法正确启动,您在启动后只看到黑屏,即使您等待了十分钟。这可能表明您的机器无法运行 Guix 系统;也许您想在其他发行版上安装 Guix (@pxref{Binary Installation})。但不要放弃;一个可能的解决方法是在 GRUB 启动菜单中按 @kbd{e} 键,并将 @option{nomodeset} 附加到 Linux 启动行。有时,黑屏问题也可以通过连接不同的显示器来解决。"

#. type: Plain text
#: guix-git/doc/guix.texi:2169
#, fuzzy
msgid "@xref{Installing Guix in a VM}, if, instead, you would like to install Guix System in a virtual machine (VM)."
msgstr "@xref{在虚拟机中安装 Guix},如果您希望在虚拟机 (VM) 中安装 Guix 系统。"

#. type: Plain text
#: guix-git/doc/guix.texi:2179
#, fuzzy
msgid "Once you have booted, you can use the guided graphical installer, which makes it easy to get started (@pxref{Guided Graphical Installation}).  Alternatively, if you are already familiar with GNU/Linux and if you want more control than what the graphical installer provides, you can choose the ``manual'' installation process (@pxref{Manual Installation})."
msgstr "一旦您启动后,可以使用引导式图形安装程序,这使得入门变得简单 (@pxref{引导式图形安装})。 另外,如果您已经熟悉 GNU/Linux,并且希望比图形安装程序提供的更多控制,您可以选择“手动”安装过程 (@pxref{手动安装})。"

#. type: Plain text
#: guix-git/doc/guix.texi:2187
#, fuzzy
msgid "The graphical installer is available on TTY1.  You can obtain root shells on TTYs 3 to 6 by hitting @kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4}, etc.  TTY2 shows this documentation and you can reach it with @kbd{ctrl-alt-f2}.  Documentation is browsable using the Info reader commands (@pxref{Top,,, info-stnd, Stand-alone GNU Info}).  The installation system runs the GPM mouse daemon, which allows you to select text with the left mouse button and to paste it with the middle button."
msgstr "图形安装程序在 TTY1 上可用。您可以通过按 @kbd{ctrl-alt-f3}、@kbd{ctrl-alt-f4} 等在 TTY3 到 TTY6 上获取 root shell。TTY2 显示此文档,您可以通过 @kbd{ctrl-alt-f2} 访问它。文档可以使用 Info 阅读器命令浏览 (@pxref{Top,,, info-stnd, 独立的 GNU Info})。安装系统运行 GPM 鼠标守护进程,允许您使用左键选择文本,并使用中键粘贴。"

#. type: quotation
#: guix-git/doc/guix.texi:2192
#, fuzzy
msgid "Installation requires access to the Internet so that any missing dependencies of your system configuration can be downloaded.  See the ``Networking'' section below."
msgstr "安装需要访问互联网,以便下载系统配置中缺失的任何依赖项。请参见下面的“网络”部分。"

#. type: Plain text
#: guix-git/doc/guix.texi:2199
#, fuzzy
msgid "The graphical installer is a text-based user interface.  It will guide you, with dialog boxes, through the steps needed to install GNU@tie{}Guix System."
msgstr "图形安装程序是基于文本的用户界面。它将通过对话框引导您完成安装 GNU@tie{}Guix 系统所需的步骤。"

#. type: Plain text
#: guix-git/doc/guix.texi:2204
#, fuzzy
msgid "The first dialog boxes allow you to set up the system as you use it during the installation: you can choose the language, keyboard layout, and set up networking, which will be used during the installation.  The image below shows the networking dialog."
msgstr "第一个对话框允许您在安装过程中设置系统:您可以选择语言、键盘布局,并设置网络,这将在安装过程中使用。下面的图像显示了网络对话框。"

#. type: Plain text
#: guix-git/doc/guix.texi:2206
#, fuzzy
msgid "@image{images/installer-network,5in,, networking setup with the graphical installer}"
msgstr "@image{images/installer-network,5in,, 使用图形安装程序进行网络设置}"

#. type: Plain text
#: guix-git/doc/guix.texi:2211
#, fuzzy
msgid "Later steps allow you to partition your hard disk, as shown in the image below, to choose whether or not to use encrypted file systems, to enter the host name and root password, and to create an additional account, among other things."
msgstr "后续步骤允许您对硬盘进行分区,如下图所示,选择是否使用加密文件系统,输入主机名和 root 密码,以及创建额外帐户等。"

#. type: Plain text
#: guix-git/doc/guix.texi:2213
#, fuzzy
msgid "@image{images/installer-partitions,5in,, partitioning with the graphical installer}"
msgstr "@image{images/installer-partitions,5in,, 使用图形安装程序进行分区}"

#. type: Plain text
#: guix-git/doc/guix.texi:2216
#, fuzzy
msgid "Note that, at any time, the installer allows you to exit the current installation step and resume at a previous step, as show in the image below."
msgstr "请注意,在任何时候,安装程序都允许您退出当前安装步骤并从先前步骤恢复,如下图所示。"

#. type: Plain text
#: guix-git/doc/guix.texi:2218
#, fuzzy
msgid "@image{images/installer-resume,5in,, resuming the installation process}"
msgstr "@image{images/installer-resume,5in,, 恢复安装过程}"

#. type: Plain text
#: guix-git/doc/guix.texi:2223
#, fuzzy
msgid "Once you're done, the installer produces an operating system configuration and displays it (@pxref{Using the Configuration System}).  At that point you can hit ``OK'' and installation will proceed.  On success, you can reboot into the new system and enjoy.  @xref{After System Installation}, for what's next!"
msgstr "完成后,安装程序会生成操作系统配置并显示出来(@pxref{使用配置系统})。此时,您可以点击“确定”,安装将继续。成功后,您可以重启进入新系统并享受。有关接下来的内容,请参见@xref{系统安装后}!"

#. type: Plain text
#: guix-git/doc/guix.texi:2233
msgid "This section describes how you would ``manually'' install GNU@tie{}Guix System on your machine.  This option requires familiarity with GNU/Linux, with the shell, and with common administration tools.  If you think this is not for you, consider using the guided graphical installer (@pxref{Guided Graphical Installation})."
msgstr "这个小节描述了如何在你的电脑上“手动地”安装GNU@tie{}Guix System。这样做需要你熟悉GNU/Linux,终端以及常用管理工具。若你对此不自信,建议使用指导的图形安装(@pxref{Guided Graphical Installation})。"

#. type: Plain text
#: guix-git/doc/guix.texi:2239
#, fuzzy
msgid "The installation system provides root shells on TTYs 3 to 6; press @kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4}, and so on to reach them.  It includes many common tools needed to install the system, but is also a full-blown Guix System.  This means that you can install additional packages, should you need it, using @command{guix package} (@pxref{Invoking guix package})."
msgstr "安装中系统提供root shells on TTYs 3 to 6;按@kbd{ctrl-alt-f3},@kbd{ctrl-alt-f4}即可打开。很多常见的工具都在这个系统内,同时它也是一个完整的Guix System。这意味着如果需要,使用@command{guix package} (@pxref{Invoking guix package}),你可以下载额外的包。"

#. type: subsection
#: guix-git/doc/guix.texi:2246
#, no-wrap
msgid "Keyboard Layout, Networking, and Partitioning"
msgstr "键盘布局、网络和分区"

#. type: Plain text
#: guix-git/doc/guix.texi:2251
#, fuzzy
msgid "Before you can install the system, you may want to adjust the keyboard layout, set up networking, and partition your target hard disk.  This section will guide you through this."
msgstr "在您可以安装系统之前,您可能需要调整键盘布局、设置网络和分区目标硬盘。本节将指导您完成这些步骤。"

#. type: cindex
#: guix-git/doc/guix.texi:2254 guix-git/doc/guix.texi:18903
#, fuzzy, no-wrap
msgid "keyboard layout"
msgstr "键盘布局"

#. type: Plain text
#: guix-git/doc/guix.texi:2258
msgid "The installation image uses the US qwerty keyboard layout.  If you want to change it, you can use the @command{loadkeys} command.  For example, the following command selects the Dvorak keyboard layout:"
msgstr "安装镜像使用的是美国的 qwerty 键盘布局,如果想更改,可以使用 @command{loadkeys} 命令。 例如,用以下命令选择 Dvorak 键盘布局:"

#. type: example
#: guix-git/doc/guix.texi:2261
#, fuzzy, no-wrap
msgid "loadkeys dvorak\n"
msgstr "loadkeys dvorak\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2266
#, fuzzy
msgid "See the files under @file{/run/current-system/profile/share/keymaps} for a list of available keyboard layouts.  Run @command{man loadkeys} for more information."
msgstr "请查看@file{/run/current-system/profile/share/keymaps}下的文件,以获取可用键盘布局的列表。运行@command{man loadkeys}以获取更多信息。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:2268
msgid "manual-installation-networking"
msgstr "manual-installation-networking"

#. type: subsubsection
#: guix-git/doc/guix.texi:2268
#, fuzzy, no-wrap
msgid "Networking"
msgstr "网络"

#. type: Plain text
#: guix-git/doc/guix.texi:2271
msgid "Run the following command to see what your network interfaces are called:"
msgstr "运行以下命令查看你的网络接口的名称:"

#. type: example
#: guix-git/doc/guix.texi:2274
#, fuzzy, no-wrap
msgid "ifconfig -a\n"
msgstr "ifconfig -a\n"

#. type: table
#: guix-git/doc/guix.texi:2278 guix-git/doc/guix.texi:2300
msgid "@dots{} or, using the GNU/Linux-specific @command{ip} command:"
msgstr "@dots{} 或者,使用 GNU/Linux 特有的 @command{ip} 命令:"

#. type: example
#: guix-git/doc/guix.texi:2281
#, fuzzy, no-wrap
msgid "ip address\n"
msgstr "ip address\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2288
#, fuzzy
msgid "Wired interfaces have a name starting with @samp{e}; for example, the interface corresponding to the first on-board Ethernet controller is called @samp{eno1}.  Wireless interfaces have a name starting with @samp{w}, like @samp{w1p2s0}."
msgstr "有线接口的名称以@samp{e}开头;例如,第一块板载以太网控制器对应的接口称为@samp{eno1}。无线接口的名称以@samp{w}开头,如@samp{w1p2s0}。"

#. type: item
#: guix-git/doc/guix.texi:2290
#, no-wrap
msgid "Wired connection"
msgstr "有线连接"

#. type: table
#: guix-git/doc/guix.texi:2293
#, fuzzy
msgid "To configure a wired network run the following command, substituting @var{interface} with the name of the wired interface you want to use."
msgstr "要配置有线网络,请运行以下命令,将@var{interface}替换为您要使用的有线接口的名称。"

#. type: example
#: guix-git/doc/guix.texi:2296
#, fuzzy, no-wrap
msgid "ifconfig @var{interface} up\n"
msgstr "ifconfig @var{interface} up\n"

#. type: example
#: guix-git/doc/guix.texi:2303
#, fuzzy, no-wrap
msgid "ip link set @var{interface} up\n"
msgstr "ip link set @var{interface} up\n"

#. type: item
#: guix-git/doc/guix.texi:2305
#, no-wrap
msgid "Wireless connection"
msgstr "无线连接"

#. type: cindex
#: guix-git/doc/guix.texi:2306
#, fuzzy, no-wrap
msgid "wireless"
msgstr "无线"

#. type: cindex
#: guix-git/doc/guix.texi:2307
#, fuzzy, no-wrap
msgid "WiFi"
msgstr "WiFi"

#. type: table
#: guix-git/doc/guix.texi:2312
#, fuzzy
msgid "To configure wireless networking, you can create a configuration file for the @command{wpa_supplicant} configuration tool (its location is not important) using one of the available text editors such as @command{nano}:"
msgstr "要配置无线网络,您可以使用可用的文本编辑器(如@command{nano})为@command{wpa_supplicant}配置工具创建一个配置文件(其位置不重要):"

#. type: example
#: guix-git/doc/guix.texi:2315
#, fuzzy, no-wrap
msgid "nano wpa_supplicant.conf\n"
msgstr "nano wpa_supplicant.conf\n"

#. type: table
#: guix-git/doc/guix.texi:2320
#, fuzzy
msgid "As an example, the following stanza can go to this file and will work for many wireless networks, provided you give the actual SSID and passphrase for the network you are connecting to:"
msgstr "作为示例,以下段落可以放入此文件,并且适用于许多无线网络,前提是您提供实际的SSID和连接网络的密码:"

#. type: example
#: guix-git/doc/guix.texi:2327
#, fuzzy, no-wrap
msgid ""
"network=@{\n"
"  ssid=\"@var{my-ssid}\"\n"
"  key_mgmt=WPA-PSK\n"
"  psk=\"the network's secret passphrase\"\n"
"@}\n"
msgstr ""
"network=@{\n"
"  ssid=\"@var{my-ssid}\"\n"
"  key_mgmt=WPA-PSK\n"
"  psk=\"网络的秘密密码\"\n"
"@}\n"

#. type: table
#: guix-git/doc/guix.texi:2332
#, fuzzy
msgid "Start the wireless service and run it in the background with the following command (substitute @var{interface} with the name of the network interface you want to use):"
msgstr "启动无线服务并使用以下命令在后台运行(将@var{interface}替换为您要使用的网络接口的名称):"

#. type: example
#: guix-git/doc/guix.texi:2335
#, fuzzy, no-wrap
msgid "wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B\n"
msgstr "wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B\n"

#. type: table
#: guix-git/doc/guix.texi:2338
#, fuzzy
msgid "Run @command{man wpa_supplicant} for more information."
msgstr "运行@command{man wpa_supplicant}以获取更多信息。"

#. type: cindex
#: guix-git/doc/guix.texi:2340
#, fuzzy, no-wrap
msgid "DHCP"
msgstr "DHCP"

#. type: Plain text
#: guix-git/doc/guix.texi:2343
#, fuzzy
msgid "At this point, you need to acquire an IP address.  On a network where IP addresses are automatically assigned @i{via} DHCP, you can run:"
msgstr "此时,您需要获取一个IP地址。在一个通过DHCP自动分配IP地址的网络上,您可以运行:"

#. type: example
#: guix-git/doc/guix.texi:2346
#, fuzzy, no-wrap
msgid "dhclient -v @var{interface}\n"
msgstr "dhclient -v @var{interface}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2349
#, fuzzy
msgid "Try to ping a server to see if networking is up and running:"
msgstr "尝试ping一个服务器以查看网络是否正常运行:"

#. type: example
#: guix-git/doc/guix.texi:2352
#, fuzzy, no-wrap
msgid "ping -c 3 gnu.org\n"
msgstr "ping -c 3 gnu.org\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2356
#, fuzzy
msgid "Setting up network access is almost always a requirement because the image does not contain all the software and tools that may be needed."
msgstr "设置网络访问几乎总是一个要求,因为映像不包含可能需要的所有软件和工具。"

#. type: cindex
#: guix-git/doc/guix.texi:2357
#, fuzzy, no-wrap
msgid "proxy, during system installation"
msgstr "系统安装之后"

#. type: Plain text
#: guix-git/doc/guix.texi:2360
#, fuzzy
msgid "If you need HTTP and HTTPS access to go through a proxy, run the following command:"
msgstr "如果您需要通过代理访问HTTP和HTTPS,请运行以下命令:"

#. type: example
#: guix-git/doc/guix.texi:2363
#, fuzzy, no-wrap
msgid "herd set-http-proxy guix-daemon @var{URL}\n"
msgstr "herd set-http-proxy guix-daemon @var{URL}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2368
#, fuzzy
msgid "where @var{URL} is the proxy URL, for example @code{http://example.org:8118}."
msgstr "其中 @var{URL} 是代理URL,例如 @code{http://example.org:8118}。"

#. type: cindex
#: guix-git/doc/guix.texi:2369
#, fuzzy, no-wrap
msgid "installing over SSH"
msgstr "通过SSH安装"

#. type: Plain text
#: guix-git/doc/guix.texi:2372
#, fuzzy
msgid "If you want to, you can continue the installation remotely by starting an SSH server:"
msgstr "如果您愿意,可以通过启动SSH服务器继续远程安装:"

#. type: example
#: guix-git/doc/guix.texi:2375
#, fuzzy, no-wrap
msgid "herd start ssh-daemon\n"
msgstr "herd start ssh-daemon\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2379
#, fuzzy
msgid "Make sure to either set a password with @command{passwd}, or configure OpenSSH public key authentication before logging in."
msgstr "确保在登录之前使用 @command{passwd} 设置密码,或配置OpenSSH公钥认证。"

#. type: subsubsection
#: guix-git/doc/guix.texi:2380
#, no-wrap
msgid "Disk Partitioning"
msgstr "磁盘分区"

#. type: Plain text
#: guix-git/doc/guix.texi:2384
#, fuzzy
msgid "Unless this has already been done, the next step is to partition, and then format the target partition(s)."
msgstr "除非已经完成此操作,否则下一步是对目标分区进行分区,然后格式化。"

#. type: Plain text
#: guix-git/doc/guix.texi:2389
#, fuzzy
msgid "The installation image includes several partitioning tools, including Parted (@pxref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk}, and @command{cfdisk}.  Run it and set up your disk with the partition layout you want:"
msgstr "安装映像包括几个分区工具,包括Parted (@pxref{Overview,,, parted, GNU Parted User Manual})、@command{fdisk}和@command{cfdisk}。运行它并根据您想要的分区布局设置磁盘:"

#. type: example
#: guix-git/doc/guix.texi:2392
#, fuzzy, no-wrap
msgid "cfdisk\n"
msgstr "cfdisk\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2398
#, fuzzy
msgid "If your disk uses the GUID Partition Table (GPT) format and you plan to install BIOS-based GRUB (which is the default), make sure a BIOS Boot Partition is available (@pxref{BIOS installation,,, grub, GNU GRUB manual})."
msgstr "如果您的磁盘使用GUID分区表(GPT)格式,并且您计划安装基于BIOS的GRUB(这是默认设置),请确保有一个BIOS引导分区可用 (@pxref{BIOS installation,,, grub, GNU GRUB manual})。"

#. type: cindex
#: guix-git/doc/guix.texi:2399
#, fuzzy, no-wrap
msgid "EFI, installation"
msgstr "EFI,安装"

#. type: cindex
#: guix-git/doc/guix.texi:2400
#, fuzzy, no-wrap
msgid "UEFI, installation"
msgstr "UEFI,安装"

#. type: cindex
#: guix-git/doc/guix.texi:2401
#, fuzzy, no-wrap
msgid "ESP, EFI system partition"
msgstr "ESP,EFI系统分区"

#. type: Plain text
#: guix-git/doc/guix.texi:2405
#, fuzzy
msgid "If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System Partition} (ESP) is required.  This partition can be mounted at @file{/boot/efi} for instance and must have the @code{esp} flag set.  E.g., for @command{parted}:"
msgstr "如果您希望使用基于EFI的GRUB,则需要一个FAT32 @dfn{EFI系统分区}(ESP)。例如,此分区可以挂载在 @file{/boot/efi},并且必须设置 @code{esp} 标志。例如,对于 @command{parted}:"

#. type: example
#: guix-git/doc/guix.texi:2408
#, fuzzy, no-wrap
msgid "parted /dev/sda set 1 esp on\n"
msgstr "parted /dev/sda set 1 esp on\n"

#. type: vindex
#: guix-git/doc/guix.texi:2411 guix-git/doc/guix.texi:44022
#, fuzzy, no-wrap
msgid "grub-bootloader"
msgstr "grub-引导加载程序"

#. type: vindex
#: guix-git/doc/guix.texi:2412 guix-git/doc/guix.texi:44026
#, fuzzy, no-wrap
msgid "grub-efi-bootloader"
msgstr "grub-efi-引导加载程序"

#. type: quotation
#: guix-git/doc/guix.texi:2419
#, fuzzy
msgid "Unsure whether to use EFI- or BIOS-based GRUB? If the directory @file{/sys/firmware/efi} exists in the installation image, then you should probably perform an EFI installation, using @code{grub-efi-bootloader}.  Otherwise you should use the BIOS-based GRUB, known as @code{grub-bootloader}.  @xref{Bootloader Configuration}, for more info on bootloaders."
msgstr "不确定使用EFI还是基于BIOS的GRUB?如果安装映像中存在目录 @file{/sys/firmware/efi},那么您可能应该执行EFI安装,使用 @code{grub-efi-bootloader}。否则,您应该使用基于BIOS的GRUB,称为 @code{grub-bootloader}。有关引导加载程序的更多信息,请参见 @xref{Bootloader Configuration}。"

#. type: Plain text
#: guix-git/doc/guix.texi:2427
#, fuzzy
msgid "Once you are done partitioning the target hard disk drive, you have to create a file system on the relevant partition(s)@footnote{Currently Guix System only supports ext4, btrfs, JFS, F2FS, and XFS file systems.  In particular, code that reads file system UUIDs and labels only works for these file system types.}.  For the ESP, if you have one and assuming it is @file{/dev/sda1}, run:"
msgstr "完成目标硬盘驱动器的分区后,您必须在相关分区上创建文件系统@footnote{目前 Guix 系统仅支持 ext4、btrfs、JFS、F2FS 和 XFS 文件系统。特别是,读取文件系统 UUID 和标签的代码仅适用于这些文件系统类型。}。对于 ESP,如果您有一个,并假设它是 @file{/dev/sda1},请运行:"

#. type: example
#: guix-git/doc/guix.texi:2430
#, fuzzy, no-wrap
msgid "mkfs.fat -F32 /dev/sda1\n"
msgstr "mkfs.fat -F32 /dev/sda1\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2437
#, fuzzy
msgid "For the root file system, ext4 is the most widely used format.  Other file systems, such as Btrfs, support compression, which is reported to nicely complement file deduplication that the daemon performs independently of the file system (@pxref{Invoking guix-daemon, deduplication})."
msgstr "对于根文件系统,ext4 是最广泛使用的格式。其他文件系统,如 Btrfs,支持压缩,据报道与守护进程独立于文件系统执行的文件去重很好地互补 (@pxref{调用 guix-daemon,去重})。"

#. type: Plain text
#: guix-git/doc/guix.texi:2444
#, fuzzy
msgid "Preferably, assign file systems a label so that you can easily and reliably refer to them in @code{file-system} declarations (@pxref{File Systems}).  This is typically done using the @code{-L} option of @command{mkfs.ext4} and related commands.  So, assuming the target root partition lives at @file{/dev/sda2}, a file system with the label @code{my-root} can be created with:"
msgstr "最好为文件系统分配一个标签,以便您可以在 @code{file-system} 声明中轻松可靠地引用它们 (@pxref{文件系统})。这通常使用 @command{mkfs.ext4} 和相关命令的 @code{-L} 选项来完成。因此,假设目标根分区位于 @file{/dev/sda2},可以使用以下命令创建标签为 @code{my-root} 的文件系统:"

#. type: example
#: guix-git/doc/guix.texi:2447
#, fuzzy, no-wrap
msgid "mkfs.ext4 -L my-root /dev/sda2\n"
msgstr "mkfs.ext4 -L my-root /dev/sda2\n"

#. type: cindex
#: guix-git/doc/guix.texi:2449 guix-git/doc/guix.texi:17623
#, fuzzy, no-wrap
msgid "encrypted disk"
msgstr "加密磁盘"

#. type: Plain text
#: guix-git/doc/guix.texi:2454
#, fuzzy
msgid "If you are instead planning to encrypt the root partition, you can use the Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html, @uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}}, @code{man cryptsetup}} for more information)."
msgstr "如果您打算加密根分区,可以使用 Cryptsetup/LUKS 工具来实现(有关更多信息,请参见 @inlinefmtifelse{html, @uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}}, @code{man cryptsetup}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:2458
#, fuzzy
msgid "Assuming you want to store the root partition on @file{/dev/sda2}, the command sequence to format it as a LUKS partition would be along these lines:"
msgstr "假设您想将根分区存储在 @file{/dev/sda2},将其格式化为 LUKS 分区的命令序列大致如下:"

#. type: example
#: guix-git/doc/guix.texi:2463
#, fuzzy, no-wrap
msgid ""
"cryptsetup luksFormat /dev/sda2\n"
"cryptsetup open /dev/sda2 my-partition\n"
"mkfs.ext4 -L my-root /dev/mapper/my-partition\n"
msgstr ""
"cryptsetup luksFormat /dev/sda2\n"
"cryptsetup open /dev/sda2 my-partition\n"
"mkfs.ext4 -L my-root /dev/mapper/my-partition\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2468
#, fuzzy
msgid "Once that is done, mount the target file system under @file{/mnt} with a command like (again, assuming @code{my-root} is the label of the root file system):"
msgstr "完成后,使用类似的命令将目标文件系统挂载到 @file{/mnt} 下(同样,假设 @code{my-root} 是根文件系统的标签):"

#. type: example
#: guix-git/doc/guix.texi:2471
#, fuzzy, no-wrap
msgid "mount LABEL=my-root /mnt\n"
msgstr "mount LABEL=my-root /mnt\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2477
#, fuzzy
msgid "Also mount any other file systems you would like to use on the target system relative to this path.  If you have opted for @file{/boot/efi} as an EFI mount point for example, mount it at @file{/mnt/boot/efi} now so it is found by @code{guix system init} afterwards."
msgstr "还要挂载您希望在目标系统上使用的任何其他文件系统。如果您选择将 @file{/boot/efi} 作为 EFI 挂载点,请现在将其挂载到 @file{/mnt/boot/efi},以便之后被 @code{guix system init} 找到。"

#. type: Plain text
#: guix-git/doc/guix.texi:2481
#, fuzzy
msgid "Finally, if you plan to use one or more swap partitions (@pxref{Swap Space}), make sure to initialize them with @command{mkswap}.  Assuming you have one swap partition on @file{/dev/sda3}, you would run:"
msgstr "最后,如果您计划使用一个或多个交换分区(@pxref{Swap Space}),请确保使用@command{mkswap}初始化它们。假设您在@file{/dev/sda3}上有一个交换分区,您可以运行:"

#. type: example
#: guix-git/doc/guix.texi:2485
#, fuzzy, no-wrap
msgid ""
"mkswap /dev/sda3\n"
"swapon /dev/sda3\n"
msgstr ""
"mkswap /dev/sda3\n"
"swapon /dev/sda3\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2493
#, fuzzy
msgid "Alternatively, you may use a swap file.  For example, assuming that in the new system you want to use the file @file{/swapfile} as a swap file, you would run@footnote{This example will work for many types of file systems (e.g., ext4).  However, for copy-on-write file systems (e.g., btrfs), the required steps may be different.  For details, see the manual pages for @command{mkswap} and @command{swapon}.}:"
msgstr "另外,您可以使用交换文件。例如,假设在新系统中您想将文件@file{/swapfile}用作交换文件,您可以运行@footnote{此示例适用于许多类型的文件系统(例如,ext4)。但是,对于写时复制文件系统(例如,btrfs),所需的步骤可能会有所不同。有关详细信息,请参阅@command{mkswap}和@command{swapon}的手册页。}:"

#. type: example
#: guix-git/doc/guix.texi:2501
#, fuzzy, no-wrap
msgid ""
"# This is 10 GiB of swap space.  Adjust \"count\" to change the size.\n"
"dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240\n"
"# For security, make the file readable and writable only by root.\n"
"chmod 600 /mnt/swapfile\n"
"mkswap /mnt/swapfile\n"
"swapon /mnt/swapfile\n"
msgstr ""
"# 这是10 GiB的交换空间。调整“count”以更改大小。\n"
"dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240\n"
"# 为了安全起见,使文件仅对root可读和可写。\n"
"chmod 600 /mnt/swapfile\n"
"mkswap /mnt/swapfile\n"
"swapon /mnt/swapfile\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2506
#, fuzzy
msgid "Note that if you have encrypted the root partition and created a swap file in its file system as described above, then the encryption also protects the swap file, just like any other file in that file system."
msgstr "请注意,如果您加密了根分区并在其文件系统中创建了交换文件,如上所述,那么加密也会保护交换文件,就像该文件系统中的任何其他文件一样。"

#. type: Plain text
#: guix-git/doc/guix.texi:2512
#, fuzzy
msgid "With the target partitions ready and the target root mounted on @file{/mnt}, we're ready to go.  First, run:"
msgstr "目标分区准备就绪,目标根目录挂载在@file{/mnt}上,我们准备好了。首先,运行:"

#. type: example
#: guix-git/doc/guix.texi:2515
#, fuzzy, no-wrap
msgid "herd start cow-store /mnt\n"
msgstr "herd start cow-store /mnt\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2522
msgid "This makes @file{/gnu/store} copy-on-write, such that packages added to it during the installation phase are written to the target disk on @file{/mnt} rather than kept in memory.  This is necessary because the first phase of the @command{guix system init} command (see below) entails downloads or builds to @file{/gnu/store} which, initially, is an in-memory file system."
msgstr "这使得@file{/gnu/store}写入时复制,这使得在下载阶段添加的包会被写入到/mnt挂载的硬盘上,而非将其保存在内存里。这是必要的,因为@command{guix system init}命令(见下)的第一阶段要求下载和编译在@file{/gnu/store}进行,而这个文件系统初始是在内存里。"

#. type: Plain text
#: guix-git/doc/guix.texi:2533
#, fuzzy
msgid "Next, you have to edit a file and provide the declaration of the operating system to be installed.  To that end, the installation system comes with three text editors.  We recommend GNU nano (@pxref{Top,,, nano, GNU nano Manual}), which supports syntax highlighting and parentheses matching; other editors include mg (an Emacs clone), and nvi (a clone of the original BSD @command{vi} editor).  We strongly recommend storing that file on the target root file system, say, as @file{/mnt/etc/config.scm}.  Failing to do that, you will have lost your configuration file once you have rebooted into the newly-installed system."
msgstr "接下来,您需要编辑一个文件并provide the declaration of the operating system to be installed。为此,其配备了三个文本编辑器。我们建议使用GNU nano(@pxref{Top,,, nano, GNU nano Manual}),它支持语法高亮和括号匹配;其他编辑器包括mg(Emacs克隆版)和nvi(原始BSD编辑器的克隆版@command{vi} editor)。我们强烈建议将该文件存储在目标根文件系统上,例如@file{/mnt/etc/config.scm}。若未这样做,一旦重新启动到新安装的系统中,您将失去你的配置文件。"

#. type: Plain text
#: guix-git/doc/guix.texi:2540
msgid "@xref{Using the Configuration System}, for an overview of the configuration file.  The example configurations discussed in that section are available under @file{/etc/configuration} in the installation image.  Thus, to get started with a system configuration providing a graphical display server (a ``desktop'' system), you can run something along these lines:"
msgstr "@xref{Using the Configuration System},即为配置文件的概述。该小节讨论的示例配置可以在安装映像的@file{/etc/configuration}下找到。因此,若要开始使用为显示图形的服务器(一个“桌面的”系统)提供的系统配置,您可以运行参考以下内容的命令:"

#. type: example
#: guix-git/doc/guix.texi:2545
#, fuzzy, no-wrap
msgid ""
"# mkdir /mnt/etc\n"
"# cp /etc/configuration/desktop.scm /mnt/etc/config.scm\n"
"# nano /mnt/etc/config.scm\n"
msgstr ""
"# mkdir /mnt/etc\n"
"# cp /etc/configuration/desktop.scm /mnt/etc/config.scm\n"
"# nano /mnt/etc/config.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2549
#, fuzzy
msgid "You should pay attention to what your configuration file contains, and in particular:"
msgstr "您应该注意您的配置文件包含的内容,特别是:"

#. type: itemize
#: guix-git/doc/guix.texi:2561
#, fuzzy
msgid "Make sure the @code{bootloader-configuration} form refers to the targets you want to install GRUB on.  It should mention @code{grub-bootloader} if you are installing GRUB in the legacy way, or @code{grub-efi-bootloader} for newer UEFI systems.  For legacy systems, the @code{targets} field contain the names of the devices, like @code{(list \"/dev/sda\")}; for UEFI systems it names the paths to mounted EFI partitions, like @code{(list \"/boot/efi\")}; do make sure the paths are currently mounted and a @code{file-system} entry is specified in your configuration."
msgstr "确保@code{bootloader-configuration}表单引用您想要安装GRUB的目标。如果您以传统方式安装GRUB,它应该提到@code{grub-bootloader},或者对于较新的UEFI系统,提到@code{grub-efi-bootloader}。对于传统系统,@code{targets}字段包含设备的名称,例如@code{(list \"/dev/sda\")};对于UEFI系统,它命名挂载的EFI分区的路径,例如@code{(list \"/boot/efi\")};请确保路径当前已挂载,并且在您的配置中指定了@code{file-system}条目。"

#. type: itemize
#: guix-git/doc/guix.texi:2567
#, fuzzy
msgid "Be sure that your file system labels match the value of their respective @code{device} fields in your @code{file-system} configuration, assuming your @code{file-system} configuration uses the @code{file-system-label} procedure in its @code{device} field."
msgstr "确保您的文件系统标签与@code{file-system}配置中各自@code{device}字段的值匹配,前提是您的@code{file-system}配置在其@code{device}字段中使用了@code{file-system-label}过程。"

#. type: itemize
#: guix-git/doc/guix.texi:2571
#, fuzzy
msgid "If there are encrypted or RAID partitions, make sure to add a @code{mapped-devices} field to describe them (@pxref{Mapped Devices})."
msgstr "如果有加密或RAID分区,请确保添加一个@code{mapped-devices}字段来描述它们(@pxref{Mapped Devices})。"

#. type: Plain text
#: guix-git/doc/guix.texi:2576
#, fuzzy
msgid "Once you are done preparing the configuration file, the new system must be initialized (remember that the target root file system is mounted under @file{/mnt}):"
msgstr "完成配置文件的准备后,必须初始化新系统(请记住,目标根文件系统挂载在@file{/mnt}下):"

#. type: example
#: guix-git/doc/guix.texi:2579
#, fuzzy, no-wrap
msgid "guix system init /mnt/etc/config.scm /mnt\n"
msgstr "guix system init /mnt/etc/config.scm /mnt\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2586
#, fuzzy
msgid "This copies all the necessary files and installs GRUB on @file{/dev/sdX}, unless you pass the @option{--no-bootloader} option.  For more information, @pxref{Invoking guix system}.  This command may trigger downloads or builds of missing packages, which can take some time."
msgstr "这将复制所有必要的文件并在@file{/dev/sdX}上安装GRUB,除非您传递@option{--no-bootloader}选项。有关更多信息,请参见@pxref{Invoking guix system}。此命令可能会触发缺失软件包的下载或构建,这可能需要一些时间。"

#. type: Plain text
#: guix-git/doc/guix.texi:2594
#, fuzzy
msgid "Once that command has completed---and hopefully succeeded!---you can run @command{reboot} and boot into the new system.  The @code{root} password in the new system is initially empty; other users' passwords need to be initialized by running the @command{passwd} command as @code{root}, unless your configuration specifies otherwise (@pxref{user-account-password, user account passwords}).  @xref{After System Installation}, for what's next!"
msgstr "一旦该命令完成——希望成功!——您可以运行@command{reboot}并启动到新系统中。新系统中的@code{root}密码最初为空;其他用户的密码需要通过以@code{root}身份运行@command{passwd}命令来初始化,除非您的配置另有说明(@pxref{user-account-password, user account passwords})。有关接下来的内容,请参见@xref{After System Installation}!"

#. type: Plain text
#: guix-git/doc/guix.texi:2602
#, fuzzy
msgid "Success, you've now booted into Guix System! Login to the system using the non-@code{root} user that you created during installation.  You can upgrade the system whenever you want by running:"
msgstr "成功了,您现在已启动到Guix系统!您可以随时通过运行以下命令来升级系统:"

#. type: example
#: guix-git/doc/guix.texi:2606 guix-git/doc/guix.texi:17410
#, fuzzy, no-wrap
msgid ""
"guix pull\n"
"sudo guix system reconfigure /etc/config.scm\n"
msgstr ""
"guix pull\n"
"sudo guix system reconfigure /etc/config.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2611
#, fuzzy
msgid "This builds a new system @dfn{generation} with the latest packages and services."
msgstr "这将构建一个带有最新软件包和服务的新系统@dfn{generation}。"

#. type: Plain text
#: guix-git/doc/guix.texi:2615
#, fuzzy
msgid "Now, @pxref{Getting Started with the System}, and join us on @code{#guix} on the Libera.Chat IRC network or on @email{guix-devel@@gnu.org} to share your experience!"
msgstr "现在,@pxref{Getting Started with the System},并加入我们在Libera.Chat IRC网络的@code{#guix}频道或通过@email{guix-devel@@gnu.org}分享您的经验!"

#. type: section
#: guix-git/doc/guix.texi:2618
#, fuzzy, no-wrap
msgid "Installing Guix in a Virtual Machine"
msgstr "在虚拟机中安装Guix"

#. type: cindex
#: guix-git/doc/guix.texi:2620
#, fuzzy, no-wrap
msgid "virtual machine, Guix System installation"
msgstr "虚拟机,Guix系统安装"

#. type: cindex
#: guix-git/doc/guix.texi:2621
#, fuzzy, no-wrap
msgid "virtual private server (VPS)"
msgstr "虚拟专用服务器(VPS)"

#. type: cindex
#: guix-git/doc/guix.texi:2622
#, fuzzy, no-wrap
msgid "VPS (virtual private server)"
msgstr "VPS(虚拟专用服务器)"

#. type: Plain text
#: guix-git/doc/guix.texi:2626
#, fuzzy
msgid "If you'd like to install Guix System in a virtual machine (VM) or on a virtual private server (VPS) rather than on your beloved machine, this section is for you."
msgstr "如果您想在虚拟机(VM)或虚拟专用服务器(VPS)上安装Guix系统,而不是在您心爱的机器上,本节适合您。"

#. type: Plain text
#: guix-git/doc/guix.texi:2629
#, fuzzy
msgid "To boot a @uref{https://qemu.org/,QEMU} VM for installing Guix System in a disk image, follow these steps:"
msgstr "要启动一个@uref{https://qemu.org/,QEMU}虚拟机以在磁盘映像中安装Guix系统,请按照以下步骤操作:"

#. type: enumerate
#: guix-git/doc/guix.texi:2634
#, fuzzy
msgid "First, retrieve and decompress the Guix system installation image as described previously (@pxref{USB Stick and DVD Installation})."
msgstr "首先,按照之前的描述获取并解压Guix系统安装映像(@pxref{USB Stick and DVD Installation})。"

#. type: enumerate
#: guix-git/doc/guix.texi:2638
#, fuzzy
msgid "Create a disk image that will hold the installed system.  To make a qcow2-formatted disk image, use the @command{qemu-img} command:"
msgstr "创建一个将容纳已安装系统的磁盘映像。要制作qcow2格式的磁盘映像,请使用@command{qemu-img}命令:"

#. type: example
#: guix-git/doc/guix.texi:2641
#, fuzzy, no-wrap
msgid "qemu-img create -f qcow2 guix-system.img 50G\n"
msgstr "qemu-img create -f qcow2 guix-system.img 50G\n"

#. type: enumerate
#: guix-git/doc/guix.texi:2645
#, fuzzy
msgid "The resulting file will be much smaller than 50 GB (typically less than 1 MB), but it will grow as the virtualized storage device is filled up."
msgstr "生成的文件将远小于50 GB(通常小于1 MB),但随着虚拟存储设备的填充,它会增长。"

#. type: enumerate
#: guix-git/doc/guix.texi:2648
#, fuzzy
msgid "Boot the USB installation image in a VM:"
msgstr "构建安装镜像"

#. type: example
#: guix-git/doc/guix.texi:2654
#, fuzzy, no-wrap
msgid ""
"qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm \\\n"
"  -nic user,model=virtio-net-pci -boot menu=on,order=d \\\n"
"  -drive file=guix-system.img \\\n"
"  -drive media=cdrom,readonly=on,file=guix-system-install-@value{VERSION}.@var{system}.iso\n"
msgstr ""
"qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm \\\n"
"  -nic user,model=virtio-net-pci -boot menu=on,order=d \\\n"
"  -drive file=guix-system.img \\\n"
"  -drive media=cdrom,readonly=on,file=guix-system-install-@value{VERSION}.@var{system}.iso\n"

#. type: enumerate
#: guix-git/doc/guix.texi:2658
#, fuzzy
msgid "@code{-enable-kvm} is optional, but significantly improves performance, @pxref{Running Guix in a VM}."
msgstr "@code{-enable-kvm} 是可选的,但显著提高性能,@pxref{Running Guix in a VM}。"

#. type: enumerate
#: guix-git/doc/guix.texi:2662
#, fuzzy
msgid "You're now root in the VM, proceed with the installation process.  @xref{Preparing for Installation}, and follow the instructions."
msgstr "您现在是虚拟机中的root用户,请继续安装过程。@xref{Preparing for Installation},并按照说明进行操作。"

#. type: Plain text
#: guix-git/doc/guix.texi:2667
#, fuzzy
msgid "Once installation is complete, you can boot the system that's on your @file{guix-system.img} image.  @xref{Running Guix in a VM}, for how to do that."
msgstr "安装完成后,您可以启动位于 @file{guix-system.img} 映像上的系统。@xref{Running Guix in a VM},了解如何做到这一点。"

#. type: cindex
#: guix-git/doc/guix.texi:2671
#, fuzzy, no-wrap
msgid "installation image"
msgstr "安装映像"

#. type: Plain text
#: guix-git/doc/guix.texi:2674
#, fuzzy
msgid "The installation image described above was built using the @command{guix system} command, specifically:"
msgstr "上述安装映像是使用 @command{guix system} 命令构建的,具体如下:"

#. type: example
#: guix-git/doc/guix.texi:2677
#, fuzzy, no-wrap
msgid "guix system image -t iso9660 gnu/system/install.scm\n"
msgstr "guix system image -t iso9660 gnu/system/install.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2682
#, fuzzy
msgid "Have a look at @file{gnu/system/install.scm} in the source tree, and see also @ref{Invoking guix system} for more information about the installation image."
msgstr "查看源树中的 @file{gnu/system/install.scm},并参见 @ref{Invoking guix system} 以获取有关安装映像的更多信息。"

#. type: section
#: guix-git/doc/guix.texi:2683
#, fuzzy, no-wrap
msgid "Building the Installation Image for ARM Boards"
msgstr "为ARM板构建安装映像"

#. type: Plain text
#: guix-git/doc/guix.texi:2687
#, fuzzy
msgid "Many ARM boards require a specific variant of the @uref{https://www.denx.de/wiki/U-Boot/, U-Boot} bootloader."
msgstr "许多ARM板需要特定版本的 @uref{https://www.denx.de/wiki/U-Boot/, U-Boot} 引导加载程序。"

#. type: Plain text
#: guix-git/doc/guix.texi:2691
#, fuzzy
msgid "If you build a disk image and the bootloader is not available otherwise (on another boot drive etc), it's advisable to build an image that includes the bootloader, specifically:"
msgstr "如果您构建了磁盘映像而引导加载程序在其他地方不可用(例如在另一个引导驱动器上等),建议构建一个包含引导加载程序的映像,具体如下:"

#. type: example
#: guix-git/doc/guix.texi:2694
#, fuzzy, no-wrap
msgid "guix system image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-boot) (@@ (gnu system install) installation-os) \"A20-OLinuXino-Lime2\")'\n"
msgstr "guix system image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-boot) (@@ (gnu system install) installation-os) \"A20-OLinuXino-Lime2\")'\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2698
#, fuzzy
msgid "@code{A20-OLinuXino-Lime2} is the name of the board.  If you specify an invalid board, a list of possible boards will be printed."
msgstr "@code{A20-OLinuXino-Lime2} 是板的名称。如果您指定了无效的板,将打印出可能的板列表。"

#. type: Plain text
#: guix-git/doc/guix.texi:2709
#, fuzzy
msgid "Presumably, you've reached this section because either you have installed Guix on top of another distribution (@pxref{Installation}), or you've installed the standalone Guix System (@pxref{System Installation}).  It's time for you to get started using Guix and this section aims to help you do that and give you a feel of what it's like."
msgstr "您可能到达本节是因为您在另一个发行版上安装了Guix(@pxref{Installation}),或者您安装了独立的Guix系统(@pxref{System Installation})。是时候开始使用Guix了,本节旨在帮助您做到这一点,并让您感受一下使用它的感觉。"

#. type: Plain text
#: guix-git/doc/guix.texi:2713
#, fuzzy
msgid "Guix is about installing software, so probably the first thing you'll want to do is to actually look for software.  Let's say you're looking for a text editor, you can run:"
msgstr "Guix 是关于安装软件的,因此您可能首先想要实际查找软件。假设您正在寻找文本编辑器,可以运行:"

#. type: example
#: guix-git/doc/guix.texi:2716
#, fuzzy, no-wrap
msgid "guix search text editor\n"
msgstr "guix search text editor\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2723
#, fuzzy
msgid "This command shows you a number of matching @dfn{packages}, each time showing the package's name, version, a description, and additional info.  Once you've found out the one you want to use, let's say Emacs (ah ha!), you can go ahead and install it (run this command as a regular user, @emph{no need for root privileges}!):"
msgstr "此命令会显示多个匹配的 @dfn{packages},每次显示包的名称、版本、描述和附加信息。一旦您找到了想要使用的包,比如 Emacs(啊哈!),您可以继续安装它(以普通用户身份运行此命令,@emph{无需根权限}!):"

#. type: example
#: guix-git/doc/guix.texi:2726
#, fuzzy, no-wrap
msgid "guix install emacs\n"
msgstr "guix install emacs-guix\n"

#. type: cindex
#: guix-git/doc/guix.texi:2728 guix-git/doc/guix.texi:3032
#: guix-git/doc/guix.texi:3085
#, fuzzy, no-wrap
msgid "profile"
msgstr "profile"

#. type: Plain text
#: guix-git/doc/guix.texi:2736
#, fuzzy
msgid "You've installed your first package, congrats! The package is now visible in your default @dfn{profile}, @file{$HOME/.guix-profile}---a profile is a directory containing installed packages.  In the process, you've probably noticed that Guix downloaded pre-built binaries; or, if you explicitly chose to @emph{not} use pre-built binaries, then probably Guix is still building software (@pxref{Substitutes}, for more info)."
msgstr "您已安装了第一个包,恭喜!该包现在在您的默认 @dfn{profile} 中可见,@file{$HOME/.guix-profile}---profile 是一个包含已安装包的目录。在此过程中,您可能注意到 Guix 下载了预构建的二进制文件;或者,如果您明确选择 @emph{不}使用预构建的二进制文件,那么可能 Guix 仍在构建软件(@pxref{Substitutes},有关更多信息)。"

#. type: Plain text
#: guix-git/doc/guix.texi:2739
#, fuzzy
msgid "Unless you're using Guix System, the @command{guix install} command must have printed this hint:"
msgstr "除非您正在使用 Guix System,否则 @command{guix install} 命令必须打印了以下提示:"

#. type: example
#: guix-git/doc/guix.texi:2742
#, fuzzy, no-wrap
msgid ""
"hint: Consider setting the necessary environment variables by running:\n"
"\n"
msgstr ""
"提示:考虑通过运行以下命令设置必要的环境变量:\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:2745
#, no-wrap
msgid ""
"     GUIX_PROFILE=\"$HOME/.guix-profile\"\n"
"     . \"$GUIX_PROFILE/etc/profile\"\n"
"\n"
msgstr ""
"     GUIX_PROFILE=\"$HOME/.guix-profile\"\n"
"     . \"$GUIX_PROFILE/etc/profile\"\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:2747
#, fuzzy, no-wrap
msgid "Alternately, see `guix package --search-paths -p \"$HOME/.guix-profile\"'.\n"
msgstr "或者,查看 `guix package --search-paths -p \"$HOME/.guix-profile\"'。\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2761
#, fuzzy
msgid "Indeed, you must now tell your shell where @command{emacs} and other programs installed with Guix are to be found.  Pasting the two lines above will do just that: it will add @code{$HOME/.guix-profile/bin}---which is where the installed package is---to the @code{PATH} environment variable.  You can paste these two lines in your shell so they take effect right away, but more importantly you should add them to @file{~/.bash_profile} (or equivalent file if you do not use Bash) so that environment variables are set next time you spawn a shell.  You only need to do this once and other search paths environment variables will be taken care of similarly---e.g., if you eventually install @code{python} and Python libraries, @env{GUIX_PYTHONPATH} will be defined."
msgstr "确实,您现在必须告诉您的 shell 在哪里可以找到 @command{emacs} 和其他通过 Guix 安装的程序。粘贴上面的两行就可以做到这一点:它将 @code{$HOME/.guix-profile/bin}---即安装包所在的位置---添加到 @code{PATH} 环境变量中。您可以将这两行粘贴到您的 shell 中,以便立即生效,但更重要的是,您应该将它们添加到 @file{~/.bash_profile}(如果您不使用 Bash,则添加到等效文件),以便下次启动 shell 时设置环境变量。您只需执行一次此操作,其他搜索路径环境变量也会以类似方式处理---例如,如果您最终安装 @code{python} 和 Python 库,@env{GUIX_PYTHONPATH} 将被定义。"

#. type: Plain text
#: guix-git/doc/guix.texi:2764
#, fuzzy
msgid "You can go on installing packages at your will.  To list installed packages, run:"
msgstr "您可以随意继续安装包。要列出已安装的包,请运行:"

#. type: example
#: guix-git/doc/guix.texi:2767
#, fuzzy, no-wrap
msgid "guix package --list-installed\n"
msgstr "guix package --list-available\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2772
#, fuzzy
msgid "To remove a package, you would unsurprisingly run @command{guix remove}.  A distinguishing feature is the ability to @dfn{roll back} any operation you made---installation, removal, upgrade---by simply typing:"
msgstr "要移除一个包,您可以毫不意外地运行 @command{guix remove}。一个显著的特点是能够通过简单地输入 @dfn{回滚} 任何您所做的操作——安装、移除、升级:"

#. type: example
#: guix-git/doc/guix.texi:2775
#, fuzzy, no-wrap
msgid "guix package --roll-back\n"
msgstr "guix package --list-available\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2780
#, fuzzy
msgid "This is because each operation is in fact a @dfn{transaction} that creates a new @dfn{generation}.  These generations and the difference between them can be displayed by running:"
msgstr "这是因为每个操作实际上都是一个 @dfn{事务},它创建了一个新的 @dfn{代}。这些代及其之间的差异可以通过运行以下命令显示:"

#. type: example
#: guix-git/doc/guix.texi:2783
#, fuzzy, no-wrap
msgid "guix package --list-generations\n"
msgstr "guix package --list-available\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2786
msgid "Now you know the basics of package management!"
msgstr "现在你知道包管理的基本知识了吧!"

#. type: quotation
#: guix-git/doc/guix.texi:2787 guix-git/doc/guix.texi:2850
#: guix-git/doc/guix.texi:7796
#, fuzzy, no-wrap
msgid "Going further"
msgstr "进一步了解"

#. type: quotation
#: guix-git/doc/guix.texi:2795
#, fuzzy
msgid "@xref{Package Management}, for more about package management.  You may like @dfn{declarative} package management with @command{guix package --manifest}, managing separate @dfn{profiles} with @option{--profile}, deleting old generations, collecting garbage, and other nifty features that will come in handy as you become more familiar with Guix.  If you are a developer, @pxref{Development} for additional tools.  And if you're curious, @pxref{Features}, to peek under the hood."
msgstr "@xref{包管理},了解更多关于包管理的信息。您可能会喜欢使用 @command{guix package --manifest} 的 @dfn{声明式} 包管理,管理单独的 @dfn{配置文件},使用 @option{--profile},删除旧代,收集垃圾,以及其他在您对 Guix 更加熟悉时会派上用场的巧妙功能。如果您是开发者,请参阅 @pxref{开发} 以获取更多工具。如果您感兴趣,请查看 @pxref{功能},以窥探其内部。"

#. type: quotation
#: guix-git/doc/guix.texi:2799
#, fuzzy
msgid "You can also manage the configuration of your entire @dfn{home environment}---your user ``dot files'', services, and packages---using Guix Home.  @xref{Home Configuration}, to learn more about it!"
msgstr "您还可以使用 Guix Home 管理整个 @dfn{家庭环境} 的配置——您的用户“点文件”、服务和包。@xref{家庭配置},了解更多信息!"

#. type: Plain text
#: guix-git/doc/guix.texi:2804
#, fuzzy
msgid "Once you've installed a set of packages, you will want to periodically @emph{upgrade} them to the latest and greatest version.  To do that, you will first pull the latest revision of Guix and its package collection:"
msgstr "一旦您安装了一组包,您会想定期 @emph{升级} 它们到最新版本。为此,您首先需要拉取 Guix 及其包集合的最新修订版:"

#. type: Plain text
#: guix-git/doc/guix.texi:2814
#, fuzzy
msgid "The end result is a new @command{guix} command, under @file{~/.config/guix/current/bin}.  Unless you're on Guix System, the first time you run @command{guix pull}, be sure to follow the hint that the command prints and, similar to what we saw above, paste these two lines in your terminal and @file{.bash_profile}:"
msgstr "最终结果是一个新的 @command{guix} 命令,位于 @file{~/.config/guix/current/bin}。除非您在 Guix 系统上,否则第一次运行 @command{guix pull} 时,请务必遵循命令打印的提示,并像我们上面看到的那样,将这两行粘贴到您的终端和 @file{.bash_profile} 中:"

#. type: example
#: guix-git/doc/guix.texi:2818
#, no-wrap
msgid ""
"GUIX_PROFILE=\"$HOME/.config/guix/current\"\n"
". \"$GUIX_PROFILE/etc/profile\"\n"
msgstr ""
"GUIX_PROFILE=\"$HOME/.config/guix/current\"\n"
". \"$GUIX_PROFILE/etc/profile\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2822
#, fuzzy
msgid "You must also instruct your shell to point to this new @command{guix}:"
msgstr "您还必须指示您的 shell 指向这个新的 @command{guix}:"

#. type: example
#: guix-git/doc/guix.texi:2825
#, fuzzy, no-wrap
msgid "hash guix\n"
msgstr "hash guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2829
#, fuzzy
msgid "At this point, you're running a brand new Guix.  You can thus go ahead and actually upgrade all the packages you previously installed:"
msgstr "此时,您正在运行一个全新的 Guix。因此,您可以继续实际升级您之前安装的所有包:"

#. type: example
#: guix-git/doc/guix.texi:2832
#, fuzzy, no-wrap
msgid "guix upgrade\n"
msgstr "guix upgrade\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2838
#, fuzzy
msgid "As you run this command, you will see that binaries are downloaded (or perhaps some packages are built), and eventually you end up with the upgraded packages.  Should one of these upgraded packages not be to your liking, remember you can always roll back!"
msgstr "当您运行此命令时,您会看到二进制文件被下载(或者可能某些包被构建),最终您将获得升级后的包。如果这些升级后的包中有一个不合您的口味,请记住您可以随时回滚!"

#. type: Plain text
#: guix-git/doc/guix.texi:2841
#, fuzzy
msgid "You can display the exact revision of Guix you're currently using by running:"
msgstr "您可以通过运行以下命令来显示您当前使用的 Guix 的确切版本:"

#. type: example
#: guix-git/doc/guix.texi:2844
#, no-wrap
msgid "guix describe\n"
msgstr "guix describe\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2849
#, fuzzy
msgid "The information it displays is @emph{all it takes to reproduce the exact same Guix}, be it at a different point in time or on a different machine."
msgstr "它显示的信息是 @emph{重现完全相同的 Guix 所需的一切},无论是在不同的时间点还是在不同的机器上。"

#. type: quotation
#: guix-git/doc/guix.texi:2855
#, fuzzy
msgid "@xref{Invoking guix pull}, for more information.  @xref{Channels}, on how to specify additional @dfn{channels} to pull packages from, how to replicate Guix, and more.  You may also find @command{time-machine} handy (@pxref{Invoking guix time-machine})."
msgstr "@xref{Invoking guix pull},获取更多信息。 @xref{Channels},了解如何指定额外的 @dfn{channels} 以拉取软件包,如何复制 Guix 等。您还可以发现 @command{time-machine} 很方便(@pxref{Invoking guix time-machine})。"

#. type: Plain text
#: guix-git/doc/guix.texi:2860
#, fuzzy
msgid "If you installed Guix System, one of the first things you'll want to do is to upgrade your system.  Once you've run @command{guix pull} to get the latest Guix, you can upgrade the system like this:"
msgstr "如果您安装了 Guix 系统,您首先要做的事情之一就是升级您的系统。 一旦您运行 @command{guix pull} 获取最新的 Guix,您可以像这样升级系统:"

#. type: example
#: guix-git/doc/guix.texi:2863 guix-git/doc/guix.texi:17323
#, fuzzy, no-wrap
msgid "sudo guix system reconfigure /etc/config.scm\n"
msgstr "sudo guix system reconfigure /etc/config.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2869
#, fuzzy
msgid "Upon completion, the system runs the latest versions of its software packages.  Just like for packages, you can always @emph{roll back} to a previous generation @emph{of the whole system}.  @xref{Getting Started with the System}, to learn how to manage your system."
msgstr "完成后,系统将运行其软件包的最新版本。 就像软件包一样,您始终可以 @emph{回滚} 到之前的 @emph{整个系统的版本}。 @xref{Getting Started with the System},了解如何管理您的系统。"

#. type: Plain text
#: guix-git/doc/guix.texi:2871
#, fuzzy
msgid "Now you know enough to get started!"
msgstr "现在您已经知道足够的知识来开始了!"

#. type: quotation
#: guix-git/doc/guix.texi:2872
#, fuzzy, no-wrap
msgid "Resources"
msgstr "资源"

#. type: quotation
#: guix-git/doc/guix.texi:2875
#, fuzzy
msgid "The rest of this manual provides a reference for all things Guix.  Here are some additional resources you may find useful:"
msgstr "本手册的其余部分提供了有关 Guix 的所有内容的参考。 这里有一些您可能会发现有用的额外资源:"

#. type: itemize
#: guix-git/doc/guix.texi:2880
#, fuzzy
msgid "@xref{Top,,, guix-cookbook, The GNU Guix Cookbook}, for a list of ``how-to'' style of recipes for a variety of applications."
msgstr "@xref{Top,,, guix-cookbook, The GNU Guix Cookbook},提供各种应用程序的“如何做”风格的食谱列表。"

#. type: itemize
#: guix-git/doc/guix.texi:2885
#, fuzzy
msgid "The @uref{https://guix.gnu.org/guix-refcard.pdf, GNU Guix Reference Card} lists in two pages most of the commands and options you'll ever need."
msgstr "@uref{https://guix.gnu.org/guix-refcard.pdf, GNU Guix 参考卡} 在两页中列出了您可能需要的大多数命令和选项。"

#. type: itemize
#: guix-git/doc/guix.texi:2890
#, fuzzy
msgid "The web site contains @uref{https://guix.gnu.org/en/videos/, instructional videos} covering topics such as everyday use of Guix, how to get help, and how to become a contributor."
msgstr "该网站包含 @uref{https://guix.gnu.org/en/videos/, 教学视频},涵盖了日常使用 Guix、如何获得帮助以及如何成为贡献者等主题。"

#. type: itemize
#: guix-git/doc/guix.texi:2894
#, fuzzy
msgid "@xref{Documentation}, to learn how to access documentation on your computer."
msgstr "@xref{Documentation},了解如何在您的计算机上访问文档。"

#. type: quotation
#: guix-git/doc/guix.texi:2897
#, fuzzy
msgid "We hope you will enjoy Guix as much as the community enjoys building it!"
msgstr "我们希望您能像社区享受构建 Guix 一样享受 Guix!"

#. type: Plain text
#: guix-git/doc/guix.texi:2908
#, fuzzy
msgid "The purpose of GNU Guix is to allow users to easily install, upgrade, and remove software packages, without having to know about their build procedures or dependencies.  Guix also goes beyond this obvious set of features."
msgstr "GNU Guix 的目的是让用户能够轻松安装、升级和删除软件包,而无需了解它们的构建过程或依赖关系。 Guix 还超越了这一明显的功能集。"

#. type: Plain text
#: guix-git/doc/guix.texi:2916
#, fuzzy
msgid "This chapter describes the main features of Guix, as well as the package management tools it provides.  Along with the command-line interface described below (@pxref{Invoking guix package, @code{guix package}}), you may also use the Emacs-Guix interface (@pxref{Top,,, emacs-guix, The Emacs-Guix Reference Manual}), after installing @code{emacs-guix} package (run @kbd{M-x guix-help} command to start with it):"
msgstr "本章描述了 Guix 的主要功能,以及它提供的软件包管理工具。 除了下面描述的命令行界面(@pxref{Invoking guix package, @code{guix package}}),您还可以在安装 @code{emacs-guix} 包后使用 Emacs-Guix 界面(@pxref{Top,,, emacs-guix, The Emacs-Guix Reference Manual})(运行 @kbd{M-x guix-help} 命令开始使用):"

#. type: example
#: guix-git/doc/guix.texi:2919
#, no-wrap
msgid "guix install emacs-guix\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:2941
#, fuzzy
msgid "Here we assume you've already made your first steps with Guix (@pxref{Getting Started}) and would like to get an overview about what's going on under the hood."
msgstr "在这里,我们假设您已经开始使用 Guix(@pxref{Getting Started}),并希望了解其背后的运作情况。"

#. type: Plain text
#: guix-git/doc/guix.texi:2945
#, fuzzy
msgid "When using Guix, each package ends up in the @dfn{package store}, in its own directory---something that resembles @file{/gnu/store/xxx-package-1.2}, where @code{xxx} is a base32 string."
msgstr "使用 Guix 时,每个软件包最终会进入 @dfn{软件包存储区},在其自己的目录中——这类似于 @file{/gnu/store/xxx-package-1.2},其中 @code{xxx} 是一个 base32 字符串。"

#. type: Plain text
#: guix-git/doc/guix.texi:2950
#, fuzzy
msgid "Instead of referring to these directories, users have their own @dfn{profile}, which points to the packages that they actually want to use.  These profiles are stored within each user's home directory, at @code{$HOME/.guix-profile}."
msgstr "用户有自己的 @dfn{配置文件},而不是引用这些目录,该配置文件指向他们实际想要使用的软件包。这些配置文件存储在每个用户的主目录中,位于 @code{$HOME/.guix-profile}。"

#. type: Plain text
#: guix-git/doc/guix.texi:2958
#, fuzzy
msgid "For example, @code{alice} installs GCC 4.7.2.  As a result, @file{/home/alice/.guix-profile/bin/gcc} points to @file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}.  Now, on the same machine, @code{bob} had already installed GCC 4.8.0.  The profile of @code{bob} simply continues to point to @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc}---i.e., both versions of GCC coexist on the same system without any interference."
msgstr "例如,@code{alice} 安装了 GCC 4.7.2。因此,@file{/home/alice/.guix-profile/bin/gcc} 指向 @file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}。现在,在同一台机器上,@code{bob} 已经安装了 GCC 4.8.0。@code{bob} 的配置文件继续指向 @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc}——也就是说,两个版本的 GCC 在同一系统上共存而不互相干扰。"

#. type: Plain text
#: guix-git/doc/guix.texi:2962
#, fuzzy
msgid "The @command{guix package} command is the central tool to manage packages (@pxref{Invoking guix package}).  It operates on the per-user profiles, and can be used @emph{with normal user privileges}."
msgstr "@command{guix package} 命令是管理软件包的核心工具(@pxref{Invoking guix package})。它在每个用户的配置文件上操作,并且可以在 @emph{普通用户权限}下使用。"

#. type: cindex
#: guix-git/doc/guix.texi:2963 guix-git/doc/guix.texi:3047
#, fuzzy, no-wrap
msgid "transactions"
msgstr "事务"

#. type: Plain text
#: guix-git/doc/guix.texi:2970
#, fuzzy
msgid "The command provides the obvious install, remove, and upgrade operations.  Each invocation is actually a @emph{transaction}: either the specified operation succeeds, or nothing happens.  Thus, if the @command{guix package} process is terminated during the transaction, or if a power outage occurs during the transaction, then the user's profile remains in its previous state, and remains usable."
msgstr "该命令提供明显的安装、删除和升级操作。每次调用实际上都是一个 @emph{事务}:要么指定的操作成功,要么什么都不发生。因此,如果 @command{guix package} 进程在事务期间被终止,或者在事务期间发生停电,则用户的配置文件保持在其先前状态,并且仍然可用。"

#. type: Plain text
#: guix-git/doc/guix.texi:2978
#, fuzzy
msgid "In addition, any package transaction may be @emph{rolled back}.  So, if, for example, an upgrade installs a new version of a package that turns out to have a serious bug, users may roll back to the previous instance of their profile, which was known to work well.  Similarly, the global system configuration on Guix is subject to transactional upgrades and roll-back (@pxref{Getting Started with the System})."
msgstr "此外,任何软件包事务都可以 @emph{回滚}。因此,例如,如果升级安装了一个新版本的软件包,而该版本出现了严重错误,用户可以回滚到已知良好的配置文件的先前实例。同样,Guix 上的全局系统配置也受到事务性升级和回滚的影响(@pxref{Getting Started with the System})。"

#. type: Plain text
#: guix-git/doc/guix.texi:2985
#, fuzzy
msgid "All packages in the package store may be @emph{garbage-collected}.  Guix can determine which packages are still referenced by user profiles, and remove those that are provably no longer referenced (@pxref{Invoking guix gc}).  Users may also explicitly remove old generations of their profile so that the packages they refer to can be collected."
msgstr "软件包存储区中的所有软件包都可以 @emph{垃圾回收}。Guix 可以确定哪些软件包仍被用户配置文件引用,并删除那些明显不再被引用的软件包(@pxref{Invoking guix gc})。用户还可以显式删除其配置文件的旧版本,以便可以收集他们所引用的软件包。"

#. type: Plain text
#: guix-git/doc/guix.texi:2998
#, fuzzy
msgid "Guix takes a @dfn{purely functional} approach to package management, as described in the introduction (@pxref{Introduction}).  Each @file{/gnu/store} package directory name contains a hash of all the inputs that were used to build that package---compiler, libraries, build scripts, etc.  This direct correspondence allows users to make sure a given package installation matches the current state of their distribution.  It also helps maximize @dfn{build reproducibility}: thanks to the isolated build environments that are used, a given build is likely to yield bit-identical files when performed on different machines (@pxref{Invoking guix-daemon, container})."
msgstr "Guix 采用 @dfn{纯函数} 的包管理方法,如引言中所述 (@pxref{Introduction})。每个 @file{/gnu/store} 包目录名称都包含用于构建该包的所有输入的哈希值——编译器、库、构建脚本等。这种直接对应关系使用户能够确保给定的包安装与其发行版的当前状态相匹配。它还帮助最大化 @dfn{构建可重复性}:由于使用了隔离的构建环境,给定的构建在不同机器上执行时很可能会产生位相同的文件 (@pxref{Invoking guix-daemon, container})。"

#. type: Plain text
#: guix-git/doc/guix.texi:3009
#, fuzzy
msgid "This foundation allows Guix to support @dfn{transparent binary/source deployment}.  When a pre-built binary for a @file{/gnu/store} item is available from an external source---a @dfn{substitute}, Guix just downloads it and unpacks it; otherwise, it builds the package from source, locally (@pxref{Substitutes}).  Because build results are usually bit-for-bit reproducible, users do not have to trust servers that provide substitutes: they can force a local build and @emph{challenge} providers (@pxref{Invoking guix challenge})."
msgstr "这个基础使 Guix 能够支持 @dfn{透明的二进制/源代码部署}。当 @file{/gnu/store} 项目的预构建二进制文件可从外部来源获得时——一个 @dfn{替代品},Guix 只需下载并解压它;否则,它会从源代码本地构建该包 (@pxref{Substitutes})。由于构建结果通常是逐位可重复的,用户不必信任提供替代品的服务器:他们可以强制进行本地构建并 @emph{挑战} 提供者 (@pxref{Invoking guix challenge})。"

#. type: Plain text
#: guix-git/doc/guix.texi:3015
#, fuzzy
msgid "Control over the build environment is a feature that is also useful for developers.  The @command{guix shell} command allows developers of a package to quickly set up the right development environment for their package, without having to manually install the dependencies of the package into their profile (@pxref{Invoking guix shell})."
msgstr "对构建环境的控制是对开发者也很有用的一个特性。@command{guix shell} 命令允许包的开发者快速设置其包的正确开发环境,而无需手动将包的依赖项安装到其配置文件中 (@pxref{Invoking guix shell})。"

#. type: cindex
#: guix-git/doc/guix.texi:3016
#, fuzzy, no-wrap
msgid "replication, of software environments"
msgstr "软件环境的复制"

#. type: cindex
#: guix-git/doc/guix.texi:3017
#, fuzzy, no-wrap
msgid "provenance tracking, of software artifacts"
msgstr "软件工件的来源追踪"

#. type: Plain text
#: guix-git/doc/guix.texi:3024
#, fuzzy
msgid "All of Guix and its package definitions is version-controlled, and @command{guix pull} allows you to ``travel in time'' on the history of Guix itself (@pxref{Invoking guix pull}).  This makes it possible to replicate a Guix instance on a different machine or at a later point in time, which in turn allows you to @emph{replicate complete software environments}, while retaining precise @dfn{provenance tracking} of the software."
msgstr "所有 Guix 及其包定义都受到版本控制,@command{guix pull} 允许您在 Guix 自身的历史中“时间旅行” (@pxref{Invoking guix pull})。这使得在不同机器或稍后的时间点复制 Guix 实例成为可能,从而允许您 @emph{复制完整的软件环境},同时保留软件的精确 @dfn{来源追踪}。"

#. type: section
#: guix-git/doc/guix.texi:3026
#, fuzzy, no-wrap
msgid "Invoking @command{guix package}"
msgstr "调用 @command{guix package}"

#. type: cindex
#: guix-git/doc/guix.texi:3028
#, fuzzy, no-wrap
msgid "installing packages"
msgstr "安装软件包"

#. type: cindex
#: guix-git/doc/guix.texi:3029
#, fuzzy, no-wrap
msgid "removing packages"
msgstr "移除软件包"

#. type: cindex
#: guix-git/doc/guix.texi:3030
#, fuzzy, no-wrap
msgid "package installation"
msgstr "软件包安装"

#. type: cindex
#: guix-git/doc/guix.texi:3031
#, fuzzy, no-wrap
msgid "package removal"
msgstr "软件包移除"

#. type: command{#1}
#: guix-git/doc/guix.texi:3033
#, no-wrap
msgid "guix package"
msgstr "guix package"

#. type: Plain text
#: guix-git/doc/guix.texi:3042
#, fuzzy
msgid "The @command{guix package} command is the tool that allows users to install, upgrade, and remove packages, as well as rolling back to previous configurations.  These operations work on a user @dfn{profile}---a directory of installed packages.  Each user has a default profile in @file{$HOME/.guix-profile}.  The command operates only on the user's own profile, and works with normal user privileges (@pxref{Features}).  Its syntax is:"
msgstr "@command{guix package} 命令是一个工具,允许用户安装、升级和移除软件包,以及回滚到之前的配置。这些操作在用户的 @dfn{profile} 上进行——一个已安装软件包的目录。每个用户在 @file{$HOME/.guix-profile} 中都有一个默认的配置文件。该命令仅在用户自己的配置文件上操作,并且以普通用户权限运行 (@pxref{Features})。其语法为:"

#. type: example
#: guix-git/doc/guix.texi:3045
#, fuzzy, no-wrap
msgid "guix package @var{options}\n"
msgstr "guix package @var{options}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:3052
#, fuzzy
msgid "Primarily, @var{options} specifies the operations to be performed during the transaction.  Upon completion, a new profile is created, but previous @dfn{generations} of the profile remain available, should the user want to roll back."
msgstr "主要是,@var{options} 指定在事务期间要执行的操作。完成后,会创建一个新的配置文件,但之前的 @dfn{generations} 仍然可用,以便用户想要回滚时使用。"

#. type: Plain text
#: guix-git/doc/guix.texi:3055
#, fuzzy
msgid "For example, to remove @code{lua} and install @code{guile} and @code{guile-cairo} in a single transaction:"
msgstr "例如,要在一个事务中移除 @code{lua} 并安装 @code{guile} 和 @code{guile-cairo}:"

#. type: example
#: guix-git/doc/guix.texi:3058
#, fuzzy, no-wrap
msgid "guix package -r lua -i guile guile-cairo\n"
msgstr "guix package -r lua -i guile guile-cairo\n"

#. type: cindex
#: guix-git/doc/guix.texi:3060
#, fuzzy, no-wrap
msgid "aliases, for @command{guix package}"
msgstr "@command{guix package} 的别名"

#. type: Plain text
#: guix-git/doc/guix.texi:3062
#, fuzzy
msgid "For your convenience, we also provide the following aliases:"
msgstr "为了方便您,我们还提供以下别名:"

#. type: itemize
#: guix-git/doc/guix.texi:3066
#, fuzzy
msgid "@command{guix search} is an alias for @command{guix package -s},"
msgstr "@command{guix search} 是 @command{guix package -s} 的别名,"

#. type: itemize
#: guix-git/doc/guix.texi:3068
#, fuzzy
msgid "@command{guix install} is an alias for @command{guix package -i},"
msgstr "@command{guix install} 是 @command{guix package -i} 的别名,"

#. type: itemize
#: guix-git/doc/guix.texi:3070
#, fuzzy
msgid "@command{guix remove} is an alias for @command{guix package -r},"
msgstr "@command{guix remove} 是 @command{guix package -r} 的别名,"

#. type: itemize
#: guix-git/doc/guix.texi:3072
#, fuzzy
msgid "@command{guix upgrade} is an alias for @command{guix package -u},"
msgstr "@command{guix upgrade} 是 @command{guix package -u} 的别名,"

#. type: itemize
#: guix-git/doc/guix.texi:3074
#, fuzzy
msgid "and @command{guix show} is an alias for @command{guix package --show=}."
msgstr "而 @command{guix show} 是 @command{guix package --show=} 的别名。"

#. type: Plain text
#: guix-git/doc/guix.texi:3079
#, fuzzy
msgid "These aliases are less expressive than @command{guix package} and provide fewer options, so in some cases you'll probably want to use @command{guix package} directly."
msgstr "这些别名不如 @command{guix package} 表达力强,并且提供的选项更少,因此在某些情况下,您可能希望直接使用 @command{guix package}。"

#. type: Plain text
#: guix-git/doc/guix.texi:3084
#, fuzzy
msgid "@command{guix package} also supports a @dfn{declarative approach} whereby the user specifies the exact set of packages to be available and passes it @i{via} the @option{--manifest} option (@pxref{profile-manifest, @option{--manifest}})."
msgstr "@command{guix package} 还支持一种 @dfn{声明式方法},用户可以指定可用软件包的确切集合,并通过 @option{--manifest} 选项传递它 (@pxref{profile-manifest, @option{--manifest}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:3091
#, fuzzy
msgid "For each user, a symlink to the user's default profile is automatically created in @file{$HOME/.guix-profile}.  This symlink always points to the current generation of the user's default profile.  Thus, users can add @file{$HOME/.guix-profile/bin} to their @env{PATH} environment variable, and so on."
msgstr "对于每个用户,用户默认配置文件的符号链接会自动创建在 @file{$HOME/.guix-profile} 中。该符号链接始终指向用户默认配置文件的当前版本。因此,用户可以将 @file{$HOME/.guix-profile/bin} 添加到他们的 @env{PATH} 环境变量中,等等。"

#. type: cindex
#: guix-git/doc/guix.texi:3091 guix-git/doc/guix.texi:3317
#, fuzzy, no-wrap
msgid "search paths"
msgstr "搜索路径"

#. type: Plain text
#: guix-git/doc/guix.texi:3096
#, fuzzy
msgid "If you are not using Guix System, consider adding the following lines to your @file{~/.bash_profile} (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}) so that newly-spawned shells get all the right environment variable definitions:"
msgstr "如果您没有使用 Guix 系统,请考虑将以下行添加到您的 @file{~/.bash_profile} 中 (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}),以便新启动的 shell 获取所有正确的环境变量定义:"

#. type: example
#: guix-git/doc/guix.texi:3100
#, no-wrap
msgid ""
"GUIX_PROFILE=\"$HOME/.guix-profile\" ; \\\n"
"source \"$GUIX_PROFILE/etc/profile\"\n"
msgstr ""
"GUIX_PROFILE=\"$HOME/.guix-profile\" ; \\\n"
"source \"$GUIX_PROFILE/etc/profile\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:3111
#, fuzzy
msgid "In a multi-user setup, user profiles are stored in a place registered as a @dfn{garbage-collector root}, which @file{$HOME/.guix-profile} points to (@pxref{Invoking guix gc}).  That directory is normally @code{@var{localstatedir}/guix/profiles/per-user/@var{user}}, where @var{localstatedir} is the value passed to @code{configure} as @option{--localstatedir}, and @var{user} is the user name.  The @file{per-user} directory is created when @command{guix-daemon} is started, and the @var{user} sub-directory is created by @command{guix package}."
msgstr "在多用户设置中,用户配置文件存储在注册为 @dfn{垃圾收集器根} 的位置,@file{$HOME/.guix-profile} 指向该位置 (@pxref{Invoking guix gc})。该目录通常是 @code{@var{localstatedir}/guix/profiles/per-user/@var{user}},其中 @var{localstatedir} 是传递给 @code{configure} 的 @option{--localstatedir} 的值,@var{user} 是用户名。@file{per-user} 目录在 @command{guix-daemon} 启动时创建,@var{user} 子目录由 @command{guix package} 创建。"

#. type: Plain text
#: guix-git/doc/guix.texi:3113
#, fuzzy
msgid "The @var{options} can be among the following:"
msgstr "@var{options} 可以是以下选项之一:"

#. type: item
#: guix-git/doc/guix.texi:3116
#, fuzzy, no-wrap
msgid "--install=@var{package} @dots{}"
msgstr "--install=@var{package} @dots{}"

#. type: itemx
#: guix-git/doc/guix.texi:3117
#, fuzzy, no-wrap
msgid "-i @var{package} @dots{}"
msgstr "-i @var{package} @dots{}"

#. type: table
#: guix-git/doc/guix.texi:3119
#, fuzzy
msgid "Install the specified @var{package}s."
msgstr "安装指定的 @var{package}。"

#. type: table
#: guix-git/doc/guix.texi:3124
#, fuzzy
msgid "Each @var{package} may specify a simple package name, such as @code{guile}, optionally followed by an at-sign and version number, such as @code{guile@@3.0.7} or simply @code{guile@@3.0}.  In the latter case, the newest version prefixed by @code{3.0} is selected."
msgstr "每个 @var{package} 可以指定一个简单的包名称,例如 @code{guile},可选地后跟一个 @ 字符和版本号,例如 @code{guile@@3.0.7} 或简单地 @code{guile@@3.0}。在后一种情况下,将选择以 @code{3.0} 为前缀的最新版本。"

#. type: table
#: guix-git/doc/guix.texi:3130
#, fuzzy
msgid "If no version number is specified, the newest available version will be selected.  In addition, such a @var{package} specification may contain a colon, followed by the name of one of the outputs of the package, as in @code{gcc:doc} or @code{binutils@@2.22:lib} (@pxref{Packages with Multiple Outputs})."
msgstr "如果未指定版本号,将选择最新可用版本。此外,这样的 @var{package} 规范可以包含一个冒号,后跟包的输出之一的名称,如 @code{gcc:doc} 或 @code{binutils@@2.22:lib} (@pxref{Packages with Multiple Outputs})。"

#. type: table
#: guix-git/doc/guix.texi:3134
#, fuzzy
msgid "Packages with a corresponding name (and optionally version) are searched for among the GNU distribution modules (@pxref{Package Modules})."
msgstr "具有相应名称(可选版本)的包将在 GNU 发行模块中搜索 (@pxref{Package Modules})。"

#. type: table
#: guix-git/doc/guix.texi:3138
#, fuzzy
msgid "Alternatively, a @var{package} can directly specify a store file name such as @file{/gnu/store/...-guile-3.0.7}, as produced by, e.g., @code{guix build}."
msgstr "或者,@var{package} 可以直接指定一个存储文件名,例如 @file{/gnu/store/...-guile-3.0.7},这是由 @code{guix build} 等生成的。"

#. type: cindex
#: guix-git/doc/guix.texi:3139
#, fuzzy, no-wrap
msgid "propagated inputs"
msgstr "传播输入"

#. type: table
#: guix-git/doc/guix.texi:3145
#, fuzzy
msgid "Sometimes packages have @dfn{propagated inputs}: these are dependencies that automatically get installed along with the required package (@pxref{package-propagated-inputs, @code{propagated-inputs} in @code{package} objects}, for information about propagated inputs in package definitions)."
msgstr "有时包具有 @dfn{传播输入}:这些是与所需包一起自动安装的依赖项 (@pxref{package-propagated-inputs, @code{propagated-inputs} in @code{package} objects},有关包定义中传播输入的信息)。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:3152
#, fuzzy
msgid "package-cmd-propagated-inputs"
msgstr "包命令传播输入"

#. type: table
#: guix-git/doc/guix.texi:3152
#, fuzzy
msgid "An example is the GNU MPC library: its C header files refer to those of the GNU MPFR library, which in turn refer to those of the GMP library.  Thus, when installing MPC, the MPFR and GMP libraries also get installed in the profile; removing MPC also removes MPFR and GMP---unless they had also been explicitly installed by the user."
msgstr "一个例子是GNU MPC库:它的C头文件引用了GNU MPFR库的头文件,而后者又引用了GMP库的头文件。因此,在安装MPC时,MPFR和GMP库也会在配置文件中被安装;移除MPC也会移除MPFR和GMP——除非它们也被用户显式安装。"

#. type: table
#: guix-git/doc/guix.texi:3157
#, fuzzy
msgid "Besides, packages sometimes rely on the definition of environment variables for their search paths (see explanation of @option{--search-paths} below).  Any missing or possibly incorrect environment variable definitions are reported here."
msgstr "此外,软件包有时依赖于环境变量的定义来确定其搜索路径(请参见下面@option{--search-paths}的解释)。任何缺失或可能不正确的环境变量定义将在此处报告。"

#. type: item
#: guix-git/doc/guix.texi:3158
#, fuzzy, no-wrap
msgid "--install-from-expression=@var{exp}"
msgstr "--install-from-expression=@var{exp}"

#. type: itemx
#: guix-git/doc/guix.texi:3159
#, fuzzy, no-wrap
msgid "-e @var{exp}"
msgstr "-e @var{exp}"

#. type: table
#: guix-git/doc/guix.texi:3161
#, fuzzy
msgid "Install the package @var{exp} evaluates to."
msgstr "安装@var{exp}评估出的软件包。"

#. type: table
#: guix-git/doc/guix.texi:3166
#, fuzzy
msgid "@var{exp} must be a Scheme expression that evaluates to a @code{<package>} object.  This option is notably useful to disambiguate between same-named variants of a package, with expressions such as @code{(@@ (gnu packages commencement) guile-final)}."
msgstr "@var{exp}必须是一个Scheme表达式,评估为一个@code{<package>}对象。此选项特别有助于消除同名软件包变体之间的歧义,例如@code{(@@ (gnu packages commencement) guile-final)}。"

#. type: table
#: guix-git/doc/guix.texi:3170
#, fuzzy
msgid "Note that this option installs the first output of the specified package, which may be insufficient when needing a specific output of a multiple-output package."
msgstr "请注意,此选项安装指定软件包的第一个输出,当需要特定的多输出软件包的输出时,这可能不够。"

#. type: item
#: guix-git/doc/guix.texi:3171
#, fuzzy, no-wrap
msgid "--install-from-file=@var{file}"
msgstr "--install-from-file=@var{file}"

#. type: itemx
#: guix-git/doc/guix.texi:3172 guix-git/doc/guix.texi:6168
#: guix-git/doc/guix.texi:13654
#, fuzzy, no-wrap
msgid "-f @var{file}"
msgstr "-f @var{file}"

#. type: table
#: guix-git/doc/guix.texi:3174
#, fuzzy
msgid "Install the package that the code within @var{file} evaluates to."
msgstr "安装@var{file}中代码评估出的软件包。"

#. type: table
#: guix-git/doc/guix.texi:3177 guix-git/doc/guix.texi:6174
#: guix-git/doc/guix.texi:6699
#, fuzzy
msgid "As an example, @var{file} might contain a definition like this (@pxref{Defining Packages}):"
msgstr "作为一个例子,@var{file}可能包含如下定义(@pxref{Defining Packages}):"

#. type: include
#: guix-git/doc/guix.texi:3179 guix-git/doc/guix.texi:13662
#, fuzzy, no-wrap
msgid "package-hello.scm"
msgstr "package-hello.scm"

#. type: table
#: guix-git/doc/guix.texi:3186
#, fuzzy
msgid "Developers may find it useful to include such a @file{guix.scm} file in the root of their project source tree that can be used to test development snapshots and create reproducible development environments (@pxref{Invoking guix shell})."
msgstr "开发者可能会发现,将这样的@file{guix.scm}文件包含在其项目源树的根目录中是有用的,该文件可用于测试开发快照并创建可重现的开发环境(@pxref{Invoking guix shell})。"

#. type: table
#: guix-git/doc/guix.texi:3191
#, fuzzy
msgid "The @var{file} may also contain a JSON representation of one or more package definitions.  Running @code{guix package -f} on @file{hello.json} with the following contents would result in installing the package @code{greeter} after building @code{myhello}:"
msgstr "@var{file}还可以包含一个一个或多个软件包定义的JSON表示。对@file{hello.json}运行@code{guix package -f},其内容如下,将导致在构建@code{myhello}后安装@code{greeter}软件包:"

#. type: example
#: guix-git/doc/guix.texi:3194 guix-git/doc/guix.texi:13672
#, fuzzy, no-wrap
msgid "@verbatiminclude package-hello.json\n"
msgstr "@verbatiminclude package-hello.json\n"

#. type: item
#: guix-git/doc/guix.texi:3196
#, fuzzy, no-wrap
msgid "--remove=@var{package} @dots{}"
msgstr "--remove=@var{package} @dots{}"

#. type: itemx
#: guix-git/doc/guix.texi:3197
#, fuzzy, no-wrap
msgid "-r @var{package} @dots{}"
msgstr "-r @var{package} @dots{}"

#. type: table
#: guix-git/doc/guix.texi:3199
#, fuzzy
msgid "Remove the specified @var{package}s."
msgstr "移除指定的@var{package}。"

#. type: table
#: guix-git/doc/guix.texi:3204
#, fuzzy
msgid "As for @option{--install}, each @var{package} may specify a version number and/or output name in addition to the package name.  For instance, @samp{-r glibc:debug} would remove the @code{debug} output of @code{glibc}."
msgstr "至于@option{--install},每个@var{package}可以在软件包名称之外指定版本号和/或输出名称。例如,@samp{-r glibc:debug}将移除@code{glibc}的@code{debug}输出。"

#. type: item
#: guix-git/doc/guix.texi:3205
#, fuzzy, no-wrap
msgid "--upgrade[=@var{regexp} @dots{}]"
msgstr "--upgrade[=@var{regexp} @dots{}]"

#. type: itemx
#: guix-git/doc/guix.texi:3206
#, fuzzy, no-wrap
msgid "-u [@var{regexp} @dots{}]"
msgstr "-u [@var{regexp} @dots{}]"

#. type: cindex
#: guix-git/doc/guix.texi:3207
#, fuzzy, no-wrap
msgid "upgrading packages"
msgstr "升级软件包"

#. type: table
#: guix-git/doc/guix.texi:3211
#, fuzzy
msgid "Upgrade all the installed packages.  If one or more @var{regexp}s are specified, upgrade only installed packages whose name matches a @var{regexp}.  Also see the @option{--do-not-upgrade} option below."
msgstr "升级所有已安装的软件包。如果指定了一个或多个 @var{regexp},则仅升级名称与 @var{regexp} 匹配的已安装软件包。另请参见下面的 @option{--do-not-upgrade} 选项。"

#. type: table
#: guix-git/doc/guix.texi:3216
#, fuzzy
msgid "Note that this upgrades package to the latest version of packages found in the distribution currently installed.  To update your distribution, you should regularly run @command{guix pull} (@pxref{Invoking guix pull})."
msgstr "请注意,这将软件包升级到当前安装的发行版中找到的最新版本。要更新您的发行版,您应该定期运行 @command{guix pull} (@pxref{Invoking guix pull})。"

#. type: cindex
#: guix-git/doc/guix.texi:3217
#, fuzzy, no-wrap
msgid "package transformations, upgrades"
msgstr "软件包变换选项。"

#. type: table
#: guix-git/doc/guix.texi:3222
#, fuzzy
msgid "When upgrading, package transformations that were originally applied when creating the profile are automatically re-applied (@pxref{Package Transformation Options}).  For example, assume you first installed Emacs from the tip of its development branch with:"
msgstr "在升级时,最初在创建配置文件时应用的软件包转换会自动重新应用 (@pxref{Package Transformation Options})。例如,假设您最初通过以下方式从开发分支的最新版本安装了 Emacs:"

#. type: example
#: guix-git/doc/guix.texi:3225
#, fuzzy, no-wrap
msgid "guix install emacs-next --with-branch=emacs-next=master\n"
msgstr "guix install emacs-next --with-branch=emacs-next=master\n"

#. type: table
#: guix-git/doc/guix.texi:3230
#, fuzzy
msgid "Next time you run @command{guix upgrade}, Guix will again pull the tip of the Emacs development branch and build @code{emacs-next} from that checkout."
msgstr "下次运行 @command{guix upgrade} 时,Guix 将再次拉取 Emacs 开发分支的最新版本,并从该检出构建 @code{emacs-next}。"

#. type: table
#: guix-git/doc/guix.texi:3235
#, fuzzy
msgid "Note that transformation options such as @option{--with-branch} and @option{--with-source} depend on external state; it is up to you to ensure that they work as expected.  You can also discard a transformations that apply to a package by running:"
msgstr "请注意,@option{--with-branch} 和 @option{--with-source} 等转换选项依赖于外部状态;确保它们按预期工作由您负责。您还可以通过运行以下命令来丢弃适用于某个软件包的转换:"

#. type: example
#: guix-git/doc/guix.texi:3238
#, fuzzy, no-wrap
msgid "guix install @var{package}\n"
msgstr "guix install emacs-guix\n"

#. type: item
#: guix-git/doc/guix.texi:3240
#, fuzzy, no-wrap
msgid "--do-not-upgrade[=@var{regexp} @dots{}]"
msgstr "--do-not-upgrade[=@var{regexp} @dots{}]"

#. type: table
#: guix-git/doc/guix.texi:3245
#, fuzzy
msgid "When used together with the @option{--upgrade} option, do @emph{not} upgrade any packages whose name matches a @var{regexp}.  For example, to upgrade all packages in the current profile except those containing the substring ``emacs'':"
msgstr "与 @option{--upgrade} 选项一起使用时,不要升级任何名称与 @var{regexp} 匹配的软件包。例如,要升级当前配置文件中的所有软件包,但不包括包含子字符串“emacs”的软件包:"

#. type: example
#: guix-git/doc/guix.texi:3248
#, fuzzy, no-wrap
msgid "$ guix package --upgrade . --do-not-upgrade emacs\n"
msgstr "$ guix package --upgrade . --do-not-upgrade emacs\n"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:3250
#, fuzzy, no-wrap
msgid "profile-manifest"
msgstr "配置文件清单"

#. type: item
#: guix-git/doc/guix.texi:3250 guix-git/doc/guix.texi:6187
#: guix-git/doc/guix.texi:6704 guix-git/doc/guix.texi:7324
#: guix-git/doc/guix.texi:15113 guix-git/doc/guix.texi:16857
#, fuzzy, no-wrap
msgid "--manifest=@var{file}"
msgstr "--manifest=@var{file}"

#. type: itemx
#: guix-git/doc/guix.texi:3251 guix-git/doc/guix.texi:6188
#: guix-git/doc/guix.texi:6705 guix-git/doc/guix.texi:7325
#: guix-git/doc/guix.texi:15114
#, fuzzy, no-wrap
msgid "-m @var{file}"
msgstr "-m @var{file}"

#. type: cindex
#: guix-git/doc/guix.texi:3252
#, fuzzy, no-wrap
msgid "profile declaration"
msgstr "配置文件声明"

#. type: cindex
#: guix-git/doc/guix.texi:3253
#, fuzzy, no-wrap
msgid "profile manifest"
msgstr "配置文件清单"

#. type: table
#: guix-git/doc/guix.texi:3257
#, fuzzy
msgid "Create a new generation of the profile from the manifest object returned by the Scheme code in @var{file}.  This option can be repeated several times, in which case the manifests are concatenated."
msgstr "从 @var{file} 中 Scheme 代码返回的清单对象创建配置文件的新版本。此选项可以重复多次,在这种情况下,清单将被连接在一起。"

#. type: table
#: guix-git/doc/guix.texi:3263
#, fuzzy
msgid "This allows you to @emph{declare} the profile's contents rather than constructing it through a sequence of @option{--install} and similar commands.  The advantage is that @var{file} can be put under version control, copied to different machines to reproduce the same profile, and so on."
msgstr "这使您可以 @emph{声明} 配置文件的内容,而不是通过一系列 @option{--install} 和类似命令构建它。其优点是 @var{file} 可以放在版本控制下,复制到不同的机器以重现相同的配置文件,等等。"

#. type: table
#: guix-git/doc/guix.texi:3266
#, fuzzy
msgid "@var{file} must return a @dfn{manifest} object, which is roughly a list of packages:"
msgstr "@var{file} 必须返回一个 @dfn{manifest} 对象,它大致上是一个软件包列表:"

#. type: findex
#: guix-git/doc/guix.texi:3267
#, fuzzy, no-wrap
msgid "packages->manifest"
msgstr "packages->manifest"

#. type: lisp
#: guix-git/doc/guix.texi:3270
#, fuzzy, no-wrap
msgid ""
"(use-package-modules guile emacs)\n"
"\n"
msgstr ""
"(use-package-modules guile emacs)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:3276
#, fuzzy, no-wrap
msgid ""
"(packages->manifest\n"
" (list emacs\n"
"       guile-2.0\n"
"       ;; Use a specific package output.\n"
"       (list guile-2.0 \"debug\")))\n"
msgstr ""
"(packages->manifest\n"
" (list emacs\n"
"       guile-2.0\n"
"       ;; 使用特定的软件包输出。\n"
"       (list guile-2.0 \"debug\")))\n"

#. type: table
#: guix-git/doc/guix.texi:3281
#, fuzzy
msgid "@xref{Writing Manifests}, for information on how to write a manifest.  @xref{export-manifest, @option{--export-manifest}}, to learn how to obtain a manifest file from an existing profile."
msgstr "@xref{编写清单},有关如何编写清单的信息。 @xref{export-manifest, @option{--export-manifest}},了解如何从现有配置文件中获取清单文件。"

#. type: item
#: guix-git/doc/guix.texi:3282 guix-git/doc/guix.texi:4583
#, fuzzy, no-wrap
msgid "--roll-back"
msgstr "--roll-back"

#. type: cindex
#: guix-git/doc/guix.texi:3283 guix-git/doc/guix.texi:4584
#: guix-git/doc/guix.texi:44614 guix-git/doc/guix.texi:49906
#, fuzzy, no-wrap
msgid "rolling back"
msgstr "回滚"

#. type: cindex
#: guix-git/doc/guix.texi:3284 guix-git/doc/guix.texi:4585
#, fuzzy, no-wrap
msgid "undoing transactions"
msgstr "撤销事务"

#. type: cindex
#: guix-git/doc/guix.texi:3285 guix-git/doc/guix.texi:4586
#, fuzzy, no-wrap
msgid "transactions, undoing"
msgstr "事务,撤销"

#. type: table
#: guix-git/doc/guix.texi:3288
#, fuzzy
msgid "Roll back to the previous @dfn{generation} of the profile---i.e., undo the last transaction."
msgstr "回滚到配置文件的上一个 @dfn{generation} --- 即,撤销最后一个事务。"

#. type: table
#: guix-git/doc/guix.texi:3291
#, fuzzy
msgid "When combined with options such as @option{--install}, roll back occurs before any other actions."
msgstr "当与 @option{--install} 等选项结合使用时,回滚发生在任何其他操作之前。"

#. type: table
#: guix-git/doc/guix.texi:3295
#, fuzzy
msgid "When rolling back from the first generation that actually contains installed packages, the profile is made to point to the @dfn{zeroth generation}, which contains no files apart from its own metadata."
msgstr "当从实际包含已安装软件包的第一代回滚时,配置文件会指向 @dfn{zeroth generation},该代除了其自身的元数据外不包含任何文件。"

#. type: table
#: guix-git/doc/guix.texi:3299
#, fuzzy
msgid "After having rolled back, installing, removing, or upgrading packages overwrites previous future generations.  Thus, the history of the generations in a profile is always linear."
msgstr "回滚后,安装、删除或升级软件包会覆盖之前的未来代。因此,配置文件中的代历史始终是线性的。"

#. type: item
#: guix-git/doc/guix.texi:3300 guix-git/doc/guix.texi:4590
#, fuzzy, no-wrap
msgid "--switch-generation=@var{pattern}"
msgstr "--switch-generation=@var{pattern}"

#. type: itemx
#: guix-git/doc/guix.texi:3301 guix-git/doc/guix.texi:4591
#, fuzzy, no-wrap
msgid "-S @var{pattern}"
msgstr "-S @var{pattern}"

#. type: cindex
#: guix-git/doc/guix.texi:3302 guix-git/doc/guix.texi:3535
#: guix-git/doc/guix.texi:4592 guix-git/doc/guix.texi:44572
#, fuzzy, no-wrap
msgid "generations"
msgstr "代"

#. type: table
#: guix-git/doc/guix.texi:3304 guix-git/doc/guix.texi:4594
#, fuzzy
msgid "Switch to a particular generation defined by @var{pattern}."
msgstr "切换到由 @var{pattern} 定义的特定代。"

#. type: table
#: guix-git/doc/guix.texi:3310 guix-git/doc/guix.texi:4600
#, fuzzy
msgid "@var{pattern} may be either a generation number or a number prefixed with ``+'' or ``-''.  The latter means: move forward/backward by a specified number of generations.  For example, if you want to return to the latest generation after @option{--roll-back}, use @option{--switch-generation=+1}."
msgstr "@var{pattern} 可以是代号或以 ``+'' 或 ``-'' 为前缀的数字。后者意味着:向前/向后移动指定数量的代。例如,如果您想在 @option{--roll-back} 后返回到最新代,请使用 @option{--switch-generation=+1}。"

#. type: table
#: guix-git/doc/guix.texi:3315
#, fuzzy
msgid "The difference between @option{--roll-back} and @option{--switch-generation=-1} is that @option{--switch-generation} will not make a zeroth generation, so if a specified generation does not exist, the current generation will not be changed."
msgstr "@option{--roll-back} 和 @option{--switch-generation=-1} 之间的区别在于 @option{--switch-generation} 不会创建 zeroth generation,因此如果指定的代不存在,当前代将不会改变。"

#. type: item
#: guix-git/doc/guix.texi:3316
#, fuzzy, no-wrap
msgid "--search-paths[=@var{kind}]"
msgstr "--search-paths[=@var{kind}]"

#. type: table
#: guix-git/doc/guix.texi:3322
#, fuzzy
msgid "Report environment variable definitions, in Bash syntax, that may be needed in order to use the set of installed packages.  These environment variables are used to specify @dfn{search paths} for files used by some of the installed packages."
msgstr "报告环境变量定义,采用 Bash 语法,可能需要使用已安装软件包的集合。这些环境变量用于指定某些已安装软件包使用的文件的 @dfn{search paths}。"

#. type: table
#: guix-git/doc/guix.texi:3331
#, fuzzy
msgid "For example, GCC needs the @env{CPATH} and @env{LIBRARY_PATH} environment variables to be defined so it can look for headers and libraries in the user's profile (@pxref{Environment Variables,,, gcc, Using the GNU Compiler Collection (GCC)}).  If GCC and, say, the C library are installed in the profile, then @option{--search-paths} will suggest setting these variables to @file{@var{profile}/include} and @file{@var{profile}/lib}, respectively (@pxref{Search Paths}, for info on search path specifications associated with packages.)"
msgstr "例如,GCC 需要定义 @env{CPATH} 和 @env{LIBRARY_PATH} 环境变量,以便它可以在用户的配置文件中查找头文件和库 (@pxref{环境变量,,, gcc, 使用 GNU 编译器集合 (GCC)}). 如果 GCC 和 C 库安装在配置文件中,那么 @option{--search-paths} 将建议将这些变量设置为 @file{@var{profile}/include} 和 @file{@var{profile}/lib},分别 (@pxref{搜索路径}, 有关与软件包相关的搜索路径规范的信息.)"

#. type: table
#: guix-git/doc/guix.texi:3334
#, fuzzy
msgid "The typical use case is to define these environment variables in the shell:"
msgstr "典型的用例是在 shell 中定义这些环境变量:"

#. type: example
#: guix-git/doc/guix.texi:3337
#, fuzzy, no-wrap
msgid "$ eval $(guix package --search-paths)\n"
msgstr "guix package --list-available\n"

#. type: table
#: guix-git/doc/guix.texi:3343
#, fuzzy
msgid "@var{kind} may be one of @code{exact}, @code{prefix}, or @code{suffix}, meaning that the returned environment variable definitions will either be exact settings, or prefixes or suffixes of the current value of these variables.  When omitted, @var{kind} defaults to @code{exact}."
msgstr "@var{kind} 可以是 @code{exact}、@code{prefix} 或 @code{suffix} 之一,这意味着返回的环境变量定义将是精确设置,或者是这些变量当前值的前缀或后缀。当省略时,@var{kind} 默认为 @code{exact}。"

#. type: table
#: guix-git/doc/guix.texi:3346
#, fuzzy
msgid "This option can also be used to compute the @emph{combined} search paths of several profiles.  Consider this example:"
msgstr "此选项还可以用于计算多个配置文件的 @emph{组合} 搜索路径。考虑这个例子:"

#. type: example
#: guix-git/doc/guix.texi:3351
#, fuzzy, no-wrap
msgid ""
"$ guix package -p foo -i guile\n"
"$ guix package -p bar -i guile-json\n"
"$ guix package -p foo -p bar --search-paths\n"
msgstr ""
"$ guix package -p foo -i guile\n"
"$ guix package -p bar -i guile-json\n"
"$ guix package -p foo -p bar --search-paths\n"

#. type: table
#: guix-git/doc/guix.texi:3356
#, fuzzy
msgid "The last command above reports about the @env{GUILE_LOAD_PATH} variable, even though, taken individually, neither @file{foo} nor @file{bar} would lead to that recommendation."
msgstr "上面的最后一条命令报告了 @env{GUILE_LOAD_PATH} 变量,即使单独来看,@file{foo} 和 @file{bar} 都不会导致该建议。"

#. type: cindex
#: guix-git/doc/guix.texi:3358
#, fuzzy, no-wrap
msgid "profile, choosing"
msgstr "配置文件,选择"

#. type: item
#: guix-git/doc/guix.texi:3359 guix-git/doc/guix.texi:4620
#: guix-git/doc/guix.texi:5026 guix-git/doc/guix.texi:6247
#: guix-git/doc/guix.texi:6744
#, fuzzy, no-wrap
msgid "--profile=@var{profile}"
msgstr "--profile=@var{profile}"

#. type: itemx
#: guix-git/doc/guix.texi:3360 guix-git/doc/guix.texi:4621
#: guix-git/doc/guix.texi:5027 guix-git/doc/guix.texi:6248
#: guix-git/doc/guix.texi:6745
#, fuzzy, no-wrap
msgid "-p @var{profile}"
msgstr "-p @var{profile}"

#. type: table
#: guix-git/doc/guix.texi:3362
#, fuzzy
msgid "Use @var{profile} instead of the user's default profile."
msgstr "使用 @var{profile} 替代用户的默认配置文件。"

#. type: table
#: guix-git/doc/guix.texi:3367
#, fuzzy
msgid "@var{profile} must be the name of a file that will be created upon completion.  Concretely, @var{profile} will be a mere symbolic link (``symlink'') pointing to the actual profile where packages are installed:"
msgstr "@var{profile} 必须是一个将在完成时创建的文件的名称。具体来说,@var{profile} 将是一个指向实际安装软件包的配置文件的符号链接(``symlink''):"

#. type: example
#: guix-git/doc/guix.texi:3373
#, fuzzy, no-wrap
msgid ""
"$ guix install hello -p ~/code/my-profile\n"
"@dots{}\n"
"$ ~/code/my-profile/bin/hello\n"
"Hello, world!\n"
msgstr ""
"$ guix install hello -p ~/code/my-profile\n"
"@dots{}\n"
"$ ~/code/my-profile/bin/hello\n"
"你好,世界!\n"

#. type: table
#: guix-git/doc/guix.texi:3377
#, fuzzy
msgid "All it takes to get rid of the profile is to remove this symlink and its siblings that point to specific generations:"
msgstr "要删除配置文件,只需删除此符号链接及其指向特定版本的兄弟链接:"

#. type: example
#: guix-git/doc/guix.texi:3380
#, fuzzy, no-wrap
msgid "$ rm ~/code/my-profile ~/code/my-profile-*-link\n"
msgstr "$ rm ~/code/my-profile ~/code/my-profile-*-link\n"

#. type: item
#: guix-git/doc/guix.texi:3382
#, fuzzy, no-wrap
msgid "--list-profiles"
msgstr "--list-profiles"

#. type: table
#: guix-git/doc/guix.texi:3384
#, fuzzy
msgid "List all the user's profiles:"
msgstr "列出所有用户的配置文件:"

#. type: example
#: guix-git/doc/guix.texi:3391
#, fuzzy, no-wrap
msgid ""
"$ guix package --list-profiles\n"
"/home/charlie/.guix-profile\n"
"/home/charlie/code/my-profile\n"
"/home/charlie/code/devel-profile\n"
"/home/charlie/tmp/test\n"
msgstr ""
"$ guix package --list-profiles\n"
"/home/charlie/.guix-profile\n"
"/home/charlie/code/my-profile\n"
"/home/charlie/code/devel-profile\n"
"/home/charlie/tmp/test\n"

#. type: table
#: guix-git/doc/guix.texi:3394
#, fuzzy
msgid "When running as root, list all the profiles of all the users."
msgstr "以 root 身份运行时,列出所有用户的所有配置文件。"

#. type: cindex
#: guix-git/doc/guix.texi:3395
#, fuzzy, no-wrap
msgid "collisions, in a profile"
msgstr "配置文件中的冲突"

#. type: cindex
#: guix-git/doc/guix.texi:3396
#, fuzzy, no-wrap
msgid "colliding packages in profiles"
msgstr "配置文件中的冲突包"

#. type: cindex
#: guix-git/doc/guix.texi:3397
#, fuzzy, no-wrap
msgid "profile collisions"
msgstr "配置文件冲突"

#. type: item
#: guix-git/doc/guix.texi:3398
#, fuzzy, no-wrap
msgid "--allow-collisions"
msgstr "--allow-collisions"

#. type: table
#: guix-git/doc/guix.texi:3400
#, fuzzy
msgid "Allow colliding packages in the new profile.  Use at your own risk!"
msgstr "允许在新配置文件中存在冲突包。请自行承担风险!"

#. type: table
#: guix-git/doc/guix.texi:3404
#, fuzzy
msgid "By default, @command{guix package} reports as an error @dfn{collisions} in the profile.  Collisions happen when two or more different versions or variants of a given package end up in the profile."
msgstr "默认情况下,@command{guix package} 将配置文件中的 @dfn{冲突} 报告为错误。当两个或多个不同版本或变体的给定包最终出现在配置文件中时,就会发生冲突。"

#. type: item
#: guix-git/doc/guix.texi:3405 guix-git/doc/guix.texi:4671
#: guix-git/doc/guix.texi:7416
#, fuzzy, no-wrap
msgid "--bootstrap"
msgstr "--bootstrap"

#. type: table
#: guix-git/doc/guix.texi:3408
#, fuzzy
msgid "Use the bootstrap Guile to build the profile.  This option is only useful to distribution developers."
msgstr "使用引导 Guile 来构建配置文件。此选项仅对发行版开发者有用。"

#. type: Plain text
#: guix-git/doc/guix.texi:3414
#, fuzzy
msgid "In addition to these actions, @command{guix package} supports the following options to query the current state of a profile, or the availability of packages:"
msgstr "除了这些操作,@command{guix package} 还支持以下选项以查询配置文件的当前状态或包的可用性:"

#. type: item
#: guix-git/doc/guix.texi:3417
#, fuzzy, no-wrap
msgid "--search=@var{regexp}"
msgstr "--search=@var{regexp}"

#. type: itemx
#: guix-git/doc/guix.texi:3418
#, fuzzy, no-wrap
msgid "-s @var{regexp}"
msgstr "-s @var{regexp}"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:3420
#, fuzzy
msgid "guix-search"
msgstr "guix-search"

#. type: cindex
#: guix-git/doc/guix.texi:3420 guix-git/doc/guix.texi:4075
#, fuzzy, no-wrap
msgid "searching for packages"
msgstr "搜索包"

#. type: table
#: guix-git/doc/guix.texi:3426
#, fuzzy
msgid "List the available packages whose name, synopsis, or description matches @var{regexp} (in a case-insensitive fashion), sorted by relevance.  Print all the metadata of matching packages in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
msgstr "列出名称、摘要或描述与 @var{regexp}(不区分大小写)匹配的可用包,按相关性排序。以 @code{recutils} 格式打印匹配包的所有元数据(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})。"

#. type: table
#: guix-git/doc/guix.texi:3429
#, fuzzy
msgid "This allows specific fields to be extracted using the @command{recsel} command, for instance:"
msgstr "这允许使用 @command{recsel} 命令提取特定字段,例如:"

#. type: example
#: guix-git/doc/guix.texi:3435
#, fuzzy, no-wrap
msgid ""
"$ guix package -s malloc | recsel -p name,version,relevance\n"
"name: jemalloc\n"
"version: 4.5.0\n"
"relevance: 6\n"
"\n"
msgstr ""
"$ guix package -s malloc | recsel -p name,version,relevance\n"
"name: jemalloc\n"
"version: 4.5.0\n"
"relevance: 6\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:3439
#, fuzzy, no-wrap
msgid ""
"name: glibc\n"
"version: 2.25\n"
"relevance: 1\n"
"\n"
msgstr ""
"name: glibc\n"
"version: 2.25\n"
"relevance: 1\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:3443
#, fuzzy, no-wrap
msgid ""
"name: libgc\n"
"version: 7.6.0\n"
"relevance: 1\n"
msgstr ""
"name: libgc\n"
"version: 7.6.0\n"
"relevance: 1\n"

#. type: table
#: guix-git/doc/guix.texi:3447
#, fuzzy
msgid "Similarly, to show the name of all the packages available under the terms of the GNU@tie{}LGPL version 3:"
msgstr "同样,要显示所有根据 GNU@tie{}LGPL 版本 3 条款可用的包的名称:"

#. type: example
#: guix-git/doc/guix.texi:3451
#, fuzzy, no-wrap
msgid ""
"$ guix package -s \"\" | recsel -p name -e 'license ~ \"LGPL 3\"'\n"
"name: elfutils\n"
"\n"
msgstr ""
"$ guix package -s \"\" | recsel -p name -e 'license ~ \"LGPL 3\"'\n"
"name: elfutils\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:3454
#, fuzzy, no-wrap
msgid ""
"name: gmp\n"
"@dots{}\n"
msgstr ""
"name: gmp\n"
"@dots{}\n"

#. type: table
#: guix-git/doc/guix.texi:3460
#, fuzzy
msgid "It is also possible to refine search results using several @code{-s} flags to @command{guix package}, or several arguments to @command{guix search}.  For example, the following command returns a list of board games (this time using the @command{guix search} alias):"
msgstr "还可以使用多个 @code{-s} 标志来细化 @command{guix package} 的搜索结果,或向 @command{guix search} 提供多个参数。例如,以下命令返回一个棋盘游戏的列表(这次使用 @command{guix search} 别名):"

#. type: example
#: guix-git/doc/guix.texi:3465
#, fuzzy, no-wrap
msgid ""
"$ guix search '\\<board\\>' game | recsel -p name\n"
"name: gnubg\n"
"@dots{}\n"
msgstr ""
"$ guix search '\\<board\\>' game | recsel -p name\n"
"name: gnubg\n"
"@dots{}\n"

#. type: table
#: guix-git/doc/guix.texi:3471
#, fuzzy
msgid "If we were to omit @code{-s game}, we would also get software packages that deal with printed circuit boards; removing the angle brackets around @code{board} would further add packages that have to do with keyboards."
msgstr "如果我们省略 @code{-s game},我们还会得到处理印刷电路板的软件包;去掉 @code{board} 周围的尖括号将进一步添加与键盘相关的包。"

#. type: table
#: guix-git/doc/guix.texi:3475
#, fuzzy
msgid "And now for a more elaborate example.  The following command searches for cryptographic libraries, filters out Haskell, Perl, Python, and Ruby libraries, and prints the name and synopsis of the matching packages:"
msgstr "现在来一个更详细的示例。以下命令搜索加密库,过滤掉 Haskell、Perl、Python 和 Ruby 库,并打印匹配包的名称和概要:"

#. type: example
#: guix-git/doc/guix.texi:3479
#, fuzzy, no-wrap
msgid ""
"$ guix search crypto library | \\\n"
"    recsel -e '! (name ~ \"^(ghc|perl|python|ruby)\")' -p name,synopsis\n"
msgstr ""
"$ guix search crypto library | \\\n"
"    recsel -e '! (name ~ \"^(ghc|perl|python|ruby)\")' -p name,synopsis\n"

#. type: table
#: guix-git/doc/guix.texi:3484
#, fuzzy
msgid "@xref{Selection Expressions,,, recutils, GNU recutils manual}, for more information on @dfn{selection expressions} for @code{recsel -e}."
msgstr "@xref{选择表达式,,, recutils, GNU recutils 手册},有关 @dfn{选择表达式} 的更多信息,请参见 @code{recsel -e}。"

#. type: item
#: guix-git/doc/guix.texi:3485
#, fuzzy, no-wrap
msgid "--show=@var{package}"
msgstr "--show=@var{package}"

#. type: table
#: guix-git/doc/guix.texi:3489
#, fuzzy
msgid "Show details about @var{package}, taken from the list of available packages, in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
msgstr "显示有关 @var{package} 的详细信息,来自可用包列表,以 @code{recutils} 格式(@pxref{顶部, GNU recutils 数据库,, recutils, GNU recutils 手册})。"

#. type: example
#: guix-git/doc/guix.texi:3494
#, fuzzy, no-wrap
msgid ""
"$ guix package --show=guile | recsel -p name,version\n"
"name: guile\n"
"version: 3.0.5\n"
"\n"
msgstr ""
"$ guix package --show=guile | recsel -p name,version\n"
"name: guile\n"
"version: 3.0.5\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:3497
#, fuzzy, no-wrap
msgid ""
"name: guile\n"
"version: 3.0.2\n"
"\n"
msgstr ""
"name: guile\n"
"version: 3.0.2\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:3501
#, fuzzy, no-wrap
msgid ""
"name: guile\n"
"version: 2.2.7\n"
"@dots{}\n"
msgstr ""
"name: guile\n"
"version: 2.2.7\n"
"@dots{}\n"

#. type: table
#: guix-git/doc/guix.texi:3505
#, fuzzy
msgid "You may also specify the full name of a package to only get details about a specific version of it (this time using the @command{guix show} alias):"
msgstr "您还可以指定包的完整名称,以仅获取该特定版本的详细信息(这次使用 @command{guix show} 别名):"

#. type: example
#: guix-git/doc/guix.texi:3509
#, fuzzy, no-wrap
msgid ""
"$ guix show guile@@3.0.5 | recsel -p name,version\n"
"name: guile\n"
"version: 3.0.5\n"
msgstr ""
"$ guix show guile@@3.0.5 | recsel -p name,version\n"
"name: guile\n"
"version: 3.0.5\n"

#. type: item
#: guix-git/doc/guix.texi:3511
#, fuzzy, no-wrap
msgid "--list-installed[=@var{regexp}]"
msgstr "--list-installed[=@var{regexp}]"

#. type: itemx
#: guix-git/doc/guix.texi:3512
#, fuzzy, no-wrap
msgid "-I [@var{regexp}]"
msgstr "-I [@var{regexp}]"

#. type: table
#: guix-git/doc/guix.texi:3516
#, fuzzy
msgid "List the currently installed packages in the specified profile, with the most recently installed packages shown last.  When @var{regexp} is specified, list only installed packages whose name matches @var{regexp}."
msgstr "列出指定配置文件中当前安装的包,最近安装的包最后显示。当指定 @var{regexp} 时,仅列出名称匹配 @var{regexp} 的已安装包。"

#. type: table
#: guix-git/doc/guix.texi:3522
#, fuzzy
msgid "For each installed package, print the following items, separated by tabs: the package name, its version string, the part of the package that is installed (for instance, @code{out} for the default output, @code{include} for its headers, etc.), and the path of this package in the store."
msgstr "对于每个已安装的包,打印以下项目,以制表符分隔:包名称、版本字符串、已安装包的部分(例如,@code{out} 表示默认输出,@code{include} 表示其头文件等),以及该包在存储中的路径。"

#. type: item
#: guix-git/doc/guix.texi:3523
#, fuzzy, no-wrap
msgid "--list-available[=@var{regexp}]"
msgstr "--list-available[=@var{regexp}]"

#. type: itemx
#: guix-git/doc/guix.texi:3524
#, fuzzy, no-wrap
msgid "-A [@var{regexp}]"
msgstr "-A [@var{regexp}]"

#. type: table
#: guix-git/doc/guix.texi:3528
#, fuzzy
msgid "List packages currently available in the distribution for this system (@pxref{GNU Distribution}).  When @var{regexp} is specified, list only available packages whose name matches @var{regexp}."
msgstr "列出当前在此系统的发行版中可用的包(@pxref{GNU 发行版})。当指定 @var{regexp} 时,仅列出名称匹配 @var{regexp} 的可用包。"

#. type: table
#: guix-git/doc/guix.texi:3532
#, fuzzy
msgid "For each package, print the following items separated by tabs: its name, its version string, the parts of the package (@pxref{Packages with Multiple Outputs}), and the source location of its definition."
msgstr "对于每个包,打印以下项目,以制表符分隔:其名称、版本字符串、包的部分(@pxref{具有多个输出的包}),以及其定义的源位置。"

#. type: item
#: guix-git/doc/guix.texi:3533 guix-git/doc/guix.texi:4566
#, fuzzy, no-wrap
msgid "--list-generations[=@var{pattern}]"
msgstr "--list-generations[=@var{pattern}]"

#. type: itemx
#: guix-git/doc/guix.texi:3534 guix-git/doc/guix.texi:4567
#, fuzzy, no-wrap
msgid "-l [@var{pattern}]"
msgstr "-l [@var{pattern}]"

#. type: table
#: guix-git/doc/guix.texi:3540
#, fuzzy
msgid "Return a list of generations along with their creation dates; for each generation, show the installed packages, with the most recently installed packages shown last.  Note that the zeroth generation is never shown."
msgstr "返回一个代数列表及其创建日期;对于每个代数,显示已安装的包,最近安装的包最后显示。请注意,零代数永远不会显示。"

#. type: table
#: guix-git/doc/guix.texi:3545
#, fuzzy
msgid "For each installed package, print the following items, separated by tabs: the name of a package, its version string, the part of the package that is installed (@pxref{Packages with Multiple Outputs}), and the location of this package in the store."
msgstr "对于每个已安装的包,打印以下项目,用制表符分隔:包的名称、其版本字符串、已安装的包的部分(@pxref{Packages with Multiple Outputs}),以及该包在存储中的位置。"

#. type: table
#: guix-git/doc/guix.texi:3548
#, fuzzy
msgid "When @var{pattern} is used, the command returns only matching generations.  Valid patterns include:"
msgstr "当使用 @var{pattern} 时,命令仅返回匹配的代数。有效的模式包括:"

#. type: item
#: guix-git/doc/guix.texi:3550
#, fuzzy, no-wrap
msgid "@emph{Integers and comma-separated integers}.  Both patterns denote"
msgstr "@emph{整数和以逗号分隔的整数}。这两种模式表示"

#. type: itemize
#: guix-git/doc/guix.texi:3553
#, fuzzy
msgid "generation numbers.  For instance, @option{--list-generations=1} returns the first one."
msgstr "代数编号。例如,@option{--list-generations=1} 返回第一个。"

#. type: itemize
#: guix-git/doc/guix.texi:3556
#, fuzzy
msgid "And @option{--list-generations=1,8,2} outputs three generations in the specified order.  Neither spaces nor trailing commas are allowed."
msgstr "而 @option{--list-generations=1,8,2} 按指定顺序输出三个代数。既不允许有空格,也不允许有尾随逗号。"

#. type: item
#: guix-git/doc/guix.texi:3557
#, fuzzy, no-wrap
msgid "@emph{Ranges}.  @option{--list-generations=2..9} prints the"
msgstr "@emph{范围}。@option{--list-generations=2..9} 打印"

#. type: itemize
#: guix-git/doc/guix.texi:3560
#, fuzzy
msgid "specified generations and everything in between.  Note that the start of a range must be smaller than its end."
msgstr "指定的代数及其之间的所有内容。请注意,范围的起始值必须小于其结束值。"

#. type: itemize
#: guix-git/doc/guix.texi:3564
#, fuzzy
msgid "It is also possible to omit the endpoint.  For example, @option{--list-generations=2..}, returns all generations starting from the second one."
msgstr "也可以省略端点。例如,@option{--list-generations=2..} 返回从第二个开始的所有代数。"

#. type: item
#: guix-git/doc/guix.texi:3565
#, fuzzy, no-wrap
msgid "@emph{Durations}.  You can also get the last @emph{N}@tie{}days, weeks,"
msgstr "@emph{持续时间}。您还可以通过传递一个整数和持续时间的首字母来获取最近的 @emph{N}@tie{}天、周或月。例如,@option{--list-generations=20d} 列出最多 20 天的代数。"

#. type: itemize
#: guix-git/doc/guix.texi:3569
#, fuzzy
msgid "or months by passing an integer along with the first letter of the duration.  For example, @option{--list-generations=20d} lists generations that are up to 20 days old."
msgstr "--delete-generations[=@var{pattern}]"

#. type: item
#: guix-git/doc/guix.texi:3571 guix-git/doc/guix.texi:4601
#, fuzzy, no-wrap
msgid "--delete-generations[=@var{pattern}]"
msgstr "-d [@var{pattern}]"

#. type: itemx
#: guix-git/doc/guix.texi:3572 guix-git/doc/guix.texi:4602
#, fuzzy, no-wrap
msgid "-d [@var{pattern}]"
msgstr "当省略 @var{pattern} 时,删除除当前代数之外的所有代数。"

#. type: table
#: guix-git/doc/guix.texi:3575 guix-git/doc/guix.texi:4605
#, fuzzy
msgid "When @var{pattern} is omitted, delete all generations except the current one."
msgstr "此命令接受与 @option{--list-generations} 相同的模式。当指定 @var{pattern} 时,删除匹配的代数。当 @var{pattern} 指定一个持续时间时,@emph{比} 指定的持续时间更旧的代数匹配。例如,@option{--delete-generations=1m} 删除超过一个月的代数。"

#. type: table
#: guix-git/doc/guix.texi:3581 guix-git/doc/guix.texi:4611
#, fuzzy
msgid "This command accepts the same patterns as @option{--list-generations}.  When @var{pattern} is specified, delete the matching generations.  When @var{pattern} specifies a duration, generations @emph{older} than the specified duration match.  For instance, @option{--delete-generations=1m} deletes generations that are more than one month old."
msgstr "如果当前代数匹配,则 @emph{不会} 被删除。此外,零代数永远不会被删除。"

#. type: table
#: guix-git/doc/guix.texi:3584
#, fuzzy
msgid "If the current generation matches, it is @emph{not} deleted.  Also, the zeroth generation is never deleted."
msgstr "请注意,删除代数会阻止回滚到它们。因此,此命令必须谨慎使用。"

#. type: table
#: guix-git/doc/guix.texi:3587 guix-git/doc/guix.texi:4616
#, fuzzy
msgid "Note that deleting generations prevents rolling back to them.  Consequently, this command must be used with care."
msgstr "请注意,删除代际会阻止回滚到它们。因此,此命令必须谨慎使用。"

#. type: cindex
#: guix-git/doc/guix.texi:3588 guix-git/doc/guix.texi:6200
#, fuzzy, no-wrap
msgid "manifest, exporting"
msgstr "清单,导出"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:3590
#, fuzzy
msgid "export-manifest"
msgstr "导出清单"

#. type: item
#: guix-git/doc/guix.texi:3590 guix-git/doc/guix.texi:6202
#, fuzzy, no-wrap
msgid "--export-manifest"
msgstr "--导出清单"

#. type: table
#: guix-git/doc/guix.texi:3593
#, fuzzy
msgid "Write to standard output a manifest suitable for @option{--manifest} corresponding to the chosen profile(s)."
msgstr "将适合于@option{--manifest}的清单写入标准输出,以对应所选的配置文件。"

#. type: table
#: guix-git/doc/guix.texi:3597
#, fuzzy
msgid "This option is meant to help you migrate from the ``imperative'' operating mode---running @command{guix install}, @command{guix upgrade}, etc.---to the declarative mode that @option{--manifest} offers."
msgstr "此选项旨在帮助您从“命令式”操作模式迁移——运行@command{guix install}、@command{guix upgrade}等——到@option{--manifest}所提供的声明式模式。"

#. type: table
#: guix-git/doc/guix.texi:3602
#, fuzzy
msgid "Be aware that the resulting manifest @emph{approximates} what your profile actually contains; for instance, depending on how your profile was created, it can refer to packages or package versions that are not exactly what you specified."
msgstr "请注意,生成的清单@emph{近似}于您的配置文件实际包含的内容;例如,根据您的配置文件创建方式,它可能引用的包或包版本并不完全是您指定的。"

#. type: table
#: guix-git/doc/guix.texi:3607
#, fuzzy
msgid "Keep in mind that a manifest is purely symbolic: it only contains package names and possibly versions, and their meaning varies over time.  If you wish to ``pin'' channels to the revisions that were used to build the profile(s), see @option{--export-channels} below."
msgstr "请记住,清单纯粹是象征性的:它仅包含包名称和可能的版本,其含义随时间变化。如果您希望将通道“固定”到用于构建配置文件的修订版本,请参见下面的@option{--export-channels}。"

#. type: cindex
#: guix-git/doc/guix.texi:3608
#, fuzzy, no-wrap
msgid "pinning, channel revisions of a profile"
msgstr "和其它版本的Guix交互。"

#. type: item
#: guix-git/doc/guix.texi:3609
#, fuzzy, no-wrap
msgid "--export-channels"
msgstr "--导出通道"

#. type: table
#: guix-git/doc/guix.texi:3613
#, fuzzy
msgid "Write to standard output the list of channels used by the chosen profile(s), in a format suitable for @command{guix pull --channels} or @command{guix time-machine --channels} (@pxref{Channels})."
msgstr "将所选配置文件使用的通道列表写入标准输出,格式适合@command{guix pull --channels}或@command{guix time-machine --channels}(@pxref{Channels})。"

#. type: table
#: guix-git/doc/guix.texi:3617
#, fuzzy
msgid "Together with @option{--export-manifest}, this option provides information allowing you to replicate the current profile (@pxref{Replicating Guix})."
msgstr "与@option{--export-manifest}一起,此选项提供信息,使您能够复制当前配置文件(@pxref{Replicating Guix})。"

#. type: table
#: guix-git/doc/guix.texi:3625
#, fuzzy
msgid "However, note that the output of this command @emph{approximates} what was actually used to build this profile.  In particular, a single profile might have been built from several different revisions of the same channel.  In that case, @option{--export-manifest} chooses the last one and writes the list of other revisions in a comment.  If you really need to pick packages from different channel revisions, you can use inferiors in your manifest to do so (@pxref{Inferiors})."
msgstr "但是,请注意,此命令的输出@emph{近似}于实际用于构建此配置文件的内容。特别是,单个配置文件可能是从同一通道的多个不同修订版本构建的。在这种情况下,@option{--export-manifest}选择最后一个,并在注释中写出其他修订版本。如果您确实需要从不同的通道修订版本中选择包,可以在您的清单中使用下级包来实现(@pxref{Inferiors})。"

#. type: table
#: guix-git/doc/guix.texi:3630
#, fuzzy
msgid "Together with @option{--export-manifest}, this is a good starting point if you are willing to migrate from the ``imperative'' model to the fully declarative model consisting of a manifest file along with a channels file pinning the exact channel revision(s) you want."
msgstr "与@option{--export-manifest}一起,如果您愿意从“命令式”模型迁移到完全声明式模型(包括清单文件和固定您想要的确切通道修订版本的通道文件),这是一个良好的起点。"

#. type: Plain text
#: guix-git/doc/guix.texi:3637
#, fuzzy
msgid "Finally, since @command{guix package} may actually start build processes, it supports all the common build options (@pxref{Common Build Options}).  It also supports package transformation options, such as @option{--with-source}, and preserves them across upgrades (@pxref{Package Transformation Options})."
msgstr "最后,由于@command{guix package}可能实际启动构建过程,它支持所有常见的构建选项(@pxref{Common Build Options})。它还支持包转换选项,例如@option{--with-source},并在升级时保留这些选项(@pxref{Package Transformation Options})。"

#. type: cindex
#: guix-git/doc/guix.texi:3642
#, fuzzy, no-wrap
msgid "pre-built binaries"
msgstr "预构建的二进制文件"

#. type: Plain text
#: guix-git/doc/guix.texi:3648
#, fuzzy
msgid "Guix supports transparent source/binary deployment, which means that it can either build things locally, or download pre-built items from a server, or both.  We call these pre-built items @dfn{substitutes}---they are substitutes for local build results.  In many cases, downloading a substitute is much faster than building things locally."
msgstr "Guix 支持透明的源/二进制部署,这意味着它可以在本地构建东西,或者从服务器下载预构建的项目,或者两者兼而有之。我们称这些预构建的项目为 @dfn{替代品}——它们是本地构建结果的替代品。在许多情况下,下载替代品比在本地构建东西要快得多。"

#. type: Plain text
#: guix-git/doc/guix.texi:3653
#, fuzzy
msgid "Substitutes can be anything resulting from a derivation build (@pxref{Derivations}).  Of course, in the common case, they are pre-built package binaries, but source tarballs, for instance, which also result from derivation builds, can be available as substitutes."
msgstr "替代品可以是任何来自派生构建的结果 (@pxref{Derivations})。当然,在常见情况下,它们是预构建的包二进制文件,但例如,源 tarball 也可以作为替代品,因为它们同样来自派生构建。"

#. type: cindex
#: guix-git/doc/guix.texi:3667
#, fuzzy, no-wrap
msgid "build farm"
msgstr "构建农场"

#. type: Plain text
#: guix-git/doc/guix.texi:3678
#, fuzzy
msgid "@code{@value{SUBSTITUTE-SERVER-1}} and @code{@value{SUBSTITUTE-SERVER-2}} are both front-ends to official build farms that build packages from Guix continuously for some architectures, and make them available as substitutes.  These are the default source of substitutes; which can be overridden by passing the @option{--substitute-urls} option either to @command{guix-daemon} (@pxref{daemon-substitute-urls,, @code{guix-daemon --substitute-urls}})  or to client tools such as @command{guix package} (@pxref{client-substitute-urls,, client @option{--substitute-urls} option})."
msgstr "@code{@value{SUBSTITUTE-SERVER-1}} 和 @code{@value{SUBSTITUTE-SERVER-2}} 都是官方构建农场的前端,这些构建农场为某些架构持续构建来自 Guix 的包,并将其作为替代品提供。这些是替代品的默认来源;可以通过将 @option{--substitute-urls} 选项传递给 @command{guix-daemon} (@pxref{daemon-substitute-urls,, @code{guix-daemon --substitute-urls}}) 或客户端工具如 @command{guix package} (@pxref{client-substitute-urls,, client @option{--substitute-urls} option}) 来覆盖。"

#. type: Plain text
#: guix-git/doc/guix.texi:3684
#, fuzzy
msgid "Substitute URLs can be either HTTP or HTTPS.  HTTPS is recommended because communications are encrypted; conversely, using HTTP makes all communications visible to an eavesdropper, who could use the information gathered to determine, for instance, whether your system has unpatched security vulnerabilities."
msgstr "替代品 URL 可以是 HTTP 或 HTTPS。推荐使用 HTTPS,因为通信是加密的;相反,使用 HTTP 会使所有通信对窃听者可见,窃听者可以利用收集到的信息来判断,例如,您的系统是否存在未修补的安全漏洞。"

#. type: Plain text
#: guix-git/doc/guix.texi:3693
#, fuzzy
msgid "Substitutes from the official build farms are enabled by default when using Guix System (@pxref{GNU Distribution}).  However, they are disabled by default when using Guix on a foreign distribution, unless you have explicitly enabled them via one of the recommended installation steps (@pxref{Installation}).  The following paragraphs describe how to enable or disable substitutes for the official build farm; the same procedure can also be used to enable substitutes for any other substitute server."
msgstr "在使用 Guix System (@pxref{GNU Distribution}) 时,默认启用来自官方构建农场的替代品。然而,在使用 Guix 在外部发行版上时,默认情况下它们是禁用的,除非您通过推荐的安装步骤之一显式启用了它们 (@pxref{Installation})。以下段落描述了如何为官方构建农场启用或禁用替代品;同样的程序也可以用于启用任何其他替代服务器的替代品。"

#. type: cindex
#: guix-git/doc/guix.texi:3697
#, fuzzy, no-wrap
msgid "security"
msgstr "安全"

#. type: cindex
#: guix-git/doc/guix.texi:3699
#, fuzzy, no-wrap
msgid "access control list (ACL), for substitutes"
msgstr "访问控制列表 (ACL),用于替代品"

#. type: cindex
#: guix-git/doc/guix.texi:3700
#, fuzzy, no-wrap
msgid "ACL (access control list), for substitutes"
msgstr "ACL (访问控制列表),用于替代品"

#. type: Plain text
#: guix-git/doc/guix.texi:3706
#, fuzzy
msgid "To allow Guix to download substitutes from @code{@value{SUBSTITUTE-SERVER-1}}, @code{@value{SUBSTITUTE-SERVER-2}} or a mirror, you must add the relevant public key to the access control list (ACL) of archive imports, using the @command{guix archive} command (@pxref{Invoking guix archive}).  Doing so implies that you trust the substitute server to not be compromised and to serve genuine substitutes."
msgstr "要允许 Guix 从 @code{@value{SUBSTITUTE-SERVER-1}}、@code{@value{SUBSTITUTE-SERVER-2}} 或镜像下载替代品,您必须将相关的公钥添加到归档导入的访问控制列表 (ACL) 中,使用 @command{guix archive} 命令 (@pxref{Invoking guix archive})。这样做意味着您信任替代服务器不会被破坏,并且能够提供真实的替代品。"

#. type: quotation
#: guix-git/doc/guix.texi:3711
#, fuzzy
msgid "If you are using Guix System, you can skip this section: Guix System authorizes substitutes from @code{@value{SUBSTITUTE-SERVER-1}} and @code{@value{SUBSTITUTE-SERVER-2}} by default."
msgstr "如果您正在使用 Guix 系统,可以跳过本节:Guix 系统默认授权来自 @code{@value{SUBSTITUTE-SERVER-1}} 和 @code{@value{SUBSTITUTE-SERVER-2}} 的替代品。"

#. type: Plain text
#: guix-git/doc/guix.texi:3719
#, fuzzy
msgid "The public keys for each of the project maintained substitute servers are installed along with Guix, in @code{@var{prefix}/share/guix/}, where @var{prefix} is the installation prefix of Guix.  If you installed Guix from source, make sure you checked the GPG signature of @file{guix-@value{VERSION}.tar.gz}, which contains this public key file.  Then, you can run something like this:"
msgstr "每个项目维护的替代服务器的公钥与 Guix 一起安装,在 @code{@var{prefix}/share/guix/} 中,其中 @var{prefix} 是 Guix 的安装前缀。如果您是从源代码安装 Guix,请确保您检查了 @file{guix-@value{VERSION}.tar.gz} 的 GPG 签名,该文件包含此公钥文件。然后,您可以运行类似这样的命令:"

#. type: example
#: guix-git/doc/guix.texi:3723
#, no-wrap
msgid ""
"# guix archive --authorize < @var{prefix}/share/guix/@value{SUBSTITUTE-SERVER-1}.pub\n"
"# guix archive --authorize < @var{prefix}/share/guix/@value{SUBSTITUTE-SERVER-2}.pub\n"
msgstr ""
"# guix archive --authorize < @var{prefix}/share/guix/@value{SUBSTITUTE-SERVER-1}.pub\n"
"# guix archive --authorize < @var{prefix}/share/guix/@value{SUBSTITUTE-SERVER-2}.pub\n"

#. type: Plain text
#: guix-git/doc/guix.texi:3727
#, fuzzy
msgid "Once this is in place, the output of a command like @code{guix build} should change from something like:"
msgstr "一旦这一切就绪,像 @code{guix build} 这样的命令的输出应该会从类似于:"

#. type: example
#: guix-git/doc/guix.texi:3736
#, fuzzy, no-wrap
msgid ""
"$ guix build emacs --dry-run\n"
"The following derivations would be built:\n"
"   /gnu/store/yr7bnx8xwcayd6j95r2clmkdl1qh688w-emacs-24.3.drv\n"
"   /gnu/store/x8qsh1hlhgjx6cwsjyvybnfv2i37z23w-dbus-1.6.4.tar.gz.drv\n"
"   /gnu/store/1ixwp12fl950d15h2cj11c73733jay0z-alsa-lib-1.0.27.1.tar.bz2.drv\n"
"   /gnu/store/nlma1pw0p603fpfiqy7kn4zm105r5dmw-util-linux-2.21.drv\n"
"@dots{}\n"
msgstr ""
"$ guix build emacs --dry-run\n"
"以下派生将被构建:\n"
"   /gnu/store/yr7bnx8xwcayd6j95r2clmkdl1qh688w-emacs-24.3.drv\n"
"   /gnu/store/x8qsh1hlhgjx6cwsjyvybnfv2i37z23w-dbus-1.6.4.tar.gz.drv\n"
"   /gnu/store/1ixwp12fl950d15h2cj11c73733jay0z-alsa-lib-1.0.27.1.tar.bz2.drv\n"
"   /gnu/store/nlma1pw0p603fpfiqy7kn4zm105r5dmw-util-linux-2.21.drv\n"
"@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:3740
#, fuzzy
msgid "to something like:"
msgstr "变为类似于:"

#. type: example
#: guix-git/doc/guix.texi:3749
#, fuzzy, no-wrap
msgid ""
"$ guix build emacs --dry-run\n"
"112.3 MB would be downloaded:\n"
"   /gnu/store/pk3n22lbq6ydamyymqkkz7i69wiwjiwi-emacs-24.3\n"
"   /gnu/store/2ygn4ncnhrpr61rssa6z0d9x22si0va3-libjpeg-8d\n"
"   /gnu/store/71yz6lgx4dazma9dwn2mcjxaah9w77jq-cairo-1.12.16\n"
"   /gnu/store/7zdhgp0n1518lvfn8mb96sxqfmvqrl7v-libxrender-0.9.7\n"
"@dots{}\n"
msgstr ""
"$ guix build emacs --dry-run\n"
"将下载 112.3 MB:\n"
"   /gnu/store/pk3n22lbq6ydamyymqkkz7i69wiwjiwi-emacs-24.3\n"
"   /gnu/store/2ygn4ncnhrpr61rssa6z0d9x22si0va3-libjpeg-8d\n"
"   /gnu/store/71yz6lgx4dazma9dwn2mcjxaah9w77jq-cairo-1.12.16\n"
"   /gnu/store/7zdhgp0n1518lvfn8mb96sxqfmvqrl7v-libxrender-0.9.7\n"
"@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:3756
#, fuzzy
msgid "The text changed from ``The following derivations would be built'' to ``112.3 MB would be downloaded''.  This indicates that substitutes from the configured substitute servers are usable and will be downloaded, when possible, for future builds."
msgstr "文本从 ``以下派生将被构建'' 更改为 ``将下载 112.3 MB''。这表明来自配置的替代服务器的替代品是可用的,并且在可能的情况下将被下载,以供将来的构建使用。"

#. type: cindex
#: guix-git/doc/guix.texi:3757
#, fuzzy, no-wrap
msgid "substitutes, how to disable"
msgstr "替代品,如何禁用"

#. type: Plain text
#: guix-git/doc/guix.texi:3763
#, fuzzy
msgid "The substitute mechanism can be disabled globally by running @code{guix-daemon} with @option{--no-substitutes} (@pxref{Invoking guix-daemon}).  It can also be disabled temporarily by passing the @option{--no-substitutes} option to @command{guix package}, @command{guix build}, and other command-line tools."
msgstr "可以通过运行 @code{guix-daemon} 并使用 @option{--no-substitutes} 来全局禁用替代机制 (@pxref{Invoking guix-daemon})。 也可以通过将 @option{--no-substitutes} 选项传递给 @command{guix package}、@command{guix build} 和其他命令行工具来暂时禁用。"

#. type: cindex
#: guix-git/doc/guix.texi:3768
#, fuzzy, no-wrap
msgid "substitute servers, adding more"
msgstr "授权substitute服务器。"

#. type: Plain text
#: guix-git/doc/guix.texi:3775
#, fuzzy
msgid "Guix can look up and fetch substitutes from several servers.  This is useful when you are using packages from additional channels for which the official server does not have substitutes but another server provides them.  Another situation where this is useful is when you would prefer to download from your organization's substitute server, resorting to the official server only as a fallback or dismissing it altogether."
msgstr "Guix 可以从多个服务器查找和获取替代品。 当您使用来自额外频道的包时,这很有用,因为官方服务器没有替代品,但其他服务器提供它们。 另一个有用的情况是,当您希望从组织的替代服务器下载,而仅在必要时使用官方服务器作为后备,或者完全不使用它。"

#. type: Plain text
#: guix-git/doc/guix.texi:3780
#, fuzzy
msgid "You can give Guix a list of substitute server URLs and it will check them in the specified order.  You also need to explicitly authorize the public keys of substitute servers to instruct Guix to accept the substitutes they sign."
msgstr "您可以给 Guix 提供一组替代服务器的 URL,它将按指定顺序检查这些 URL。 您还需要明确授权替代服务器的公钥,以指示 Guix 接受它们签署的替代品。"

#. type: Plain text
#: guix-git/doc/guix.texi:3787
#, fuzzy
msgid "On Guix System, this is achieved by modifying the configuration of the @code{guix} service.  Since the @code{guix} service is part of the default lists of services, @code{%base-services} and @code{%desktop-services}, you can use @code{modify-services} to change its configuration and add the URLs and substitute keys that you want (@pxref{Service Reference, @code{modify-services}})."
msgstr "在 Guix 系统上,这可以通过修改 @code{guix} 服务的配置来实现。 由于 @code{guix} 服务是默认服务列表的一部分,即 @code{%base-services} 和 @code{%desktop-services},您可以使用 @code{modify-services} 来更改其配置,并添加您想要的 URL 和替代密钥 (@pxref{Service Reference, @code{modify-services}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:3793
#, fuzzy
msgid "As an example, suppose you want to fetch substitutes from @code{guix.example.org} and to authorize the signing key of that server, in addition to the default @code{@value{SUBSTITUTE-SERVER-1}} and @code{@value{SUBSTITUTE-SERVER-2}}.  The resulting operating system configuration will look something like:"
msgstr "例如,假设您想从 @code{guix.example.org} 获取替代品,并授权该服务器的签名密钥,除了默认的 @code{@value{SUBSTITUTE-SERVER-1}} 和 @code{@value{SUBSTITUTE-SERVER-2}}。 结果操作系统配置将类似于:"

#. type: lisp
#: guix-git/doc/guix.texi:3810
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services\n"
"    ;; Assume we're starting from '%desktop-services'.  Replace it\n"
"    ;; with the list of services you're actually using.\n"
"    (modify-services %desktop-services\n"
"      (guix-service-type config =>\n"
"                        (guix-configuration\n"
"                          (inherit config)\n"
"                          (substitute-urls\n"
"                            (append (list \"https://guix.example.org\")\n"
"                                    %default-substitute-urls))\n"
"                          (authorized-keys\n"
"                            (append (list (local-file \"./key.pub\"))\n"
"                                    %default-authorized-guix-keys)))))))\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services\n"
"    ;; 假设我们从 '%desktop-services' 开始。 将其替换为\n"
"    ;; 您实际使用的服务列表。\n"
"    (modify-services %desktop-services\n"
"      (guix-service-type config =>\n"
"                        (guix-configuration\n"
"                          (inherit config)\n"
"                          (substitute-urls\n"
"                            (append (list \"https://guix.example.org\")\n"
"                                    %default-substitute-urls))\n"
"                          (authorized-keys\n"
"                            (append (list (local-file \"./key.pub\"))\n"
"                                    %default-authorized-guix-keys)))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:3817
#, fuzzy
msgid "This assumes that the file @file{key.pub} contains the signing key of @code{guix.example.org}.  With this change in place in your operating system configuration file (say @file{/etc/config.scm}), you can reconfigure and restart the @code{guix-daemon} service or reboot so the changes take effect:"
msgstr "这假设文件 @file{key.pub} 包含 @code{guix.example.org} 的签名密钥。 在操作系统配置文件中进行此更改后(例如 @file{/etc/config.scm}),您可以重新配置并重启 @code{guix-daemon} 服务,或重启以使更改生效:"

#. type: example
#: guix-git/doc/guix.texi:3821
#, fuzzy, no-wrap
msgid ""
"$ sudo guix system reconfigure /etc/config.scm\n"
"$ sudo herd restart guix-daemon\n"
msgstr ""
"$ sudo guix system reconfigure /etc/config.scm\n"
"$ sudo herd restart guix-daemon\n"

#. type: Plain text
#: guix-git/doc/guix.texi:3825
#, fuzzy
msgid "If you're running Guix on a ``foreign distro'', you would instead take the following steps to get substitutes from additional servers:"
msgstr "如果您在“外部发行版”上运行 Guix,您将采取以下步骤从其他服务器获取替代品:"

#. type: enumerate
#: guix-git/doc/guix.texi:3834
#, fuzzy
msgid "Edit the service configuration file for @code{guix-daemon}; when using systemd, this is normally @file{/etc/systemd/system/guix-daemon.service}.  Add the @option{--substitute-urls} option on the @command{guix-daemon} command line and list the URLs of interest (@pxref{daemon-substitute-urls, @code{guix-daemon --substitute-urls}}):"
msgstr "编辑 @code{guix-daemon} 的服务配置文件;使用 systemd 时,通常是 @file{/etc/systemd/system/guix-daemon.service}。 在 @command{guix-daemon} 命令行上添加 @option{--substitute-urls} 选项,并列出感兴趣的 URL (@pxref{daemon-substitute-urls, @code{guix-daemon --substitute-urls}}):"

#. type: example
#: guix-git/doc/guix.texi:3837
#, fuzzy, no-wrap
msgid "@dots{} --substitute-urls='https://guix.example.org @value{SUBSTITUTE-URLS}'\n"
msgstr "@dots{} --substitute-urls='https://guix.example.org @value{SUBSTITUTE-URLS}'\n"

#. type: enumerate
#: guix-git/doc/guix.texi:3841
#, fuzzy
msgid "Restart the daemon.  For systemd, it goes like this:"
msgstr "重启守护进程。 对于 systemd,步骤如下:"

#. type: example
#: guix-git/doc/guix.texi:3845
#, fuzzy, no-wrap
msgid ""
"systemctl daemon-reload\n"
"systemctl restart guix-daemon.service\n"
msgstr ""
"systemctl daemon-reload\n"
"systemctl restart guix-daemon.service\n"

#. type: enumerate
#: guix-git/doc/guix.texi:3849
#, fuzzy
msgid "Authorize the key of the new server (@pxref{Invoking guix archive}):"
msgstr "授权新服务器的密钥 (@pxref{Invoking guix archive}):"

#. type: example
#: guix-git/doc/guix.texi:3852
#, fuzzy, no-wrap
msgid "guix archive --authorize < key.pub\n"
msgstr "# guix archive --authorize < master-public-key.txt\n"

#. type: enumerate
#: guix-git/doc/guix.texi:3856
#, fuzzy
msgid "Again this assumes @file{key.pub} contains the public key that @code{guix.example.org} uses to sign substitutes."
msgstr "再次假设 @file{key.pub} 包含 @code{guix.example.org} 用于签名替代品的公钥。"

#. type: Plain text
#: guix-git/doc/guix.texi:3865
#, fuzzy
msgid "Now you're all set! Substitutes will be preferably taken from @code{https://guix.example.org}, using @code{@value{SUBSTITUTE-SERVER-1}} then @code{@value{SUBSTITUTE-SERVER-2}} as fallback options.  Of course you can list as many substitute servers as you like, with the caveat that substitute lookup can be slowed down if too many servers need to be contacted."
msgstr "现在您一切就绪! 替代品将优先从 @code{https://guix.example.org} 获取,使用 @code{@value{SUBSTITUTE-SERVER-1}} 然后 @code{@value{SUBSTITUTE-SERVER-2}} 作为后备选项。 当然,您可以列出任意数量的替代服务器,但请注意,如果需要联系的服务器过多,替代查找可能会变慢。"

#. type: quotation
#: guix-git/doc/guix.texi:3866 guix-git/doc/guix.texi:17464
#, fuzzy, no-wrap
msgid "Troubleshooting"
msgstr "guix system describe"

#. type: quotation
#: guix-git/doc/guix.texi:3869
#, fuzzy
msgid "To diagnose problems, you can run @command{guix weather}.  For example, running:"
msgstr "要诊断问题,您可以运行 @command{guix weather}。 例如,运行:"

#. type: example
#: guix-git/doc/guix.texi:3872
#, no-wrap
msgid "guix weather coreutils\n"
msgstr "guix weather coreutils\n"

#. type: quotation
#: guix-git/doc/guix.texi:3879
#, fuzzy
msgid "not only tells you which of the currently-configured servers has substitutes for the @code{coreutils} package, it also reports whether one of these servers is unauthorized.  @xref{Invoking guix weather}, for more information."
msgstr "不仅告诉您当前配置的服务器中哪个有 @code{coreutils} 包的替代品,还报告这些服务器中是否有一个未被授权。 @xref{Invoking guix weather},获取更多信息。"

#. type: Plain text
#: guix-git/doc/guix.texi:3884
#, fuzzy
msgid "Note that there are also situations where one may want to add the URL of a substitute server @emph{without} authorizing its key.  @xref{Substitute Authentication}, to understand this fine point."
msgstr "请注意,还有一些情况可能希望添加替代服务器的 URL @emph{而不} 授权其密钥。 @xref{Substitute Authentication},以理解这一细微之处。"

#. type: cindex
#: guix-git/doc/guix.texi:3888
#, fuzzy, no-wrap
msgid "digital signatures"
msgstr "数字签名"

#. type: Plain text
#: guix-git/doc/guix.texi:3892
#, fuzzy
msgid "Guix detects and raises an error when attempting to use a substitute that has been tampered with.  Likewise, it ignores substitutes that are not signed, or that are not signed by one of the keys listed in the ACL."
msgstr "Guix 在尝试使用被篡改的替代品时会检测并引发错误。同样,它会忽略未签名的替代品,或未由 ACL 中列出的密钥签名的替代品。"

#. type: Plain text
#: guix-git/doc/guix.texi:3898
#, fuzzy
msgid "There is one exception though: if an unauthorized server provides substitutes that are @emph{bit-for-bit identical} to those provided by an authorized server, then the unauthorized server becomes eligible for downloads.  For example, assume we have chosen two substitute servers with this option:"
msgstr "不过有一个例外:如果一个未经授权的服务器提供的替代品与授权服务器提供的替代品是 @emph{逐位相同} 的,那么该未经授权的服务器将有资格进行下载。例如,假设我们选择了两个具有此选项的替代服务器:"

#. type: example
#: guix-git/doc/guix.texi:3901
#, fuzzy, no-wrap
msgid "--substitute-urls=\"https://a.example.org https://b.example.org\"\n"
msgstr "--substitute-urls=\"https://a.example.org https://b.example.org\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:3912
#, fuzzy
msgid "If the ACL contains only the key for @samp{b.example.org}, and if @samp{a.example.org} happens to serve the @emph{exact same} substitutes, then Guix will download substitutes from @samp{a.example.org} because it comes first in the list and can be considered a mirror of @samp{b.example.org}.  In practice, independent build machines usually produce the same binaries, thanks to bit-reproducible builds (see below)."
msgstr "如果 ACL 仅包含 @samp{b.example.org} 的密钥,并且 @samp{a.example.org} 恰好提供 @emph{完全相同} 的替代品,那么 Guix 将从 @samp{a.example.org} 下载替代品,因为它在列表中排在第一,并且可以被视为 @samp{b.example.org} 的镜像。实际上,独立的构建机器通常会生成相同的二进制文件,这要归功于可比特重现的构建(见下文)。"

#. type: Plain text
#: guix-git/doc/guix.texi:3919
#, fuzzy
msgid "When using HTTPS, the server's X.509 certificate is @emph{not} validated (in other words, the server is not authenticated), contrary to what HTTPS clients such as Web browsers usually do.  This is because Guix authenticates substitute information itself, as explained above, which is what we care about (whereas X.509 certificates are about authenticating bindings between domain names and public keys)."
msgstr "在使用 HTTPS 时,服务器的 X.509 证书 @emph{不} 被验证(换句话说,服务器没有经过身份验证),这与 HTTPS 客户端(如网页浏览器)通常所做的相反。这是因为 Guix 自行验证替代信息,如上所述,这才是我们关心的(而 X.509 证书是关于验证域名与公钥之间的绑定)。"

#. type: Plain text
#: guix-git/doc/guix.texi:3931
#, fuzzy
msgid "Substitutes are downloaded over HTTP or HTTPS@.  The @env{http_proxy} and @env{https_proxy} environment variables can be set in the environment of @command{guix-daemon} and are honored for downloads of substitutes.  Note that the value of those environment variables in the environment where @command{guix build}, @command{guix package}, and other client commands are run has @emph{absolutely no effect}."
msgstr "替代品通过 HTTP 或 HTTPS 下载@。 @env{http_proxy} 和 @env{https_proxy} 环境变量可以在 @command{guix-daemon} 的环境中设置,并在替代品的下载中被尊重。请注意,在运行 @command{guix build}、@command{guix package} 和其他客户端命令的环境中,这些环境变量的值 @emph{绝对没有影响}。"

#. type: Plain text
#: guix-git/doc/guix.texi:3940
#, fuzzy
msgid "Even when a substitute for a derivation is available, sometimes the substitution attempt will fail.  This can happen for a variety of reasons: the substitute server might be offline, the substitute may recently have been deleted, the connection might have been interrupted, etc."
msgstr "即使某个派生的替代品可用,有时替代尝试也会失败。这可能由于多种原因发生:替代服务器可能离线,替代品可能最近被删除,连接可能中断等。"

#. type: Plain text
#: guix-git/doc/guix.texi:3954
#, fuzzy
msgid "When substitutes are enabled and a substitute for a derivation is available, but the substitution attempt fails, Guix will attempt to build the derivation locally depending on whether or not @option{--fallback} was given (@pxref{fallback-option,, common build option @option{--fallback}}).  Specifically, if @option{--fallback} was omitted, then no local build will be performed, and the derivation is considered to have failed.  However, if @option{--fallback} was given, then Guix will attempt to build the derivation locally, and the success or failure of the derivation depends on the success or failure of the local build.  Note that when substitutes are disabled or no substitute is available for the derivation in question, a local build will @emph{always} be performed, regardless of whether or not @option{--fallback} was given."
msgstr "当启用替代品且有可用的派生替代品时,如果替代尝试失败,Guix 将尝试根据是否给出了 @option{--fallback} 来在本地构建派生 (@pxref{fallback-option,, common build option @option{--fallback}})。具体来说,如果省略了 @option{--fallback},则不会执行本地构建,派生被视为失败。然而,如果给出了 @option{--fallback},则 Guix 将尝试在本地构建派生,派生的成功或失败取决于本地构建的成功或失败。请注意,当禁用替代品或没有可用的派生替代品时,无论是否给出 @option{--fallback},都将 @emph{始终} 执行本地构建。"

#. type: Plain text
#: guix-git/doc/guix.texi:3959
#, fuzzy
msgid "To get an idea of how many substitutes are available right now, you can try running the @command{guix weather} command (@pxref{Invoking guix weather}).  This command provides statistics on the substitutes provided by a server."
msgstr "要了解当前可用的替代品数量,您可以尝试运行 @command{guix weather} 命令 (@pxref{Invoking guix weather})。此命令提供有关服务器提供的替代品的统计信息。"

#. type: cindex
#: guix-git/doc/guix.texi:3963
#, fuzzy, no-wrap
msgid "trust, of pre-built binaries"
msgstr "信任,预构建二进制文件的"

#. type: Plain text
#: guix-git/doc/guix.texi:3973
#, fuzzy
msgid "Today, each individual's control over their own computing is at the mercy of institutions, corporations, and groups with enough power and determination to subvert the computing infrastructure and exploit its weaknesses.  While using substitutes can be convenient, we encourage users to also build on their own, or even run their own build farm, such that the project run substitute servers are less of an interesting target.  One way to help is by publishing the software you build using @command{guix publish} so that others have one more choice of server to download substitutes from (@pxref{Invoking guix publish})."
msgstr "如今,每个人对自己计算机的控制权都受到机构、公司和有足够权力和决心来颠覆计算基础设施并利用其弱点的团体的影响。虽然使用替代品可能很方便,但我们鼓励用户也自己构建,甚至运行自己的构建农场,以便项目运行的替代服务器不再是一个有趣的目标。帮助的一种方式是通过 @command{guix publish} 发布您构建的软件,以便其他人有更多的服务器选择来下载替代品 (@pxref{Invoking guix publish})。"

#. type: Plain text
#: guix-git/doc/guix.texi:3992
#, fuzzy
msgid "Guix has the foundations to maximize build reproducibility (@pxref{Features}).  In most cases, independent builds of a given package or derivation should yield bit-identical results.  Thus, through a diverse set of independent package builds, we can strengthen the integrity of our systems.  The @command{guix challenge} command aims to help users assess substitute servers, and to assist developers in finding out about non-deterministic package builds (@pxref{Invoking guix challenge}).  Similarly, the @option{--check} option of @command{guix build} allows users to check whether previously-installed substitutes are genuine by rebuilding them locally (@pxref{build-check, @command{guix build --check}}).  To force a full rebuild of a package (ignoring security updates via grafts (@pxref{Security Updates}), if any grafts exist—which is not always the case), use @option{--check} together with @option{--no-grafts} (@pxref{Common Build Options, @option{--no-grafts}}).  Because grafts are built as their own derivation, if the package you want to rebuild is subject to being grafted, merely using @option{--check} will only rebuild the grafting derivation, and not actually recompile the package."
msgstr "Guix 拥有最大化构建可重复性的基础 (@pxref{Features})。在大多数情况下,给定软件包或派生的独立构建应产生位相同的结果。因此,通过多样化的独立软件包构建,我们可以增强系统的完整性。@command{guix challenge} 命令旨在帮助用户评估替代服务器,并协助开发人员了解非确定性软件包构建 (@pxref{Invoking guix challenge})。同样,@command{guix build} 的 @option{--check} 选项允许用户通过在本地重新构建来检查先前安装的替代品是否真实 (@pxref{build-check, @command{guix build --check}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:3996
#, fuzzy
msgid "In the future, we want Guix to have support to publish and retrieve binaries to/from other users, in a peer-to-peer fashion.  If you would like to discuss this project, join us on @email{guix-devel@@gnu.org}."
msgstr "在未来,我们希望 Guix 能够支持以点对点的方式发布和检索二进制文件给其他用户。如果您想讨论这个项目,请加入我们 @email{guix-devel@@gnu.org}。"

#. type: cindex
#: guix-git/doc/guix.texi:4000
#, fuzzy, no-wrap
msgid "multiple-output packages"
msgstr "多输出包"

#. type: cindex
#: guix-git/doc/guix.texi:4001
#, fuzzy, no-wrap
msgid "package outputs"
msgstr "包输出"

#. type: cindex
#: guix-git/doc/guix.texi:4002
#, fuzzy, no-wrap
msgid "outputs"
msgstr "输出"

#. type: Plain text
#: guix-git/doc/guix.texi:4012
#, fuzzy
msgid "Often, packages defined in Guix have a single @dfn{output}---i.e., the source package leads to exactly one directory in the store.  When running @command{guix install glibc}, one installs the default output of the GNU libc package; the default output is called @code{out}, but its name can be omitted as shown in this command.  In this particular case, the default output of @code{glibc} contains all the C header files, shared libraries, static libraries, Info documentation, and other supporting files."
msgstr "通常,在 Guix 中定义的包只有一个 @dfn{输出}——即源包仅导致存储中的一个目录。当运行 @command{guix install glibc} 时,安装的是 GNU libc 包的默认输出;默认输出称为 @code{out},但其名称可以省略,如该命令所示。在这种特定情况下,@code{glibc} 的默认输出包含所有 C 头文件、共享库、静态库、Info 文档和其他支持文件。"

#. type: Plain text
#: guix-git/doc/guix.texi:4020
#, fuzzy
msgid "Sometimes it is more appropriate to separate the various types of files produced from a single source package into separate outputs.  For instance, the GLib C library (used by GTK+ and related packages)  installs more than 20 MiB of reference documentation as HTML pages.  To save space for users who do not need it, the documentation goes to a separate output, called @code{doc}.  To install the main GLib output, which contains everything but the documentation, one would run:"
msgstr "有时,将从单个源包生成的各种类型的文件分离到不同的输出中更为合适。例如,GLib C 库(由 GTK+ 和相关包使用)安装了超过 20 MiB 的参考文档作为 HTML 页面。为了节省不需要它的用户的空间,文档被放入一个单独的输出中,称为 @code{doc}。要安装包含所有内容但不包括文档的主要 GLib 输出,可以运行:"

#. type: example
#: guix-git/doc/guix.texi:4023
#, no-wrap
msgid "guix install glib\n"
msgstr "guix install glib\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4027
#, fuzzy
msgid "The command to install its documentation is:"
msgstr "安装其文档的命令是:"

#. type: example
#: guix-git/doc/guix.texi:4030
#, fuzzy, no-wrap
msgid "guix install glib:doc\n"
msgstr "guix install glib:doc\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4039
#, fuzzy
msgid "While the colon syntax works for command-line specification of package outputs, it will not work when using a package @emph{variable} in Scheme code.  For example, to add the documentation of @code{glib} to the globally installed packages of an @code{operating-system} (see @ref{operating-system Reference}), a list of two items, the first one being the package @emph{variable} and the second one the name of the output to select (a string), must be used instead:"
msgstr "虽然冒号语法适用于命令行指定包输出,但在 Scheme 代码中使用包 @emph{变量}时将无法使用。例如,要将 @code{glib} 的文档添加到 @code{operating-system} 的全局安装包中(见 @ref{operating-system Reference}),必须使用一个包含两个项目的列表,第一个是包 @emph{变量},第二个是要选择的输出名称(字符串):"

#. type: lisp
#: guix-git/doc/guix.texi:4049
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu packages glib))\n"
";; glib-with-documentation is the Guile symbol for the glib package\n"
"(operating-system\n"
" ...\n"
" (packages\n"
"  (append\n"
"   (list (list glib-with-documentation \"doc\"))\n"
"         %base-packages)))\n"
msgstr ""
"(use-modules (gnu packages glib))\n"
";; glib-with-documentation 是 glib 包的 Guile 符号\n"
"(operating-system\n"
" ...\n"
" (packages\n"
"  (append\n"
"   (list (list glib-with-documentation \"doc\"))\n"
"         %base-packages)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4060
#, fuzzy
msgid "Some packages install programs with different ``dependency footprints''.  For instance, the WordNet package installs both command-line tools and graphical user interfaces (GUIs).  The former depend solely on the C library, whereas the latter depend on Tcl/Tk and the underlying X libraries.  In this case, we leave the command-line tools in the default output, whereas the GUIs are in a separate output.  This allows users who do not need the GUIs to save space.  The @command{guix size} command can help find out about such situations (@pxref{Invoking guix size}).  @command{guix graph} can also be helpful (@pxref{Invoking guix graph})."
msgstr "一些包安装具有不同“依赖足迹”的程序。例如,WordNet 包同时安装命令行工具和图形用户界面(GUI)。前者仅依赖于 C 库,而后者依赖于 Tcl/Tk 和底层 X 库。在这种情况下,我们将命令行工具保留在默认输出中,而 GUI 则在单独的输出中。这使得不需要 GUI 的用户可以节省空间。@command{guix size} 命令可以帮助了解这种情况(@pxref{Invoking guix size})。@command{guix graph} 也可能有帮助(@pxref{Invoking guix graph})。"

#. type: Plain text
#: guix-git/doc/guix.texi:4068
#, fuzzy
msgid "There are several such multiple-output packages in the GNU distribution.  Other conventional output names include @code{lib} for libraries and possibly header files, @code{bin} for stand-alone programs, and @code{debug} for debugging information (@pxref{Installing Debugging Files}).  The outputs of a package are listed in the third column of the output of @command{guix package --list-available} (@pxref{Invoking guix package})."
msgstr "在GNU发行版中有几个这样的多输出包。其他常规输出名称包括@code{lib}用于库和可能的头文件,@code{bin}用于独立程序,以及@code{debug}用于调试信息(@pxref{安装调试文件})。一个包的输出在@command{guix package --list-available}的输出第三列中列出(@pxref{调用guix包})。"

#. type: section
#: guix-git/doc/guix.texi:4071
#, no-wrap
msgid "Invoking @command{guix locate}"
msgstr "调用@command{guix locate}"

#. type: cindex
#: guix-git/doc/guix.texi:4073
#, fuzzy, no-wrap
msgid "file, searching in packages"
msgstr "定义新软件包。"

#. type: cindex
#: guix-git/doc/guix.texi:4074 guix-git/doc/guix.texi:26963
#, fuzzy, no-wrap
msgid "file search"
msgstr "文件系统"

#. type: Plain text
#: guix-git/doc/guix.texi:4080
#, fuzzy
msgid "There's so much free software out there that sooner or later, you will need to search for packages.  The @command{guix search} command that we've seen before (@pxref{Invoking guix package}) lets you search by keywords:"
msgstr "有这么多免费的软件,迟早你会需要搜索包。我们之前看到的@command{guix search}命令(@pxref{调用guix包})允许你通过关键字搜索:"

#. type: example
#: guix-git/doc/guix.texi:4083
#, fuzzy, no-wrap
msgid "guix search video editor\n"
msgstr "guix search video editor\n"

#. type: cindex
#: guix-git/doc/guix.texi:4085
#, fuzzy, no-wrap
msgid "searching for packages, by file name"
msgstr "按文件名搜索包"

#. type: Plain text
#: guix-git/doc/guix.texi:4089
#, fuzzy
msgid "Sometimes, you instead want to find which package provides a given file, and this is where @command{guix locate} comes in.  Here is how you can find which package provides the @command{ls} command:"
msgstr "有时,你想找到哪个包提供了给定的文件,这就是@command{guix locate}派上用场的地方。以下是你可以找到哪个包提供@command{ls}命令的方法:"

#. type: example
#: guix-git/doc/guix.texi:4093
#, fuzzy, no-wrap
msgid ""
"$ guix locate ls\n"
"coreutils@@9.1       /gnu/store/@dots{}-coreutils-9.1/bin/ls\n"
msgstr ""
"$ guix locate ls\n"
"coreutils@@9.1       /gnu/store/@dots{}-coreutils-9.1/bin/ls\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4096
#, fuzzy
msgid "Of course the command works for any file, not just commands:"
msgstr "当然,该命令适用于任何文件,而不仅仅是命令:"

#. type: example
#: guix-git/doc/guix.texi:4101
#, fuzzy, no-wrap
msgid ""
"$ guix locate unistr.h\n"
"icu4c@@71.1          /gnu/store/@dots{}/include/unicode/unistr.h\n"
"libunistring@@1.0    /gnu/store/@dots{}/include/unistr.h\n"
msgstr ""
"$ guix locate unistr.h\n"
"icu4c@@71.1          /gnu/store/@dots{}/include/unicode/unistr.h\n"
"libunistring@@1.0    /gnu/store/@dots{}/include/unistr.h\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4106
#, fuzzy
msgid "You may also specify @dfn{glob patterns} with wildcards.  For example, here is how you would search for packages providing @file{.service} files:"
msgstr "你还可以指定带有通配符的@dfn{glob模式}。例如,以下是你如何搜索提供@file{.service}文件的包:"

#. type: example
#: guix-git/doc/guix.texi:4111
#, fuzzy, no-wrap
msgid ""
"$ guix locate -g '*.service'\n"
"man-db@@2.11.1        @dots{}/lib/systemd/system/man-db.service\n"
"wpa-supplicant@@2.10  @dots{}/system-services/fi.w1.wpa_supplicant1.service\n"
msgstr ""
"$ guix locate -g '*.service'\n"
"man-db@@2.11.1        @dots{}/lib/systemd/system/man-db.service\n"
"wpa-supplicant@@2.10  @dots{}/system-services/fi.w1.wpa_supplicant1.service\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4118
#, fuzzy
msgid "The @command{guix locate} command relies on a database that maps file names to package names.  By default, it automatically creates that database if it does not exist yet by traversing packages available @emph{locally}, which can take a few minutes (depending on the size of your store and the speed of your storage device)."
msgstr "@command{guix locate}命令依赖于一个将文件名映射到包名的数据库。默认情况下,如果该数据库尚不存在,它会通过遍历可用的@emph{本地}包自动创建该数据库,这可能需要几分钟(具体取决于你的存储大小和存储设备的速度)。"

#. type: quotation
#: guix-git/doc/guix.texi:4124
#, fuzzy
msgid "For now, @command{guix locate} builds its database based on purely local knowledge---meaning that you will not find packages that never reached your store.  Eventually it will support downloading a pre-built database so you can potentially find more packages."
msgstr "目前,@command{guix locate}基于纯粹的本地知识构建其数据库——这意味着你不会找到从未到达你存储的包。最终,它将支持下载预构建的数据库,这样你就可以找到更多的包。"

#. type: Plain text
#: guix-git/doc/guix.texi:4134
#, fuzzy
msgid "By default, @command{guix locate} first tries to look for a system-wide database, usually under @file{/var/cache/guix/locate}; if it does not exist or is too old, it falls back to the per-user database, by default under @file{~/.cache/guix/locate}.  On a multi-user system, administrators may want to periodically update the system-wide database so that all users can benefit from it, for instance by setting up @code{package-database-service-type} (@pxref{File Search Services, @code{package-database-service-type}})."
msgstr "默认情况下,@command{guix locate} 首先尝试查找系统范围的数据库,通常位于 @file{/var/cache/guix/locate};如果不存在或过旧,它会回退到每个用户的数据库,默认位于 @file{~/.cache/guix/locate}。在多用户系统中,管理员可能希望定期更新系统范围的数据库,以便所有用户都能受益,例如通过设置 @code{package-database-service-type} (@pxref{File Search Services, @code{package-database-service-type}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:4136 guix-git/doc/guix.texi:4763
#: guix-git/doc/guix.texi:5966 guix-git/doc/guix.texi:6511
#: guix-git/doc/guix.texi:7472 guix-git/doc/guix.texi:12717
#: guix-git/doc/guix.texi:13019 guix-git/doc/guix.texi:14136
#: guix-git/doc/guix.texi:14232 guix-git/doc/guix.texi:15423
#: guix-git/doc/guix.texi:15713 guix-git/doc/guix.texi:16216
#: guix-git/doc/guix.texi:16594 guix-git/doc/guix.texi:16690
#: guix-git/doc/guix.texi:16729 guix-git/doc/guix.texi:16830
#, fuzzy
msgid "The general syntax is:"
msgstr "一般语法为:"

#. type: example
#: guix-git/doc/guix.texi:4139
#, fuzzy, no-wrap
msgid "guix locate [@var{options}@dots{}] @var{file}@dots{}\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4145
#, fuzzy
msgid "... where @var{file} is the name of a file to search for (specifically, the ``base name'' of the file: files whose parent directories are called @var{file} are not matched)."
msgstr "... 其中 @var{file} 是要搜索的文件名(具体来说,是文件的“基本名称”:其父目录名为 @var{file} 的文件不匹配)。"

#. type: Plain text
#: guix-git/doc/guix.texi:4147 guix-git/doc/guix.texi:12770
#, fuzzy
msgid "The available options are as follows:"
msgstr "可用选项如下:"

#. type: item
#: guix-git/doc/guix.texi:4149
#, fuzzy, no-wrap
msgid "--glob"
msgstr "--glob"

#. type: itemx
#: guix-git/doc/guix.texi:4150 guix-git/doc/guix.texi:14106
#, fuzzy, no-wrap
msgid "-g"
msgstr "-g"

#. type: table
#: guix-git/doc/guix.texi:4154
#, fuzzy
msgid "Interpret @var{file}@dots{} as @dfn{glob patterns}---patterns that may include wildcards, such as @samp{*.scm} to denote all files ending in @samp{.scm}."
msgstr "将 @var{file}@dots{} 解释为 @dfn{glob 模式}---可能包含通配符的模式,例如 @samp{*.scm} 表示所有以 @samp{.scm} 结尾的文件。"

#. type: item
#: guix-git/doc/guix.texi:4155 guix-git/doc/guix.texi:7529
#, fuzzy, no-wrap
msgid "--stats"
msgstr "--stats"

#. type: table
#: guix-git/doc/guix.texi:4157
#, fuzzy
msgid "Display database statistics."
msgstr "显示数据库统计信息。"

#. type: item
#: guix-git/doc/guix.texi:4158 guix-git/doc/guix.texi:15043
#, fuzzy, no-wrap
msgid "--update"
msgstr "--update"

#. type: itemx
#: guix-git/doc/guix.texi:4159 guix-git/doc/guix.texi:15044
#, fuzzy, no-wrap
msgid "-u"
msgstr "-u"

#. type: table
#: guix-git/doc/guix.texi:4161
#, fuzzy
msgid "Update the file database."
msgstr "更新可用的软件包列表。"

#. type: table
#: guix-git/doc/guix.texi:4163
#, fuzzy
msgid "By default, the database is automatically updated when it is too old."
msgstr "默认情况下,当数据库过旧时,会自动更新数据库。"

#. type: item
#: guix-git/doc/guix.texi:4164
#, fuzzy, no-wrap
msgid "--clear"
msgstr "--clear"

#. type: table
#: guix-git/doc/guix.texi:4166
#, fuzzy
msgid "Clear the database and re-populate it."
msgstr "仓库的纯函数式接口。"

#. type: table
#: guix-git/doc/guix.texi:4171
#, fuzzy
msgid "This option lets you start anew, ensuring old data is removed from the database, which also avoids having an endlessly growing database.  By default @command{guix locate} automatically does that periodically, though infrequently."
msgstr "此选项允许您重新开始,确保旧数据从数据库中删除,这也避免了数据库无休止地增长。默认情况下,@command{guix locate} 会定期自动执行此操作,尽管不频繁。"

#. type: item
#: guix-git/doc/guix.texi:4172
#, fuzzy, no-wrap
msgid "--database=@var{file}"
msgstr "--max-jobs=@var{n}"

#. type: table
#: guix-git/doc/guix.texi:4174
#, fuzzy
msgid "Use @var{file} as the database, creating it if necessary."
msgstr "使用 @var{file} 作为数据库,如果必要则创建它。"

#. type: table
#: guix-git/doc/guix.texi:4178
#, fuzzy
msgid "By default, @command{guix locate} picks the database under @file{~/.cache/guix} or @file{/var/cache/guix}, whichever is the most recent one."
msgstr "默认情况下,@command{guix locate} 选择 @file{~/.cache/guix} 或 @file{/var/cache/guix} 下的数据库,以最近的一个为准。"

#. type: item
#: guix-git/doc/guix.texi:4179
#, fuzzy, no-wrap
msgid "--method=@var{method}"
msgstr "--rounds=@var{N}"

#. type: itemx
#: guix-git/doc/guix.texi:4180
#, fuzzy, no-wrap
msgid "-m @var{method}"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:4183
#, fuzzy
msgid "Use @var{method} to select the set of packages to index.  Possible values are:"
msgstr "使用 @var{method} 选择要索引的包集。可能的值为:"

#. type: item
#: guix-git/doc/guix.texi:4185
#, fuzzy, no-wrap
msgid "manifests"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:4191
#, fuzzy
msgid "This is the default method: it works by traversing profiles on the machine and recording packages it encounters---packages you or other users of the machine installed, directly or indirectly.  It is fast but it can miss other packages available in the store but not referred to by any profile."
msgstr "这是默认方法:它通过遍历机器上的配置文件并记录遇到的包来工作---您或其他用户直接或间接安装的包。它速度快,但可能会遗漏存储中可用但未被任何配置文件引用的其他包。"

#. type: table
#: guix-git/doc/guix.texi:4196
#, fuzzy
msgid "This is a slower but more exhaustive method: it checks among all the existing packages those that are available in the store and records them."
msgstr "这是一种较慢但更全面的方法:它检查所有现有包中存储中可用的包并记录它们。"

#. type: section
#: guix-git/doc/guix.texi:4201
#, fuzzy, no-wrap
msgid "Invoking @command{guix gc}"
msgstr "调用 @command{guix gc}"

#. type: cindex
#: guix-git/doc/guix.texi:4203
#, fuzzy, no-wrap
msgid "garbage collector"
msgstr "垃圾收集器"

#. type: cindex
#: guix-git/doc/guix.texi:4204
#, fuzzy, no-wrap
msgid "disk space"
msgstr "磁盘空间"

#. type: command{#1}
#: guix-git/doc/guix.texi:4205
#, no-wrap
msgid "guix gc"
msgstr "guix gc"

#. type: Plain text
#: guix-git/doc/guix.texi:4211
#, fuzzy
msgid "Packages that are installed, but not used, may be @dfn{garbage-collected}.  The @command{guix gc} command allows users to explicitly run the garbage collector to reclaim space from the @file{/gnu/store} directory.  It is the @emph{only} way to remove files from @file{/gnu/store}---removing files or directories manually may break it beyond repair!"
msgstr "已安装但未使用的包可能会被@dfn{垃圾回收}。@command{guix gc}命令允许用户显式运行垃圾回收器,以从@file{/gnu/store}目录中回收空间。这是从@file{/gnu/store}中删除文件的@emph{唯一}方法——手动删除文件或目录可能会导致其无法修复!"

#. type: Plain text
#: guix-git/doc/guix.texi:4222
#, fuzzy
msgid "The garbage collector has a set of known @dfn{roots}: any file under @file{/gnu/store} reachable from a root is considered @dfn{live} and cannot be deleted; any other file is considered @dfn{dead} and may be deleted.  The set of garbage collector roots (``GC roots'' for short)  includes default user profiles; by default, the symlinks under @file{/var/guix/gcroots} represent these GC roots.  New GC roots can be added with @command{guix build --root}, for example (@pxref{Invoking guix build}).  The @command{guix gc --list-roots} command lists them."
msgstr "垃圾回收器有一组已知的@dfn{根}:任何从根可达的@file{/gnu/store}下的文件被视为@dfn{活的},不能被删除;任何其他文件被视为@dfn{死的},可以被删除。垃圾回收器根集(简称“GC根”)包括默认用户配置文件;默认情况下,@file{/var/guix/gcroots}下的符号链接表示这些GC根。可以通过@command{guix build --root}添加新的GC根,例如(@pxref{调用guix build})。@command{guix gc --list-roots}命令列出它们。"

#. type: Plain text
#: guix-git/doc/guix.texi:4228
#, fuzzy
msgid "Prior to running @code{guix gc --collect-garbage} to make space, it is often useful to remove old generations from user profiles; that way, old package builds referenced by those generations can be reclaimed.  This is achieved by running @code{guix package --delete-generations} (@pxref{Invoking guix package})."
msgstr "在运行@code{guix gc --collect-garbage}以腾出空间之前,通常有用的是从用户配置文件中删除旧的代;这样,引用这些代的旧包构建可以被回收。这是通过运行@code{guix package --delete-generations}实现的(@pxref{调用guix package})。"

#. type: Plain text
#: guix-git/doc/guix.texi:4232
#, fuzzy
msgid "Our recommendation is to run a garbage collection periodically, or when you are short on disk space.  For instance, to guarantee that at least 5@tie{}GB are available on your disk, simply run:"
msgstr "我们的建议是定期运行垃圾回收,或者在磁盘空间不足时运行。例如,为了确保您的磁盘上至少有5@tie{}GB可用,只需运行:"

#. type: example
#: guix-git/doc/guix.texi:4235
#, fuzzy, no-wrap
msgid "guix gc -F 5G\n"
msgstr "guix gc -F 5G\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4244
#, fuzzy
msgid "It is perfectly safe to run as a non-interactive periodic job (@pxref{Scheduled Job Execution}, for how to set up such a job).  Running @command{guix gc} with no arguments will collect as much garbage as it can, but that is often inconvenient: you may find yourself having to rebuild or re-download software that is ``dead'' from the GC viewpoint but that is necessary to build other pieces of software---e.g., the compiler tool chain."
msgstr "作为非交互式定期作业运行是完全安全的(@pxref{计划作业执行},有关如何设置此类作业的信息)。运行没有参数的@command{guix gc}将收集尽可能多的垃圾,但这通常不方便:您可能会发现自己不得不重建或重新下载从GC的角度来看是“死”的软件,但这些软件对于构建其他软件是必要的——例如,编译器工具链。"

#. type: Plain text
#: guix-git/doc/guix.texi:4250
#, fuzzy
msgid "The @command{guix gc} command has three modes of operation: it can be used to garbage-collect any dead files (the default), to delete specific files (the @option{--delete} option), to print garbage-collector information, or for more advanced queries.  The garbage collection options are as follows:"
msgstr "@command{guix gc}命令有三种操作模式:可以用于垃圾回收任何死文件(默认),删除特定文件(@option{--delete}选项),打印垃圾回收器信息,或进行更高级的查询。垃圾回收选项如下:"

#. type: item
#: guix-git/doc/guix.texi:4252
#, fuzzy, no-wrap
msgid "--collect-garbage[=@var{min}]"
msgstr "--收集垃圾[=@var{min}]"

#. type: itemx
#: guix-git/doc/guix.texi:4253
#, fuzzy, no-wrap
msgid "-C [@var{min}]"
msgstr "-C [@var{min}]"

#. type: table
#: guix-git/doc/guix.texi:4257
#, fuzzy
msgid "Collect garbage---i.e., unreachable @file{/gnu/store} files and sub-directories.  This is the default operation when no option is specified."
msgstr "收集垃圾——即,不可达的 @file{/gnu/store} 文件和子目录。当未指定选项时,这是默认操作。"

#. type: table
#: guix-git/doc/guix.texi:4262
#, fuzzy
msgid "When @var{min} is given, stop once @var{min} bytes have been collected.  @var{min} may be a number of bytes, or it may include a unit as a suffix, such as @code{MiB} for mebibytes and @code{GB} for gigabytes (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})."
msgstr "当给定 @var{min} 时,收集到 @var{min} 字节后停止。@var{min} 可以是字节数,也可以包含单位作为后缀,例如 @code{MiB} 表示兆字节,@code{GB} 表示千兆字节 (@pxref{块大小,大小规格,, coreutils, GNU Coreutils})。"

#. type: table
#: guix-git/doc/guix.texi:4264
#, fuzzy
msgid "When @var{min} is omitted, collect all the garbage."
msgstr "当省略 @var{min} 时,收集所有垃圾。"

#. type: item
#: guix-git/doc/guix.texi:4265
#, fuzzy, no-wrap
msgid "--free-space=@var{free}"
msgstr "--可用空间=@var{free}"

#. type: itemx
#: guix-git/doc/guix.texi:4266
#, fuzzy, no-wrap
msgid "-F @var{free}"
msgstr "-F @var{free}"

#. type: table
#: guix-git/doc/guix.texi:4270
#, fuzzy
msgid "Collect garbage until @var{free} space is available under @file{/gnu/store}, if possible; @var{free} denotes storage space, such as @code{500MiB}, as described above."
msgstr "如果可能,收集垃圾直到 @var{free} 空间在 @file{/gnu/store} 下可用;@var{free} 表示存储空间,例如 @code{500MiB},如上所述。"

#. type: table
#: guix-git/doc/guix.texi:4273
#, fuzzy
msgid "When @var{free} or more is already available in @file{/gnu/store}, do nothing and exit immediately."
msgstr "当 @file{/gnu/store} 中已经可用 @var{free} 或更多时,不执行任何操作并立即退出。"

#. type: item
#: guix-git/doc/guix.texi:4274
#, fuzzy, no-wrap
msgid "--delete-generations[=@var{duration}]"
msgstr "--删除代数[=@var{duration}]"

#. type: itemx
#: guix-git/doc/guix.texi:4275
#, fuzzy, no-wrap
msgid "-d [@var{duration}]"
msgstr "-d [@var{duration}]"

#. type: table
#: guix-git/doc/guix.texi:4280
#, fuzzy
msgid "Before starting the garbage collection process, delete all the generations older than @var{duration}, for all the user profiles and home environment generations; when run as root, this applies to all the profiles @emph{of all the users}."
msgstr "在开始垃圾收集过程之前,删除所有用户配置文件和家庭环境代数中比 @var{duration} 旧的代数;以 root 身份运行时,这适用于所有用户的所有配置文件。"

#. type: table
#: guix-git/doc/guix.texi:4284
#, fuzzy
msgid "For example, this command deletes all the generations of all your profiles that are older than 2 months (except generations that are current), and then proceeds to free space until at least 10 GiB are available:"
msgstr "例如,此命令删除所有比 2 个月旧的所有配置文件的代数(当前代数除外),然后继续释放空间,直到至少 10 GiB 可用:"

#. type: example
#: guix-git/doc/guix.texi:4287
#, fuzzy, no-wrap
msgid "guix gc -d 2m -F 10G\n"
msgstr "guix gc -d 2m -F 10G\n"

#. type: item
#: guix-git/doc/guix.texi:4289
#, fuzzy, no-wrap
msgid "--delete"
msgstr "--删除"

#. type: itemx
#: guix-git/doc/guix.texi:4290 guix-git/doc/guix.texi:6123
#: guix-git/doc/guix.texi:13696
#, fuzzy, no-wrap
msgid "-D"
msgstr "-D"

#. type: table
#: guix-git/doc/guix.texi:4294
#, fuzzy
msgid "Attempt to delete all the store files and directories specified as arguments.  This fails if some of the files are not in the store, or if they are still live."
msgstr "尝试删除作为参数指定的所有存储文件和目录。如果某些文件不在存储中,或者它们仍然处于活动状态,则此操作失败。"

#. type: item
#: guix-git/doc/guix.texi:4295
#, fuzzy, no-wrap
msgid "--list-failures"
msgstr "--列出失败"

#. type: table
#: guix-git/doc/guix.texi:4297
#, fuzzy
msgid "List store items corresponding to cached build failures."
msgstr "列出与缓存构建失败对应的存储项。"

#. type: table
#: guix-git/doc/guix.texi:4301
#, fuzzy
msgid "This prints nothing unless the daemon was started with @option{--cache-failures} (@pxref{Invoking guix-daemon, @option{--cache-failures}})."
msgstr "除非守护进程以 @option{--cache-failures} 启动,否则不会打印任何内容 (@pxref{调用 guix-daemon, @option{--cache-failures}})。"

#. type: item
#: guix-git/doc/guix.texi:4302
#, fuzzy, no-wrap
msgid "--list-roots"
msgstr "--列出根"

#. type: table
#: guix-git/doc/guix.texi:4305
#, fuzzy
msgid "List the GC roots owned by the user; when run as root, list @emph{all} the GC roots."
msgstr "列出用户拥有的 GC 根;以 root 身份运行时,列出 @emph{所有} GC 根。"

#. type: item
#: guix-git/doc/guix.texi:4306
#, fuzzy, no-wrap
msgid "--list-busy"
msgstr "--列出忙碌"

#. type: table
#: guix-git/doc/guix.texi:4309
#, fuzzy
msgid "List store items in use by currently running processes.  These store items are effectively considered GC roots: they cannot be deleted."
msgstr "列出当前正在运行的进程使用的存储项。这些存储项实际上被视为 GC 根:它们无法被删除。"

#. type: item
#: guix-git/doc/guix.texi:4310
#, fuzzy, no-wrap
msgid "--clear-failures"
msgstr "--清除失败"

#. type: table
#: guix-git/doc/guix.texi:4312
#, fuzzy
msgid "Remove the specified store items from the failed-build cache."
msgstr "从失败构建缓存中移除指定的存储项。"

#. type: table
#: guix-git/doc/guix.texi:4315
#, fuzzy
msgid "Again, this option only makes sense when the daemon is started with @option{--cache-failures}.  Otherwise, it does nothing."
msgstr "再次强调,只有在以 @option{--cache-failures} 启动守护进程时,此选项才有意义。否则,它什么也不做。"

#. type: item
#: guix-git/doc/guix.texi:4316
#, fuzzy, no-wrap
msgid "--list-dead"
msgstr "--list-dead"

#. type: table
#: guix-git/doc/guix.texi:4319
#, fuzzy
msgid "Show the list of dead files and directories still present in the store---i.e., files and directories no longer reachable from any root."
msgstr "显示仍然存在于存储中的死文件和目录的列表——即,不再从任何根可达的文件和目录。"

#. type: item
#: guix-git/doc/guix.texi:4320
#, fuzzy, no-wrap
msgid "--list-live"
msgstr "--list-live"

#. type: table
#: guix-git/doc/guix.texi:4322
#, fuzzy
msgid "Show the list of live store files and directories."
msgstr "显示活跃存储文件和目录的列表。"

#. type: Plain text
#: guix-git/doc/guix.texi:4326
#, fuzzy
msgid "In addition, the references among existing store files can be queried:"
msgstr "此外,可以查询现有存储文件之间的引用:"

#. type: item
#: guix-git/doc/guix.texi:4329
#, fuzzy, no-wrap
msgid "--references"
msgstr "--references"

#. type: itemx
#: guix-git/doc/guix.texi:4330
#, fuzzy, no-wrap
msgid "--referrers"
msgstr "--referrers"

#. type: cindex
#: guix-git/doc/guix.texi:4331 guix-git/doc/guix.texi:15910
#, fuzzy, no-wrap
msgid "package dependencies"
msgstr "软件包依赖关系"

#. type: table
#: guix-git/doc/guix.texi:4334
#, fuzzy
msgid "List the references (respectively, the referrers) of store files given as arguments."
msgstr "列出作为参数给出的存储文件的引用(分别是引用者)。"

#. type: item
#: guix-git/doc/guix.texi:4335
#, fuzzy, no-wrap
msgid "--requisites"
msgstr "--requisites"

#. type: itemx
#: guix-git/doc/guix.texi:4336 guix-git/doc/guix.texi:7165
#, fuzzy, no-wrap
msgid "-R"
msgstr "-R"

#. type: item
#: guix-git/doc/guix.texi:4337 guix-git/doc/guix.texi:15766
#: guix-git/doc/guix.texi:15794 guix-git/doc/guix.texi:15875
#, fuzzy, no-wrap
msgid "closure"
msgstr "闭包"

#. type: table
#: guix-git/doc/guix.texi:4342
#, fuzzy
msgid "List the requisites of the store files passed as arguments.  Requisites include the store files themselves, their references, and the references of these, recursively.  In other words, the returned list is the @dfn{transitive closure} of the store files."
msgstr "列出作为参数传递的存储文件的必要条件。必要条件包括存储文件本身、它们的引用以及这些引用的引用,递归地。换句话说,返回的列表是存储文件的 @dfn{传递闭包}。"

#. type: table
#: guix-git/doc/guix.texi:4346
#, fuzzy
msgid "@xref{Invoking guix size}, for a tool to profile the size of the closure of an element.  @xref{Invoking guix graph}, for a tool to visualize the graph of references."
msgstr "@xref{调用 guix size},用于分析元素闭包的大小的工具。 @xref{调用 guix graph},用于可视化引用图的工具。"

#. type: item
#: guix-git/doc/guix.texi:4347
#, fuzzy, no-wrap
msgid "--derivers"
msgstr "--derivers"

#. type: item
#: guix-git/doc/guix.texi:4348 guix-git/doc/guix.texi:7564
#: guix-git/doc/guix.texi:15612 guix-git/doc/guix.texi:16019
#, no-wrap
msgid "derivation"
msgstr "derivation"

#. type: table
#: guix-git/doc/guix.texi:4351
#, fuzzy
msgid "Return the derivation(s) leading to the given store items (@pxref{Derivations})."
msgstr "返回导致给定存储项的推导(@pxref{推导})。"

#. type: table
#: guix-git/doc/guix.texi:4353
#, fuzzy
msgid "For example, this command:"
msgstr "例如,此命令:"

#. type: example
#: guix-git/doc/guix.texi:4356
#, fuzzy, no-wrap
msgid "guix gc --derivers $(guix package -I ^emacs$ | cut -f4)\n"
msgstr "guix gc --derivers $(guix package -I ^emacs$ | cut -f4)\n"

#. type: table
#: guix-git/doc/guix.texi:4361
#, fuzzy
msgid "returns the @file{.drv} file(s) leading to the @code{emacs} package installed in your profile."
msgstr "返回导致安装在您配置文件中的 @code{emacs} 软件包的 @file{.drv} 文件。"

#. type: table
#: guix-git/doc/guix.texi:4365
#, fuzzy
msgid "Note that there may be zero matching @file{.drv} files, for instance because these files have been garbage-collected.  There can also be more than one matching @file{.drv} due to fixed-output derivations."
msgstr "请注意,可能没有匹配的 @file{.drv} 文件,例如因为这些文件已被垃圾回收。由于固定输出推导,也可能有多个匹配的 @file{.drv}。"

#. type: Plain text
#: guix-git/doc/guix.texi:4369
#, fuzzy
msgid "Lastly, the following options allow you to check the integrity of the store and to control disk usage."
msgstr "最后,以下选项允许您检查存储的完整性并控制磁盘使用。"

#. type: item
#: guix-git/doc/guix.texi:4372
#, fuzzy, no-wrap
msgid "--verify[=@var{options}]"
msgstr "--verify[=@var{options}]"

#. type: cindex
#: guix-git/doc/guix.texi:4373
#, fuzzy, no-wrap
msgid "integrity, of the store"
msgstr "存储的完整性"

#. type: cindex
#: guix-git/doc/guix.texi:4374
#, fuzzy, no-wrap
msgid "integrity checking"
msgstr "完整性检查"

#. type: table
#: guix-git/doc/guix.texi:4376
#, fuzzy
msgid "Verify the integrity of the store."
msgstr "验证存储的完整性。"

#. type: table
#: guix-git/doc/guix.texi:4379
#, fuzzy
msgid "By default, make sure that all the store items marked as valid in the database of the daemon actually exist in @file{/gnu/store}."
msgstr "默认情况下,确保数据库中标记为有效的所有存储项实际上存在于 @file{/gnu/store} 中。"

#. type: table
#: guix-git/doc/guix.texi:4382
#, fuzzy
msgid "When provided, @var{options} must be a comma-separated list containing one or more of @code{contents} and @code{repair}."
msgstr "提供时,@var{options} 必须是一个以逗号分隔的列表,包含一个或多个 @code{contents} 和 @code{repair}。"

#. type: table
#: guix-git/doc/guix.texi:4388
#, fuzzy
msgid "When passing @option{--verify=contents}, the daemon computes the content hash of each store item and compares it against its hash in the database.  Hash mismatches are reported as data corruptions.  Because it traverses @emph{all the files in the store}, this command can take a long time, especially on systems with a slow disk drive."
msgstr "当传递 @option{--verify=contents} 时,守护进程计算每个存储项的内容哈希,并将其与数据库中的哈希进行比较。哈希不匹配将被报告为数据损坏。由于它遍历 @emph{存储中的所有文件},此命令可能需要很长时间,特别是在磁盘驱动器较慢的系统上。"

#. type: cindex
#: guix-git/doc/guix.texi:4389
#, fuzzy, no-wrap
msgid "repairing the store"
msgstr "修复商店"

#. type: cindex
#: guix-git/doc/guix.texi:4390 guix-git/doc/guix.texi:13880
#, fuzzy, no-wrap
msgid "corruption, recovering from"
msgstr "腐败,恢复中"

#. type: table
#: guix-git/doc/guix.texi:4398
#, fuzzy
msgid "Using @option{--verify=repair} or @option{--verify=contents,repair} causes the daemon to try to repair corrupt store items by fetching substitutes for them (@pxref{Substitutes}).  Because repairing is not atomic, and thus potentially dangerous, it is available only to the system administrator.  A lightweight alternative, when you know exactly which items in the store are corrupt, is @command{guix build --repair} (@pxref{Invoking guix build})."
msgstr "使用 @option{--verify=repair} 或 @option{--verify=contents,repair} 会导致守护进程尝试通过获取替代品来修复损坏的商店项目 (@pxref{Substitutes})。由于修复不是原子的,因此可能存在风险,仅系统管理员可以使用此功能。当您确切知道商店中哪些项目损坏时,轻量级的替代方案是 @command{guix build --repair} (@pxref{Invoking guix build})。"

#. type: item
#: guix-git/doc/guix.texi:4399
#, fuzzy, no-wrap
msgid "--optimize"
msgstr "--优化"

#. type: table
#: guix-git/doc/guix.texi:4403
#, fuzzy
msgid "Optimize the store by hard-linking identical files---this is @dfn{deduplication}."
msgstr "通过硬链接相同的文件来优化商店——这就是 @dfn{去重}。"

#. type: table
#: guix-git/doc/guix.texi:4409
#, fuzzy
msgid "The daemon performs deduplication after each successful build or archive import, unless it was started with @option{--disable-deduplication} (@pxref{Invoking guix-daemon, @option{--disable-deduplication}}).  Thus, this option is primarily useful when the daemon was running with @option{--disable-deduplication}."
msgstr "守护进程在每次成功构建或归档导入后执行去重,除非它是通过 @option{--disable-deduplication} 启动的 (@pxref{Invoking guix-daemon, @option{--disable-deduplication}})。因此,当守护进程以 @option{--disable-deduplication} 运行时,此选项主要是有用的。"

#. type: item
#: guix-git/doc/guix.texi:4410
#, fuzzy, no-wrap
msgid "--vacuum-database"
msgstr "--清理数据库"

#. type: cindex
#: guix-git/doc/guix.texi:4411
#, fuzzy, no-wrap
msgid "vacuum the store database"
msgstr "清理商店数据库"

#. type: table
#: guix-git/doc/guix.texi:4421
#, fuzzy
msgid "Guix uses an sqlite database to keep track of the items in the store (@pxref{The Store}).  Over time it is possible that the database may grow to a large size and become fragmented.  As a result, one may wish to clear the freed space and join the partially used pages in the database left behind from removed packages or after running the garbage collector.  Running @command{sudo guix gc --vacuum-database} will lock the database and @code{VACUUM} the store, defragmenting the database and purging freed pages, unlocking the database when it finishes."
msgstr "Guix 使用 sqlite 数据库来跟踪商店中的项目 (@pxref{The Store})。随着时间的推移,数据库可能会变得很大并且变得碎片化。因此,您可能希望清除释放的空间并合并从已删除包或运行垃圾收集器后留下的部分使用页面。运行 @command{sudo guix gc --vacuum-database} 将锁定数据库并 @code{VACUUM} 商店,整理数据库并清除释放的页面,完成后解锁数据库。"

#. type: section
#: guix-git/doc/guix.texi:4425
#, fuzzy, no-wrap
msgid "Invoking @command{guix pull}"
msgstr "调用 @command{guix pull}"

#. type: cindex
#: guix-git/doc/guix.texi:4427
#, fuzzy, no-wrap
msgid "upgrading Guix"
msgstr "升级 Guix"

#. type: cindex
#: guix-git/doc/guix.texi:4428
#, fuzzy, no-wrap
msgid "updating Guix"
msgstr "更新 Guix"

#. type: command{#1}
#: guix-git/doc/guix.texi:4429
#, fuzzy, no-wrap
msgid "guix pull"
msgstr "guix pull"

#. type: cindex
#: guix-git/doc/guix.texi:4430
#, fuzzy, no-wrap
msgid "pull"
msgstr "拉取"

#. type: cindex
#: guix-git/doc/guix.texi:4431
#, fuzzy, no-wrap
msgid "security, @command{guix pull}"
msgstr "安全性,@command{guix pull}"

#. type: cindex
#: guix-git/doc/guix.texi:4432
#, fuzzy, no-wrap
msgid "authenticity, of code obtained with @command{guix pull}"
msgstr "通过 @command{guix pull} 获取的代码的真实性"

#. type: Plain text
#: guix-git/doc/guix.texi:4442
#, fuzzy
msgid "Packages are installed or upgraded to the latest version available in the distribution currently available on your local machine.  To update that distribution, along with the Guix tools, you must run @command{guix pull}: the command downloads the latest Guix source code and package descriptions, and deploys it.  Source code is downloaded from a @uref{https://git-scm.com/book/en/, Git} repository, by default the official GNU@tie{}Guix repository, though this can be customized.  @command{guix pull} ensures that the code it downloads is @emph{authentic} by verifying that commits are signed by Guix developers."
msgstr "软件包被安装或升级到您本地机器上当前可用的发行版中的最新版本。要更新该发行版以及 Guix 工具,您必须运行 @command{guix pull}:该命令下载最新的 Guix 源代码和软件包描述,并进行部署。源代码默认从 @uref{https://git-scm.com/book/en/, Git} 仓库下载,通常是官方的 GNU@tie{}Guix 仓库,尽管这可以自定义。@command{guix pull} 通过验证提交是否由 Guix 开发者签名,确保下载的代码是 @emph{真实的}。"

#. type: Plain text
#: guix-git/doc/guix.texi:4445
#, fuzzy
msgid "Specifically, @command{guix pull} downloads code from the @dfn{channels} (@pxref{Channels}) specified by one of the following, in this order:"
msgstr "具体来说,@command{guix pull} 从以下指定的 @dfn{channels} (@pxref{Channels}) 下载代码,顺序如下:"

#. type: enumerate
#: guix-git/doc/guix.texi:4449
#, fuzzy
msgid "the @option{--channels} option;"
msgstr "@option{--channels} 选项;"

#. type: enumerate
#: guix-git/doc/guix.texi:4452
#, fuzzy
msgid "the user's @file{~/.config/guix/channels.scm} file, unless @option{-q} is passed;"
msgstr "用户的 @file{~/.config/guix/channels.scm} 文件,除非传递了 @option{-q};"

#. type: enumerate
#: guix-git/doc/guix.texi:4457
#, fuzzy
msgid "the system-wide @file{/etc/guix/channels.scm} file, unless @option{-q} is passed (on Guix System, this file can be declared in the operating system configuration, @pxref{guix-configuration-channels, @code{channels} field of @code{guix-configuration}});"
msgstr "系统范围的 @file{/etc/guix/channels.scm} 文件,除非传递了 @option{-q}(在 Guix 系统上,此文件可以在操作系统配置中声明,@pxref{guix-configuration-channels, @code{channels} 字段的 @code{guix-configuration}});"

#. type: enumerate
#: guix-git/doc/guix.texi:4460
#, fuzzy
msgid "the built-in default channels specified in the @code{%default-channels} variable."
msgstr "在 @code{%default-channels} 变量中指定的内置默认频道。"

#. type: Plain text
#: guix-git/doc/guix.texi:4467
#, fuzzy
msgid "On completion, @command{guix package} will use packages and package versions from this just-retrieved copy of Guix.  Not only that, but all the Guix commands and Scheme modules will also be taken from that latest version.  New @command{guix} sub-commands added by the update also become available."
msgstr "完成后,@command{guix package} 将使用刚刚检索到的 Guix 的软件包和软件包版本。不仅如此,所有的 Guix 命令和 Scheme 模块也将来自该最新版本。更新中添加的新 @command{guix} 子命令也会变得可用。"

#. type: Plain text
#: guix-git/doc/guix.texi:4473
#, fuzzy
msgid "Any user can update their Guix copy using @command{guix pull}, and the effect is limited to the user who ran @command{guix pull}.  For instance, when user @code{root} runs @command{guix pull}, this has no effect on the version of Guix that user @code{alice} sees, and vice versa."
msgstr "任何用户都可以使用 @command{guix pull} 更新他们的 Guix 副本,效果仅限于运行 @command{guix pull} 的用户。例如,当用户 @code{root} 运行 @command{guix pull} 时,这对用户 @code{alice} 看到的 Guix 版本没有影响,反之亦然。"

#. type: Plain text
#: guix-git/doc/guix.texi:4476
#, fuzzy
msgid "The result of running @command{guix pull} is a @dfn{profile} available under @file{~/.config/guix/current} containing the latest Guix."
msgstr "运行 @command{guix pull} 的结果是一个可在 @file{~/.config/guix/current} 下找到的 @dfn{profile},其中包含最新的 Guix。"

#. type: Plain text
#: guix-git/doc/guix.texi:4479
#, fuzzy
msgid "The @option{--list-generations} or @option{-l} option lists past generations produced by @command{guix pull}, along with details about their provenance:"
msgstr "@option{--list-generations} 或 @option{-l} 选项列出由 @command{guix pull} 产生的过去的版本,以及有关其来源的详细信息:"

#. type: example
#: guix-git/doc/guix.texi:4487
#, fuzzy, no-wrap
msgid ""
"$ guix pull -l\n"
"Generation 1\tJun 10 2018 00:18:18\n"
"  guix 65956ad\n"
"    repository URL: https://git.savannah.gnu.org/git/guix.git\n"
"    branch: origin/master\n"
"    commit: 65956ad3526ba09e1f7a40722c96c6ef7c0936fe\n"
"\n"
msgstr ""
"$ guix pull -l\n"
"版本 1\t2018年6月10日 00:18:18\n"
"  guix 65956ad\n"
"    仓库 URL: https://git.savannah.gnu.org/git/guix.git\n"
"    分支: origin/master\n"
"    提交: 65956ad3526ba09e1f7a40722c96c6ef7c0936fe\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:4493
#, fuzzy, no-wrap
msgid ""
"Generation 2\tJun 11 2018 11:02:49\n"
"  guix e0cc7f6\n"
"    repository URL: https://git.savannah.gnu.org/git/guix.git\n"
"    branch: origin/master\n"
"    commit: e0cc7f669bec22c37481dd03a7941c7d11a64f1d\n"
"\n"
msgstr ""
"版本 2\t2018年6月11日 11:02:49\n"
"  guix e0cc7f6\n"
"    仓库 URL: https://git.savannah.gnu.org/git/guix.git\n"
"    分支: origin/master\n"
"    提交: e0cc7f669bec22c37481dd03a7941c7d11a64f1d\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:4499
#, fuzzy, no-wrap
msgid ""
"Generation 3\tJun 13 2018 23:31:07\t(current)\n"
"  guix 844cc1c\n"
"    repository URL: https://git.savannah.gnu.org/git/guix.git\n"
"    branch: origin/master\n"
"    commit: 844cc1c8f394f03b404c5bb3aee086922373490c\n"
msgstr ""
"版本 3\t2018年6月13日 23:31:07\t(当前)\n"
"  guix 844cc1c\n"
"    仓库 URL: https://git.savannah.gnu.org/git/guix.git\n"
"    分支: origin/master\n"
"    提交: 844cc1c8f394f03b404c5bb3aee086922373490c\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4503
#, fuzzy
msgid "@xref{Invoking guix describe, @command{guix describe}}, for other ways to describe the current status of Guix."
msgstr "@xref{调用 guix describe, @command{guix describe}},用于描述 Guix 的当前状态的其他方法。"

#. type: Plain text
#: guix-git/doc/guix.texi:4508
#, fuzzy
msgid "This @code{~/.config/guix/current} profile works exactly like the profiles created by @command{guix package} (@pxref{Invoking guix package}).  That is, you can list generations, roll back to the previous generation---i.e., the previous Guix---and so on:"
msgstr "这个 @code{~/.config/guix/current} 配置文件的工作方式与 @command{guix package} 创建的配置文件完全相同 (@pxref{调用 guix package})。也就是说,您可以列出代数,回滚到上一个代数——即上一个 Guix——等等:"

#. type: example
#: guix-git/doc/guix.texi:4514
#, fuzzy, no-wrap
msgid ""
"$ guix pull --roll-back\n"
"switched from generation 3 to 2\n"
"$ guix pull --delete-generations=1\n"
"deleting /var/guix/profiles/per-user/charlie/current-guix-1-link\n"
msgstr ""
"$ guix pull --roll-back\n"
"从第 3 代切换到第 2 代\n"
"$ guix pull --delete-generations=1\n"
"删除 /var/guix/profiles/per-user/charlie/current-guix-1-link\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4518
#, fuzzy
msgid "You can also use @command{guix package} (@pxref{Invoking guix package})  to manage the profile by naming it explicitly:"
msgstr "您还可以通过明确命名来使用 @command{guix package} (@pxref{调用 guix package}) 来管理配置文件:"

#. type: example
#: guix-git/doc/guix.texi:4523
#, fuzzy, no-wrap
msgid ""
"$ guix package -p ~/.config/guix/current --roll-back\n"
"switched from generation 3 to 2\n"
"$ guix package -p ~/.config/guix/current --delete-generations=1\n"
"deleting /var/guix/profiles/per-user/charlie/current-guix-1-link\n"
msgstr ""
"$ guix package -p ~/.config/guix/current --roll-back\n"
"从第 3 代切换到第 2 代\n"
"$ guix package -p ~/.config/guix/current --delete-generations=1\n"
"删除 /var/guix/profiles/per-user/charlie/current-guix-1-link\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4527
#, fuzzy
msgid "The @command{guix pull} command is usually invoked with no arguments, but it supports the following options:"
msgstr "@command{guix pull} 命令通常不带参数调用,但它支持以下选项:"

#. type: item
#: guix-git/doc/guix.texi:4529 guix-git/doc/guix.texi:4773
#, fuzzy, no-wrap
msgid "--url=@var{url}"
msgstr "--url=@var{url}"

#. type: itemx
#: guix-git/doc/guix.texi:4530 guix-git/doc/guix.texi:4774
#, fuzzy, no-wrap
msgid "--commit=@var{commit}"
msgstr "--commit=@var{commit}"

#. type: item
#: guix-git/doc/guix.texi:4531 guix-git/doc/guix.texi:4775
#: guix-git/doc/guix.texi:14115
#, fuzzy, no-wrap
msgid "--branch=@var{branch}"
msgstr "--branch=@var{branch}"

#. type: table
#: guix-git/doc/guix.texi:4535
#, fuzzy
msgid "Download code for the @code{guix} channel from the specified @var{url}, at the given @var{commit} (a valid Git commit ID represented as a hexadecimal string or the name of a tag), or @var{branch}."
msgstr "从指定的 @var{url} 下载 @code{guix} 通道的代码,在给定的 @var{commit}(有效的 Git 提交 ID,以十六进制字符串表示或标签名称)或 @var{branch}。"

#. type: cindex
#: guix-git/doc/guix.texi:4536 guix-git/doc/guix.texi:5227
#, fuzzy, no-wrap
msgid "@file{channels.scm}, configuration file"
msgstr "@file{channels.scm},配置文件"

#. type: cindex
#: guix-git/doc/guix.texi:4537 guix-git/doc/guix.texi:5228
#, fuzzy, no-wrap
msgid "configuration file for channels"
msgstr "通道的配置文件"

#. type: table
#: guix-git/doc/guix.texi:4541
#, fuzzy
msgid "These options are provided for convenience, but you can also specify your configuration in the @file{~/.config/guix/channels.scm} file or using the @option{--channels} option (see below)."
msgstr "这些选项是为了方便提供的,但您也可以在 @file{~/.config/guix/channels.scm} 文件中或使用 @option{--channels} 选项指定您的配置(见下文)。"

#. type: item
#: guix-git/doc/guix.texi:4542 guix-git/doc/guix.texi:4780
#, fuzzy, no-wrap
msgid "--channels=@var{file}"
msgstr "--channels=@var{file}"

#. type: itemx
#: guix-git/doc/guix.texi:4543 guix-git/doc/guix.texi:4781
#, fuzzy, no-wrap
msgid "-C @var{file}"
msgstr "-C @var{file}"

#. type: table
#: guix-git/doc/guix.texi:4549
#, fuzzy
msgid "Read the list of channels from @var{file} instead of @file{~/.config/guix/channels.scm} or @file{/etc/guix/channels.scm}.  @var{file} must contain Scheme code that evaluates to a list of channel objects.  @xref{Channels}, for more information."
msgstr "从 @var{file} 读取通道列表,而不是 @file{~/.config/guix/channels.scm} 或 @file{/etc/guix/channels.scm}。@var{file} 必须包含评估为通道对象列表的 Scheme 代码。有关更多信息,请参见 @xref{通道}。"

#. type: item
#: guix-git/doc/guix.texi:4550 guix-git/doc/guix.texi:4786
#, fuzzy, no-wrap
msgid "--no-channel-files"
msgstr "通道"

#. type: itemx
#: guix-git/doc/guix.texi:4551 guix-git/doc/guix.texi:4787
#: guix-git/doc/guix.texi:12813 guix-git/doc/guix.texi:13648
#, fuzzy, no-wrap
msgid "-q"
msgstr "-q"

#. type: table
#: guix-git/doc/guix.texi:4554 guix-git/doc/guix.texi:4790
#, fuzzy
msgid "Inhibit loading of the user and system channel files, @file{~/.config/guix/channels.scm} and @file{/etc/guix/channels.scm}."
msgstr "禁止加载用户和系统通道文件 @file{~/.config/guix/channels.scm} 和 @file{/etc/guix/channels.scm}。"

#. type: cindex
#: guix-git/doc/guix.texi:4555
#, fuzzy, no-wrap
msgid "channel news"
msgstr "通道"

#. type: item
#: guix-git/doc/guix.texi:4556
#, fuzzy, no-wrap
msgid "--news"
msgstr "--news"

#. type: itemx
#: guix-git/doc/guix.texi:4557 guix-git/doc/guix.texi:6297
#: guix-git/doc/guix.texi:6794 guix-git/doc/guix.texi:44943
#: guix-git/doc/guix.texi:49783
#, fuzzy, no-wrap
msgid "-N"
msgstr "-N"

#. type: table
#: guix-git/doc/guix.texi:4562
#, fuzzy
msgid "Display news written by channel authors for their users for changes made since the previous generation (@pxref{Channels, Writing Channel News}).  When @option{--details} is passed, additionally display new and upgraded packages."
msgstr "显示通道作者为其用户撰写的新闻,内容为自上一个代数以来所做的更改 (@pxref{通道, 撰写通道新闻})。当传递 @option{--details} 时,另外显示新包和升级包。"

#. type: table
#: guix-git/doc/guix.texi:4565
#, fuzzy
msgid "You can view that information for previous generations with @command{guix pull -l}."
msgstr "您可以使用 @command{guix pull -l} 查看以前版本的信息。"

#. type: table
#: guix-git/doc/guix.texi:4572
#, fuzzy
msgid "List all the generations of @file{~/.config/guix/current} or, if @var{pattern} is provided, the subset of generations that match @var{pattern}.  The syntax of @var{pattern} is the same as with @code{guix package --list-generations} (@pxref{Invoking guix package})."
msgstr "列出 @file{~/.config/guix/current} 的所有版本,或者如果提供了 @var{pattern},则列出与 @var{pattern} 匹配的版本子集。 @var{pattern} 的语法与 @code{guix package --list-generations} 相同(参见 @pxref{Invoking guix package})。"

#. type: table
#: guix-git/doc/guix.texi:4577
#, fuzzy
msgid "By default, this prints information about the channels used in each revision as well as the corresponding news entries.  If you pass @option{--details}, it will also print the list of packages added and upgraded in each generation compared to the previous one."
msgstr "默认情况下,这将打印每个修订中使用的通道的信息以及相应的新闻条目。如果您传递 @option{--details},它还将打印与前一个版本相比,在每个版本中添加和升级的包列表。"

#. type: item
#: guix-git/doc/guix.texi:4578
#, fuzzy, no-wrap
msgid "--details"
msgstr "--details"

#. type: table
#: guix-git/doc/guix.texi:4582
#, fuzzy
msgid "Instruct @option{--list-generations} or @option{--news} to display more information about the differences between subsequent generations---see above."
msgstr "指示 @option{--list-generations} 或 @option{--news} 显示有关后续版本之间差异的更多信息——见上文。"

#. type: table
#: guix-git/doc/guix.texi:4589
#, fuzzy
msgid "Roll back to the previous @dfn{generation} of @file{~/.config/guix/current}---i.e., undo the last transaction."
msgstr "回滚到 @file{~/.config/guix/current} 的前一个 @dfn{generation}——即,撤消最后一次事务。"

#. type: table
#: guix-git/doc/guix.texi:4613
#, fuzzy
msgid "If the current generation matches, it is @emph{not} deleted."
msgstr "如果当前版本匹配,则 @emph{不} 会被删除。"

#. type: table
#: guix-git/doc/guix.texi:4619
#, fuzzy
msgid "@xref{Invoking guix describe}, for a way to display information about the current generation only."
msgstr "参见 @xref{Invoking guix describe},以获取仅显示当前版本信息的方法。"

#. type: table
#: guix-git/doc/guix.texi:4623
#, fuzzy
msgid "Use @var{profile} instead of @file{~/.config/guix/current}."
msgstr "使用 @var{profile} 代替 @file{~/.config/guix/current}。"

#. type: item
#: guix-git/doc/guix.texi:4624 guix-git/doc/guix.texi:13099
#: guix-git/doc/guix.texi:15443
#, fuzzy, no-wrap
msgid "--dry-run"
msgstr "--dry-run"

#. type: itemx
#: guix-git/doc/guix.texi:4625 guix-git/doc/guix.texi:13100
#: guix-git/doc/guix.texi:15444 guix-git/doc/guix.texi:15748
#, fuzzy, no-wrap
msgid "-n"
msgstr "-n"

#. type: table
#: guix-git/doc/guix.texi:4628
#, fuzzy
msgid "Show which channel commit(s) would be used and what would be built or substituted but do not actually do it."
msgstr "显示将使用哪些通道提交以及将构建或替代什么,但实际上不执行。"

#. type: item
#: guix-git/doc/guix.texi:4629 guix-git/doc/guix.texi:44962
#: guix-git/doc/guix.texi:50031
#, fuzzy, no-wrap
msgid "--allow-downgrades"
msgstr "--allow-downgrades"

#. type: table
#: guix-git/doc/guix.texi:4632
#, fuzzy
msgid "Allow pulling older or unrelated revisions of channels than those currently in use."
msgstr "允许拉取比当前使用的通道更旧或不相关的修订。"

#. type: cindex
#: guix-git/doc/guix.texi:4633
#, fuzzy, no-wrap
msgid "downgrade attacks, protection against"
msgstr "降级攻击,防护措施"

#. type: table
#: guix-git/doc/guix.texi:4638
#, fuzzy
msgid "By default, @command{guix pull} protects against so-called ``downgrade attacks'' whereby the Git repository of a channel would be reset to an earlier or unrelated revision of itself, potentially leading you to install older, known-vulnerable versions of software packages."
msgstr "默认情况下,@command{guix pull} 保护您免受所谓的“降级攻击”,即通道的 Git 仓库将重置为早期或不相关的修订,这可能导致您安装较旧的、已知存在漏洞的软件包版本。"

#. type: quotation
#: guix-git/doc/guix.texi:4642 guix-git/doc/guix.texi:44976
#, fuzzy
msgid "Make sure you understand its security implications before using @option{--allow-downgrades}."
msgstr "在使用 @option{--allow-downgrades} 之前,请确保您了解其安全隐患。"

#. type: item
#: guix-git/doc/guix.texi:4644
#, fuzzy, no-wrap
msgid "--disable-authentication"
msgstr "--disable-deduplication"

#. type: table
#: guix-git/doc/guix.texi:4646
#, fuzzy
msgid "Allow pulling channel code without authenticating it."
msgstr "允许在不进行身份验证的情况下拉取通道代码。"

#. type: cindex
#: guix-git/doc/guix.texi:4647 guix-git/doc/guix.texi:5467
#, fuzzy, no-wrap
msgid "authentication, of channel code"
msgstr "代码缩进"

#. type: table
#: guix-git/doc/guix.texi:4652
#, fuzzy
msgid "By default, @command{guix pull} authenticates code downloaded from channels by verifying that its commits are signed by authorized developers, and raises an error if this is not the case.  This option instructs it to not perform any such verification."
msgstr "默认情况下,@command{guix pull} 通过验证通道下载的代码的提交是否由授权开发人员签名来进行身份验证,如果不是,则会引发错误。此选项指示它不执行任何此类验证。"

#. type: quotation
#: guix-git/doc/guix.texi:4656
#, fuzzy
msgid "Make sure you understand its security implications before using @option{--disable-authentication}."
msgstr "在使用 @option{--disable-authentication} 之前,请确保您了解其安全隐患。"

#. type: item
#: guix-git/doc/guix.texi:4658 guix-git/doc/guix.texi:14093
#, fuzzy, no-wrap
msgid "--no-check-certificate"
msgstr "--no-check-certificate"

#. type: table
#: guix-git/doc/guix.texi:4660 guix-git/doc/guix.texi:14095
#, fuzzy
msgid "Do not validate the X.509 certificates of HTTPS servers."
msgstr "不验证 HTTPS 服务器的 X.509 证书。"

#. type: table
#: guix-git/doc/guix.texi:4665
#, fuzzy
msgid "When using this option, you have @emph{absolutely no guarantee} that you are communicating with the authentic server responsible for the given URL.  Unless the channel is authenticated, this makes you vulnerable to ``man-in-the-middle'' attacks."
msgstr "使用此选项时,您 @emph{绝对没有保证} 您正在与负责给定 URL 的真实服务器进行通信。除非通道经过身份验证,否则这使您容易受到“中间人”攻击。"

#. type: itemx
#: guix-git/doc/guix.texi:4667 guix-git/doc/guix.texi:6280
#: guix-git/doc/guix.texi:6777 guix-git/doc/guix.texi:7344
#: guix-git/doc/guix.texi:13814 guix-git/doc/guix.texi:15893
#: guix-git/doc/guix.texi:16158 guix-git/doc/guix.texi:16852
#: guix-git/doc/guix.texi:44886
#, fuzzy, no-wrap
msgid "-s @var{system}"
msgstr "-s @var{system}"

#. type: table
#: guix-git/doc/guix.texi:4670 guix-git/doc/guix.texi:7347
#, fuzzy
msgid "Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of the system type of the build host."
msgstr "尝试为 @var{system} 构建,例如 @code{i686-linux},而不是构建主机的系统类型。"

#. type: table
#: guix-git/doc/guix.texi:4674
#, fuzzy
msgid "Use the bootstrap Guile to build the latest Guix.  This option is only useful to Guix developers."
msgstr "使用引导 Guile 构建最新的 Guix。此选项仅对 Guix 开发人员有用。"

#. type: Plain text
#: guix-git/doc/guix.texi:4680
#, fuzzy
msgid "The @dfn{channel} mechanism allows you to instruct @command{guix pull} which repository and branch to pull from, as well as @emph{additional} repositories containing package modules that should be deployed.  @xref{Channels}, for more information."
msgstr "@dfn{channel} 机制允许您指示 @command{guix pull} 从哪个存储库和分支拉取,以及 @emph{附加} 存储库,其中包含应部署的包模块。有关更多信息,请参见 @xref{Channels}。"

#. type: Plain text
#: guix-git/doc/guix.texi:4683
#, fuzzy
msgid "In addition, @command{guix pull} supports all the common build options (@pxref{Common Build Options})."
msgstr "此外,@command{guix pull} 支持所有常见的构建选项 (@pxref{Common Build Options})。"

#. type: section
#: guix-git/doc/guix.texi:4685
#, no-wrap
msgid "Invoking @command{guix time-machine}"
msgstr "调用@command{guix time-machine}"

#. type: command{#1}
#: guix-git/doc/guix.texi:4687
#, fuzzy, no-wrap
msgid "guix time-machine"
msgstr "guix time-machine"

#. type: cindex
#: guix-git/doc/guix.texi:4688 guix-git/doc/guix.texi:5347
#, fuzzy, no-wrap
msgid "pinning, channels"
msgstr "固定,通道"

#. type: cindex
#: guix-git/doc/guix.texi:4689 guix-git/doc/guix.texi:4939
#: guix-git/doc/guix.texi:5348
#, fuzzy, no-wrap
msgid "replicating Guix"
msgstr "复制 Guix"

#. type: cindex
#: guix-git/doc/guix.texi:4690 guix-git/doc/guix.texi:5349
#, fuzzy, no-wrap
msgid "reproducibility, of Guix"
msgstr "Guix 的可重现性"

#. type: Plain text
#: guix-git/doc/guix.texi:4698
#, fuzzy
msgid "The @command{guix time-machine} command provides access to other revisions of Guix, for example to install older versions of packages, or to reproduce a computation in an identical environment.  The revision of Guix to be used is defined by a commit or by a channel description file created by @command{guix describe} (@pxref{Invoking guix describe})."
msgstr "@command{guix time-machine} 命令提供访问 Guix 的其他修订版本,例如安装旧版本的包,或在相同环境中重现计算。要使用的 Guix 修订版本由提交或 @command{guix describe} 创建的通道描述文件定义 (@pxref{Invoking guix describe})。"

#. type: Plain text
#: guix-git/doc/guix.texi:4702
#, fuzzy
msgid "Let's assume that you want to travel to those days of November 2020 when version 1.2.0 of Guix was released and, once you're there, run the @command{guile} of that time:"
msgstr "假设您想回到 2020 年 11 月发布 Guix 版本 1.2.0 的那几天,并且一旦到达那里,运行当时的 @command{guile}:"

#. type: example
#: guix-git/doc/guix.texi:4706
#, fuzzy, no-wrap
msgid ""
"guix time-machine --commit=v1.2.0 -- \\\n"
"  environment -C --ad-hoc guile -- guile\n"
msgstr ""
"guix time-machine --commit=v1.2.0 -- \\\n"
"  environment -C --ad-hoc guile -- guile\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4720
#, fuzzy
msgid "The command above fetches Guix@tie{}1.2.0 (and possibly other channels specified by your @file{channels.scm} configuration files---see below) and runs its @command{guix environment} command to spawn an environment in a container running @command{guile} (@command{guix environment} has since been subsumed by @command{guix shell}; @pxref{Invoking guix shell}).  It's like driving a DeLorean@footnote{If you don't know what a DeLorean is, consider traveling back to the 1980's. (@uref{https://www.imdb.com/title/tt0088763/, Back to the Future (1985)})}! The first @command{guix time-machine} invocation can be expensive: it may have to download or even build a large number of packages; the result is cached though and subsequent commands targeting the same commit are almost instantaneous."
msgstr "上面的命令获取 Guix@tie{}1.2.0(以及可能由您的 @file{channels.scm} 配置文件指定的其他通道——见下文),并运行其 @command{guix environment} 命令以在运行 @command{guile} 的容器中生成环境(@command{guix environment} 已被 @command{guix shell} 取代;@pxref{Invoking guix shell})。这就像驾驶一辆 DeLorean@footnote{如果您不知道 DeLorean 是什么,请考虑回到 1980 年代。(@uref{https://www.imdb.com/title/tt0088763/, 回到未来 (1985)})}!第一次 @command{guix time-machine} 调用可能会很昂贵:它可能需要下载或甚至构建大量包;不过结果会被缓存,后续针对同一提交的命令几乎是瞬时的。"

#. type: Plain text
#: guix-git/doc/guix.texi:4726
#, fuzzy
msgid "As for @command{guix pull}, in the absence of any options, @command{time-machine} fetches the latest commits of the channels specified in @file{~/.config/guix/channels.scm}, @file{/etc/guix/channels.scm}, or the default channels; the @option{-q} option lets you ignore these configuration files.  The command:"
msgstr "至于 @command{guix pull},在没有任何选项的情况下,@command{time-machine} 会获取在 @file{~/.config/guix/channels.scm}、@file{/etc/guix/channels.scm} 或默认通道中指定的通道的最新提交;@option{-q} 选项允许您忽略这些配置文件。该命令:"

#. type: example
#: guix-git/doc/guix.texi:4729
#, fuzzy, no-wrap
msgid "guix time-machine -q -- build hello\n"
msgstr "guix time-machine -q -- build hello\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4735
#, fuzzy
msgid "will thus build the package @code{hello} as defined in the main branch of Guix, without any additional channel, which is in general a newer revision of Guix than you have installed.  Time travel works in both directions!"
msgstr "因此将构建包 @code{hello},该包在 Guix 的主分支中定义,没有任何额外的通道,这通常是您安装的 Guix 的更新版本。时间旅行可以双向进行!"

#. type: quotation
#: guix-git/doc/guix.texi:4743
#, fuzzy
msgid "The history of Guix is immutable and @command{guix time-machine} provides the exact same software as they are in a specific Guix revision.  Naturally, no security fixes are provided for old versions of Guix or its channels.  A careless use of @command{guix time-machine} opens the door to security vulnerabilities.  @xref{Invoking guix pull, @option{--allow-downgrades}}."
msgstr "Guix 的历史是不可变的,@command{guix time-machine} 提供与特定 Guix 修订版中完全相同的软件。自然,旧版本的 Guix 或其通道不提供安全修复。粗心使用 @command{guix time-machine} 会导致安全漏洞。@xref{调用 guix pull, @option{--allow-downgrades}}。"

#. type: Plain text
#: guix-git/doc/guix.texi:4750
#, fuzzy
msgid "@command{guix time-machine} raises an error when attempting to travel to commits older than ``v0.16.0'' (commit @samp{4a0b87f0}), dated Dec.@: 2018.  This is one of the oldest commits supporting the channel mechanism that makes ``time travel'' possible."
msgstr "@command{guix time-machine} 在尝试旅行到早于 ``v0.16.0''(提交 @samp{4a0b87f0})的提交时会引发错误,该提交的日期为 2018 年 12 月。这是支持通道机制的最早提交之一,使得 ``时间旅行'' 成为可能。"

#. type: quotation
#: guix-git/doc/guix.texi:4760
#, fuzzy
msgid "Although it should technically be possible to travel to such an old commit, the ease to do so will largely depend on the availability of binary substitutes.  When traveling to a distant past, some packages may not easily build from source anymore.  One such example are old versions of OpenSSL whose tests would fail after a certain date.  This particular problem can be worked around by running a @dfn{virtual build machine} with its clock set to the right time (@pxref{build-vm, Virtual Build Machines})."
msgstr "尽管从技术上讲,旅行到如此古老的提交应该是可能的,但这样做的难易程度在很大程度上取决于二进制替代品的可用性。当旅行到遥远的过去时,一些包可能不再容易从源代码构建。其中一个例子是旧版本的 OpenSSL,其测试在某个日期之后会失败。这个特定问题可以通过运行一个 @dfn{虚拟构建机器},并将其时钟设置为正确的时间来解决 (@pxref{build-vm, 虚拟构建机器})。"

#. type: example
#: guix-git/doc/guix.texi:4766
#, fuzzy, no-wrap
msgid "guix time-machine @var{options}@dots{} -- @var{command} @var {arg}@dots{}\n"
msgstr "guix time-machine @var{options}@dots{} -- @var{command} @var{arg}@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4771
#, fuzzy
msgid "where @var{command} and @var{arg}@dots{} are passed unmodified to the @command{guix} command of the specified revision.  The @var{options} that define this revision are the same as for @command{guix pull} (@pxref{Invoking guix pull}):"
msgstr "其中 @var{command} 和 @var{arg}@dots{} 会未修改地传递给指定修订版的 @command{guix} 命令。定义此修订版的 @var{options} 与 @command{guix pull} 相同 (@pxref{调用 guix pull}):"

#. type: table
#: guix-git/doc/guix.texi:4779
#, fuzzy
msgid "Use the @code{guix} channel from the specified @var{url}, at the given @var{commit} (a valid Git commit ID represented as a hexadecimal string or the name of a tag), or @var{branch}."
msgstr "使用指定的 @var{url} 的 @code{guix} 通道,在给定的 @var{commit}(有效的 Git 提交 ID,以十六进制字符串表示或标签名称)或 @var{branch}。"

#. type: table
#: guix-git/doc/guix.texi:4785
#, fuzzy
msgid "Read the list of channels from @var{file}.  @var{file} must contain Scheme code that evaluates to a list of channel objects.  @xref{Channels} for more information."
msgstr "从 @var{file} 中读取通道列表。 @var{file} 必须包含评估为通道对象列表的 Scheme 代码。有关更多信息,请参见 @xref{Channels}。"

#. type: table
#: guix-git/doc/guix.texi:4794
#, fuzzy
msgid "Thus, @command{guix time-machine -q} is equivalent to the following Bash command, using the ``process substitution'' syntax (@pxref{Process Substitution,,, bash, The GNU Bash Reference Manual}):"
msgstr "因此,@command{guix time-machine -q} 等同于以下 Bash 命令,使用 ``进程替换'' 语法 (@pxref{Process Substitution,,, bash, The GNU Bash Reference Manual}):"

#. type: example
#: guix-git/doc/guix.texi:4797
#, fuzzy, no-wrap
msgid "guix time-machine -C <(echo %default-channels) @dots{}\n"
msgstr "guix time-machine -C <(echo %default-channels) @dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4804
#, fuzzy
msgid "Note that @command{guix time-machine} can trigger builds of channels and their dependencies, and these are controlled by the standard build options (@pxref{Common Build Options})."
msgstr "请注意,@command{guix time-machine} 可以触发通道及其依赖项的构建,这些构建由标准构建选项控制 (@pxref{Common Build Options})。"

#. type: Plain text
#: guix-git/doc/guix.texi:4809
#, fuzzy
msgid "If @command{guix time-machine} is executed without any command, it prints the file name of the profile that would be used to execute the command.  This is sometimes useful if you need to get store file name of the profile---e.g., when you want to @command{guix copy} it."
msgstr "如果 @command{guix time-machine} 在没有任何命令的情况下执行,它会打印将用于执行命令的配置文件的文件名。如果您需要获取配置文件的存储文件名,这有时是有用的——例如,当您想要 @command{guix copy} 它时。"

#. type: quotation
#: guix-git/doc/guix.texi:4817
#, fuzzy
msgid "The functionality described here is a ``technology preview'' as of version @value{VERSION}.  As such, the interface is subject to change."
msgstr "此处描述的功能是 @value{VERSION} 版本的 ``技术预览''。因此,接口可能会发生变化。"

#. type: cindex
#: guix-git/doc/guix.texi:4819 guix-git/doc/guix.texi:12763
#, fuzzy, no-wrap
msgid "inferiors"
msgstr "下级"

#. type: cindex
#: guix-git/doc/guix.texi:4820
#, fuzzy, no-wrap
msgid "composition of Guix revisions"
msgstr "Guix 修订版的组合"

#. type: Plain text
#: guix-git/doc/guix.texi:4825
#, fuzzy
msgid "Sometimes you might need to mix packages from the revision of Guix you're currently running with packages available in a different revision of Guix.  Guix @dfn{inferiors} allow you to achieve that by composing different Guix revisions in arbitrary ways."
msgstr "有时您可能需要将当前运行的 Guix 修订版中的软件包与 Guix 的不同修订版中可用的软件包混合。Guix @dfn{inferiors} 允许您通过以任意方式组合不同的 Guix 修订版来实现这一点。"

#. type: cindex
#: guix-git/doc/guix.texi:4826 guix-git/doc/guix.texi:4889
#, fuzzy, no-wrap
msgid "inferior packages"
msgstr "下级软件包"

#. type: Plain text
#: guix-git/doc/guix.texi:4832
#, fuzzy
msgid "Technically, an ``inferior'' is essentially a separate Guix process connected to your main Guix process through a REPL (@pxref{Invoking guix repl}).  The @code{(guix inferior)} module allows you to create inferiors and to communicate with them.  It also provides a high-level interface to browse and manipulate the packages that an inferior provides---@dfn{inferior packages}."
msgstr "从技术上讲,``下级'' 本质上是一个与您的主 Guix 进程通过 REPL 连接的独立 Guix 进程 (@pxref{Invoking guix repl})。 @code{(guix inferior)} 模块允许您创建下级并与之通信。它还提供了一个高级接口,用于浏览和操作下级提供的软件包——@dfn{inferior packages}。"

#. type: Plain text
#: guix-git/doc/guix.texi:4842
#, fuzzy
msgid "When combined with channels (@pxref{Channels}), inferiors provide a simple way to interact with a separate revision of Guix.  For example, let's assume you want to install in your profile the current @code{guile} package, along with the @code{guile-json} as it existed in an older revision of Guix---perhaps because the newer @code{guile-json} has an incompatible API and you want to run your code against the old API@.  To do that, you could write a manifest for use by @code{guix package --manifest} (@pxref{Writing Manifests}); in that manifest, you would create an inferior for that old Guix revision you care about, and you would look up the @code{guile-json} package in the inferior:"
msgstr "结合通道 (@pxref{Channels}),下级提供了一种与 Guix 的独立修订版交互的简单方法。例如,假设您想在您的配置文件中安装当前的 @code{guile} 软件包,以及在 Guix 的旧修订版中存在的 @code{guile-json}——可能是因为较新的 @code{guile-json} 具有不兼容的 API,而您希望针对旧 API 运行您的代码。为此,您可以编写一个清单供 @code{guix package --manifest} 使用 (@pxref{Writing Manifests});在该清单中,您将为您关心的旧 Guix 修订版创建一个下级,并在下级中查找 @code{guile-json} 软件包:"

#. type: lisp
#: guix-git/doc/guix.texi:4846
#, fuzzy, no-wrap
msgid ""
"(use-modules (guix inferior) (guix channels)\n"
"             (srfi srfi-1))   ;for 'first'\n"
"\n"
msgstr ""
"(使用模块 (guix inferior) (guix channels)\n"
"             (srfi srfi-1))   ;用于 'first'\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:4855
#, fuzzy, no-wrap
msgid ""
"(define channels\n"
"  ;; This is the old revision from which we want to\n"
"  ;; extract guile-json.\n"
"  (list (channel\n"
"         (name 'guix)\n"
"         (url \"https://git.savannah.gnu.org/git/guix.git\")\n"
"         (commit\n"
"          \"65956ad3526ba09e1f7a40722c96c6ef7c0936fe\"))))\n"
"\n"
msgstr ""
"(定义 channels\n"
"  ;; 这是我们想要提取 guile-json 的旧修订版。\n"
"  (列表 (channel\n"
"         (name 'guix)\n"
"         (url \"https://git.savannah.gnu.org/git/guix.git\")\n"
"         (commit\n"
"          \"65956ad3526ba09e1f7a40722c96c6ef7c0936fe\"))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:4859
#, fuzzy, no-wrap
msgid ""
"(define inferior\n"
"  ;; An inferior representing the above revision.\n"
"  (inferior-for-channels channels))\n"
"\n"
msgstr ""
"(定义 inferior\n"
"  ;; 一个表示上述修订版的 inferior。\n"
"  (inferior-for-channels channels))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:4865
#, fuzzy, no-wrap
msgid ""
";; Now create a manifest with the current \"guile\" package\n"
";; and the old \"guile-json\" package.\n"
"(packages->manifest\n"
" (list (first (lookup-inferior-packages inferior \"guile-json\"))\n"
"       (specification->package \"guile\")))\n"
msgstr ""
";; 现在创建一个包含当前 \"guile\" 包和旧 \"guile-json\" 包的清单。\n"
"(packages->manifest\n"
" (列表 (first (lookup-inferior-packages inferior \"guile-json\"))\n"
"       (specification->package \"guile\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4870
#, fuzzy
msgid "On its first run, @command{guix package --manifest} might have to build the channel you specified before it can create the inferior; subsequent runs will be much faster because the Guix revision will be cached."
msgstr "在第一次运行时,@command{guix package --manifest} 可能需要构建您指定的通道,然后才能创建 inferior;后续运行将会快得多,因为 Guix 修订版将被缓存。"

#. type: Plain text
#: guix-git/doc/guix.texi:4873
#, fuzzy
msgid "The @code{(guix inferior)} module provides the following procedures to open an inferior:"
msgstr "@code{(guix inferior)} 模块提供以下过程以打开一个 inferior:"

#. type: deffn
#: guix-git/doc/guix.texi:4874
#, fuzzy, no-wrap
msgid "{Procedure} inferior-for-channels channels [#:cache-directory] [#:ttl]"
msgstr "{过程} inferior-for-channels channels [#:cache-directory] [#:ttl]"

#. type: deffn
#: guix-git/doc/guix.texi:4878
#, fuzzy
msgid "Return an inferior for @var{channels}, a list of channels.  Use the cache at @var{cache-directory}, where entries can be reclaimed after @var{ttl} seconds.  This procedure opens a new connection to the build daemon."
msgstr "返回一个 inferior,针对 @var{channels},一个通道列表。使用 @var{cache-directory} 中的缓存,条目可以在 @var{ttl} 秒后被回收。此过程打开一个与构建守护进程的新连接。"

#. type: deffn
#: guix-git/doc/guix.texi:4881
#, fuzzy
msgid "As a side effect, this procedure may build or substitute binaries for @var{channels}, which can take time."
msgstr "作为副作用,此过程可能会为 @var{channels} 构建或替代二进制文件,这可能需要时间。"

#. type: deffn
#: guix-git/doc/guix.texi:4883
#, fuzzy, no-wrap
msgid "{Procedure} open-inferior directory [#:command \"bin/guix\"]"
msgstr "{过程} open-inferior directory [#:command \"bin/guix\"]"

#. type: deffn
#: guix-git/doc/guix.texi:4887
#, fuzzy
msgid "Open the inferior Guix in @var{directory}, running @code{@var{directory}/@var{command} repl} or equivalent.  Return @code{#f} if the inferior could not be launched."
msgstr "在 @var{directory} 中打开 inferior Guix,运行 @code{@var{directory}/@var{command} repl} 或等效命令。如果无法启动 inferior,则返回 @code{#f}。"

#. type: Plain text
#: guix-git/doc/guix.texi:4892
#, fuzzy
msgid "The procedures listed below allow you to obtain and manipulate inferior packages."
msgstr "下面列出的过程允许您获取和操作 inferior 包。"

#. type: deffn
#: guix-git/doc/guix.texi:4893
#, fuzzy, no-wrap
msgid "{Procedure} inferior-packages inferior"
msgstr "从软件包定义里寻找错误。"

#. type: deffn
#: guix-git/doc/guix.texi:4895
#, fuzzy
msgid "Return the list of packages known to @var{inferior}."
msgstr "返回 @var{inferior} 已知的包列表。"

#. type: deffn
#: guix-git/doc/guix.texi:4897
#, fuzzy, no-wrap
msgid "{Procedure} lookup-inferior-packages inferior name [version]"
msgstr "从软件包定义里寻找错误。"

#. type: deffn
#: guix-git/doc/guix.texi:4901
#, fuzzy
msgid "Return the sorted list of inferior packages matching @var{name} in @var{inferior}, with highest version numbers first.  If @var{version} is true, return only packages with a version number prefixed by @var{version}."
msgstr "返回与 @var{inferior} 中的 @var{name} 匹配的 inferior 包的排序列表,版本号最高的优先。如果 @var{version} 为真,仅返回版本号以 @var{version} 为前缀的包。"

#. type: deffn
#: guix-git/doc/guix.texi:4903
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package? obj"
msgstr "从软件包定义里寻找错误。"

#. type: deffn
#: guix-git/doc/guix.texi:4905
#, fuzzy
msgid "Return true if @var{obj} is an inferior package."
msgstr "如果 @var{obj} 是一个 inferior 包,则返回真。"

#. type: deffn
#: guix-git/doc/guix.texi:4907
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-name package"
msgstr "软件包简介"

#. type: deffnx
#: guix-git/doc/guix.texi:4908
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-version package"
msgstr "软件包描述"

#. type: deffnx
#: guix-git/doc/guix.texi:4909
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-synopsis package"
msgstr "软件包简介"

#. type: deffnx
#: guix-git/doc/guix.texi:4910
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-description package"
msgstr "软件包描述"

#. type: deffnx
#: guix-git/doc/guix.texi:4911
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-home-page package"
msgstr "软件包简介"

#. type: deffnx
#: guix-git/doc/guix.texi:4912
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-location package"
msgstr "软件包描述"

#. type: deffnx
#: guix-git/doc/guix.texi:4913
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-inputs package"
msgstr "软件包简介"

#. type: deffnx
#: guix-git/doc/guix.texi:4914
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-native-inputs package"
msgstr "软件包简介"

#. type: deffnx
#: guix-git/doc/guix.texi:4915
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-propagated-inputs package"
msgstr "软件包简介"

#. type: deffnx
#: guix-git/doc/guix.texi:4916
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-transitive-propagated-inputs package"
msgstr "软件包描述"

#. type: deffnx
#: guix-git/doc/guix.texi:4917
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-native-search-paths package"
msgstr "软件包描述"

#. type: deffnx
#: guix-git/doc/guix.texi:4918
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-transitive-native-search-paths package"
msgstr "{过程} inferior-package-transitive-native-search-paths package"

#. type: deffnx
#: guix-git/doc/guix.texi:4919
#, fuzzy, no-wrap
msgid "{Procedure} inferior-package-search-paths package"
msgstr "软件包简介"

#. type: deffn
#: guix-git/doc/guix.texi:4924
#, fuzzy
msgid "These procedures are the counterpart of package record accessors (@pxref{package Reference}).  Most of them work by querying the inferior @var{package} comes from, so the inferior must still be live when you call these procedures."
msgstr "这些程序是包记录访问器的对应部分(@pxref{package Reference})。它们中的大多数通过查询来自下层的 @var{package} 来工作,因此在调用这些程序时,下层必须仍然处于活动状态。"

#. type: Plain text
#: guix-git/doc/guix.texi:4934
#, fuzzy
msgid "Inferior packages can be used transparently like any other package or file-like object in G-expressions (@pxref{G-Expressions}).  They are also transparently handled by the @code{packages->manifest} procedure, which is commonly used in manifests (@pxref{Invoking guix package, the @option{--manifest} option of @command{guix package}}).  Thus you can insert an inferior package pretty much anywhere you would insert a regular package: in manifests, in the @code{packages} field of your @code{operating-system} declaration, and so on."
msgstr "下层包可以像 G 表达式中的任何其他包或文件对象一样透明地使用(@pxref{G-Expressions})。它们也被 @code{packages->manifest} 程序透明地处理,该程序通常在清单中使用(@pxref{Invoking guix package, the @option{--manifest} option of @command{guix package}})。因此,您几乎可以在任何您插入常规包的地方插入下层包:在清单中,在您的 @code{operating-system} 声明的 @code{packages} 字段中,等等。"

#. type: section
#: guix-git/doc/guix.texi:4936
#, fuzzy, no-wrap
msgid "Invoking @command{guix describe}"
msgstr "调用 @command{guix describe}"

#. type: command{#1}
#: guix-git/doc/guix.texi:4940
#, no-wrap
msgid "guix describe"
msgstr "guix describe"

#. type: Plain text
#: guix-git/doc/guix.texi:4948
#, fuzzy
msgid "Often you may want to answer questions like: ``Which revision of Guix am I using?'' or ``Which channels am I using?'' This is useful information in many situations: if you want to @emph{replicate} an environment on a different machine or user account, if you want to report a bug or to determine what change in the channels you are using caused it, or if you want to record your system state for reproducibility purposes.  The @command{guix describe} command answers these questions."
msgstr "您可能经常想回答这样的问题:“我正在使用哪个版本的 Guix?”或“我正在使用哪些频道?”在许多情况下,这些信息都是有用的:如果您想在不同的机器或用户帐户上 @emph{复制} 环境,如果您想报告错误或确定您使用的频道中的哪些更改导致了它,或者如果您想记录系统状态以便于重现。 @command{guix describe} 命令可以回答这些问题。"

#. type: Plain text
#: guix-git/doc/guix.texi:4952
#, fuzzy
msgid "When run from a @command{guix pull}ed @command{guix}, @command{guix describe} displays the channel(s) that it was built from, including their repository URL and commit IDs (@pxref{Channels}):"
msgstr "从 @command{guix pull} 的 @command{guix} 运行时,@command{guix describe} 显示它构建时所用的频道,包括它们的存储库 URL 和提交 ID(@pxref{Channels}):"

#. type: example
#: guix-git/doc/guix.texi:4960
#, fuzzy, no-wrap
msgid ""
"$ guix describe\n"
"Generation 10\tSep 03 2018 17:32:44\t(current)\n"
"  guix e0fa68c\n"
"    repository URL: https://git.savannah.gnu.org/git/guix.git\n"
"    branch: master\n"
"    commit: e0fa68c7718fffd33d81af415279d6ddb518f727\n"
msgstr ""
"$ guix describe\n"
"Generation 10\tSep 03 2018 17:32:44\t(current)\n"
"  guix e0fa68c\n"
"    repository URL: https://git.savannah.gnu.org/git/guix.git\n"
"    branch: master\n"
"    commit: e0fa68c7718fffd33d81af415279d6ddb518f727\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4969
#, fuzzy
msgid "If you're familiar with the Git version control system, this is similar in spirit to @command{git describe}; the output is also similar to that of @command{guix pull --list-generations}, but limited to the current generation (@pxref{Invoking guix pull, the @option{--list-generations} option}).  Because the Git commit ID shown above unambiguously refers to a snapshot of Guix, this information is all it takes to describe the revision of Guix you're using, and also to replicate it."
msgstr "如果您熟悉 Git 版本控制系统,这在精神上类似于 @command{git describe};输出也类似于 @command{guix pull --list-generations} 的输出,但仅限于当前代(@pxref{Invoking guix pull, the @option{--list-generations} option})。因为上面显示的 Git 提交 ID 明确指向 Guix 的快照,所以这些信息足以描述您正在使用的 Guix 版本,并且也可以复制它。"

#. type: Plain text
#: guix-git/doc/guix.texi:4972
#, fuzzy
msgid "To make it easier to replicate Guix, @command{guix describe} can also be asked to return a list of channels instead of the human-readable description above:"
msgstr "为了更容易地复制 Guix,可以要求 @command{guix describe} 返回一个频道列表,而不是上面的可读描述:"

#. type: example
#: guix-git/doc/guix.texi:4985
#, fuzzy, no-wrap
msgid ""
"$ guix describe -f channels\n"
"(list (channel\n"
"        (name 'guix)\n"
"        (url \"https://git.savannah.gnu.org/git/guix.git\")\n"
"        (commit\n"
"          \"e0fa68c7718fffd33d81af415279d6ddb518f727\")\n"
"        (introduction\n"
"          (make-channel-introduction\n"
"            \"9edb3f66fd807b096b48283debdcddccfea34bad\"\n"
"            (openpgp-fingerprint\n"
"              \"BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA\")))))\n"
msgstr ""
"$ guix describe -f channels\n"
"(list (channel\n"
"        (name 'guix)\n"
"        (url \"https://git.savannah.gnu.org/git/guix.git\")\n"
"        (commit\n"
"          \"e0fa68c7718fffd33d81af415279d6ddb518f727\")\n"
"        (introduction\n"
"          (make-channel-introduction\n"
"            \"9edb3f66fd807b096b48283debdcddccfea34bad\"\n"
"            (openpgp-fingerprint\n"
"              \"BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA\")))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:4994
#, fuzzy
msgid "You can save this to a file and feed it to @command{guix pull -C} on some other machine or at a later point in time, which will instantiate @emph{this exact Guix revision} (@pxref{Invoking guix pull, the @option{-C} option}).  From there on, since you're able to deploy the same revision of Guix, you can just as well @emph{replicate a complete software environment}.  We humbly think that this is @emph{awesome}, and we hope you'll like it too!"
msgstr "您可以将其保存到文件中,并在其他机器上或稍后时间将其提供给 @command{guix pull -C},这将实例化 @emph{这个确切的 Guix 修订版} (@pxref{Invoking guix pull, the @option{-C} option})。 从那时起,由于您能够部署相同的 Guix 修订版,您也可以 @emph{复制一个完整的软件环境}。 我们谦虚地认为这 @emph{很棒},希望您也会喜欢!"

#. type: Plain text
#: guix-git/doc/guix.texi:4997
#, fuzzy
msgid "The details of the options supported by @command{guix describe} are as follows:"
msgstr "@command{guix describe} 支持的选项详细信息如下:"

#. type: item
#: guix-git/doc/guix.texi:4999 guix-git/doc/guix.texi:7006
#: guix-git/doc/guix.texi:16979
#, fuzzy, no-wrap
msgid "--format=@var{format}"
msgstr "--format=@var{format}"

#. type: itemx
#: guix-git/doc/guix.texi:5000 guix-git/doc/guix.texi:7007
#: guix-git/doc/guix.texi:16980
#, fuzzy, no-wrap
msgid "-f @var{format}"
msgstr "-f @var{format}"

#. type: table
#: guix-git/doc/guix.texi:5002 guix-git/doc/guix.texi:16982
#, fuzzy
msgid "Produce output in the specified @var{format}, one of:"
msgstr "以指定的 @var{format} 生成输出,选项包括:"

#. type: item
#: guix-git/doc/guix.texi:5004
#, fuzzy, no-wrap
msgid "human"
msgstr "human"

#. type: table
#: guix-git/doc/guix.texi:5006
#, fuzzy
msgid "produce human-readable output;"
msgstr "生成可读输出;"

#. type: cindex
#: guix-git/doc/guix.texi:5006 guix-git/doc/guix.texi:5226
#, fuzzy, no-wrap
msgid "channels"
msgstr "channels"

#. type: table
#: guix-git/doc/guix.texi:5010
#, fuzzy
msgid "produce a list of channel specifications that can be passed to @command{guix pull -C} or installed as @file{~/.config/guix/channels.scm} (@pxref{Invoking guix pull});"
msgstr "生成可以传递给 @command{guix pull -C} 或安装为 @file{~/.config/guix/channels.scm} 的频道规范列表 (@pxref{Invoking guix pull});"

#. type: item
#: guix-git/doc/guix.texi:5010
#, fuzzy, no-wrap
msgid "channels-sans-intro"
msgstr "channels-sans-intro"

#. type: table
#: guix-git/doc/guix.texi:5016
#, fuzzy
msgid "like @code{channels}, but omit the @code{introduction} field; use it to produce a channel specification suitable for Guix version 1.1.0 or earlier---the @code{introduction} field has to do with channel authentication (@pxref{Channels, Channel Authentication}) and is not supported by these older versions;"
msgstr "类似 @code{channels},但省略 @code{introduction} 字段;用于生成适合 Guix 版本 1.1.0 或更早版本的频道规范——@code{introduction} 字段与频道认证有关 (@pxref{Channels, Channel Authentication}),这些旧版本不支持;"

#. type: item
#: guix-git/doc/guix.texi:5016 guix-git/doc/guix.texi:14489
#, fuzzy, no-wrap
msgid "json"
msgstr "json"

#. type: cindex
#: guix-git/doc/guix.texi:5017
#, fuzzy, no-wrap
msgid "JSON"
msgstr "JSON"

#. type: table
#: guix-git/doc/guix.texi:5019
#, fuzzy
msgid "produce a list of channel specifications in JSON format;"
msgstr "以 JSON 格式生成频道规范列表;"

#. type: item
#: guix-git/doc/guix.texi:5019 guix-git/doc/guix.texi:16984
#, fuzzy, no-wrap
msgid "recutils"
msgstr "recutils"

#. type: table
#: guix-git/doc/guix.texi:5021
#, fuzzy
msgid "produce a list of channel specifications in Recutils format."
msgstr "以 Recutils 格式生成频道规范列表。"

#. type: item
#: guix-git/doc/guix.texi:5023
#, fuzzy, no-wrap
msgid "--list-formats"
msgstr "--list-formats"

#. type: table
#: guix-git/doc/guix.texi:5025
#, fuzzy
msgid "Display available formats for @option{--format} option."
msgstr "显示 @option{--format} 选项的可用格式。"

#. type: table
#: guix-git/doc/guix.texi:5029
#, fuzzy
msgid "Display information about @var{profile}."
msgstr "显示有关 @var{profile} 的信息。"

#. type: section
#: guix-git/doc/guix.texi:5032
#, fuzzy, no-wrap
msgid "Invoking @command{guix archive}"
msgstr "调用 @command{guix archive}"

#. type: command{#1}
#: guix-git/doc/guix.texi:5034
#, fuzzy, no-wrap
msgid "guix archive"
msgstr "guix archive"

#. type: cindex
#: guix-git/doc/guix.texi:5035
#, no-wrap
msgid "archive"
msgstr "归档"

#. type: cindex
#: guix-git/doc/guix.texi:5036
#, fuzzy, no-wrap
msgid "exporting files from the store"
msgstr "从存储中导出文件"

#. type: cindex
#: guix-git/doc/guix.texi:5037
#, fuzzy, no-wrap
msgid "importing files to the store"
msgstr "将文件导入存储"

#. type: Plain text
#: guix-git/doc/guix.texi:5043
#, fuzzy
msgid "The @command{guix archive} command allows users to @dfn{export} files from the store into a single archive, and to later @dfn{import} them on a machine that runs Guix.  In particular, it allows store files to be transferred from one machine to the store on another machine."
msgstr "@command{guix archive} 命令允许用户将文件从存储 @dfn{导出} 到一个单独的归档中,并在运行 Guix 的机器上 @dfn{导入} 它们。特别是,它允许将存储文件从一台机器传输到另一台机器的存储中。"

#. type: quotation
#: guix-git/doc/guix.texi:5047
#, fuzzy
msgid "If you're looking for a way to produce archives in a format suitable for tools other than Guix, @pxref{Invoking guix pack}."
msgstr "如果您正在寻找一种方法来生成适合于其他工具的归档格式,请参阅 @pxref{Invoking guix pack}。"

#. type: cindex
#: guix-git/doc/guix.texi:5049
#, fuzzy, no-wrap
msgid "exporting store items"
msgstr "导出存储项目"

#. type: Plain text
#: guix-git/doc/guix.texi:5051
#, fuzzy
msgid "To export store files as an archive to standard output, run:"
msgstr "要将存储文件作为归档导出到标准输出,请运行:"

#. type: example
#: guix-git/doc/guix.texi:5054
#, fuzzy, no-wrap
msgid "guix archive --export @var{options} @var{specifications}...\n"
msgstr "guix archive --export @var{options} @var{specifications}...\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5061
#, fuzzy
msgid "@var{specifications} may be either store file names or package specifications, as for @command{guix package} (@pxref{Invoking guix package}).  For instance, the following command creates an archive containing the @code{gui} output of the @code{git} package and the main output of @code{emacs}:"
msgstr "@var{specifications} 可以是存储文件名或包规范,如 @command{guix package} 中所示 (@pxref{Invoking guix package})。例如,以下命令创建一个包含 @code{git} 包的 @code{gui} 输出和 @code{emacs} 的主要输出的归档:"

#. type: example
#: guix-git/doc/guix.texi:5064
#, fuzzy, no-wrap
msgid "guix archive --export git:gui /gnu/store/...-emacs-24.3 > great.nar\n"
msgstr "guix archive --export git:gui /gnu/store/...-emacs-24.3 > great.nar\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5069
#, fuzzy
msgid "If the specified packages are not built yet, @command{guix archive} automatically builds them.  The build process may be controlled with the common build options (@pxref{Common Build Options})."
msgstr "如果指定的包尚未构建,@command{guix archive} 会自动构建它们。构建过程可以通过常见的构建选项进行控制 (@pxref{Common Build Options})。"

#. type: Plain text
#: guix-git/doc/guix.texi:5072
#, fuzzy
msgid "To transfer the @code{emacs} package to a machine connected over SSH, one would run:"
msgstr "要将 @code{emacs} 包传输到通过 SSH 连接的机器,可以运行:"

#. type: example
#: guix-git/doc/guix.texi:5075
#, fuzzy, no-wrap
msgid "guix archive --export -r emacs | ssh the-machine guix archive --import\n"
msgstr "guix archive --export -r emacs | ssh the-machine guix archive --import\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5080
#, fuzzy
msgid "Similarly, a complete user profile may be transferred from one machine to another like this:"
msgstr "同样,可以像这样将完整的用户配置文件从一台机器传输到另一台机器:"

#. type: example
#: guix-git/doc/guix.texi:5084
#, fuzzy, no-wrap
msgid ""
"guix archive --export -r $(readlink -f ~/.guix-profile) | \\\n"
"  ssh the-machine guix archive --import\n"
msgstr ""
"guix archive --export -r $(readlink -f ~/.guix-profile) | \\\n"
"  ssh the-machine guix archive --import\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5094
#, fuzzy
msgid "However, note that, in both examples, all of @code{emacs} and the profile as well as all of their dependencies are transferred (due to @option{-r}), regardless of what is already available in the store on the target machine.  The @option{--missing} option can help figure out which items are missing from the target store.  The @command{guix copy} command simplifies and optimizes this whole process, so this is probably what you should use in this case (@pxref{Invoking guix copy})."
msgstr "但是,请注意,在这两个示例中,所有的 @code{emacs} 和配置文件以及它们的所有依赖项都被传输(由于 @option{-r}),无论目标机器的存储中已经可用的内容是什么。@option{--missing} 选项可以帮助找出目标存储中缺少哪些项目。@command{guix copy} 命令简化并优化了整个过程,因此在这种情况下,您可能应该使用它 (@pxref{Invoking guix copy})。"

#. type: cindex
#: guix-git/doc/guix.texi:5095
#, fuzzy, no-wrap
msgid "nar, archive format"
msgstr "nar,归档格式"

#. type: cindex
#: guix-git/doc/guix.texi:5096
#, fuzzy, no-wrap
msgid "normalized archive (nar)"
msgstr "标准化归档(nar)"

#. type: cindex
#: guix-git/doc/guix.texi:5097
#, fuzzy, no-wrap
msgid "nar bundle, archive format"
msgstr "nar 包,归档格式"

#. type: Plain text
#: guix-git/doc/guix.texi:5102
#, fuzzy
msgid "Each store item is written in the @dfn{normalized archive} or @dfn{nar} format (described below), and the output of @command{guix archive --export} (and input of @command{guix archive --import}) is a @dfn{nar bundle}."
msgstr "每个商店项目都以@dfn{规范化档案}或@dfn{nar}格式(如下所述)编写,@command{guix archive --export}的输出(以及@command{guix archive --import}的输入)是一个@dfn{nar包}。"

#. type: Plain text
#: guix-git/doc/guix.texi:5112
#, fuzzy
msgid "The nar format is comparable in spirit to `tar', but with differences that make it more appropriate for our purposes.  First, rather than recording all Unix metadata for each file, the nar format only mentions the file type (regular, directory, or symbolic link); Unix permissions and owner/group are dismissed.  Second, the order in which directory entries are stored always follows the order of file names according to the C locale collation order.  This makes archive production fully deterministic."
msgstr "nar格式在精神上与`tar`相似,但有一些差异使其更适合我们的目的。首先,nar格式并不记录每个文件的所有Unix元数据,而只提及文件类型(常规、目录或符号链接);Unix权限和所有者/组被忽略。其次,目录项存储的顺序始终遵循C语言环境排序顺序中的文件名顺序。这使得档案的生成完全是确定性的。"

#. type: Plain text
#: guix-git/doc/guix.texi:5116
#, fuzzy
msgid "That nar bundle format is essentially the concatenation of zero or more nars along with metadata for each store item it contains: its file name, references, corresponding derivation, and a digital signature."
msgstr "nar包格式本质上是零个或多个nars的串联,以及它所包含的每个商店项目的元数据:其文件名、引用、相应的派生和数字签名。"

#. type: Plain text
#: guix-git/doc/guix.texi:5122
#, fuzzy
msgid "When exporting, the daemon digitally signs the contents of the archive, and that digital signature is appended.  When importing, the daemon verifies the signature and rejects the import in case of an invalid signature or if the signing key is not authorized."
msgstr "在导出时,守护进程对档案的内容进行数字签名,并附加该数字签名。在导入时,守护进程验证签名,并在签名无效或签名密钥未被授权的情况下拒绝导入。"

#. type: Plain text
#: guix-git/doc/guix.texi:5124
#, fuzzy
msgid "The main options are:"
msgstr "主要选项包括:"

#. type: item
#: guix-git/doc/guix.texi:5126
#, fuzzy, no-wrap
msgid "--export"
msgstr "--export"

#. type: table
#: guix-git/doc/guix.texi:5129
#, fuzzy
msgid "Export the specified store files or packages (see below).  Write the resulting archive to the standard output."
msgstr "导出指定的商店文件或软件包(见下文)。将生成的档案写入标准输出。"

#. type: table
#: guix-git/doc/guix.texi:5132
#, fuzzy
msgid "Dependencies are @emph{not} included in the output, unless @option{--recursive} is passed."
msgstr "除非传递@option{--recursive},否则输出中@emph{不}包括依赖项。"

#. type: itemx
#: guix-git/doc/guix.texi:5133 guix-git/doc/guix.texi:14122
#: guix-git/doc/guix.texi:14169 guix-git/doc/guix.texi:14305
#: guix-git/doc/guix.texi:14336 guix-git/doc/guix.texi:14368
#: guix-git/doc/guix.texi:14395 guix-git/doc/guix.texi:14483
#: guix-git/doc/guix.texi:14564 guix-git/doc/guix.texi:14605
#: guix-git/doc/guix.texi:14656 guix-git/doc/guix.texi:14681
#: guix-git/doc/guix.texi:14717 guix-git/doc/guix.texi:14750
#: guix-git/doc/guix.texi:14766 guix-git/doc/guix.texi:14786
#: guix-git/doc/guix.texi:14834 guix-git/doc/guix.texi:14870
#: guix-git/doc/guix.texi:14897
#, fuzzy, no-wrap
msgid "-r"
msgstr "-r"

#. type: item
#: guix-git/doc/guix.texi:5134 guix-git/doc/guix.texi:14121
#: guix-git/doc/guix.texi:14168 guix-git/doc/guix.texi:14304
#: guix-git/doc/guix.texi:14335 guix-git/doc/guix.texi:14367
#: guix-git/doc/guix.texi:14394 guix-git/doc/guix.texi:14482
#: guix-git/doc/guix.texi:14563 guix-git/doc/guix.texi:14604
#: guix-git/doc/guix.texi:14655 guix-git/doc/guix.texi:14680
#: guix-git/doc/guix.texi:14716 guix-git/doc/guix.texi:14749
#: guix-git/doc/guix.texi:14765 guix-git/doc/guix.texi:14785
#: guix-git/doc/guix.texi:14833 guix-git/doc/guix.texi:14869
#: guix-git/doc/guix.texi:14896 guix-git/doc/guix.texi:14945
#, fuzzy, no-wrap
msgid "--recursive"
msgstr "--recursive"

#. type: table
#: guix-git/doc/guix.texi:5139
#, fuzzy
msgid "When combined with @option{--export}, this instructs @command{guix archive} to include dependencies of the given items in the archive.  Thus, the resulting archive is self-contained: it contains the closure of the exported store items."
msgstr "与@option{--export}结合使用时,这指示@command{guix archive}将给定项目的依赖项包含在档案中。因此,生成的档案是自包含的:它包含导出商店项目的闭包。"

#. type: item
#: guix-git/doc/guix.texi:5140
#, fuzzy, no-wrap
msgid "--import"
msgstr "--import"

#. type: table
#: guix-git/doc/guix.texi:5145
#, fuzzy
msgid "Read an archive from the standard input, and import the files listed therein into the store.  Abort if the archive has an invalid digital signature, or if it is signed by a public key not among the authorized keys (see @option{--authorize} below)."
msgstr "从标准输入读取档案,并将其中列出的文件导入商店。如果档案具有无效的数字签名,或者由未授权的公钥签名,则中止。"

#. type: item
#: guix-git/doc/guix.texi:5146
#, fuzzy, no-wrap
msgid "--missing"
msgstr "--missing"

#. type: table
#: guix-git/doc/guix.texi:5150
#, fuzzy
msgid "Read a list of store file names from the standard input, one per line, and write on the standard output the subset of these files missing from the store."
msgstr "从标准输入读取一份商店文件名列表,每行一个,并在标准输出上写出这些文件中缺失的子集。"

#. type: item
#: guix-git/doc/guix.texi:5151
#, fuzzy, no-wrap
msgid "--generate-key[=@var{parameters}]"
msgstr "--generate-key[=@var{parameters}]"

#. type: cindex
#: guix-git/doc/guix.texi:5152
#, fuzzy, no-wrap
msgid "signing, archives"
msgstr "签名,档案"

#. type: table
#: guix-git/doc/guix.texi:5159
#, fuzzy
msgid "Generate a new key pair for the daemon.  This is a prerequisite before archives can be exported with @option{--export}.  This operation is usually instantaneous but it can take time if the system's entropy pool needs to be refilled.  On Guix System, @code{guix-service-type} takes care of generating this key pair the first boot."
msgstr "为守护进程生成一对新的密钥。这是在使用@option{--export}导出档案之前的先决条件。此操作通常是瞬时的,但如果系统的熵池需要重新填充,则可能需要一些时间。在Guix系统上,@code{guix-service-type}负责在第一次启动时生成这一密钥对。"

#. type: table
#: guix-git/doc/guix.texi:5169
#, fuzzy
msgid "The generated key pair is typically stored under @file{/etc/guix}, in @file{signing-key.pub} (public key) and @file{signing-key.sec} (private key, which must be kept secret).  When @var{parameters} is omitted, an ECDSA key using the Ed25519 curve is generated, or, for Libgcrypt versions before 1.6.0, it is a 4096-bit RSA key.  Alternatively, @var{parameters} can specify @code{genkey} parameters suitable for Libgcrypt (@pxref{General public-key related Functions, @code{gcry_pk_genkey},, gcrypt, The Libgcrypt Reference Manual})."
msgstr "生成的密钥对通常存储在@file{/etc/guix}下,公钥在@file{signing-key.pub}中,私钥在@file{signing-key.sec}中(必须保密)。当省略@var{parameters}时,将生成使用Ed25519曲线的ECDSA密钥,或者对于1.6.0之前的Libgcrypt版本,则为4096位RSA密钥。或者,@var{parameters}可以指定适合Libgcrypt的@code{genkey}参数(@pxref{一般公钥相关函数,@code{gcry_pk_genkey},, gcrypt, Libgcrypt参考手册})。"

#. type: item
#: guix-git/doc/guix.texi:5170
#, fuzzy, no-wrap
msgid "--authorize"
msgstr "--authorize"

#. type: cindex
#: guix-git/doc/guix.texi:5171
#, fuzzy, no-wrap
msgid "authorizing, archives"
msgstr "授权,档案"

#. type: table
#: guix-git/doc/guix.texi:5175
#, fuzzy
msgid "Authorize imports signed by the public key passed on standard input.  The public key must be in ``s-expression advanced format''---i.e., the same format as the @file{signing-key.pub} file."
msgstr "授权通过标准输入传递的公钥签名的导入。公钥必须采用“s表达式高级格式”——即与@file{signing-key.pub}文件相同的格式。"

#. type: table
#: guix-git/doc/guix.texi:5182
#, fuzzy
msgid "The list of authorized keys is kept in the human-editable file @file{/etc/guix/acl}.  The file contains @url{https://people.csail.mit.edu/rivest/Sexp.txt, ``advanced-format s-expressions''} and is structured as an access-control list in the @url{https://theworld.com/~cme/spki.txt, Simple Public-Key Infrastructure (SPKI)}."
msgstr "授权密钥的列表保存在可人工编辑的文件@file{/etc/guix/acl}中。该文件包含@url{https://people.csail.mit.edu/rivest/Sexp.txt, ``高级格式s表达式''},并结构化为@url{https://theworld.com/~cme/spki.txt, 简单公钥基础设施(SPKI)}中的访问控制列表。"

#. type: item
#: guix-git/doc/guix.texi:5183
#, fuzzy, no-wrap
msgid "--extract=@var{directory}"
msgstr "--extract=@var{directory}"

#. type: itemx
#: guix-git/doc/guix.texi:5184
#, fuzzy, no-wrap
msgid "-x @var{directory}"
msgstr "-x @var{directory}"

#. type: table
#: guix-git/doc/guix.texi:5188
#, fuzzy
msgid "Read a single-item archive as served by substitute servers (@pxref{Substitutes}) and extract it to @var{directory}.  This is a low-level operation needed in only very narrow use cases; see below."
msgstr "读取由替代服务器提供的单项档案(@pxref{替代品})并提取到@var{directory}。这是一项仅在非常狭窄的用例中需要的低级操作;见下文。"

#. type: table
#: guix-git/doc/guix.texi:5191
#, fuzzy
msgid "For example, the following command extracts the substitute for Emacs served by @code{@value{SUBSTITUTE-SERVER-1}} to @file{/tmp/emacs}:"
msgstr "例如,以下命令将由@code{@value{SUBSTITUTE-SERVER-1}}提供的Emacs替代品提取到@file{/tmp/emacs}:"

#. type: example
#: guix-git/doc/guix.texi:5196
#, fuzzy, no-wrap
msgid ""
"$ wget -O - \\\n"
"  https://@value{SUBSTITUTE-SERVER-1}/nar/gzip/@dots{}-emacs-24.5 \\\n"
"  | gunzip | guix archive -x /tmp/emacs\n"
msgstr ""
"$ wget -O - \\\n"
"  https://@value{SUBSTITUTE-SERVER-1}/nar/gzip/@dots{}-emacs-24.5 \\\n"
"  | gunzip | guix archive -x /tmp/emacs\n"

#. type: table
#: guix-git/doc/guix.texi:5203
#, fuzzy
msgid "Single-item archives are different from multiple-item archives produced by @command{guix archive --export}; they contain a single store item, and they do @emph{not} embed a signature.  Thus this operation does @emph{no} signature verification and its output should be considered unsafe."
msgstr "单项档案与由@command{guix archive --export}生成的多项档案不同;它们包含单个存储项,并且不嵌入签名。因此,此操作不进行签名验证,其输出应被视为不安全。"

#. type: table
#: guix-git/doc/guix.texi:5207
#, fuzzy
msgid "The primary purpose of this operation is to facilitate inspection of archive contents coming from possibly untrusted substitute servers (@pxref{Invoking guix challenge})."
msgstr "此操作的主要目的是便于检查来自可能不受信任的替代服务器的归档内容(@pxref{Invoking guix challenge})。"

#. type: item
#: guix-git/doc/guix.texi:5208
#, fuzzy, no-wrap
msgid "--list"
msgstr "--list"

#. type: itemx
#: guix-git/doc/guix.texi:5209 guix-git/doc/guix.texi:14551
#: guix-git/doc/guix.texi:14598
#, fuzzy, no-wrap
msgid "-t"
msgstr "-t"

#. type: table
#: guix-git/doc/guix.texi:5213
#, fuzzy
msgid "Read a single-item archive as served by substitute servers (@pxref{Substitutes}) and print the list of files it contains, as in this example:"
msgstr "读取由替代服务器提供的单项归档(@pxref{Substitutes}),并打印其包含的文件列表,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:5218
#, fuzzy, no-wrap
msgid ""
"$ wget -O - \\\n"
"  https://@value{SUBSTITUTE-SERVER-1}/nar/lzip/@dots{}-emacs-26.3 \\\n"
"  | lzip -d | guix archive -t\n"
msgstr ""
"$ wget -O - \\\n"
"  https://@value{SUBSTITUTE-SERVER-1}/nar/lzip/@dots{}-emacs-26.3 \\\n"
"  | lzip -d | guix archive -t\n"

#. type: cindex
#: guix-git/doc/guix.texi:5229
#, fuzzy, no-wrap
msgid "@command{guix pull}, configuration file"
msgstr "@command{guix pull},配置文件"

#. type: cindex
#: guix-git/doc/guix.texi:5230
#, fuzzy, no-wrap
msgid "configuration of @command{guix pull}"
msgstr "@command{guix pull}的配置"

#. type: Plain text
#: guix-git/doc/guix.texi:5241
#, fuzzy
msgid "Guix and its package collection are updated by running @command{guix pull}.  By default @command{guix pull} downloads and deploys Guix itself from the official GNU@tie{}Guix repository.  This can be customized by providing a file specifying the set of @dfn{channels} to pull from (@pxref{Invoking guix pull}).  A channel specifies the URL and branch of a Git repository to be deployed, and @command{guix pull} can be instructed to pull from one or more channels.  In other words, channels can be used to @emph{customize} and to @emph{extend} Guix, as we will see below.  Guix is able to take into account security concerns and deal with authenticated updates."
msgstr "通过运行@command{guix pull}来更新Guix及其软件包集合。默认情况下,@command{guix pull}从官方GNU@tie{}Guix存储库下载并部署Guix本身。可以通过提供一个文件来定制该操作,该文件指定要拉取的@dfn{channels}集合(@pxref{Invoking guix pull})。一个channel指定要部署的Git存储库的URL和分支,@command{guix pull}可以被指示从一个或多个channels拉取。换句话说,channels可以用来@emph{定制}和@emph{扩展}Guix,正如我们下面将看到的那样。Guix能够考虑安全问题并处理经过身份验证的更新。"

#. type: section
#: guix-git/doc/guix.texi:5255 guix-git/doc/guix.texi:5404
#: guix-git/doc/guix.texi:5405
#, fuzzy, no-wrap
msgid "Customizing the System-Wide Guix"
msgstr "定制你的GNU系统。"

#. type: menuentry
#: guix-git/doc/guix.texi:5255
#, fuzzy
msgid "Default channels on Guix System."
msgstr "Guix系统上的默认channels。"

#. type: cindex
#: guix-git/doc/guix.texi:5260
#, fuzzy, no-wrap
msgid "extending the package collection (channels)"
msgstr "扩展软件包集合(channels)"

#. type: cindex
#: guix-git/doc/guix.texi:5261
#, fuzzy, no-wrap
msgid "variant packages (channels)"
msgstr "变体软件包(channels)"

#. type: Plain text
#: guix-git/doc/guix.texi:5265
#, fuzzy
msgid "You can specify @emph{additional channels} to pull from.  To use a channel, write @code{~/.config/guix/channels.scm} to instruct @command{guix pull} to pull from it @emph{in addition} to the default Guix channel(s):"
msgstr "您可以指定@emph{额外的channels}进行拉取。要使用一个channel,请编写@code{~/.config/guix/channels.scm}以指示@command{guix pull}在默认Guix channel(s)的@emph{基础上}从中拉取:"

#. type: vindex
#: guix-git/doc/guix.texi:5266
#, fuzzy, no-wrap
msgid "%default-channels"
msgstr "%default-channels"

#. type: lisp
#: guix-git/doc/guix.texi:5273
#, fuzzy, no-wrap
msgid ""
";; Add variant packages to those Guix provides.\n"
"(cons (channel\n"
"        (name 'variant-packages)\n"
"        (url \"https://example.org/variant-packages.git\"))\n"
"      %default-channels)\n"
msgstr ""
";; 将变体软件包添加到Guix提供的软件包中。\n"
"(cons (channel\n"
"        (name 'variant-packages)\n"
"        (url \"https://example.org/variant-packages.git\"))\n"
"      %default-channels)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5283
#, fuzzy
msgid "Note that the snippet above is (as always!)@: Scheme code; we use @code{cons} to add a channel the list of channels that the variable @code{%default-channels} is bound to (@pxref{Pairs, @code{cons} and lists,, guile, GNU Guile Reference Manual}).  With this file in place, @command{guix pull} builds not only Guix but also the package modules from your own repository.  The result in @file{~/.config/guix/current} is the union of Guix with your own package modules:"
msgstr "请注意,上面的代码片段是(如往常一样!)@: Scheme代码;我们使用@code{cons}将一个channel添加到变量@code{%default-channels}所绑定的channels列表中(@pxref{Pairs, @code{cons} and lists,, guile, GNU Guile Reference Manual})。有了这个文件,@command{guix pull}不仅构建Guix,还构建您自己存储库中的软件包模块。结果在@file{~/.config/guix/current}中是Guix与您自己的软件包模块的并集:"

#. type: example
#: guix-git/doc/guix.texi:5295
#, fuzzy, no-wrap
msgid ""
"$ guix describe\n"
"Generation 19\tAug 27 2018 16:20:48\n"
"  guix d894ab8\n"
"    repository URL: https://git.savannah.gnu.org/git/guix.git\n"
"    branch: master\n"
"    commit: d894ab8e9bfabcefa6c49d9ba2e834dd5a73a300\n"
"  variant-packages dd3df5e\n"
"    repository URL: https://example.org/variant-packages.git\n"
"    branch: master\n"
"    commit: dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb\n"
msgstr ""
"$ guix describe\n"
"生成 19\t2018年8月27日 16:20:48\n"
"  guix d894ab8\n"
"    仓库 URL: https://git.savannah.gnu.org/git/guix.git\n"
"    分支: master\n"
"    提交: d894ab8e9bfabcefa6c49d9ba2e834dd5a73a300\n"
"  变体包 dd3df5e\n"
"    仓库 URL: https://example.org/variant-packages.git\n"
"    分支: master\n"
"    提交: dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5302
#, fuzzy
msgid "The output of @command{guix describe} above shows that we're now running Generation@tie{}19 and that it includes both Guix and packages from the @code{variant-packages} channel (@pxref{Invoking guix describe})."
msgstr "上面的 @command{guix describe} 输出显示我们现在正在运行 Generation@tie{}19,并且它包含了来自 @code{variant-packages} 通道的 Guix 和包 (@pxref{Invoking guix describe})。"

#. type: Plain text
#: guix-git/doc/guix.texi:5311
#, fuzzy
msgid "The channel called @code{guix} specifies where Guix itself---its command-line tools as well as its package collection---should be downloaded.  For instance, suppose you want to update from another copy of the Guix repository at @code{example.org}, and specifically the @code{super-hacks} branch, you can write in @code{~/.config/guix/channels.scm} this specification:"
msgstr "名为 @code{guix} 的通道指定了 Guix 本身——其命令行工具以及其包集合——应该从哪里下载。例如,假设您想从 @code{example.org} 的另一个 Guix 仓库副本更新,特别是 @code{super-hacks} 分支,您可以在 @code{~/.config/guix/channels.scm} 中写入以下规范:"

#. type: lisp
#: guix-git/doc/guix.texi:5318
#, fuzzy, no-wrap
msgid ""
";; Tell 'guix pull' to use another repo.\n"
"(list (channel\n"
"        (name 'guix)\n"
"        (url \"https://example.org/another-guix.git\")\n"
"        (branch \"super-hacks\")))\n"
msgstr ""
";; 告诉 'guix pull' 使用另一个仓库。\n"
"(list (channel\n"
"        (name 'guix)\n"
"        (url \"https://example.org/another-guix.git\")\n"
"        (branch \"super-hacks\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5324
#, fuzzy
msgid "From there on, @command{guix pull} will fetch code from the @code{super-hacks} branch of the repository at @code{example.org}.  The authentication concern is addressed below (@pxref{Channel Authentication})."
msgstr "从此以后,@command{guix pull} 将从 @code{example.org} 的 @code{super-hacks} 分支获取代码。身份验证问题将在下面解决 (@pxref{Channel Authentication})。"

#. type: Plain text
#: guix-git/doc/guix.texi:5334
#, fuzzy
msgid "Note that you can specify a local directory on the @code{url} field above if the channel that you intend to use resides on a local file system.  However, in this case @command{guix} checks said directory for ownership before any further processing.  This means that if the user is not the directory owner, but wants to use it as their default, they will then need to set it as a safe directory in their global git configuration file.  Otherwise, @command{guix} will refuse to even read it.  Supposing your system-wide local directory is at @code{/src/guix.git}, you would then create a git configuration file at @code{~/.gitconfig} with the following contents:"
msgstr "请注意,如果您打算使用的通道位于本地文件系统上,您可以在上面的 @code{url} 字段中指定一个本地目录。然而,在这种情况下,@command{guix} 会在进一步处理之前检查该目录的所有权。这意味着如果用户不是目录的所有者,但想将其用作默认目录,则需要在其全局 git 配置文件中将其设置为安全目录。否则,@command{guix} 将拒绝读取它。假设您的系统范围的本地目录位于 @code{/src/guix.git},您将需要在 @code{~/.gitconfig} 中创建一个 git 配置文件,内容如下:"

#. type: example
#: guix-git/doc/guix.texi:5338
#, fuzzy, no-wrap
msgid ""
"[safe]\n"
"        directory = /src/guix.git\n"
msgstr ""
"[safe]\n"
"        directory = /src/guix.git\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5343
#, fuzzy
msgid "This also applies to the root user unless when called with @command{sudo} by the directory owner."
msgstr "这也适用于根用户,除非由目录所有者通过 @command{sudo} 调用。"

#. type: Plain text
#: guix-git/doc/guix.texi:5355
#, fuzzy
msgid "The @command{guix describe} command shows precisely which commits were used to build the instance of Guix we're using (@pxref{Invoking guix describe}).  We can replicate this instance on another machine or at a different point in time by providing a channel specification ``pinned'' to these commits that looks like this:"
msgstr "@command{guix describe} 命令准确显示了用于构建我们正在使用的 Guix 实例的提交(@pxref{Invoking guix describe})。我们可以通过提供一个“固定”的通道规范来在另一台机器或不同时间点复制此实例,该规范看起来像这样:"

#. type: lisp
#: guix-git/doc/guix.texi:5366
#, fuzzy, no-wrap
msgid ""
";; Deploy specific commits of my channels of interest.\n"
"(list (channel\n"
"       (name 'guix)\n"
"       (url \"https://git.savannah.gnu.org/git/guix.git\")\n"
"       (commit \"6298c3ffd9654d3231a6f25390b056483e8f407c\"))\n"
"      (channel\n"
"       (name 'variant-packages)\n"
"       (url \"https://example.org/variant-packages.git\")\n"
"       (commit \"dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb\")))\n"
msgstr ""
";; 部署我感兴趣的通道的特定提交。\n"
"(list (channel\n"
"       (name 'guix)\n"
"       (url \"https://git.savannah.gnu.org/git/guix.git\")\n"
"       (commit \"6298c3ffd9654d3231a6f25390b056483e8f407c\"))\n"
"      (channel\n"
"       (name 'variant-packages)\n"
"       (url \"https://example.org/variant-packages.git\")\n"
"       (commit \"dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5371
#, fuzzy
msgid "To obtain this pinned channel specification, the easiest way is to run @command{guix describe} and to save its output in the @code{channels} format in a file, like so:"
msgstr "要获得这个固定的通道规范,最简单的方法是运行 @command{guix describe} 并将其输出以 @code{channels} 格式保存到文件中,如下所示:"

#. type: example
#: guix-git/doc/guix.texi:5374
#, fuzzy, no-wrap
msgid "guix describe -f channels > channels.scm\n"
msgstr "guix describe -f channels > channels.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5380
#, fuzzy
msgid "The resulting @file{channels.scm} file can be passed to the @option{-C} option of @command{guix pull} (@pxref{Invoking guix pull}) or @command{guix time-machine} (@pxref{Invoking guix time-machine}), as in this example:"
msgstr "生成的 @file{channels.scm} 文件可以传递给 @command{guix pull} 的 @option{-C} 选项(@pxref{Invoking guix pull})或 @command{guix time-machine}(@pxref{Invoking guix time-machine}),如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:5383
#, fuzzy, no-wrap
msgid "guix time-machine -C channels.scm -- shell python -- python3\n"
msgstr "guix time-machine -C channels.scm -- shell python -- python3\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5389
#, fuzzy
msgid "Given the @file{channels.scm} file, the command above will always fetch the @emph{exact same Guix instance}, then use that instance to run the exact same Python (@pxref{Invoking guix shell}).  On any machine, at any time, it ends up running the exact same binaries, bit for bit."
msgstr "给定 @file{channels.scm} 文件,上述命令将始终获取 @emph{完全相同的 Guix 实例},然后使用该实例运行完全相同的 Python(@pxref{Invoking guix shell})。在任何机器上,任何时间,它最终运行的都是完全相同的二进制文件,逐位相同。"

#. type: cindex
#: guix-git/doc/guix.texi:5390
#, fuzzy, no-wrap
msgid "lock files"
msgstr "锁定文件"

#. type: Plain text
#: guix-git/doc/guix.texi:5398
#, fuzzy
msgid "Pinned channels address a problem similar to ``lock files'' as implemented by some deployment tools---they let you pin and reproduce a set of packages.  In the case of Guix though, you are effectively pinning the entire package set as defined at the given channel commits; in fact, you are pinning all of Guix, including its core modules and command-line tools.  You're also getting strong guarantees that you are, indeed, obtaining the exact same software."
msgstr "固定通道解决了与某些部署工具实现的“锁定文件”类似的问题——它们允许您固定和重现一组软件包。然而,在 Guix 的情况下,您实际上是固定了在给定通道提交时定义的整个软件包集;实际上,您固定了整个 Guix,包括其核心模块和命令行工具。您还获得了强有力的保证,您确实获得了完全相同的软件。"

#. type: Plain text
#: guix-git/doc/guix.texi:5403
#, fuzzy
msgid "This gives you super powers, allowing you to track the provenance of binary artifacts with very fine grain, and to reproduce software environments at will---some sort of ``meta reproducibility'' capabilities, if you will.  @xref{Inferiors}, for another way to take advantage of these super powers."
msgstr "这赋予你超能力,使你能够以非常细致的粒度跟踪二进制工件的来源,并随意重现软件环境——如果你愿意的话,这是一种“元可重现性”能力。有关利用这些超能力的另一种方法,请参见 @xref{Inferiors}。"

#. type: cindex
#: guix-git/doc/guix.texi:5407
#, fuzzy, no-wrap
msgid "system-wide Guix, customization"
msgstr "系统安装"

#. type: cindex
#: guix-git/doc/guix.texi:5408
#, fuzzy, no-wrap
msgid "channels, for the default Guix"
msgstr "默认 Guix 的通道"

#. type: Plain text
#: guix-git/doc/guix.texi:5414
#, fuzzy
msgid "If you're running Guix System or building system images with it, maybe you will want to customize the system-wide @command{guix} it provides---specifically, @file{/run/current-system/profile/bin/guix}.  For example, you might want to provide additional channels or to pin its revision."
msgstr "如果你正在运行 Guix 系统或使用它构建系统映像,也许你会想要自定义它提供的系统范围的 @command{guix}——具体来说是 @file{/run/current-system/profile/bin/guix}。例如,你可能想提供额外的通道或固定其修订版本。"

#. type: Plain text
#: guix-git/doc/guix.texi:5418
#, fuzzy
msgid "This can be done using the @code{guix-for-channels} procedure, which returns a package for the given channels, and using it as part of your operating system configuration, as in this example:"
msgstr "这可以使用 @code{guix-for-channels} 过程来完成,该过程返回给定通道的包,并将其作为操作系统配置的一部分使用,如下例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:5422
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu packages package-management)\n"
"             (guix channels))\n"
"\n"
msgstr ""
"(use-modules (gnu packages package-management)\n"
"             (guix channels))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:5432
#, fuzzy, no-wrap
msgid ""
"(define my-channels\n"
"  ;; Channels that should be available to\n"
"  ;; /run/current-system/profile/bin/guix.\n"
"  (append\n"
"   (list (channel\n"
"          (name 'guix-science)\n"
"          (url \"https://github.com/guix-science/guix-science\")\n"
"          (branch \"master\")))\n"
"   %default-channels))\n"
"\n"
msgstr ""
"(define my-channels\n"
"  ;; 应该对\n"
"  ;; /run/current-system/profile/bin/guix 可用的通道。\n"
"  (append\n"
"   (list (channel\n"
"          (name 'guix-science)\n"
"          (url \"https://github.com/guix-science/guix-science\")\n"
"          (branch \"master\")))\n"
"   %default-channels))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:5443
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services\n"
"    ;; Change the package used by 'guix-service-type'.\n"
"    (modify-services %base-services\n"
"      (guix-service-type\n"
"       config => (guix-configuration\n"
"                  (inherit config)\n"
"                  (channels my-channels)\n"
"                  (guix (guix-for-channels my-channels)))))))\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services\n"
"    ;; 更改 'guix-service-type' 使用的包。\n"
"    (modify-services %base-services\n"
"      (guix-service-type\n"
"       config => (guix-configuration\n"
"                  (inherit config)\n"
"                  (channels my-channels)\n"
"                  (guix (guix-for-channels my-channels)))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5451
#, fuzzy
msgid "The resulting operating system will have both the @code{guix} and the @code{guix-science} channels visible by default.  The @code{channels} field of @code{guix-configuration} above further ensures that @file{/etc/guix/channels.scm}, which is used by @command{guix pull}, specifies the same set of channels (@pxref{guix-configuration-channels, @code{channels} field of @code{guix-configuration}})."
msgstr "生成的操作系统将默认可见 @code{guix} 和 @code{guix-science} 通道。上述 @code{guix-configuration} 的 @code{channels} 字段进一步确保 @file{/etc/guix/channels.scm},该文件由 @command{guix pull} 使用,指定相同的通道集 (@pxref{guix-configuration-channels, @code{channels} 字段的 @code{guix-configuration}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:5454
#, fuzzy
msgid "The @code{(gnu packages package-management)} module exports the @code{guix-for-channels} procedure, described below."
msgstr "@code{(gnu packages package-management)} 模块导出了 @code{guix-for-channels} 过程,下面将对此进行描述。"

#. type: deffn
#: guix-git/doc/guix.texi:5455
#, fuzzy, no-wrap
msgid "{Procedure} guix-for-channels @var{channels}"
msgstr "软件包简介"

#. type: deffn
#: guix-git/doc/guix.texi:5457
#, fuzzy
msgid "Return a package corresponding to @var{channels}."
msgstr "返回与 @var{channels} 相对应的包。"

#. type: deffn
#: guix-git/doc/guix.texi:5461
#, fuzzy
msgid "The result is a ``regular'' package, which can be used in @code{guix-configuration} as shown above or in any other place that expects a package."
msgstr "结果是一个“常规”包,可以在 @code{guix-configuration} 中使用,如上所示,或在任何其他期望包的地方使用。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:5467
#, fuzzy
msgid "channel-authentication"
msgstr "频道认证"

#. type: Plain text
#: guix-git/doc/guix.texi:5473
#, fuzzy
msgid "The @command{guix pull} and @command{guix time-machine} commands @dfn{authenticate} the code retrieved from channels: they make sure each commit that is fetched is signed by an authorized developer.  The goal is to protect from unauthorized modifications to the channel that would lead users to run malicious code."
msgstr "@command{guix pull} 和 @command{guix time-machine} 命令 @dfn{认证} 从频道检索的代码:它们确保每个获取的提交都由授权开发者签名。目标是保护频道不被未经授权的修改,从而导致用户运行恶意代码。"

#. type: Plain text
#: guix-git/doc/guix.texi:5478
#, fuzzy
msgid "As a user, you must provide a @dfn{channel introduction} in your channels file so that Guix knows how to authenticate its first commit.  A channel specification, including its introduction, looks something along these lines:"
msgstr "作为用户,您必须在您的频道文件中提供 @dfn{频道介绍},以便 Guix 知道如何认证其第一个提交。频道规范,包括其介绍,看起来大致如下:"

#. type: lisp
#: guix-git/doc/guix.texi:5488
#, fuzzy, no-wrap
msgid ""
"(channel\n"
"  (name 'some-channel)\n"
"  (url \"https://example.org/some-channel.git\")\n"
"  (introduction\n"
"   (make-channel-introduction\n"
"    \"6f0d8cc0d88abb59c324b2990bfee2876016bb86\"\n"
"    (openpgp-fingerprint\n"
"     \"CABB A931 C0FF EEC6 900D  0CFB 090B 1199 3D9A EBB5\"))))\n"
msgstr ""
"(channel\n"
"  (name 'some-channel)\n"
"  (url \"https://example.org/some-channel.git\")\n"
"  (introduction\n"
"   (make-channel-introduction\n"
"    \"6f0d8cc0d88abb59c324b2990bfee2876016bb86\"\n"
"    (openpgp-fingerprint\n"
"     \"CABB A931 C0FF EEC6 900D  0CFB 090B 1199 3D9A EBB5\"))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5494
#, fuzzy
msgid "The specification above shows the name and URL of the channel.  The call to @code{make-channel-introduction} above specifies that authentication of this channel starts at commit @code{6f0d8cc@dots{}}, which is signed by the OpenPGP key with fingerprint @code{CABB A931@dots{}}."
msgstr "上面的规范显示了频道的名称和 URL。对 @code{make-channel-introduction} 的调用指定该频道的认证从提交 @code{6f0d8cc@dots{}} 开始,该提交由指纹为 @code{CABB A931@dots{}} 的 OpenPGP 密钥签名。"

#. type: Plain text
#: guix-git/doc/guix.texi:5500
#, fuzzy
msgid "For the main channel, called @code{guix}, you automatically get that information from your Guix installation.  For other channels, include the channel introduction provided by the channel authors in your @file{channels.scm} file.  Make sure you retrieve the channel introduction from a trusted source since that is the root of your trust."
msgstr "对于名为 @code{guix} 的主频道,您可以从 Guix 安装中自动获取该信息。对于其他频道,请在您的 @file{channels.scm} 文件中包含频道作者提供的频道介绍。确保从可信来源获取频道介绍,因为这就是您信任的根源。"

#. type: Plain text
#: guix-git/doc/guix.texi:5502
#, fuzzy
msgid "If you're curious about the authentication mechanics, read on!"
msgstr "如果您对认证机制感到好奇,请继续阅读!"

#. type: Plain text
#: guix-git/doc/guix.texi:5513
#, fuzzy
msgid "When running @command{guix pull}, Guix will first compile the definitions of every available package.  This is an expensive operation for which substitutes (@pxref{Substitutes}) may be available.  The following snippet in @file{channels.scm} will ensure that @command{guix pull} uses the latest commit with available substitutes for the package definitions: this is done by querying the continuous integration server at @url{https://ci.guix.gnu.org}."
msgstr "运行 @command{guix pull} 时,Guix 将首先编译每个可用包的定义。这是一个昂贵的操作,可能会有替代品 (@pxref{Substitutes}) 可用。@file{channels.scm} 中的以下代码片段将确保 @command{guix pull} 使用最新的提交和可用的包定义替代品:这是通过查询位于 @url{https://ci.guix.gnu.org} 的持续集成服务器来完成的。"

#. type: lisp
#: guix-git/doc/guix.texi:5516
#, fuzzy, no-wrap
msgid ""
"(use-modules (guix ci))\n"
"\n"
msgstr ""
"(使用模块 (guix ci))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:5520
#, fuzzy, no-wrap
msgid ""
"(list (channel-with-substitutes-available\n"
"       %default-guix-channel\n"
"       \"https://ci.guix.gnu.org\"))\n"
msgstr ""
"(列表 (可用替代品的通道\n"
"       %default-guix-channel\n"
"       \"https://ci.guix.gnu.org\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5527
#, fuzzy
msgid "Note that this does not mean that all the packages that you will install after running @command{guix pull} will have available substitutes.  It only ensures that @command{guix pull} will not try to compile package definitions.  This is particularly useful when using machines with limited resources."
msgstr "请注意,这并不意味着您在运行 @command{guix pull} 后安装的所有软件包都会有可用的替代品。它仅确保 @command{guix pull} 不会尝试编译软件包定义。这在使用资源有限的机器时特别有用。"

#. type: cindex
#: guix-git/doc/guix.texi:5531
#, fuzzy, no-wrap
msgid "personal packages (channels)"
msgstr "个人软件包(通道)"

#. type: cindex
#: guix-git/doc/guix.texi:5532
#, fuzzy, no-wrap
msgid "channels, for personal packages"
msgstr "个人软件包的通道"

#. type: Plain text
#: guix-git/doc/guix.texi:5538
#, fuzzy
msgid "Let's say you have a bunch of custom package variants or personal packages that you think would make little sense to contribute to the Guix project, but would like to have these packages transparently available to you at the command line.  By creating a @dfn{channel}, you can use and publish such a package collection.  This involves the following steps:"
msgstr "假设您有一堆自定义软件包变体或个人软件包,您认为将其贡献给 Guix 项目没有太大意义,但希望在命令行中透明地使用这些软件包。通过创建一个 @dfn{通道},您可以使用并发布这样的软件包集合。这涉及以下步骤:"

#. type: enumerate
#: guix-git/doc/guix.texi:5543
#, fuzzy
msgid "A channel lives in a Git repository so the first step, when creating a channel, is to create its repository:"
msgstr "通道存在于 Git 仓库中,因此创建通道的第一步是创建其仓库:"

#. type: example
#: guix-git/doc/guix.texi:5548
#, fuzzy, no-wrap
msgid ""
"mkdir my-channel\n"
"cd my-channel\n"
"git init\n"
msgstr ""
"mkdir my-channel\n"
"cd my-channel\n"
"git init\n"

#. type: enumerate
#: guix-git/doc/guix.texi:5556
#, fuzzy
msgid "The next step is to create files containing package modules (@pxref{Package Modules}), each of which will contain one or more package definitions (@pxref{Defining Packages}).  A channel can provide things other than packages, such as build systems or services; we're using packages as it's the most common use case."
msgstr "下一步是创建包含软件包模块的文件(@pxref{软件包模块}),每个文件将包含一个或多个软件包定义(@pxref{定义软件包})。通道可以提供除软件包之外的其他内容,例如构建系统或服务;我们使用软件包是因为这是最常见的用例。"

#. type: enumerate
#: guix-git/doc/guix.texi:5561
#, fuzzy
msgid "For example, Alice might want to provide a module called @code{(alice packages greetings)} that will provide her favorite ``hello world'' implementations.  To do that Alice will create a directory corresponding to that module name."
msgstr "例如,Alice 可能想提供一个名为 @code{(alice packages greetings)} 的模块,该模块将提供她最喜欢的“你好,世界”实现。为此,Alice 将创建一个与该模块名称对应的目录。"

#. type: example
#: guix-git/doc/guix.texi:5566
#, fuzzy, no-wrap
msgid ""
"mkdir -p alice/packages\n"
"$EDITOR alice/packages/greetings.scm\n"
"git add alice/packages/greetings.scm\n"
msgstr ""
"mkdir -p alice/packages\n"
"$EDITOR alice/packages/greetings.scm\n"
"git add alice/packages/greetings.scm\n"

#. type: enumerate
#: guix-git/doc/guix.texi:5572
#, fuzzy
msgid "You can name your package modules however you like; the main constraint to keep in mind is to avoid name clashes with other package collections, which is why our hypothetical Alice wisely chose the @code{(alice packages @dots{})} name space."
msgstr "您可以随意命名您的软件包模块;需要记住的主要限制是避免与其他软件包集合发生名称冲突,这就是我们假设的 Alice 明智地选择了 @code{(alice packages @dots{})} 命名空间的原因。"

#. type: enumerate
#: guix-git/doc/guix.texi:5576
#, fuzzy
msgid "Note that you can also place modules in a sub-directory of the repository; @pxref{Package Modules in a Sub-directory}, for more info on that."
msgstr "请注意,您还可以将模块放置在仓库的子目录中;有关更多信息,请参见 @pxref{子目录中的软件包模块}。"

#. type: enumerate
#: guix-git/doc/guix.texi:5583
#, fuzzy
msgid "With this first module in place, the next step is to test the packages it provides.  This can be done with @command{guix build}, which needs to be told to look for modules in the Git checkout.  For example, assuming @code{(alice packages greetings)} provides a package called @code{hi-from-alice}, Alice will run this command from the Git checkout:"
msgstr "在这个第一个模块就位后,下一步是测试它提供的包。这可以通过 @command{guix build} 来完成,需要告诉它在 Git 检出中查找模块。例如,假设 @code{(alice packages greetings)} 提供了一个名为 @code{hi-from-alice} 的包,Alice 将从 Git 检出中运行此命令:"

#. type: example
#: guix-git/doc/guix.texi:5586
#, fuzzy, no-wrap
msgid "guix build -L. hi-from-alice\n"
msgstr "guix build --rounds=2 <我的软件包>\n"

#. type: enumerate
#: guix-git/doc/guix.texi:5591
#, fuzzy
msgid "... where @code{-L.} adds the current directory to Guile's load path (@pxref{Load Paths,,, guile, GNU Guile Reference Manual})."
msgstr "... 其中 @code{-L.} 将当前目录添加到 Guile 的加载路径 (@pxref{Load Paths,,, guile, GNU Guile Reference Manual})。"

#. type: enumerate
#: guix-git/doc/guix.texi:5595
#, fuzzy
msgid "It might take Alice a few iterations to obtain satisfying package definitions.  Eventually Alice will commit this file:"
msgstr "Alice 可能需要几次迭代才能获得满意的包定义。最终,Alice 将提交此文件:"

#. type: example
#: guix-git/doc/guix.texi:5598
#, fuzzy, no-wrap
msgid "git commit\n"
msgstr "git commit\n"

#. type: enumerate
#: guix-git/doc/guix.texi:5604
#, fuzzy
msgid "As a channel author, consider bundling authentication material with your channel so that users can authenticate it.  @xref{Channel Authentication}, and @ref{Specifying Channel Authorizations}, for info on how to do it."
msgstr "作为频道作者,请考虑将认证材料与您的频道捆绑,以便用户可以对其进行认证。有关如何做到这一点的信息,请参见 @xref{Channel Authentication} 和 @ref{Specifying Channel Authorizations}。"

#. type: enumerate
#: guix-git/doc/guix.texi:5609
#, fuzzy
msgid "To use Alice's channel, anyone can now add it to their channel file (@pxref{Specifying Additional Channels}) and run @command{guix pull} (@pxref{Invoking guix pull}):"
msgstr "要使用 Alice 的频道,任何人现在都可以将其添加到他们的频道文件中 (@pxref{Specifying Additional Channels}) 并运行 @command{guix pull} (@pxref{Invoking guix pull}):"

#. type: example
#: guix-git/doc/guix.texi:5613
#, fuzzy, no-wrap
msgid ""
"$EDITOR ~/.config/guix/channels.scm\n"
"guix pull\n"
msgstr ""
"$EDITOR ~/.config/guix/channels.scm\n"
"guix pull\n"

#. type: enumerate
#: guix-git/doc/guix.texi:5619
#, fuzzy
msgid "Guix will now behave as if the root directory of that channel's Git repository had been permanently added to the Guile load path.  In this example, @code{(alice packages greetings)} will automatically be found by the @command{guix} command."
msgstr "Guix 现在将表现得好像该频道的 Git 仓库的根目录已被永久添加到 Guile 加载路径中。在这个例子中,@code{(alice packages greetings)} 将被 @command{guix} 命令自动找到。"

#. type: Plain text
#: guix-git/doc/guix.texi:5622
#, fuzzy
msgid "Voilà!"
msgstr "瞧!"

#. type: quotation
#: guix-git/doc/guix.texi:5626 guix-git/doc/guix.texi:7069
#: guix-git/doc/guix.texi:7109 guix-git/doc/guix.texi:7137
#: guix-git/doc/guix.texi:13582 guix-git/doc/guix.texi:17788
#: guix-git/doc/guix.texi:21061 guix-git/doc/guix.texi:26829
#: guix-git/doc/guix.texi:26836 guix-git/doc/guix.texi:35110
#: guix-git/doc/guix.texi:38217 guix-git/doc/guix.texi:41450
#: guix-git/doc/guix.texi:43206
#, no-wrap
msgid "Warning"
msgstr "警告"

#. type: quotation
#: guix-git/doc/guix.texi:5629
#, fuzzy
msgid "Before you publish your channel, we would like to share a few words of caution:"
msgstr "在您发布频道之前,我们想分享一些警告:"

#. type: itemize
#: guix-git/doc/guix.texi:5637
#, fuzzy
msgid "Before publishing a channel, please consider contributing your package definitions to Guix proper (@pxref{Contributing}).  Guix as a project is open to free software of all sorts, and packages in Guix proper are readily available to all Guix users and benefit from the project's quality assurance process."
msgstr "在发布频道之前,请考虑将您的包定义贡献给 Guix 正式版 (@pxref{Contributing})。Guix 作为一个项目对各种自由软件持开放态度,Guix 正式版中的包对所有 Guix 用户都 readily 可用,并受益于项目的质量保证过程。"

#. type: itemize
#: guix-git/doc/guix.texi:5644
#, fuzzy
msgid "Package modules and package definitions are Scheme code that uses various programming interfaces (APIs).  We, Guix developers, never change APIs gratuitously, but we do @emph{not} commit to freezing APIs either.  When you maintain package definitions outside Guix, we consider that @emph{the compatibility burden is on you}."
msgstr "包模块和包定义是使用各种编程接口(API)的 Scheme 代码。我们,Guix 开发者,从不无故更改 API,但我们也 @emph{不} 承诺冻结 API。当您在 Guix 之外维护包定义时,我们认为 @emph{兼容性负担在您身上}。"

#. type: itemize
#: guix-git/doc/guix.texi:5648
#, fuzzy
msgid "Corollary: if you're using an external channel and that channel breaks, please @emph{report the issue to the channel authors}, not to the Guix project."
msgstr "推论:如果您使用外部频道并且该频道出现故障,请 @emph{向频道作者报告问题},而不是向 Guix 项目报告。"

#. type: quotation
#: guix-git/doc/guix.texi:5655
#, fuzzy
msgid "You've been warned! Having said this, we believe external channels are a practical way to exert your freedom to augment Guix' package collection and to share your improvements, which are basic tenets of @uref{https://www.gnu.org/philosophy/free-sw.html, free software}.  Please email us at @email{guix-devel@@gnu.org} if you'd like to discuss this."
msgstr "你已经被警告了!话虽如此,我们相信外部渠道是行使你自由的实际方式,以扩展 Guix 的软件包集合并分享你的改进,这些都是 @uref{https://www.gnu.org/philosophy/free-sw.html, 自由软件} 的基本原则。如果你想讨论这个问题,请通过 @email{guix-devel@@gnu.org} 给我们发邮件。"

#. type: cindex
#: guix-git/doc/guix.texi:5662
#, fuzzy, no-wrap
msgid "subdirectory, channels"
msgstr "子目录,渠道"

#. type: Plain text
#: guix-git/doc/guix.texi:5666
#, fuzzy
msgid "As a channel author, you may want to keep your channel modules in a sub-directory.  If your modules are in the sub-directory @file{guix}, you must add a meta-data file @file{.guix-channel} that contains:"
msgstr "作为一个渠道作者,你可能希望将你的渠道模块保存在一个子目录中。如果你的模块位于子目录 @file{guix} 中,你必须添加一个包含以下内容的元数据文件 @file{.guix-channel}:"

#. type: lisp
#: guix-git/doc/guix.texi:5671
#, fuzzy, no-wrap
msgid ""
"(channel\n"
"  (version 0)\n"
"  (directory \"guix\"))\n"
msgstr ""
"(channel\n"
"  (version 0)\n"
"  (directory \"guix\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5678
#, fuzzy
msgid "The modules must be @b{underneath} the specified directory, as the @code{directory} changes Guile's @code{load-path}.  For example, if @file{.guix-channel} has @code{(directory \"base\")}, then a module defined as @code{(define-module (gnu packages fun))} must be located at @code{base/gnu/packages/fun.scm}."
msgstr "模块必须在指定目录 @b{下面},因为 @code{directory} 会改变 Guile 的 @code{load-path}。例如,如果 @file{.guix-channel} 中有 @code{(directory \"base\")}, 那么定义为 @code{(define-module (gnu packages fun))} 的模块必须位于 @code{base/gnu/packages/fun.scm}。"

#. type: Plain text
#: guix-git/doc/guix.texi:5684
#, fuzzy
msgid "Doing this allows for only parts of a repository to be used as a channel, as Guix expects valid Guile modules when pulling.  For instance, @command{guix deploy} machine configuration files are not valid Guile modules, and treating them as such would make @command{guix pull} fail."
msgstr "这样做允许仅使用存储库的部分作为渠道,因为 Guix 在拉取时期望有效的 Guile 模块。例如,@command{guix deploy} 机器配置文件不是有效的 Guile 模块,将它们视为有效模块会导致 @command{guix pull} 失败。"

#. type: cindex
#: guix-git/doc/guix.texi:5688
#, fuzzy, no-wrap
msgid "dependencies, channels"
msgstr "依赖关系,渠道"

#. type: cindex
#: guix-git/doc/guix.texi:5689
#, fuzzy, no-wrap
msgid "meta-data, channels"
msgstr "元数据,渠道"

#. type: Plain text
#: guix-git/doc/guix.texi:5694
#, fuzzy
msgid "Channel authors may decide to augment a package collection provided by other channels.  They can declare their channel to be dependent on other channels in a meta-data file @file{.guix-channel}, which is to be placed in the root of the channel repository."
msgstr "渠道作者可以决定增强其他渠道提供的软件包集合。他们可以在元数据文件 @file{.guix-channel} 中声明他们的渠道依赖于其他渠道,该文件应放置在渠道存储库的根目录中。"

#. type: Plain text
#: guix-git/doc/guix.texi:5696
#, fuzzy
msgid "The meta-data file should contain a simple S-expression like this:"
msgstr "元数据文件应包含如下简单的 S 表达式:"

#. type: lisp
#: guix-git/doc/guix.texi:5704
#, fuzzy, no-wrap
msgid ""
"(channel\n"
" (version 0)\n"
" (dependencies\n"
"  (channel\n"
"   (name some-collection)\n"
"   (url \"https://example.org/first-collection.git\")\n"
"\n"
msgstr ""
"(channel\n"
" (version 0)\n"
" (dependencies\n"
"  (channel\n"
"   (name some-collection)\n"
"   (url \"https://example.org/first-collection.git\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:5716
#, fuzzy, no-wrap
msgid ""
"   ;; The 'introduction' bit below is optional: you would\n"
"   ;; provide it for dependencies that can be authenticated.\n"
"   (introduction\n"
"    (channel-introduction\n"
"      (version 0)\n"
"      (commit \"a8883b58dc82e167c96506cf05095f37c2c2c6cd\")\n"
"      (signer \"CABB A931 C0FF EEC6 900D  0CFB 090B 1199 3D9A EBB5\"))))\n"
"  (channel\n"
"   (name some-other-collection)\n"
"   (url \"https://example.org/second-collection.git\")\n"
"   (branch \"testing\"))))\n"
msgstr ""
"   ;; 下面的 'introduction' 部分是可选的:你可以\n"
"   ;; 为可以进行身份验证的依赖提供它。\n"
"   (introduction\n"
"    (channel-introduction\n"
"      (version 0)\n"
"      (commit \"a8883b58dc82e167c96506cf05095f37c2c2c6cd\")\n"
"      (signer \"CABB A931 C0FF EEC6 900D  0CFB 090B 1199 3D9A EBB5\"))))\n"
"  (channel\n"
"   (name some-other-collection)\n"
"   (url \"https://example.org/second-collection.git\")\n"
"   (branch \"testing\"))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5722
#, fuzzy
msgid "In the above example this channel is declared to depend on two other channels, which will both be fetched automatically.  The modules provided by the channel will be compiled in an environment where the modules of all these declared channels are available."
msgstr "在上述示例中,该通道声明依赖于另外两个通道,这两个通道将自动获取。该通道提供的模块将在所有这些声明的通道的模块可用的环境中编译。"

#. type: Plain text
#: guix-git/doc/guix.texi:5726
#, fuzzy
msgid "For the sake of reliability and maintainability, you should avoid dependencies on channels that you don't control, and you should aim to keep the number of dependencies to a minimum."
msgstr "为了可靠性和可维护性,您应该避免依赖您无法控制的通道,并且应尽量将依赖项的数量保持在最低限度。"

#. type: cindex
#: guix-git/doc/guix.texi:5730
#, fuzzy, no-wrap
msgid "channel authorizations"
msgstr "通道授权"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:5744
#, fuzzy
msgid "channel-authorizations"
msgstr "通道-授权"

#. type: Plain text
#: guix-git/doc/guix.texi:5744
#, fuzzy
msgid "As we saw above, Guix ensures the source code it pulls from channels comes from authorized developers.  As a channel author, you need to specify the list of authorized developers in the @file{.guix-authorizations} file in the channel's Git repository.  The authentication rule is simple: each commit must be signed by a key listed in the @file{.guix-authorizations} file of its parent commit(s)@footnote{Git commits form a @dfn{directed acyclic graph} (DAG).  Each commit can have zero or more parents; ``regular'' commits have one parent and merge commits have two parent commits.  Read @uref{https://eagain.net/articles/git-for-computer-scientists/, @i{Git for Computer Scientists}} for a great overview.} The @file{.guix-authorizations} file looks like this:"
msgstr "正如我们上面所看到的,Guix 确保它从通道拉取的源代码来自授权开发者。作为通道作者,您需要在通道的 Git 仓库中的 @file{.guix-authorizations} 文件中指定授权开发者的列表。身份验证规则很简单:每个提交必须由其父提交的 @file{.guix-authorizations} 文件中列出的密钥签名@footnote{Git 提交形成一个 @dfn{有向无环图} (DAG)。每个提交可以有零个或多个父提交;“常规”提交有一个父提交,而合并提交有两个父提交。阅读 @uref{https://eagain.net/articles/git-for-computer-scientists/, @i{计算机科学家的 Git}} 以获取很好的概述。} @file{.guix-authorizations} 文件如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:5747
#, fuzzy, no-wrap
msgid ""
";; Example '.guix-authorizations' file.\n"
"\n"
msgstr ""
";; 示例 '.guix-authorizations' 文件。\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:5750
#, fuzzy, no-wrap
msgid ""
"(authorizations\n"
" (version 0)               ;current file format version\n"
"\n"
msgstr ""
"(authorizations\n"
" (version 0)               ;当前文件格式版本\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:5757
#, fuzzy, no-wrap
msgid ""
" ((\"AD17 A21E F8AE D8F1 CC02  DBD9 F8AE D8F1 765C 61E3\"\n"
"   (name \"alice\"))\n"
"  (\"2A39 3FFF 68F4 EF7A 3D29  12AF 68F4 EF7A 22FB B2D5\"\n"
"   (name \"bob\"))\n"
"  (\"CABB A931 C0FF EEC6 900D  0CFB 090B 1199 3D9A EBB5\"\n"
"   (name \"charlie\"))))\n"
msgstr ""
" ((\"AD17 A21E F8AE D8F1 CC02  DBD9 F8AE D8F1 765C 61E3\"\n"
"   (name \"alice\"))\n"
"  (\"2A39 3FFF 68F4 EF7A 3D29  12AF 68F4 EF7A 22FB B2D5\"\n"
"   (name \"bob\"))\n"
"  (\"CABB A931 C0FF EEC6 900D  0CFB 090B 1199 3D9A EBB5\"\n"
"   (name \"charlie\"))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5761
#, fuzzy
msgid "Each fingerprint is followed by optional key/value pairs, as in the example above.  Currently these key/value pairs are ignored."
msgstr "每个指纹后面跟着可选的键/值对,如上面的示例所示。目前这些键/值对被忽略。"

#. type: Plain text
#: guix-git/doc/guix.texi:5766
#, fuzzy
msgid "This authentication rule creates a chicken-and-egg issue: how do we authenticate the first commit? Related to that: how do we deal with channels whose repository history contains unsigned commits and lack @file{.guix-authorizations}? And how do we fork existing channels?"
msgstr "这个身份验证规则产生了一个鸡与蛋的问题:我们如何验证第一个提交?与此相关的是:我们如何处理其仓库历史包含未签名提交且缺少 @file{.guix-authorizations} 的通道?我们如何分叉现有通道?"

#. type: cindex
#: guix-git/doc/guix.texi:5767
#, fuzzy, no-wrap
msgid "channel introduction"
msgstr "介绍"

#. type: Plain text
#: guix-git/doc/guix.texi:5776
#, fuzzy
msgid "Channel introductions answer these questions by describing the first commit of a channel that should be authenticated.  The first time a channel is fetched with @command{guix pull} or @command{guix time-machine}, the command looks up the introductory commit and verifies that it is signed by the specified OpenPGP key.  From then on, it authenticates commits according to the rule above.  Authentication fails if the target commit is neither a descendant nor an ancestor of the introductory commit."
msgstr "通道介绍通过描述应进行身份验证的通道的第一个提交来回答这些问题。第一次使用 @command{guix pull} 或 @command{guix time-machine} 获取通道时,该命令查找介绍性提交并验证其是否由指定的 OpenPGP 密钥签名。从那时起,它根据上述规则对提交进行身份验证。如果目标提交既不是介绍性提交的后代也不是祖先,则身份验证失败。"

#. type: Plain text
#: guix-git/doc/guix.texi:5783
#, fuzzy
msgid "Additionally, your channel must provide all the OpenPGP keys that were ever mentioned in @file{.guix-authorizations}, stored as @file{.key} files, which can be either binary or ``ASCII-armored''.  By default, those @file{.key} files are searched for in the branch named @code{keyring} but you can specify a different branch name in @code{.guix-channel} like so:"
msgstr "此外,您的频道必须提供在 @file{.guix-authorizations} 中提到的所有 OpenPGP 密钥,这些密钥存储为 @file{.key} 文件,可以是二进制格式或 ``ASCII-armored''。 默认情况下,这些 @file{.key} 文件在名为 @code{keyring} 的分支中搜索,但您可以在 @code{.guix-channel} 中指定不同的分支名称,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:5788
#, fuzzy, no-wrap
msgid ""
"(channel\n"
"  (version 0)\n"
"  (keyring-reference \"my-keyring-branch\"))\n"
msgstr ""
"(channel\n"
"  (version 0)\n"
"  (keyring-reference \"my-keyring-branch\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5792
#, fuzzy
msgid "To summarize, as the author of a channel, there are three things you have to do to allow users to authenticate your code:"
msgstr "总之,作为频道的作者,您必须做三件事,以允许用户验证您的代码:"

#. type: enumerate
#: guix-git/doc/guix.texi:5798
#, fuzzy
msgid "Export the OpenPGP keys of past and present committers with @command{gpg --export} and store them in @file{.key} files, by default in a branch named @code{keyring} (we recommend making it an @dfn{orphan branch})."
msgstr "使用 @command{gpg --export} 导出过去和现在提交者的 OpenPGP 密钥,并将其存储在 @file{.key} 文件中,默认情况下在名为 @code{keyring} 的分支中(我们建议将其设置为 @dfn{孤立分支})。"

#. type: enumerate
#: guix-git/doc/guix.texi:5803
#, fuzzy
msgid "Introduce an initial @file{.guix-authorizations} in the channel's repository.  Do that in a signed commit (@pxref{Commit Access}, for information on how to sign Git commits)."
msgstr "在频道的代码库中引入初始的 @file{.guix-authorizations}。 在签名提交中执行此操作 (@pxref{Commit Access},有关如何签署 Git 提交的信息)。"

#. type: enumerate
#: guix-git/doc/guix.texi:5809
#, fuzzy
msgid "Advertise the channel introduction, for instance on your channel's web page.  The channel introduction, as we saw above, is the commit/key pair---i.e., the commit that introduced @file{.guix-authorizations}, and the fingerprint of the OpenPGP used to sign it."
msgstr "宣传频道介绍,例如在您的频道网页上。 正如我们上面看到的,频道介绍是提交/密钥对——即引入 @file{.guix-authorizations} 的提交,以及用于签署它的 OpenPGP 的指纹。"

#. type: Plain text
#: guix-git/doc/guix.texi:5814
#, fuzzy
msgid "Before pushing to your public Git repository, you can run @command{guix git authenticate} to verify that you did sign all the commits you are about to push with an authorized key:"
msgstr "在推送到您的公共 Git 仓库之前,您可以运行 @command{guix git authenticate} 来验证您是否使用授权密钥签署了所有即将推送的提交:"

#. type: example
#: guix-git/doc/guix.texi:5817
#, fuzzy, no-wrap
msgid "guix git authenticate @var{commit} @var{signer}\n"
msgstr "guix git authenticate @var{commit} @var{signer}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5822
#, fuzzy
msgid "where @var{commit} and @var{signer} are your channel introduction.  @xref{Invoking guix git authenticate}, for details."
msgstr "其中 @var{commit} 和 @var{signer} 是您的频道介绍。 @xref{Invoking guix git authenticate},有关详细信息。"

#. type: Plain text
#: guix-git/doc/guix.texi:5829
#, fuzzy
msgid "Publishing a signed channel requires discipline: any mistake, such as an unsigned commit or a commit signed by an unauthorized key, will prevent users from pulling from your channel---well, that's the whole point of authentication! Pay attention to merges in particular: merge commits are considered authentic if and only if they are signed by a key present in the @file{.guix-authorizations} file of @emph{both} branches."
msgstr "发布签名频道需要谨慎:任何错误,例如未签名的提交或由未授权密钥签名的提交,将阻止用户从您的频道拉取——好吧,这就是身份验证的全部意义! 特别注意合并:合并提交仅在由 @file{.guix-authorizations} 文件中存在于 @emph{两个} 分支的密钥签名时才被视为有效。"

#. type: cindex
#: guix-git/doc/guix.texi:5833
#, fuzzy, no-wrap
msgid "primary URL, channels"
msgstr "主要 URL,频道"

#. type: Plain text
#: guix-git/doc/guix.texi:5836
#, fuzzy
msgid "Channel authors can indicate the primary URL of their channel's Git repository in the @file{.guix-channel} file, like so:"
msgstr "频道作者可以在 @file{.guix-channel} 文件中指明其频道 Git 仓库的主要 URL,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:5841
#, fuzzy, no-wrap
msgid ""
"(channel\n"
"  (version 0)\n"
"  (url \"https://example.org/guix.git\"))\n"
msgstr ""
"(频道\n"
"  (版本 0)\n"
"  (网址 \"https://example.org/guix.git\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5848
#, fuzzy
msgid "This allows @command{guix pull} to determine whether it is pulling code from a mirror of the channel; when that is the case, it warns the user that the mirror might be stale and displays the primary URL@.  That way, users cannot be tricked into fetching code from a stale mirror that does not receive security updates."
msgstr "这允许 @command{guix pull} 确定它是否从频道的镜像中拉取代码;当情况如此时,它会警告用户该镜像可能是过时的,并显示主网址@。 这样,用户就不会被欺骗去从一个没有安全更新的过时镜像中获取代码。"

#. type: Plain text
#: guix-git/doc/guix.texi:5852
#, fuzzy
msgid "This feature only makes sense for authenticated repositories, such as the official @code{guix} channel, for which @command{guix pull} ensures the code it fetches is authentic."
msgstr "此功能仅对经过身份验证的存储库有意义,例如官方的 @code{guix} 频道,@command{guix pull} 确保它获取的代码是可信的。"

#. type: cindex
#: guix-git/doc/guix.texi:5856
#, fuzzy, no-wrap
msgid "news, for channels"
msgstr "新闻,针对频道"

#. type: Plain text
#: guix-git/doc/guix.texi:5860
#, fuzzy
msgid "Channel authors may occasionally want to communicate to their users information about important changes in the channel.  You'd send them all an email, but that's not convenient."
msgstr "频道作者可能偶尔想向他们的用户传达有关频道的重要更改的信息。 你会给他们发送电子邮件,但这并不方便。"

#. type: Plain text
#: guix-git/doc/guix.texi:5865
#, fuzzy
msgid "Instead, channels can provide a @dfn{news file}; when the channel users run @command{guix pull}, that news file is automatically read and @command{guix pull --news} can display the announcements that correspond to the new commits that have been pulled, if any."
msgstr "相反,频道可以提供一个 @dfn{新闻文件};当频道用户运行 @command{guix pull} 时,该新闻文件会自动读取,@command{guix pull --news} 可以显示与已拉取的新提交相对应的公告(如果有的话)。"

#. type: Plain text
#: guix-git/doc/guix.texi:5868
#, fuzzy
msgid "To do that, channel authors must first declare the name of the news file in their @file{.guix-channel} file:"
msgstr "为此,频道作者必须首先在他们的 @file{.guix-channel} 文件中声明新闻文件的名称:"

#. type: lisp
#: guix-git/doc/guix.texi:5873
#, fuzzy, no-wrap
msgid ""
"(channel\n"
"  (version 0)\n"
"  (news-file \"etc/news.txt\"))\n"
msgstr ""
"(频道\n"
"  (版本 0)\n"
"  (新闻文件 \"etc/news.txt\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5877
#, fuzzy
msgid "The news file itself, @file{etc/news.txt} in this example, must look something like this:"
msgstr "新闻文件本身,在此示例中为 @file{etc/news.txt},必须看起来像这样:"

#. type: lisp
#: guix-git/doc/guix.texi:5890
#, fuzzy, no-wrap
msgid ""
"(channel-news\n"
"  (version 0)\n"
"  (entry (tag \"the-bug-fix\")\n"
"         (title (en \"Fixed terrible bug\")\n"
"                (fr \"Oh la la\"))\n"
"         (body (en \"@@emph@{Good news@}!  It's fixed!\")\n"
"               (eo \"Certe ĝi pli bone funkcias nun!\")))\n"
"  (entry (commit \"bdcabe815cd28144a2d2b4bc3c5057b051fa9906\")\n"
"         (title (en \"Added a great package\")\n"
"                (ca \"Què vol dir guix?\"))\n"
"         (body (en \"Don't miss the @@code@{hello@} package!\"))))\n"
msgstr ""
"(频道新闻\n"
"  (版本 0)\n"
"  (条目 (标签 \"the-bug-fix\")\n"
"         (标题 (en \"修复了可怕的错误\")\n"
"                (fr \"哦,天哪\"))\n"
"         (正文 (en \"@@emph@{好消息@}!  它修复了!\")\n"
"               (eo \"Certe ĝi pli bone funkcias nun!\")))\n"
"  (条目 (提交 \"bdcabe815cd28144a2d2b4bc3c5057b051fa9906\")\n"
"         (标题 (en \"添加了一个很棒的包\")\n"
"                (ca \"Què vol dir guix?\"))\n"
"         (正文 (en \"不要错过 @@code@{hello@} 包!\"))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5897
#, fuzzy
msgid "While the news file is using the Scheme syntax, avoid naming it with a @file{.scm} extension or else it will get picked up when building the channel and yield an error since it is not a valid module.  Alternatively, you can move the channel module to a subdirectory and store the news file in another directory."
msgstr "虽然新闻文件使用 Scheme 语法,但避免将其命名为 @file{.scm} 扩展名,否则在构建频道时会被拾取并导致错误,因为它不是有效的模块。 另外,你可以将频道模块移动到子目录中,并将新闻文件存储在另一个目录中。"

#. type: Plain text
#: guix-git/doc/guix.texi:5902
#, fuzzy
msgid "The file consists of a list of @dfn{news entries}.  Each entry is associated with a commit or tag: it describes changes made in this commit, possibly in preceding commits as well.  Users see entries only the first time they obtain the commit the entry refers to."
msgstr "该文件由一系列 @dfn{新闻条目} 组成。每个条目与一个提交或标签相关联:它描述了在此提交中所做的更改,可能还包括之前提交中的更改。用户仅在第一次获取条目所指向的提交时才能看到条目。"

#. type: Plain text
#: guix-git/doc/guix.texi:5908
#, fuzzy
msgid "The @code{title} field should be a one-line summary while @code{body} can be arbitrarily long, and both can contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}).  Both the title and body are a list of language tag/message tuples, which allows @command{guix pull} to display news in the language that corresponds to the user's locale."
msgstr "@code{title} 字段应为一行摘要,而 @code{body} 可以任意长,并且两者都可以包含 Texinfo 标记 (@pxref{Overview,,, texinfo, GNU Texinfo})。标题和正文都是语言标签/消息元组的列表,这使得 @command{guix pull} 能够以与用户区域设置相对应的语言显示新闻。"

#. type: Plain text
#: guix-git/doc/guix.texi:5914
#, fuzzy
msgid "If you want to translate news using a gettext-based workflow, you can extract translatable strings with @command{xgettext} (@pxref{xgettext Invocation,,, gettext, GNU Gettext Utilities}).  For example, assuming you write news entries in English first, the command below creates a PO file containing the strings to translate:"
msgstr "如果您想使用基于 gettext 的工作流程来翻译新闻,您可以使用 @command{xgettext} 提取可翻译字符串 (@pxref{xgettext Invocation,,, gettext, GNU Gettext Utilities})。例如,假设您首先用英语编写新闻条目,下面的命令将创建一个包含待翻译字符串的 PO 文件:"

#. type: example
#: guix-git/doc/guix.texi:5917
#, fuzzy, no-wrap
msgid "xgettext -o news.po -l scheme -ken etc/news.txt\n"
msgstr "xgettext -o news.po -l scheme -ken etc/news.txt\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5921
#, fuzzy
msgid "To sum up, yes, you could use your channel as a blog.  But beware, this is @emph{not quite} what your users might expect."
msgstr "总之,是的,您可以将您的频道用作博客。但请注意,这 @emph{并不完全} 是您的用户可能期望的。"

#. type: cindex
#: guix-git/doc/guix.texi:5926
#, fuzzy, no-wrap
msgid "software development"
msgstr "软件开发"

#. type: Plain text
#: guix-git/doc/guix.texi:5930
#, fuzzy
msgid "If you are a software developer, Guix provides tools that you should find helpful---independently of the language you're developing in.  This is what this chapter is about."
msgstr "如果您是软件开发人员,Guix 提供的工具应该会对您有所帮助——无论您使用何种语言进行开发。这就是本章的内容。"

#. type: Plain text
#: guix-git/doc/guix.texi:5936
#, fuzzy
msgid "The @command{guix shell} command provides a convenient way to set up one-off software environments, be it for development purposes or to run a command without installing it in your profile.  The @command{guix pack} command allows you to create @dfn{application bundles} that can be easily distributed to users who do not run Guix."
msgstr "@command{guix shell} 命令提供了一种方便的方式来设置一次性软件环境,无论是出于开发目的,还是为了在不将其安装到您的配置文件中的情况下运行命令。@command{guix pack} 命令允许您创建可以轻松分发给不运行 Guix 的用户的 @dfn{应用程序包}。"

#. type: section
#: guix-git/doc/guix.texi:5946
#, no-wrap
msgid "Invoking @command{guix shell}"
msgstr "调用@command{guix shell}"

#. type: cindex
#: guix-git/doc/guix.texi:5948
#, fuzzy, no-wrap
msgid "reproducible build environments"
msgstr "可重现的构建环境"

#. type: cindex
#: guix-git/doc/guix.texi:5949
#, fuzzy, no-wrap
msgid "development environments"
msgstr "开发环境"

#. type: command{#1}
#: guix-git/doc/guix.texi:5950 guix-git/doc/guix.texi:6494
#, fuzzy, no-wrap
msgid "guix environment"
msgstr "guix 环境"

#. type: command{#1}
#: guix-git/doc/guix.texi:5951
#, no-wrap
msgid "guix shell"
msgstr "guix shell"

#. type: cindex
#: guix-git/doc/guix.texi:5952
#, fuzzy, no-wrap
msgid "environment, package build environment"
msgstr "环境,软件包构建环境"

#. type: Plain text
#: guix-git/doc/guix.texi:5957
#, fuzzy
msgid "The purpose of @command{guix shell} is to make it easy to create one-off software environments, without changing one's profile.  It is typically used to create development environments; it is also a convenient way to run applications without ``polluting'' your profile."
msgstr "@command{guix shell} 的目的是使创建一次性软件环境变得简单,而无需更改个人配置文件。它通常用于创建开发环境;它也是在不“污染”您的配置文件的情况下运行应用程序的便捷方式。"

#. type: quotation
#: guix-git/doc/guix.texi:5963
#, fuzzy
msgid "The @command{guix shell} command was recently introduced to supersede @command{guix environment} (@pxref{Invoking guix environment}).  If you are familiar with @command{guix environment}, you will notice that it is similar but also---we hope!---more convenient."
msgstr "@command{guix shell} 命令最近被引入以取代 @command{guix environment} (@pxref{Invoking guix environment})。如果您熟悉 @command{guix environment},您会注意到它相似,但我们希望它更方便。"

#. type: example
#: guix-git/doc/guix.texi:5969
#, fuzzy, no-wrap
msgid "guix shell [@var{options}] [@var{package}@dots{}]\n"
msgstr "guix shell [@var{options}] [@var{package}@dots{}]\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5974
#, fuzzy
msgid "Sometimes an interactive shell session is not desired.  An arbitrary command may be invoked by placing the @code{--} token to separate the command from the rest of the arguments."
msgstr "有时不需要交互式 shell 会话。可以通过放置 @code{--} 标记来调用任意命令,以将命令与其余参数分开。"

#. type: Plain text
#: guix-git/doc/guix.texi:5978
#, fuzzy
msgid "The following example creates an environment containing Python and NumPy, building or downloading any missing package, and runs the @command{python3} command in that environment:"
msgstr "以下示例创建一个包含 Python 和 NumPy 的环境,构建或下载任何缺失的包,并在该环境中运行 @command{python3} 命令:"

#. type: example
#: guix-git/doc/guix.texi:5981
#, fuzzy, no-wrap
msgid "guix shell python python-numpy -- python3\n"
msgstr "guix shell python python-numpy -- python3\n"

#. type: Plain text
#: guix-git/doc/guix.texi:5990
#, fuzzy
msgid "Note that it is necessary to include the main @code{python} package in this command even if it is already installed into your environment.  This is so that the shell environment knows to set @env{PYTHONPATH} and other related variables.  The shell environment cannot check the previously installed environment, because then it would be non-deterministic.  This is true for most libraries: their corresponding language package should be included in the shell invocation."
msgstr "请注意,即使 @code{python} 包已经安装在您的环境中,也必须在此命令中包含主 @code{python} 包。这是为了让 shell 环境知道设置 @env{PYTHONPATH} 和其他相关变量。shell 环境无法检查之前安装的环境,因为那样会变得不确定。这对于大多数库都是如此:它们对应的语言包应该包含在 shell 调用中。"

#. type: cindex
#: guix-git/doc/guix.texi:5992
#, fuzzy, no-wrap
msgid "shebang, for @command{guix shell}"
msgstr "shebang,用于 @command{guix shell}"

#. type: quotation
#: guix-git/doc/guix.texi:5996
#, fuzzy
msgid "@command{guix shell} can be also be used as a script interpreter, also known as @dfn{shebang}.  Here is an example self-contained Python script making use of this feature:"
msgstr "@command{guix shell} 也可以用作脚本解释器,也称为 @dfn{shebang}。以下是一个利用此功能的自包含 Python 脚本示例:"

#. type: example
#: guix-git/doc/guix.texi:6001
#, fuzzy, no-wrap
msgid ""
"#!/usr/bin/env -S guix shell python python-numpy -- python3\n"
"import numpy\n"
"print(\"This is numpy\", numpy.version.version)\n"
msgstr ""
"#!/usr/bin/env -S guix shell python python-numpy -- python3\n"
"import numpy\n"
"print(\"这是 numpy\", numpy.version.version)\n"

#. type: quotation
#: guix-git/doc/guix.texi:6005
#, fuzzy
msgid "You may pass any @command{guix shell} option, but there's one caveat: the Linux kernel has a limit of 127 bytes on shebang length."
msgstr "您可以传递任何 @command{guix shell} 选项,但有一个注意事项:Linux 内核对 shebang 长度有 127 字节的限制。"

#. type: Plain text
#: guix-git/doc/guix.texi:6010
#, fuzzy
msgid "Development environments can be created as in the example below, which spawns an interactive shell containing all the dependencies and environment variables needed to work on Inkscape:"
msgstr "可以像下面的示例一样创建开发环境,该示例生成一个包含所有依赖项和环境变量的交互式 shell,以便在 Inkscape 上工作:"

#. type: example
#: guix-git/doc/guix.texi:6013
#, fuzzy, no-wrap
msgid "guix shell --development inkscape\n"
msgstr "guix shell --development inkscape\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6019
#, fuzzy
msgid "Exiting the shell places the user back in the original environment before @command{guix shell} was invoked.  The next garbage collection (@pxref{Invoking guix gc}) may clean up packages that were installed in the environment and that are no longer used outside of it."
msgstr "退出 shell 会将用户放回 @command{guix shell} 被调用之前的原始环境。下一次垃圾回收 (@pxref{Invoking guix gc}) 可能会清理在环境中安装但不再在其外部使用的包。"

#. type: Plain text
#: guix-git/doc/guix.texi:6023
#, fuzzy
msgid "As an added convenience, @command{guix shell} will try to do what you mean when it is invoked interactively without any other arguments as in:"
msgstr "作为额外的便利,@command{guix shell} 在交互式调用时,如果没有其他参数,将尝试执行您所意图的操作,如下所示:"

#. type: example
#: guix-git/doc/guix.texi:6026
#, fuzzy, no-wrap
msgid "guix shell\n"
msgstr "guix pull\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6038
#, fuzzy
msgid "If it finds a @file{manifest.scm} in the current working directory or any of its parents, it uses this manifest as though it was given via @code{--manifest}.  Likewise, if it finds a @file{guix.scm} in the same directories, it uses it to build a development profile as though both @code{--development} and @code{--file} were present.  In either case, the file will only be loaded if the directory it resides in is listed in @file{~/.config/guix/shell-authorized-directories}.  This provides an easy way to define, share, and enter development environments."
msgstr "如果它在当前工作目录或其父目录中找到 @file{manifest.scm},则将此清单视为通过 @code{--manifest} 提供的。 同样,如果它在相同目录中找到 @file{guix.scm},则将其用于构建开发配置文件,就好像同时存在 @code{--development} 和 @code{--file}。 在这两种情况下,只有当该文件所在的目录在 @file{~/.config/guix/shell-authorized-directories} 中列出时,文件才会被加载。 这提供了一种简单的方法来定义、共享和进入开发环境。"

#. type: Plain text
#: guix-git/doc/guix.texi:6049
#, fuzzy
msgid "By default, the shell session or command runs in an @emph{augmented} environment, where the new packages are added to search path environment variables such as @code{PATH}.  You can, instead, choose to create an @emph{isolated} environment containing nothing but the packages you asked for.  Passing the @option{--pure} option clears environment variable definitions found in the parent environment@footnote{Be sure to use the @option{--check} option the first time you use @command{guix shell} interactively to make sure the shell does not undo the effect of @option{--pure}.}; passing @option{--container} goes one step further by spawning a @dfn{container} isolated from the rest of the system:"
msgstr "默认情况下,shell 会话或命令在一个 @emph{增强} 环境中运行,其中新包被添加到搜索路径环境变量,如 @code{PATH}。 您可以选择创建一个仅包含您请求的包的 @emph{隔离} 环境。 传递 @option{--pure} 选项会清除在父环境中找到的环境变量定义@footnote{确保在第一次交互式使用 @command{guix shell} 时使用 @option{--check} 选项,以确保 shell 不会撤销 @option{--pure} 的效果。}; 传递 @option{--container} 更进一步,通过生成一个与系统其他部分隔离的 @dfn{容器}:"

#. type: example
#: guix-git/doc/guix.texi:6052
#, fuzzy, no-wrap
msgid "guix shell --container emacs gcc-toolchain\n"
msgstr "guix shell --container emacs gcc-toolchain\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6060
#, fuzzy
msgid "The command above spawns an interactive shell in a container where nothing but @code{emacs}, @code{gcc-toolchain}, and their dependencies is available.  The container lacks network access and shares no files other than the current working directory with the surrounding environment.  This is useful to prevent access to system-wide resources such as @file{/usr/bin} on foreign distros."
msgstr "上述命令在一个容器中生成一个交互式 shell,其中仅可用 @code{emacs}、@code{gcc-toolchain} 及其依赖项。 该容器没有网络访问权限,并且与周围环境共享的文件仅限于当前工作目录。 这对于防止访问外部发行版上的系统范围资源,如 @file{/usr/bin},非常有用。"

#. type: Plain text
#: guix-git/doc/guix.texi:6065
#, fuzzy
msgid "This @option{--container} option can also prove useful if you wish to run a security-sensitive application, such as a web browser, in an isolated environment.  For example, the command below launches Ungoogled-Chromium in an isolated environment, which:"
msgstr "如果您希望在隔离环境中运行安全敏感的应用程序,例如网络浏览器,@option{--container} 选项也可能非常有用。 例如,下面的命令在隔离环境中启动 Ungoogled-Chromium:"

#. type: item
#: guix-git/doc/guix.texi:6066
#, fuzzy, no-wrap
msgid "shares network access with the host"
msgstr "与主机共享网络访问"

#. type: item
#: guix-git/doc/guix.texi:6067
#, fuzzy, no-wrap
msgid "inherits host's environment variables @code{DISPLAY} and @code{XAUTHORITY}"
msgstr "继承主机的环境变量 @code{DISPLAY} 和 @code{XAUTHORITY}"

#. type: item
#: guix-git/doc/guix.texi:6068
#, fuzzy, no-wrap
msgid "has access to host's authentication records from the @code{XAUTHORITY}"
msgstr "可以访问主机的 @code{XAUTHORITY} 认证记录"

#. type: code{#1}
#: guix-git/doc/guix.texi:6070 guix-git/doc/guix.texi:11387
#: guix-git/doc/guix.texi:32832
#, fuzzy, no-wrap
msgid "file"
msgstr "文件"

#. type: item
#: guix-git/doc/guix.texi:6070
#, fuzzy, no-wrap
msgid "has no information about host's current directory"
msgstr "对主机当前目录没有信息"

#. type: example
#: guix-git/doc/guix.texi:6077
#, fuzzy, no-wrap
msgid ""
"guix shell --container --network --no-cwd ungoogled-chromium \\\n"
"  --preserve='^XAUTHORITY$' --expose=\"$@{XAUTHORITY@}\" \\\n"
"  --preserve='^DISPLAY$' -- chromium\n"
msgstr ""
"guix shell --container --network --no-cwd ungoogled-chromium \\\n"
"  --preserve='^XAUTHORITY$' --expose=\"$@{XAUTHORITY@}\" \\\n"
"  --preserve='^DISPLAY$' -- chromium\n"

#. type: vindex
#: guix-git/doc/guix.texi:6079 guix-git/doc/guix.texi:6545
#, fuzzy, no-wrap
msgid "GUIX_ENVIRONMENT"
msgstr "GUIX_ENVIRONMENT"

#. type: Plain text
#: guix-git/doc/guix.texi:6085
#, fuzzy
msgid "@command{guix shell} defines the @env{GUIX_ENVIRONMENT} variable in the shell it spawns; its value is the file name of the profile of this environment.  This allows users to, say, define a specific prompt for development environments in their @file{.bashrc} (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}):"
msgstr "@command{guix shell} 在其生成的 shell 中定义 @env{GUIX_ENVIRONMENT} 变量;其值是该环境的配置文件名。这允许用户在他们的 @file{.bashrc} 中定义特定的开发环境提示符 (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}):"

#. type: example
#: guix-git/doc/guix.texi:6091 guix-git/doc/guix.texi:6557
#, fuzzy, no-wrap
msgid ""
"if [ -n \"$GUIX_ENVIRONMENT\" ]\n"
"then\n"
"    export PS1=\"\\u@@\\h \\w [dev]\\$ \"\n"
"fi\n"
msgstr ""
"if [ -n \"$GUIX_ENVIRONMENT\" ]\n"
"then\n"
"    export PS1=\"\\u@@\\h \\w [dev]\\$ \"\n"
"fi\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6095 guix-git/doc/guix.texi:6561
#, fuzzy
msgid "...@: or to browse the profile:"
msgstr "...@: 或浏览配置文件:"

#. type: example
#: guix-git/doc/guix.texi:6098 guix-git/doc/guix.texi:6564
#, fuzzy, no-wrap
msgid "$ ls \"$GUIX_ENVIRONMENT/bin\"\n"
msgstr "$ ls \"$GUIX_ENVIRONMENT/bin\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6101 guix-git/doc/guix.texi:6640
#, fuzzy
msgid "The available options are summarized below."
msgstr "可用选项总结如下。"

#. type: item
#: guix-git/doc/guix.texi:6103 guix-git/doc/guix.texi:6642
#: guix-git/doc/guix.texi:13862
#, fuzzy, no-wrap
msgid "--check"
msgstr "--check"

#. type: table
#: guix-git/doc/guix.texi:6108
#, fuzzy
msgid "Set up the environment and check whether the shell would clobber environment variables.  It's a good idea to use this option the first time you run @command{guix shell} for an interactive session to make sure your setup is correct."
msgstr "设置环境并检查 shell 是否会覆盖环境变量。第一次运行 @command{guix shell} 进行交互会话时使用此选项是个好主意,以确保您的设置是正确的。"

#. type: table
#: guix-git/doc/guix.texi:6112
#, fuzzy
msgid "For example, if the shell modifies the @env{PATH} environment variable, report it since you would get a different environment than what you asked for."
msgstr "例如,如果 shell 修改了 @env{PATH} 环境变量,请报告,因为您将获得与请求的环境不同的环境。"

#. type: table
#: guix-git/doc/guix.texi:6120
#, fuzzy
msgid "Such problems usually indicate that the shell startup files are unexpectedly modifying those environment variables.  For example, if you are using Bash, make sure that environment variables are set or modified in @file{~/.bash_profile} and @emph{not} in @file{~/.bashrc}---the former is sourced only by log-in shells.  @xref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}, for details on Bash start-up files."
msgstr "此类问题通常表明 shell 启动文件意外地修改了这些环境变量。例如,如果您使用 Bash,请确保在 @file{~/.bash_profile} 中设置或修改环境变量,而不是在 @file{~/.bashrc} 中——前者仅由登录 shell 引用。有关 Bash 启动文件的详细信息,请参阅 @xref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:6122
#, fuzzy
msgid "shell-development-option"
msgstr "开发"

#. type: item
#: guix-git/doc/guix.texi:6122 guix-git/doc/guix.texi:13695
#, fuzzy, no-wrap
msgid "--development"
msgstr "开发"

#. type: table
#: guix-git/doc/guix.texi:6129
#, fuzzy
msgid "Cause @command{guix shell} to include in the environment the dependencies of the following package rather than the package itself.  This can be combined with other packages.  For instance, the command below starts an interactive shell containing the build-time dependencies of GNU@tie{}Guile, plus Autoconf, Automake, and Libtool:"
msgstr "使 @command{guix shell} 在环境中包含以下软件包的依赖项,而不是软件包本身。这可以与其他软件包结合使用。例如,下面的命令启动一个交互式 shell,其中包含 GNU@tie{}Guile 的构建时依赖项,以及 Autoconf、Automake 和 Libtool:"

#. type: example
#: guix-git/doc/guix.texi:6132
#, fuzzy, no-wrap
msgid "guix shell -D guile autoconf automake libtool\n"
msgstr "guix shell -D guile autoconf automake libtool\n"

#. type: item
#: guix-git/doc/guix.texi:6134 guix-git/doc/guix.texi:6663
#: guix-git/doc/guix.texi:7306 guix-git/doc/guix.texi:13679
#: guix-git/doc/guix.texi:15030 guix-git/doc/guix.texi:15539
#: guix-git/doc/guix.texi:15737 guix-git/doc/guix.texi:16147
#: guix-git/doc/guix.texi:16866 guix-git/doc/guix.texi:44877
#: guix-git/doc/guix.texi:50025
#, fuzzy, no-wrap
msgid "--expression=@var{expr}"
msgstr "--expression=@var{expr}"

#. type: itemx
#: guix-git/doc/guix.texi:6135 guix-git/doc/guix.texi:6664
#: guix-git/doc/guix.texi:7307 guix-git/doc/guix.texi:13680
#: guix-git/doc/guix.texi:15031 guix-git/doc/guix.texi:15540
#: guix-git/doc/guix.texi:15738 guix-git/doc/guix.texi:16148
#: guix-git/doc/guix.texi:16867 guix-git/doc/guix.texi:44878
#: guix-git/doc/guix.texi:50026
#, fuzzy, no-wrap
msgid "-e @var{expr}"
msgstr "-e @var{expr}"

#. type: table
#: guix-git/doc/guix.texi:6138 guix-git/doc/guix.texi:6667
#, fuzzy
msgid "Create an environment for the package or list of packages that @var{expr} evaluates to."
msgstr "创建一个环境,该环境包含@var{expr}评估出的包或包列表。"

#. type: table
#: guix-git/doc/guix.texi:6140 guix-git/doc/guix.texi:6669
#: guix-git/doc/guix.texi:15544
#, fuzzy
msgid "For example, running:"
msgstr "例如,运行:"

#. type: example
#: guix-git/doc/guix.texi:6143
#, fuzzy, no-wrap
msgid "guix shell -D -e '(@@ (gnu packages maths) petsc-openmpi)'\n"
msgstr "guix shell -D -e '(@@ (gnu packages maths) petsc-openmpi)'\n"

#. type: table
#: guix-git/doc/guix.texi:6147 guix-git/doc/guix.texi:6676
#, fuzzy
msgid "starts a shell with the environment for this specific variant of the PETSc package."
msgstr "将启动一个具有此特定变体的PETSc包环境的shell。"

#. type: table
#: guix-git/doc/guix.texi:6149 guix-git/doc/guix.texi:6678
#, fuzzy
msgid "Running:"
msgstr "运行:"

#. type: example
#: guix-git/doc/guix.texi:6152
#, fuzzy, no-wrap
msgid "guix shell -e '(@@ (gnu) %base-packages)'\n"
msgstr "guix shell -e '(@@ (gnu) %base-packages)'\n"

#. type: table
#: guix-git/doc/guix.texi:6155 guix-git/doc/guix.texi:6684
#, fuzzy
msgid "starts a shell with all the base system packages available."
msgstr "将启动一个具有所有可用基础系统包的shell。"

#. type: table
#: guix-git/doc/guix.texi:6158 guix-git/doc/guix.texi:6687
#, fuzzy
msgid "The above commands only use the default output of the given packages.  To select other outputs, two element tuples can be specified:"
msgstr "上述命令仅使用给定包的默认输出。要选择其他输出,可以指定两个元素的元组:"

#. type: example
#: guix-git/doc/guix.texi:6161
#, fuzzy, no-wrap
msgid "guix shell -e '(list (@@ (gnu packages bash) bash) \"include\")'\n"
msgstr "guix shell -e '(list (@@ (gnu packages bash) bash) \"include\")'\n"

#. type: table
#: guix-git/doc/guix.texi:6166
#, fuzzy
msgid "@xref{package-development-manifest, @code{package->development-manifest}}, for information on how to write a manifest for the development environment of a package."
msgstr "@xref{package-development-manifest, @code{package->development-manifest}},有关如何为包的开发环境编写清单的信息。"

#. type: item
#: guix-git/doc/guix.texi:6167 guix-git/doc/guix.texi:7314
#: guix-git/doc/guix.texi:13653
#, fuzzy, no-wrap
msgid "--file=@var{file}"
msgstr "--file=@var{file}"

#. type: table
#: guix-git/doc/guix.texi:6171
#, fuzzy
msgid "Create an environment containing the package or list of packages that the code within @var{file} evaluates to."
msgstr "创建一个环境,该环境包含@var{file}中代码评估出的包或包列表。"

#. type: lisp
#: guix-git/doc/guix.texi:6177 guix-git/doc/guix.texi:6702
#, fuzzy, no-wrap
msgid "@verbatiminclude environment-gdb.scm\n"
msgstr "@verbatiminclude environment-gdb.scm\n"

#. type: table
#: guix-git/doc/guix.texi:6181
#, fuzzy
msgid "With the file above, you can enter a development environment for GDB by running:"
msgstr "使用上述文件,您可以通过运行以下命令进入GDB的开发环境:"

#. type: example
#: guix-git/doc/guix.texi:6184
#, fuzzy, no-wrap
msgid "guix shell -D -f gdb-devel.scm\n"
msgstr "guix shell -D -f gdb-devel.scm\n"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:6187
#, fuzzy
msgid "shell-manifest"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:6192 guix-git/doc/guix.texi:6709
#, fuzzy
msgid "Create an environment for the packages contained in the manifest object returned by the Scheme code in @var{file}.  This option can be repeated several times, in which case the manifests are concatenated."
msgstr "为@var{file}中Scheme代码返回的清单对象中包含的包创建一个环境。此选项可以重复多次,在这种情况下,清单将被连接。"

#. type: table
#: guix-git/doc/guix.texi:6196 guix-git/doc/guix.texi:6713
#, fuzzy
msgid "This is similar to the same-named option in @command{guix package} (@pxref{profile-manifest, @option{--manifest}}) and uses the same manifest files."
msgstr "这类似于@command{guix package}中的同名选项(@pxref{profile-manifest, @option{--manifest}}),并使用相同的清单文件。"

#. type: table
#: guix-git/doc/guix.texi:6199
#, fuzzy
msgid "@xref{Writing Manifests}, for information on how to write a manifest.  See @option{--export-manifest} below on how to obtain a first manifest."
msgstr "@xref{Writing Manifests},有关如何编写清单的信息。有关如何获取第一个清单,请参见下面的@option{--export-manifest}。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:6202
#, fuzzy
msgid "shell-export-manifest"
msgstr "shell-export-manifest"

#. type: table
#: guix-git/doc/guix.texi:6205
#, fuzzy
msgid "Write to standard output a manifest suitable for @option{--manifest} corresponding to given command-line options."
msgstr "将适合@option{--manifest}的清单写入标准输出,对应于给定的命令行选项。"

#. type: table
#: guix-git/doc/guix.texi:6209
#, fuzzy
msgid "This is a way to ``convert'' command-line arguments into a manifest.  For example, imagine you are tired of typing long lines and would like to get a manifest equivalent to this command line:"
msgstr "这是一种将命令行参数“转换”为清单的方法。例如,假设您厌倦了输入长行,并希望获得与此命令行等效的清单:"

#. type: example
#: guix-git/doc/guix.texi:6212
#, fuzzy, no-wrap
msgid "guix shell -D guile git emacs emacs-geiser emacs-geiser-guile\n"
msgstr "guix package -i emacs guile emacs-geiser\n"

#. type: table
#: guix-git/doc/guix.texi:6215
#, fuzzy
msgid "Just add @option{--export-manifest} to the command line above:"
msgstr "只需将@option{--export-manifest}添加到上述命令行:"

#. type: example
#: guix-git/doc/guix.texi:6219
#, no-wrap
msgid ""
"guix shell --export-manifest \\\n"
"  -D guile git emacs emacs-geiser emacs-geiser-guile\n"
msgstr ""
"guix shell --export-manifest \\\n"
"  -D guile git emacs emacs-geiser emacs-geiser-guile\n"

#. type: table
#: guix-git/doc/guix.texi:6223
#, fuzzy
msgid "... and you get a manifest along these lines:"
msgstr "安装步骤如下:"

#. type: lisp
#: guix-git/doc/guix.texi:6233
#, fuzzy, no-wrap
msgid ""
"(concatenate-manifests\n"
"  (list (specifications->manifest\n"
"          (list \"git\"\n"
"                \"emacs\"\n"
"                \"emacs-geiser\"\n"
"                \"emacs-geiser-guile\"))\n"
"        (package->development-manifest\n"
"          (specification->package \"guile\"))))\n"
msgstr ""
"(concatenate-manifests\n"
"  (list (specifications->manifest\n"
"          (list \"git\"\n"
"                \"emacs\"\n"
"                \"emacs-geiser\"\n"
"                \"emacs-geiser-guile\"))\n"
"        (package->development-manifest\n"
"          (specification->package \"guile\"))))\n"

#. type: table
#: guix-git/doc/guix.texi:6238
#, fuzzy
msgid "You can store it into a file, say @file{manifest.scm}, and from there pass it to @command{guix shell} or indeed pretty much any @command{guix} command:"
msgstr "您可以将其存储到文件中,例如 @file{manifest.scm},然后从那里传递给 @command{guix shell},或者实际上几乎任何 @command{guix} 命令:"

#. type: example
#: guix-git/doc/guix.texi:6241 guix-git/doc/guix.texi:8816
#, fuzzy, no-wrap
msgid "guix shell -m manifest.scm\n"
msgstr "guix environment guix --pure\n"

#. type: table
#: guix-git/doc/guix.texi:6246
#, fuzzy
msgid "Voilà, you've converted a long command line into a manifest! That conversion process honors package transformation options (@pxref{Package Transformation Options}) so it should be lossless."
msgstr "瞧,您已经将一个长命令行转换为一个清单!该转换过程遵循软件包转换选项(@pxref{Package Transformation Options),因此应该是无损的。"

#. type: table
#: guix-git/doc/guix.texi:6252 guix-git/doc/guix.texi:6749
#, fuzzy
msgid "Create an environment containing the packages installed in @var{profile}.  Use @command{guix package} (@pxref{Invoking guix package}) to create and manage profiles."
msgstr "创建一个包含在 @var{profile} 中安装的软件包的环境。使用 @command{guix package}(@pxref{Invoking guix package})来创建和管理配置文件。"

#. type: item
#: guix-git/doc/guix.texi:6253 guix-git/doc/guix.texi:6750
#, fuzzy, no-wrap
msgid "--pure"
msgstr "--pure"

#. type: table
#: guix-git/doc/guix.texi:6257 guix-git/doc/guix.texi:6754
#, fuzzy
msgid "Unset existing environment variables when building the new environment, except those specified with @option{--preserve} (see below).  This has the effect of creating an environment in which search paths only contain package inputs."
msgstr "在构建新环境时取消设置现有环境变量,除了那些使用 @option{--preserve} 指定的变量(见下文)。这会导致创建一个仅包含软件包输入的搜索路径的环境。"

#. type: item
#: guix-git/doc/guix.texi:6258 guix-git/doc/guix.texi:6755
#, fuzzy, no-wrap
msgid "--preserve=@var{regexp}"
msgstr "--preserve=@var{regexp}"

#. type: itemx
#: guix-git/doc/guix.texi:6259 guix-git/doc/guix.texi:6756
#, fuzzy, no-wrap
msgid "-E @var{regexp}"
msgstr "-E @var{regexp}"

#. type: table
#: guix-git/doc/guix.texi:6264 guix-git/doc/guix.texi:6761
#, fuzzy
msgid "When used alongside @option{--pure}, preserve the environment variables matching @var{regexp}---in other words, put them on a ``white list'' of environment variables that must be preserved.  This option can be repeated several times."
msgstr "与 @option{--pure} 一起使用时,保留与 @var{regexp} 匹配的环境变量——换句话说,将它们放在必须保留的环境变量的“白名单”上。此选项可以重复多次。"

#. type: example
#: guix-git/doc/guix.texi:6268
#, fuzzy, no-wrap
msgid ""
"guix shell --pure --preserve=^SLURM openmpi @dots{} \\\n"
"  -- mpirun @dots{}\n"
msgstr ""
"guix shell --pure --preserve=^SLURM openmpi @dots{} \\\n"
"  -- mpirun @dots{}\n"

#. type: table
#: guix-git/doc/guix.texi:6274 guix-git/doc/guix.texi:6771
#, fuzzy
msgid "This example runs @command{mpirun} in a context where the only environment variables defined are @env{PATH}, environment variables whose name starts with @samp{SLURM}, as well as the usual ``precious'' variables (@env{HOME}, @env{USER}, etc.)."
msgstr "此示例在一个上下文中运行 @command{mpirun},其中唯一定义的环境变量是 @env{PATH}、名称以 @samp{SLURM} 开头的环境变量,以及通常的“珍贵”变量(@env{HOME}、@env{USER} 等)。"

#. type: item
#: guix-git/doc/guix.texi:6275 guix-git/doc/guix.texi:6772
#, fuzzy, no-wrap
msgid "--search-paths"
msgstr "--search-paths"

#. type: table
#: guix-git/doc/guix.texi:6278 guix-git/doc/guix.texi:6775
#, fuzzy
msgid "Display the environment variable definitions that make up the environment."
msgstr "显示构成环境的环境变量定义。"

#. type: table
#: guix-git/doc/guix.texi:6282 guix-git/doc/guix.texi:6779
#, fuzzy
msgid "Attempt to build for @var{system}---e.g., @code{i686-linux}."
msgstr "尝试为 @var{system} 构建——例如,@code{i686-linux}。"

#. type: item
#: guix-git/doc/guix.texi:6283 guix-git/doc/guix.texi:6780
#, fuzzy, no-wrap
msgid "--container"
msgstr "--container"

#. type: itemx
#: guix-git/doc/guix.texi:6284 guix-git/doc/guix.texi:6781
#, fuzzy, no-wrap
msgid "-C"
msgstr "-C"

#. type: item
#: guix-git/doc/guix.texi:6285 guix-git/doc/guix.texi:6606
#: guix-git/doc/guix.texi:6782 guix-git/doc/guix.texi:16715
#: guix-git/doc/guix.texi:44841 guix-git/doc/guix.texi:49764
#, no-wrap
msgid "container"
msgstr "container"

#. type: table
#: guix-git/doc/guix.texi:6291 guix-git/doc/guix.texi:6788
#, fuzzy
msgid "Run @var{command} within an isolated container.  The current working directory outside the container is mapped inside the container.  Additionally, unless overridden with @option{--user}, a dummy home directory is created that matches the current user's home directory, and @file{/etc/passwd} is configured accordingly."
msgstr "在隔离的容器中运行 @var{command}。容器外的当前工作目录映射到容器内部。此外,除非使用 @option{--user} 重写,否则会创建一个与当前用户的主目录匹配的虚拟主目录,并相应地配置 @file{/etc/passwd}。"

#. type: table
#: guix-git/doc/guix.texi:6295 guix-git/doc/guix.texi:6792
#, fuzzy
msgid "The spawned process runs as the current user outside the container.  Inside the container, it has the same UID and GID as the current user, unless @option{--user} is passed (see below)."
msgstr "生成的进程在容器外作为当前用户运行。在容器内部,它具有与当前用户相同的 UID 和 GID,除非传递了 @option{--user}(见下文)。"

#. type: item
#: guix-git/doc/guix.texi:6296 guix-git/doc/guix.texi:6793
#: guix-git/doc/guix.texi:44942 guix-git/doc/guix.texi:49782
#, fuzzy, no-wrap
msgid "--network"
msgstr "--network"

#. type: table
#: guix-git/doc/guix.texi:6301 guix-git/doc/guix.texi:6798
#, fuzzy
msgid "For containers, share the network namespace with the host system.  Containers created without this flag only have access to the loopback device."
msgstr "对于容器,与主机系统共享网络命名空间。没有此标志创建的容器仅能访问回环设备。"

#. type: item
#: guix-git/doc/guix.texi:6302 guix-git/doc/guix.texi:6799
#, fuzzy, no-wrap
msgid "--link-profile"
msgstr "--link-profile"

#. type: itemx
#: guix-git/doc/guix.texi:6303 guix-git/doc/guix.texi:6800
#, fuzzy, no-wrap
msgid "-P"
msgstr "-P"

#. type: table
#: guix-git/doc/guix.texi:6311
#, fuzzy
msgid "For containers, link the environment profile to @file{~/.guix-profile} within the container and set @code{GUIX_ENVIRONMENT} to that.  This is equivalent to making @file{~/.guix-profile} a symlink to the actual profile within the container.  Linking will fail and abort the environment if the directory already exists, which will certainly be the case if @command{guix shell} was invoked in the user's home directory."
msgstr "对于容器,将环境配置文件链接到 @file{~/.guix-profile} 内,并将 @code{GUIX_ENVIRONMENT} 设置为该值。这相当于将 @file{~/.guix-profile} 作为指向容器内实际配置文件的符号链接。如果目录已存在,链接将失败并中止环境,这在 @command{guix shell} 在用户主目录中被调用时肯定会发生。"

#. type: table
#: guix-git/doc/guix.texi:6317 guix-git/doc/guix.texi:6814
#, fuzzy
msgid "Certain packages are configured to look in @file{~/.guix-profile} for configuration files and data;@footnote{For example, the @code{fontconfig} package inspects @file{~/.guix-profile/share/fonts} for additional fonts.} @option{--link-profile} allows these programs to behave as expected within the environment."
msgstr "某些软件包被配置为在 @file{~/.guix-profile} 中查找配置文件和数据;@footnote{例如,@code{fontconfig} 软件包检查 @file{~/.guix-profile/share/fonts} 以获取额外的字体。} @option{--link-profile} 允许这些程序在环境中按预期行为运行。"

#. type: item
#: guix-git/doc/guix.texi:6318 guix-git/doc/guix.texi:6815
#: guix-git/doc/guix.texi:16285
#, fuzzy, no-wrap
msgid "--user=@var{user}"
msgstr "--user=@var{user}"

#. type: itemx
#: guix-git/doc/guix.texi:6319 guix-git/doc/guix.texi:6816
#: guix-git/doc/guix.texi:16286
#, fuzzy, no-wrap
msgid "-u @var{user}"
msgstr "-u @var{user}"

#. type: table
#: guix-git/doc/guix.texi:6326 guix-git/doc/guix.texi:6823
#, fuzzy
msgid "For containers, use the username @var{user} in place of the current user.  The generated @file{/etc/passwd} entry within the container will contain the name @var{user}, the home directory will be @file{/home/@var{user}}, and no user GECOS data will be copied.  Furthermore, the UID and GID inside the container are 1000.  @var{user} need not exist on the system."
msgstr "对于容器,使用用户名 @var{user} 替代当前用户。容器内生成的 @file{/etc/passwd} 条目将包含名称 @var{user},主目录将是 @file{/home/@var{user}},并且不会复制用户 GECOS 数据。此外,容器内的 UID 和 GID 为 1000。@var{user} 不必在系统上存在。"

#. type: table
#: guix-git/doc/guix.texi:6331 guix-git/doc/guix.texi:6828
#, fuzzy
msgid "Additionally, any shared or exposed path (see @option{--share} and @option{--expose} respectively) whose target is within the current user's home directory will be remapped relative to @file{/home/USER}; this includes the automatic mapping of the current working directory."
msgstr "此外,任何共享或暴露的路径(分别参见 @option{--share} 和 @option{--expose})如果目标在当前用户的主目录内,将相对于 @file{/home/USER} 重新映射;这包括当前工作目录的自动映射。"

#. type: example
#: guix-git/doc/guix.texi:6338
#, fuzzy, no-wrap
msgid ""
"# will expose paths as /home/foo/wd, /home/foo/test, and /home/foo/target\n"
"cd $HOME/wd\n"
"guix shell --container --user=foo \\\n"
"     --expose=$HOME/test \\\n"
"     --expose=/tmp/target=$HOME/target\n"
msgstr ""
"# 将路径暴露为 /home/foo/wd, /home/foo/test 和 /home/foo/target\n"
"cd $HOME/wd\n"
"guix shell --container --user=foo \\\n"
"     --expose=$HOME/test \\\n"
"     --expose=/tmp/target=$HOME/target\n"

#. type: table
#: guix-git/doc/guix.texi:6343 guix-git/doc/guix.texi:6840
#, fuzzy
msgid "While this will limit the leaking of user identity through home paths and each of the user fields, this is only one useful component of a broader privacy/anonymity solution---not one in and of itself."
msgstr "虽然这将限制通过主路径和每个用户字段泄露用户身份,但这只是更广泛隐私/匿名解决方案的一个有用组成部分——而不是单独的解决方案。"

#. type: item
#: guix-git/doc/guix.texi:6344 guix-git/doc/guix.texi:6841
#, fuzzy, no-wrap
msgid "--no-cwd"
msgstr "--no-cwd"

#. type: table
#: guix-git/doc/guix.texi:6351 guix-git/doc/guix.texi:6848
#, fuzzy
msgid "For containers, the default behavior is to share the current working directory with the isolated container and immediately change to that directory within the container.  If this is undesirable, @option{--no-cwd} will cause the current working directory to @emph{not} be automatically shared and will change to the user's home directory within the container instead.  See also @option{--user}."
msgstr "对于容器,默认行为是与隔离的容器共享当前工作目录,并立即在容器内切换到该目录。如果这不理想,@option{--no-cwd} 将导致当前工作目录 @emph{不} 被自动共享,而是切换到容器内的用户主目录。另请参见 @option{--user}。"

#. type: item
#: guix-git/doc/guix.texi:6352 guix-git/doc/guix.texi:6849
#: guix-git/doc/guix.texi:49786
#, fuzzy, no-wrap
msgid "--expose=@var{source}[=@var{target}]"
msgstr "--expose=@var{source}[=@var{target}]"

#. type: itemx
#: guix-git/doc/guix.texi:6353 guix-git/doc/guix.texi:6850
#: guix-git/doc/guix.texi:49787
#, fuzzy, no-wrap
msgid "--share=@var{source}[=@var{target}]"
msgstr "--share=@var{source}[=@var{target}]"

#. type: table
#: guix-git/doc/guix.texi:6359 guix-git/doc/guix.texi:6856
#, fuzzy
msgid "For containers, @option{--expose} (resp. @option{--share}) exposes the file system @var{source} from the host system as the read-only (resp. writable) file system @var{target} within the container.  If @var{target} is not specified, @var{source} is used as the target mount point in the container."
msgstr "对于容器,@option{--expose}(或@option{--share})将主机系统中的文件系统@var{source}暴露为容器内的只读(或可写)文件系统@var{target}。如果未指定@var{target},则使用@var{source}作为容器中的目标挂载点。"

#. type: table
#: guix-git/doc/guix.texi:6363 guix-git/doc/guix.texi:6860
#, fuzzy
msgid "The example below spawns a Guile REPL in a container in which the user's home directory is accessible read-only via the @file{/exchange} directory:"
msgstr "下面的示例在一个容器中生成一个可访问用户主目录的Guile REPL,该目录通过@file{/exchange}目录以只读方式访问:"

#. type: example
#: guix-git/doc/guix.texi:6366
#, fuzzy, no-wrap
msgid "guix shell --container --expose=$HOME=/exchange guile -- guile\n"
msgstr "guix shell --container --expose=$HOME=/exchange guile -- guile\n"

#. type: cindex
#: guix-git/doc/guix.texi:6368
#, fuzzy, no-wrap
msgid "symbolic links, guix shell"
msgstr "符号链接,guix shell"

#. type: item
#: guix-git/doc/guix.texi:6369 guix-git/doc/guix.texi:7361
#, fuzzy, no-wrap
msgid "--symlink=@var{spec}"
msgstr "--symlink=@var{spec}"

#. type: itemx
#: guix-git/doc/guix.texi:6370 guix-git/doc/guix.texi:7362
#, fuzzy, no-wrap
msgid "-S @var{spec}"
msgstr "-S @var{spec}"

#. type: table
#: guix-git/doc/guix.texi:6373
#, fuzzy
msgid "For containers, create the symbolic links specified by @var{spec}, as documented in @ref{pack-symlink-option}."
msgstr "对于容器,创建由@var{spec}指定的符号链接,如@ref{pack-symlink-option}中所述。"

#. type: cindex
#: guix-git/doc/guix.texi:6374
#, fuzzy, no-wrap
msgid "file system hierarchy standard (FHS)"
msgstr "文件系统层次标准(FHS)"

#. type: cindex
#: guix-git/doc/guix.texi:6375
#, fuzzy, no-wrap
msgid "FHS (file system hierarchy standard)"
msgstr "FHS(文件系统层次标准)"

#. type: item
#: guix-git/doc/guix.texi:6376 guix-git/doc/guix.texi:6865
#, fuzzy, no-wrap
msgid "--emulate-fhs"
msgstr "模板"

#. type: item
#: guix-git/doc/guix.texi:6377 guix-git/doc/guix.texi:6866
#, fuzzy, no-wrap
msgid "-F"
msgstr "-F"

#. type: table
#: guix-git/doc/guix.texi:6383
#, fuzzy
msgid "When used with @option{--container}, emulate a @uref{https://refspecs.linuxfoundation.org/fhs.shtml, Filesystem Hierarchy Standard (FHS)} configuration within the container, providing @file{/bin}, @file{/lib}, and other directories and files specified by the FHS."
msgstr "与@option{--container}一起使用时,在容器内模拟@uref{https://refspecs.linuxfoundation.org/fhs.shtml, 文件系统层次标准(FHS)}配置,提供@file{/bin}、@file{/lib}和FHS指定的其他目录和文件。"

#. type: table
#: guix-git/doc/guix.texi:6394
#, fuzzy
msgid "As Guix deviates from the FHS specification, this option sets up the container to more closely mimic that of other GNU/Linux distributions.  This is useful for reproducing other development environments, testing, and using programs which expect the FHS specification to be followed.  With this option, the container will include a version of glibc that will read @file{/etc/ld.so.cache} within the container for the shared library cache (contrary to glibc in regular Guix usage) and set up the expected FHS directories: @file{/bin}, @file{/etc}, @file{/lib}, and @file{/usr} from the container's profile."
msgstr "由于Guix偏离了FHS规范,此选项设置容器以更接近其他GNU/Linux发行版的方式进行模拟。这对于重现其他开发环境、测试以及使用期望遵循FHS规范的程序非常有用。使用此选项,容器将包含一个版本的glibc,该版本将在容器内读取@file{/etc/ld.so.cache}以获取共享库缓存(与常规Guix使用中的glibc相反),并设置预期的FHS目录:@file{/bin}、@file{/etc}、@file{/lib}和@file{/usr}来自容器的配置文件。"

#. type: cindex
#: guix-git/doc/guix.texi:6395
#, fuzzy, no-wrap
msgid "nested containers, for @command{guix shell}"
msgstr "嵌套容器,适用于@command{guix shell}"

#. type: cindex
#: guix-git/doc/guix.texi:6396
#, fuzzy, no-wrap
msgid "container nesting, for @command{guix shell}"
msgstr "容器嵌套,适用于@command{guix shell}"

#. type: item
#: guix-git/doc/guix.texi:6397
#, fuzzy, no-wrap
msgid "--nesting"
msgstr "--nesting"

#. type: itemx
#: guix-git/doc/guix.texi:6398
#, fuzzy, no-wrap
msgid "-W"
msgstr "-W"

#. type: table
#: guix-git/doc/guix.texi:6404
#, fuzzy
msgid "When used with @option{--container}, provide Guix @emph{inside} the container and arrange so that it can interact with the build daemon that runs outside the container.  This is useful if you want, within your isolated container, to create other containers, as in this sample session:"
msgstr "与@option{--container}一起使用时,在容器内提供Guix @emph{内部}并安排它可以与在容器外部运行的构建守护进程进行交互。如果您希望在隔离的容器内创建其他容器,这非常有用,如以下示例会话所示:"

#. type: example
#: guix-git/doc/guix.texi:6410
#, fuzzy, no-wrap
msgid ""
"$ guix shell -CW coreutils\n"
"[env]$ guix shell -C guile -- guile -c '(display \"hello!\\n\")'\n"
"hello!\n"
"[env]$ exit\n"
msgstr ""
"$ guix shell -CW coreutils\n"
"[env]$ guix shell -C guile -- guile -c '(display \"hello!\\n\")'\n"
"你好!\n"
"[env]$ exit\n"

#. type: table
#: guix-git/doc/guix.texi:6415
#, fuzzy
msgid "The session above starts a container with @code{coreutils} programs available in @env{PATH}.  From there, we spawn @command{guix shell} to create a @emph{nested} container that provides nothing but Guile."
msgstr "上面的会话启动了一个容器,其中 @code{coreutils} 程序可在 @env{PATH} 中使用。从那里,我们启动 @command{guix shell} 来创建一个仅提供 Guile 的 @emph{嵌套} 容器。"

#. type: table
#: guix-git/doc/guix.texi:6418
#, fuzzy
msgid "Another example is evaluating a @file{guix.scm} file that is untrusted, as shown here:"
msgstr "另一个示例是评估一个不受信任的 @file{guix.scm} 文件,如下所示:"

#. type: example
#: guix-git/doc/guix.texi:6421
#, fuzzy, no-wrap
msgid "guix shell -CW -- guix build -f guix.scm\n"
msgstr "guix shell -D guix --pure\n"

#. type: table
#: guix-git/doc/guix.texi:6425
#, fuzzy
msgid "The @command{guix build} command as executed above can only access the current directory."
msgstr "如上所述执行的 @command{guix build} 命令只能访问当前目录。"

#. type: table
#: guix-git/doc/guix.texi:6427
#, fuzzy
msgid "Under the hood, the @option{-W} option does several things:"
msgstr "在底层,@option{-W} 选项执行几项操作:"

#. type: itemize
#: guix-git/doc/guix.texi:6432
#, fuzzy
msgid "map the daemon's socket (by default @file{/var/guix/daemon-socket/socket}) inside the container;"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: itemize
#: guix-git/doc/guix.texi:6436
#, fuzzy
msgid "map the whole store (by default @file{/gnu/store}) inside the container such that store items made available by nested @command{guix} invocations are visible;"
msgstr "将整个存储(默认情况下为 @file{/gnu/store})映射到容器内,以便嵌套的 @command{guix} 调用所提供的存储项可见;"

#. type: itemize
#: guix-git/doc/guix.texi:6440
#, fuzzy
msgid "add the currently-used @command{guix} command to the profile in the container, such that @command{guix describe} returns the same state inside and outside the container;"
msgstr "将当前使用的 @command{guix} 命令添加到容器中的配置文件中,以便 @command{guix describe} 在容器内外返回相同的状态;"

#. type: itemize
#: guix-git/doc/guix.texi:6444
#, fuzzy
msgid "share the cache (by default @file{~/.cache/guix}) with the host, to speed up operations such as @command{guix time-machine} and @command{guix shell}."
msgstr "与主机共享缓存(默认情况下为 @file{~/.cache/guix),以加快 @command{guix time-machine} 和 @command{guix shell} 等操作的速度。"

#. type: item
#: guix-git/doc/guix.texi:6446
#, fuzzy, no-wrap
msgid "--rebuild-cache"
msgstr "--no-build-hook"

#. type: cindex
#: guix-git/doc/guix.texi:6447
#, fuzzy, no-wrap
msgid "caching, of profiles"
msgstr "代码格式化"

#. type: cindex
#: guix-git/doc/guix.texi:6448
#, fuzzy, no-wrap
msgid "caching, in @command{guix shell}"
msgstr "缓存,在 @command{guix shell} 中"

#. type: table
#: guix-git/doc/guix.texi:6454
#, fuzzy
msgid "In most cases, @command{guix shell} caches the environment so that subsequent uses are instantaneous.  Least-recently used cache entries are periodically removed.  The cache is also invalidated, when using @option{--file} or @option{--manifest}, anytime the corresponding file is modified."
msgstr "在大多数情况下,@command{guix shell} 会缓存环境,以便后续使用瞬时。最近最少使用的缓存条目会定期删除。当使用 @option{--file} 或 @option{--manifest} 时,任何时候相应的文件被修改,缓存也会失效。"

#. type: table
#: guix-git/doc/guix.texi:6460
#, fuzzy
msgid "The @option{--rebuild-cache} forces the cached environment to be refreshed.  This is useful when using @option{--file} or @option{--manifest} and the @command{guix.scm} or @command{manifest.scm} file has external dependencies, or if its behavior depends, say, on environment variables."
msgstr "@option{--rebuild-cache} 强制刷新缓存环境。当使用 @option{--file} 或 @option{--manifest} 并且 @command{guix.scm} 或 @command{manifest.scm} 文件具有外部依赖关系时,或者其行为依赖于环境变量时,这非常有用。"

#. type: item
#: guix-git/doc/guix.texi:6461 guix-git/doc/guix.texi:6647
#: guix-git/doc/guix.texi:7390 guix-git/doc/guix.texi:13891
#: guix-git/doc/guix.texi:44947
#, fuzzy, no-wrap
msgid "--root=@var{file}"
msgstr "--root=@var{file}"

#. type: itemx
#: guix-git/doc/guix.texi:6462 guix-git/doc/guix.texi:6648
#: guix-git/doc/guix.texi:7391 guix-git/doc/guix.texi:13892
#: guix-git/doc/guix.texi:44948
#, fuzzy, no-wrap
msgid "-r @var{file}"
msgstr "-r @var{file}"

#. type: cindex
#: guix-git/doc/guix.texi:6463 guix-git/doc/guix.texi:6649
#, fuzzy, no-wrap
msgid "persistent environment"
msgstr "持久环境"

#. type: cindex
#: guix-git/doc/guix.texi:6464 guix-git/doc/guix.texi:6650
#, fuzzy, no-wrap
msgid "garbage collector root, for environments"
msgstr "垃圾收集器根,用于环境"

#. type: table
#: guix-git/doc/guix.texi:6467 guix-git/doc/guix.texi:6653
#, fuzzy
msgid "Make @var{file} a symlink to the profile for this environment, and register it as a garbage collector root."
msgstr "使 @var{file} 成为此环境的配置文件的符号链接,并将其注册为垃圾收集器根。"

#. type: table
#: guix-git/doc/guix.texi:6470 guix-git/doc/guix.texi:6656
#, fuzzy
msgid "This is useful if you want to protect your environment from garbage collection, to make it ``persistent''."
msgstr "如果您想保护环境不被垃圾收集,这非常有用,以使其“持久”。"

#. type: table
#: guix-git/doc/guix.texi:6476
#, fuzzy
msgid "When this option is omitted, @command{guix shell} caches profiles so that subsequent uses of the same environment are instantaneous---this is comparable to using @option{--root} except that @command{guix shell} takes care of periodically removing the least-recently used garbage collector roots."
msgstr "当省略此选项时,@command{guix shell} 会缓存配置文件,以便后续使用相同环境时瞬时——这与使用 @option{--root} 类似,只是 @command{guix shell} 会定期删除最近最少使用的垃圾收集器根。"

#. type: table
#: guix-git/doc/guix.texi:6483
#, fuzzy
msgid "In some cases, @command{guix shell} does not cache profiles---e.g., if transformation options such as @option{--with-latest} are used.  In those cases, the environment is protected from garbage collection only for the duration of the @command{guix shell} session.  This means that next time you recreate the same environment, you could have to rebuild or re-download packages."
msgstr "在某些情况下,@command{guix shell} 不会缓存配置文件——例如,如果使用了转换选项如 @option{--with-latest}。在这些情况下,环境仅在 @command{guix shell} 会话期间受到垃圾回收的保护。这意味着下次您重新创建相同的环境时,可能需要重新构建或重新下载软件包。"

#. type: table
#: guix-git/doc/guix.texi:6485
#, fuzzy
msgid "@xref{Invoking guix gc}, for more on GC roots."
msgstr "@xref{Invoking guix pack},了解这个方便的工具。"

#. type: Plain text
#: guix-git/doc/guix.texi:6490
#, fuzzy
msgid "@command{guix shell} also supports all of the common build options that @command{guix build} supports (@pxref{Common Build Options}) as well as package transformation options (@pxref{Package Transformation Options})."
msgstr "@command{guix shell} 还支持 @command{guix build} 支持的所有常见构建选项 (@pxref{Common Build Options}) 以及软件包转换选项 (@pxref{Package Transformation Options})。"

#. type: section
#: guix-git/doc/guix.texi:6492
#, fuzzy, no-wrap
msgid "Invoking @command{guix environment}"
msgstr "调用 @command{guix environment}"

#. type: Plain text
#: guix-git/doc/guix.texi:6498
#, fuzzy
msgid "The purpose of @command{guix environment} is to assist in creating development environments."
msgstr "@command{guix environment} 的目的是帮助创建开发环境。"

#. type: quotation
#: guix-git/doc/guix.texi:6499
#, fuzzy, no-wrap
msgid "Deprecation warning"
msgstr "弃用警告"

#. type: quotation
#: guix-git/doc/guix.texi:6503
#, fuzzy
msgid "The @command{guix environment} command is deprecated in favor of @command{guix shell}, which performs similar functions but is more convenient to use.  @xref{Invoking guix shell}."
msgstr "@command{guix environment} 命令已被弃用,取而代之的是 @command{guix shell},后者执行类似的功能,但使用起来更方便。@xref{Invoking guix shell}。"

#. type: quotation
#: guix-git/doc/guix.texi:6508
#, fuzzy
msgid "Being deprecated, @command{guix environment} is slated for eventual removal, but the Guix project is committed to keeping it until May 1st, 2023.  Please get in touch with us at @email{guix-devel@@gnu.org} if you would like to discuss it."
msgstr "由于被弃用,@command{guix environment} 计划最终移除,但 Guix 项目承诺在 2023 年 5 月 1 日之前保留它。如果您想讨论此事,请通过 @email{guix-devel@@gnu.org} 与我们联系。"

#. type: example
#: guix-git/doc/guix.texi:6514
#, fuzzy, no-wrap
msgid "guix environment @var{options} @var{package}@dots{}\n"
msgstr "guix environment @var{options} @var{package}@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6518
#, fuzzy
msgid "The following example spawns a new shell set up for the development of GNU@tie{}Guile:"
msgstr "以下示例生成一个为 GNU@tie{}Guile 开发设置的新 shell:"

#. type: example
#: guix-git/doc/guix.texi:6521
#, fuzzy, no-wrap
msgid "guix environment guile\n"
msgstr "guix environment guile\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6538
#, fuzzy
msgid "If the needed dependencies are not built yet, @command{guix environment} automatically builds them.  The environment of the new shell is an augmented version of the environment that @command{guix environment} was run in.  It contains the necessary search paths for building the given package added to the existing environment variables.  To create a ``pure'' environment, in which the original environment variables have been unset, use the @option{--pure} option@footnote{Users sometimes wrongfully augment environment variables such as @env{PATH} in their @file{~/.bashrc} file.  As a consequence, when @command{guix environment} launches it, Bash may read @file{~/.bashrc}, thereby introducing ``impurities'' in these environment variables.  It is an error to define such environment variables in @file{.bashrc}; instead, they should be defined in @file{.bash_profile}, which is sourced only by log-in shells.  @xref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}, for details on Bash start-up files.}."
msgstr "如果所需的依赖项尚未构建,@command{guix environment} 会自动构建它们。新 shell 的环境是 @command{guix environment} 运行时环境的增强版本。它包含了为构建给定软件包所需的搜索路径,并添加到现有的环境变量中。要创建一个“纯净”的环境,其中原始环境变量已被取消设置,请使用 @option{--pure} 选项@footnote{用户有时错误地在其 @file{~/.bashrc} 文件中增强环境变量,如 @env{PATH}。因此,当 @command{guix environment} 启动时,Bash 可能会读取 @file{~/.bashrc},从而在这些环境变量中引入“杂质”。在 @file{.bashrc} 中定义这样的环境变量是错误的;相反,它们应该在仅由登录 shell 源的 @file{.bash_profile} 中定义。有关 Bash 启动文件的详细信息,请参见 @xref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}。}。"

#. type: Plain text
#: guix-git/doc/guix.texi:6544
#, fuzzy
msgid "Exiting from a Guix environment is the same as exiting from the shell, and will place the user back in the old environment before @command{guix environment} was invoked.  The next garbage collection (@pxref{Invoking guix gc}) will clean up packages that were installed from within the environment and are no longer used outside of it."
msgstr "退出 Guix 环境与退出 shell 是相同的,这将使用户回到 @command{guix environment} 被调用之前的旧环境。下一个垃圾回收 (@pxref{Invoking guix gc}) 将清理在环境中安装但在外部不再使用的包。"

#. type: Plain text
#: guix-git/doc/guix.texi:6551
#, fuzzy
msgid "@command{guix environment} defines the @env{GUIX_ENVIRONMENT} variable in the shell it spawns; its value is the file name of the profile of this environment.  This allows users to, say, define a specific prompt for development environments in their @file{.bashrc} (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}):"
msgstr "@command{guix environment} 在它生成的 shell 中定义了 @env{GUIX_ENVIRONMENT} 变量;其值是该环境的配置文件名。这允许用户在他们的 @file{.bashrc} 中定义特定的开发环境提示 (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}):"

#. type: Plain text
#: guix-git/doc/guix.texi:6570
#, fuzzy
msgid "Additionally, more than one package may be specified, in which case the union of the inputs for the given packages are used.  For example, the command below spawns a shell where all of the dependencies of both Guile and Emacs are available:"
msgstr "此外,可以指定多个包,在这种情况下,将使用给定包的输入的并集。例如,下面的命令生成一个 shell,其中 Guile 和 Emacs 的所有依赖项都可用:"

#. type: example
#: guix-git/doc/guix.texi:6573
#, fuzzy, no-wrap
msgid "guix environment guile emacs\n"
msgstr "guix environment guile emacs\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6578
#, fuzzy
msgid "Sometimes an interactive shell session is not desired.  An arbitrary command may be invoked by placing the @code{--} token to separate the command from the rest of the arguments:"
msgstr "有时不需要交互式 shell 会话。可以通过放置 @code{--} 标记来调用任意命令,以将命令与其余参数分开:"

#. type: example
#: guix-git/doc/guix.texi:6581
#, fuzzy, no-wrap
msgid "guix environment guile -- make -j4\n"
msgstr "guix environment guile -- make -j4\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6587
#, fuzzy
msgid "In other situations, it is more convenient to specify the list of packages needed in the environment.  For example, the following command runs @command{python} from an environment containing Python@tie{}3 and NumPy:"
msgstr "在其他情况下,指定环境中所需的包列表更为方便。例如,以下命令从包含 Python@tie{}3 和 NumPy 的环境中运行 @command{python}:"

#. type: example
#: guix-git/doc/guix.texi:6590
#, fuzzy, no-wrap
msgid "guix environment --ad-hoc python-numpy python -- python3\n"
msgstr "guix environment --ad-hoc python-numpy python -- python3\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6601
#, fuzzy
msgid "Furthermore, one might want the dependencies of a package and also some additional packages that are not build-time or runtime dependencies, but are useful when developing nonetheless.  Because of this, the @option{--ad-hoc} flag is positional.  Packages appearing before @option{--ad-hoc} are interpreted as packages whose dependencies will be added to the environment.  Packages appearing after are interpreted as packages that will be added to the environment directly.  For example, the following command creates a Guix development environment that additionally includes Git and strace:"
msgstr "此外,用户可能希望获取一个包的依赖项以及一些不是构建时或运行时依赖项但在开发时仍然有用的额外包。因此,@option{--ad-hoc} 标志是位置性的。在 @option{--ad-hoc} 之前出现的包被解释为其依赖项将被添加到环境中的包。在 @option{--ad-hoc} 之后出现的包被解释为将直接添加到环境中的包。例如,以下命令创建一个额外包含 Git 和 strace 的 Guix 开发环境:"

#. type: example
#: guix-git/doc/guix.texi:6604
#, fuzzy, no-wrap
msgid "guix environment --pure guix --ad-hoc git strace\n"
msgstr "guix environment guix --ad-hoc help2man git strace\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6614
#, fuzzy
msgid "Sometimes it is desirable to isolate the environment as much as possible, for maximal purity and reproducibility.  In particular, when using Guix on a host distro that is not Guix System, it is desirable to prevent access to @file{/usr/bin} and other system-wide resources from the development environment.  For example, the following command spawns a Guile REPL in a ``container'' where only the store and the current working directory are mounted:"
msgstr "有时,尽可能隔离环境是可取的,以实现最大的纯度和可重现性。特别是在使用 Guix 的主机发行版不是 Guix 系统时,防止开发环境访问 @file{/usr/bin} 和其他系统范围资源是可取的。例如,以下命令在一个“容器”中生成一个 Guile REPL,其中仅挂载了存储和当前工作目录:"

#. type: example
#: guix-git/doc/guix.texi:6617
#, fuzzy, no-wrap
msgid "guix environment --ad-hoc --container guile -- guile\n"
msgstr "guix environment --ad-hoc --container guile -- guile\n"

#. type: quotation
#: guix-git/doc/guix.texi:6621
#, fuzzy
msgid "The @option{--container} option requires Linux-libre 3.19 or newer."
msgstr "@option{--container} 选项需要 Linux-libre 3.19 或更高版本。"

#. type: cindex
#: guix-git/doc/guix.texi:6623
#, fuzzy, no-wrap
msgid "certificates"
msgstr "X.509证书"

#. type: Plain text
#: guix-git/doc/guix.texi:6630
#, fuzzy
msgid "Another typical use case for containers is to run security-sensitive applications such as a web browser.  To run Eolie, we must expose and share some files and directories; we include @code{nss-certs} and expose @file{/etc/ssl/certs/} for HTTPS authentication; finally we preserve the @env{DISPLAY} environment variable since containerized graphical applications won't display without it."
msgstr "容器的另一个典型用例是运行安全敏感的应用程序,例如网页浏览器。要运行 Eolie,我们必须暴露和共享一些文件和目录;我们包括 @code{nss-certs} 并暴露 @file{/etc/ssl/certs/} 以进行 HTTPS 认证;最后,我们保留 @env{DISPLAY} 环境变量,因为容器化的图形应用程序没有它就无法显示。"

#. type: example
#: guix-git/doc/guix.texi:6637
#, fuzzy, no-wrap
msgid ""
"guix environment --preserve='^DISPLAY$' --container --network \\\n"
"  --expose=/etc/machine-id \\\n"
"  --expose=/etc/ssl/certs/ \\\n"
"  --share=$HOME/.local/share/eolie/=$HOME/.local/share/eolie/ \\\n"
"  --ad-hoc eolie nss-certs dbus --  eolie\n"
msgstr ""
"guix environment --preserve='^DISPLAY$' --container --network \\\n"
"  --expose=/etc/machine-id \\\n"
"  --expose=/etc/ssl/certs/ \\\n"
"  --share=$HOME/.local/share/eolie/=$HOME/.local/share/eolie/ \\\n"
"  --ad-hoc eolie nss-certs dbus --  eolie\n"

#. type: table
#: guix-git/doc/guix.texi:6646
#, fuzzy
msgid "Set up the environment and check whether the shell would clobber environment variables.  @xref{Invoking guix shell, @option{--check}}, for more info."
msgstr "设置环境并检查 shell 是否会覆盖环境变量。有关更多信息,请参见 @xref{Invoking guix shell, @option{--check}}。"

#. type: table
#: guix-git/doc/guix.texi:6662
#, fuzzy
msgid "When this option is omitted, the environment is protected from garbage collection only for the duration of the @command{guix environment} session.  This means that next time you recreate the same environment, you could have to rebuild or re-download packages.  @xref{Invoking guix gc}, for more on GC roots."
msgstr "当省略此选项时,环境仅在 @command{guix environment} 会话期间受到垃圾回收的保护。这意味着下次您重新创建相同的环境时,可能需要重新构建或重新下载软件包。有关 GC 根的更多信息,请参见 @xref{Invoking guix gc}。"

#. type: example
#: guix-git/doc/guix.texi:6672
#, fuzzy, no-wrap
msgid "guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'\n"
msgstr "guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'\n"

#. type: example
#: guix-git/doc/guix.texi:6681
#, fuzzy, no-wrap
msgid "guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'\n"
msgstr "guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'\n"

#. type: example
#: guix-git/doc/guix.texi:6690
#, fuzzy, no-wrap
msgid "guix environment --ad-hoc -e '(list (@@ (gnu packages bash) bash) \"include\")'\n"
msgstr "guix environment --ad-hoc -e '(list (@@ (gnu packages bash) bash) \"include\")'\n"

#. type: item
#: guix-git/doc/guix.texi:6692
#, fuzzy, no-wrap
msgid "--load=@var{file}"
msgstr "--load=@var{file}"

#. type: itemx
#: guix-git/doc/guix.texi:6693
#, fuzzy, no-wrap
msgid "-l @var{file}"
msgstr "-l @var{file}"

#. type: table
#: guix-git/doc/guix.texi:6696
#, fuzzy
msgid "Create an environment for the package or list of packages that the code within @var{file} evaluates to."
msgstr "为 @var{file} 中评估的包或包列表创建一个环境。"

#. type: table
#: guix-git/doc/guix.texi:6717
#, fuzzy
msgid "@xref{shell-export-manifest, @command{guix shell --export-manifest}}, for information on how to ``convert'' command-line options into a manifest."
msgstr "有关如何将命令行选项“转换”为清单的信息,请参见 @xref{shell-export-manifest, @command{guix shell --export-manifest}}。"

#. type: item
#: guix-git/doc/guix.texi:6718
#, fuzzy, no-wrap
msgid "--ad-hoc"
msgstr "--临时"

#. type: table
#: guix-git/doc/guix.texi:6723
#, fuzzy
msgid "Include all specified packages in the resulting environment, as if an @i{ad hoc} package were defined with them as inputs.  This option is useful for quickly creating an environment without having to write a package expression to contain the desired inputs."
msgstr "将所有指定的包包含在结果环境中,就好像定义了一个@i{临时}包并将它们作为输入。这一选项对于快速创建一个环境而无需编写包含所需输入的包表达式非常有用。"

#. type: table
#: guix-git/doc/guix.texi:6725
#, fuzzy
msgid "For instance, the command:"
msgstr "例如,命令:"

#. type: example
#: guix-git/doc/guix.texi:6728
#, fuzzy, no-wrap
msgid "guix environment --ad-hoc guile guile-sdl -- guile\n"
msgstr "guix environment --临时 guile guile-sdl -- guile\n"

#. type: table
#: guix-git/doc/guix.texi:6732
#, fuzzy
msgid "runs @command{guile} in an environment where Guile and Guile-SDL are available."
msgstr "在一个可用Guile和Guile-SDL的环境中运行@command{guile}。"

#. type: table
#: guix-git/doc/guix.texi:6737
#, fuzzy
msgid "Note that this example implicitly asks for the default output of @code{guile} and @code{guile-sdl}, but it is possible to ask for a specific output---e.g., @code{glib:bin} asks for the @code{bin} output of @code{glib} (@pxref{Packages with Multiple Outputs})."
msgstr "请注意,这个示例隐含地请求@code{guile}和@code{guile-sdl}的默认输出,但可以请求特定的输出——例如,@code{glib:bin}请求@code{glib}的@code{bin}输出(@pxref{具有多个输出的包})。"

#. type: table
#: guix-git/doc/guix.texi:6743
#, fuzzy
msgid "This option may be composed with the default behavior of @command{guix environment}.  Packages appearing before @option{--ad-hoc} are interpreted as packages whose dependencies will be added to the environment, the default behavior.  Packages appearing after are interpreted as packages that will be added to the environment directly."
msgstr "此选项可以与@command{guix environment}的默认行为组合。出现在@option{--临时}之前的包被解释为其依赖项将被添加到环境中的包,这是默认行为。出现在之后的包被解释为将直接添加到环境中的包。"

#. type: example
#: guix-git/doc/guix.texi:6765
#, fuzzy, no-wrap
msgid ""
"guix environment --pure --preserve=^SLURM --ad-hoc openmpi @dots{} \\\n"
"  -- mpirun @dots{}\n"
msgstr ""
"guix environment --pure --preserve=^SLURM --临时 openmpi @dots{} \\\n"
"  -- mpirun @dots{}\n"

#. type: table
#: guix-git/doc/guix.texi:6808
#, fuzzy
msgid "For containers, link the environment profile to @file{~/.guix-profile} within the container and set @code{GUIX_ENVIRONMENT} to that.  This is equivalent to making @file{~/.guix-profile} a symlink to the actual profile within the container.  Linking will fail and abort the environment if the directory already exists, which will certainly be the case if @command{guix environment} was invoked in the user's home directory."
msgstr "对于容器,将环境配置文件链接到容器内的@file{~/.guix-profile}并将@code{GUIX_ENVIRONMENT}设置为该文件。这相当于将@file{~/.guix-profile}作为指向容器内实际配置文件的符号链接。如果目录已经存在,链接将失败并中止环境,这在@command{guix environment}在用户的主目录中被调用时肯定会发生。"

#. type: example
#: guix-git/doc/guix.texi:6835
#, fuzzy, no-wrap
msgid ""
"# will expose paths as /home/foo/wd, /home/foo/test, and /home/foo/target\n"
"cd $HOME/wd\n"
"guix environment --container --user=foo \\\n"
"     --expose=$HOME/test \\\n"
"     --expose=/tmp/target=$HOME/target\n"
msgstr ""
"# 将路径暴露为/home/foo/wd、/home/foo/test和/home/foo/target\n"
"cd $HOME/wd\n"
"guix environment --container --user=foo \\\n"
"     --expose=$HOME/test \\\n"
"     --expose=/tmp/target=$HOME/target\n"

#. type: example
#: guix-git/doc/guix.texi:6863
#, fuzzy, no-wrap
msgid "guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile\n"
msgstr "guix environment --container --expose=$HOME=/exchange --临时 guile -- guile\n"

#. type: table
#: guix-git/doc/guix.texi:6880
#, fuzzy
msgid "For containers, emulate a Filesystem Hierarchy Standard (FHS)  configuration within the container, see @uref{https://refspecs.linuxfoundation.org/fhs.shtml, the official specification}.  As Guix deviates from the FHS specification, this option sets up the container to more closely mimic that of other GNU/Linux distributions.  This is useful for reproducing other development environments, testing, and using programs which expect the FHS specification to be followed.  With this option, the container will include a version of @code{glibc} which will read @code{/etc/ld.so.cache} within the container for the shared library cache (contrary to @code{glibc} in regular Guix usage) and set up the expected FHS directories: @code{/bin}, @code{/etc}, @code{/lib}, and @code{/usr} from the container's profile."
msgstr "对于容器,在容器内模拟文件系统层次标准(FHS)配置,参见@uref{https://refspecs.linuxfoundation.org/fhs.shtml, 官方规范}。由于Guix偏离了FHS规范,此选项设置容器以更接近其他GNU/Linux发行版的方式进行模拟。这对于重现其他开发环境、测试和使用期望遵循FHS规范的程序非常有用。使用此选项,容器将包含一个版本的@code{glibc},该版本将在容器内读取@code{/etc/ld.so.cache}以获取共享库缓存(与常规Guix使用中的@code{glibc}相反),并设置预期的FHS目录:@code{/bin}、@code{/etc}、@code{/lib}和@code{/usr},这些目录来自容器的配置文件。"

#. type: Plain text
#: guix-git/doc/guix.texi:6887
#, fuzzy
msgid "@command{guix environment} also supports all of the common build options that @command{guix build} supports (@pxref{Common Build Options}) as well as package transformation options (@pxref{Package Transformation Options})."
msgstr "@command{guix environment} 还支持 @command{guix build} 支持的所有常见构建选项 (@pxref{Common Build Options}) 以及软件包转换选项 (@pxref{Package Transformation Options})."

#. type: section
#: guix-git/doc/guix.texi:6889
#, fuzzy, no-wrap
msgid "Invoking @command{guix pack}"
msgstr "调用 @command{guix pack}"

#. type: command{#1}
#: guix-git/doc/guix.texi:6891
#, no-wrap
msgid "guix pack"
msgstr "guix pack"

#. type: Plain text
#: guix-git/doc/guix.texi:6897
#, fuzzy
msgid "Occasionally you want to pass software to people who are not (yet!)  lucky enough to be using Guix.  You'd tell them to run @command{guix package -i @var{something}}, but that's not possible in this case.  This is where @command{guix pack} comes in."
msgstr "有时你想把软件传递给那些还没有(但希望能)使用 Guix 的人。你会告诉他们运行 @command{guix package -i @var{something}},但在这种情况下这是不可能的。这就是 @command{guix pack} 的用武之地。"

#. type: quotation
#: guix-git/doc/guix.texi:6902
#, fuzzy
msgid "If you are looking for ways to exchange binaries among machines that already run Guix, @pxref{Invoking guix copy}, @ref{Invoking guix publish}, and @ref{Invoking guix archive}."
msgstr "如果你在寻找在已经运行 Guix 的机器之间交换二进制文件的方法,可以参考 @pxref{Invoking guix copy}、@ref{Invoking guix publish} 和 @ref{Invoking guix archive}."

#. type: cindex
#: guix-git/doc/guix.texi:6904
#, fuzzy, no-wrap
msgid "pack"
msgstr "打包"

#. type: cindex
#: guix-git/doc/guix.texi:6905
#, fuzzy, no-wrap
msgid "bundle"
msgstr "捆绑"

#. type: cindex
#: guix-git/doc/guix.texi:6906
#, fuzzy, no-wrap
msgid "application bundle"
msgstr "应用程序捆绑"

#. type: cindex
#: guix-git/doc/guix.texi:6907
#, fuzzy, no-wrap
msgid "software bundle"
msgstr "软件捆绑"

#. type: Plain text
#: guix-git/doc/guix.texi:6916
#, fuzzy
msgid "The @command{guix pack} command creates a shrink-wrapped @dfn{pack} or @dfn{software bundle}: it creates a tarball or some other archive containing the binaries of the software you're interested in, and all its dependencies.  The resulting archive can be used on any machine that does not have Guix, and people can run the exact same binaries as those you have with Guix.  The pack itself is created in a bit-reproducible fashion, so anyone can verify that it really contains the build results that you pretend to be shipping."
msgstr "@command{guix pack} 命令创建一个缩小包装的 @dfn{打包} 或 @dfn{软件捆绑}:它创建一个包含你感兴趣的软件的二进制文件及其所有依赖项的 tarball 或其他归档文件。生成的归档可以在任何没有 Guix 的机器上使用,人们可以运行与使用 Guix 的你完全相同的二进制文件。打包本身是以可重复的方式创建的,因此任何人都可以验证它确实包含你声称要发送的构建结果。"

#. type: Plain text
#: guix-git/doc/guix.texi:6919
#, fuzzy
msgid "For example, to create a bundle containing Guile, Emacs, Geiser, and all their dependencies, you can run:"
msgstr "例如,要创建一个包含 Guile、Emacs、Geiser 及其所有依赖项的捆绑,你可以运行:"

#. type: example
#: guix-git/doc/guix.texi:6924
#, fuzzy, no-wrap
msgid ""
"$ guix pack guile emacs emacs-geiser\n"
"@dots{}\n"
"/gnu/store/@dots{}-pack.tar.gz\n"
msgstr ""
"$ guix pack guile emacs emacs-geiser\n"
"@dots{}\n"
"/gnu/store/@dots{}-pack.tar.gz\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6932
#, fuzzy
msgid "The result here is a tarball containing a @file{/gnu/store} directory with all the relevant packages.  The resulting tarball contains a @dfn{profile} with the three packages of interest; the profile is the same as would be created by @command{guix package -i}.  It is this mechanism that is used to create Guix's own standalone binary tarball (@pxref{Binary Installation})."
msgstr "这里的结果是一个 tarball,包含一个 @file{/gnu/store} 目录,里面有所有相关的软件包。生成的 tarball 包含一个 @dfn{配置文件},其中有三个感兴趣的软件包;该配置文件与 @command{guix package -i} 创建的配置文件相同。正是这个机制用于创建 Guix 自身的独立二进制 tarball (@pxref{Binary Installation})."

#. type: Plain text
#: guix-git/doc/guix.texi:6937
#, fuzzy
msgid "Users of this pack would have to run @file{/gnu/store/@dots{}-profile/bin/guile} to run Guile, which you may find inconvenient.  To work around it, you can create, say, a @file{/opt/gnu/bin} symlink to the profile:"
msgstr "使用此打包的用户必须运行 @file{/gnu/store/@dots{}-profile/bin/guile} 来运行 Guile,这可能会让你觉得不方便。为了解决这个问题,你可以创建一个 @file{/opt/gnu/bin} 的符号链接指向配置文件:"

#. type: example
#: guix-git/doc/guix.texi:6940
#, fuzzy, no-wrap
msgid "guix pack -S /opt/gnu/bin=bin guile emacs emacs-geiser\n"
msgstr "guix package -i emacs guile emacs-geiser\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6944
#, fuzzy
msgid "That way, users can happily type @file{/opt/gnu/bin/guile} and enjoy."
msgstr "这样,用户可以愉快地输入 @file{/opt/gnu/bin/guile} 并享受。"

#. type: cindex
#: guix-git/doc/guix.texi:6945
#, fuzzy, no-wrap
msgid "relocatable binaries, with @command{guix pack}"
msgstr "可重定位的二进制文件,使用 @command{guix pack}"

#. type: Plain text
#: guix-git/doc/guix.texi:6953
#, fuzzy
msgid "What if the recipient of your pack does not have root privileges on their machine, and thus cannot unpack it in the root file system? In that case, you will want to use the @option{--relocatable} option (see below).  This option produces @dfn{relocatable binaries}, meaning they can be placed anywhere in the file system hierarchy: in the example above, users can unpack your tarball in their home directory and directly run @file{./opt/gnu/bin/guile}."
msgstr "如果您的包的接收者在他们的机器上没有根权限,因此无法在根文件系统中解压缩该包,该怎么办?在这种情况下,您将希望使用 @option{--relocatable} 选项(见下文)。此选项生成 @dfn{可重定位的二进制文件},意味着它们可以放置在文件系统层次结构中的任何位置:在上面的示例中,用户可以在他们的主目录中解压缩您的 tarball,并直接运行 @file{./opt/gnu/bin/guile}。"

#. type: cindex
#: guix-git/doc/guix.texi:6954
#, fuzzy, no-wrap
msgid "Docker, build an image with guix pack"
msgstr "Docker,使用 guix pack 构建镜像"

#. type: Plain text
#: guix-git/doc/guix.texi:6957
#, fuzzy
msgid "Alternatively, you can produce a pack in the Docker image format using the following command:"
msgstr "或者,您可以使用以下命令生成 Docker 镜像格式的包:"

#. type: example
#: guix-git/doc/guix.texi:6960
#, fuzzy, no-wrap
msgid "guix pack -f docker -S /bin=bin guile guile-readline\n"
msgstr "guix pack -f docker -S /bin=bin guile guile-readline\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6965
#, fuzzy
msgid "The result is a tarball that can be passed to the @command{docker load} command, followed by @code{docker run}:"
msgstr "结果是一个 tarball,可以传递给 @command{docker load} 命令,然后是 @code{docker run}:"

#. type: example
#: guix-git/doc/guix.texi:6969
#, fuzzy, no-wrap
msgid ""
"docker load < @var{file}\n"
"docker run -ti guile-guile-readline /bin/guile\n"
msgstr ""
"docker load < @var{file}\n"
"docker run -ti guile-guile-readline /bin/guile\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6976
#, fuzzy
msgid "where @var{file} is the image returned by @command{guix pack}, and @code{guile-guile-readline} is its ``image tag''.  See the @uref{https://docs.docker.com/engine/reference/commandline/load/, Docker documentation} for more information."
msgstr "其中 @var{file} 是 @command{guix pack} 返回的镜像,而 @code{guile-guile-readline} 是它的“镜像标签”。有关更多信息,请参见 @uref{https://docs.docker.com/engine/reference/commandline/load/, Docker 文档}。"

#. type: cindex
#: guix-git/doc/guix.texi:6977
#, fuzzy, no-wrap
msgid "Singularity, build an image with guix pack"
msgstr "Singularity,使用 guix pack 构建镜像"

#. type: cindex
#: guix-git/doc/guix.texi:6978
#, fuzzy, no-wrap
msgid "SquashFS, build an image with guix pack"
msgstr "SquashFS,使用 guix pack 构建镜像"

#. type: Plain text
#: guix-git/doc/guix.texi:6981
#, fuzzy
msgid "Yet another option is to produce a SquashFS image with the following command:"
msgstr "另一个选项是使用以下命令生成 SquashFS 镜像:"

#. type: example
#: guix-git/doc/guix.texi:6984
#, fuzzy, no-wrap
msgid "guix pack -f squashfs bash guile emacs emacs-geiser\n"
msgstr "guix package -i emacs guile emacs-geiser\n"

#. type: Plain text
#: guix-git/doc/guix.texi:6992
#, fuzzy
msgid "The result is a SquashFS file system image that can either be mounted or directly be used as a file system container image with the @uref{https://www.sylabs.io/docs/, Singularity container execution environment}, using commands like @command{singularity shell} or @command{singularity exec}."
msgstr "结果是一个 SquashFS 文件系统镜像,可以挂载或直接用作文件系统容器镜像,使用 @uref{https://www.sylabs.io/docs/, Singularity 容器执行环境},使用 @command{singularity shell} 或 @command{singularity exec} 等命令。"

#. type: cindex
#: guix-git/doc/guix.texi:6993 guix-git/doc/guix.texi:7120
#, fuzzy, no-wrap
msgid "AppImage, create an AppImage file with @command{guix pack}"
msgstr "AppImage,使用 @command{guix pack} 创建 AppImage 文件"

#. type: Plain text
#: guix-git/doc/guix.texi:6997
#, fuzzy
msgid "Another format internally based on SquashFS is @uref{https://appimage.org/, AppImage}. An AppImage file can be created and executed without any special privileges:"
msgstr "另一种基于 SquashFS 的内部格式是 @uref{https://appimage.org/, AppImage}。可以创建和执行 AppImage 文件,而无需任何特殊权限:"

#. type: example
#: guix-git/doc/guix.texi:7001
#, fuzzy, no-wrap
msgid ""
"file=$(guix pack -f appimage --entry-point=bin/guile guile)\n"
"$file --help\n"
msgstr ""
"file=$(guix pack -f appimage --entry-point=bin/guile guile)\n"
"$file --help\n"

#. type: Plain text
#: guix-git/doc/guix.texi:7004
#, fuzzy
msgid "Several command-line options allow you to customize your pack:"
msgstr "几个命令行选项允许您自定义您的包:"

#. type: table
#: guix-git/doc/guix.texi:7009
#, fuzzy
msgid "Produce a pack in the given @var{format}."
msgstr "生成给定 @var{format} 的包。"

#. type: table
#: guix-git/doc/guix.texi:7011
#, fuzzy
msgid "The available formats are:"
msgstr "可用的格式有:"

#. type: item
#: guix-git/doc/guix.texi:7013
#, fuzzy, no-wrap
msgid "tarball"
msgstr "tarball"

#. type: table
#: guix-git/doc/guix.texi:7016
#, fuzzy
msgid "This is the default format.  It produces a tarball containing all the specified binaries and symlinks."
msgstr "这是默认格式。它生成一个包含所有指定二进制文件和符号链接的 tarball。"

#. type: item
#: guix-git/doc/guix.texi:7017
#, fuzzy, no-wrap
msgid "docker"
msgstr "docker"

#. type: table
#: guix-git/doc/guix.texi:7026
#, fuzzy
msgid "This produces a tarball that follows the @uref{https://github.com/docker/docker/blob/master/image/spec/v1.2.md, Docker Image Specification}.  By default, the ``repository name'' as it appears in the output of the @command{docker images} command is computed from package names passed on the command line or in the manifest file.  Alternatively, the ``repository name'' can also be configured via the @option{--image-tag} option.  Refer to @option{--help-docker-format} for more information on such advanced options."
msgstr "这会生成一个遵循 @uref{https://github.com/docker/docker/blob/master/image/spec/v1.2.md, Docker 镜像规范} 的 tarball。默认情况下,输出 @command{docker images} 命令中的“仓库名称”是根据命令行或清单文件中传递的包名称计算得出的。或者,“仓库名称”也可以通过 @option{--image-tag} 选项进行配置。有关此类高级选项的更多信息,请参阅 @option{--help-docker-format}。"

#. type: item
#: guix-git/doc/guix.texi:7027
#, fuzzy, no-wrap
msgid "squashfs"
msgstr "squashfs"

#. type: table
#: guix-git/doc/guix.texi:7031
#, fuzzy
msgid "This produces a SquashFS image containing all the specified binaries and symlinks, as well as empty mount points for virtual file systems like procfs."
msgstr "这会生成一个包含所有指定二进制文件和符号链接的 SquashFS 镜像,以及用于虚拟文件系统(如 procfs)的空挂载点。"

#. type: quotation
#: guix-git/doc/guix.texi:7037
#, fuzzy
msgid "Singularity @emph{requires} you to provide @file{/bin/sh} in the image.  For that reason, @command{guix pack -f squashfs} always implies @code{-S /bin=bin}.  Thus, your @command{guix pack} invocation must always start with something like:"
msgstr "Singularity @emph{要求} 您在镜像中提供 @file{/bin/sh}。因此,@command{guix pack -f squashfs} 始终隐含 @code{-S /bin=bin}。因此,您的 @command{guix pack} 调用必须始终以类似以下内容开始:"

#. type: example
#: guix-git/doc/guix.texi:7040
#, fuzzy, no-wrap
msgid "guix pack -f squashfs bash @dots{}\n"
msgstr "guix pack -f squashfs bash @dots{}\n"

#. type: quotation
#: guix-git/doc/guix.texi:7045
#, fuzzy
msgid "If you forget the @code{bash} (or similar) package, @command{singularity run} and @command{singularity exec} will fail with an unhelpful ``no such file or directory'' message."
msgstr "如果您忘记了 @code{bash}(或类似)包,@command{singularity run} 和 @command{singularity exec} 将会以无用的“没有此文件或目录”消息失败。"

#. type: item
#: guix-git/doc/guix.texi:7047
#, fuzzy, no-wrap
msgid "deb"
msgstr "--debug"

#. type: cindex
#: guix-git/doc/guix.texi:7048
#, fuzzy, no-wrap
msgid "Debian, build a .deb package with guix pack"
msgstr "Debian,使用 guix pack 构建 .deb 包"

#. type: table
#: guix-git/doc/guix.texi:7056
#, fuzzy
msgid "This produces a Debian archive (a package with the @samp{.deb} file extension) containing all the specified binaries and symbolic links, that can be installed on top of any dpkg-based GNU(/Linux) distribution.  Advanced options can be revealed via the @option{--help-deb-format} option.  They allow embedding control files for more fine-grained control, such as activating specific triggers or providing a maintainer configure script to run arbitrary setup code upon installation."
msgstr "这会生成一个 Debian 存档(带有 @samp{.deb} 文件扩展名的包),其中包含所有指定的二进制文件和符号链接,可以在任何基于 dpkg 的 GNU(/Linux) 发行版上安装。可以通过 @option{--help-deb-format} 选项显示高级选项。它们允许嵌入控制文件以进行更细粒度的控制,例如激活特定触发器或提供维护者配置脚本,以在安装时运行任意设置代码。"

#. type: example
#: guix-git/doc/guix.texi:7059
#, fuzzy, no-wrap
msgid "guix pack -f deb -C xz -S /usr/bin/hello=bin/hello hello\n"
msgstr "guix pack -f deb -C xz -S /usr/bin/hello=bin/hello hello\n"

#. type: quotation
#: guix-git/doc/guix.texi:7067
#, fuzzy
msgid "Because archives produced with @command{guix pack} contain a collection of store items and because each @command{dpkg} package must not have conflicting files, in practice that means you likely won't be able to install more than one such archive on a given system.  You can nonetheless pack as many Guix packages as you want in one such archive."
msgstr "由于使用 @command{guix pack} 生成的存档包含一组存储项,并且每个 @command{dpkg} 包不能有冲突的文件,因此在实践中,这意味着您可能无法在给定系统上安装多个此类存档。尽管如此,您仍然可以在一个存档中打包任意数量的 Guix 包。"

#. type: quotation
#: guix-git/doc/guix.texi:7075
#, fuzzy
msgid "@command{dpkg} will assume ownership of any files contained in the pack that it does @emph{not} know about.  It is unwise to install Guix-produced @samp{.deb} files on a system where @file{/gnu/store} is shared by other software, such as a Guix installation or other, non-deb packs."
msgstr "@command{dpkg} 将假定对包中包含的任何文件拥有所有权,这些文件是它 @emph{不知道} 的。在一个 @file{/gnu/store} 被其他软件共享的系统上安装 Guix 生成的 @samp{.deb} 文件是不明智的,例如 Guix 安装或其他非 deb 包。"

#. type: item
#: guix-git/doc/guix.texi:7077
#, fuzzy, no-wrap
msgid "rpm"
msgstr "rpm"

#. type: cindex
#: guix-git/doc/guix.texi:7078
#, fuzzy, no-wrap
msgid "RPM, build an RPM archive with guix pack"
msgstr "RPM,使用 guix pack 构建 RPM 存档"

#. type: table
#: guix-git/doc/guix.texi:7084
#, fuzzy
msgid "This produces an RPM archive (a package with the @samp{.rpm} file extension) containing all the specified binaries and symbolic links, that can be installed on top of any RPM-based GNU/Linux distribution.  The RPM format embeds checksums for every file it contains, which the @command{rpm} command uses to validate the integrity of the archive."
msgstr "这将生成一个 RPM 存档(一个带有 @samp{.rpm} 文件扩展名的包),其中包含所有指定的二进制文件和符号链接,可以在任何基于 RPM 的 GNU/Linux 发行版上安装。RPM 格式为其包含的每个文件嵌入了校验和,@command{rpm} 命令使用这些校验和来验证存档的完整性。"

#. type: table
#: guix-git/doc/guix.texi:7089
#, fuzzy
msgid "Advanced RPM-related options are revealed via the @option{--help-rpm-format} option.  These options allow embedding maintainer scripts that can run before or after the installation of the RPM archive, for example."
msgstr "通过 @option{--help-rpm-format} 选项可以显示高级 RPM 相关选项。这些选项允许嵌入维护者脚本,这些脚本可以在 RPM 存档安装之前或之后运行,例如。"

#. type: table
#: guix-git/doc/guix.texi:7093
#, fuzzy
msgid "The RPM format supports relocatable packages via the @option{--prefix} option of the @command{rpm} command, which can be handy to install an RPM package to a specific prefix."
msgstr "RPM 格式通过 @command{rpm} 命令的 @option{--prefix} 选项支持可重定位包,这在将 RPM 包安装到特定前缀时非常方便。"

#. type: example
#: guix-git/doc/guix.texi:7096
#, fuzzy, no-wrap
msgid "guix pack -f rpm -R -C xz -S /usr/bin/hello=bin/hello hello\n"
msgstr "guix pack -f rpm -R -C xz -S /usr/bin/hello=bin/hello hello\n"

#. type: example
#: guix-git/doc/guix.texi:7100
#, fuzzy, no-wrap
msgid "sudo rpm --install --prefix=/opt /gnu/store/...-hello.rpm\n"
msgstr "sudo rpm --install --prefix=/opt /gnu/store/...-hello.rpm\n"

#. type: quotation
#: guix-git/doc/guix.texi:7107
#, fuzzy
msgid "Contrary to Debian packages, conflicting but @emph{identical} files in RPM packages can be installed simultaneously, which means multiple @command{guix pack}-produced RPM packages can usually be installed side by side without any problem."
msgstr "与 Debian 包相反,RPM 包中冲突但 @emph{相同} 的文件可以同时安装,这意味着多个 @command{guix pack} 生成的 RPM 包通常可以并排安装而不会出现任何问题。"

#. type: quotation
#: guix-git/doc/guix.texi:7117
#, fuzzy
msgid "@command{rpm} assumes ownership of any files contained in the pack, which means it will remove @file{/gnu/store} upon uninstalling a Guix-generated RPM package, unless the RPM package was installed with the @option{--prefix} option of the @command{rpm} command.  It is unwise to install Guix-produced @samp{.rpm} packages on a system where @file{/gnu/store} is shared by other software, such as a Guix installation or other, non-rpm packs."
msgstr "@command{rpm} 假定对包中包含的任何文件拥有所有权,这意味着在卸载 Guix 生成的 RPM 包时,它将删除 @file{/gnu/store},除非该 RPM 包是使用 @command{rpm} 命令的 @option{--prefix} 选项安装的。在一个 @file{/gnu/store} 被其他软件共享的系统上安装 Guix 生成的 @samp{.rpm} 包是不明智的,例如 Guix 安装或其他非 rpm 包。"

#. type: item
#: guix-git/doc/guix.texi:7119
#, fuzzy, no-wrap
msgid "appimage"
msgstr "image"

#. type: table
#: guix-git/doc/guix.texi:7127
#, fuzzy
msgid "This produces an @uref{https://appimage.org/, AppImage file} with the @samp{.AppImage} extension.  AppImage is a SquashFS volume prefixed with a runtime that mounts the SquashFS file system and executes the binary provided with @option{--entry-point}.  This results in a self-contained archive that bundles the software and all its requirements into a single file.  When the file is made executable it runs the packaged software."
msgstr "这将生成一个带有 @samp{.AppImage} 扩展名的 @uref{https://appimage.org/, AppImage 文件}。AppImage 是一个 SquashFS 卷,前面带有一个运行时,该运行时挂载 SquashFS 文件系统并执行使用 @option{--entry-point} 提供的二进制文件。这会生成一个自包含的存档,将软件及其所有要求打包到一个文件中。当该文件被设置为可执行时,它将运行打包的软件。"

#. type: example
#: guix-git/doc/guix.texi:7130
#, fuzzy, no-wrap
msgid "guix pack -f appimage --entry-point=bin/vlc vlc\n"
msgstr "guix pack -f appimage --entry-point=bin/vlc vlc\n"

#. type: table
#: guix-git/doc/guix.texi:7136
#, fuzzy
msgid "The runtime used by AppImages invokes the @command{fusermount3} command to mount the image quickly.  If that command is unavailable, the AppImage fails to run, but it can still be started by passing the @option{--appimage-extract-and-run} flag."
msgstr "AppImages 使用的运行时快速调用 @command{fusermount3} 命令来挂载映像。如果该命令不可用,AppImage 将无法运行,但仍然可以通过传递 @option{--appimage-extract-and-run} 标志来启动。"

#. type: quotation
#: guix-git/doc/guix.texi:7142
#, fuzzy
msgid "When building an AppImage, always @emph{pass} the @option{--relocatable} option (or @option{-R}, or @option{-RR}) to make sure the image can be used on systems where Guix is not installed.  A warning is printed when this option is not used."
msgstr "构建 AppImage 时,始终 @emph{传递} @option{--relocatable} 选项(或 @option{-R},或 @option{-RR}),以确保映像可以在未安装 Guix 的系统上使用。当未使用此选项时,会打印警告。"

#. type: example
#: guix-git/doc/guix.texi:7146
#, fuzzy, no-wrap
msgid "guix pack -f appimage --entry-point=bin/hello --relocatable hello\n"
msgstr "guix pack -f appimage --entry-point=bin/hello --relocatable hello\n"

#. type: quotation
#: guix-git/doc/guix.texi:7153
#, fuzzy
msgid "The resulting AppImage does not conform to the complete standard as it currently does not contain a @file{.DirIcon} file.  This does not impact functionality of the AppImage itself, but possibly that of software used to manage AppImages."
msgstr "生成的 AppImage 不符合完整标准,因为它当前不包含 @file{.DirIcon} 文件。这不会影响 AppImage 本身的功能,但可能会影响用于管理 AppImages 的软件。"

#. type: quotation
#: guix-git/doc/guix.texi:7159
#, fuzzy
msgid "As the generated AppImage packages the complete dependency graph, it will be larger than comparable AppImage files found online, which depend on host system libraries."
msgstr "由于生成的 AppImage 打包了完整的依赖关系图,因此它将比在线找到的可比 AppImage 文件更大,这些文件依赖于主机系统库。"

#. type: cindex
#: guix-git/doc/guix.texi:7163
#, fuzzy, no-wrap
msgid "relocatable binaries"
msgstr "可重定位的二进制文件"

#. type: item
#: guix-git/doc/guix.texi:7164
#, fuzzy, no-wrap
msgid "--relocatable"
msgstr "--relocatable"

#. type: table
#: guix-git/doc/guix.texi:7168
#, fuzzy
msgid "Produce @dfn{relocatable binaries}---i.e., binaries that can be placed anywhere in the file system hierarchy and run from there."
msgstr "生成 @dfn{可重定位的二进制文件}——即,可以放置在文件系统层次结构中的任何位置并从那里运行的二进制文件。"

#. type: table
#: guix-git/doc/guix.texi:7176
#, fuzzy
msgid "When this option is passed once, the resulting binaries require support for @dfn{user namespaces} in the kernel Linux; when passed @emph{twice}@footnote{Here's a trick to memorize it: @code{-RR}, which adds PRoot support, can be thought of as the abbreviation of ``Really Relocatable''.  Neat, isn't it?}, relocatable binaries fall to back to other techniques if user namespaces are unavailable, and essentially work anywhere---see below for the implications."
msgstr "当此选项传递一次时,生成的二进制文件需要内核 Linux 对 @dfn{用户命名空间} 的支持;当传递 @emph{两次} @footnote{这里有个记忆技巧:@code{-RR},它添加了 PRoot 支持,可以被视为“真正可重定位”的缩写。很巧妙,不是吗?},如果用户命名空间不可用,可重定位的二进制文件将回退到其他技术,并基本上可以在任何地方工作——请参见下面的影响。"

#. type: table
#: guix-git/doc/guix.texi:7178
#, fuzzy
msgid "For example, if you create a pack containing Bash with:"
msgstr "例如,如果您创建一个包含 Bash 的包,使用:"

#. type: example
#: guix-git/doc/guix.texi:7181
#, fuzzy, no-wrap
msgid "guix pack -RR -S /mybin=bin bash\n"
msgstr "guix pack -RR -S /mybin=bin bash\n"

#. type: table
#: guix-git/doc/guix.texi:7186
#, fuzzy
msgid "...@: you can copy that pack to a machine that lacks Guix, and from your home directory as a normal user, run:"
msgstr "...@: 您可以将该包复制到缺少 Guix 的机器上,并作为普通用户从您的主目录运行:"

#. type: example
#: guix-git/doc/guix.texi:7190
#, fuzzy, no-wrap
msgid ""
"tar xf pack.tar.gz\n"
"./mybin/sh\n"
msgstr ""
"tar xf pack.tar.gz\n"
"./mybin/sh\n"

#. type: table
#: guix-git/doc/guix.texi:7198
#, fuzzy
msgid "In that shell, if you type @code{ls /gnu/store}, you'll notice that @file{/gnu/store} shows up and contains all the dependencies of @code{bash}, even though the machine actually lacks @file{/gnu/store} altogether! That is probably the simplest way to deploy Guix-built software on a non-Guix machine."
msgstr "在该 shell 中,如果您输入 @code{ls /gnu/store},您会注意到 @file{/gnu/store} 出现并包含 @code{bash} 的所有依赖项,即使该机器实际上完全缺少 @file{/gnu/store}!这可能是将 Guix 构建的软件部署到非 Guix 机器上的最简单方法。"

#. type: quotation
#: guix-git/doc/guix.texi:7204
#, fuzzy
msgid "By default, relocatable binaries rely on the @dfn{user namespace} feature of the kernel Linux, which allows unprivileged users to mount or change root.  Old versions of Linux did not support it, and some GNU/Linux distributions turn it off."
msgstr "默认情况下,可重定位二进制文件依赖于 Linux 内核的 @dfn{用户命名空间} 功能,这允许非特权用户挂载或更改根目录。旧版本的 Linux 不支持此功能,一些 GNU/Linux 发行版将其关闭。"

#. type: quotation
#: guix-git/doc/guix.texi:7210
#, fuzzy
msgid "To produce relocatable binaries that work even in the absence of user namespaces, pass @option{--relocatable} or @option{-R} @emph{twice}.  In that case, binaries will try user namespace support and fall back to another @dfn{execution engine} if user namespaces are not supported.  The following execution engines are supported:"
msgstr "要生成即使在没有用户命名空间的情况下也能工作的可重定位二进制文件,请传递 @option{--relocatable} 或 @option{-R} @emph{两次}。在这种情况下,二进制文件将尝试用户命名空间支持,如果不支持用户命名空间,则回退到另一个 @dfn{执行引擎}。支持以下执行引擎:"

#. type: item
#: guix-git/doc/guix.texi:7212 guix-git/doc/guix.texi:21604
#, fuzzy, no-wrap
msgid "default"
msgstr "默认"

#. type: table
#: guix-git/doc/guix.texi:7215
#, fuzzy
msgid "Try user namespaces and fall back to PRoot if user namespaces are not supported (see below)."
msgstr "尝试用户命名空间,如果不支持用户命名空间则回退到 PRoot(见下文)。"

#. type: item
#: guix-git/doc/guix.texi:7216
#, no-wrap
msgid "performance"
msgstr "performance"

#. type: table
#: guix-git/doc/guix.texi:7219
#, fuzzy
msgid "Try user namespaces and fall back to Fakechroot if user namespaces are not supported (see below)."
msgstr "尝试用户命名空间,如果不支持用户命名空间则回退到 Fakechroot(见下文)。"

#. type: item
#: guix-git/doc/guix.texi:7220
#, no-wrap
msgid "userns"
msgstr "userns"

#. type: table
#: guix-git/doc/guix.texi:7223
#, fuzzy
msgid "Run the program through user namespaces and abort if they are not supported."
msgstr "通过用户命名空间运行程序,如果不支持则中止。"

#. type: item
#: guix-git/doc/guix.texi:7224
#, no-wrap
msgid "proot"
msgstr "proot"

#. type: table
#: guix-git/doc/guix.texi:7231
#, fuzzy
msgid "Run through PRoot.  The @uref{https://proot-me.github.io/, PRoot} program provides the necessary support for file system virtualization.  It achieves that by using the @code{ptrace} system call on the running program.  This approach has the advantage to work without requiring special kernel support, but it incurs run-time overhead every time a system call is made."
msgstr "通过 PRoot 运行。 @uref{https://proot-me.github.io/, PRoot} 程序提供文件系统虚拟化所需的支持。它通过在运行的程序上使用 @code{ptrace} 系统调用来实现。这种方法的优点是无需特殊的内核支持,但每次进行系统调用时都会产生运行时开销。"

#. type: item
#: guix-git/doc/guix.texi:7232
#, no-wrap
msgid "fakechroot"
msgstr "fakechroot"

#. type: table
#: guix-git/doc/guix.texi:7240
#, fuzzy
msgid "Run through Fakechroot.  @uref{https://github.com/dex4er/fakechroot/, Fakechroot} virtualizes file system accesses by intercepting calls to C library functions such as @code{open}, @code{stat}, @code{exec}, and so on.  Unlike PRoot, it incurs very little overhead.  However, it does not always work: for example, some file system accesses made from within the C library are not intercepted, and file system accesses made @i{via} direct syscalls are not intercepted either, leading to erratic behavior."
msgstr "通过 Fakechroot 运行。 @uref{https://github.com/dex4er/fakechroot/, Fakechroot} 通过拦截对 C 库函数(如 @code{open}、@code{stat}、@code{exec} 等)的调用来虚拟化文件系统访问。与 PRoot 不同,它的开销非常小。然而,它并不总是有效:例如,从 C 库内部进行的一些文件系统访问不会被拦截,而通过直接系统调用进行的文件系统访问也不会被拦截,导致不稳定的行为。"

#. type: vindex
#: guix-git/doc/guix.texi:7242
#, fuzzy, no-wrap
msgid "GUIX_EXECUTION_ENGINE"
msgstr "GUIX_EXECUTION_ENGINE"

#. type: quotation
#: guix-git/doc/guix.texi:7246
#, fuzzy
msgid "When running a wrapped program, you can explicitly request one of the execution engines listed above by setting the @env{GUIX_EXECUTION_ENGINE} environment variable accordingly."
msgstr "运行包装程序时,可以通过相应地设置 @env{GUIX_EXECUTION_ENGINE} 环境变量来显式请求上述列出的执行引擎之一。"

#. type: cindex
#: guix-git/doc/guix.texi:7248
#, fuzzy, no-wrap
msgid "entry point, for Docker and Singularity images"
msgstr "入口点,适用于 Docker 和 Singularity 镜像"

#. type: item
#: guix-git/doc/guix.texi:7249
#, fuzzy, no-wrap
msgid "--entry-point=@var{command}"
msgstr "--timeout=@var{seconds}"

#. type: table
#: guix-git/doc/guix.texi:7254
#, fuzzy
msgid "Use @var{command} as the @dfn{entry point} of the resulting pack, if the pack format supports it---currently @code{docker}, @code{appimage}, and @code{squashfs} (Singularity) support it.  @var{command} must be relative to the profile contained in the pack."
msgstr "如果包格式支持,请使用 @var{command} 作为生成包的 @dfn{入口点}——目前 @code{docker}、@code{appimage} 和 @code{squashfs}(Singularity)支持此功能。 @var{command} 必须相对于包中包含的配置文件。"

#. type: table
#: guix-git/doc/guix.texi:7258
#, fuzzy
msgid "The entry point specifies the command that tools like @code{docker run} or @code{singularity run} automatically start by default.  For example, you can do:"
msgstr "入口点指定了像 @code{docker run} 或 @code{singularity run} 这样的工具默认自动启动的命令。例如,你可以这样做:"

#. type: example
#: guix-git/doc/guix.texi:7261
#, fuzzy, no-wrap
msgid "guix pack -f docker --entry-point=bin/guile guile\n"
msgstr "guix pack -f docker --entry-point=bin/guile guile\n"

#. type: table
#: guix-git/doc/guix.texi:7265
#, fuzzy
msgid "The resulting pack can easily be loaded and @code{docker run} with no extra arguments will spawn @code{bin/guile}:"
msgstr "生成的包可以轻松加载,且 @code{docker run} 在没有额外参数的情况下将启动 @code{bin/guile}:"

#. type: example
#: guix-git/doc/guix.texi:7269
#, fuzzy, no-wrap
msgid ""
"docker load -i pack.tar.gz\n"
"docker run @var{image-id}\n"
msgstr ""
"docker load -i pack.tar.gz\n"
"docker run @var{image-id}\n"

#. type: cindex
#: guix-git/doc/guix.texi:7271
#, fuzzy, no-wrap
msgid "entry point arguments, for docker images"
msgstr "入口点参数,针对 docker 镜像"

#. type: item
#: guix-git/doc/guix.texi:7272
#, fuzzy, no-wrap
msgid "--entry-point-argument=@var{command}"
msgstr "--timeout=@var{seconds}"

#. type: itemx
#: guix-git/doc/guix.texi:7273
#, fuzzy, no-wrap
msgid "-A @var{command}"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:7277
#, fuzzy
msgid "Use @var{command} as an argument to @dfn{entry point} of the resulting pack.  This option is only valid in conjunction with @code{--entry-point} and can appear multiple times on the command line."
msgstr "将 @var{command} 用作生成包的 @dfn{入口点} 的参数。此选项仅在与 @code{--entry-point} 一起使用时有效,并且可以在命令行中多次出现。"

#. type: example
#: guix-git/doc/guix.texi:7280
#, fuzzy, no-wrap
msgid "guix pack -f docker --entry-point=bin/guile --entry-point-argument=\"--help\" guile\n"
msgstr "guix pack -f docker --entry-point=bin/guile --entry-point-argument=\"--help\" guile\n"

#. type: cindex
#: guix-git/doc/guix.texi:7282
#, fuzzy, no-wrap
msgid "maximum layers argument, for docker images"
msgstr "最大层数参数,针对 docker 镜像"

#. type: item
#: guix-git/doc/guix.texi:7283
#, fuzzy, no-wrap
msgid "--max-layers=@code{n}"
msgstr "--max-jobs=@var{n}"

#. type: table
#: guix-git/doc/guix.texi:7286
#, fuzzy
msgid "Specifies the maximum number of Docker image layers allowed when building an image."
msgstr "指定构建镜像时允许的最大 Docker 镜像层数。"

#. type: example
#: guix-git/doc/guix.texi:7289
#, fuzzy, no-wrap
msgid "guix pack -f docker --max-layers=100 guile\n"
msgstr "guix pack -f docker --max-layers=100 guile\n"

#. type: table
#: guix-git/doc/guix.texi:7295
#, fuzzy
msgid "This option allows you to limit the number of layers in a Docker image.  Docker images are comprised of multiple layers, and each layer adds to the overall size and complexity of the image.  By setting a maximum number of layers, you can control the following effects:"
msgstr "此选项允许你限制 Docker 镜像中的层数。Docker 镜像由多个层组成,每一层都会增加镜像的整体大小和复杂性。通过设置最大层数,你可以控制以下效果:"

#. type: item
#: guix-git/doc/guix.texi:7297
#, fuzzy, no-wrap
msgid "Disk Usage:"
msgstr "磁盘使用:"

#. type: itemize
#: guix-git/doc/guix.texi:7300
#, fuzzy
msgid "Increasing the number of layers can help optimize the disk space required to store multiple images built with a similar package graph."
msgstr "增加层数可以帮助优化存储多个使用相似包图构建的镜像所需的磁盘空间。"

#. type: item
#: guix-git/doc/guix.texi:7301
#, fuzzy, no-wrap
msgid "Pulling:"
msgstr "构建"

#. type: itemize
#: guix-git/doc/guix.texi:7304
#, fuzzy
msgid "When transferring images between different nodes or systems, having more layers can reduce the time required to pull the image."
msgstr "在不同节点或系统之间传输镜像时,拥有更多层可以减少拉取镜像所需的时间。"

#. type: table
#: guix-git/doc/guix.texi:7309 guix-git/doc/guix.texi:15033
#: guix-git/doc/guix.texi:15740 guix-git/doc/guix.texi:16150
#: guix-git/doc/guix.texi:16869
#, fuzzy
msgid "Consider the package @var{expr} evaluates to."
msgstr "考虑包 @var{expr} 的评估结果。"

#. type: table
#: guix-git/doc/guix.texi:7313
#, fuzzy
msgid "This has the same purpose as the same-named option in @command{guix build} (@pxref{Additional Build Options, @option{--expression} in @command{guix build}})."
msgstr "这与 @command{guix build} 中同名选项的目的相同 (@pxref{Additional Build Options, @option{--expression} in @command{guix build}})。"

#. type: table
#: guix-git/doc/guix.texi:7317
#, fuzzy
msgid "Build a pack containing the package or other object the code within @var{file} evaluates to."
msgstr "构建一个包含包或其他对象的包,该对象是 @var{file} 中代码的评估结果。"

#. type: table
#: guix-git/doc/guix.texi:7322
#, fuzzy
msgid "This has the same purpose as the same-named option in @command{guix build} (@pxref{Additional Build Options, @option{--file} in @command{guix build}}), but it has no shorthand, because @option{-f} already means @option{--format}."
msgstr "这与 @command{guix build} 中同名选项的目的相同 (@pxref{Additional Build Options, @option{--file} in @command{guix build}}),但没有简写,因为 @option{-f} 已经表示 @option{--format}。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:7324
#, fuzzy
msgid "pack-manifest"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:7329
#, fuzzy
msgid "Use the packages contained in the manifest object returned by the Scheme code in @var{file}.  This option can be repeated several times, in which case the manifests are concatenated."
msgstr "使用 @var{file} 中 Scheme 代码返回的清单对象所包含的包。此选项可以重复多次,在这种情况下,清单将被连接。"

#. type: table
#: guix-git/doc/guix.texi:7337
#, fuzzy
msgid "This has a similar purpose as the same-named option in @command{guix package} (@pxref{profile-manifest, @option{--manifest}}) and uses the same manifest files.  It allows you to define a collection of packages once and use it both for creating profiles and for creating archives for use on machines that do not have Guix installed.  Note that you can specify @emph{either} a manifest file @emph{or} a list of packages, but not both."
msgstr "这与@command{guix package}中的同名选项有类似的目的(@pxref{profile-manifest, @option{--manifest}}),并使用相同的清单文件。它允许您定义一组软件包一次,并将其用于创建配置文件和为未安装Guix的机器创建档案。请注意,您可以指定@emph{要么}清单文件@emph{要么}软件包列表,但不能两者都指定。"

#. type: table
#: guix-git/doc/guix.texi:7342
#, fuzzy
msgid "@xref{Writing Manifests}, for information on how to write a manifest.  @xref{shell-export-manifest, @command{guix shell --export-manifest}}, for information on how to ``convert'' command-line options into a manifest."
msgstr "@xref{Writing Manifests},有关如何编写清单的信息。@xref{shell-export-manifest, @command{guix shell --export-manifest}},有关如何将命令行选项“转换”为清单的信息。"

#. type: item
#: guix-git/doc/guix.texi:7348 guix-git/doc/guix.texi:13847
#: guix-git/doc/guix.texi:44890
#, fuzzy, no-wrap
msgid "--target=@var{triplet}"
msgstr "--target=@var{triplet}"

#. type: cindex
#: guix-git/doc/guix.texi:7349 guix-git/doc/guix.texi:7841
#: guix-git/doc/guix.texi:13848
#, fuzzy, no-wrap
msgid "cross-compilation"
msgstr "交叉编译"

#. type: table
#: guix-git/doc/guix.texi:7353 guix-git/doc/guix.texi:44894
#, fuzzy
msgid "Cross-build for @var{triplet}, which must be a valid GNU triplet, such as @code{\"aarch64-linux-gnu\"} (@pxref{Specifying target triplets, GNU configuration triplets,, autoconf, Autoconf})."
msgstr "为@var{triplet}进行交叉构建,该值必须是有效的GNU三元组,例如@code{\"aarch64-linux-gnu\"}(@pxref{Specifying target triplets, GNU configuration triplets,, autoconf, Autoconf})。"

#. type: item
#: guix-git/doc/guix.texi:7354
#, fuzzy, no-wrap
msgid "--compression=@var{tool}"
msgstr "--compression=@var{tool}"

#. type: itemx
#: guix-git/doc/guix.texi:7355
#, fuzzy, no-wrap
msgid "-C @var{tool}"
msgstr "-C @var{tool}"

#. type: table
#: guix-git/doc/guix.texi:7359
#, fuzzy
msgid "Compress the resulting tarball using @var{tool}---one of @code{gzip}, @code{zstd}, @code{bzip2}, @code{xz}, @code{lzip}, or @code{none} for no compression."
msgstr "以@var{type}方式压缩构建日志,可选的值:@code{gzip},@code{bzip2},@code{none}。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:7361
#, fuzzy
msgid "pack-symlink-option"
msgstr "pack-symlink-option"

#. type: table
#: guix-git/doc/guix.texi:7365
#, fuzzy
msgid "Add the symlinks specified by @var{spec} to the pack.  This option can appear several times."
msgstr "将@var{spec}指定的符号链接添加到包中。此选项可以出现多次。"

#. type: table
#: guix-git/doc/guix.texi:7369
#, fuzzy
msgid "@var{spec} has the form @code{@var{source}=@var{target}}, where @var{source} is the symlink that will be created and @var{target} is the symlink target."
msgstr "@var{spec}的形式为@code{@var{source}=@var{target}},其中@var{source}是将要创建的符号链接,@var{target}是符号链接的目标。"

#. type: table
#: guix-git/doc/guix.texi:7372
#, fuzzy
msgid "For instance, @code{-S /opt/gnu/bin=bin} creates a @file{/opt/gnu/bin} symlink pointing to the @file{bin} sub-directory of the profile."
msgstr "例如,@code{-S /opt/gnu/bin=bin}创建一个指向配置文件的@file{bin}子目录的@file{/opt/gnu/bin}符号链接。"

#. type: item
#: guix-git/doc/guix.texi:7373 guix-git/doc/guix.texi:44901
#, fuzzy, no-wrap
msgid "--save-provenance"
msgstr "--save-provenance"

#. type: table
#: guix-git/doc/guix.texi:7377
#, fuzzy
msgid "Save provenance information for the packages passed on the command line.  Provenance information includes the URL and commit of the channels in use (@pxref{Channels})."
msgstr "保存命令行中传递的软件包的来源信息。来源信息包括正在使用的频道的URL和提交(@pxref{Channels})。"

#. type: table
#: guix-git/doc/guix.texi:7383
#, fuzzy
msgid "Provenance information is saved in the @file{/gnu/store/@dots{}-profile/manifest} file in the pack, along with the usual package metadata---the name and version of each package, their propagated inputs, and so on.  It is useful information to the recipient of the pack, who then knows how the pack was (supposedly) obtained."
msgstr "来源信息保存在包中的@file{/gnu/store/@dots{}-profile/manifest}文件中,以及通常的软件包元数据——每个软件包的名称和版本、它们的传播输入等等。这对包的接收者来说是有用的信息,接收者因此知道包是如何(应该)获得的。"

#. type: table
#: guix-git/doc/guix.texi:7389
#, fuzzy
msgid "This option is not enabled by default because, like timestamps, provenance information contributes nothing to the build process.  In other words, there is an infinity of channel URLs and commit IDs that can lead to the same pack.  Recording such ``silent'' metadata in the output thus potentially breaks the source-to-binary bitwise reproducibility property."
msgstr "此选项默认未启用,因为与时间戳一样,来源信息对构建过程没有贡献。换句话说,有无穷多的频道URL和提交ID可以导致相同的包。因此,在输出中记录这样的“静默”元数据可能会破坏源到二进制的逐位可重现性属性。"

#. type: cindex
#: guix-git/doc/guix.texi:7392
#, fuzzy, no-wrap
msgid "garbage collector root, for packs"
msgstr "垃圾收集的根"

#. type: table
#: guix-git/doc/guix.texi:7395
#, fuzzy
msgid "Make @var{file} a symlink to the resulting pack, and register it as a garbage collector root."
msgstr "将 @var{file} 设为结果包的符号链接,并将其注册为垃圾收集器根。"

#. type: item
#: guix-git/doc/guix.texi:7396
#, fuzzy, no-wrap
msgid "--localstatedir"
msgstr "--localstatedir"

#. type: itemx
#: guix-git/doc/guix.texi:7397
#, fuzzy, no-wrap
msgid "--profile-name=@var{name}"
msgstr "--profile-name=@var{name}"

#. type: table
#: guix-git/doc/guix.texi:7402
#, fuzzy
msgid "Include the ``local state directory'', @file{/var/guix}, in the resulting pack, and notably the @file{/var/guix/profiles/per-user/root/@var{name}} profile---by default @var{name} is @code{guix-profile}, which corresponds to @file{~root/.guix-profile}."
msgstr "将 ``本地状态目录'' @file{/var/guix} 包含在结果包中,特别是 @file{/var/guix/profiles/per-user/root/@var{name}} 配置文件——默认情况下 @var{name} 是 @code{guix-profile},对应于 @file{~root/.guix-profile}。"

#. type: table
#: guix-git/doc/guix.texi:7408
#, fuzzy
msgid "@file{/var/guix} contains the store database (@pxref{The Store}) as well as garbage-collector roots (@pxref{Invoking guix gc}).  Providing it in the pack means that the store is ``complete'' and manageable by Guix; not providing it in the pack means that the store is ``dead'': items cannot be added to it or removed from it after extraction of the pack."
msgstr "@file{/var/guix} 包含存储数据库 (@pxref{The Store}) 以及垃圾收集器根 (@pxref{Invoking guix gc})。将其包含在包中意味着存储是 ``完整的'' 并且可以由 Guix 管理;不将其包含在包中意味着存储是 ``死的'':在提取包后,无法向其中添加或移除项目。"

#. type: table
#: guix-git/doc/guix.texi:7411
#, fuzzy
msgid "One use case for this is the Guix self-contained binary tarball (@pxref{Binary Installation})."
msgstr "一个用例是 Guix 自包含的二进制 tarball (@pxref{Binary Installation})。"

#. type: item
#: guix-git/doc/guix.texi:7412 guix-git/doc/guix.texi:44895
#, fuzzy, no-wrap
msgid "--derivation"
msgstr "--derivation"

#. type: itemx
#: guix-git/doc/guix.texi:7413 guix-git/doc/guix.texi:13887
#: guix-git/doc/guix.texi:44896
#, fuzzy, no-wrap
msgid "-d"
msgstr "-d"

#. type: table
#: guix-git/doc/guix.texi:7415
#, fuzzy
msgid "Print the name of the derivation that builds the pack."
msgstr "打印构建包的派生名称。"

#. type: table
#: guix-git/doc/guix.texi:7419
#, fuzzy
msgid "Use the bootstrap binaries to build the pack.  This option is only useful to Guix developers."
msgstr "使用引导二进制文件构建包。此选项仅对 Guix 开发者有用。"

#. type: Plain text
#: guix-git/doc/guix.texi:7424
#, fuzzy
msgid "In addition, @command{guix pack} supports all the common build options (@pxref{Common Build Options}) and all the package transformation options (@pxref{Package Transformation Options})."
msgstr "此外,@command{guix pack} 支持所有常见的构建选项 (@pxref{Common Build Options}) 和所有软件包转换选项 (@pxref{Package Transformation Options})。"

#. type: cindex
#: guix-git/doc/guix.texi:7429
#, fuzzy, no-wrap
msgid "GCC"
msgstr "GCC"

#. type: cindex
#: guix-git/doc/guix.texi:7430
#, fuzzy, no-wrap
msgid "ld-wrapper"
msgstr "ld-wrapper"

#. type: cindex
#: guix-git/doc/guix.texi:7431
#, fuzzy, no-wrap
msgid "linker wrapper"
msgstr "链接器包装器"

#. type: cindex
#: guix-git/doc/guix.texi:7432
#, fuzzy, no-wrap
msgid "toolchain, for C development"
msgstr "软件开发"

#. type: cindex
#: guix-git/doc/guix.texi:7433
#, fuzzy, no-wrap
msgid "toolchain, for Fortran development"
msgstr "Fortran 开发的工具链"

#. type: Plain text
#: guix-git/doc/guix.texi:7440
#, fuzzy
msgid "If you need a complete toolchain for compiling and linking C or C++ source code, use the @code{gcc-toolchain} package.  This package provides a complete GCC toolchain for C/C++ development, including GCC itself, the GNU C Library (headers and binaries, plus debugging symbols in the @code{debug} output), Binutils, and a linker wrapper."
msgstr "如果您需要一个完整的工具链来编译和链接 C 或 C++ 源代码,请使用 @code{gcc-toolchain} 软件包。该软件包提供了一个完整的 GCC 工具链用于 C/C++ 开发,包括 GCC 本身、GNU C 库(头文件和二进制文件,以及 @code{debug} 输出中的调试符号)、Binutils 和链接器包装器。"

#. type: Plain text
#: guix-git/doc/guix.texi:7446
#, fuzzy
msgid "The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches passed to the linker, add corresponding @code{-rpath} arguments, and invoke the actual linker with this new set of arguments.  You can instruct the wrapper to refuse to link against libraries not in the store by setting the @env{GUIX_LD_WRAPPER_ALLOW_IMPURITIES} environment variable to @code{no}."
msgstr "包装器的目的是检查传递给链接器的 @code{-L} 和 @code{-l} 开关,添加相应的 @code{-rpath} 参数,并使用这组新参数调用实际的链接器。您可以通过将 @env{GUIX_LD_WRAPPER_ALLOW_IMPURITIES} 环境变量设置为 @code{no} 来指示包装器拒绝链接不在存储中的库。"

#. type: Plain text
#: guix-git/doc/guix.texi:7450
#, fuzzy
msgid "The package @code{gfortran-toolchain} provides a complete GCC toolchain for Fortran development.  For other languages, please use @samp{guix search gcc toolchain} (@pxref{guix-search,, Invoking guix package})."
msgstr "软件包 @code{gfortran-toolchain} 提供了一个完整的 GCC 工具链用于 Fortran 开发。对于其他语言,请使用 @samp{guix search gcc toolchain} (@pxref{guix-search,, Invoking guix package})。"

#. type: section
#: guix-git/doc/guix.texi:7453
#, no-wrap
msgid "Invoking @command{guix git authenticate}"
msgstr "调用@command{guix git authenticate}"

#. type: command{#1}
#: guix-git/doc/guix.texi:7455
#, no-wrap
msgid "guix git authenticate"
msgstr "guix git authenticate"

#. type: cindex
#: guix-git/doc/guix.texi:7456
#, fuzzy, no-wrap
msgid "authentication, of Git checkouts"
msgstr "Guix 签出的身份认证"

#. type: cindex
#: guix-git/doc/guix.texi:7457
#, fuzzy, no-wrap
msgid "Git checkout authentication"
msgstr "验证substitute"

#. type: Plain text
#: guix-git/doc/guix.texi:7465
#, fuzzy
msgid "The @command{guix git authenticate} command authenticates a Git checkout following the same rule as for channels (@pxref{channel-authentication, channel authentication}).  That is, starting from a given commit, it ensures that all subsequent commits are signed by an OpenPGP key whose fingerprint appears in the @file{.guix-authorizations} file of its parent commit(s)."
msgstr "@command{guix git authenticate} 命令按照与通道相同的规则对 Git 检出进行身份验证(@pxref{channel-authentication, channel authentication})。也就是说,从给定的提交开始,它确保所有后续提交都由其父提交的 @file{.guix-authorizations} 文件中出现的 OpenPGP 密钥指纹签名。"

#. type: Plain text
#: guix-git/doc/guix.texi:7470
#, fuzzy
msgid "You will find this command useful if you maintain a channel.  But in fact, this authentication mechanism is useful in a broader context, so you might want to use it for Git repositories that have nothing to do with Guix."
msgstr "如果您维护一个通道,您会发现这个命令很有用。但实际上,这种身份验证机制在更广泛的上下文中也很有用,因此您可能希望将其用于与 Guix 无关的 Git 仓库。"

#. type: example
#: guix-git/doc/guix.texi:7475
#, fuzzy, no-wrap
msgid "guix git authenticate @var{commit} @var{signer} [@var{options}@dots{}]\n"
msgstr "guix git authenticate @var{commit} @var{signer} [@var{options}@dots{}]\n"

#. type: cindex
#: guix-git/doc/guix.texi:7477
#, fuzzy, no-wrap
msgid "introduction, for Git authentication"
msgstr "--disable-deduplication"

#. type: Plain text
#: guix-git/doc/guix.texi:7487
#, fuzzy
msgid "By default, this command authenticates the Git checkout in the current directory; it outputs nothing and exits with exit code zero on success and non-zero on failure.  @var{commit} above denotes the first commit where authentication takes place, and @var{signer} is the OpenPGP fingerprint of public key used to sign @var{commit}.  Together, they form a @dfn{channel introduction} (@pxref{channel-authentication, channel introduction}).  On your first successful run, the introduction is recorded in the @file{.git/config} file of your checkout, allowing you to omit them from subsequent invocations:"
msgstr "默认情况下,此命令对当前目录中的 Git 检出进行身份验证;成功时不输出任何内容并以零退出代码退出,失败时以非零退出代码退出。上面的 @var{commit} 表示身份验证发生的第一个提交,@var{signer} 是用于签署 @var{commit} 的公钥的 OpenPGP 指纹。它们共同形成一个 @dfn{通道介绍}(@pxref{channel-authentication, channel introduction})。在您第一次成功运行时,介绍记录在您的检出的 @file{.git/config} 文件中,允许您在后续调用中省略它们:"

#. type: example
#: guix-git/doc/guix.texi:7490
#, fuzzy, no-wrap
msgid "guix git authenticate [@var{options}@dots{}]\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:7496
#, fuzzy
msgid "Should you have branches that require different introductions, you can specify them directly in @file{.git/config}.  For example, if the branch called @code{personal-fork} has a different introduction than other branches, you can extend @file{.git/config} along these lines:"
msgstr "如果您有需要不同介绍的分支,您可以直接在 @file{.git/config} 中指定它们。例如,如果名为 @code{personal-fork} 的分支有不同于其他分支的介绍,您可以按以下方式扩展 @file{.git/config}:"

#. type: smallexample
#: guix-git/doc/guix.texi:7502
#, fuzzy, no-wrap
msgid ""
"[guix \"authentication-personal-fork\"]\n"
"\tintroduction-commit = cabba936fd807b096b48283debdcddccfea3900d\n"
"\tintroduction-signer = C0FF EECA BBA9 E6A8 0D1D  E643 A2A0 6DF2 A33A 54FA\n"
"\tkeyring = keyring\n"
msgstr ""
"[guix \"authentication-personal-fork\"]\n"
"\tintroduction-commit = cabba936fd807b096b48283debdcddccfea3900d\n"
"\tintroduction-signer = C0FF EECA BBA9 E6A8 0D1D  E643 A2A0 6DF2 A33A 54FA\n"
"\tkeyring = keyring\n"

#. type: Plain text
#: guix-git/doc/guix.texi:7508
#, fuzzy
msgid "The first run also attempts to install pre-push and post-merge hooks, such that @command{guix git authenticate} is invoked as soon as you run @command{git push}, @command{git pull}, and related commands; it does not overwrite preexisting hooks though."
msgstr "第一次运行还尝试安装 pre-push 和 post-merge 钩子,以便在您运行 @command{git push}、@command{git pull} 和相关命令时立即调用 @command{guix git authenticate};但它不会覆盖现有的钩子。"

#. type: Plain text
#: guix-git/doc/guix.texi:7511
#, fuzzy
msgid "The command-line options described below allow you to fine-tune the process."
msgstr "下面描述的命令行选项允许您微调该过程。"

#. type: item
#: guix-git/doc/guix.texi:7513
#, fuzzy, no-wrap
msgid "--repository=@var{directory}"
msgstr "--chroot-directory=@var{dir}"

#. type: itemx
#: guix-git/doc/guix.texi:7514
#, fuzzy, no-wrap
msgid "-r @var{directory}"
msgstr "状态文件夹"

#. type: table
#: guix-git/doc/guix.texi:7517
#, fuzzy
msgid "Open the Git repository in @var{directory} instead of the current directory."
msgstr "在 @var{directory} 中打开 Git 仓库,而不是当前目录。"

#. type: item
#: guix-git/doc/guix.texi:7518
#, fuzzy, no-wrap
msgid "--keyring=@var{reference}"
msgstr "--keyring=@var{reference}"

#. type: itemx
#: guix-git/doc/guix.texi:7519
#, fuzzy, no-wrap
msgid "-k @var{reference}"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:7525
#, fuzzy
msgid "Load OpenPGP keyring from @var{reference}, the reference of a branch such as @code{origin/keyring} or @code{my-keyring}.  The branch must contain OpenPGP public keys in @file{.key} files, either in binary form or ``ASCII-armored''.  By default the keyring is loaded from the branch named @code{keyring}."
msgstr "从 @var{reference} 加载 OpenPGP 密钥环,该引用是一个分支,例如 @code{origin/keyring} 或 @code{my-keyring}。该分支必须包含 @file{.key} 文件中的 OpenPGP 公钥,可以是二进制形式或“ASCII 装甲”形式。默认情况下,密钥环从名为 @code{keyring} 的分支加载。"

#. type: item
#: guix-git/doc/guix.texi:7526
#, fuzzy, no-wrap
msgid "--end=@var{commit}"
msgstr "--listen=@var{endpoint}"

#. type: table
#: guix-git/doc/guix.texi:7528
#, fuzzy
msgid "Authenticate revisions up to @var{commit}."
msgstr "对 @var{commit} 之前的修订进行身份验证。"

#. type: table
#: guix-git/doc/guix.texi:7531
#, fuzzy
msgid "Display commit signing statistics upon completion."
msgstr "完成后显示提交签名统计信息。"

#. type: item
#: guix-git/doc/guix.texi:7532
#, fuzzy, no-wrap
msgid "--cache-key=@var{key}"
msgstr "--cores=@var{n}"

#. type: table
#: guix-git/doc/guix.texi:7536
#, fuzzy
msgid "Previously-authenticated commits are cached in a file under @file{~/.cache/guix/authentication}.  This option forces the cache to be stored in file @var{key} in that directory."
msgstr "之前经过身份验证的提交缓存于 @file{~/.cache/guix/authentication} 目录下的文件中。此选项强制将缓存存储在该目录中的 @var{key} 文件中。"

#. type: item
#: guix-git/doc/guix.texi:7537
#, fuzzy, no-wrap
msgid "--historical-authorizations=@var{file}"
msgstr "--historical-authorizations=@var{file}"

#. type: table
#: guix-git/doc/guix.texi:7544
#, fuzzy
msgid "By default, any commit whose parent commit(s) lack the @file{.guix-authorizations} file is considered inauthentic.  In contrast, this option considers the authorizations in @var{file} for any commit that lacks @file{.guix-authorizations}.  The format of @var{file} is the same as that of @file{.guix-authorizations} (@pxref{channel-authorizations, @file{.guix-authorizations} format})."
msgstr "默认情况下,任何缺少 @file{.guix-authorizations} 文件的提交都被视为不真实。相比之下,此选项考虑 @var{file} 中的授权,用于任何缺少 @file{.guix-authorizations} 的提交。@var{file} 的格式与 @file{.guix-authorizations} 的格式相同(@pxref{channel-authorizations, @file{.guix-authorizations} 格式})。"

#. type: Plain text
#: guix-git/doc/guix.texi:7557
#, fuzzy
msgid "GNU Guix provides several Scheme programming interfaces (APIs) to define, build, and query packages.  The first interface allows users to write high-level package definitions.  These definitions refer to familiar packaging concepts, such as the name and version of a package, its build system, and its dependencies.  These definitions can then be turned into concrete build actions."
msgstr "GNU Guix 提供了几个 Scheme 编程接口(API),用于定义、构建和查询软件包。第一个接口允许用户编写高级软件包定义。这些定义涉及熟悉的打包概念,例如软件包的名称和版本、构建系统及其依赖关系。这些定义可以转化为具体的构建操作。"

#. type: Plain text
#: guix-git/doc/guix.texi:7563
#, fuzzy
msgid "Build actions are performed by the Guix daemon, on behalf of users.  In a standard setup, the daemon has write access to the store---the @file{/gnu/store} directory---whereas users do not.  The recommended setup also has the daemon perform builds in chroots, under specific build users, to minimize interference with the rest of the system."
msgstr "构建操作由 Guix 守护进程代表用户执行。在标准设置中,守护进程对存储区(@file{/gnu/store} 目录)具有写入访问权限,而用户则没有。推荐的设置还要求守护进程在 chroot 中以特定构建用户执行构建,以最小化对系统其余部分的干扰。"

#. type: Plain text
#: guix-git/doc/guix.texi:7572
#, fuzzy
msgid "Lower-level APIs are available to interact with the daemon and the store.  To instruct the daemon to perform a build action, users actually provide it with a @dfn{derivation}.  A derivation is a low-level representation of the build actions to be taken, and the environment in which they should occur---derivations are to package definitions what assembly is to C programs.  The term ``derivation'' comes from the fact that build results @emph{derive} from them."
msgstr "可以使用较低级别的 API 与守护进程和存储区进行交互。为了指示守护进程执行构建操作,用户实际上向其提供一个 @dfn{derivation}。衍生物是要采取的构建操作的低级表示,以及它们应发生的环境——衍生物与软件包定义的关系就像汇编与 C 程序的关系。术语“衍生物”源于构建结果是从它们“衍生”而来的事实。"

#. type: Plain text
#: guix-git/doc/guix.texi:7576
#, fuzzy
msgid "This chapter describes all these APIs in turn, starting from high-level package definitions.  @xref{Source Tree Structure}, for a more general overview of the source code."
msgstr "本章依次描述了所有这些 API,从高级包定义开始。有关源代码的更一般概述,请参见 @xref{Source Tree Structure}。"

#. type: Plain text
#: guix-git/doc/guix.texi:7608
#, fuzzy
msgid "From a programming viewpoint, the package definitions of the GNU distribution are provided by Guile modules in the @code{(gnu packages @dots{})} name space@footnote{Note that packages under the @code{(gnu packages @dots{})} module name space are not necessarily ``GNU packages''.  This module naming scheme follows the usual Guile module naming convention: @code{gnu} means that these modules are distributed as part of the GNU system, and @code{packages} identifies modules that define packages.} (@pxref{Modules, Guile modules,, guile, GNU Guile Reference Manual}).  For instance, the @code{(gnu packages emacs)} module exports a variable named @code{emacs}, which is bound to a @code{<package>} object (@pxref{Defining Packages})."
msgstr "从编程的角度来看,GNU 发行版的包定义由 @code{(gnu packages @dots{})} 命名空间中的 Guile 模块提供@footnote{请注意,@code{(gnu packages @dots{})} 模块命名空间下的包不一定是“GNU 包”。此模块命名方案遵循通常的 Guile 模块命名约定:@code{gnu} 表示这些模块作为 GNU 系统的一部分进行分发,而 @code{packages} 则标识定义包的模块。}(@pxref{Modules, Guile modules,, guile, GNU Guile Reference Manual})。例如,@code{(gnu packages emacs)} 模块导出一个名为 @code{emacs} 的变量,该变量绑定到 @code{<package>} 对象(@pxref{Defining Packages})。"

#. type: Plain text
#: guix-git/doc/guix.texi:7615
#, fuzzy
msgid "The @code{(gnu packages @dots{})} module name space is automatically scanned for packages by the command-line tools.  For instance, when running @code{guix install emacs}, all the @code{(gnu packages @dots{})} modules are scanned until one that exports a package object whose name is @code{emacs} is found.  This package search facility is implemented in the @code{(gnu packages)} module."
msgstr "@code{(gnu packages @dots{})} 模块命名空间会被命令行工具自动扫描以查找包。例如,当运行 @code{guix install emacs} 时,所有 @code{(gnu packages @dots{})} 模块都会被扫描,直到找到一个导出名为 @code{emacs} 的包对象为止。此包搜索功能在 @code{(gnu packages)} 模块中实现。"

#. type: cindex
#: guix-git/doc/guix.texi:7617
#, fuzzy, no-wrap
msgid "package module search path"
msgstr "包模块搜索路径"

#. type: Plain text
#: guix-git/doc/guix.texi:7626
#, fuzzy
msgid "Users can store package definitions in modules with different names---e.g., @code{(my-packages emacs)}@footnote{Note that the file name and module name must match.  For instance, the @code{(my-packages emacs)} module must be stored in a @file{my-packages/emacs.scm} file relative to the load path specified with @option{--load-path} or @env{GUIX_PACKAGE_PATH}.  @xref{Modules and the File System,,, guile, GNU Guile Reference Manual}, for details.}.  There are two ways to make these package definitions visible to the user interfaces:"
msgstr "用户可以将包定义存储在不同名称的模块中——例如,@code{(my-packages emacs)}@footnote{请注意,文件名和模块名必须匹配。例如,@code{(my-packages emacs)} 模块必须存储在相对于 @option{--load-path} 或 @env{GUIX_PACKAGE_PATH} 指定的加载路径的 @file{my-packages/emacs.scm} 文件中。有关详细信息,请参见 @xref{Modules and the File System,,, guile, GNU Guile Reference Manual}。}。有两种方法可以使这些包定义对用户界面可见:"

#. type: enumerate
#: guix-git/doc/guix.texi:7633
#, fuzzy
msgid "By adding the directory containing your package modules to the search path with the @code{-L} flag of @command{guix package} and other commands (@pxref{Common Build Options}), or by setting the @env{GUIX_PACKAGE_PATH} environment variable described below."
msgstr "通过使用 @command{guix package} 和其他命令的 @code{-L} 标志将包含您的包模块的目录添加到搜索路径中(@pxref{Common Build Options}),或者通过设置下面描述的 @env{GUIX_PACKAGE_PATH} 环境变量。"

#. type: enumerate
#: guix-git/doc/guix.texi:7639
#, fuzzy
msgid "By defining a @dfn{channel} and configuring @command{guix pull} so that it pulls from it.  A channel is essentially a Git repository containing package modules.  @xref{Channels}, for more information on how to define and use channels."
msgstr "通过定义一个 @dfn{channel} 并配置 @command{guix pull} 使其从中拉取。一个 channel 本质上是一个包含软件包模块的 Git 仓库。有关如何定义和使用 channels 的更多信息,请参见 @xref{Channels}。"

#. type: Plain text
#: guix-git/doc/guix.texi:7642
#, fuzzy
msgid "@env{GUIX_PACKAGE_PATH} works similarly to other search path variables:"
msgstr "@env{GUIX_PACKAGE_PATH} 的工作方式类似于其他搜索路径变量:"

#. type: defvr
#: guix-git/doc/guix.texi:7643
#, fuzzy, no-wrap
msgid "{Environment Variable} GUIX_PACKAGE_PATH"
msgstr "{环境变量} GUIX_PACKAGE_PATH"

#. type: defvr
#: guix-git/doc/guix.texi:7647
#, fuzzy
msgid "This is a colon-separated list of directories to search for additional package modules.  Directories listed in this variable take precedence over the own modules of the distribution."
msgstr "这是一个以冒号分隔的目录列表,用于搜索额外的软件包模块。此变量中列出的目录优先于发行版自己的模块。"

#. type: Plain text
#: guix-git/doc/guix.texi:7655
#, fuzzy
msgid "The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}: each package is built based solely on other packages in the distribution.  The root of this dependency graph is a small set of @dfn{bootstrap binaries}, provided by the @code{(gnu packages bootstrap)} module.  For more information on bootstrapping, @pxref{Bootstrapping}."
msgstr "该发行版是完全 @dfn{引导} 和 @dfn{自包含} 的:每个软件包仅基于发行版中的其他软件包构建。此依赖关系图的根是由 @code{(gnu packages bootstrap)} 模块提供的一小组 @dfn{引导二进制文件}。有关引导的更多信息,请参见 @pxref{Bootstrapping}。"

#. type: Plain text
#: guix-git/doc/guix.texi:7663
#, fuzzy
msgid "The high-level interface to package definitions is implemented in the @code{(guix packages)} and @code{(guix build-system)} modules.  As an example, the package definition, or @dfn{recipe}, for the GNU Hello package looks like this:"
msgstr "软件包定义的高级接口在 @code{(guix packages)} 和 @code{(guix build-system)} 模块中实现。作为示例,GNU Hello 软件包的定义或 @dfn{配方} 如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:7671
#, fuzzy, no-wrap
msgid ""
"(define-module (gnu packages hello)\n"
"  #:use-module (guix packages)\n"
"  #:use-module (guix download)\n"
"  #:use-module (guix build-system gnu)\n"
"  #:use-module (guix licenses)\n"
"  #:use-module (gnu packages gawk))\n"
"\n"
msgstr ""
"(define-module (gnu packages hello)\n"
"  #:use-module (guix packages)\n"
"  #:use-module (guix download)\n"
"  #:use-module (guix build-system gnu)\n"
"  #:use-module (guix licenses)\n"
"  #:use-module (gnu packages gawk))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:7690
#, fuzzy, no-wrap
msgid ""
"(define-public hello\n"
"  (package\n"
"    (name \"hello\")\n"
"    (version \"2.10\")\n"
"    (source (origin\n"
"              (method url-fetch)\n"
"              (uri (string-append \"mirror://gnu/hello/hello-\" version\n"
"                                  \".tar.gz\"))\n"
"              (sha256\n"
"               (base32\n"
"                \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n"
"    (build-system gnu-build-system)\n"
"    (arguments '(#:configure-flags '(\"--enable-silent-rules\")))\n"
"    (inputs (list gawk))\n"
"    (synopsis \"Hello, GNU world: An example GNU package\")\n"
"    (description \"Guess what GNU Hello prints!\")\n"
"    (home-page \"https://www.gnu.org/software/hello/\")\n"
"    (license gpl3+)))\n"
msgstr ""
"(define-public hello\n"
"  (package\n"
"    (name \"hello\")\n"
"    (version \"2.10\")\n"
"    (source (origin\n"
"              (method url-fetch)\n"
"              (uri (string-append \"mirror://gnu/hello/hello-\" version\n"
"                                  \".tar.gz\"))\n"
"              (sha256\n"
"               (base32\n"
"                \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"))))\n"
"    (build-system gnu-build-system)\n"
"    (arguments '(#:configure-flags '(\"--enable-silent-rules\")))\n"
"    (inputs (list gawk))\n"
"    (synopsis \"你好,GNU 世界:一个示例 GNU 软件包\")\n"
"    (description \"猜猜 GNU Hello 打印了什么!\")\n"
"    (home-page \"https://www.gnu.org/software/hello/\")\n"
"    (license gpl3+)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:7700
#, fuzzy
msgid "Without being a Scheme expert, the reader may have guessed the meaning of the various fields here.  This expression binds the variable @code{hello} to a @code{<package>} object, which is essentially a record (@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}).  This package object can be inspected using procedures found in the @code{(guix packages)} module; for instance, @code{(package-name hello)} returns---surprise!---@code{\"hello\"}."
msgstr "即使不是 Scheme 专家,读者也可能猜到这里各种字段的含义。此表达式将变量 @code{hello} 绑定到一个 @code{<package>} 对象,该对象本质上是一个记录 (@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual})。可以使用 @code{(guix packages)} 模块中的过程检查此软件包对象;例如,@code{(package-name hello)} 返回——惊喜!——@code{\"hello\"}。"

#. type: Plain text
#: guix-git/doc/guix.texi:7704
#, fuzzy
msgid "With luck, you may be able to import part or all of the definition of the package you are interested in from another repository, using the @code{guix import} command (@pxref{Invoking guix import})."
msgstr "如果运气好的话,您可能能够使用 @code{guix import} 命令从另一个仓库导入您感兴趣的包的部分或全部定义(@pxref{Invoking guix import})。"

#. type: Plain text
#: guix-git/doc/guix.texi:7710
#, fuzzy
msgid "In the example above, @code{hello} is defined in a module of its own, @code{(gnu packages hello)}.  Technically, this is not strictly necessary, but it is convenient to do so: all the packages defined in modules under @code{(gnu packages @dots{})} are automatically known to the command-line tools (@pxref{Package Modules})."
msgstr "在上面的示例中,@code{hello} 在其自己的模块中定义,@code{(gnu packages hello)}。从技术上讲,这并不是严格必要的,但这样做很方便:在 @code{(gnu packages @dots{})} 下定义的所有包都自动为命令行工具所知(@pxref{Package Modules})。"

#. type: Plain text
#: guix-git/doc/guix.texi:7712
#, fuzzy
msgid "There are a few points worth noting in the above package definition:"
msgstr "在上述包定义中,有几个值得注意的点:"

#. type: itemize
#: guix-git/doc/guix.texi:7719
#, fuzzy
msgid "The @code{source} field of the package is an @code{<origin>} object (@pxref{origin Reference}, for the complete reference).  Here, the @code{url-fetch} method from @code{(guix download)} is used, meaning that the source is a file to be downloaded over FTP or HTTP."
msgstr "包的 @code{source} 字段是一个 @code{<origin>} 对象(@pxref{origin Reference},完整参考)。在这里,使用了来自 @code{(guix download)} 的 @code{url-fetch} 方法,这意味着源是一个通过 FTP 或 HTTP 下载的文件。"

#. type: itemize
#: guix-git/doc/guix.texi:7722
#, fuzzy
msgid "The @code{mirror://gnu} prefix instructs @code{url-fetch} to use one of the GNU mirrors defined in @code{(guix download)}."
msgstr "@code{mirror://gnu} 前缀指示 @code{url-fetch} 使用在 @code{(guix download)} 中定义的 GNU 镜像之一。"

#. type: itemize
#: guix-git/doc/guix.texi:7729
#, fuzzy
msgid "The @code{sha256} field specifies the expected SHA256 hash of the file being downloaded.  It is mandatory, and allows Guix to check the integrity of the file.  The @code{(base32 @dots{})} form introduces the base32 representation of the hash.  You can obtain this information with @code{guix download} (@pxref{Invoking guix download}) and @code{guix hash} (@pxref{Invoking guix hash})."
msgstr "@code{sha256} 字段指定正在下载的文件的预期 SHA256 哈希。它是强制性的,允许 Guix 检查文件的完整性。@code{(base32 @dots{})} 形式引入哈希的 base32 表示。您可以使用 @code{guix download}(@pxref{Invoking guix download})和 @code{guix hash}(@pxref{Invoking guix hash})获取此信息。"

#. type: cindex
#: guix-git/doc/guix.texi:7730
#, fuzzy, no-wrap
msgid "patches"
msgstr "补丁"

#. type: itemize
#: guix-git/doc/guix.texi:7734
#, fuzzy
msgid "When needed, the @code{origin} form can also have a @code{patches} field listing patches to be applied, and a @code{snippet} field giving a Scheme expression to modify the source code."
msgstr "在需要时,@code{origin} 形式还可以具有一个 @code{patches} 字段,列出要应用的补丁,以及一个 @code{snippet} 字段,给出修改源代码的 Scheme 表达式。"

#. type: cindex
#: guix-git/doc/guix.texi:7736
#, fuzzy, no-wrap
msgid "GNU Build System"
msgstr "GNU 构建系统"

#. type: itemize
#: guix-git/doc/guix.texi:7742
#, fuzzy
msgid "The @code{build-system} field specifies the procedure to build the package (@pxref{Build Systems}).  Here, @code{gnu-build-system} represents the familiar GNU Build System, where packages may be configured, built, and installed with the usual @code{./configure && make && make check && make install} command sequence."
msgstr "@code{build-system} 字段指定构建包的程序(@pxref{Build Systems})。在这里,@code{gnu-build-system} 代表熟悉的 GNU 构建系统,其中包可以使用通常的 @code{./configure && make && make check && make install} 命令序列进行配置、构建和安装。"

#. type: itemize
#: guix-git/doc/guix.texi:7746
#, fuzzy
msgid "When you start packaging non-trivial software, you may need tools to manipulate those build phases, manipulate files, and so on.  @xref{Build Utilities}, for more on this."
msgstr "当您开始打包非平凡的软件时,您可能需要工具来操作这些构建阶段、操作文件等。有关更多信息,请参见 @xref{Build Utilities}。"

#. type: itemize
#: guix-git/doc/guix.texi:7752
#, fuzzy
msgid "The @code{arguments} field specifies options for the build system (@pxref{Build Systems}).  Here it is interpreted by @code{gnu-build-system} as a request run @file{configure} with the @option{--enable-silent-rules} flag."
msgstr "@code{arguments} 字段指定构建系统的选项 (@pxref{Build Systems})。在这里,它被 @code{gnu-build-system} 解释为请求运行 @file{configure},并带有 @option{--enable-silent-rules} 标志。"

#. type: findex
#: guix-git/doc/guix.texi:7753 guix-git/doc/guix.texi:7756
#, fuzzy, no-wrap
msgid "quote"
msgstr "引用"

#. type: cindex
#: guix-git/doc/guix.texi:7754
#, fuzzy, no-wrap
msgid "quoting"
msgstr "引用"

#. type: findex
#: guix-git/doc/guix.texi:7755
#, fuzzy, no-wrap
msgid "'"
msgstr "'"

#. type: cindex
#: guix-git/doc/guix.texi:7757
#, fuzzy, no-wrap
msgid "backquote (quasiquote)"
msgstr "反引号(准引用)"

#. type: findex
#: guix-git/doc/guix.texi:7758
#, fuzzy, no-wrap
msgid "`"
msgstr "`"

#. type: findex
#: guix-git/doc/guix.texi:7759
#, fuzzy, no-wrap
msgid "quasiquote"
msgstr "准引用"

#. type: cindex
#: guix-git/doc/guix.texi:7760
#, fuzzy, no-wrap
msgid "comma (unquote)"
msgstr "逗号(反引用)"

#. type: findex
#: guix-git/doc/guix.texi:7761
#, fuzzy, no-wrap
msgid ","
msgstr ","

#. type: findex
#: guix-git/doc/guix.texi:7762
#, fuzzy, no-wrap
msgid "unquote"
msgstr "反引用"

#. type: itemize
#: guix-git/doc/guix.texi:7772
#, fuzzy
msgid "What about these quote (@code{'}) characters? They are Scheme syntax to introduce a literal list; @code{'} is synonymous with @code{quote}.  Sometimes you'll also see @code{`} (a backquote, synonymous with @code{quasiquote}) and @code{,} (a comma, synonymous with @code{unquote}).  @xref{Expression Syntax, quoting,, guile, GNU Guile Reference Manual}, for details.  Here the value of the @code{arguments} field is a list of arguments passed to the build system down the road, as with @code{apply} (@pxref{Fly Evaluation, @code{apply},, guile, GNU Guile Reference Manual})."
msgstr "这些引用 (@code{'}) 字符怎么办?它们是 Scheme 语法,用于引入一个字面列表;@code{'} 与 @code{quote} 同义。有时你还会看到 @code{`}(反引号,与 @code{quasiquote} 同义)和 @code{,}(逗号,与 @code{unquote} 同义)。有关详细信息,请参见 @xref{Expression Syntax, quoting,, guile, GNU Guile Reference Manual}。在这里,@code{arguments} 字段的值是传递给构建系统的参数列表,就像 @code{apply} 一样 (@pxref{Fly Evaluation, @code{apply},, guile, GNU Guile Reference Manual})。"

#. type: itemize
#: guix-git/doc/guix.texi:7778
#, fuzzy
msgid "The hash-colon (@code{#:}) sequence defines a Scheme @dfn{keyword} (@pxref{Keywords,,, guile, GNU Guile Reference Manual}), and @code{#:configure-flags} is a keyword used to pass a keyword argument to the build system (@pxref{Coding With Keywords,,, guile, GNU Guile Reference Manual})."
msgstr "哈希冒号 (@code{#:}) 序列定义了一个 Scheme @dfn{关键字} (@pxref{Keywords,,, guile, GNU Guile Reference Manual}),而 @code{#:configure-flags} 是一个用于向构建系统传递关键字参数的关键字 (@pxref{Coding With Keywords,,, guile, GNU Guile Reference Manual})。"

#. type: itemize
#: guix-git/doc/guix.texi:7784
#, fuzzy
msgid "The @code{inputs} field specifies inputs to the build process---i.e., build-time or run-time dependencies of the package.  Here, we add an input, a reference to the @code{gawk} variable; @code{gawk} is itself bound to a @code{<package>} object."
msgstr "@code{inputs} 字段指定构建过程的输入——即包的构建时或运行时依赖项。在这里,我们添加一个输入,引用 @code{gawk} 变量;@code{gawk} 本身绑定到一个 @code{<package>} 对象。"

#. type: itemize
#: guix-git/doc/guix.texi:7788
#, fuzzy
msgid "Note that GCC, Coreutils, Bash, and other essential tools do not need to be specified as inputs here.  Instead, @code{gnu-build-system} takes care of ensuring that they are present (@pxref{Build Systems})."
msgstr "请注意,GCC、Coreutils、Bash 和其他基本工具不需要在这里指定为输入。相反,@code{gnu-build-system} 会确保它们的存在 (@pxref{Build Systems})。"

#. type: itemize
#: guix-git/doc/guix.texi:7792
#, fuzzy
msgid "However, any other dependencies need to be specified in the @code{inputs} field.  Any dependency not specified here will simply be unavailable to the build process, possibly leading to a build failure."
msgstr "然而,任何其他依赖项需要在 @code{inputs} 字段中指定。任何未在此处指定的依赖项将简单地对构建过程不可用,可能导致构建失败。"

#. type: Plain text
#: guix-git/doc/guix.texi:7795
#, fuzzy
msgid "@xref{package Reference}, for a full description of possible fields."
msgstr "@xref{package Reference},以获取可能字段的完整描述。"

#. type: cindex
#: guix-git/doc/guix.texi:7797
#, fuzzy, no-wrap
msgid "Scheme programming language, getting started"
msgstr "Scheme 编程语言,入门"

#. type: quotation
#: guix-git/doc/guix.texi:7802
#, fuzzy
msgid "Intimidated by the Scheme language or curious about it? The Cookbook has a short section to get started that recaps some of the things shown above and explains the fundamentals.  @xref{A Scheme Crash Course,,, guix-cookbook, GNU Guix Cookbook}, for more information."
msgstr "对 Scheme 语言感到畏惧或好奇?《食谱》有一个简短的入门部分,回顾了上面展示的一些内容,并解释了基础知识。有关更多信息,请参见 @xref{A Scheme Crash Course,,, guix-cookbook, GNU Guix Cookbook}。"

#. type: Plain text
#: guix-git/doc/guix.texi:7814
#, fuzzy
msgid "Once a package definition is in place, the package may actually be built using the @code{guix build} command-line tool (@pxref{Invoking guix build}), troubleshooting any build failures you encounter (@pxref{Debugging Build Failures}).  You can easily jump back to the package definition using the @command{guix edit} command (@pxref{Invoking guix edit}).  @xref{Packaging Guidelines}, for more information on how to test package definitions, and @ref{Invoking guix lint}, for information on how to check a definition for style conformance."
msgstr "一旦包定义到位,可以使用 @code{guix build} 命令行工具 (@pxref{Invoking guix build}) 实际构建包,解决您遇到的任何构建失败 (@pxref{Debugging Build Failures})。您可以使用 @command{guix edit} 命令 (@pxref{Invoking guix edit}) 轻松返回包定义。有关如何测试包定义的信息,请参见 @xref{Packaging Guidelines},有关如何检查定义的样式一致性的信息,请参见 @ref{Invoking guix lint}。"

#. type: vindex
#: guix-git/doc/guix.texi:7814
#, fuzzy, no-wrap
msgid "GUIX_PACKAGE_PATH"
msgstr "GUIX_PACKAGE_PATH"

#. type: Plain text
#: guix-git/doc/guix.texi:7818
#, fuzzy
msgid "Lastly, @pxref{Channels}, for information on how to extend the distribution by adding your own package definitions in a ``channel''."
msgstr "最后,@pxref{Channels},有关如何通过在“频道”中添加您自己的包定义来扩展发行版的信息。"

#. type: Plain text
#: guix-git/doc/guix.texi:7822
#, fuzzy
msgid "Finally, updating the package definition to a new upstream version can be partly automated by the @command{guix refresh} command (@pxref{Invoking guix refresh})."
msgstr "最后,通过 @command{guix refresh} 命令 (@pxref{Invoking guix refresh}),将包定义更新到新的上游版本可以部分自动化。"

#. type: Plain text
#: guix-git/doc/guix.texi:7828
#, fuzzy
msgid "Behind the scenes, a derivation corresponding to the @code{<package>} object is first computed by the @code{package-derivation} procedure.  That derivation is stored in a @file{.drv} file under @file{/gnu/store}.  The build actions it prescribes may then be realized by using the @code{build-derivations} procedure (@pxref{The Store})."
msgstr "在后台,首先通过 @code{package-derivation} 过程计算出与 @code{<package>} 对象对应的派生物。该派生物存储在 @file{.drv} 文件中,位于 @file{/gnu/store} 下。它所规定的构建操作可以通过使用 @code{build-derivations} 过程实现 (@pxref{The Store})。"

#. type: deffn
#: guix-git/doc/guix.texi:7829
#, fuzzy, no-wrap
msgid "{Procedure} package-derivation store package [system]"
msgstr "软件包描述"

#. type: deffn
#: guix-git/doc/guix.texi:7832
#, fuzzy
msgid "Return the @code{<derivation>} object of @var{package} for @var{system} (@pxref{Derivations})."
msgstr "返回 @var{package} 的 @code{<derivation>} 对象,适用于 @var{system} (@pxref{Derivations})。"

#. type: deffn
#: guix-git/doc/guix.texi:7838
#, fuzzy
msgid "@var{package} must be a valid @code{<package>} object, and @var{system} must be a string denoting the target system type---e.g., @code{\"x86_64-linux\"} for an x86_64 Linux-based GNU system.  @var{store} must be a connection to the daemon, which operates on the store (@pxref{The Store})."
msgstr "@var{package} 必须是有效的 @code{<package>} 对象,@var{system} 必须是表示目标系统类型的字符串——例如,@code{\"x86_64-linux\"} 表示基于 x86_64 的 Linux GNU 系统。@var{store} 必须是与守护进程的连接,该守护进程在存储区上操作 (@pxref{The Store})。"

#. type: Plain text
#: guix-git/doc/guix.texi:7844
#, fuzzy
msgid "Similarly, it is possible to compute a derivation that cross-builds a package for some other system:"
msgstr "同样,可以计算一个为其他系统交叉构建包的派生物:"

#. type: deffn
#: guix-git/doc/guix.texi:7845
#, fuzzy, no-wrap
msgid "{Procedure} package-cross-derivation store package target [system]"
msgstr "{Procedure} package-cross-derivation store package target [system]"

#. type: deffn
#: guix-git/doc/guix.texi:7848
#, fuzzy
msgid "Return the @code{<derivation>} object of @var{package} cross-built from @var{system} to @var{target}."
msgstr "返回从 @var{system} 交叉构建到 @var{target} 的 @var{package} 的 @code{<derivation>} 对象。"

#. type: deffn
#: guix-git/doc/guix.texi:7852
#, fuzzy
msgid "@var{target} must be a valid GNU triplet denoting the target hardware and operating system, such as @code{\"aarch64-linux-gnu\"} (@pxref{Specifying Target Triplets,,, autoconf, Autoconf})."
msgstr "@var{target} 必须是有效的 GNU 三元组,表示目标硬件和操作系统,例如 @code{\"aarch64-linux-gnu\"} (@pxref{Specifying Target Triplets,,, autoconf, Autoconf})。"

#. type: Plain text
#: guix-git/doc/guix.texi:7856
#, fuzzy
msgid "Once you have package definitions, you can easily define @emph{variants} of those packages.  @xref{Defining Package Variants}, for more on that."
msgstr "一旦您拥有包定义,您可以轻松定义这些包的@emph{变体}。有关更多信息,请参见@xref{定义包变体}。"

#. type: subsection
#: guix-git/doc/guix.texi:7864
#, fuzzy, no-wrap
msgid "@code{package} Reference"
msgstr "@code{package} 参考"

#. type: Plain text
#: guix-git/doc/guix.texi:7868
#, fuzzy
msgid "This section summarizes all the options available in @code{package} declarations (@pxref{Defining Packages})."
msgstr "本节总结了@code{package} 声明中可用的所有选项(@pxref{定义包})。"

#. type: deftp
#: guix-git/doc/guix.texi:7869
#, fuzzy, no-wrap
msgid "{Data Type} package"
msgstr "{数据类型} 包"

#. type: deftp
#: guix-git/doc/guix.texi:7871
#, fuzzy
msgid "This is the data type representing a package recipe."
msgstr "这是表示包配方的数据类型。"

#. type: table
#: guix-git/doc/guix.texi:7875
#, fuzzy
msgid "The name of the package, as a string."
msgstr "包的名称,作为字符串。"

#. type: code{#1}
#: guix-git/doc/guix.texi:7876 guix-git/doc/guix.texi:8943
#, fuzzy, no-wrap
msgid "version"
msgstr "版本"

#. type: table
#: guix-git/doc/guix.texi:7879
#, fuzzy
msgid "The version of the package, as a string.  @xref{Version Numbers}, for guidelines."
msgstr "包的版本,作为字符串。有关指南,请参见@xref{版本号}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:7880 guix-git/doc/guix.texi:15595
#: guix-git/doc/guix.texi:18387 guix-git/doc/guix.texi:19108
#, fuzzy, no-wrap
msgid "source"
msgstr "源"

#. type: table
#: guix-git/doc/guix.texi:7887
#, fuzzy
msgid "An object telling how the source code for the package should be acquired.  Most of the time, this is an @code{origin} object, which denotes a file fetched from the Internet (@pxref{origin Reference}).  It can also be any other ``file-like'' object such as a @code{local-file}, which denotes a file from the local file system (@pxref{G-Expressions, @code{local-file}})."
msgstr "一个对象,说明如何获取包的源代码。大多数情况下,这是一个@code{origin}对象,表示从互联网获取的文件(@pxref{origin 参考})。它也可以是任何其他“文件类似”对象,例如@code{local-file},表示来自本地文件系统的文件(@pxref{G-表达式,@code{local-file}})。"

#. type: code{#1}
#: guix-git/doc/guix.texi:7888
#, fuzzy, no-wrap
msgid "build-system"
msgstr "构建系统"

#. type: table
#: guix-git/doc/guix.texi:7891
#, fuzzy
msgid "The build system that should be used to build the package (@pxref{Build Systems})."
msgstr "应使用的构建包的构建系统(@pxref{构建系统})。"

#. type: item
#: guix-git/doc/guix.texi:7892 guix-git/doc/guix.texi:22406
#, fuzzy, no-wrap
msgid "@code{arguments} (default: @code{'()})"
msgstr "@code{arguments}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:7896
#, fuzzy
msgid "The arguments that should be passed to the build system (@pxref{Build Systems}).  This is a list, typically containing sequential keyword-value pairs, as in this example:"
msgstr "应传递给构建系统的参数(@pxref{构建系统})。这是一个列表,通常包含顺序的关键字-值对,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:7905
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  (name \"example\")\n"
"  ;; several fields omitted\n"
"  (arguments\n"
"    (list #:tests? #f                     ;skip tests\n"
"          #:make-flags #~'(\"VERBOSE=1\")   ;pass flags to 'make'\n"
"          #:configure-flags #~'(\"--enable-frobbing\"))))\n"
msgstr ""
"(package\n"
"  (name \"示例\")\n"
"  ;; 省略几个字段\n"
"  (arguments\n"
"    (list #:tests? #f                     ;跳过测试\n"
"          #:make-flags #~'(\"VERBOSE=1\")   ;将标志传递给'make'\n"
"          #:configure-flags #~'(\"--enable-frobbing\"))))\n"

#. type: table
#: guix-git/doc/guix.texi:7912
#, fuzzy
msgid "The exact set of supported keywords depends on the build system (@pxref{Build Systems}), but you will find that almost all of them honor @code{#:configure-flags}, @code{#:make-flags}, @code{#:tests?}, and @code{#:phases}.  The @code{#:phases} keyword in particular lets you modify the set of build phases for your package (@pxref{Build Phases})."
msgstr "支持的关键字的确切集合取决于构建系统(@pxref{构建系统}),但您会发现几乎所有的都支持@code{#:configure-flags}、@code{#:make-flags}、@code{#:tests?}和@code{#:phases}。特别是@code{#:phases}关键字允许您修改包的构建阶段集合(@pxref{构建阶段})。"

#. type: table
#: guix-git/doc/guix.texi:7916
#, fuzzy
msgid "The REPL has dedicated commands to interactively inspect values of some of these arguments, as a convenient debugging aid (@pxref{Using Guix Interactively})."
msgstr "REPL有专门的命令来交互式检查这些参数的一些值,作为方便的调试辅助工具(@pxref{交互式使用Guix})。"

#. type: quotation
#: guix-git/doc/guix.texi:7917 guix-git/doc/guix.texi:7954
#, fuzzy, no-wrap
msgid "Compatibility Note"
msgstr "Nix,兼容性"

#. type: quotation
#: guix-git/doc/guix.texi:7921
#, fuzzy
msgid "Until version 1.3.0, the @code{arguments} field would typically use @code{quote} (@code{'}) or @code{quasiquote} (@code{`}) and no G-expressions, like so:"
msgstr "直到版本1.3.0,@code{arguments}字段通常使用@code{quote}(@code{'})或@code{quasiquote}(@code{`}),而不使用G表达式,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:7928
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  ;; several fields omitted\n"
"  (arguments   ;old-style quoted arguments\n"
"   '(#:tests? #f\n"
"     #:configure-flags '(\"--enable-frobbing\"))))\n"
msgstr ""
"(包\n"
"  ;; 省略了几个字段\n"
"  (参数   ;旧式引用参数\n"
"   '(#:tests? #f\n"
"     #:configure-flags '(\"--enable-frobbing\"))))\n"

#. type: quotation
#: guix-git/doc/guix.texi:7933
#, fuzzy
msgid "To convert from that style to the one shown above, you can run @code{guix style -S arguments @var{package}} (@pxref{Invoking guix style})."
msgstr "要将这种风格转换为上面显示的风格,可以运行 @code{guix style -S arguments @var{package}} (@pxref{Invoking guix style})."

#. type: item
#: guix-git/doc/guix.texi:7935 guix-git/doc/guix.texi:49307
#, fuzzy, no-wrap
msgid "@code{inputs} (default: @code{'()})"
msgstr "@code{inputs} (默认: @code{'()})"

#. type: itemx
#: guix-git/doc/guix.texi:7936
#, fuzzy, no-wrap
msgid "@code{native-inputs} (default: @code{'()})"
msgstr "@code{native-inputs} (默认: @code{'()})"

#. type: itemx
#: guix-git/doc/guix.texi:7937
#, fuzzy, no-wrap
msgid "@code{propagated-inputs} (default: @code{'()})"
msgstr "@code{propagated-inputs} (默认: @code{'()})"

#. type: cindex
#: guix-git/doc/guix.texi:7938
#, fuzzy, no-wrap
msgid "inputs, of packages"
msgstr "包的输入"

#. type: table
#: guix-git/doc/guix.texi:7945
#, fuzzy
msgid "These fields list dependencies of the package.  Each element of these lists is either a package, origin, or other ``file-like object'' (@pxref{G-Expressions}); to specify the output of that file-like object that should be used, pass a two-element list where the second element is the output (@pxref{Packages with Multiple Outputs}, for more on package outputs).  For example, the list below specifies three inputs:"
msgstr "这些字段列出了包的依赖关系。这些列表的每个元素都是一个包、来源或其他“文件类似对象” (@pxref{G-Expressions});要指定应使用的该文件类似对象的输出,请传递一个两元素列表,其中第二个元素是输出 (@pxref{Packages with Multiple Outputs}, 有关包输出的更多信息)。例如,下面的列表指定了三个输入:"

#. type: lisp
#: guix-git/doc/guix.texi:7949
#, fuzzy, no-wrap
msgid ""
"(list libffi libunistring\n"
"      `(,glib \"bin\"))      ;the \"bin\" output of GLib\n"
msgstr ""
"(list libffi libunistring\n"
"      `(,glib \"bin\"))      ;GLib的“bin”输出\n"

#. type: table
#: guix-git/doc/guix.texi:7953
#, fuzzy
msgid "In the example above, the @code{\"out\"} output of @code{libffi} and @code{libunistring} is used."
msgstr "在上面的示例中,使用了 @code{libffi} 和 @code{libunistring} 的 @code{\"out\"} 输出。"

#. type: quotation
#: guix-git/doc/guix.texi:7961
#, fuzzy
msgid "Until version 1.3.0, input lists were a list of tuples, where each tuple has a label for the input (a string) as its first element, a package, origin, or derivation as its second element, and optionally the name of the output thereof that should be used, which defaults to @code{\"out\"}.  For example, the list below is equivalent to the one above, but using the @dfn{old input style}:"
msgstr "在 1.3.0 版本之前,输入列表是一个元组列表,其中每个元组的第一个元素是输入的标签(一个字符串),第二个元素是一个包、来源或派生,并可选地指定应使用的输出名称,默认为 @code{\"out\"}。例如,下面的列表等同于上面的列表,但使用 @dfn{旧输入风格}:"

#. type: lisp
#: guix-git/doc/guix.texi:7967
#, fuzzy, no-wrap
msgid ""
";; Old input style (deprecated).\n"
"`((\"libffi\" ,libffi)\n"
"  (\"libunistring\" ,libunistring)\n"
"  (\"glib:bin\" ,glib \"bin\"))  ;the \"bin\" output of GLib\n"
msgstr ""
";; 旧输入风格(已弃用)。\n"
"`((\"libffi\" ,libffi)\n"
"  (\"libunistring\" ,libunistring)\n"
"  (\"glib:bin\" ,glib \"bin\"))  ;GLib的“bin”输出\n"

#. type: quotation
#: guix-git/doc/guix.texi:7973
#, fuzzy
msgid "This style is now deprecated; it is still supported but support will be removed in a future version.  It should not be used for new package definitions.  @xref{Invoking guix style}, on how to migrate to the new style."
msgstr "这种风格现在已被弃用;仍然支持,但将来版本中将移除支持。它不应在新的包定义中使用。有关如何迁移到新风格,请参阅 @xref{Invoking guix style}。"

#. type: cindex
#: guix-git/doc/guix.texi:7975
#, fuzzy, no-wrap
msgid "cross compilation, package dependencies"
msgstr "交叉编译,包依赖关系"

#. type: table
#: guix-git/doc/guix.texi:7981
#, fuzzy
msgid "The distinction between @code{native-inputs} and @code{inputs} is necessary when considering cross-compilation.  When cross-compiling, dependencies listed in @code{inputs} are built for the @emph{target} architecture; conversely, dependencies listed in @code{native-inputs} are built for the architecture of the @emph{build} machine."
msgstr "在考虑交叉编译时,@code{native-inputs} 和 @code{inputs} 之间的区别是必要的。在交叉编译时,@code{inputs} 中列出的依赖项是为 @emph{目标} 架构构建的;相反,@code{native-inputs} 中列出的依赖项是为 @emph{构建} 机器的架构构建的。"

#. type: table
#: guix-git/doc/guix.texi:7986
#, fuzzy
msgid "@code{native-inputs} is typically used to list tools needed at build time, but not at run time, such as Autoconf, Automake, pkg-config, Gettext, or Bison.  @command{guix lint} can report likely mistakes in this area (@pxref{Invoking guix lint})."
msgstr "@code{native-inputs} 通常用于列出构建时所需的工具,但在运行时不需要,例如 Autoconf、Automake、pkg-config、Gettext 或 Bison。 @command{guix lint} 可以报告此领域可能的错误 (@pxref{Invoking guix lint})。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:7994
#, fuzzy
msgid "package-propagated-inputs"
msgstr "package-propagated-inputs"

#. type: table
#: guix-git/doc/guix.texi:7994
#, fuzzy
msgid "Lastly, @code{propagated-inputs} is similar to @code{inputs}, but the specified packages will be automatically installed to profiles (@pxref{Features, the role of profiles in Guix}) alongside the package they belong to (@pxref{package-cmd-propagated-inputs, @command{guix package}}, for information on how @command{guix package} deals with propagated inputs)."
msgstr "最后,@code{propagated-inputs} 类似于 @code{inputs},但指定的包将自动安装到配置文件中 (@pxref{Features, the role of profiles in Guix}),与它们所属的包一起 (@pxref{package-cmd-propagated-inputs, @command{guix package}},有关 @command{guix package} 如何处理传播的输入的信息)。"

#. type: table
#: guix-git/doc/guix.texi:7998
#, fuzzy
msgid "For example this is necessary when packaging a C/C++ library that needs headers of another library to compile, or when a pkg-config file refers to another one @i{via} its @code{Requires} field."
msgstr "例如,当打包一个需要另一个库的头文件以进行编译的 C/C++ 库时,或者当 pkg-config 文件通过其 @code{Requires} 字段引用另一个文件时,这是必要的。"

#. type: table
#: guix-git/doc/guix.texi:8005
#, fuzzy
msgid "Another example where @code{propagated-inputs} is useful is for languages that lack a facility to record the run-time search path akin to the @code{RUNPATH} of ELF files; this includes Guile, Python, Perl, and more.  When packaging libraries written in those languages, ensure they can find library code they depend on at run time by listing run-time dependencies in @code{propagated-inputs} rather than @code{inputs}."
msgstr "另一个 @code{propagated-inputs} 有用的例子是对于缺乏记录运行时搜索路径的功能的语言,这类似于 ELF 文件的 @code{RUNPATH};这包括 Guile、Python、Perl 等。当打包用这些语言编写的库时,通过在 @code{propagated-inputs} 中列出运行时依赖项,而不是 @code{inputs},确保它们能够在运行时找到它们依赖的库代码。"

#. type: item
#: guix-git/doc/guix.texi:8006
#, fuzzy, no-wrap
msgid "@code{outputs} (default: @code{'(\"out\")})"
msgstr "@code{outputs}(默认值:@code{'(\"out\")})"

#. type: table
#: guix-git/doc/guix.texi:8009
#, fuzzy
msgid "The list of output names of the package.  @xref{Packages with Multiple Outputs}, for typical uses of additional outputs."
msgstr "包的输出名称列表。 @xref{Packages with Multiple Outputs},有关额外输出的典型用法。"

#. type: item
#: guix-git/doc/guix.texi:8010
#, fuzzy, no-wrap
msgid "@code{native-search-paths} (default: @code{'()})"
msgstr "@code{native-search-paths}(默认值:@code{'()})"

#. type: item
#: guix-git/doc/guix.texi:8011 guix-git/doc/guix.texi:8962
#, fuzzy, no-wrap
msgid "@code{search-paths} (default: @code{'()})"
msgstr "@code{search-paths}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:8015
#, fuzzy
msgid "A list of @code{search-path-specification} objects describing search-path environment variables honored by the package.  @xref{Search Paths}, for more on search path specifications."
msgstr "描述包所尊重的搜索路径环境变量的 @code{search-path-specification} 对象列表。 @xref{Search Paths},有关搜索路径规范的更多信息。"

#. type: table
#: guix-git/doc/guix.texi:8021
#, fuzzy
msgid "As for inputs, the distinction between @code{native-search-paths} and @code{search-paths} only matters when cross-compiling.  In a cross-compilation context, @code{native-search-paths} applies exclusively to native inputs whereas @code{search-paths} applies only to host inputs."
msgstr "至于输入,@code{native-search-paths} 和 @code{search-paths} 之间的区别仅在交叉编译时才重要。在交叉编译上下文中,@code{native-search-paths} 仅适用于本地输入,而 @code{search-paths} 仅适用于主机输入。"

#. type: table
#: guix-git/doc/guix.texi:8028
#, fuzzy
msgid "Packages such as cross-compilers care about target inputs---for instance, our (modified) GCC cross-compiler has @env{CROSS_C_INCLUDE_PATH} in @code{search-paths}, which allows it to pick @file{.h} files for the target system and @emph{not} those of native inputs.  For the majority of packages though, only @code{native-search-paths} makes sense."
msgstr "诸如交叉编译器之类的包关心目标输入——例如,我们(修改过的)GCC 交叉编译器在 @code{search-paths} 中有 @env{CROSS_C_INCLUDE_PATH},这使它能够为目标系统选择 @file{.h} 文件,而 @emph{不} 是本地输入的文件。不过,对于大多数包来说,仅 @code{native-search-paths} 是有意义的。"

#. type: item
#: guix-git/doc/guix.texi:8029
#, fuzzy, no-wrap
msgid "@code{replacement} (default: @code{#f})"
msgstr "@code{replacement}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:8033
#, fuzzy
msgid "This must be either @code{#f} or a package object that will be used as a @dfn{replacement} for this package.  @xref{Security Updates, grafts}, for details."
msgstr "这必须是 @code{#f} 或一个将作为该包的 @dfn{replacement} 使用的包对象。有关详细信息,请参见 @xref{Security Updates, grafts}。"

#. type: item
#: guix-git/doc/guix.texi:8034 guix-git/doc/guix.texi:15587
#, fuzzy, no-wrap
msgid "synopsis"
msgstr "概述"

#. type: table
#: guix-git/doc/guix.texi:8036
#, fuzzy
msgid "A one-line description of the package."
msgstr "包的一行描述。"

#. type: code{#1}
#: guix-git/doc/guix.texi:8037 guix-git/doc/guix.texi:15588
#: guix-git/doc/guix.texi:45790 guix-git/doc/guix.texi:45950
#, fuzzy, no-wrap
msgid "description"
msgstr "描述"

#. type: table
#: guix-git/doc/guix.texi:8040
#, fuzzy
msgid "A more elaborate description of the package, as a string in Texinfo syntax."
msgstr "包的更详细描述,作为 Texinfo 语法中的字符串。"

#. type: code{#1}
#: guix-git/doc/guix.texi:8041
#, fuzzy, no-wrap
msgid "license"
msgstr "许可证"

#. type: cindex
#: guix-git/doc/guix.texi:8042
#, fuzzy, no-wrap
msgid "license, of packages"
msgstr "包的许可证"

#. type: table
#: guix-git/doc/guix.texi:8045
#, fuzzy
msgid "The license of the package; a value from @code{(guix licenses)}, or a list of such values."
msgstr "包的许可证;来自 @code{(guix licenses)} 的值,或这些值的列表。"

#. type: itemx
#: guix-git/doc/guix.texi:8046 guix-git/doc/guix.texi:15596
#, fuzzy, no-wrap
msgid "home-page"
msgstr "主页"

#. type: table
#: guix-git/doc/guix.texi:8048
#, fuzzy
msgid "The URL to the home-page of the package, as a string."
msgstr "包的主页 URL,作为字符串。"

#. type: item
#: guix-git/doc/guix.texi:8049
#, fuzzy, no-wrap
msgid "@code{supported-systems} (default: @code{%supported-systems})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:8052
#, fuzzy
msgid "The list of systems supported by the package, as strings of the form @code{architecture-kernel}, for example @code{\"x86_64-linux\"}."
msgstr "包支持的系统列表,作为 @code{architecture-kernel} 形式的字符串,例如 @code{\"x86_64-linux\"}。"

#. type: item
#: guix-git/doc/guix.texi:8053
#, fuzzy, no-wrap
msgid "@code{location} (default: source location of the @code{package} form)"
msgstr "@code{location}(默认值:@code{package} 形式的源位置)"

#. type: table
#: guix-git/doc/guix.texi:8057
#, fuzzy
msgid "The source location of the package.  It is useful to override this when inheriting from another package, in which case this field is not automatically corrected."
msgstr "包的源位置。当从另一个包继承时,覆盖此项是有用的,在这种情况下,此字段不会自动更正。"

#. type: defmac
#: guix-git/doc/guix.texi:8060
#, no-wrap
msgid "this-package"
msgstr "this-package"

#. type: defmac
#: guix-git/doc/guix.texi:8063
#, fuzzy
msgid "When used in the @emph{lexical scope} of a package field definition, this identifier resolves to the package being defined."
msgstr "在包字段定义的 @emph{词法范围} 中使用时,此标识符解析为正在定义的包。"

#. type: defmac
#: guix-git/doc/guix.texi:8066
#, fuzzy
msgid "The example below shows how to add a package as a native input of itself when cross-compiling:"
msgstr "下面的示例展示了如何在交叉编译时将包作为自身的本地输入添加:"

#. type: lisp
#: guix-git/doc/guix.texi:8071
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  (name \"guile\")\n"
"  ;; ...\n"
"\n"
msgstr ""
"(package\n"
"  (name \"guile\")\n"
"  ;; ...\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8077
#, fuzzy, no-wrap
msgid ""
"  ;; When cross-compiled, Guile, for example, depends on\n"
"  ;; a native version of itself.  Add it here.\n"
"  (native-inputs (if (%current-target-system)\n"
"                     (list this-package)\n"
"                     '())))\n"
msgstr ""
"  ;; 例如,当交叉编译时,Guile 依赖于\n"
"  ;; 自身的本地版本。在此添加。\n"
"  (native-inputs (if (%current-target-system)\n"
"                     (list this-package)\n"
"                     '())))\n"

#. type: defmac
#: guix-git/doc/guix.texi:8080
#, fuzzy
msgid "It is an error to refer to @code{this-package} outside a package definition."
msgstr "在包定义之外引用 @code{this-package} 是错误的。"

#. type: Plain text
#: guix-git/doc/guix.texi:8084
#, fuzzy
msgid "The following helper procedures are provided to help deal with package inputs."
msgstr "提供以下辅助过程以帮助处理包输入。"

#. type: deffn
#: guix-git/doc/guix.texi:8085
#, fuzzy, no-wrap
msgid "{Procedure} lookup-package-input package name"
msgstr "{过程} lookup-package-input 包名"

#. type: deffnx
#: guix-git/doc/guix.texi:8086
#, fuzzy, no-wrap
msgid "{Procedure} lookup-package-native-input package name"
msgstr "{过程} lookup-package-native-input 包名"

#. type: deffnx
#: guix-git/doc/guix.texi:8087
#, fuzzy, no-wrap
msgid "{Procedure} lookup-package-propagated-input package name"
msgstr "{过程} lookup-package-propagated-input 包名"

#. type: deffnx
#: guix-git/doc/guix.texi:8088
#, fuzzy, no-wrap
msgid "{Procedure} lookup-package-direct-input package name"
msgstr "{过程} lookup-package-direct-input 包名"

#. type: deffn
#: guix-git/doc/guix.texi:8091
#, fuzzy
msgid "Look up @var{name} among @var{package}'s inputs (or native, propagated, or direct inputs).  Return it if found, @code{#f} otherwise."
msgstr "在 @var{package} 的输入(或本地、传播或直接输入)中查找 @var{name}。如果找到则返回,@code{#f} 否则。"

#. type: deffn
#: guix-git/doc/guix.texi:8094
#, fuzzy
msgid "@var{name} is the name of a package or the file name of an origin depended on.  Here's how you might use it:"
msgstr "@var{name} 是包的名称或依赖的原点的文件名。以下是您可能如何使用它:"

#. type: lisp
#: guix-git/doc/guix.texi:8097
#, fuzzy, no-wrap
msgid ""
"(use-modules (guix packages) (gnu packages base))\n"
"\n"
msgstr ""
"(use-modules (guix packages) (gnu packages base))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8100
#, fuzzy, no-wrap
msgid ""
"(lookup-package-direct-input coreutils \"gmp\")\n"
"@result{} #<package gmp@@6.2.1 @dots{}>\n"
msgstr ""
"(lookup-package-direct-input coreutils \"gmp\")\n"
"@result{} #<package gmp@@6.2.1 @dots{}>\n"

#. type: deffn
#: guix-git/doc/guix.texi:8104
#, fuzzy
msgid "In this example we obtain the @code{gmp} package that is among the direct inputs of @code{coreutils}."
msgstr "在这个示例中,我们获得了 @code{gmp} 包,它是 @code{coreutils} 的直接输入之一。"

#. type: deffn
#: guix-git/doc/guix.texi:8108
#, fuzzy
msgid "When looking up an origin, use the name that appears in the origin's @code{file-name} field or its default file name---e.g., @code{\"foo-1.2.tar.gz\"}."
msgstr "查找来源时,请使用出现在来源的 @code{file-name} 字段或其默认文件名中的名称——例如,@code{\"foo-1.2.tar.gz\"}。"

#. type: cindex
#: guix-git/doc/guix.texi:8110
#, fuzzy, no-wrap
msgid "development inputs, of a package"
msgstr "创建软件包的变体。"

#. type: cindex
#: guix-git/doc/guix.texi:8111
#, fuzzy, no-wrap
msgid "implicit inputs, of a package"
msgstr "Python软件包的输入"

#. type: Plain text
#: guix-git/doc/guix.texi:8116
#, fuzzy
msgid "Sometimes you will want to obtain the list of inputs needed to @emph{develop} a package---all the inputs that are visible when the package is compiled.  This is what the @code{package-development-inputs} procedure returns."
msgstr "有时您会想要获取开发一个包所需的输入列表——在编译包时可见的所有输入。这就是 @code{package-development-inputs} 过程返回的内容。"

#. type: deffn
#: guix-git/doc/guix.texi:8117
#, fuzzy, no-wrap
msgid "{Procedure} package-development-inputs package [system] [#:target #f]"
msgstr "{Procedure} package-development-inputs package [system] [#:target #f]"

#. type: deffn
#: guix-git/doc/guix.texi:8123
#, fuzzy
msgid "Return the list of inputs required by @var{package} for development purposes on @var{system}.  When @var{target} is true, return the inputs needed to cross-compile @var{package} from @var{system} to @var{target}, where @var{target} is a triplet such as @code{\"aarch64-linux-gnu\"}."
msgstr "返回 @var{package} 在 @var{system} 上开发所需的输入列表。当 @var{target} 为真时,返回从 @var{system} 到 @var{target} 交叉编译 @var{package} 所需的输入,其中 @var{target} 是一个三元组,例如 @code{\"aarch64-linux-gnu\"}。"

#. type: deffn
#: guix-git/doc/guix.texi:8127
#, fuzzy
msgid "Note that the result includes both explicit inputs and implicit inputs---inputs automatically added by the build system (@pxref{Build Systems}).  Let us take the @code{hello} package to illustrate that:"
msgstr "请注意,结果包括显式输入和隐式输入——由构建系统自动添加的输入 (@pxref{Build Systems})。让我们以 @code{hello} 包为例来说明:"

#. type: lisp
#: guix-git/doc/guix.texi:8130
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu packages base) (guix packages))\n"
"\n"
msgstr ""
"(use-modules (gnu packages base) (guix packages))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8133
#, fuzzy, no-wrap
msgid ""
"hello\n"
"@result{} #<package hello@@2.10 gnu/packages/base.scm:79 7f585d4f6790>\n"
"\n"
msgstr ""
"hello\n"
"@result{} #<package hello@@2.10 gnu/packages/base.scm:79 7f585d4f6790>\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8136
#, fuzzy, no-wrap
msgid ""
"(package-direct-inputs hello)\n"
"@result{} ()\n"
"\n"
msgstr ""
"(package-direct-inputs hello)\n"
"@result{} ()\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8139
#, fuzzy, no-wrap
msgid ""
"(package-development-inputs hello)\n"
"@result{} ((\"source\" @dots{}) (\"tar\" #<package tar@@1.32 @dots{}>) @dots{})\n"
msgstr ""
"(package-development-inputs hello)\n"
"@result{} ((\"source\" @dots{}) (\"tar\" #<package tar@@1.32 @dots{}>) @dots{})\n"

#. type: deffn
#: guix-git/doc/guix.texi:8148
#, fuzzy
msgid "In this example, @code{package-direct-inputs} returns the empty list, because @code{hello} has zero explicit dependencies.  Conversely, @code{package-development-inputs} includes inputs implicitly added by @code{gnu-build-system} that are required to build @code{hello}: tar, gzip, GCC, libc, Bash, and more.  To visualize it, @command{guix graph hello} would show you explicit inputs, whereas @command{guix graph -t bag hello} would include implicit inputs (@pxref{Invoking guix graph})."
msgstr "在这个示例中,@code{package-direct-inputs} 返回空列表,因为 @code{hello} 没有显式依赖。相反,@code{package-development-inputs} 包含由 @code{gnu-build-system} 隐式添加的输入,这些输入是构建 @code{hello} 所需的:tar、gzip、GCC、libc、Bash 等。为了可视化,@command{guix graph hello} 将显示显式输入,而 @command{guix graph -t bag hello} 将包括隐式输入 (@pxref{Invoking guix graph})。"

#. type: Plain text
#: guix-git/doc/guix.texi:8154
#, fuzzy
msgid "Because packages are regular Scheme objects that capture a complete dependency graph and associated build procedures, it is often useful to write procedures that take a package and return a modified version thereof according to some parameters.  Below are a few examples."
msgstr "由于包是常规的 Scheme 对象,捕获了完整的依赖图和相关的构建过程,因此编写接受包并根据某些参数返回其修改版本的过程通常是有用的。以下是一些示例。"

#. type: cindex
#: guix-git/doc/guix.texi:8155
#, fuzzy, no-wrap
msgid "tool chain, choosing a package's tool chain"
msgstr "工具链,选择一个包的工具链"

#. type: deffn
#: guix-git/doc/guix.texi:8156
#, fuzzy, no-wrap
msgid "{Procedure} package-with-c-toolchain package toolchain"
msgstr "{过程} package-with-c-toolchain 包工具链"

#. type: deffn
#: guix-git/doc/guix.texi:8161
#, fuzzy
msgid "Return a variant of @var{package} that uses @var{toolchain} instead of the default GNU C/C++ toolchain.  @var{toolchain} must be a list of inputs (label/package tuples) providing equivalent functionality, such as the @code{gcc-toolchain} package."
msgstr "返回一个变体的 @var{package},该变体使用 @var{toolchain} 而不是默认的 GNU C/C++ 工具链。 @var{toolchain} 必须是一个输入列表(标签/包元组),提供等效功能,例如 @code{gcc-toolchain} 包。"

#. type: deffn
#: guix-git/doc/guix.texi:8165
#, fuzzy
msgid "The example below returns a variant of the @code{hello} package built with GCC@tie{}10.x and the rest of the GNU tool chain (Binutils and the GNU C Library) instead of the default tool chain:"
msgstr "下面的示例返回一个使用 GCC@tie{}10.x 和其余 GNU 工具链(Binutils 和 GNU C 库)构建的 @code{hello} 包的变体,而不是默认工具链:"

#. type: lisp
#: guix-git/doc/guix.texi:8169
#, fuzzy, no-wrap
msgid ""
"(let ((toolchain (specification->package \"gcc-toolchain@@10\")))\n"
"  (package-with-c-toolchain hello `((\"toolchain\" ,toolchain))))\n"
msgstr ""
"(let ((toolchain (specification->package \"gcc-toolchain@@10\")))\n"
"  (package-with-c-toolchain hello `((\"toolchain\" ,toolchain))))\n"

#. type: deffn
#: guix-git/doc/guix.texi:8177
#, fuzzy
msgid "The build tool chain is part of the @dfn{implicit inputs} of packages---it's usually not listed as part of the various ``inputs'' fields and is instead pulled in by the build system.  Consequently, this procedure works by changing the build system of @var{package} so that it pulls in @var{toolchain} instead of the defaults.  @xref{Build Systems}, for more on build systems."
msgstr "构建工具链是包的 @dfn{隐式输入} 的一部分——通常不会列为各种“输入”字段的一部分,而是由构建系统拉入。因此,该过程通过更改 @var{package} 的构建系统来工作,以便它拉入 @var{toolchain} 而不是默认值。有关构建系统的更多信息,请参见 @xref{Build Systems}。"

#. type: subsection
#: guix-git/doc/guix.texi:8180
#, fuzzy, no-wrap
msgid "@code{origin} Reference"
msgstr "@code{origin} 参考"

#. type: Plain text
#: guix-git/doc/guix.texi:8188
#, fuzzy
msgid "This section documents @dfn{origins}.  An @code{origin} declaration specifies data that must be ``produced''---downloaded, usually---and whose content hash is known in advance.  Origins are primarily used to represent the source code of packages (@pxref{Defining Packages}).  For that reason, the @code{origin} form allows you to declare patches to apply to the original source code as well as code snippets to modify it."
msgstr "本节记录 @dfn{来源}。 @code{origin} 声明指定必须“生成”的数据——通常是下载的,并且其内容哈希在预先已知。来源主要用于表示包的源代码(@pxref{Defining Packages})。因此,@code{origin} 形式允许您声明要应用于原始源代码的补丁以及修改它的代码片段。"

#. type: deftp
#: guix-git/doc/guix.texi:8189
#, fuzzy, no-wrap
msgid "{Data Type} origin"
msgstr "{数据类型} origin"

#. type: deftp
#: guix-git/doc/guix.texi:8191
#, fuzzy
msgid "This is the data type representing a source code origin."
msgstr "这是表示源代码来源的数据类型。"

#. type: code{#1}
#: guix-git/doc/guix.texi:8193 guix-git/doc/guix.texi:33272
#, fuzzy, no-wrap
msgid "uri"
msgstr "uri"

#. type: table
#: guix-git/doc/guix.texi:8198
#, fuzzy
msgid "An object containing the URI of the source.  The object type depends on the @code{method} (see below).  For example, when using the @var{url-fetch} method of @code{(guix download)}, the valid @code{uri} values are: a URL represented as a string, or a list thereof."
msgstr "一个包含源 URI 的对象。对象类型取决于 @code{method}(见下文)。例如,当使用 @var{url-fetch} 方法时,@code{(guix download)} 的有效 @code{uri} 值为:作为字符串表示的 URL,或其列表。"

#. type: cindex
#: guix-git/doc/guix.texi:8199
#, fuzzy, no-wrap
msgid "fixed-output derivations, for download"
msgstr "固定输出派生,用于下载"

#. type: code{#1}
#: guix-git/doc/guix.texi:8200
#, fuzzy, no-wrap
msgid "method"
msgstr "方法"

#. type: table
#: guix-git/doc/guix.texi:8207
#, fuzzy
msgid "A monadic procedure that handles the given URI@.  The procedure must accept at least three arguments: the value of the @code{uri} field and the hash algorithm and hash value specified by the @code{hash} field.  It must return a store item or a derivation in the store monad (@pxref{The Store Monad}); most methods return a fixed-output derivation (@pxref{Derivations})."
msgstr "一个处理给定 URI@ 的单子过程。该过程必须至少接受三个参数:@code{uri} 字段的值以及 @code{hash} 字段指定的哈希算法和哈希值。它必须返回一个存储项或存储单子中的派生(@pxref{The Store Monad});大多数方法返回固定输出派生(@pxref{Derivations})。"

#. type: table
#: guix-git/doc/guix.texi:8211
#, fuzzy
msgid "Commonly used methods include @code{url-fetch}, which fetches data from a URL, and @code{git-fetch}, which fetches data from a Git repository (see below)."
msgstr "常用的方法包括 @code{url-fetch},它从 URL 获取数据,以及 @code{git-fetch},它从 Git 仓库获取数据(见下文)。"

#. type: code{#1}
#: guix-git/doc/guix.texi:8212
#, fuzzy, no-wrap
msgid "sha256"
msgstr "sha256"

#. type: table
#: guix-git/doc/guix.texi:8216
#, fuzzy
msgid "A bytevector containing the SHA-256 hash of the source.  This is equivalent to providing a @code{content-hash} SHA256 object in the @code{hash} field described below."
msgstr "一个包含源的 SHA-256 哈希的字节向量。这相当于在下面描述的 @code{hash} 字段中提供一个 @code{content-hash} SHA256 对象。"

#. type: code{#1}
#: guix-git/doc/guix.texi:8217
#, fuzzy, no-wrap
msgid "hash"
msgstr "hash"

#. type: table
#: guix-git/doc/guix.texi:8220
#, fuzzy
msgid "The @code{content-hash} object of the source---see below for how to use @code{content-hash}."
msgstr "源的 @code{content-hash} 对象——请参见下文以了解如何使用 @code{content-hash}。"

#. type: table
#: guix-git/doc/guix.texi:8224
#, fuzzy
msgid "You can obtain this information using @code{guix download} (@pxref{Invoking guix download}) or @code{guix hash} (@pxref{Invoking guix hash})."
msgstr "您可以使用 @code{guix download}(@pxref{Invoking guix download})或 @code{guix hash}(@pxref{Invoking guix hash})来获取此信息。"

#. type: item
#: guix-git/doc/guix.texi:8225
#, fuzzy, no-wrap
msgid "@code{file-name} (default: @code{#f})"
msgstr "@code{file-name}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:8231
#, fuzzy
msgid "The file name under which the source code should be saved.  When this is @code{#f}, a sensible default value will be used in most cases.  In case the source is fetched from a URL, the file name from the URL will be used.  For version control checkouts, it is recommended to provide the file name explicitly because the default is not very descriptive."
msgstr "源代码应保存的文件名。当此值为 @code{#f} 时,在大多数情况下将使用合理的默认值。如果源是从 URL 获取的,将使用 URL 中的文件名。对于版本控制检出,建议明确提供文件名,因为默认值并不十分描述性。"

#. type: item
#: guix-git/doc/guix.texi:8232
#, fuzzy, no-wrap
msgid "@code{patches} (default: @code{'()})"
msgstr "@code{patches}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:8235
#, fuzzy
msgid "A list of file names, origins, or file-like objects (@pxref{G-Expressions, file-like objects}) pointing to patches to be applied to the source."
msgstr "指向要应用于源的补丁的文件名、来源或类文件对象的列表(@pxref{G-Expressions, file-like objects})。"

#. type: table
#: guix-git/doc/guix.texi:8239
#, fuzzy
msgid "This list of patches must be unconditional.  In particular, it cannot depend on the value of @code{%current-system} or @code{%current-target-system}."
msgstr "此补丁列表必须是无条件的。特别是,它不能依赖于 @code{%current-system} 或 @code{%current-target-system} 的值。"

#. type: item
#: guix-git/doc/guix.texi:8240
#, fuzzy, no-wrap
msgid "@code{snippet} (default: @code{#f})"
msgstr "@code{snippet}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:8244
#, fuzzy
msgid "A G-expression (@pxref{G-Expressions}) or S-expression that will be run in the source directory.  This is a convenient way to modify the source, sometimes more convenient than a patch."
msgstr "将在源目录中运行的 G 表达式(@pxref{G-Expressions})或 S 表达式。这是一种方便的修改源的方法,有时比补丁更方便。"

#. type: item
#: guix-git/doc/guix.texi:8245
#, fuzzy, no-wrap
msgid "@code{patch-flags} (default: @code{'(\"-p1\")})"
msgstr "@code{patch-flags}(默认值:@code{'(\"-p1\")})"

#. type: table
#: guix-git/doc/guix.texi:8248
#, fuzzy
msgid "A list of command-line flags that should be passed to the @code{patch} command."
msgstr "应传递给 @code{patch} 命令的命令行标志列表。"

#. type: item
#: guix-git/doc/guix.texi:8249
#, fuzzy, no-wrap
msgid "@code{patch-inputs} (default: @code{#f})"
msgstr "@code{patch-inputs}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:8253
#, fuzzy
msgid "Input packages or derivations to the patching process.  When this is @code{#f}, the usual set of inputs necessary for patching are provided, such as GNU@tie{}Patch."
msgstr "补丁过程的输入包或派生物。当此值为 @code{#f} 时,将提供补丁所需的常用输入集,例如 GNU@tie{}Patch。"

#. type: item
#: guix-git/doc/guix.texi:8254 guix-git/doc/guix.texi:33096
#, fuzzy, no-wrap
msgid "@code{modules} (default: @code{'()})"
msgstr "@code{modules}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:8257
#, fuzzy
msgid "A list of Guile modules that should be loaded during the patching process and while running the code in the @code{snippet} field."
msgstr "在补丁过程中以及运行 @code{snippet} 字段中的代码时应加载的 Guile 模块列表。"

#. type: item
#: guix-git/doc/guix.texi:8258
#, fuzzy, no-wrap
msgid "@code{patch-guile} (default: @code{#f})"
msgstr "@code{patch-guile}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:8261
#, fuzzy
msgid "The Guile package that should be used in the patching process.  When this is @code{#f}, a sensible default is used."
msgstr "应在补丁过程中使用的 Guile 包。当这个值为 @code{#f} 时,将使用一个合理的默认值。"

#. type: deftp
#: guix-git/doc/guix.texi:8264
#, fuzzy, no-wrap
msgid "{Data Type} content-hash @var{value} [@var{algorithm}]"
msgstr "{数据类型} content-hash @var{value} [@var{algorithm}]"

#. type: deftp
#: guix-git/doc/guix.texi:8268
#, fuzzy
msgid "Construct a content hash object for the given @var{algorithm}, and with @var{value} as its hash value.  When @var{algorithm} is omitted, assume it is @code{sha256}."
msgstr "为给定的 @var{algorithm} 构造一个内容哈希对象,并将 @var{value} 作为其哈希值。当省略 @var{algorithm} 时,假设它是 @code{sha256}。"

#. type: deftp
#: guix-git/doc/guix.texi:8271
#, fuzzy
msgid "@var{value} can be a literal string, in which case it is base32-decoded, or it can be a bytevector."
msgstr "@var{value} 可以是一个字面字符串,在这种情况下,它会被进行 base32 解码,或者它可以是一个字节向量。"

#. type: deftp
#: guix-git/doc/guix.texi:8273
#, fuzzy
msgid "The following forms are all equivalent:"
msgstr "这些依赖是可选的:"

#. type: lisp
#: guix-git/doc/guix.texi:8282
#, fuzzy, no-wrap
msgid ""
"(content-hash \"05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj\")\n"
"(content-hash \"05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj\"\n"
"              sha256)\n"
"(content-hash (base32\n"
"               \"05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj\"))\n"
"(content-hash (base64 \"kkb+RPaP7uyMZmu4eXPVkM4BN8yhRd8BTHLslb6f/Rc=\")\n"
"              sha256)\n"
msgstr ""
"(content-hash \"05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj\")\n"
"(content-hash \"05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj\"\n"
"              sha256)\n"
"(content-hash (base32\n"
"               \"05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj\"))\n"
"(content-hash (base64 \"kkb+RPaP7uyMZmu4eXPVkM4BN8yhRd8BTHLslb6f/Rc=\")\n"
"              sha256)\n"

#. type: deftp
#: guix-git/doc/guix.texi:8287
#, fuzzy
msgid "Technically, @code{content-hash} is currently implemented as a macro.  It performs sanity checks at macro-expansion time, when possible, such as ensuring that @var{value} has the right size for @var{algorithm}."
msgstr "从技术上讲,@code{content-hash} 目前实现为一个宏。它在宏展开时执行合理性检查,例如确保 @var{value} 对于 @var{algorithm} 的大小是正确的。"

#. type: Plain text
#: guix-git/doc/guix.texi:8293
#, fuzzy
msgid "As we have seen above, how exactly the data an origin refers to is retrieved is determined by its @code{method} field.  The @code{(guix download)} module provides the most common method, @code{url-fetch}, described below."
msgstr "正如我们上面所看到的,原始数据的获取方式由其 @code{method} 字段决定。@code{(guix download)} 模块提供了最常见的方法 @code{url-fetch},如下所述。"

#. type: deffn
#: guix-git/doc/guix.texi:8294
#, fuzzy, no-wrap
msgid "{Procedure} url-fetch url hash-algo hash [name] [#:executable? #f]"
msgstr "{过程} url-fetch url hash-algo hash [name] [#:executable? #f]"

#. type: deffn
#: guix-git/doc/guix.texi:8301
#, fuzzy
msgid "Return a fixed-output derivation that fetches data from @var{url} (a string, or a list of strings denoting alternate URLs), which is expected to have hash @var{hash} of type @var{hash-algo} (a symbol).  By default, the file name is the base name of URL; optionally, @var{name} can specify a different file name.  When @var{executable?} is true, make the downloaded file executable."
msgstr "返回一个固定输出的派生,获取来自 @var{url}(一个字符串或表示备用 URL 的字符串列表)的数据,预计其哈希为 @var{hash},类型为 @var{hash-algo}(一个符号)。默认情况下,文件名为 URL 的基本名称;可选地,@var{name} 可以指定不同的文件名。当 @var{executable?} 为真时,使下载的文件可执行。"

#. type: deffn
#: guix-git/doc/guix.texi:8304
#, fuzzy
msgid "When one of the URL starts with @code{mirror://}, then its host part is interpreted as the name of a mirror scheme, taken from @file{%mirror-file}."
msgstr "当其中一个 URL 以 @code{mirror://} 开头时,其主机部分被解释为来自 @file{%mirror-file} 的镜像方案名称。"

#. type: deffn
#: guix-git/doc/guix.texi:8307
#, fuzzy
msgid "Alternatively, when URL starts with @code{file://}, return the corresponding file name in the store."
msgstr "或者,当 URL 以 @code{file://} 开头时,返回存储中对应的文件名。"

#. type: Plain text
#: guix-git/doc/guix.texi:8313
#, fuzzy
msgid "Likewise, the @code{(guix git-download)} module defines the @code{git-fetch} origin method, which fetches data from a Git version control repository, and the @code{git-reference} data type to describe the repository and revision to fetch."
msgstr "同样,@code{(guix git-download)} 模块定义了 @code{git-fetch} 原始方法,该方法从 Git 版本控制库获取数据,以及 @code{git-reference} 数据类型,用于描述要获取的库和修订版。"

#. type: deffn
#: guix-git/doc/guix.texi:8314
#, fuzzy, no-wrap
msgid "{Procedure} git-fetch ref hash-algo hash [name]"
msgstr "{Procedure} git-fetch ref hash-algo hash [name]"

#. type: deffn
#: guix-git/doc/guix.texi:8319
#, fuzzy
msgid "Return a fixed-output derivation that fetches @var{ref}, a @code{<git-reference>} object.  The output is expected to have recursive hash @var{hash} of type @var{hash-algo} (a symbol).  Use @var{name} as the file name, or a generic name if @code{#f}."
msgstr "返回一个固定输出的派生,获取 @var{ref},一个 @code{<git-reference>} 对象。输出预计具有类型为 @var{hash-algo}(一个符号)的递归哈希 @var{hash}。使用 @var{name} 作为文件名,或者如果 @code{#f} 则使用通用名称。"

#. type: deffn
#: guix-git/doc/guix.texi:8321
#, fuzzy, no-wrap
msgid "{Procedure} git-fetch/lfs ref hash-algo hash [name]"
msgstr "{Procedure} git-fetch/lfs ref hash-algo hash [name]"

#. type: deffn
#: guix-git/doc/guix.texi:8326
#, fuzzy
msgid "This is a variant of the @code{git-fetch} procedure that supports the Git @acronym{LFS, Large File Storage} extension.  This may be useful to pull some binary test data to run the test suite of a package, for example."
msgstr "这是 @code{git-fetch} 过程的一个变体,支持 Git @acronym{LFS, 大文件存储} 扩展。这可能对拉取一些二进制测试数据以运行软件包的测试套件很有用,例如。"

#. type: deftp
#: guix-git/doc/guix.texi:8328
#, fuzzy, no-wrap
msgid "{Data Type} git-reference"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:8331
#, fuzzy
msgid "This data type represents a Git reference for @code{git-fetch} to retrieve."
msgstr "此数据类型表示一个 Git 引用,以供 @code{git-fetch} 检索。"

#. type: code{#1}
#: guix-git/doc/guix.texi:8333 guix-git/doc/guix.texi:8381
#: guix-git/doc/guix.texi:8405 guix-git/doc/guix.texi:8440
#: guix-git/doc/guix.texi:30498
#, fuzzy, no-wrap
msgid "url"
msgstr "url"

#. type: table
#: guix-git/doc/guix.texi:8335
#, fuzzy
msgid "The URL of the Git repository to clone."
msgstr "要克隆的 Git 仓库的 URL。"

#. type: code{#1}
#: guix-git/doc/guix.texi:8336
#, fuzzy, no-wrap
msgid "commit"
msgstr "commit"

#. type: table
#: guix-git/doc/guix.texi:8341
#, fuzzy
msgid "This string denotes either the commit to fetch (a hexadecimal string), or the tag to fetch.  You can also use a ``short'' commit ID or a @command{git describe} style identifier such as @code{v1.0.1-10-g58d7909c97}."
msgstr "此字符串表示要获取的提交(一个十六进制字符串)或要获取的标签。您还可以使用“短”提交 ID 或 @command{git describe} 风格的标识符,例如 @code{v1.0.1-10-g58d7909c97}。"

#. type: item
#: guix-git/doc/guix.texi:8342 guix-git/doc/guix.texi:8411
#, fuzzy, no-wrap
msgid "@code{recursive?} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:8344
#, fuzzy
msgid "This Boolean indicates whether to recursively fetch Git sub-modules."
msgstr "此布尔值指示是否递归获取 Git 子模块。"

#. type: deftp
#: guix-git/doc/guix.texi:8348
#, fuzzy
msgid "The example below denotes the @code{v2.10} tag of the GNU@tie{}Hello repository:"
msgstr "下面的示例表示 GNU@tie{}Hello 仓库的 @code{v2.10} 标签:"

#. type: lisp
#: guix-git/doc/guix.texi:8353
#, no-wrap
msgid ""
"(git-reference\n"
"  (url \"https://git.savannah.gnu.org/git/hello.git\")\n"
"  (commit \"v2.10\"))\n"
msgstr ""
"(git-reference\n"
"  (url \"https://git.savannah.gnu.org/git/hello.git\")\n"
"  (commit \"v2.10\"))\n"

#. type: deftp
#: guix-git/doc/guix.texi:8357
#, fuzzy
msgid "This is equivalent to the reference below, which explicitly names the commit:"
msgstr "这等同于下面的引用,明确命名了提交:"

#. type: lisp
#: guix-git/doc/guix.texi:8362
#, fuzzy, no-wrap
msgid ""
"(git-reference\n"
"  (url \"https://git.savannah.gnu.org/git/hello.git\")\n"
"  (commit \"dc7dc56a00e48fe6f231a58f6537139fe2908fb9\"))\n"
msgstr ""
"(git-reference\n"
"  (url \"https://git.savannah.gnu.org/git/hello.git\")\n"
"  (commit \"dc7dc56a00e48fe6f231a58f6537139fe2908fb9\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8368
#, fuzzy
msgid "For Mercurial repositories, the module @code{(guix hg-download)} defines the @code{hg-fetch} origin method and @code{hg-reference} data type for support of the Mercurial version control system."
msgstr "对于 Mercurial 仓库,模块 @code{(guix hg-download)} 定义了 @code{hg-fetch} 原始方法和 @code{hg-reference} 数据类型,以支持 Mercurial 版本控制系统。"

#. type: deffn
#: guix-git/doc/guix.texi:8369
#, fuzzy, no-wrap
msgid "{Procedure} hg-fetch ref hash-algo hash [name]"
msgstr "{Procedure} hg-fetch ref hash-algo hash [name]"

#. type: deffn
#: guix-git/doc/guix.texi:8374
#, fuzzy
msgid "Return a fixed-output derivation that fetches @var{ref}, a @code{<hg-reference>} object.  The output is expected to have recursive hash @var{hash} of type @var{hash-algo} (a symbol).  Use @var{name} as the file name, or a generic name if @code{#f}."
msgstr "返回一个固定输出的派生,获取 @var{ref},一个 @code{<hg-reference>} 对象。输出预计具有类型为 @var{hash-algo}(一个符号)的递归哈希 @var{hash}。使用 @var{name} 作为文件名,或者如果 @code{#f} 则使用通用名称。"

#. type: deftp
#: guix-git/doc/guix.texi:8376
#, fuzzy, no-wrap
msgid "{Data Type} hg-reference"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:8379
#, fuzzy
msgid "This data type represents a Mercurial reference for @code{hg-fetch} to retrieve."
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:8383
#, fuzzy
msgid "The URL of the Mercurial repository to clone."
msgstr "推送到官方仓库。"

#. type: code{#1}
#: guix-git/doc/guix.texi:8384
#, fuzzy, no-wrap
msgid "changeset"
msgstr "changeset"

#. type: table
#: guix-git/doc/guix.texi:8386
#, fuzzy
msgid "This string denotes the changeset to fetch."
msgstr "此字符串表示要获取的变更集。"

#. type: Plain text
#: guix-git/doc/guix.texi:8392
#, fuzzy
msgid "For Subversion repositories, the module @code{(guix svn-download)} defines the @code{svn-fetch} origin method and @code{svn-reference} data type for support of the Subversion version control system."
msgstr "对于 Subversion 仓库,模块 @code{(guix svn-download)} 定义了 @code{svn-fetch} 原始方法和 @code{svn-reference} 数据类型,以支持 Subversion 版本控制系统。"

#. type: deffn
#: guix-git/doc/guix.texi:8393
#, fuzzy, no-wrap
msgid "{Procedure} svn-fetch ref hash-algo hash [name]"
msgstr "{Procedure} svn-fetch ref hash-algo hash [name]"

#. type: deffn
#: guix-git/doc/guix.texi:8398
#, fuzzy
msgid "Return a fixed-output derivation that fetches @var{ref}, a @code{<svn-reference>} object.  The output is expected to have recursive hash @var{hash} of type @var{hash-algo} (a symbol).  Use @var{name} as the file name, or a generic name if @code{#f}."
msgstr "返回一个固定输出的派生,获取 @var{ref},一个 @code{<svn-reference>} 对象。输出预计将具有类型为 @var{hash-algo}(一个符号)的递归哈希 @var{hash}。使用 @var{name} 作为文件名,如果是 @code{#f} 则使用通用名称。"

#. type: deftp
#: guix-git/doc/guix.texi:8400
#, fuzzy, no-wrap
msgid "{Data Type} svn-reference"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:8403
#, fuzzy
msgid "This data type represents a Subversion reference for @code{svn-fetch} to retrieve."
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:8407
#, fuzzy
msgid "The URL of the Subversion repository to clone."
msgstr "要克隆的 Subversion 仓库的 URL。"

#. type: code{#1}
#: guix-git/doc/guix.texi:8408 guix-git/doc/guix.texi:8443
#: guix-git/doc/guix.texi:8470
#, fuzzy, no-wrap
msgid "revision"
msgstr "修订版"

#. type: table
#: guix-git/doc/guix.texi:8410
#, fuzzy
msgid "This string denotes the revision to fetch specified as a number."
msgstr "此字符串表示要获取的修订版,指定为数字。"

#. type: table
#: guix-git/doc/guix.texi:8414
#, fuzzy
msgid "This Boolean indicates whether to recursively fetch Subversion ``externals''."
msgstr "此布尔值指示是否递归获取 Subversion “外部”。"

#. type: item
#: guix-git/doc/guix.texi:8415
#, fuzzy, no-wrap
msgid "@code{user-name} (default: @code{#f})"
msgstr "@code{max-journal-depth}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:8418
#, fuzzy
msgid "The name of an account that has read-access to the repository, if the repository isn't public."
msgstr "如果仓库不是公共的,则为具有读取访问权限的帐户名称。"

#. type: item
#: guix-git/doc/guix.texi:8419 guix-git/doc/guix.texi:18813
#: guix-git/doc/guix.texi:18868
#, fuzzy, no-wrap
msgid "@code{password} (default: @code{#f})"
msgstr "@code{password}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:8421
#, fuzzy
msgid "Password to access the Subversion repository, if required."
msgstr "访问 Subversion 仓库所需的密码(如果需要)。"

#. type: Plain text
#: guix-git/doc/guix.texi:8427
#, fuzzy
msgid "For Bazaar repositories, the module @code{(guix bzr-download)} defines the @code{bzr-fetch} origin method and @code{bzr-reference} data type for support of the Bazaar version control system."
msgstr "对于 Bazaar 仓库,模块 @code{(guix bzr-download)} 定义了 @code{bzr-fetch} 原始方法和 @code{bzr-reference} 数据类型,以支持 Bazaar 版本控制系统。"

#. type: deffn
#: guix-git/doc/guix.texi:8428
#, fuzzy, no-wrap
msgid "{Procedure} bzr-fetch ref hash-algo hash [name]"
msgstr "{过程} bzr-fetch ref hash-algo hash [name]"

#. type: deffn
#: guix-git/doc/guix.texi:8433
#, fuzzy
msgid "Return a fixed-output derivation that fetches @var{ref}, a @code{<bzr-reference>} object.  The output is expected to have recursive hash @var{hash} of type @var{hash-algo} (a symbol).  Use @var{name} as the file name, or a generic name if @code{#f}."
msgstr "返回一个固定输出的派生,获取 @var{ref},一个 @code{<bzr-reference>} 对象。输出预计将具有类型为 @var{hash-algo}(一个符号)的递归哈希 @var{hash}。使用 @var{name} 作为文件名,如果是 @code{#f} 则使用通用名称。"

#. type: deftp
#: guix-git/doc/guix.texi:8435
#, fuzzy, no-wrap
msgid "{Data Type} bzr-reference"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:8438
#, fuzzy
msgid "This data type represents a Bazaar reference for @code{bzr-fetch} to retrieve."
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:8442
#, fuzzy
msgid "The URL of the Bazaar repository to clone."
msgstr "要克隆的 Bazaar 仓库的 URL。"

#. type: table
#: guix-git/doc/guix.texi:8445
#, fuzzy
msgid "This string denotes revision to fetch specified as a number."
msgstr "此字符串表示要获取的修订版,指定为数字。"

#. type: Plain text
#: guix-git/doc/guix.texi:8451
#, fuzzy
msgid "For CVS repositories, the module @code{(guix cvs-download)} defines the @code{cvs-fetch} origin method and @code{cvs-reference} data type for support of the Concurrent Versions System (CVS)."
msgstr "对于 CVS 仓库,模块 @code{(guix cvs-download)} 定义了 @code{cvs-fetch} 原始方法和 @code{cvs-reference} 数据类型,以支持并发版本系统(CVS)。"

#. type: deffn
#: guix-git/doc/guix.texi:8452
#, fuzzy, no-wrap
msgid "{Procedure} cvs-fetch ref hash-algo hash [name]"
msgstr "{过程} cvs-fetch ref hash-algo hash [name]"

#. type: deffn
#: guix-git/doc/guix.texi:8457
#, fuzzy
msgid "Return a fixed-output derivation that fetches @var{ref}, a @code{<cvs-reference>} object.  The output is expected to have recursive hash @var{hash} of type @var{hash-algo} (a symbol).  Use @var{name} as the file name, or a generic name if @code{#f}."
msgstr "返回一个固定输出的派生,获取 @var{ref},一个 @code{<cvs-reference>} 对象。输出预计将具有类型为 @var{hash-algo}(一个符号)的递归哈希 @var{hash}。使用 @var{name} 作为文件名,如果是 @code{#f} 则使用通用名称。"

#. type: deftp
#: guix-git/doc/guix.texi:8459
#, fuzzy, no-wrap
msgid "{Data Type} cvs-reference"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:8462
#, fuzzy
msgid "This data type represents a CVS reference for @code{cvs-fetch} to retrieve."
msgstr "管理操作系统配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:8464
#, fuzzy, no-wrap
msgid "root-directory"
msgstr "状态文件夹"

#. type: table
#: guix-git/doc/guix.texi:8466
#, fuzzy
msgid "The CVS root directory."
msgstr "CVS 根目录。"

#. type: item
#: guix-git/doc/guix.texi:8467 guix-git/doc/guix.texi:16032
#, no-wrap
msgid "module"
msgstr "module"

#. type: table
#: guix-git/doc/guix.texi:8469
#, fuzzy
msgid "Module to fetch."
msgstr "要获取的模块。"

#. type: table
#: guix-git/doc/guix.texi:8472
#, fuzzy
msgid "Revision to fetch."
msgstr "要获取的修订版。"

#. type: deftp
#: guix-git/doc/guix.texi:8475
#, fuzzy
msgid "The example below denotes a version of gnu-standards to fetch:"
msgstr "下面的示例表示要获取的 gnu-standards 的版本:"

#. type: lisp
#: guix-git/doc/guix.texi:8481
#, fuzzy, no-wrap
msgid ""
"(cvs-reference\n"
"  (root-directory \":pserver:anonymous@@cvs.savannah.gnu.org:/sources/gnustandards\")\n"
"  (module \"gnustandards\")\n"
"  (revision \"2020-11-25\"))\n"
msgstr ""
"(cvs-reference\n"
"  (root-directory \":pserver:anonymous@@cvs.savannah.gnu.org:/sources/gnustandards\")\n"
"  (module \"gnustandards\")\n"
"  (revision \"2020-11-25\"))\n"

#. type: cindex
#: guix-git/doc/guix.texi:8488
#, fuzzy, no-wrap
msgid "customizing packages"
msgstr "定制软件包"

#. type: cindex
#: guix-git/doc/guix.texi:8489
#, fuzzy, no-wrap
msgid "variants, of packages"
msgstr "创建软件包的变体。"

#. type: Plain text
#: guix-git/doc/guix.texi:8499
#, fuzzy
msgid "One of the nice things with Guix is that, given a package definition, you can easily @emph{derive} variants of that package---for a different upstream version, with different dependencies, different compilation options, and so on.  Some of these custom packages can be defined straight from the command line (@pxref{Package Transformation Options}).  This section describes how to define package variants in code.  This can be useful in ``manifests'' (@pxref{Writing Manifests})  and in your own package collection (@pxref{Creating a Channel}), among others!"
msgstr "Guix 的一个好处是,给定一个软件包定义,您可以轻松地 @emph{派生} 该软件包的变体——用于不同的上游版本、不同的依赖项、不同的编译选项等等。这些自定义软件包中的一些可以直接从命令行定义(@pxref{Package Transformation Options})。本节描述如何在代码中定义软件包变体。这在“清单”(@pxref{Writing Manifests})和您自己的软件包集合(@pxref{Creating a Channel})中等情况下非常有用!"

#. type: cindex
#: guix-git/doc/guix.texi:8500
#, fuzzy, no-wrap
msgid "inherit, for package definitions"
msgstr "从软件包定义里寻找错误。"

#. type: Plain text
#: guix-git/doc/guix.texi:8507
#, fuzzy
msgid "As discussed earlier, packages are first-class objects in the Scheme language.  The @code{(guix packages)} module provides the @code{package} construct to define new package objects (@pxref{package Reference}).  The easiest way to define a package variant is using the @code{inherit} keyword together with @code{package}.  This allows you to inherit from a package definition while overriding the fields you want."
msgstr "如前所述,包在Scheme语言中是第一类对象。@code{(guix packages)}模块提供了@code{package}构造来定义新的包对象(@pxref{package Reference})。定义包变体的最简单方法是使用@code{inherit}关键字与@code{package}一起。这允许您从包定义中继承,同时覆盖您想要的字段。"

#. type: Plain text
#: guix-git/doc/guix.texi:8512
#, fuzzy
msgid "For example, given the @code{hello} variable, which contains a definition for the current version of GNU@tie{}Hello, here's how you would define a variant for version 2.2 (released in 2006, it's vintage!):"
msgstr "例如,给定@code{hello}变量,它包含GNU@tie{}Hello当前版本的定义,您可以这样定义版本2.2的变体(发布于2006年,真是经典!):"

#. type: lisp
#: guix-git/doc/guix.texi:8515
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu packages base))    ;for 'hello'\n"
"\n"
msgstr ""
"(use-modules (gnu packages base))    ;用于'hello'\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8527
#, fuzzy, no-wrap
msgid ""
"(define hello-2.2\n"
"  (package\n"
"    (inherit hello)\n"
"    (version \"2.2\")\n"
"    (source (origin\n"
"              (method url-fetch)\n"
"              (uri (string-append \"mirror://gnu/hello/hello-\" version\n"
"                                  \".tar.gz\"))\n"
"              (sha256\n"
"               (base32\n"
"                \"0lappv4slgb5spyqbh6yl5r013zv72yqg2pcl30mginf3wdqd8k9\"))))))\n"
msgstr ""
"(define hello-2.2\n"
"  (package\n"
"    (inherit hello)\n"
"    (version \"2.2\")\n"
"    (source (origin\n"
"              (method url-fetch)\n"
"              (uri (string-append \"mirror://gnu/hello/hello-\" version\n"
"                                  \".tar.gz\"))\n"
"              (sha256\n"
"               (base32\n"
"                \"0lappv4slgb5spyqbh6yl5r013zv72yqg2pcl30mginf3wdqd8k9\"))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8537
#, fuzzy
msgid "The example above corresponds to what the @option{--with-version} or @option{--with-source} package transformations option do.  Essentially @code{hello-2.2} preserves all the fields of @code{hello}, except @code{version} and @code{source}, which it overrides.  Note that the original @code{hello} variable is still there, in the @code{(gnu packages base)} module, unchanged.  When you define a custom package like this, you are really @emph{adding} a new package definition; the original one remains available."
msgstr "上面的示例对应于@option{--with-version}或@option{--with-source}包转换选项的作用。@code{hello-2.2}基本上保留了@code{hello}的所有字段,除了@code{version}和@code{source},这两个字段被覆盖。请注意,原始的@code{hello}变量仍然存在于@code{(gnu packages base)}模块中,未更改。当您像这样定义自定义包时,您实际上是在@emph{添加}一个新的包定义;原始的包仍然可用。"

#. type: Plain text
#: guix-git/doc/guix.texi:8543
#, fuzzy
msgid "You can just as well define variants with a different set of dependencies than the original package.  For example, the default @code{gdb} package depends on @code{guile}, but since that is an optional dependency, you can define a variant that removes that dependency like so:"
msgstr "您也可以定义具有与原始包不同依赖项集的变体。例如,默认的@code{gdb}包依赖于@code{guile},但由于这是一个可选依赖项,您可以定义一个删除该依赖项的变体,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:8546
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu packages gdb))   ;for 'gdb'\n"
"\n"
msgstr ""
"(use-modules (gnu packages gdb))   ;用于'gdb'\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8552
#, fuzzy, no-wrap
msgid ""
"(define gdb-sans-guile\n"
"  (package\n"
"    (inherit gdb)\n"
"    (inputs (modify-inputs (package-inputs gdb)\n"
"              (delete \"guile\")))))\n"
msgstr ""
"(define gdb-sans-guile\n"
"  (package\n"
"    (inherit gdb)\n"
"    (inputs (modify-inputs (package-inputs gdb)\n"
"              (delete \"guile\")))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8558
#, fuzzy
msgid "The @code{modify-inputs} form above removes the @code{\"guile\"} package from the @code{inputs} field of @code{gdb}.  The @code{modify-inputs} macro is a helper that can prove useful anytime you want to remove, add, or replace package inputs."
msgstr "上面的@code{modify-inputs}形式从@code{gdb}的@code{inputs}字段中删除了@code{\"guile\"}包。@code{modify-inputs}宏是一个助手,在您想要删除、添加或替换包输入时非常有用。"

#. type: defmac
#: guix-git/doc/guix.texi:8559
#, fuzzy, no-wrap
msgid "modify-inputs inputs clauses"
msgstr "修改输入 输入 条款"

#. type: defmac
#: guix-git/doc/guix.texi:8563
#, fuzzy
msgid "Modify the given package inputs, as returned by @code{package-inputs} & co., according to the given clauses.  Each clause must have one of the following forms:"
msgstr "根据给定的条款,修改由 @code{package-inputs} 等返回的包输入。每个条款必须具有以下形式之一:"

#. type: item
#: guix-git/doc/guix.texi:8565
#, fuzzy, no-wrap
msgid "(delete @var{name}@dots{})"
msgstr "--log-compression=@var{type}"

#. type: table
#: guix-git/doc/guix.texi:8567
#, fuzzy
msgid "Delete from the inputs packages with the given @var{name}s (strings)."
msgstr "从输入中删除具有给定 @var{name}s(字符串)的包。"

#. type: item
#: guix-git/doc/guix.texi:8568
#, fuzzy, no-wrap
msgid "(prepend @var{package}@dots{})"
msgstr "(prepend @var{package}@dots{})"

#. type: table
#: guix-git/doc/guix.texi:8570
#, fuzzy
msgid "Add @var{package}s to the front of the input list."
msgstr "将 @var{package}s 添加到输入列表的前面。"

#. type: item
#: guix-git/doc/guix.texi:8571
#, no-wrap
msgid "(append @var{package}@dots{})"
msgstr "(append @var{软件包}@dots{})"

#. type: table
#: guix-git/doc/guix.texi:8573
#, fuzzy
msgid "Add @var{package}s to the end of the input list."
msgstr "将 @var{package}s 添加到输入列表的末尾。"

#. type: item
#: guix-git/doc/guix.texi:8574
#, fuzzy, no-wrap
msgid "(replace @var{name} @var{replacement})"
msgstr "--log-compression=@var{type}"

#. type: table
#: guix-git/doc/guix.texi:8576
#, fuzzy
msgid "Replace the package called @var{name} with @var{replacement}."
msgstr "用 @var{replacement} 替换名为 @var{name} 的包。"

#. type: defmac
#: guix-git/doc/guix.texi:8580
#, fuzzy
msgid "The example below removes the GMP and ACL inputs of Coreutils and adds libcap to the front of the input list:"
msgstr "下面的示例删除 Coreutils 的 GMP 和 ACL 输入,并将 libcap 添加到输入列表的前面:"

#. type: lisp
#: guix-git/doc/guix.texi:8585
#, fuzzy, no-wrap
msgid ""
"(modify-inputs (package-inputs coreutils)\n"
"  (delete \"gmp\" \"acl\")\n"
"  (prepend libcap))\n"
msgstr ""
"(modify-inputs (package-inputs coreutils)\n"
"  (delete \"gmp\" \"acl\")\n"
"  (prepend libcap))\n"

#. type: defmac
#: guix-git/doc/guix.texi:8589
#, fuzzy
msgid "The example below replaces the @code{guile} package from the inputs of @code{guile-redis} with @code{guile-2.2}:"
msgstr "下面的示例将 @code{guile-redis} 的输入中的 @code{guile} 包替换为 @code{guile-2.2}:"

#. type: lisp
#: guix-git/doc/guix.texi:8593
#, fuzzy, no-wrap
msgid ""
"(modify-inputs (package-inputs guile-redis)\n"
"  (replace \"guile\" guile-2.2))\n"
msgstr ""
"(modify-inputs (package-inputs guile-redis)\n"
"  (replace \"guile\" guile-2.2))\n"

#. type: defmac
#: guix-git/doc/guix.texi:8597
#, fuzzy
msgid "The last type of clause is @code{append}, to add inputs at the back of the list."
msgstr "最后一种条款类型是 @code{append},用于在列表的末尾添加输入。"

#. type: Plain text
#: guix-git/doc/guix.texi:8606
#, fuzzy
msgid "In some cases, you may find it useful to write functions (``procedures'', in Scheme parlance) that return a package based on some parameters.  For example, consider the @code{luasocket} library for the Lua programming language.  We want to create @code{luasocket} packages for major versions of Lua.  One way to do that is to define a procedure that takes a Lua package and returns a @code{luasocket} package that depends on it:"
msgstr "在某些情况下,您可能会发现编写函数(在 Scheme 术语中称为“过程”)根据某些参数返回包是有用的。例如,考虑 Lua 编程语言的 @code{luasocket} 库。我们想为 Lua 的主要版本创建 @code{luasocket} 包。做到这一点的一种方法是定义一个接受 Lua 包并返回一个依赖于它的 @code{luasocket} 包的过程:"

#. type: lisp
#: guix-git/doc/guix.texi:8616
#, fuzzy, no-wrap
msgid ""
"(define (make-lua-socket name lua)\n"
"  ;; Return a luasocket package built with LUA.\n"
"  (package\n"
"    (name name)\n"
"    (version \"3.0\")\n"
"    ;; several fields omitted\n"
"    (inputs (list lua))\n"
"    (synopsis \"Socket library for Lua\")))\n"
"\n"
msgstr ""
"(define (make-lua-socket name lua)\n"
"  ;; 返回一个使用 LUA 构建的 luasocket 包。\n"
"  (package\n"
"    (name name)\n"
"    (version \"3.0\")\n"
"    ;; 省略多个字段\n"
"    (inputs (list lua))\n"
"    (synopsis \"Lua 的套接字库\")))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8619
#, fuzzy, no-wrap
msgid ""
"(define-public lua5.1-socket\n"
"  (make-lua-socket \"lua5.1-socket\" lua-5.1))\n"
"\n"
msgstr ""
"(define-public lua5.1-socket\n"
"  (make-lua-socket \"lua5.1-socket\" lua-5.1))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8622
#, fuzzy, no-wrap
msgid ""
"(define-public lua5.2-socket\n"
"  (make-lua-socket \"lua5.2-socket\" lua-5.2))\n"
msgstr ""
"(define-public lua5.2-socket\n"
"  (make-lua-socket \"lua5.2-socket\" lua-5.2))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8630
#, fuzzy
msgid "Here we have defined packages @code{lua5.1-socket} and @code{lua5.2-socket} by calling @code{make-lua-socket} with different arguments.  @xref{Procedures,,, guile, GNU Guile Reference Manual}, for more info on procedures.  Having top-level public definitions for these two packages means that they can be referred to from the command line (@pxref{Package Modules})."
msgstr "在这里,我们通过使用不同的参数调用 @code{make-lua-socket} 定义了包 @code{lua5.1-socket} 和 @code{lua5.2-socket}。有关过程的更多信息,请参见 @xref{Procedures,,, guile, GNU Guile Reference Manual}。这两个包的顶层公共定义意味着可以从命令行引用它们(@pxref{Package Modules})。"

#. type: cindex
#: guix-git/doc/guix.texi:8631
#, fuzzy, no-wrap
msgid "package transformations"
msgstr "包转换"

#. type: Plain text
#: guix-git/doc/guix.texi:8636
#, fuzzy
msgid "These are pretty simple package variants.  As a convenience, the @code{(guix transformations)} module provides a high-level interface that directly maps to the more sophisticated package transformation options (@pxref{Package Transformation Options}):"
msgstr "这些都是相当简单的包变体。为了方便,@code{(guix transformations)}模块提供了一个高层接口,直接映射到更复杂的包转换选项(@pxref{Package Transformation Options}):"

#. type: deffn
#: guix-git/doc/guix.texi:8637
#, fuzzy, no-wrap
msgid "{Procedure} options->transformation opts"
msgstr "软件包转换选项"

#. type: deffn
#: guix-git/doc/guix.texi:8641
#, fuzzy
msgid "Return a procedure that, when passed an object to build (package, derivation, etc.), applies the transformations specified by @var{opts} and returns the resulting objects.  @var{opts} must be a list of symbol/string pairs such as:"
msgstr "返回一个过程,当传入一个要构建的对象(包、派生物等)时,应用由@var{opts}指定的转换,并返回结果对象。@var{opts}必须是符号/字符串对的列表,例如:"

#. type: lisp
#: guix-git/doc/guix.texi:8645
#, fuzzy, no-wrap
msgid ""
"((with-branch . \"guile-gcrypt=master\")\n"
" (without-tests . \"libgcrypt\"))\n"
msgstr ""
"((with-branch . \"guile-gcrypt=master\")\n"
" (without-tests . \"libgcrypt\"))\n"

#. type: deffn
#: guix-git/doc/guix.texi:8649
#, fuzzy
msgid "Each symbol names a transformation and the corresponding string is an argument to that transformation."
msgstr "每个符号命名一个转换,相应的字符串是该转换的一个参数。"

#. type: Plain text
#: guix-git/doc/guix.texi:8652
#, fuzzy
msgid "For instance, a manifest equivalent to this command:"
msgstr "例如,与此命令等效的清单:"

#. type: example
#: guix-git/doc/guix.texi:8657
#, fuzzy, no-wrap
msgid ""
"guix build guix \\\n"
"  --with-branch=guile-gcrypt=master \\\n"
"  --with-debug-info=zlib\n"
msgstr ""
"guix build guix \\\n"
"  --with-branch=guile-gcrypt=master \\\n"
"  --with-debug-info=zlib\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8661
#, fuzzy
msgid "... would look like this:"
msgstr "... 看起来像这样:"

#. type: lisp
#: guix-git/doc/guix.texi:8664
#, fuzzy, no-wrap
msgid ""
"(use-modules (guix transformations))\n"
"\n"
msgstr ""
"(use-modules (guix transformations))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8670
#, fuzzy, no-wrap
msgid ""
"(define transform\n"
"  ;; The package transformation procedure.\n"
"  (options->transformation\n"
"   '((with-branch . \"guile-gcrypt=master\")\n"
"     (with-debug-info . \"zlib\"))))\n"
"\n"
msgstr ""
"(define transform\n"
"  ;; 包转换过程。\n"
"  (options->transformation\n"
"   '((with-branch . \"guile-gcrypt=master\")\n"
"     (with-debug-info . \"zlib\"))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8673
#, fuzzy, no-wrap
msgid ""
"(packages->manifest\n"
" (list (transform (specification->package \"guix\"))))\n"
msgstr ""
"(packages->manifest\n"
" (list (transform (specification->package \"guix\"))))\n"

#. type: cindex
#: guix-git/doc/guix.texi:8675
#, fuzzy, no-wrap
msgid "input rewriting"
msgstr "输入重写"

#. type: cindex
#: guix-git/doc/guix.texi:8676
#, fuzzy, no-wrap
msgid "dependency graph rewriting"
msgstr "依赖图重写"

#. type: Plain text
#: guix-git/doc/guix.texi:8683
#, fuzzy
msgid "The @code{options->transformation} procedure is convenient, but it's perhaps also not as flexible as you may like.  How is it implemented? The astute reader probably noticed that most package transformation options go beyond the superficial changes shown in the first examples of this section: they involve @dfn{input rewriting}, whereby the dependency graph of a package is rewritten by replacing specific inputs by others."
msgstr "@code{options->transformation}过程很方便,但它可能也没有你想要的那么灵活。它是如何实现的?敏锐的读者可能注意到,大多数包转换选项超出了本节前面示例中显示的表面变化:它们涉及@dfn{输入重写},通过用其他特定输入替换来重写包的依赖图。"

#. type: Plain text
#: guix-git/doc/guix.texi:8687
#, fuzzy
msgid "Dependency graph rewriting, for the purposes of swapping packages in the graph, is what the @code{package-input-rewriting} procedure in @code{(guix packages)} implements."
msgstr "依赖图重写,目的是在图中交换包,是@code{(guix packages)}中的@code{package-input-rewriting}过程所实现的。"

#. type: deffn
#: guix-git/doc/guix.texi:8688
#, fuzzy, no-wrap
msgid "{Procedure} package-input-rewriting replacements [rewrite-name] @"
msgstr "软件包描述"

#. type: deffn
#: guix-git/doc/guix.texi:8695
#, fuzzy
msgid "[#:deep? #t] [#:recursive? #f] Return a procedure that, when passed a package, replaces its direct and indirect dependencies, including implicit inputs when @var{deep?} is true, according to @var{replacements}.  @var{replacements} is a list of package pairs; the first element of each pair is the package to replace, and the second one is the replacement."
msgstr "[#:deep? #t] [#:recursive? #f] 返回一个过程,当传入一个包时,根据@var{replacements}替换其直接和间接依赖,包括当@var{deep?}为真时的隐式输入。@var{replacements}是一个包对的列表;每对的第一个元素是要替换的包,第二个元素是替换包。"

#. type: deffn
#: guix-git/doc/guix.texi:8698
#, fuzzy
msgid "When @var{recursive?} is true, apply replacements to the right-hand sides of @var{replacements} as well, recursively."
msgstr "当 @var{recursive?} 为真时,对 @var{replacements} 的右侧进行替换,递归地。"

#. type: deffn
#: guix-git/doc/guix.texi:8701
#, fuzzy
msgid "Optionally, @var{rewrite-name} is a one-argument procedure that takes the name of a package and returns its new name after rewrite."
msgstr "可选地,@var{rewrite-name} 是一个接受包名称并在重写后返回其新名称的单参数过程。"

#. type: table
#: guix-git/doc/guix.texi:8705 guix-git/doc/guix.texi:13423
#, fuzzy
msgid "Consider this example:"
msgstr "考虑这个示例:"

#. type: lisp
#: guix-git/doc/guix.texi:8711
#, fuzzy, no-wrap
msgid ""
"(define libressl-instead-of-openssl\n"
"  ;; This is a procedure to replace OPENSSL by LIBRESSL,\n"
"  ;; recursively.\n"
"  (package-input-rewriting `((,openssl . ,libressl))))\n"
"\n"
msgstr ""
"(define libressl-instead-of-openssl\n"
"  ;; 这是一个将 OPENSSL 替换为 LIBRESSL 的过程,\n"
"  ;; 递归地。\n"
"  (package-input-rewriting `((,openssl . ,libressl))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8714
#, fuzzy, no-wrap
msgid ""
"(define git-with-libressl\n"
"  (libressl-instead-of-openssl git))\n"
msgstr ""
"(define git-with-libressl\n"
"  (libressl-instead-of-openssl git))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8722
#, fuzzy
msgid "Here we first define a rewriting procedure that replaces @var{openssl} with @var{libressl}.  Then we use it to define a @dfn{variant} of the @var{git} package that uses @var{libressl} instead of @var{openssl}.  This is exactly what the @option{--with-input} command-line option does (@pxref{Package Transformation Options, @option{--with-input}})."
msgstr "在这里,我们首先定义一个重写过程,将 @var{openssl} 替换为 @var{libressl}。然后我们用它来定义一个 @dfn{变体} 的 @var{git} 包,该包使用 @var{libressl} 而不是 @var{openssl}。这正是 @option{--with-input} 命令行选项所做的事情 (@pxref{Package Transformation Options, @option{--with-input}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:8725
#, fuzzy
msgid "The following variant of @code{package-input-rewriting} can match packages to be replaced by name rather than by identity."
msgstr "以下 @code{package-input-rewriting} 的变体可以通过名称而不是身份来匹配要替换的包。"

#. type: deffn
#: guix-git/doc/guix.texi:8726
#, fuzzy, no-wrap
msgid "{Procedure} package-input-rewriting/spec @var{replacements} @"
msgstr "{Procedure} package-input-rewriting/spec @var{replacements} @"

#. type: deffn
#: guix-git/doc/guix.texi:8731
#, fuzzy
msgid "[#:deep? #t] [#:replace-hidden? #t] Return a procedure that, given a package, applies the given @var{replacements} to all the package graph, including implicit inputs unless @var{deep?} is false."
msgstr "[#:deep? #t] [#:replace-hidden? #t] 返回一个过程,该过程在给定包的情况下,将给定的 @var{replacements} 应用到整个包图,包括隐式输入,除非 @var{deep?} 为假。"

#. type: deffn
#: guix-git/doc/guix.texi:8737
#, fuzzy
msgid "@var{replacements} is a list of spec/procedures pair; each spec is a package specification such as @code{\"gcc\"} or @code{\"guile@@2\"}, and each procedure takes a matching package and returns a replacement for that package.  Matching packages that have the @code{hidden?} property set are not replaced unless @var{replace-hidden?} is set to true."
msgstr "@var{replacements} 是一个 spec/过程对的列表;每个 spec 是一个包规范,例如 @code{\"gcc\"} 或 @code{\"guile@@2\"},每个过程接受一个匹配的包并返回该包的替代品。具有 @code{hidden?} 属性的匹配包不会被替换,除非 @var{replace-hidden?} 被设置为真。"

#. type: Plain text
#: guix-git/doc/guix.texi:8740
#, fuzzy
msgid "The example above could be rewritten this way:"
msgstr "上面的示例可以这样重写:"

#. type: lisp
#: guix-git/doc/guix.texi:8745
#, fuzzy, no-wrap
msgid ""
"(define libressl-instead-of-openssl\n"
"  ;; Replace all the packages called \"openssl\" with LibreSSL.\n"
"  (package-input-rewriting/spec `((\"openssl\" . ,(const libressl)))))\n"
msgstr ""
"(define libressl-instead-of-openssl\n"
"  ;; 将所有名为 \"openssl\" 的包替换为 LibreSSL。\n"
"  (package-input-rewriting/spec `((\"openssl\" . ,(const libressl)))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8750
#, fuzzy
msgid "The key difference here is that, this time, packages are matched by spec and not by identity.  In other words, any package in the graph that is called @code{openssl} will be replaced."
msgstr "这里的关键区别在于,这次,包是通过规范匹配的,而不是通过身份。换句话说,图中任何名为 @code{openssl} 的包都将被替换。"

#. type: Plain text
#: guix-git/doc/guix.texi:8754
#, fuzzy
msgid "A more generic procedure to rewrite a package dependency graph is @code{package-mapping}: it supports arbitrary changes to nodes in the graph."
msgstr "重写包依赖图的更通用的过程是 @code{package-mapping}:它支持对图中节点的任意更改。"

#. type: deffn
#: guix-git/doc/guix.texi:8755
#, fuzzy, no-wrap
msgid "{Procedure} package-mapping proc [cut?] [#:deep? #f]"
msgstr "{Procedure} 包映射 proc [cut?] [#:deep? #f]"

#. type: deffn
#: guix-git/doc/guix.texi:8760
#, fuzzy
msgid "Return a procedure that, given a package, applies @var{proc} to all the packages depended on and returns the resulting package.  The procedure stops recursion when @var{cut?} returns true for a given package.  When @var{deep?} is true, @var{proc} is applied to implicit inputs as well."
msgstr "返回一个过程,该过程在给定包的情况下,将 @var{proc} 应用到所有依赖的包,并返回结果包。当 @var{cut?} 对于给定包返回 true 时,过程停止递归。当 @var{deep?} 为 true 时,@var{proc} 也会应用于隐式输入。"

#. type: quotation
#: guix-git/doc/guix.texi:8762
#, fuzzy, no-wrap
msgid "Tips"
msgstr "提示"

#. type: quotation
#: guix-git/doc/guix.texi:8766
#, fuzzy
msgid "Understanding what a variant really looks like can be difficult as one starts combining the tools shown above.  There are several ways to inspect a package before attempting to build it that can prove handy:"
msgstr "理解变体的真实样子可能很困难,因为人们开始组合上述工具。在尝试构建包之前,有几种方法可以检查包,这些方法可能会很方便:"

#. type: itemize
#: guix-git/doc/guix.texi:8772
#, fuzzy
msgid "You can inspect the package interactively at the REPL, for instance to view its inputs, the code of its build phases, or its configure flags (@pxref{Using Guix Interactively})."
msgstr "您可以在 REPL 中交互式地检查包,例如查看其输入、构建阶段的代码或配置标志 (@pxref{Using Guix Interactively})。"

#. type: itemize
#: guix-git/doc/guix.texi:8776
#, fuzzy
msgid "When rewriting dependencies, @command{guix graph} can often help visualize the changes that are made (@pxref{Invoking guix graph})."
msgstr "在重写依赖关系时,@command{guix graph} 通常可以帮助可视化所做的更改 (@pxref{Invoking guix graph})。"

#. type: cindex
#: guix-git/doc/guix.texi:8782
#, no-wrap
msgid "manifest"
msgstr "清单"

#. type: cindex
#: guix-git/doc/guix.texi:8783
#, fuzzy, no-wrap
msgid "bill of materials (manifests)"
msgstr "物料清单(清单)"

#. type: Plain text
#: guix-git/doc/guix.texi:8794
#, fuzzy
msgid "@command{guix} commands let you specify package lists on the command line.  This is convenient, but as the command line becomes longer and less trivial, it quickly becomes more convenient to have that package list in what we call a @dfn{manifest}.  A manifest is some sort of a ``bill of materials'' that defines a package set.  You would typically come up with a code snippet that builds the manifest, store it in a file, say @file{manifest.scm}, and then pass that file to the @option{-m} (or @option{--manifest}) option that many @command{guix} commands support.  For example, here's what a manifest for a simple package set might look like:"
msgstr "@command{guix} 命令允许您在命令行上指定包列表。这很方便,但随着命令行变得更长且不那么简单,将该包列表放在我们称之为 @dfn{清单} 的地方会变得更加方便。清单是一种定义包集的“物料清单”。您通常会想出一个构建清单的代码片段,将其存储在文件中,例如 @file{manifest.scm},然后将该文件传递给许多 @command{guix} 命令支持的 @option{-m}(或 @option{--manifest})选项。例如,以下是一个简单包集的清单可能的样子:"

#. type: lisp
#: guix-git/doc/guix.texi:8798
#, fuzzy, no-wrap
msgid ""
";; Manifest for three packages.\n"
"(specifications->manifest '(\"gcc-toolchain\" \"make\" \"git\"))\n"
msgstr ""
";; 三个包的清单。\n"
"(specifications->manifest '(\"gcc-toolchain\" \"make\" \"git\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8804
#, fuzzy
msgid "Once you have that manifest, you can pass it, for example, to @command{guix package} to install just those three packages to your profile (@pxref{profile-manifest, @option{-m} option of @command{guix package}}):"
msgstr "一旦您拥有该清单,您可以将其传递给 @command{guix package},以仅将这三个包安装到您的配置文件中 (@pxref{profile-manifest, @option{-m} option of @command{guix package}}):"

#. type: example
#: guix-git/doc/guix.texi:8807
#, fuzzy, no-wrap
msgid "guix package -m manifest.scm\n"
msgstr "guix environment guix --pure\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8813
#, fuzzy
msgid "... or you can pass it to @command{guix shell} (@pxref{shell-manifest, @command{-m} option of @command{guix shell}}) to spawn an ephemeral environment:"
msgstr "... 或者您可以将其传递给 @command{guix shell} (@pxref{shell-manifest, @command{-m} option of @command{guix shell}}) 以生成一个临时环境:"

#. type: Plain text
#: guix-git/doc/guix.texi:8823
#, fuzzy
msgid "... or you can pass it to @command{guix pack} in pretty much the same way (@pxref{pack-manifest, @option{-m} option of @command{guix pack}}).  You can store the manifest under version control, share it with others so they can easily get set up, etc."
msgstr "... 或者您可以以几乎相同的方式将其传递给 @command{guix pack} (@pxref{pack-manifest, @option{-m} option of @command{guix pack}})。您可以将清单存储在版本控制下,与他人共享,以便他们可以轻松设置等。"

#. type: Plain text
#: guix-git/doc/guix.texi:8829
#, fuzzy
msgid "But how do you write your first manifest? To get started, maybe you'll want to write a manifest that mirrors what you already have in a profile.  Rather than start from a blank page, @command{guix package} can generate a manifest for you (@pxref{export-manifest, @command{guix package --export-manifest}}):"
msgstr "但是你如何编写你的第一个清单?要开始,也许你想编写一个与您在配置文件中已有内容相对应的清单。与其从空白页面开始,@command{guix package} 可以为您生成一个清单 (@pxref{export-manifest, @command{guix package --export-manifest}}):"

#. type: example
#: guix-git/doc/guix.texi:8834
#, fuzzy, no-wrap
msgid ""
"# Write to 'manifest.scm' a manifest corresponding to the\n"
"# default profile, ~/.guix-profile.\n"
"guix package --export-manifest > manifest.scm\n"
msgstr ""
"# 将与默认配置文件相对应的清单写入 'manifest.scm',即 ~/.guix-profile。\n"
"guix package --export-manifest > manifest.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8839
#, fuzzy
msgid "Or maybe you'll want to ``translate'' command-line arguments into a manifest.  In that case, @command{guix shell} can help (@pxref{shell-export-manifest, @command{guix shell --export-manifest}}):"
msgstr "或者也许你想将命令行参数“转换”为清单。在这种情况下,@command{guix shell} 可以提供帮助 (@pxref{shell-export-manifest, @command{guix shell --export-manifest}}):"

#. type: example
#: guix-git/doc/guix.texi:8843
#, fuzzy, no-wrap
msgid ""
"# Write a manifest for the packages specified on the command line.\n"
"guix shell --export-manifest gcc-toolchain make git > manifest.scm\n"
msgstr ""
"# 为命令行中指定的包写一个清单。\n"
"guix shell --export-manifest gcc-toolchain make git > manifest.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8849
#, fuzzy
msgid "In both cases, the @option{--export-manifest} option tries hard to generate a faithful manifest; in particular, it takes package transformation options into account (@pxref{Package Transformation Options})."
msgstr "在这两种情况下,@option{--export-manifest} 选项会努力生成一个忠实的清单;特别是,它会考虑包转换选项 (@pxref{Package Transformation Options})。"

#. type: quotation
#: guix-git/doc/guix.texi:8855
#, fuzzy
msgid "Manifests are @emph{symbolic}: they refer to packages of the channels @emph{currently in use} (@pxref{Channels}).  In the example above, @code{gcc-toolchain} might refer to version 14 today, but it might refer to version 16 two years from now."
msgstr "清单是 @emph{符号性的}:它们指的是 @emph{当前使用的} 渠道的包 (@pxref{Channels})。在上面的示例中,@code{gcc-toolchain} 可能今天指的是版本 14,但两年后可能指的是版本 16。"

#. type: quotation
#: guix-git/doc/guix.texi:8860
#, fuzzy
msgid "If you want to ``pin'' your software environment to specific package versions and variants, you need an additional piece of information: the list of channel revisions in use, as returned by @command{guix describe}.  @xref{Replicating Guix}, for more information."
msgstr "如果您想将软件环境“固定”到特定的包版本和变体,您需要额外的信息:使用的渠道修订列表,如 @command{guix describe} 返回的那样。有关更多信息,请参阅 @xref{Replicating Guix}。"

#. type: Plain text
#: guix-git/doc/guix.texi:8865
#, fuzzy
msgid "Once you've obtained your first manifest, perhaps you'll want to customize it.  Since your manifest is code, you now have access to all the Guix programming interfaces!"
msgstr "一旦您获得了第一个清单,也许您会想自定义它。由于您的清单是代码,您现在可以访问所有 Guix 编程接口!"

#. type: Plain text
#: guix-git/doc/guix.texi:8871
#, fuzzy
msgid "Let's assume you want a manifest to deploy a custom variant of GDB, the GNU Debugger, that does not depend on Guile, together with another package.  Building on the example seen in the previous section (@pxref{Defining Package Variants}), you can write a manifest along these lines:"
msgstr "假设您想要一个清单来部署一个不依赖于 Guile 的 GDB(GNU 调试器)的自定义变体,以及另一个包。基于上一节中看到的示例 (@pxref{Defining Package Variants}),您可以编写如下的清单:"

#. type: lisp
#: guix-git/doc/guix.texi:8876
#, fuzzy, no-wrap
msgid ""
"(use-modules (guix packages)\n"
"             (gnu packages gdb)               ;for 'gdb'\n"
"             (gnu packages version-control))  ;for 'git'\n"
"\n"
msgstr ""
"(use-modules (guix packages)\n"
"             (gnu packages gdb)               ;用于 'gdb'\n"
"             (gnu packages version-control))  ;用于 'git'\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8883
#, fuzzy, no-wrap
msgid ""
";; Define a variant of GDB without a dependency on Guile.\n"
"(define gdb-sans-guile\n"
"  (package\n"
"    (inherit gdb)\n"
"    (inputs (modify-inputs (package-inputs gdb)\n"
"              (delete \"guile\")))))\n"
"\n"
msgstr ""
";; 定义一个不依赖于 Guile 的 GDB 变体。\n"
"(define gdb-sans-guile\n"
"  (package\n"
"    (inherit gdb)\n"
"    (inputs (modify-inputs (package-inputs gdb)\n"
"              (delete \"guile\")))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:8886
#, fuzzy, no-wrap
msgid ""
";; Return a manifest containing that one package plus Git.\n"
"(packages->manifest (list gdb-sans-guile git))\n"
msgstr ""
";; 返回一个包含该软件包和 Git 的清单。\n"
"(packages->manifest (list gdb-sans-guile git))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:8897
#, fuzzy
msgid "Note that in this example, the manifest directly refers to the @code{gdb} and @code{git} variables, which are bound to a @code{package} object (@pxref{package Reference}), instead of calling @code{specifications->manifest} to look up packages by name as we did before.  The @code{use-modules} form at the top lets us access the core package interface (@pxref{Defining Packages}) and the modules that define @code{gdb} and @code{git} (@pxref{Package Modules}).  Seamlessly, we're weaving all this together---the possibilities are endless, unleash your creativity!"
msgstr "请注意,在这个示例中,清单直接引用了 @code{gdb} 和 @code{git} 变量,这些变量绑定到 @code{package} 对象 (@pxref{package Reference}),而不是像之前那样调用 @code{specifications->manifest} 通过名称查找软件包。  顶部的 @code{use-modules} 形式让我们可以访问核心软件包接口 (@pxref{Defining Packages}) 和定义 @code{gdb} 和 @code{git} 的模块 (@pxref{Package Modules})。  我们将这一切无缝地结合在一起——可能性是无穷无尽的,释放你的创造力吧!"

#. type: Plain text
#: guix-git/doc/guix.texi:8901
#, fuzzy
msgid "The data type for manifests as well as supporting procedures are defined in the @code{(guix profiles)} module, which is automatically available to code passed to @option{-m}.  The reference follows."
msgstr "清单的数据类型以及支持的过程在 @code{(guix profiles)} 模块中定义,该模块自动可用于传递给 @option{-m} 的代码。  参考如下。"

#. type: deftp
#: guix-git/doc/guix.texi:8902
#, fuzzy, no-wrap
msgid "{Data Type} manifest"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:8904
#, fuzzy
msgid "Data type representing a manifest."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:8906
#, fuzzy
msgid "It currently has one field:"
msgstr "它目前有一个字段:"

#. type: item
#: guix-git/doc/guix.texi:8908
#, fuzzy, no-wrap
msgid "entries"
msgstr "条目"

#. type: table
#: guix-git/doc/guix.texi:8910
#, fuzzy
msgid "This must be a list of @code{manifest-entry} records---see below."
msgstr "这必须是 @code{manifest-entry} 记录的列表——见下文。"

#. type: deftp
#: guix-git/doc/guix.texi:8913
#, fuzzy, no-wrap
msgid "{Data Type} manifest-entry"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:8919
#, fuzzy
msgid "Data type representing a manifest entry.  A manifest entry contains essential metadata: a name and version string, the object (usually a package) for that entry, the desired output (@pxref{Packages with Multiple Outputs}), and a number of optional pieces of information detailed below."
msgstr "表示清单条目的数据类型。清单条目包含基本元数据:名称和版本字符串,该条目的对象(通常是一个软件包),所需的输出 (@pxref{Packages with Multiple Outputs}),以及下面详细说明的一些可选信息。"

#. type: deftp
#: guix-git/doc/guix.texi:8924
#, fuzzy
msgid "Most of the time, you won't build a manifest entry directly; instead, you will pass a package to @code{package->manifest-entry}, described below.  In some unusual cases though, you might want to create manifest entries for things that are @emph{not} packages, as in this example:"
msgstr "大多数时候,你不会直接构建清单条目;相反,你会将一个软件包传递给 @code{package->manifest-entry},如下所述。  然而,在一些不寻常的情况下,你可能想为不是软件包的事物创建清单条目,如这个示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:8937
#, fuzzy, no-wrap
msgid ""
";; Manually build a single manifest entry for a non-package object.\n"
"(let ((hello (program-file \"hello\" #~(display \"Hi!\"))))\n"
"  (manifest-entry\n"
"    (name \"foo\")\n"
"    (version \"42\")\n"
"    (item\n"
"     (computed-file \"hello-directory\"\n"
"                     #~(let ((bin (string-append #$output \"/bin\")))\n"
"                         (mkdir #$output) (mkdir bin)\n"
"                          (symlink #$hello\n"
"                                   (string-append bin \"/hello\")))))))\n"
msgstr ""
";; 手动为非软件包对象构建单个清单条目。\n"
"(let ((hello (program-file \"hello\" #~(display \"Hi!\"))))\n"
"  (manifest-entry\n"
"    (name \"foo\")\n"
"    (version \"42\")\n"
"    (item\n"
"     (computed-file \"hello-directory\"\n"
"                     #~(let ((bin (string-append #$output \"/bin\")))\n"
"                         (mkdir #$output) (mkdir bin)\n"
"                          (symlink #$hello\n"
"                                   (string-append bin \"/hello\")))))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:8940
#, fuzzy
msgid "The available fields are the following:"
msgstr "目前这些平台提供软件包:"

#. type: table
#: guix-git/doc/guix.texi:8945
#, fuzzy
msgid "Name and version string for this entry."
msgstr "此条目的名称和版本字符串。"

#. type: code{#1}
#: guix-git/doc/guix.texi:8946
#, fuzzy, no-wrap
msgid "item"
msgstr "项目"

#. type: table
#: guix-git/doc/guix.texi:8949
#, fuzzy
msgid "A package or other file-like object (@pxref{G-Expressions, file-like objects})."
msgstr "一个包或其他类似文件的对象 (@pxref{G-Expressions, file-like objects})。"

#. type: item
#: guix-git/doc/guix.texi:8950
#, fuzzy, no-wrap
msgid "@code{output} (default: @code{\"out\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:8953
#, fuzzy
msgid "Output of @code{item} to use, in case @code{item} has multiple outputs (@pxref{Packages with Multiple Outputs})."
msgstr "使用 @code{item} 的输出,以防 @code{item} 有多个输出 (@pxref{Packages with Multiple Outputs})。"

#. type: item
#: guix-git/doc/guix.texi:8954 guix-git/doc/guix.texi:18139
#: guix-git/doc/guix.texi:18590
#, fuzzy, no-wrap
msgid "@code{dependencies} (default: @code{'()})"
msgstr "@code{dependencies}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:8957
#, fuzzy
msgid "List of manifest entries this entry depends on.  When building a profile, dependencies are added to the profile."
msgstr "此条目所依赖的清单条目列表。在构建配置文件时,依赖项会被添加到配置文件中。"

#. type: table
#: guix-git/doc/guix.texi:8961
#, fuzzy
msgid "Typically, the propagated inputs of a package (@pxref{package Reference, @code{propagated-inputs}}) end up having a corresponding manifest entry in among the dependencies of the package's own manifest entry."
msgstr "通常,一个包的传播输入 (@pxref{package Reference, @code{propagated-inputs}}) 最终会在该包自身的清单条目的依赖项中有一个相应的清单条目。"

#. type: table
#: guix-git/doc/guix.texi:8965
#, fuzzy
msgid "The list of search path specifications honored by this entry (@pxref{Search Paths})."
msgstr "此条目所遵循的搜索路径规范列表 (@pxref{Search Paths})。"

#. type: item
#: guix-git/doc/guix.texi:8966
#, fuzzy, no-wrap
msgid "@code{properties} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:8969
#, fuzzy
msgid "List of symbol/value pairs.  When building a profile, those properties get serialized."
msgstr "符号/值对的列表。在构建配置文件时,这些属性会被序列化。"

#. type: table
#: guix-git/doc/guix.texi:8973
#, fuzzy
msgid "This can be used to piggyback additional metadata---e.g., the transformations applied to a package (@pxref{Package Transformation Options})."
msgstr "这可以用来附加额外的元数据——例如,应用于包的转换 (@pxref{Package Transformation Options})。"

#. type: item
#: guix-git/doc/guix.texi:8974
#, fuzzy, no-wrap
msgid "@code{parent} (default: @code{(delay #f)})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:8976
#, fuzzy
msgid "A promise pointing to the ``parent'' manifest entry."
msgstr "指向“父”清单条目的承诺。"

#. type: table
#: guix-git/doc/guix.texi:8979
#, fuzzy
msgid "This is used as a hint to provide context when reporting an error related to a manifest entry coming from a @code{dependencies} field."
msgstr "这用作提示,以提供上下文,当报告与来自 @code{dependencies} 字段的清单条目相关的错误时。"

#. type: deffn
#: guix-git/doc/guix.texi:8982
#, fuzzy, no-wrap
msgid "{Procedure} concatenate-manifests lst"
msgstr "{过程} concatenate-manifests lst"

#. type: deffn
#: guix-git/doc/guix.texi:8985
#, fuzzy
msgid "Concatenate the manifests listed in @var{lst} and return the resulting manifest."
msgstr "连接 @var{lst} 中列出的清单并返回结果清单。"

#. type: deffn
#: guix-git/doc/guix.texi:8989
#, fuzzy, no-wrap
msgid "{Procedure} package->manifest-entry package [output] [#:properties]"
msgstr "{过程} package->manifest-entry package [output] [#:properties]"

#. type: deffn
#: guix-git/doc/guix.texi:8997
#, fuzzy
msgid "Return a manifest entry for the @var{output} of package @var{package}, where @var{output} defaults to @code{\"out\"}, and with the given @var{properties}.  By default @var{properties} is the empty list or, if one or more package transformations were applied to @var{package}, it is an association list representing those transformations, suitable as an argument to @code{options->transformation} (@pxref{Defining Package Variants, @code{options->transformation}})."
msgstr "返回包 @var{package} 的 @var{output} 的清单条目,其中 @var{output} 默认为 @code{\"out\"},并具有给定的 @var{properties}。默认情况下,@var{properties} 是空列表,或者如果对包 @var{package} 应用了一个或多个包转换,则它是表示这些转换的关联列表,适合作为 @code{options->transformation} 的参数 (@pxref{Defining Package Variants, @code{options->transformation}})。"

#. type: deffn
#: guix-git/doc/guix.texi:9000
#, fuzzy
msgid "The code snippet below builds a manifest with an entry for the default output and the @code{send-email} output of the @code{git} package:"
msgstr "下面的代码片段构建一个清单,其中包含默认输出和 @code{git} 包的 @code{send-email} 输出的条目:"

#. type: lisp
#: guix-git/doc/guix.texi:9003 guix-git/doc/guix.texi:9020
#, no-wrap
msgid ""
"(use-modules (gnu packages version-control))\n"
"\n"
msgstr ""
"(use-modules (gnu packages version-control))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:9006
#, fuzzy, no-wrap
msgid ""
"(manifest (list (package->manifest-entry git)\n"
"                (package->manifest-entry git \"send-email\")))\n"
msgstr ""
"(manifest (list (package->manifest-entry git)\n"
"                (package->manifest-entry git \"send-email\")))\n"

#. type: deffn
#: guix-git/doc/guix.texi:9009
#, fuzzy, no-wrap
msgid "{Procedure} packages->manifest packages"
msgstr "-c @var{n}"

#. type: deffn
#: guix-git/doc/guix.texi:9014
#, fuzzy
msgid "Return a list of manifest entries, one for each item listed in @var{packages}.  Elements of @var{packages} can be either package objects or package/string tuples denoting a specific output of a package."
msgstr "返回清单条目的列表,每个条目对应于 @var{packages} 中列出的每个项目。@var{packages} 的元素可以是包对象或表示包特定输出的包/字符串元组。"

#. type: deffn
#: guix-git/doc/guix.texi:9017
#, fuzzy
msgid "Using this procedure, the manifest above may be rewritten more concisely:"
msgstr "使用此过程,上面的清单可以更简洁地重写:"

#. type: lisp
#: guix-git/doc/guix.texi:9022
#, fuzzy, no-wrap
msgid "(packages->manifest (list git `(,git \"send-email\")))\n"
msgstr "(packages->manifest (list git `(,git \"send-email\")))\n"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:9026
#, fuzzy
msgid "package-development-manifest"
msgstr "包开发清单"

#. type: deffn
#: guix-git/doc/guix.texi:9026
#, fuzzy, no-wrap
msgid "{Procedure} package->development-manifest package [system] [#:target]"
msgstr "{过程} package->development-manifest package [system] [#:target]"

#. type: deffn
#: guix-git/doc/guix.texi:9031
#, fuzzy
msgid "Return a manifest for the @dfn{development inputs} of @var{package} for @var{system}, optionally when cross-compiling to @var{target}.  Development inputs include both explicit and implicit inputs of @var{package}."
msgstr "返回 @var{package} 在 @var{system} 的 @dfn{开发输入} 的清单,选项是当交叉编译到 @var{target} 时。开发输入包括 @var{package} 的显式和隐式输入。"

#. type: deffn
#: guix-git/doc/guix.texi:9039
#, fuzzy
msgid "Like the @option{-D} option of @command{guix shell} (@pxref{shell-development-option, @command{guix shell -D}}), the resulting manifest describes the environment in which one can develop @var{package}.  For example, suppose you're willing to set up a development environment for Inkscape, with the addition of Git for version control; you can describe that ``bill of materials'' with the following manifest:"
msgstr "像 @command{guix shell} 的 @option{-D} 选项一样(@pxref{shell-development-option, @command{guix shell -D}}),生成的清单描述了可以开发 @var{package} 的环境。例如,假设您愿意为 Inkscape 设置开发环境,并添加 Git 进行版本控制;您可以用以下清单描述该“物料清单”:"

#. type: lisp
#: guix-git/doc/guix.texi:9043
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu packages inkscape)          ;for 'inkscape'\n"
"             (gnu packages version-control))  ;for 'git'\n"
"\n"
msgstr ""
"(use-modules (gnu packages inkscape)          ;用于 'inkscape'\n"
"             (gnu packages version-control))  ;用于 'git'\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:9047
#, fuzzy, no-wrap
msgid ""
"(concatenate-manifests\n"
" (list (package->development-manifest inkscape)\n"
"       (packages->manifest (list git))))\n"
msgstr ""
"(concatenate-manifests\n"
" (list (package->development-manifest inkscape)\n"
"       (packages->manifest (list git))))\n"

#. type: deffn
#: guix-git/doc/guix.texi:9054
#, fuzzy
msgid "In this example, the development manifest that @code{package->development-manifest} returns includes the compiler (GCC), the many supporting libraries (Boost, GLib, GTK, etc.), and a couple of additional development tools---these are the dependencies @command{guix show inkscape} lists."
msgstr "在这个例子中,@code{package->development-manifest} 返回的开发清单包括编译器(GCC)、许多支持库(Boost、GLib、GTK 等)以及几个额外的开发工具——这些是 @command{guix show inkscape} 列出的依赖项。"

#. type: Plain text
#: guix-git/doc/guix.texi:9061
#, fuzzy
msgid "Last, the @code{(gnu packages)} module provides higher-level facilities to build manifests.  In particular, it lets you look up packages by name---see below."
msgstr "最后,@code{(gnu packages)} 模块提供了更高级的构建清单的功能。特别是,它允许您按名称查找包——见下文。"

#. type: deffn
#: guix-git/doc/guix.texi:9062
#, fuzzy, no-wrap
msgid "{Procedure} specifications->manifest specs"
msgstr "{过程} specifications->manifest specs"

#. type: deffn
#: guix-git/doc/guix.texi:9067
#, fuzzy
msgid "Given @var{specs}, a list of specifications such as @code{\"emacs@@25.2\"} or @code{\"guile:debug\"}, return a manifest.  Specs have the format that command-line tools such as @command{guix install} and @command{guix package} understand (@pxref{Invoking guix package})."
msgstr "给定 @var{specs},一个规范列表,例如 @code{\"emacs@@25.2\"} 或 @code{\"guile:debug\"},返回一个清单。规格具有命令行工具如 @command{guix install} 和 @command{guix package} 理解的格式(@pxref{Invoking guix package})。"

#. type: deffn
#: guix-git/doc/guix.texi:9070
#, fuzzy
msgid "As an example, it lets you rewrite the Git manifest that we saw earlier like this:"
msgstr "作为一个例子,它让您像这样重写我们之前看到的 Git 清单:"

#. type: lisp
#: guix-git/doc/guix.texi:9073
#, fuzzy, no-wrap
msgid "(specifications->manifest '(\"git\" \"git:send-email\"))\n"
msgstr "(specifications->manifest '(\"git\" \"git:send-email\"))\n"

#. type: deffn
#: guix-git/doc/guix.texi:9079
#, fuzzy
msgid "Notice that we do not need to worry about @code{use-modules}, importing the right set of modules, and referring to the right variables.  Instead, we directly refer to packages in the same way as on the command line, which can often be more convenient."
msgstr "请注意,我们不需要担心 @code{use-modules}、导入正确的模块集以及引用正确的变量。相反,我们直接以与命令行相同的方式引用包,这通常更方便。"

#. type: cindex
#: guix-git/doc/guix.texi:9087
#, fuzzy, no-wrap
msgid "build system"
msgstr "构建系统"

#. type: Plain text
#: guix-git/doc/guix.texi:9092
#, fuzzy
msgid "Each package definition specifies a @dfn{build system} and arguments for that build system (@pxref{Defining Packages}).  This @code{build-system} field represents the build procedure of the package, as well as implicit dependencies of that build procedure."
msgstr "每个软件包定义指定一个 @dfn{构建系统} 及其参数 (@pxref{定义软件包})。这个 @code{build-system} 字段表示软件包的构建过程,以及该构建过程的隐式依赖关系。"

#. type: Plain text
#: guix-git/doc/guix.texi:9096
#, fuzzy
msgid "Build systems are @code{<build-system>} objects.  The interface to create and manipulate them is provided by the @code{(guix build-system)} module, and actual build systems are exported by specific modules."
msgstr "构建系统是 @code{<build-system>} 对象。创建和操作它们的接口由 @code{(guix build-system)} 模块提供,实际的构建系统由特定模块导出。"

#. type: cindex
#: guix-git/doc/guix.texi:9097
#, fuzzy, no-wrap
msgid "bag (low-level package representation)"
msgstr "包(低级软件包表示)"

#. type: Plain text
#: guix-git/doc/guix.texi:9107
#, fuzzy
msgid "Under the hood, build systems first compile package objects to @dfn{bags}.  A @dfn{bag} is like a package, but with less ornamentation---in other words, a bag is a lower-level representation of a package, which includes all the inputs of that package, including some that were implicitly added by the build system.  This intermediate representation is then compiled to a derivation (@pxref{Derivations}).  The @code{package-with-c-toolchain} is an example of a way to change the implicit inputs that a package's build system pulls in (@pxref{package Reference, @code{package-with-c-toolchain}})."
msgstr "在底层,构建系统首先将软件包对象编译为 @dfn{包}。一个 @dfn{包} 类似于软件包,但装饰较少——换句话说,包是软件包的低级表示,包含该软件包的所有输入,包括一些由构建系统隐式添加的输入。这个中间表示随后被编译为派生物 (@pxref{派生物})。 @code{package-with-c-toolchain} 是一种改变软件包构建系统所拉入的隐式输入的示例 (@pxref{软件包参考, @code{package-with-c-toolchain}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:9115
#, fuzzy
msgid "Build systems accept an optional list of @dfn{arguments}.  In package definitions, these are passed @i{via} the @code{arguments} field (@pxref{Defining Packages}).  They are typically keyword arguments (@pxref{Optional Arguments, keyword arguments in Guile,, guile, GNU Guile Reference Manual}).  The value of these arguments is usually evaluated in the @dfn{build stratum}---i.e., by a Guile process launched by the daemon (@pxref{Derivations})."
msgstr "构建系统接受一个可选的 @dfn{参数} 列表。在软件包定义中,这些参数通过 @code{arguments} 字段传递 (@pxref{定义软件包})。它们通常是关键字参数 (@pxref{可选参数, Guile中的关键字参数,, guile, GNU Guile参考手册})。这些参数的值通常在 @dfn{构建层} 中评估——即,由守护进程启动的 Guile 进程 (@pxref{派生物})。"

#. type: Plain text
#: guix-git/doc/guix.texi:9119
#, fuzzy
msgid "The main build system is @code{gnu-build-system}, which implements the standard build procedure for GNU and many other packages.  It is provided by the @code{(guix build-system gnu)} module."
msgstr "主要构建系统是 @code{gnu-build-system},它实现了 GNU 和许多其他软件包的标准构建过程。它由 @code{(guix build-system gnu)} 模块提供。"

#. type: defvar
#: guix-git/doc/guix.texi:9120
#, fuzzy, no-wrap
msgid "gnu-build-system"
msgstr "Guix系统"

#. type: defvar
#: guix-git/doc/guix.texi:9124
#, fuzzy
msgid "@code{gnu-build-system} represents the GNU Build System, and variants thereof (@pxref{Configuration, configuration and makefile conventions,, standards, GNU Coding Standards})."
msgstr "@code{gnu-build-system} 代表 GNU 构建系统及其变体 (@pxref{配置, 配置和 makefile 约定,, 标准, GNU 编码标准})。"

#. type: cindex
#: guix-git/doc/guix.texi:9125 guix-git/doc/guix.texi:10354
#: guix-git/doc/guix.texi:10983
#, fuzzy, no-wrap
msgid "build phases"
msgstr "构建阶段"

#. type: defvar
#: guix-git/doc/guix.texi:9132
#, fuzzy
msgid "In a nutshell, packages using it are configured, built, and installed with the usual @code{./configure && make && make check && make install} command sequence.  In practice, a few additional steps are often needed.  All these steps are split up in separate @dfn{phases}.  @xref{Build Phases}, for more info on build phases and ways to customize them."
msgstr "简而言之,使用它的软件包通过通常的 @code{./configure && make && make check && make install} 命令序列进行配置、构建和安装。实际上,通常需要一些额外的步骤。所有这些步骤被分成单独的 @dfn{阶段}。有关构建阶段及其自定义方式的更多信息,请参见 @xref{构建阶段}。"

#. type: defvar
#: guix-git/doc/guix.texi:9139
#, fuzzy
msgid "In addition, this build system ensures that the ``standard'' environment for GNU packages is available.  This includes tools such as GCC, libc, Coreutils, Bash, Make, Diffutils, grep, and sed (see the @code{(guix build-system gnu)} module for a complete list).  We call these the @dfn{implicit inputs} of a package, because package definitions do not have to mention them."
msgstr "此外,这个构建系统确保GNU软件包的“标准”环境可用。这包括GCC、libc、Coreutils、Bash、Make、Diffutils、grep和sed等工具(请参见@code{(guix build-system gnu)}模块以获取完整列表)。我们称这些为软件包的@dfn{隐式输入},因为软件包定义不必提及它们。"

#. type: defvar
#: guix-git/doc/guix.texi:9143
#, fuzzy
msgid "This build system supports a number of keyword arguments, which can be passed @i{via} the @code{arguments} field of a package.  Here are some of the main parameters:"
msgstr "这个构建系统支持多种关键字参数,可以通过软件包的@code{arguments}字段传递。以下是一些主要参数:"

#. type: item
#: guix-git/doc/guix.texi:9145
#, fuzzy, no-wrap
msgid "#:phases"
msgstr "#:phases"

#. type: table
#: guix-git/doc/guix.texi:9148
#, fuzzy
msgid "This argument specifies build-side code that evaluates to an alist of build phases.  @xref{Build Phases}, for more information."
msgstr "该参数指定构建侧代码,评估为构建阶段的关联列表。有关更多信息,请参见@xref{Build Phases}。"

#. type: item
#: guix-git/doc/guix.texi:9149
#, fuzzy, no-wrap
msgid "#:configure-flags"
msgstr "系统配置"

#. type: table
#: guix-git/doc/guix.texi:9152
#, fuzzy
msgid "This is a list of flags (strings) passed to the @command{configure} script.  @xref{Defining Packages}, for an example."
msgstr "这是传递给@command{configure}脚本的标志(字符串)列表。有关示例,请参见@xref{Defining Packages}。"

#. type: item
#: guix-git/doc/guix.texi:9153
#, fuzzy, no-wrap
msgid "#:make-flags"
msgstr "#:make-flags"

#. type: table
#: guix-git/doc/guix.texi:9157
#, fuzzy
msgid "This list of strings contains flags passed as arguments to @command{make} invocations in the @code{build}, @code{check}, and @code{install} phases."
msgstr "这个字符串列表包含作为参数传递给@command{make}调用的标志,在@code{build}、@code{check}和@code{install}阶段。"

#. type: item
#: guix-git/doc/guix.texi:9158
#, fuzzy, no-wrap
msgid "#:out-of-source?"
msgstr "#:out-of-source?"

#. type: table
#: guix-git/doc/guix.texi:9161
#, fuzzy
msgid "This Boolean, @code{#f} by default, indicates whether to run builds in a build directory separate from the source tree."
msgstr "这个布尔值,默认值为@code{#f},指示是否在与源树分开的构建目录中运行构建。"

#. type: table
#: guix-git/doc/guix.texi:9166
#, fuzzy
msgid "When it is true, the @code{configure} phase creates a separate build directory, changes to that directory, and runs the @code{configure} script from there.  This is useful for packages that require it, such as @code{glibc}."
msgstr "当它为真时,@code{configure}阶段会创建一个单独的构建目录,切换到该目录,并从那里运行@code{configure}脚本。这对于需要这样做的软件包很有用,例如@code{glibc}。"

#. type: item
#: guix-git/doc/guix.texi:9167
#, fuzzy, no-wrap
msgid "#:tests?"
msgstr "#:tests?"

#. type: table
#: guix-git/doc/guix.texi:9170
#, fuzzy
msgid "This Boolean, @code{#t} by default, indicates whether the @code{check} phase should run the package's test suite."
msgstr "这个布尔值,默认值为@code{#t},指示@code{check}阶段是否应运行软件包的测试套件。"

#. type: item
#: guix-git/doc/guix.texi:9171
#, fuzzy, no-wrap
msgid "#:test-target"
msgstr "#:test-target"

#. type: table
#: guix-git/doc/guix.texi:9174
#, fuzzy
msgid "This string, @code{\"check\"} by default, gives the name of the makefile target used by the @code{check} phase."
msgstr "这个字符串,默认值为@code{\"check\"},给出了@code{check}阶段使用的makefile目标的名称。"

#. type: item
#: guix-git/doc/guix.texi:9175
#, fuzzy, no-wrap
msgid "#:parallel-build?"
msgstr "#:parallel-build?"

#. type: itemx
#: guix-git/doc/guix.texi:9176
#, fuzzy, no-wrap
msgid "#:parallel-tests?"
msgstr "#:parallel-tests?"

#. type: table
#: guix-git/doc/guix.texi:9183
#, fuzzy
msgid "These Boolean values specify whether to build, respectively run the test suite, in parallel, with the @code{-j} flag of @command{make}.  When they are true, @code{make} is passed @code{-j@var{n}}, where @var{n} is the number specified as the @option{--cores} option of @command{guix-daemon} or that of the @command{guix} client command (@pxref{Common Build Options, @option{--cores}})."
msgstr "这些布尔值分别指定是否并行构建和运行测试套件,使用@command{make}的@code{-j}标志。当它们为真时,@code{make}会传递@code{-j@var{n}},其中@var{n}是作为@command{guix-daemon}的@option{--cores}选项或@command{guix}客户端命令的@option{--cores}选项指定的数字。"

#. type: cindex
#: guix-git/doc/guix.texi:9184 guix-git/doc/guix.texi:10494
#, fuzzy, no-wrap
msgid "RUNPATH, validation"
msgstr "RUNPATH,验证"

#. type: item
#: guix-git/doc/guix.texi:9185
#, fuzzy, no-wrap
msgid "#:validate-runpath?"
msgstr "#:validate-runpath?"

#. type: table
#: guix-git/doc/guix.texi:9191
#, fuzzy
msgid "This Boolean, @code{#t} by default, determines whether to ``validate'' the @code{RUNPATH} of ELF binaries (@code{.so} shared libraries as well as executables) previously installed by the @code{install} phase.  @xref{phase-validate-runpath, the @code{validate-runpath} phase}, for details."
msgstr "这个布尔值,默认值为 @code{#t},决定是否“验证”之前由 @code{install} 阶段安装的 ELF 二进制文件(@code{.so} 共享库以及可执行文件)的 @code{RUNPATH}。有关详细信息,请参见 @xref{phase-validate-runpath, @code{validate-runpath} 阶段}。"

#. type: item
#: guix-git/doc/guix.texi:9192
#, fuzzy, no-wrap
msgid "#:substitutable?"
msgstr "#:substitutable?"

#. type: table
#: guix-git/doc/guix.texi:9196
#, fuzzy
msgid "This Boolean, @code{#t} by default, tells whether the package outputs should be substitutable---i.e., whether users should be able to obtain substitutes for them instead of building locally (@pxref{Substitutes})."
msgstr "这个布尔值,默认值为 @code{#t},指示包的输出是否应该是可替代的——即,用户是否应该能够获得替代品,而不是在本地构建它们(@pxref{Substitutes})。"

#. type: item
#: guix-git/doc/guix.texi:9197
#, fuzzy, no-wrap
msgid "#:allowed-references"
msgstr "#:允许的引用"

#. type: itemx
#: guix-git/doc/guix.texi:9198
#, fuzzy, no-wrap
msgid "#:disallowed-references"
msgstr "#:不允许的引用"

#. type: table
#: guix-git/doc/guix.texi:9203
#, fuzzy
msgid "When true, these arguments must be a list of dependencies that must not appear among the references of the build results.  If, upon build completion, some of these references are retained, the build process fails."
msgstr "当为真时,这些参数必须是一个依赖项列表,这些依赖项不得出现在构建结果的引用中。如果在构建完成时,保留了这些引用中的某些引用,则构建过程失败。"

#. type: table
#: guix-git/doc/guix.texi:9208
#, fuzzy
msgid "This is useful to ensure that a package does not erroneously keep a reference to some of it build-time inputs, in cases where doing so would, for example, unnecessarily increase its size (@pxref{Invoking guix size})."
msgstr "这对于确保包不会错误地保留对某些构建时输入的引用是有用的,在这种情况下,保留引用会不必要地增加其大小(@pxref{Invoking guix size})。"

#. type: defvar
#: guix-git/doc/guix.texi:9211
#, fuzzy
msgid "Most other build systems support these keyword arguments."
msgstr "大多数其他构建系统支持这些关键字参数。"

#. type: Plain text
#: guix-git/doc/guix.texi:9218
#, fuzzy
msgid "Other @code{<build-system>} objects are defined to support other conventions and tools used by free software packages.  They inherit most of @code{gnu-build-system}, and differ mainly in the set of inputs implicitly added to the build process, and in the list of phases executed.  Some of these build systems are listed below."
msgstr "其他 @code{<build-system>} 对象被定义为支持自由软件包使用的其他约定和工具。它们继承了大部分 @code{gnu-build-system},主要在于隐式添加到构建过程中的输入集和执行的阶段列表有所不同。以下列出了一些这些构建系统。"

#. type: defvar
#: guix-git/doc/guix.texi:9219
#, fuzzy, no-wrap
msgid "agda-build-system"
msgstr "Guix系统"

#. type: defvar
#: guix-git/doc/guix.texi:9222
#, fuzzy
msgid "This variable is exported by @code{(guix build-system agda)}.  It implements a build procedure for Agda libraries."
msgstr "这个变量由 @code{(guix build-system agda)} 导出。它实现了 Agda 库的构建过程。"

#. type: defvar
#: guix-git/doc/guix.texi:9225
#, fuzzy
msgid "It adds @code{agda} to the set of inputs.  A different Agda can be specified with the @code{#:agda} key."
msgstr "它将 @code{agda} 添加到输入集。可以使用 @code{#:agda} 键指定不同的 Agda。"

#. type: defvar
#: guix-git/doc/guix.texi:9231
#, fuzzy
msgid "The @code{#:plan} key is a list of cons cells @code{(@var{regexp} . @var{parameters})}, where @var{regexp} is a regexp that should match the @code{.agda} files to build, and @var{parameters} is an optional list of parameters that will be passed to @code{agda} when type-checking it."
msgstr "@code{#:plan} 键是一个 cons 单元列表 @code{(@var{regexp} . @var{parameters})},其中 @var{regexp} 是一个正则表达式,应匹配要构建的 @code{.agda} 文件,而 @var{parameters} 是一个可选的参数列表,这些参数将在类型检查时传递给 @code{agda}。"

#. type: defvar
#: guix-git/doc/guix.texi:9237
#, fuzzy
msgid "When the library uses Haskell to generate a file containing all imports, the convenience @code{#:gnu-and-haskell?} can be set to @code{#t} to add @code{ghc} and the standard inputs of @code{gnu-build-system} to the input list.  You will still need to manually add a phase or tweak the @code{'build} phase, as in the definition of @code{agda-stdlib}."
msgstr "当库使用 Haskell 生成一个包含所有导入的文件时,可以将便利的 @code{#:gnu-and-haskell?} 设置为 @code{#t},以将 @code{ghc} 和 @code{gnu-build-system} 的标准输入添加到输入列表中。您仍然需要手动添加一个阶段或调整 @code{'build} 阶段,如 @code{agda-stdlib} 的定义中所示。"

#. type: defvar
#: guix-git/doc/guix.texi:9240
#, fuzzy, no-wrap
msgid "ant-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:9244
#, fuzzy
msgid "This variable is exported by @code{(guix build-system ant)}.  It implements the build procedure for Java packages that can be built with @url{https://ant.apache.org/, Ant build tool}."
msgstr "此变量由 @code{(guix build-system ant)} 导出。它实现了可以使用 @url{https://ant.apache.org/, Ant 构建工具} 构建的 Java 包的构建过程。"

#. type: defvar
#: guix-git/doc/guix.texi:9249
#, fuzzy
msgid "It adds both @code{ant} and the @dfn{Java Development Kit} (JDK) as provided by the @code{icedtea} package to the set of inputs.  Different packages can be specified with the @code{#:ant} and @code{#:jdk} parameters, respectively."
msgstr "它将 @code{ant} 和 @dfn{Java 开发工具包} (JDK) 作为 @code{icedtea} 包提供的输入集合添加。可以分别使用 @code{#:ant} 和 @code{#:jdk} 参数指定不同的包。"

#. type: defvar
#: guix-git/doc/guix.texi:9255
#, fuzzy
msgid "When the original package does not provide a suitable Ant build file, the parameter @code{#:jar-name} can be used to generate a minimal Ant build file @file{build.xml} with tasks to build the specified jar archive.  In this case the parameter @code{#:source-dir} can be used to specify the source sub-directory, defaulting to ``src''."
msgstr "当原始包不提供合适的 Ant 构建文件时,可以使用参数 @code{#:jar-name} 生成一个最小的 Ant 构建文件 @file{build.xml},其中包含构建指定 jar 存档的任务。在这种情况下,可以使用参数 @code{#:source-dir} 指定源子目录,默认为 ``src''。"

#. type: defvar
#: guix-git/doc/guix.texi:9263
#, fuzzy
msgid "The @code{#:main-class} parameter can be used with the minimal ant buildfile to specify the main class of the resulting jar.  This makes the jar file executable.  The @code{#:test-include} parameter can be used to specify the list of junit tests to run.  It defaults to @code{(list \"**/*Test.java\")}.  The @code{#:test-exclude} can be used to disable some tests.  It defaults to @code{(list \"**/Abstract*.java\")}, because abstract classes cannot be run as tests."
msgstr "@code{#:main-class} 参数可以与最小的 ant 构建文件一起使用,以指定生成的 jar 的主类。这使得 jar 文件可执行。@code{#:test-include} 参数可以用来指定要运行的 junit 测试列表。默认为 @code{(list \"**/*Test.java\")}。@code{#:test-exclude} 可以用来禁用某些测试。默认为 @code{(list \"**/Abstract*.java\")},因为抽象类不能作为测试运行。"

#. type: defvar
#: guix-git/doc/guix.texi:9267
#, fuzzy
msgid "The parameter @code{#:build-target} can be used to specify the Ant task that should be run during the @code{build} phase.  By default the ``jar'' task will be run."
msgstr "参数 @code{#:build-target} 可用于指定在 @code{build} 阶段应运行的 Ant 任务。默认情况下,将运行 ``jar'' 任务。"

#. type: defvar
#: guix-git/doc/guix.texi:9270
#, fuzzy, no-wrap
msgid "android-ndk-build-system"
msgstr "android-ndk-build-system"

#. type: cindex
#: guix-git/doc/guix.texi:9271
#, fuzzy, no-wrap
msgid "Android distribution"
msgstr "Android 发行版"

#. type: cindex
#: guix-git/doc/guix.texi:9272
#, fuzzy, no-wrap
msgid "Android NDK build system"
msgstr "Android NDK 构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:9276
#, fuzzy
msgid "This variable is exported by @code{(guix build-system android-ndk)}.  It implements a build procedure for Android NDK (native development kit)  packages using a Guix-specific build process."
msgstr "此变量由 @code{(guix build-system android-ndk)} 导出。它实现了使用 Guix 特定构建过程的 Android NDK (本地开发工具包) 包的构建过程。"

#. type: defvar
#: guix-git/doc/guix.texi:9280
#, fuzzy
msgid "The build system assumes that packages install their public interface (header) files to the subdirectory @file{include} of the @code{out} output and their libraries to the subdirectory @file{lib} the @code{out} output."
msgstr "构建系统假设包将其公共接口(头文件)安装到 @code{out} 输出的 @file{include} 子目录中,并将其库安装到 @code{out} 输出的 @file{lib} 子目录中。"

#. type: defvar
#: guix-git/doc/guix.texi:9283
#, fuzzy
msgid "It's also assumed that the union of all the dependencies of a package has no conflicting files."
msgstr "还假设包的所有依赖项的并集没有冲突的文件。"

#. type: defvar
#: guix-git/doc/guix.texi:9286
#, fuzzy
msgid "For the time being, cross-compilation is not supported - so right now the libraries and header files are assumed to be host tools."
msgstr "目前不支持交叉编译 - 因此现在假设库和头文件是主机工具。"

#. type: defvar
#: guix-git/doc/guix.texi:9289
#, fuzzy, no-wrap
msgid "asdf-build-system/source"
msgstr "asdf-build-system/source"

#. type: defvarx
#: guix-git/doc/guix.texi:9290
#, fuzzy, no-wrap
msgid "asdf-build-system/sbcl"
msgstr "asdf-build-system/sbcl"

#. type: defvarx
#: guix-git/doc/guix.texi:9291
#, fuzzy, no-wrap
msgid "asdf-build-system/ecl"
msgstr "asdf-build-system/ecl"

#. type: defvar
#: guix-git/doc/guix.texi:9297
#, fuzzy
msgid "These variables, exported by @code{(guix build-system asdf)}, implement build procedures for Common Lisp packages using @url{https://common-lisp.net/project/asdf/, ``ASDF''}.  ASDF is a system definition facility for Common Lisp programs and libraries."
msgstr "这些变量由 @code{(guix build-system asdf)} 导出,实现了使用 @url{https://common-lisp.net/project/asdf/, ``ASDF''} 的 Common Lisp 包的构建过程。 ASDF 是一个用于 Common Lisp 程序和库的系统定义工具。"

#. type: defvar
#: guix-git/doc/guix.texi:9304
#, fuzzy
msgid "The @code{asdf-build-system/source} system installs the packages in source form, and can be loaded using any common lisp implementation, via ASDF@.  The others, such as @code{asdf-build-system/sbcl}, install binary systems in the format which a particular implementation understands.  These build systems can also be used to produce executable programs, or lisp images which contain a set of packages pre-loaded."
msgstr "@code{asdf-build-system/source} 系统以源代码形式安装包,并可以通过 ASDF@ 使用任何 Common Lisp 实现加载。 其他系统,如 @code{asdf-build-system/sbcl},以特定实现理解的格式安装二进制系统。 这些构建系统也可以用于生成可执行程序或包含一组预加载包的 Lisp 镜像。"

#. type: defvar
#: guix-git/doc/guix.texi:9308
#, fuzzy
msgid "The build system uses naming conventions.  For binary packages, the package name should be prefixed with the lisp implementation, such as @code{sbcl-} for @code{asdf-build-system/sbcl}."
msgstr "构建系统使用命名约定。 对于二进制包,包名应以 Lisp 实现为前缀,例如 @code{sbcl-} 用于 @code{asdf-build-system/sbcl}。"

#. type: defvar
#: guix-git/doc/guix.texi:9312
#, fuzzy
msgid "Additionally, the corresponding source package should be labeled using the same convention as Python packages (@pxref{Python Modules}), using the @code{cl-} prefix."
msgstr "此外,相应的源包应使用与 Python 包相同的约定进行标记(@pxref{Python Modules}),使用 @code{cl-} 前缀。"

#. type: defvar
#: guix-git/doc/guix.texi:9320
#, fuzzy
msgid "In order to create executable programs and images, the build-side procedures @code{build-program} and @code{build-image} can be used.  They should be called in a build phase after the @code{create-asdf-configuration} phase, so that the system which was just built can be used within the resulting image.  @code{build-program} requires a list of Common Lisp expressions to be passed as the @code{#:entry-program} argument."
msgstr "为了创建可执行程序和镜像,可以使用构建侧过程 @code{build-program} 和 @code{build-image}。 它们应在 @code{create-asdf-configuration} 阶段之后的构建阶段中调用,以便刚构建的系统可以在生成的镜像中使用。 @code{build-program} 需要将 Common Lisp 表达式的列表作为 @code{#:entry-program} 参数传递。"

#. type: defvar
#: guix-git/doc/guix.texi:9329
#, fuzzy
msgid "By default, all the @file{.asd} files present in the sources are read to find system definitions.  The @code{#:asd-files} parameter can be used to specify the list of @file{.asd} files to read.  Furthermore, if the package defines a system for its tests in a separate file, it will be loaded before the tests are run if it is specified by the @code{#:test-asd-file} parameter.  If it is not set, the files @code{<system>-tests.asd}, @code{<system>-test.asd}, @code{tests.asd}, and @code{test.asd} will be tried if they exist."
msgstr "默认情况下,读取源中存在的所有 @file{.asd} 文件以查找系统定义。 @code{#:asd-files} 参数可用于指定要读取的 @file{.asd} 文件列表。 此外,如果包在单独的文件中为其测试定义了一个系统,则在运行测试之前,如果通过 @code{#:test-asd-file} 参数指定,它将被加载。 如果未设置,将尝试 @code{<system>-tests.asd}、@code{<system>-test.asd}、@code{tests.asd} 和 @code{test.asd} 文件(如果存在)。"

#. type: defvar
#: guix-git/doc/guix.texi:9334
#, fuzzy
msgid "If for some reason the package must be named in a different way than the naming conventions suggest, or if several systems must be compiled, the @code{#:asd-systems} parameter can be used to specify the list of system names."
msgstr "如果由于某种原因,包必须以与命名约定建议的不同方式命名,或者如果必须编译多个系统,可以使用 @code{#:asd-systems} 参数来指定系统名称列表。"

#. type: defvar
#: guix-git/doc/guix.texi:9337
#, fuzzy, no-wrap
msgid "cargo-build-system"
msgstr "Guix系统"

#. type: cindex
#: guix-git/doc/guix.texi:9338
#, fuzzy, no-wrap
msgid "Rust programming language"
msgstr "Rust 编程语言"

#. type: cindex
#: guix-git/doc/guix.texi:9339
#, fuzzy, no-wrap
msgid "Cargo (Rust build system)"
msgstr "Cargo(Rust 构建系统)"

#. type: defvar
#: guix-git/doc/guix.texi:9343
#, fuzzy
msgid "This variable is exported by @code{(guix build-system cargo)}.  It supports builds of packages using Cargo, the build tool of the @uref{https://www.rust-lang.org, Rust programming language}."
msgstr "此变量由 @code{(guix build-system cargo)} 导出。它支持使用 Cargo 构建的包,Cargo 是 @uref{https://www.rust-lang.org, Rust 编程语言} 的构建工具。"

#. type: defvar
#: guix-git/doc/guix.texi:9346
#, fuzzy
msgid "It adds @code{rustc} and @code{cargo} to the set of inputs.  A different Rust package can be specified with the @code{#:rust} parameter."
msgstr "它将 @code{rustc} 和 @code{cargo} 添加到输入集合中。可以使用 @code{#:rust} 参数指定不同的 Rust 包。"

#. type: defvar
#: guix-git/doc/guix.texi:9356
#, fuzzy
msgid "Regular cargo dependencies should be added to the package definition similarly to other packages; those needed only at build time to native-inputs, others to inputs.  If you need to add source-only crates then you should add them to via the @code{#:cargo-inputs} parameter as a list of name and spec pairs, where the spec can be a package or a source definition.  Note that the spec must evaluate to a path to a gzipped tarball which includes a @code{Cargo.toml} file at its root, or it will be ignored.  Similarly, cargo dev-dependencies should be added to the package definition via the @code{#:cargo-development-inputs} parameter."
msgstr "常规的 cargo 依赖项应与其他包类似地添加到包定义中;在构建时仅需要的依赖项添加到 native-inputs,其他的添加到 inputs。如果需要添加仅源代码的 crate,则应通过 @code{#:cargo-inputs} 参数将其作为名称和规范对的列表添加,其中规范可以是包或源定义。请注意,规范必须评估为一个路径,该路径指向一个包含 @code{Cargo.toml} 文件的 gzipped tarball,否则将被忽略。同样,cargo 开发依赖项应通过 @code{#:cargo-development-inputs} 参数添加到包定义中。"

#. type: defvar
#: guix-git/doc/guix.texi:9366
#, fuzzy
msgid "In its @code{configure} phase, this build system will make any source inputs specified in the @code{#:cargo-inputs} and @code{#:cargo-development-inputs} parameters available to cargo.  It will also remove an included @code{Cargo.lock} file to be recreated by @code{cargo} during the @code{build} phase.  The @code{package} phase will run @code{cargo package} to create a source crate for future use.  The @code{install} phase installs the binaries defined by the crate.  Unless @code{install-source? #f} is defined it will also install a source crate repository of itself and unpacked sources, to ease in future hacking on rust packages."
msgstr "在其 @code{configure} 阶段,此构建系统将使 @code{#:cargo-inputs} 和 @code{#:cargo-development-inputs} 参数中指定的任何源输入可用于 cargo。它还将删除一个包含的 @code{Cargo.lock} 文件,以便在 @code{build} 阶段由 @code{cargo} 重新创建。@code{package} 阶段将运行 @code{cargo package} 以创建一个源 crate 供将来使用。@code{install} 阶段安装 crate 定义的二进制文件。除非定义了 @code{install-source? #f},否则它还将安装自身的源 crate 存储库和解压缩的源,以便于将来对 rust 包的修改。"

#. type: defvar
#: guix-git/doc/guix.texi:9368
#, fuzzy, no-wrap
msgid "chicken-build-system"
msgstr "chicken-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:9373
#, fuzzy
msgid "This variable is exported by @code{(guix build-system chicken)}.  It builds @uref{https://call-cc.org/, CHICKEN Scheme} modules, also called ``eggs'' or ``extensions''.  CHICKEN generates C source code, which then gets compiled by a C compiler, in this case GCC."
msgstr "此变量由 @code{(guix build-system chicken)} 导出。它构建 @uref{https://call-cc.org/, CHICKEN Scheme} 模块,也称为“蛋”或“扩展”。CHICKEN 生成 C 源代码,然后由 C 编译器(在此情况下为 GCC)编译。"

#. type: defvar
#: guix-git/doc/guix.texi:9376
#, fuzzy
msgid "This build system adds @code{chicken} to the package inputs, as well as the packages of @code{gnu-build-system}."
msgstr "这个构建系统将 @code{chicken} 添加到包输入中,以及 @code{gnu-build-system} 的包。"

#. type: defvar
#: guix-git/doc/guix.texi:9380
#, fuzzy
msgid "The build system can't (yet) deduce the egg's name automatically, so just like with @code{go-build-system} and its @code{#:import-path}, you should define @code{#:egg-name} in the package's @code{arguments} field."
msgstr "构建系统尚不能自动推断蛋的名称,因此就像 @code{go-build-system} 及其 @code{#:import-path} 一样,您应该在包的 @code{arguments} 字段中定义 @code{#:egg-name}。"

#. type: defvar
#: guix-git/doc/guix.texi:9382
#, fuzzy
msgid "For example, if you are packaging the @code{srfi-1} egg:"
msgstr "例如,如果您正在打包 @code{srfi-1} 蛋:"

#. type: lisp
#: guix-git/doc/guix.texi:9385
#, fuzzy, no-wrap
msgid "(arguments '(#:egg-name \"srfi-1\"))\n"
msgstr "(arguments '(#:egg-name \"srfi-1\"))\n"

#. type: defvar
#: guix-git/doc/guix.texi:9390
#, fuzzy
msgid "Egg dependencies must be defined in @code{propagated-inputs}, not @code{inputs} because CHICKEN doesn't embed absolute references in compiled eggs.  Test dependencies should go to @code{native-inputs}, as usual."
msgstr "蛋依赖项必须在 @code{propagated-inputs} 中定义,而不是 @code{inputs},因为 CHICKEN 不会在编译的蛋中嵌入绝对引用。测试依赖项应像往常一样放在 @code{native-inputs} 中。"

#. type: defvar
#: guix-git/doc/guix.texi:9392
#, fuzzy, no-wrap
msgid "copy-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:9396
#, fuzzy
msgid "This variable is exported by @code{(guix build-system copy)}.  It supports builds of simple packages that don't require much compiling, mostly just moving files around."
msgstr "这个变量由 @code{(guix build-system copy)} 导出。它支持不需要太多编译的简单包的构建,主要是移动文件。"

#. type: defvar
#: guix-git/doc/guix.texi:9401
#, fuzzy
msgid "It adds much of the @code{gnu-build-system} packages to the set of inputs.  Because of this, the @code{copy-build-system} does not require all the boilerplate code often needed for the @code{trivial-build-system}."
msgstr "它将大部分 @code{gnu-build-system} 包添加到输入集合中。因此,@code{copy-build-system} 不需要 @code{trivial-build-system} 通常所需的所有样板代码。"

#. type: defvar
#: guix-git/doc/guix.texi:9406
#, fuzzy
msgid "To further simplify the file installation process, an @code{#:install-plan} argument is exposed to let the packager specify which files go where.  The install plan is a list of @code{(@var{source} @var{target} [@var{filters}])}.  @var{filters} are optional."
msgstr "为了进一步简化文件安装过程,暴露了一个 @code{#:install-plan} 参数,让打包者指定哪些文件去哪里。安装计划是一个 @code{(@var{source} @var{target} [@var{filters}])} 的列表。@var{filters} 是可选的。"

#. type: item
#: guix-git/doc/guix.texi:9408
#, fuzzy, no-wrap
msgid "When @var{source} matches a file or directory without trailing slash, install it to @var{target}."
msgstr "当 @var{source} 匹配没有尾部斜杠的文件或目录时,将其安装到 @var{target}。"

#. type: item
#: guix-git/doc/guix.texi:9410
#, fuzzy, no-wrap
msgid "If @var{target} has a trailing slash, install @var{source} basename beneath @var{target}."
msgstr "如果 @var{target} 有尾部斜杠,则在 @var{target} 下安装 @var{source} 的基本名称。"

#. type: item
#: guix-git/doc/guix.texi:9411
#, fuzzy, no-wrap
msgid "Otherwise install @var{source} as @var{target}."
msgstr "否则将 @var{source} 安装为 @var{target}。"

#. type: item
#: guix-git/doc/guix.texi:9414
#, fuzzy, no-wrap
msgid "When @var{source} is a directory with a trailing slash, or when @var{filters} are used,"
msgstr "当 @var{source} 是带尾部斜杠的目录,或者使用了 @var{filters} 时,"

#. type: itemize
#: guix-git/doc/guix.texi:9417
#, fuzzy
msgid "the trailing slash of @var{target} is implied with the same meaning as above."
msgstr "@var{target} 的尾部斜杠隐含着与上述相同的含义。"

#. type: item
#: guix-git/doc/guix.texi:9418
#, fuzzy, no-wrap
msgid "Without @var{filters}, install the full @var{source} @emph{content} to @var{target}."
msgstr "没有 @var{filters} 时,将完整的 @var{source} @emph{内容} 安装到 @var{target}。"

#. type: item
#: guix-git/doc/guix.texi:9419
#, fuzzy, no-wrap
msgid "With @var{filters} among @code{#:include}, @code{#:include-regexp}, @code{#:exclude},"
msgstr "使用 @var{filters} 中的 @code{#:include}、@code{#:include-regexp}、@code{#:exclude}、"

#. type: itemize
#: guix-git/doc/guix.texi:9422
#, fuzzy
msgid "@code{#:exclude-regexp}, only select files are installed depending on the filters.  Each filters is specified by a list of strings."
msgstr "@code{#:exclude-regexp},仅根据过滤器选择安装特定文件。每个过滤器由字符串列表指定。"

#. type: item
#: guix-git/doc/guix.texi:9423
#, fuzzy, no-wrap
msgid "With @code{#:include}, install all the files which the path suffix matches"
msgstr "使用 @code{#:include},安装所有路径后缀匹配的文件。"

#. type: itemize
#: guix-git/doc/guix.texi:9425
#, fuzzy
msgid "at least one of the elements in the given list."
msgstr "给定列表中至少有一个元素。"

#. type: item
#: guix-git/doc/guix.texi:9425
#, fuzzy, no-wrap
msgid "With @code{#:include-regexp}, install all the files which the"
msgstr "使用 @code{#:include-regexp},安装所有与"

#. type: itemize
#: guix-git/doc/guix.texi:9428
#, fuzzy
msgid "subpaths match at least one of the regular expressions in the given list."
msgstr "给定列表中的至少一个正则表达式匹配的子路径。"

#. type: item
#: guix-git/doc/guix.texi:9428
#, fuzzy, no-wrap
msgid "The @code{#:exclude} and @code{#:exclude-regexp} filters"
msgstr "@code{#:exclude} 和 @code{#:exclude-regexp} 过滤器"

#. type: itemize
#: guix-git/doc/guix.texi:9433
#, fuzzy
msgid "are the complement of their inclusion counterpart.  Without @code{#:include} flags, install all files but those matching the exclusion filters.  If both inclusions and exclusions are specified, the exclusions are done on top of the inclusions."
msgstr "是其包含对应项的补充。没有 @code{#:include} 标志时,安装所有文件,但不包括匹配排除过滤器的文件。如果同时指定了包含和排除,排除将在包含之上进行。"

#. type: item
#: guix-git/doc/guix.texi:9434
#, fuzzy, no-wrap
msgid "When a package has multiple outputs, the @code{#:output} argument"
msgstr "当一个包有多个输出时,可以使用 @code{#:output} 参数"

#. type: itemize
#: guix-git/doc/guix.texi:9437
#, fuzzy
msgid "can be used to specify which output label the files should be installed to."
msgstr "来指定文件应该安装到哪个输出标签。"

#. type: itemize
#: guix-git/doc/guix.texi:9440
#, fuzzy
msgid "In all cases, the paths relative to @var{source} are preserved within @var{target}."
msgstr "在所有情况下,相对于 @var{source} 的路径在 @var{target} 中被保留。"

#. type: defvar
#: guix-git/doc/guix.texi:9443
#, fuzzy
msgid "Examples:"
msgstr "示例:"

#. type: item
#: guix-git/doc/guix.texi:9445
#, fuzzy, no-wrap
msgid "@code{(\"foo/bar\" \"share/my-app/\")}: Install @file{bar} to @file{share/my-app/bar}."
msgstr "@code{(\"foo/bar\" \"share/my-app/\")}: 将 @file{bar} 安装到 @file{share/my-app/bar}。"

#. type: item
#: guix-git/doc/guix.texi:9446
#, fuzzy, no-wrap
msgid "@code{(\"foo/bar\" \"share/my-app/baz\")}: Install @file{bar} to @file{share/my-app/baz}."
msgstr "@code{(\"foo/bar\" \"share/my-app/baz\")}: 将 @file{bar} 安装到 @file{share/my-app/baz}。"

#. type: item
#: guix-git/doc/guix.texi:9447
#, fuzzy, no-wrap
msgid "@code{(\"foo/\" \"share/my-app\")}: Install the content of @file{foo} inside @file{share/my-app},"
msgstr "@code{(\"foo/\" \"share/my-app\")}: 将 @file{foo} 的内容安装到 @file{share/my-app} 中,"

#. type: itemize
#: guix-git/doc/guix.texi:9449
#, fuzzy
msgid "e.g., install @file{foo/sub/file} to @file{share/my-app/sub/file}."
msgstr "例如,将 @file{foo/sub/file} 安装到 @file{share/my-app/sub/file}。"

#. type: item
#: guix-git/doc/guix.texi:9449
#, fuzzy, no-wrap
msgid "@code{(\"foo/\" \"share/my-app\" #:include (\"sub/file\"))}: Install only @file{foo/sub/file} to"
msgstr "@code{(\"foo/\" \"share/my-app\" #:include (\"sub/file\"))}: 仅将 @file{foo/sub/file} 安装到"

#. type: itemize
#: guix-git/doc/guix.texi:9451
#, fuzzy
msgid "@file{share/my-app/sub/file}."
msgstr "@file{share/my-app/sub/file}。"

#. type: item
#: guix-git/doc/guix.texi:9451
#, fuzzy, no-wrap
msgid "@code{(\"foo/sub\" \"share/my-app\" #:include (\"file\"))}: Install @file{foo/sub/file} to"
msgstr "@code{(\"foo/sub\" \"share/my-app\" #:include (\"file\"))}: 将 @file{foo/sub/file} 安装到"

#. type: itemize
#: guix-git/doc/guix.texi:9453
#, fuzzy
msgid "@file{share/my-app/file}."
msgstr "@file{share/my-app/file}。"

#. type: item
#: guix-git/doc/guix.texi:9453
#, fuzzy, no-wrap
msgid "@code{(\"foo/doc\" \"share/my-app/doc\" #:output \"doc\")}: Install"
msgstr "@code{(\"foo/doc\" \"share/my-app/doc\" #:output \"doc\")}: 安装"

#. type: itemize
#: guix-git/doc/guix.texi:9456
#, fuzzy
msgid "@file{\"foo/doc\"} to @file{\"share/my-app/doc\"} within the @code{\"doc\"} output."
msgstr "@file{\"foo/doc\"} 到 @file{\"share/my-app/doc\"},在 @code{\"doc\"} 输出中。"

#. type: defvar
#: guix-git/doc/guix.texi:9459
#, fuzzy, no-wrap
msgid "vim-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:9464
#, fuzzy
msgid "This variable is exported by @code{(guix build-system vim)}.  It is an extension of the @code{copy-build-system}, installing Vim and Neovim plugins into locations where these two text editors know to find their plugins, using their packpaths."
msgstr "此变量由 @code{(guix build-system vim)} 导出。它是 @code{copy-build-system} 的扩展,将 Vim 和 Neovim 插件安装到这两个文本编辑器知道查找其插件的位置,使用它们的 packpaths。"

#. type: defvar
#: guix-git/doc/guix.texi:9469
#, fuzzy
msgid "Packages which are prefixed with @code{vim-} will be installed in Vim's packpath, while those prefixed with @code{neovim-} will be installed in Neovim's packpath.  If there is a @code{doc} directory with the plugin then helptags will be generated automatically."
msgstr "以 @code{vim-} 为前缀的包将安装在 Vim 的 packpath 中,而以 @code{neovim-} 为前缀的包将安装在 Neovim 的 packpath 中。如果插件有一个 @code{doc} 目录,则会自动生成 helptags。"

#. type: defvar
#: guix-git/doc/guix.texi:9471
#, fuzzy
msgid "There are a couple of keywords added with the @code{vim-build-system}:"
msgstr "有几个关键字与 @code{vim-build-system} 一起添加:"

#. type: item
#: guix-git/doc/guix.texi:9472
#, fuzzy, no-wrap
msgid "With @code{plugin-name} it is possible to set the name of the plugin."
msgstr "使用 @code{plugin-name} 可以设置插件的名称。"

#. type: itemize
#: guix-git/doc/guix.texi:9476
#, fuzzy
msgid "While by default this is set to the name and version of the package, it is often more helpful to set this to name which the upstream author calls their plugin.  This is the name used for @command{:packadd} from inside Vim."
msgstr "虽然默认情况下这设置为包的名称和版本,但通常将其设置为上游作者称其插件的名称更为有用。这是从 Vim 内部使用 @command{:packadd} 的名称。"

#. type: item
#: guix-git/doc/guix.texi:9476
#, fuzzy, no-wrap
msgid "With @code{install-plan} it is possible to augment the built-in"
msgstr "使用 @code{install-plan} 可以增强内置的"

#. type: itemize
#: guix-git/doc/guix.texi:9481
#, fuzzy
msgid "install-plan of the @code{vim-build-system}.  This is particularly helpful if you have files which should be installed in other locations.  For more information about using the @code{install-plan}, see the @code{copy-build-system} (@pxref{Build Systems, @code{copy-build-system}})."
msgstr "@code{vim-build-system} 的 install-plan。如果您有应该安装在其他位置的文件,这尤其有帮助。有关使用 @code{install-plan} 的更多信息,请参见 @code{copy-build-system} (@pxref{Build Systems, @code{copy-build-system}})。"

#. type: item
#: guix-git/doc/guix.texi:9481
#, fuzzy, no-wrap
msgid "With @code{#:vim} it is possible to add this package to Vim's packpath,"
msgstr "使用 @code{#:vim} 可以将此包添加到 Vim 的 packpath,"

#. type: itemize
#: guix-git/doc/guix.texi:9484
#, fuzzy
msgid "in addition to if it is added automatically because of the @code{vim-} prefix in the package's name."
msgstr "此外,如果由于包名称中的 @code{vim-} 前缀而自动添加。"

#. type: item
#: guix-git/doc/guix.texi:9484
#, fuzzy, no-wrap
msgid "With @code{#:neovim} it is possible to add this package to Neovim's"
msgstr "使用 @code{#:neovim} 可以将此包添加到 Neovim 的"

#. type: itemize
#: guix-git/doc/guix.texi:9487
#, fuzzy
msgid "packpath, in addition to if it is added automatically because of the @code{neovim-} prefix in the package's name."
msgstr "packpath,此外,如果由于包名称中的 @code{neovim-} 前缀而自动添加。"

#. type: item
#: guix-git/doc/guix.texi:9487
#, fuzzy, no-wrap
msgid "With @code{#:mode} it is possible to adjust the path which the plugin is"
msgstr "使用 @code{#:mode} 可以调整插件的安装路径。"

#. type: itemize
#: guix-git/doc/guix.texi:9492
#, fuzzy
msgid "installed into.  By default the plugin is installed into @code{start} and other options are available, including @code{opt}.  Adding a plugin into @code{opt} will mean you will need to run, for example, @command{:packadd foo} to load the @code{foo} plugin from inside of Vim."
msgstr "默认情况下,插件安装在 @code{start} 中,还有其他选项可用,包括 @code{opt}。将插件添加到 @code{opt} 意味着您需要在 Vim 内部运行,例如 @command{:packadd foo} 来加载 @code{foo} 插件。"

#. type: cindex
#: guix-git/doc/guix.texi:9495
#, fuzzy, no-wrap
msgid "Clojure (programming language)"
msgstr "Clojure(编程语言)"

#. type: cindex
#: guix-git/doc/guix.texi:9496
#, fuzzy, no-wrap
msgid "simple Clojure build system"
msgstr "简单的 Clojure 构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:9497
#, fuzzy, no-wrap
msgid "clojure-build-system"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:9502
#, fuzzy
msgid "This variable is exported by @code{(guix build-system clojure)}.  It implements a simple build procedure for @uref{https://clojure.org/, Clojure} packages using plain old @code{compile} in Clojure.  Cross-compilation is not supported yet."
msgstr "此变量由 @code{(guix build-system clojure)} 导出。它实现了一个简单的构建过程,用于使用普通的 @code{compile} 在 Clojure 中构建 @uref{https://clojure.org/, Clojure} 包。尚不支持交叉编译。"

#. type: defvar
#: guix-git/doc/guix.texi:9506
#, fuzzy
msgid "It adds @code{clojure}, @code{icedtea} and @code{zip} to the set of inputs.  Different packages can be specified with the @code{#:clojure}, @code{#:jdk} and @code{#:zip} parameters, respectively."
msgstr "它将 @code{clojure}、@code{icedtea} 和 @code{zip} 添加到输入集合中。可以分别使用 @code{#:clojure}、@code{#:jdk} 和 @code{#:zip} 参数指定不同的包。"

#. type: defvar
#: guix-git/doc/guix.texi:9512
#, fuzzy
msgid "A list of source directories, test directories and jar names can be specified with the @code{#:source-dirs}, @code{#:test-dirs} and @code{#:jar-names} parameters, respectively.  Compile directory and main class can be specified with the @code{#:compile-dir} and @code{#:main-class} parameters, respectively.  Other parameters are documented below."
msgstr "可以分别使用 @code{#:source-dirs}、@code{#:test-dirs} 和 @code{#:jar-names} 参数指定源目录、测试目录和 jar 名称。可以分别使用 @code{#:compile-dir} 和 @code{#:main-class} 参数指定编译目录和主类。其他参数在下面有文档说明。"

#. type: defvar
#: guix-git/doc/guix.texi:9515
#, fuzzy
msgid "This build system is an extension of @code{ant-build-system}, but with the following phases changed:"
msgstr "这个构建系统是@code{ant-build-system}的扩展,但以下阶段已更改:"

#. type: item
#: guix-git/doc/guix.texi:9518 guix-git/doc/guix.texi:10117
#: guix-git/doc/guix.texi:10315 guix-git/doc/guix.texi:10364
#: guix-git/doc/guix.texi:10472 guix-git/doc/guix.texi:44650
#: guix-git/doc/guix.texi:49933
#, fuzzy, no-wrap
msgid "build"
msgstr "构建"

#. type: table
#: guix-git/doc/guix.texi:9527
#, fuzzy
msgid "This phase calls @code{compile} in Clojure to compile source files and runs @command{jar} to create jars from both source files and compiled files according to the include list and exclude list specified in @code{#:aot-include} and @code{#:aot-exclude}, respectively.  The exclude list has priority over the include list.  These lists consist of symbols representing Clojure libraries or the special keyword @code{#:all} representing all Clojure libraries found under the source directories.  The parameter @code{#:omit-source?} decides if source should be included into the jars."
msgstr "此阶段在Clojure中调用@code{compile}以编译源文件,并运行@command{jar}根据在@code{#:aot-include}和@code{#:aot-exclude}中指定的包含列表和排除列表,从源文件和编译文件创建jar。排除列表优先于包含列表。这些列表由表示Clojure库的符号组成,或特殊关键字@code{#:all}表示在源目录下找到的所有Clojure库。参数@code{#:omit-source?}决定是否应将源文件包含到jar中。"

#. type: item
#: guix-git/doc/guix.texi:9528 guix-git/doc/guix.texi:10121
#: guix-git/doc/guix.texi:10319 guix-git/doc/guix.texi:10477
#, fuzzy, no-wrap
msgid "check"
msgstr "检查"

#. type: table
#: guix-git/doc/guix.texi:9535
#, fuzzy
msgid "This phase runs tests according to the include list and exclude list specified in @code{#:test-include} and @code{#:test-exclude}, respectively.  Their meanings are analogous to that of @code{#:aot-include} and @code{#:aot-exclude}, except that the special keyword @code{#:all} now stands for all Clojure libraries found under the test directories.  The parameter @code{#:tests?} decides if tests should be run."
msgstr "此阶段根据在@code{#:test-include}和@code{#:test-exclude}中指定的包含列表和排除列表运行测试。它们的含义类似于@code{#:aot-include}和@code{#:aot-exclude},只是特殊关键字@code{#:all}现在代表在测试目录下找到的所有Clojure库。参数@code{#:tests?}决定是否应运行测试。"

#. type: item
#: guix-git/doc/guix.texi:9536 guix-git/doc/guix.texi:10127
#: guix-git/doc/guix.texi:10325 guix-git/doc/guix.texi:10368
#: guix-git/doc/guix.texi:10483
#, fuzzy, no-wrap
msgid "install"
msgstr "安装"

#. type: table
#: guix-git/doc/guix.texi:9538
#, fuzzy
msgid "This phase installs all jars built previously."
msgstr "此阶段安装之前构建的所有jar。"

#. type: defvar
#: guix-git/doc/guix.texi:9541
#, fuzzy
msgid "Apart from the above, this build system also contains an additional phase:"
msgstr "除了上述内容,此构建系统还包含一个额外的阶段:"

#. type: item
#: guix-git/doc/guix.texi:9544
#, fuzzy, no-wrap
msgid "install-doc"
msgstr "安装文档"

#. type: table
#: guix-git/doc/guix.texi:9549
#, fuzzy
msgid "This phase installs all top-level files with base name matching @code{%doc-regex}.  A different regex can be specified with the @code{#:doc-regex} parameter.  All files (recursively) inside the documentation directories specified in @code{#:doc-dirs} are installed as well."
msgstr "此阶段安装所有与@code{%doc-regex}匹配的顶级文件。可以使用@code{#:doc-regex}参数指定不同的正则表达式。所有在@code{#:doc-dirs}中指定的文档目录内的文件(递归)也会被安装。"

#. type: defvar
#: guix-git/doc/guix.texi:9552
#, no-wrap
msgid "cmake-build-system"
msgstr "cmake-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:9556
#, fuzzy
msgid "This variable is exported by @code{(guix build-system cmake)}.  It implements the build procedure for packages using the @url{https://www.cmake.org, CMake build tool}."
msgstr "此变量由@code{(guix build-system cmake)}导出。它实现了使用@url{https://www.cmake.org, CMake构建工具}的包的构建过程。"

#. type: defvar
#: guix-git/doc/guix.texi:9560
#, fuzzy
msgid "It automatically adds the @code{cmake} package to the set of inputs.  Which package is used can be specified with the @code{#:cmake} parameter."
msgstr "它会自动将@code{cmake}包添加到输入集合中。使用哪个包可以通过@code{#:cmake}参数指定。"

#. type: defvar
#: guix-git/doc/guix.texi:9567
#, fuzzy
msgid "The @code{#:configure-flags} parameter is taken as a list of flags passed to the @command{cmake} command.  The @code{#:build-type} parameter specifies in abstract terms the flags passed to the compiler; it defaults to @code{\"RelWithDebInfo\"} (short for ``release mode with debugging information''), which roughly means that code is compiled with @code{-O2 -g}, as is the case for Autoconf-based packages by default."
msgstr "@code{#:configure-flags}参数被视为传递给@command{cmake}命令的标志列表。@code{#:build-type}参数以抽象的方式指定传递给编译器的标志;默认值为@code{\"RelWithDebInfo\"}(意为“带调试信息的发布模式”),这大致意味着代码是使用@code{-O2 -g}编译的,默认情况下与基于Autoconf的包相同。"

#. type: defvar
#: guix-git/doc/guix.texi:9569
#, fuzzy, no-wrap
msgid "composer-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:9573
#, fuzzy
msgid "This variable is exported by @code{(guix build-system composer)}.  It implements the build procedure for packages using @url{https://getcomposer.org/, Composer}, the PHP package manager."
msgstr "此变量由 @code{(guix build-system composer)} 导出。它实现了使用 @url{https://getcomposer.org/, Composer} 的软件包的构建过程,这是 PHP 包管理器。"

#. type: defvar
#: guix-git/doc/guix.texi:9576
#, fuzzy
msgid "It automatically adds the @code{php} package to the set of inputs.  Which package is used can be specified with the @code{#:php} parameter."
msgstr "它会自动将 @code{php} 包添加到输入集合中。使用哪个包可以通过 @code{#:php} 参数指定。"

#. type: defvar
#: guix-git/doc/guix.texi:9581
#, fuzzy
msgid "The @code{#:test-target} parameter is used to control which script is run for the tests.  By default, the @code{test} script is run if it exists.  If the script does not exist, the build system will run @code{phpunit} from the source directory, assuming there is a @file{phpunit.xml} file."
msgstr "@code{#:test-target} 参数用于控制运行哪个脚本进行测试。默认情况下,如果存在 @code{test} 脚本,则运行该脚本。如果脚本不存在,构建系统将从源目录运行 @code{phpunit},假设存在 @file{phpunit.xml} 文件。"

#. type: defvar
#: guix-git/doc/guix.texi:9583
#, fuzzy, no-wrap
msgid "dune-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:9590
#, fuzzy
msgid "This variable is exported by @code{(guix build-system dune)}.  It supports builds of packages using @uref{https://dune.build/, Dune}, a build tool for the OCaml programming language.  It is implemented as an extension of the @code{ocaml-build-system} which is described below.  As such, the @code{#:ocaml} and @code{#:findlib} parameters can be passed to this build system."
msgstr "此变量由 @code{(guix build-system dune)} 导出。它支持使用 @uref{https://dune.build/, Dune} 的软件包构建,这是 OCaml 编程语言的构建工具。它作为 @code{ocaml-build-system} 的扩展实现,后者将在下面描述。因此,@code{#:ocaml} 和 @code{#:findlib} 参数可以传递给此构建系统。"

#. type: defvar
#: guix-git/doc/guix.texi:9594
#, fuzzy
msgid "It automatically adds the @code{dune} package to the set of inputs.  Which package is used can be specified with the @code{#:dune} parameter."
msgstr "它会自动将 @code{dune} 包添加到输入集合中。使用哪个包可以通过 @code{#:dune} 参数指定。"

#. type: defvar
#: guix-git/doc/guix.texi:9598
#, fuzzy
msgid "There is no @code{configure} phase because dune packages typically don't need to be configured.  The @code{#:build-flags} parameter is taken as a list of flags passed to the @code{dune} command during the build."
msgstr "没有 @code{configure} 阶段,因为 dune 包通常不需要配置。@code{#:build-flags} 参数被视为在构建期间传递给 @code{dune} 命令的标志列表。"

#. type: defvar
#: guix-git/doc/guix.texi:9602
#, fuzzy
msgid "The @code{#:jbuild?} parameter can be passed to use the @code{jbuild} command instead of the more recent @code{dune} command while building a package.  Its default value is @code{#f}."
msgstr "可以传递 @code{#:jbuild?} 参数以在构建软件包时使用 @code{jbuild} 命令,而不是较新的 @code{dune} 命令。其默认值为 @code{#f}。"

#. type: defvar
#: guix-git/doc/guix.texi:9607
#, fuzzy
msgid "The @code{#:package} parameter can be passed to specify a package name, which is useful when a package contains multiple packages and you want to build only one of them.  This is equivalent to passing the @code{-p} argument to @code{dune}."
msgstr "可以传递 @code{#:package} 参数以指定包名称,这在一个包包含多个包且您只想构建其中一个时非常有用。这相当于将 @code{-p} 参数传递给 @code{dune}。"

#. type: defvar
#: guix-git/doc/guix.texi:9610
#, fuzzy, no-wrap
msgid "elm-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:9614
#, fuzzy
msgid "This variable is exported by @code{(guix build-system elm)}.  It implements a build procedure for @url{https://elm-lang.org, Elm} packages similar to @samp{elm install}."
msgstr "此变量由 @code{(guix build-system elm)} 导出。它实现了类似于 @samp{elm install} 的 @url{https://elm-lang.org, Elm} 包的构建过程。"

#. type: defvar
#: guix-git/doc/guix.texi:9622
#, fuzzy
msgid "The build system adds an Elm compiler package to the set of inputs.  The default compiler package (currently @code{elm-sans-reactor}) can be overridden using the @code{#:elm} argument.  Additionally, Elm packages needed by the build system itself are added as implicit inputs if they are not already present: to suppress this behavior, use the @code{#:implicit-elm-package-inputs?} argument, which is primarily useful for bootstrapping."
msgstr "构建系统将 Elm 编译器包添加到输入集合中。默认编译器包(当前为 @code{elm-sans-reactor})可以使用 @code{#:elm} 参数覆盖。此外,如果构建系统本身所需的 Elm 包尚未存在,则作为隐式输入添加:要抑制此行为,请使用 @code{#:implicit-elm-package-inputs?} 参数,这主要用于引导。"

#. type: defvar
#: guix-git/doc/guix.texi:9626
#, fuzzy
msgid "The @code{\"dependencies\"} and @code{\"test-dependencies\"} in an Elm package's @file{elm.json} file correspond to @code{propagated-inputs} and @code{inputs}, respectively."
msgstr "在 Elm 包的 @file{elm.json} 文件中,@code{\"dependencies\"} 和 @code{\"test-dependencies\"} 分别对应 @code{propagated-inputs} 和 @code{inputs}。"

#. type: defvar
#: guix-git/doc/guix.texi:9630
#, fuzzy
msgid "Elm requires a particular structure for package names: @pxref{Elm Packages} for more details, including utilities provided by @code{(guix build-system elm)}."
msgstr "Elm 对包名称有特定的结构要求:有关更多详细信息,包括 @code{(guix build-system elm)} 提供的工具,请参见 @pxref{Elm Packages}。"

#. type: defvar
#: guix-git/doc/guix.texi:9632
#, fuzzy
msgid "There are currently a few noteworthy limitations to @code{elm-build-system}:"
msgstr "目前,@code{elm-build-system} 存在一些值得注意的限制:"

#. type: itemize
#: guix-git/doc/guix.texi:9643
#, fuzzy
msgid "The build system is focused on @dfn{packages} in the Elm sense of the word: Elm @dfn{projects} which declare @code{@{ \"type\": \"package\" @}} in their @file{elm.json} files.  Using @code{elm-build-system} to build Elm @dfn{applications} (which declare @code{@{ \"type\": \"application\" @}}) is possible, but requires ad-hoc modifications to the build phases.  For examples, see the definitions of the @code{elm-todomvc} example application and the @code{elm} package itself (because the front-end for the @samp{elm reactor} command is an Elm application)."
msgstr "构建系统专注于 Elm 意义上的 @dfn{packages}:声明 @code{@{ \"type\": \"package\" @}} 的 Elm @dfn{projects} 在其 @file{elm.json} 文件中。使用 @code{elm-build-system} 构建 Elm @dfn{applications}(声明 @code{@{ \"type\": \"application\" @}})是可能的,但需要对构建阶段进行临时修改。有关示例,请参见 @code{elm-todomvc} 示例应用程序和 @code{elm} 包本身的定义(因为 @samp{elm reactor} 命令的前端是一个 Elm 应用程序)。"

#. type: itemize
#: guix-git/doc/guix.texi:9655
#, fuzzy
msgid "Elm supports multiple versions of a package coexisting simultaneously under @env{ELM_HOME}, but this does not yet work well with @code{elm-build-system}.  This limitation primarily affects Elm applications, because they specify exact versions for their dependencies, whereas Elm packages specify supported version ranges.  As a workaround, the example applications mentioned above use the @code{patch-application-dependencies} procedure provided by @code{(guix build elm-build-system)} to rewrite their @file{elm.json} files to refer to the package versions actually present in the build environment.  Alternatively, Guix package transformations (@pxref{Defining Package Variants}) could be used to rewrite an application's entire dependency graph."
msgstr "Elm 支持多个版本的包在 @env{ELM_HOME} 下同时共存,但这在 @code{elm-build-system} 中尚未很好地工作。这个限制主要影响 Elm 应用程序,因为它们为其依赖项指定确切版本,而 Elm 包则指定支持的版本范围。作为解决方法,上述示例应用程序使用 @code{(guix build elm-build-system)} 提供的 @code{patch-application-dependencies} 过程重写其 @file{elm.json} 文件,以引用构建环境中实际存在的包版本。或者,可以使用 Guix 包转换(@pxref{Defining Package Variants})来重写应用程序的整个依赖图。"

#. type: itemize
#: guix-git/doc/guix.texi:9661
#, fuzzy
msgid "We are not yet able to run tests for Elm projects because neither @url{https://github.com/mpizenberg/elm-test-rs, @command{elm-test-rs}} nor the Node.js-based @url{https://github.com/rtfeldman/node-test-runner, @command{elm-test}} runner has been packaged for Guix yet."
msgstr "我们尚无法为 Elm 项目运行测试,因为 @url{https://github.com/mpizenberg/elm-test-rs, @command{elm-test-rs}} 和基于 Node.js 的 @url{https://github.com/rtfeldman/node-test-runner, @command{elm-test}} 运行器尚未为 Guix 打包。"

#. type: defvar
#: guix-git/doc/guix.texi:9664
#, fuzzy, no-wrap
msgid "go-build-system"
msgstr "Guix系统"

#. type: defvar
#: guix-git/doc/guix.texi:9669
#, fuzzy
msgid "This variable is exported by @code{(guix build-system go)}.  It implements a build procedure for Go packages using the standard @url{https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies, Go build mechanisms}."
msgstr "此变量由 @code{(guix build-system go)} 导出。它实现了使用标准 @url{https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies, Go 构建机制} 的 Go 包构建过程。"

#. type: defvar
#: guix-git/doc/guix.texi:9680
#, fuzzy
msgid "The user is expected to provide a value for the key @code{#:import-path} and, in some cases, @code{#:unpack-path}.  The @url{https://golang.org/doc/code.html#ImportPaths, import path} corresponds to the file system path expected by the package's build scripts and any referring packages, and provides a unique way to refer to a Go package.  It is typically based on a combination of the package source code's remote URI and file system hierarchy structure.  In some cases, you will need to unpack the package's source code to a different directory structure than the one indicated by the import path, and @code{#:unpack-path} should be used in such cases."
msgstr "用户需要为键 @code{#:import-path} 提供一个值,在某些情况下,还需要提供 @code{#:unpack-path}。 @url{https://golang.org/doc/code.html#ImportPaths, 导入路径} 对应于包的构建脚本和任何引用包所期望的文件系统路径,并提供了一种唯一的方式来引用 Go 包。它通常基于包源代码的远程 URI 和文件系统层次结构的组合。在某些情况下,您需要将包的源代码解压到与导入路径指示的不同目录结构中,此时应使用 @code{#:unpack-path}。"

#. type: defvar
#: guix-git/doc/guix.texi:9685
#, fuzzy
msgid "Packages that provide Go libraries should install their source code into the built output.  The key @code{#:install-source?}, which defaults to @code{#t}, controls whether or not the source code is installed.  It can be set to @code{#f} for packages that only provide executable files."
msgstr "提供 Go 库的包应将其源代码安装到构建输出中。键 @code{#:install-source?} 默认为 @code{#t},控制是否安装源代码。对于仅提供可执行文件的包,可以将其设置为 @code{#f}。"

#. type: defvar
#: guix-git/doc/guix.texi:9692
#, fuzzy
msgid "Packages can be cross-built, and if a specific architecture or operating system is desired then the keywords @code{#:goarch} and @code{#:goos} can be used to force the package to be built for that architecture and operating system.  The combinations known to Go can be found @url{https://golang.org/doc/install/source#environment, in their documentation}."
msgstr "包可以进行交叉构建,如果需要特定的架构或操作系统,则可以使用关键字 @code{#:goarch} 和 @code{#:goos} 强制包为该架构和操作系统构建。已知的 Go 组合可以在 @url{https://golang.org/doc/install/source#environment, 他们的文档} 中找到。"

#. type: defvar
#: guix-git/doc/guix.texi:9695
#, fuzzy
msgid "The key @code{#:go} can be used to specify the Go compiler package with which to build the package."
msgstr "键 @code{#:go} 可用于指定用于构建包的 Go 编译器包。"

#. type: defvar
#: guix-git/doc/guix.texi:9701
#, fuzzy
msgid "The phase @code{check} provides a wrapper for @code{go test} which builds a test binary (or multiple binaries), vets the code and then runs the test binary.  Build, test and test binary flags can be provided as @code{#:test-flags} parameter, default is @code{'()}.  See @code{go help test} and @code{go help testflag} for more details."
msgstr "阶段 @code{check} 为 @code{go test} 提供了一个包装器,该包装器构建一个测试二进制文件(或多个二进制文件),检查代码,然后运行测试二进制文件。构建、测试和测试二进制文件标志可以作为 @code{#:test-flags} 参数提供,默认值为 @code{'()}。有关更多详细信息,请参见 @code{go help test} 和 @code{go help testflag}。"

#. type: defvar
#: guix-git/doc/guix.texi:9706
#, fuzzy
msgid "The key @code{#:embed-files}, default is @code{'()}, provides a list of future embedded files or regexps matching files.  They will be copied to build directory after @code{unpack} phase.  See @url{https://pkg.go.dev/embed} for more details."
msgstr "键 @code{#:embed-files},默认值为 @code{'()},提供未来嵌入文件或匹配文件的正则表达式列表。它们将在 @code{unpack} 阶段后复制到构建目录。有关更多详细信息,请参见 @url{https://pkg.go.dev/embed}。"

#. type: defvar
#: guix-git/doc/guix.texi:9709
#, fuzzy, no-wrap
msgid "glib-or-gtk-build-system"
msgstr "glib-or-gtk-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:9712
#, fuzzy
msgid "This variable is exported by @code{(guix build-system glib-or-gtk)}.  It is intended for use with packages making use of GLib or GTK+."
msgstr "此变量由 @code{(guix build-system glib-or-gtk)} 导出。它旨在与使用 GLib 或 GTK+ 的包一起使用。"

#. type: defvar
#: guix-git/doc/guix.texi:9715
#, fuzzy
msgid "This build system adds the following two phases to the ones defined by @code{gnu-build-system}:"
msgstr "该构建系统在@code{gnu-build-system}定义的阶段上添加了以下两个阶段:"

#. type: item
#: guix-git/doc/guix.texi:9717 guix-git/doc/guix.texi:10341
#, fuzzy, no-wrap
msgid "glib-or-gtk-wrap"
msgstr "glib-or-gtk-wrap"

#. type: table
#: guix-git/doc/guix.texi:9724
#, fuzzy
msgid "The phase @code{glib-or-gtk-wrap} ensures that programs in @file{bin/} are able to find GLib ``schemas'' and @uref{https://developer.gnome.org/gtk3/stable/gtk-running.html, GTK+ modules}.  This is achieved by wrapping the programs in launch scripts that appropriately set the @env{XDG_DATA_DIRS} and @env{GTK_PATH} environment variables."
msgstr "阶段@code{glib-or-gtk-wrap}确保@file{bin/}中的程序能够找到GLib的“模式”和@uref{https://developer.gnome.org/gtk3/stable/gtk-running.html, GTK+模块}。 这是通过将程序包装在适当设置@env{XDG_DATA_DIRS}和@env{GTK_PATH}环境变量的启动脚本中来实现的。"

#. type: table
#: guix-git/doc/guix.texi:9731
#, fuzzy
msgid "It is possible to exclude specific package outputs from that wrapping process by listing their names in the @code{#:glib-or-gtk-wrap-excluded-outputs} parameter.  This is useful when an output is known not to contain any GLib or GTK+ binaries, and where wrapping would gratuitously add a dependency of that output on GLib and GTK+."
msgstr "可以通过在@code{#:glib-or-gtk-wrap-excluded-outputs}参数中列出它们的名称来排除特定软件包输出的包装过程。 这在已知某个输出不包含任何GLib或GTK+二进制文件时非常有用,而包装会无谓地增加该输出对GLib和GTK+的依赖。"

#. type: item
#: guix-git/doc/guix.texi:9732 guix-git/doc/guix.texi:10345
#, fuzzy, no-wrap
msgid "glib-or-gtk-compile-schemas"
msgstr "glib-or-gtk-compile-schemas"

#. type: table
#: guix-git/doc/guix.texi:9740
#, fuzzy
msgid "The phase @code{glib-or-gtk-compile-schemas} makes sure that all @uref{https://developer.gnome.org/gio/stable/glib-compile-schemas.html, GSettings schemas} of GLib are compiled.  Compilation is performed by the @command{glib-compile-schemas} program.  It is provided by the package @code{glib:bin} which is automatically imported by the build system.  The @code{glib} package providing @command{glib-compile-schemas} can be specified with the @code{#:glib} parameter."
msgstr "阶段@code{glib-or-gtk-compile-schemas}确保所有GLib的@uref{https://developer.gnome.org/gio/stable/glib-compile-schemas.html, GSettings模式}都被编译。 编译由@command{glib-compile-schemas}程序执行。 它由构建系统自动导入的@code{glib:bin}包提供。 提供@command{glib-compile-schemas}的@code{glib}包可以通过@code{#:glib}参数指定。"

#. type: defvar
#: guix-git/doc/guix.texi:9743
#, fuzzy
msgid "Both phases are executed after the @code{install} phase."
msgstr "两个阶段在@code{install}阶段之后执行。"

#. type: defvar
#: guix-git/doc/guix.texi:9745
#, fuzzy, no-wrap
msgid "guile-build-system"
msgstr "Guix系统"

#. type: defvar
#: guix-git/doc/guix.texi:9752
#, fuzzy
msgid "This build system is for Guile packages that consist exclusively of Scheme code and that are so lean that they don't even have a makefile, let alone a @file{configure} script.  It compiles Scheme code using @command{guild compile} (@pxref{Compilation,,, guile, GNU Guile Reference Manual}) and installs the @file{.scm} and @file{.go} files in the right place.  It also installs documentation."
msgstr "该构建系统适用于完全由Scheme代码组成且如此精简以至于甚至没有makefile,更不用说@file{configure}脚本的Guile软件包。 它使用@command{guild compile}编译Scheme代码(@pxref{Compilation,,, guile, GNU Guile Reference Manual}),并将@file{.scm}和@file{.go}文件安装到正确的位置。 它还安装文档。"

#. type: defvar
#: guix-git/doc/guix.texi:9755
#, fuzzy
msgid "This build system supports cross-compilation by using the @option{--target} option of @samp{guild compile}."
msgstr "该构建系统通过使用@samp{guild compile}的@option{--target}选项支持交叉编译。"

#. type: defvar
#: guix-git/doc/guix.texi:9758
#, fuzzy
msgid "Packages built with @code{guile-build-system} must provide a Guile package in their @code{native-inputs} field."
msgstr "使用@code{guile-build-system}构建的软件包必须在其@code{native-inputs}字段中提供一个Guile软件包。"

#. type: defvar
#: guix-git/doc/guix.texi:9760
#, fuzzy, no-wrap
msgid "julia-build-system"
msgstr "julia-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:9767
#, fuzzy
msgid "This variable is exported by @code{(guix build-system julia)}.  It implements the build procedure used by @uref{https://julialang.org/, julia} packages, which essentially is similar to running @samp{julia -e 'using Pkg; Pkg.add(package)'} in an environment where @env{JULIA_LOAD_PATH} contains the paths to all Julia package inputs.  Tests are run by calling @code{/test/runtests.jl}."
msgstr "该变量由@code{(guix build-system julia)}导出。 它实现了@uref{https://julialang.org/, julia}软件包使用的构建过程,基本上类似于在@env{JULIA_LOAD_PATH}包含所有Julia软件包输入路径的环境中运行@samp{julia -e 'using Pkg; Pkg.add(package)'}。 测试通过调用@code{/test/runtests.jl}进行。"

#. type: defvar
#: guix-git/doc/guix.texi:9772
#, fuzzy
msgid "The Julia package name and uuid is read from the file @file{Project.toml}.  These values can be overridden by passing the argument @code{#:julia-package-name} (which must be correctly capitalized) or @code{#:julia-package-uuid}."
msgstr "Julia 包的名称和 uuid 从文件 @file{Project.toml} 中读取。这些值可以通过传递参数 @code{#:julia-package-name}(必须正确大写)或 @code{#:julia-package-uuid} 来覆盖。"

#. type: defvar
#: guix-git/doc/guix.texi:9776
#, fuzzy
msgid "Julia packages usually manage their binary dependencies via @code{JLLWrappers.jl}, a Julia package that creates a module (named after the wrapped library followed by @code{_jll.jl}."
msgstr "Julia 包通常通过 @code{JLLWrappers.jl} 管理其二进制依赖项,这是一个创建模块的 Julia 包(模块名称与被包装库相同,后面跟着 @code{_jll.jl})。"

#. type: defvar
#: guix-git/doc/guix.texi:9781
#, fuzzy
msgid "To add the binary path @code{_jll.jl} packages, you need to patch the files under @file{src/wrappers/}, replacing the call to the macro @code{JLLWrappers.@@generate_wrapper_header}, adding as a second argument containing the store path the binary."
msgstr "要添加二进制路径 @code{_jll.jl} 包,您需要修补 @file{src/wrappers/} 下的文件,替换对宏 @code{JLLWrappers.@@generate_wrapper_header} 的调用,添加作为第二个参数的存储路径二进制文件。"

#. type: defvar
#: guix-git/doc/guix.texi:9785
#, fuzzy
msgid "As an example, in the MbedTLS Julia package, we add a build phase (@pxref{Build Phases}) to insert the absolute file name of the wrapped MbedTLS package:"
msgstr "例如,在 MbedTLS Julia 包中,我们添加一个构建阶段 (@pxref{Build Phases}) 来插入被包装的 MbedTLS 包的绝对文件名:"

#. type: lisp
#: guix-git/doc/guix.texi:9797
#, fuzzy, no-wrap
msgid ""
"(add-after 'unpack 'override-binary-path\n"
"  (lambda* (#:key inputs #:allow-other-keys)\n"
"    (for-each (lambda (wrapper)\n"
"                (substitute* wrapper\n"
"                  ((\"generate_wrapper_header.*\")\n"
"                   (string-append\n"
"                    \"generate_wrapper_header(\\\"MbedTLS\\\", \\\"\"\n"
"                    (assoc-ref inputs \"mbedtls\") \"\\\")\\n\"))))\n"
"              ;; There's a Julia file for each platform, override them all.\n"
"              (find-files \"src/wrappers/\" \"\\\\.jl$\"))))\n"
msgstr ""
"(add-after 'unpack 'override-binary-path\n"
"  (lambda* (#:key inputs #:allow-other-keys)\n"
"    (for-each (lambda (wrapper)\n"
"                (substitute* wrapper\n"
"                  ((\"generate_wrapper_header.*\")\n"
"                   (string-append\n"
"                    \"generate_wrapper_header(\\\"MbedTLS\\\", \\\"\"\n"
"                    (assoc-ref inputs \"mbedtls\") \"\\\")\\n\"))))\n"
"              ;; 每个平台都有一个 Julia 文件,全部覆盖它们。\n"
"              (find-files \"src/wrappers/\" \"\\\\.jl$\"))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:9803
#, fuzzy
msgid "Some older packages that aren't using @file{Project.toml} yet, will require this file to be created, too.  It is internally done if the arguments @code{#:julia-package-name} and @code{#:julia-package-uuid} are provided."
msgstr "一些尚未使用 @file{Project.toml} 的旧包,也需要创建此文件。如果提供了参数 @code{#:julia-package-name} 和 @code{#:julia-package-uuid},则会在内部完成。"

#. type: defvar
#: guix-git/doc/guix.texi:9805
#, fuzzy, no-wrap
msgid "maven-build-system"
msgstr "maven-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:9812
#, fuzzy
msgid "This variable is exported by @code{(guix build-system maven)}.  It implements a build procedure for @uref{https://maven.apache.org, Maven} packages.  Maven is a dependency and lifecycle management tool for Java.  A user of Maven specifies dependencies and plugins in a @file{pom.xml} file that Maven reads.  When Maven does not have one of the dependencies or plugins in its repository, it will download them and use them to build the package."
msgstr "此变量由 @code{(guix build-system maven)} 导出。它实现了 @uref{https://maven.apache.org, Maven} 包的构建过程。Maven 是一个用于 Java 的依赖和生命周期管理工具。Maven 用户在 @file{pom.xml} 文件中指定依赖项和插件,Maven 会读取该文件。当 Maven 的仓库中没有某个依赖项或插件时,它会下载它们并使用它们来构建包。"

#. type: defvar
#: guix-git/doc/guix.texi:9822
#, fuzzy
msgid "The maven build system ensures that maven will not try to download any dependency by running in offline mode.  Maven will fail if a dependency is missing.  Before running Maven, the @file{pom.xml} (and subprojects) are modified to specify the version of dependencies and plugins that match the versions available in the guix build environment.  Dependencies and plugins must be installed in the fake maven repository at @file{lib/m2}, and are symlinked into a proper repository before maven is run.  Maven is instructed to use that repository for the build and installs built artifacts there.  Changed files are copied to the @file{lib/m2} directory of the package output."
msgstr "maven 构建系统确保 Maven 不会通过离线模式尝试下载任何依赖项。如果缺少依赖项,Maven 将失败。在运行 Maven 之前,@file{pom.xml}(及子项目)会被修改,以指定与 guix 构建环境中可用版本匹配的依赖项和插件版本。依赖项和插件必须安装在 @file{lib/m2} 的假 Maven 仓库中,并在运行 Maven 之前链接到正确的仓库。Maven 被指示使用该仓库进行构建,并将构建的工件安装在那里。更改的文件被复制到包输出的 @file{lib/m2} 目录中。"

#. type: defvar
#: guix-git/doc/guix.texi:9825
#, fuzzy
msgid "You can specify a @file{pom.xml} file with the @code{#:pom-file} argument, or let the build system use the default @file{pom.xml} file in the sources."
msgstr "您可以使用 @file{pom.xml} 文件和 @code{#:pom-file} 参数指定一个文件,或者让构建系统使用源代码中的默认 @file{pom.xml} 文件。"

#. type: defvar
#: guix-git/doc/guix.texi:9831
#, fuzzy
msgid "In case you need to specify a dependency's version manually, you can use the @code{#:local-packages} argument.  It takes an association list where the key is the groupId of the package and its value is an association list where the key is the artifactId of the package and its value is the version you want to override in the @file{pom.xml}."
msgstr "如果您需要手动指定依赖项的版本,可以使用 @code{#:local-packages} 参数。它接受一个关联列表,其中键是包的 groupId,值是一个关联列表,其中键是包的 artifactId,值是您想要在 @file{pom.xml} 中覆盖的版本。"

#. type: defvar
#: guix-git/doc/guix.texi:9837
#, fuzzy
msgid "Some packages use dependencies or plugins that are not useful at runtime nor at build time in Guix.  You can alter the @file{pom.xml} file to remove them using the @code{#:exclude} argument.  Its value is an association list where the key is the groupId of the plugin or dependency you want to remove, and the value is a list of artifactId you want to remove."
msgstr "某些包使用在 Guix 中运行时或构建时都没有用的依赖项或插件。您可以修改 @file{pom.xml} 文件以使用 @code{#:exclude} 参数删除它们。其值是一个关联列表,其中键是您想要删除的插件或依赖项的 groupId,值是您想要删除的 artifactId 列表。"

#. type: defvar
#: guix-git/doc/guix.texi:9840
#, fuzzy
msgid "You can override the default @code{jdk} and @code{maven} packages with the corresponding argument, @code{#:jdk} and @code{#:maven}."
msgstr "您可以使用相应的参数 @code{#:jdk} 和 @code{#:maven} 来覆盖默认的 @code{jdk} 和 @code{maven} 包。"

#. type: defvar
#: guix-git/doc/guix.texi:9845
#, fuzzy
msgid "The @code{#:maven-plugins} argument is a list of maven plugins used during the build, with the same format as the @code{inputs} fields of the package declaration.  Its default value is @code{(default-maven-plugins)} which is also exported."
msgstr "@code{#:maven-plugins} 参数是构建过程中使用的 maven 插件列表,格式与包声明的 @code{inputs} 字段相同。其默认值是 @code{(default-maven-plugins)},也会被导出。"

#. type: defvar
#: guix-git/doc/guix.texi:9847
#, fuzzy, no-wrap
msgid "minetest-mod-build-system"
msgstr "minetest-mod-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:9853
#, fuzzy
msgid "This variable is exported by @code{(guix build-system minetest)}.  It implements a build procedure for @uref{https://www.minetest.net, Minetest} mods, which consists of copying Lua code, images and other resources to the location Minetest searches for mods.  The build system also minimises PNG images and verifies that Minetest can load the mod without errors."
msgstr "该变量由 @code{(guix build-system minetest)} 导出。它实现了一个用于 @uref{https://www.minetest.net, Minetest} 模组的构建过程,该过程包括将 Lua 代码、图像和其他资源复制到 Minetest 搜索模组的位置。构建系统还会最小化 PNG 图像,并验证 Minetest 是否可以无错误地加载模组。"

#. type: defvar
#: guix-git/doc/guix.texi:9855
#, fuzzy, no-wrap
msgid "minify-build-system"
msgstr "minify-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:9858
#, fuzzy
msgid "This variable is exported by @code{(guix build-system minify)}.  It implements a minification procedure for simple JavaScript packages."
msgstr "该变量由 @code{(guix build-system minify)} 导出。它实现了一个用于简单 JavaScript 包的最小化过程。"

#. type: defvar
#: guix-git/doc/guix.texi:9864
#, fuzzy
msgid "It adds @code{uglify-js} to the set of inputs and uses it to compress all JavaScript files in the @file{src} directory.  A different minifier package can be specified with the @code{#:uglify-js} parameter, but it is expected that the package writes the minified code to the standard output."
msgstr "它将 @code{uglify-js} 添加到输入集合,并使用它压缩 @file{src} 目录中的所有 JavaScript 文件。可以使用 @code{#:uglify-js} 参数指定不同的最小化器包,但预计该包会将最小化的代码写入标准输出。"

#. type: defvar
#: guix-git/doc/guix.texi:9868
#, fuzzy
msgid "When the input JavaScript files are not all located in the @file{src} directory, the parameter @code{#:javascript-files} can be used to specify a list of file names to feed to the minifier."
msgstr "当输入的 JavaScript 文件不全部位于 @file{src} 目录时,可以使用参数 @code{#:javascript-files} 来指定要提供给压缩器的文件名列表。"

#. type: defvar
#: guix-git/doc/guix.texi:9870
#, fuzzy, no-wrap
msgid "mozilla-build-system"
msgstr "Guix系统"

#. type: defvar
#: guix-git/doc/guix.texi:9877
#, fuzzy
msgid "This variable is exported by @code{(guix build-system mozilla)}.  It sets the @code{--target} and @code{--host} configuration flags to what software developed by Mozilla expects -- due to historical reasons, Mozilla software expects @code{--host} to be the system that is cross-compiled from and @code{--target} to be the system that is cross-compiled to, contrary to the standard Autotools conventions."
msgstr "该变量由 @code{(guix build-system mozilla)} 导出。它将 @code{--target} 和 @code{--host} 配置标志设置为 Mozilla 开发的软件所期望的 -- 由于历史原因,Mozilla 软件期望 @code{--host} 是交叉编译的系统,而 @code{--target} 是交叉编译到的系统,这与标准的 Autotools 约定相悖。"

#. type: defvar
#: guix-git/doc/guix.texi:9879
#, fuzzy, no-wrap
msgid "ocaml-build-system"
msgstr "ocaml-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:9885
#, fuzzy
msgid "This variable is exported by @code{(guix build-system ocaml)}.  It implements a build procedure for @uref{https://ocaml.org, OCaml} packages, which consists of choosing the correct set of commands to run for each package.  OCaml packages can expect many different commands to be run.  This build system will try some of them."
msgstr "该变量由 @code{(guix build-system ocaml)} 导出。它实现了一个用于 @uref{https://ocaml.org, OCaml} 包的构建过程,该过程包括为每个包选择正确的命令集。OCaml 包可以期望运行许多不同的命令。该构建系统将尝试其中的一些。"

#. type: defvar
#: guix-git/doc/guix.texi:9895
#, fuzzy
msgid "When the package has a @file{setup.ml} file present at the top-level, it will run @code{ocaml setup.ml -configure}, @code{ocaml setup.ml -build} and @code{ocaml setup.ml -install}.  The build system will assume that this file was generated by @uref{http://oasis.forge.ocamlcore.org/, OASIS} and will take care of setting the prefix and enabling tests if they are not disabled.  You can pass configure and build flags with the @code{#:configure-flags} and @code{#:build-flags}.  The @code{#:test-flags} key can be passed to change the set of flags used to enable tests.  The @code{#:use-make?} key can be used to bypass this system in the build and install phases."
msgstr "当包的顶层存在 @file{setup.ml} 文件时,它将运行 @code{ocaml setup.ml -configure}、@code{ocaml setup.ml -build} 和 @code{ocaml setup.ml -install}。构建系统将假定该文件是由 @uref{http://oasis.forge.ocamlcore.org/, OASIS} 生成的,并将负责设置前缀并启用测试(如果未禁用)。您可以通过 @code{#:configure-flags} 和 @code{#:build-flags} 传递配置和构建标志。可以通过 @code{#:test-flags} 关键字传递以更改用于启用测试的标志集。可以使用 @code{#:use-make?} 关键字在构建和安装阶段绕过该系统。"

#. type: defvar
#: guix-git/doc/guix.texi:9900
#, fuzzy
msgid "When the package has a @file{configure} file, it is assumed that it is a hand-made configure script that requires a different argument format than in the @code{gnu-build-system}.  You can add more flags with the @code{#:configure-flags} key."
msgstr "当包具有 @file{configure} 文件时,假定它是一个手动制作的配置脚本,要求与 @code{gnu-build-system} 中不同的参数格式。您可以使用 @code{#:configure-flags} 关键字添加更多标志。"

#. type: defvar
#: guix-git/doc/guix.texi:9904
#, fuzzy
msgid "When the package has a @file{Makefile} file (or @code{#:use-make?} is @code{#t}), it will be used and more flags can be passed to the build and install phases with the @code{#:make-flags} key."
msgstr "当包具有 @file{Makefile} 文件(或 @code{#:use-make?} 为 @code{#t})时,将使用它,并且可以通过 @code{#:make-flags} 关键字向构建和安装阶段传递更多标志。"

#. type: defvar
#: guix-git/doc/guix.texi:9912
#, fuzzy
msgid "Finally, some packages do not have these files and use a somewhat standard location for its build system.  In that case, the build system will run @code{ocaml pkg/pkg.ml} or @code{ocaml pkg/build.ml} and take care of providing the path to the required findlib module.  Additional flags can be passed via the @code{#:build-flags} key.  Install is taken care of by @command{opam-installer}.  In this case, the @code{opam} package must be added to the @code{native-inputs} field of the package definition."
msgstr "最后,一些软件包没有这些文件,而是使用一个相对标准的位置作为其构建系统。在这种情况下,构建系统将运行 @code{ocaml pkg/pkg.ml} 或 @code{ocaml pkg/build.ml},并负责提供所需的 findlib 模块的路径。可以通过 @code{#:build-flags} 键传递额外的标志。安装由 @command{opam-installer} 处理。在这种情况下,@code{opam} 软件包必须添加到软件包定义的 @code{native-inputs} 字段中。"

#. type: defvar
#: guix-git/doc/guix.texi:9920
#, fuzzy
msgid "Note that most OCaml packages assume they will be installed in the same directory as OCaml, which is not what we want in guix.  In particular, they will install @file{.so} files in their module's directory, which is usually fine because it is in the OCaml compiler directory.  In guix though, these libraries cannot be found and we use @env{CAML_LD_LIBRARY_PATH}.  This variable points to @file{lib/ocaml/site-lib/stubslibs} and this is where @file{.so} libraries should be installed."
msgstr "请注意,大多数 OCaml 软件包假设它们将安装在与 OCaml 相同的目录中,而这并不是我们在 guix 中想要的。特别是,它们将在其模块的目录中安装 @file{.so} 文件,这通常是可以的,因为它位于 OCaml 编译器目录中。然而,在 guix 中,这些库无法找到,我们使用 @env{CAML_LD_LIBRARY_PATH}。该变量指向 @file{lib/ocaml/site-lib/stubslibs},这就是 @file{.so} 库应该安装的地方。"

#. type: defvar
#: guix-git/doc/guix.texi:9922
#, fuzzy, no-wrap
msgid "python-build-system"
msgstr "python-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:9927
#, fuzzy
msgid "This variable is exported by @code{(guix build-system python)}.  It implements the more or less standard build procedure used by Python packages, which consists in running @code{python setup.py build} and then @code{python setup.py install --prefix=/gnu/store/@dots{}}."
msgstr "该变量由 @code{(guix build-system python)} 导出。它实现了 Python 软件包使用的或多或少标准的构建过程,该过程包括运行 @code{python setup.py build},然后 @code{python setup.py install --prefix=/gnu/store/@dots{}}。"

#. type: defvar
#: guix-git/doc/guix.texi:9932
#, fuzzy
msgid "For packages that install stand-alone Python programs under @code{bin/}, it takes care of wrapping these programs so that their @env{GUIX_PYTHONPATH} environment variable points to all the Python libraries they depend on."
msgstr "对于在 @code{bin/} 下安装独立 Python 程序的软件包,它负责包装这些程序,以便它们的 @env{GUIX_PYTHONPATH} 环境变量指向它们所依赖的所有 Python 库。"

#. type: defvar
#: guix-git/doc/guix.texi:9938
#, fuzzy
msgid "Which Python package is used to perform the build can be specified with the @code{#:python} parameter.  This is a useful way to force a package to be built for a specific version of the Python interpreter, which might be necessary if the package is only compatible with a single interpreter version."
msgstr "用于执行构建的 Python 软件包可以通过 @code{#:python} 参数指定。这是一种强制软件包为特定版本的 Python 解释器构建的有用方法,如果软件包仅与单个解释器版本兼容,这可能是必要的。"

#. type: defvar
#: guix-git/doc/guix.texi:9943
#, fuzzy
msgid "By default guix calls @code{setup.py} under control of @code{setuptools}, much like @command{pip} does.  Some packages are not compatible with setuptools (and pip), thus you can disable this by setting the @code{#:use-setuptools?} parameter to @code{#f}."
msgstr "默认情况下,guix 在 @code{setuptools} 的控制下调用 @code{setup.py},就像 @command{pip} 一样。一些软件包与 setuptools(和 pip)不兼容,因此您可以通过将 @code{#:use-setuptools?} 参数设置为 @code{#f} 来禁用此功能。"

#. type: defvar
#: guix-git/doc/guix.texi:9949
#, fuzzy
msgid "If a @code{\"python\"} output is available, the package is installed into it instead of the default @code{\"out\"} output. This is useful for packages that include a Python package as only a part of the software, and thus want to combine the phases of @code{python-build-system} with another build system.  Python bindings are a common usecase."
msgstr "如果有 @code{\"python\"} 输出可用,软件包将安装到该输出中,而不是默认的 @code{\"out\"} 输出。这对于将 Python 包仅作为软件的一部分的包非常有用,因此希望将 @code{python-build-system} 的阶段与其他构建系统结合起来。Python 绑定是一个常见的用例。"

#. type: defvar
#: guix-git/doc/guix.texi:9951
#, fuzzy, no-wrap
msgid "pyproject-build-system"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:9956
#, fuzzy
msgid "This is a variable exported by @code{guix build-system pyproject}.  It is based on @var{python-build-system}, and adds support for @file{pyproject.toml} and @url{https://peps.python.org/pep-0517/, PEP 517}.  It also supports a variety of build backends and test frameworks."
msgstr "这是由 @code{guix build-system pyproject} 导出的变量。它基于 @var{python-build-system},并增加了对 @file{pyproject.toml} 和 @url{https://peps.python.org/pep-0517/, PEP 517} 的支持。它还支持各种构建后端和测试框架。"

#. type: defvar
#: guix-git/doc/guix.texi:9958
#, fuzzy
msgid "The API is slightly different from @var{python-build-system}:"
msgstr "API 与 @var{python-build-system} 略有不同:"

#. type: itemize
#: guix-git/doc/guix.texi:9961
#, fuzzy
msgid "@code{#:use-setuptools?} and @code{#:test-target} is removed."
msgstr "@code{#:use-setuptools?} 和 @code{#:test-target} 被移除。"

#. type: itemize
#: guix-git/doc/guix.texi:9969
#, fuzzy
msgid "@code{#:configure-flags} is changed. Instead of a list this option must be a JSON object, whose interpretation depends on the build backend. For instance the example from @url{https://peps.python.org/pep-0517/#config-settings,PEP 517} should be written as @code{'(@@ (\"CC\" \"gcc\") (\"--global-option\" (\"--some-global-option\")) (\"--build-option\" (\"--build-option1\" \"--build-option2\")))}"
msgstr "@code{#:configure-flags} 已更改。此选项必须是一个 JSON 对象,而不是列表,其解释取决于构建后端。例如,来自 @url{https://peps.python.org/pep-0517/#config-settings,PEP 517} 的示例应写为 @code{'(@@ (\"CC\" \"gcc\") (\"--global-option\" (\"--some-global-option\")) (\"--build-option\" (\"--build-option1\" \"--build-option2\")))}"

#. type: itemize
#: guix-git/doc/guix.texi:9973
#, fuzzy
msgid "@code{#:backend-path} is added.  It defaults to @code{#false}, but when set to a list it will be appended to Python’s search path and overrides the definition in @file{pyproject.toml}."
msgstr "@code{#:backend-path} 被添加。它默认为 @code{#false},但当设置为列表时,它将附加到 Python 的搜索路径,并覆盖 @file{pyproject.toml} 中的定义。"

#. type: itemize
#: guix-git/doc/guix.texi:9976
#, fuzzy
msgid "@code{#:build-backend} is added.  It defaults to @code{#false} and will try to guess the appropriate backend based on @file{pyproject.toml}."
msgstr "@code{#:build-backend} 被添加。它默认为 @code{#false},并将尝试根据 @file{pyproject.toml} 猜测适当的后端。"

#. type: itemize
#: guix-git/doc/guix.texi:9979
#, fuzzy
msgid "@code{#:test-backend} is added.  It defaults to @code{#false} and will guess an appropriate test backend based on what is available in package inputs."
msgstr "@code{#:test-backend} 被添加。它默认为 @code{#false},并将根据包输入中可用的内容猜测适当的测试后端。"

#. type: itemize
#: guix-git/doc/guix.texi:9983
#, fuzzy
msgid "@code{#:test-flags} is added.  The default is @code{'()}.  These flags are passed as arguments to the test command.  Note that flags for verbose output is always enabled on supported backends."
msgstr "@code{#:test-flags} 被添加。默认值为 @code{'()}。这些标志作为参数传递给测试命令。请注意,支持的后端始终启用详细输出的标志。"

#. type: defvar
#: guix-git/doc/guix.texi:9989
#, fuzzy
msgid "It is considered ``experimental'' in that the implementation details are not set in stone yet, however users are encouraged to try it for new Python projects (even those using @file{setup.py}).  The API is subject to change, but any breaking changes in the Guix channel will be dealt with."
msgstr "它被认为是“实验性的”,因为实现细节尚未确定,但鼓励用户尝试用于新的 Python 项目(即使是使用 @file{setup.py} 的项目)。API 可能会发生变化,但 Guix 渠道中的任何重大更改将会处理。"

#. type: defvar
#: guix-git/doc/guix.texi:9992
#, fuzzy
msgid "Eventually this build system will be deprecated and merged back into @var{python-build-system}, probably some time in 2024."
msgstr "最终,这个构建系统将被弃用,并合并回@var{python-build-system},可能在2024年的某个时候。"

#. type: defvar
#: guix-git/doc/guix.texi:9994
#, fuzzy, no-wrap
msgid "perl-build-system"
msgstr "操作系统参考"

#. type: defvar
#: guix-git/doc/guix.texi:10006
#, fuzzy
msgid "This variable is exported by @code{(guix build-system perl)}.  It implements the standard build procedure for Perl packages, which either consists in running @code{perl Build.PL --prefix=/gnu/store/@dots{}}, followed by @code{Build} and @code{Build install}; or in running @code{perl Makefile.PL PREFIX=/gnu/store/@dots{}}, followed by @code{make} and @code{make install}, depending on which of @code{Build.PL} or @code{Makefile.PL} is present in the package distribution.  Preference is given to the former if both @code{Build.PL} and @code{Makefile.PL} exist in the package distribution.  This preference can be reversed by specifying @code{#t} for the @code{#:make-maker?} parameter."
msgstr "这个变量由@code{(guix build-system perl)}导出。它实现了Perl包的标准构建过程,该过程要么是运行@code{perl Build.PL --prefix=/gnu/store/@dots{}}, 然后是@code{Build}和@code{Build install}; 要么是运行@code{perl Makefile.PL PREFIX=/gnu/store/@dots{}}, 然后是@code{make}和@code{make install}, 具体取决于@code{Build.PL}或@code{Makefile.PL}哪个在包分发中存在。如果在包分发中同时存在@code{Build.PL}和@code{Makefile.PL},则优先考虑前者。可以通过为@code{#:make-maker?}参数指定@code{#t}来反转此偏好。"

#. type: defvar
#: guix-git/doc/guix.texi:10010
#, fuzzy
msgid "The initial @code{perl Makefile.PL} or @code{perl Build.PL} invocation passes flags specified by the @code{#:make-maker-flags} or @code{#:module-build-flags} parameter, respectively."
msgstr "初始的@code{perl Makefile.PL}或@code{perl Build.PL}调用传递由@code{#:make-maker-flags}或@code{#:module-build-flags}参数指定的标志。"

#. type: defvar
#: guix-git/doc/guix.texi:10012
#, fuzzy
msgid "Which Perl package is used can be specified with @code{#:perl}."
msgstr "可以通过@code{#:perl}指定使用哪个Perl包。"

#. type: defvar
#: guix-git/doc/guix.texi:10014
#, fuzzy, no-wrap
msgid "renpy-build-system"
msgstr "renpy-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:10018
#, fuzzy
msgid "This variable is exported by @code{(guix build-system renpy)}.  It implements the more or less standard build procedure used by Ren'py games, which consists of loading @code{#:game} once, thereby creating bytecode for it."
msgstr "这个变量由@code{(guix build-system renpy)}导出。它实现了Ren'py游戏使用的或多或少的标准构建过程,该过程包括加载@code{#:game}一次,从而为其创建字节码。"

#. type: defvar
#: guix-git/doc/guix.texi:10021
#, fuzzy
msgid "It further creates a wrapper script in @code{bin/} and a desktop entry in @code{share/applications}, both of which can be used to launch the game."
msgstr "它进一步在@code{bin/}中创建一个包装脚本,并在@code{share/applications}中创建一个桌面条目,这两个都可以用来启动游戏。"

#. type: defvar
#: guix-git/doc/guix.texi:10025
#, fuzzy
msgid "Which Ren'py package is used can be specified with @code{#:renpy}.  Games can also be installed in outputs other than ``out'' by using @code{#:output}."
msgstr "可以通过@code{#:renpy}指定使用哪个Ren'py包。游戏也可以通过使用@code{#:output}安装到除``out''以外的输出中。"

#. type: defvar
#: guix-git/doc/guix.texi:10027
#, fuzzy, no-wrap
msgid "qt-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:10030
#, fuzzy
msgid "This variable is exported by @code{(guix build-system qt)}.  It is intended for use with applications using Qt or KDE."
msgstr "这个变量由@code{(guix build-system qt)}导出。它旨在与使用Qt或KDE的应用程序一起使用。"

#. type: defvar
#: guix-git/doc/guix.texi:10033
#, fuzzy
msgid "This build system adds the following two phases to the ones defined by @code{cmake-build-system}:"
msgstr "这个构建系统在@code{cmake-build-system}定义的阶段上添加了以下两个阶段:"

#. type: item
#: guix-git/doc/guix.texi:10035
#, fuzzy, no-wrap
msgid "check-setup"
msgstr "check-setup"

#. type: table
#: guix-git/doc/guix.texi:10042
#, fuzzy
msgid "The phase @code{check-setup} prepares the environment for running the checks as commonly used by Qt test programs.  For now this only sets some environment variables: @code{QT_QPA_PLATFORM=offscreen}, @code{DBUS_FATAL_WARNINGS=0} and @code{CTEST_OUTPUT_ON_FAILURE=1}."
msgstr "阶段@code{check-setup}为运行Qt测试程序常用的检查准备环境。目前,这仅设置了一些环境变量:@code{QT_QPA_PLATFORM=offscreen}, @code{DBUS_FATAL_WARNINGS=0}和@code{CTEST_OUTPUT_ON_FAILURE=1}。"

#. type: table
#: guix-git/doc/guix.texi:10045
#, fuzzy
msgid "This phase is added before the @code{check} phase.  It's a separate phase to ease adjusting if necessary."
msgstr "此阶段在 @code{check} 阶段之前添加。它是一个单独的阶段,以便在必要时进行调整。"

#. type: item
#: guix-git/doc/guix.texi:10046
#, fuzzy, no-wrap
msgid "qt-wrap"
msgstr "qt-wrap"

#. type: table
#: guix-git/doc/guix.texi:10052
#, fuzzy
msgid "The phase @code{qt-wrap} searches for Qt5 plugin paths, QML paths and some XDG in the inputs and output.  In case some path is found, all programs in the output's @file{bin/}, @file{sbin/}, @file{libexec/} and @file{lib/libexec/} directories are wrapped in scripts defining the necessary environment variables."
msgstr "@code{qt-wrap} 阶段搜索输入和输出中的 Qt5 插件路径、QML 路径和一些 XDG。如果找到某些路径,则输出的 @file{bin/}、@file{sbin/}、@file{libexec/} 和 @file{lib/libexec/} 目录中的所有程序都将被包装在定义必要环境变量的脚本中。"

#. type: table
#: guix-git/doc/guix.texi:10058
#, fuzzy
msgid "It is possible to exclude specific package outputs from that wrapping process by listing their names in the @code{#:qt-wrap-excluded-outputs} parameter.  This is useful when an output is known not to contain any Qt binaries, and where wrapping would gratuitously add a dependency of that output on Qt, KDE, or such."
msgstr "可以通过在 @code{#:qt-wrap-excluded-outputs} 参数中列出它们的名称来排除特定包输出的包装过程。当已知某个输出不包含任何 Qt 二进制文件,并且包装会无谓地增加该输出对 Qt、KDE 或其他的依赖时,这一点非常有用。"

#. type: table
#: guix-git/doc/guix.texi:10060
#, fuzzy
msgid "This phase is added after the @code{install} phase."
msgstr "此阶段在 @code{install} 阶段之后添加。"

#. type: defvar
#: guix-git/doc/guix.texi:10063
#, fuzzy, no-wrap
msgid "r-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:10071
#, fuzzy
msgid "This variable is exported by @code{(guix build-system r)}.  It implements the build procedure used by @uref{https://r-project.org, R} packages, which essentially is little more than running @samp{R CMD INSTALL --library=/gnu/store/@dots{}} in an environment where @env{R_LIBS_SITE} contains the paths to all R package inputs.  Tests are run after installation using the R function @code{tools::testInstalledPackage}."
msgstr "此变量由 @code{(guix build-system r)} 导出。它实现了 @uref{https://r-project.org, R} 包使用的构建过程,基本上只是运行 @samp{R CMD INSTALL --library=/gnu/store/@dots{}},在 @env{R_LIBS_SITE} 包含所有 R 包输入路径的环境中。安装后使用 R 函数 @code{tools::testInstalledPackage} 运行测试。"

#. type: defvar
#: guix-git/doc/guix.texi:10073
#, fuzzy, no-wrap
msgid "rakudo-build-system"
msgstr "rakudo-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:10081
#, fuzzy
msgid "This variable is exported by @code{(guix build-system rakudo)}.  It implements the build procedure used by @uref{https://rakudo.org/, Rakudo} for @uref{https://perl6.org/, Perl6} packages.  It installs the package to @code{/gnu/store/@dots{}/NAME-VERSION/share/perl6} and installs the binaries, library files and the resources, as well as wrap the files under the @code{bin/} directory.  Tests can be skipped by passing @code{#f} to the @code{tests?} parameter."
msgstr "此变量由 @code{(guix build-system rakudo)} 导出。它实现了 @uref{https://rakudo.org/, Rakudo} 为 @uref{https://perl6.org/, Perl6} 包使用的构建过程。它将包安装到 @code{/gnu/store/@dots{}/NAME-VERSION/share/perl6},并安装二进制文件、库文件和资源,同时将文件包装在 @code{bin/} 目录下。可以通过将 @code{#f} 传递给 @code{tests?} 参数来跳过测试。"

#. type: defvar
#: guix-git/doc/guix.texi:10089
#, fuzzy
msgid "Which rakudo package is used can be specified with @code{rakudo}.  Which perl6-tap-harness package used for the tests can be specified with @code{#:prove6} or removed by passing @code{#f} to the @code{with-prove6?} parameter.  Which perl6-zef package used for tests and installing can be specified with @code{#:zef} or removed by passing @code{#f} to the @code{with-zef?} parameter."
msgstr "可以使用 @code{rakudo} 指定使用哪个 rakudo 包。用于测试的 perl6-tap-harness 包可以通过 @code{#:prove6} 指定,或通过将 @code{#f} 传递给 @code{with-prove6?} 参数来移除。用于测试和安装的 perl6-zef 包可以通过 @code{#:zef} 指定,或通过将 @code{#f} 传递给 @code{with-zef?} 参数来移除。"

#. type: defvar
#: guix-git/doc/guix.texi:10091
#, fuzzy, no-wrap
msgid "rebar-build-system"
msgstr "rebar-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:10095
#, fuzzy
msgid "This variable is exported by @code{(guix build-system rebar)}.  It implements a build procedure around @uref{https://rebar3.org,rebar3}, a build system for programs written in the Erlang language."
msgstr "此变量由 @code{(guix build-system rebar)} 导出。它实现了围绕 @uref{https://rebar3.org,rebar3} 的构建过程,这是一个用于编写 Erlang 语言程序的构建系统。"

#. type: defvar
#: guix-git/doc/guix.texi:10099
#, fuzzy
msgid "It adds both @code{rebar3} and the @code{erlang} to the set of inputs.  Different packages can be specified with the @code{#:rebar} and @code{#:erlang} parameters, respectively."
msgstr "它将 @code{rebar3} 和 @code{erlang} 添加到输入集合中。不同的包可以分别通过 @code{#:rebar} 和 @code{#:erlang} 参数指定。"

#. type: defvar
#: guix-git/doc/guix.texi:10102
#, fuzzy
msgid "This build system is based on @code{gnu-build-system}, but with the following phases changed:"
msgstr "该构建系统基于 @code{gnu-build-system},但更改了以下阶段:"

#. type: item
#: guix-git/doc/guix.texi:10105 guix-git/doc/guix.texi:10457
#, fuzzy, no-wrap
msgid "unpack"
msgstr "解压"

#. type: table
#: guix-git/doc/guix.texi:10111
#, fuzzy
msgid "This phase, after unpacking the source like the @code{gnu-build-system} does, checks for a file @code{contents.tar.gz} at the top-level of the source.  If this file exists, it will be unpacked, too.  This eases handling of package hosted at @uref{https://hex.pm/}, the Erlang and Elixir package repository."
msgstr "此阶段在像 @code{gnu-build-system} 一样解压源代码后,会检查源代码顶层是否存在文件 @code{contents.tar.gz}。如果该文件存在,它也会被解压。这简化了在 @uref{https://hex.pm/} 上托管的包的处理,这是 Erlang 和 Elixir 包的存储库。"

#. type: item
#: guix-git/doc/guix.texi:10112
#, no-wrap
msgid "bootstrap"
msgstr "bootstrap"

#. type: item
#: guix-git/doc/guix.texi:10113 guix-git/doc/guix.texi:10309
#: guix-git/doc/guix.texi:10360 guix-git/doc/guix.texi:10467
#, fuzzy, no-wrap
msgid "configure"
msgstr "配置"

#. type: table
#: guix-git/doc/guix.texi:10116
#, fuzzy
msgid "There are no @code{bootstrap} and @code{configure} phase because erlang packages typically don’t need to be configured."
msgstr "没有 @code{bootstrap} 和 @code{configure} 阶段,因为 Erlang 包通常不需要配置。"

#. type: table
#: guix-git/doc/guix.texi:10120
#, fuzzy
msgid "This phase runs @code{rebar3 compile} with the flags listed in @code{#:rebar-flags}."
msgstr "此阶段运行 @code{rebar3 compile},并使用 @code{#:rebar-flags} 中列出的标志。"

#. type: table
#: guix-git/doc/guix.texi:10126
#, fuzzy
msgid "Unless @code{#:tests? #f} is passed, this phase runs @code{rebar3 eunit}, or some other target specified with @code{#:test-target}, with the flags listed in @code{#:rebar-flags},"
msgstr "除非传递 @code{#:tests? #f},否则此阶段将运行 @code{rebar3 eunit},或使用 @code{#:test-target} 指定的其他目标,并使用 @code{#:rebar-flags} 中列出的标志。"

#. type: table
#: guix-git/doc/guix.texi:10130
#, fuzzy
msgid "This installs the files created in the @i{default} profile, or some other profile specified with @code{#:install-profile}."
msgstr "这会安装在 @i{default} 配置文件中创建的文件,或使用 @code{#:install-profile} 指定的其他配置文件。"

#. type: defvar
#: guix-git/doc/guix.texi:10134
#, fuzzy, no-wrap
msgid "texlive-build-system"
msgstr "texlive-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:10139
#, fuzzy
msgid "This variable is exported by @code{(guix build-system texlive)}.  It is used to build TeX packages in batch mode with a specified engine.  The build system sets the @env{TEXINPUTS} variable to find all TeX source files in the inputs."
msgstr "此变量由 @code{(guix build-system texlive)} 导出。它用于以批处理模式构建 TeX 包,并指定引擎。构建系统将 @env{TEXINPUTS} 变量设置为查找输入中的所有 TeX 源文件。"

#. type: defvar
#: guix-git/doc/guix.texi:10146
#, fuzzy
msgid "By default it tries to run @code{luatex} on all @file{.ins} files, and if it fails to find any, on all @file{.dtx} files.  A different engine and format can be specified with, respectively, the @code{#:tex-engine} and @code{#:tex-format} arguments.  Different build targets can be specified with the @code{#:build-targets} argument, which expects a list of file names."
msgstr "默认情况下,它尝试在所有 @file{.ins} 文件上运行 @code{luatex},如果未找到任何文件,则在所有 @file{.dtx} 文件上运行。可以分别通过 @code{#:tex-engine} 和 @code{#:tex-format} 参数指定不同的引擎和格式。可以通过 @code{#:build-targets} 参数指定不同的构建目标,该参数期望一个文件名列表。"

#. type: defvar
#: guix-git/doc/guix.texi:10153
#, fuzzy
msgid "It also generates font metrics (i.e., @file{.tfm} files) out of Metafont files whenever possible.  Likewise, it can also create TeX formats (i.e., @file{.fmt} files) listed in the @code{#:create-formats} argument, and generate a symbolic link from @file{bin/} directory to any script located in @file{texmf-dist/scripts/}, provided its file name is listed in @code{#:link-scripts} argument."
msgstr "它还会尽可能从 Metafont 文件生成字体度量(即 @file{.tfm} 文件)。同样,它还可以创建 @code{#:create-formats} 参数中列出的 TeX 格式(即 @file{.fmt} 文件),并从 @file{bin/} 目录生成指向 @file{texmf-dist/scripts/} 中任何脚本的符号链接,前提是其文件名在 @code{#:link-scripts} 参数中列出。"

#. type: defvar
#: guix-git/doc/guix.texi:10157
#, fuzzy
msgid "The build system adds @code{texlive-bin} from @code{(gnu packages tex)} to the native inputs.  It can be overridden with the @code{#:texlive-bin} argument."
msgstr "构建系统将 @code{texlive-bin} 从 @code{(gnu packages tex)} 添加到本地输入。可以通过 @code{#:texlive-bin} 参数进行覆盖。"

#. type: defvar
#: guix-git/doc/guix.texi:10164
#, fuzzy
msgid "The package @code{texlive-latex-bin}, from the same module, contains most of the tools for building TeX Live packages; for convenience, it is also added by default to the native inputs.  However, this can be troublesome when building a dependency of @code{texlive-latex-bin} itself.  In this particular situation, the @code{#:texlive-latex-bin?} argument should be set to @code{#f}."
msgstr "来自同一模块的包 @code{texlive-latex-bin} 包含构建 TeX Live 包的大多数工具;为了方便,它也默认添加到本地输入中。然而,在构建 @code{texlive-latex-bin} 本身的依赖时,这可能会造成麻烦。在这种特定情况下,应该将 @code{#:texlive-latex-bin?} 参数设置为 @code{#f}。"

#. type: defvar
#: guix-git/doc/guix.texi:10166
#, fuzzy, no-wrap
msgid "ruby-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:10170
#, fuzzy
msgid "This variable is exported by @code{(guix build-system ruby)}.  It implements the RubyGems build procedure used by Ruby packages, which involves running @code{gem build} followed by @code{gem install}."
msgstr "此变量由 @code{(guix build-system ruby)} 导出。它实现了 Ruby 包使用的 RubyGems 构建过程,该过程涉及运行 @code{gem build} 然后是 @code{gem install}。"

#. type: defvar
#: guix-git/doc/guix.texi:10178
#, fuzzy
msgid "The @code{source} field of a package that uses this build system typically references a gem archive, since this is the format that Ruby developers use when releasing their software.  The build system unpacks the gem archive, potentially patches the source, runs the test suite, repackages the gem, and installs it.  Additionally, directories and tarballs may be referenced to allow building unreleased gems from Git or a traditional source release tarball."
msgstr "使用此构建系统的包的 @code{source} 字段通常引用一个 gem 存档,因为这是 Ruby 开发人员在发布软件时使用的格式。构建系统解压 gem 存档,可能会修补源代码,运行测试套件,重新打包 gem,并安装它。此外,可能会引用目录和 tarball,以允许从 Git 或传统的源发布 tarball 构建未发布的 gem。"

#. type: defvar
#: guix-git/doc/guix.texi:10182
#, fuzzy
msgid "Which Ruby package is used can be specified with the @code{#:ruby} parameter.  A list of additional flags to be passed to the @command{gem} command can be specified with the @code{#:gem-flags} parameter."
msgstr "可以使用 @code{#:ruby} 参数指定使用哪个 Ruby 包。可以使用 @code{#:gem-flags} 参数指定要传递给 @command{gem} 命令的附加标志列表。"

#. type: defvar
#: guix-git/doc/guix.texi:10184
#, fuzzy, no-wrap
msgid "waf-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:10190
#, fuzzy
msgid "This variable is exported by @code{(guix build-system waf)}.  It implements a build procedure around the @code{waf} script.  The common phases---@code{configure}, @code{build}, and @code{install}---are implemented by passing their names as arguments to the @code{waf} script."
msgstr "此变量由 @code{(guix build-system waf)} 导出。它围绕 @code{waf} 脚本实现了构建过程。常见阶段——@code{configure}、@code{build} 和 @code{install}——通过将其名称作为参数传递给 @code{waf} 脚本来实现。"

#. type: defvar
#: guix-git/doc/guix.texi:10194
#, fuzzy
msgid "The @code{waf} script is executed by the Python interpreter.  Which Python package is used to run the script can be specified with the @code{#:python} parameter."
msgstr "@code{waf} 脚本由 Python 解释器执行。可以使用 @code{#:python} 参数指定用于运行脚本的 Python 包。"

#. type: defvar
#: guix-git/doc/guix.texi:10196
#, fuzzy, no-wrap
msgid "zig-build-system"
msgstr "Guix系统"

#. type: defvar
#: guix-git/doc/guix.texi:10200
#, fuzzy
msgid "This variable is exported by @code{(guix build-system zig)}.  It implements the build procedures for the @uref{https://ziglang.org/, Zig} build system (@command{zig build} command)."
msgstr "此变量由 @code{(guix build-system zig)} 导出。它实现了 @uref{https://ziglang.org/, Zig} 构建系统的构建过程(@command{zig build} 命令)。"

#. type: defvar
#: guix-git/doc/guix.texi:10203
#, fuzzy
msgid "Selecting this build system adds @code{zig} to the package inputs, in addition to the packages of @code{gnu-build-system}."
msgstr "选择此构建系统会将 @code{zig} 添加到包输入中,此外还包括 @code{gnu-build-system} 的包。"

#. type: defvar
#: guix-git/doc/guix.texi:10207
#, fuzzy
msgid "This build system by default installs package source to output.  This behavior can be disabled by setting @code{#:install-source?} parameter to @code{#f}."
msgstr "此构建系统默认将包源安装到输出中。可以通过将 @code{#:install-source?} 参数设置为 @code{#f} 来禁用此行为。"

#. type: defvar
#: guix-git/doc/guix.texi:10212
#, fuzzy
msgid "For packages that don't install anything and don't come with a test suite (likely library packages to be used by other Zig packages), you can set @code{#:skip-build?} parameter to @code{#t}, which skips @code{build} and @code{check} phases."
msgstr "对于不安装任何内容且没有测试套件的包(可能是供其他 Zig 包使用的库包),您可以将 @code{#:skip-build?} 参数设置为 @code{#t},这将跳过 @code{build} 和 @code{check} 阶段。"

#. type: defvar
#: guix-git/doc/guix.texi:10216
#, fuzzy
msgid "The @code{configure} phase sets up environment for @command{zig build}.  You need to add custom phases after it if you want to invoke @command{zig}."
msgstr "@code{configure} 阶段为 @command{zig build} 设置环境。如果您想调用 @command{zig},需要在其后添加自定义阶段。"

#. type: defvar
#: guix-git/doc/guix.texi:10222
#, fuzzy
msgid "The @code{#:zig-build-flags} parameter is a list of flags that are passed to @command{zig build} in @code{build} phase.  The @code{#:zig-test-flags} parameter is a list of flags that are passed to @command{zig build test} in @code{check} phase.  The default compiler package can be overridden with the @code{#:zig} parameter."
msgstr "@code{#:zig-build-flags} 参数是传递给 @command{zig build} 的标志列表,在 @code{build} 阶段使用。@code{#:zig-test-flags} 参数是传递给 @command{zig build test} 的标志列表,在 @code{check} 阶段使用。默认编译器包可以通过 @code{#:zig} 参数进行覆盖。"

#. type: defvar
#: guix-git/doc/guix.texi:10228
#, fuzzy
msgid "The optional @code{#:zig-release-type} parameter declares the type of release.  Possible values are: @code{\"safe\"}, @code{\"fast\"}, or @code{\"small\"}.  The default value is @code{#f}, which causes the release flag to be omitted from the @code{zig} command and results in a @code{\"debug\"} build."
msgstr "可选的 @code{#:zig-release-type} 参数声明发布的类型。可能的值有:@code{\"safe\"}, @code{\"fast\"} 或 @code{\"small\"}。默认值是 @code{#f},这会导致在 @code{zig} 命令中省略发布标志,并生成 @code{\"debug\"} 构建。"

#. type: defvar
#: guix-git/doc/guix.texi:10230
#, fuzzy, no-wrap
msgid "scons-build-system"
msgstr "scons-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:10236
#, fuzzy
msgid "This variable is exported by @code{(guix build-system scons)}.  It implements the build procedure used by the SCons software construction tool.  This build system runs @code{scons} to build the package, @code{scons test} to run tests, and then @code{scons install} to install the package."
msgstr "此变量由 @code{(guix build-system scons)} 导出。它实现了 SCons 软件构建工具使用的构建过程。此构建系统运行 @code{scons} 来构建包,运行 @code{scons test} 来进行测试,然后运行 @code{scons install} 来安装包。"

#. type: defvar
#: guix-git/doc/guix.texi:10243
#, fuzzy
msgid "Additional flags to be passed to @code{scons} can be specified with the @code{#:scons-flags} parameter.  The default build and install targets can be overridden with @code{#:build-targets} and @code{#:install-targets} respectively.  The version of Python used to run SCons can be specified by selecting the appropriate SCons package with the @code{#:scons} parameter."
msgstr "可以通过 @code{#:scons-flags} 参数指定要传递给 @code{scons} 的附加标志。默认的构建和安装目标可以分别通过 @code{#:build-targets} 和 @code{#:install-targets} 进行覆盖。用于运行 SCons 的 Python 版本可以通过选择适当的 SCons 包与 @code{#:scons} 参数来指定。"

#. type: defvar
#: guix-git/doc/guix.texi:10245
#, fuzzy, no-wrap
msgid "haskell-build-system"
msgstr "haskell-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:10259
#, fuzzy
msgid "This variable is exported by @code{(guix build-system haskell)}.  It implements the Cabal build procedure used by Haskell packages, which involves running @code{runhaskell Setup.hs configure --prefix=/gnu/store/@dots{}} and @code{runhaskell Setup.hs build}.  Instead of installing the package by running @code{runhaskell Setup.hs install}, to avoid trying to register libraries in the read-only compiler store directory, the build system uses @code{runhaskell Setup.hs copy}, followed by @code{runhaskell Setup.hs register}.  In addition, the build system generates the package documentation by running @code{runhaskell Setup.hs haddock}, unless @code{#:haddock? #f} is passed.  Optional Haddock parameters can be passed with the help of the @code{#:haddock-flags} parameter.  If the file @code{Setup.hs} is not found, the build system looks for @code{Setup.lhs} instead."
msgstr "此变量由 @code{(guix build-system haskell)} 导出。它实现了 Haskell 包使用的 Cabal 构建过程,其中涉及运行 @code{runhaskell Setup.hs configure --prefix=/gnu/store/@dots{}} 和 @code{runhaskell Setup.hs build}。为了避免尝试在只读编译器存储目录中注册库,构建系统使用 @code{runhaskell Setup.hs copy},然后是 @code{runhaskell Setup.hs register},而不是通过运行 @code{runhaskell Setup.hs install} 来安装包。此外,构建系统通过运行 @code{runhaskell Setup.hs haddock} 生成包文档,除非传递了 @code{#:haddock? #f}。可以通过 @code{#:haddock-flags} 参数传递可选的 Haddock 参数。如果未找到文件 @code{Setup.hs},构建系统会查找 @code{Setup.lhs}。"

#. type: defvar
#: guix-git/doc/guix.texi:10262
#, fuzzy
msgid "Which Haskell compiler is used can be specified with the @code{#:haskell} parameter which defaults to @code{ghc}."
msgstr "可以使用 @code{#:haskell} 参数指定使用哪个 Haskell 编译器,默认值为 @code{ghc}。"

#. type: defvar
#: guix-git/doc/guix.texi:10264
#, fuzzy, no-wrap
msgid "dub-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:10269
#, fuzzy
msgid "This variable is exported by @code{(guix build-system dub)}.  It implements the Dub build procedure used by D packages, which involves running @code{dub build} and @code{dub run}.  Installation is done by copying the files manually."
msgstr "该变量由 @code{(guix build-system dub)} 导出。它实现了 D 包使用的 Dub 构建过程,该过程涉及运行 @code{dub build} 和 @code{dub run}。安装是通过手动复制文件完成的。"

#. type: defvar
#: guix-git/doc/guix.texi:10272
#, fuzzy
msgid "Which D compiler is used can be specified with the @code{#:ldc} parameter which defaults to @code{ldc}."
msgstr "可以使用 @code{#:ldc} 参数指定使用哪个 D 编译器,默认值为 @code{ldc}。"

#. type: defvar
#: guix-git/doc/guix.texi:10275
#, fuzzy, no-wrap
msgid "emacs-build-system"
msgstr "emacs-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:10279
#, fuzzy
msgid "This variable is exported by @code{(guix build-system emacs)}.  It implements an installation procedure similar to the packaging system of Emacs itself (@pxref{Packages,,, emacs, The GNU Emacs Manual})."
msgstr "该变量由 @code{(guix build-system emacs)} 导出。它实现了一种类似于 Emacs 本身的打包系统的安装程序 (@pxref{Packages,,, emacs, The GNU Emacs Manual})。"

#. type: defvar
#: guix-git/doc/guix.texi:10285
#, fuzzy
msgid "It first creates the @code{@code{package}-autoloads.el} file, then it byte compiles all Emacs Lisp files.  Differently from the Emacs packaging system, the Info documentation files are moved to the standard documentation directory and the @file{dir} file is deleted.  The Elisp package files are installed directly under @file{share/emacs/site-lisp}."
msgstr "它首先创建 @code{@code{package}-autoloads.el} 文件,然后对所有 Emacs Lisp 文件进行字节编译。与 Emacs 打包系统不同,Info 文档文件被移动到标准文档目录,并且 @file{dir} 文件被删除。Elisp 包文件直接安装在 @file{share/emacs/site-lisp} 下。"

#. type: defvar
#: guix-git/doc/guix.texi:10287
#, fuzzy, no-wrap
msgid "font-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:10293
#, fuzzy
msgid "This variable is exported by @code{(guix build-system font)}.  It implements an installation procedure for font packages where upstream provides pre-compiled TrueType, OpenType, etc.@: font files that merely need to be copied into place.  It copies font files to standard locations in the output directory."
msgstr "该变量由 @code{(guix build-system font)} 导出。它实现了一种字体包的安装程序,其中上游提供预编译的 TrueType、OpenType 等字体文件,只需复制到适当位置即可。它将字体文件复制到输出目录的标准位置。"

#. type: defvar
#: guix-git/doc/guix.texi:10295
#, fuzzy, no-wrap
msgid "meson-build-system"
msgstr "meson-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:10299
#, fuzzy
msgid "This variable is exported by @code{(guix build-system meson)}.  It implements the build procedure for packages that use @url{https://mesonbuild.com, Meson} as their build system."
msgstr "该变量由 @code{(guix build-system meson)} 导出。它实现了使用 @url{https://mesonbuild.com, Meson} 作为其构建系统的包的构建过程。"

#. type: defvar
#: guix-git/doc/guix.texi:10303
#, fuzzy
msgid "It adds both Meson and @uref{https://ninja-build.org/, Ninja} to the set of inputs, and they can be changed with the parameters @code{#:meson} and @code{#:ninja} if needed."
msgstr "它将 Meson 和 @uref{https://ninja-build.org/, Ninja} 添加到输入集合中,并且可以通过参数 @code{#:meson} 和 @code{#:ninja} 进行更改(如有需要)。"

#. type: defvar
#: guix-git/doc/guix.texi:10306
#, fuzzy
msgid "This build system is an extension of @code{gnu-build-system}, but with the following phases changed to some specific for Meson:"
msgstr "该构建系统是 @code{gnu-build-system} 的扩展,但以下阶段已更改为一些特定于 Meson 的内容:"

#. type: table
#: guix-git/doc/guix.texi:10314
#, fuzzy
msgid "The phase runs @code{meson} with the flags specified in @code{#:configure-flags}.  The flag @option{--buildtype} is always set to @code{debugoptimized} unless something else is specified in @code{#:build-type}."
msgstr "该阶段使用 @code{#:configure-flags} 中指定的标志运行 @code{meson}。标志 @option{--buildtype} 始终设置为 @code{debugoptimized},除非在 @code{#:build-type} 中指定了其他内容。"

#. type: table
#: guix-git/doc/guix.texi:10318
#, fuzzy
msgid "The phase runs @code{ninja} to build the package in parallel by default, but this can be changed with @code{#:parallel-build?}."
msgstr "该阶段默认运行 @code{ninja} 以并行构建软件包,但可以通过 @code{#:parallel-build?} 进行更改。"

#. type: table
#: guix-git/doc/guix.texi:10324
#, fuzzy
msgid "The phase runs @samp{meson test} with a base set of options that cannot be overridden.  This base set of options can be extended via the @code{#:test-options} argument, for example to select or skip a specific test suite."
msgstr "该阶段使用 @samp{meson test} 运行一组基本选项,这些选项无法被覆盖。可以通过 @code{#:test-options} 参数扩展这组基本选项,例如选择或跳过特定的测试套件。"

#. type: table
#: guix-git/doc/guix.texi:10327
#, fuzzy
msgid "The phase runs @code{ninja install} and can not be changed."
msgstr "该阶段运行 @code{ninja install},并且无法更改。"

#. type: defvar
#: guix-git/doc/guix.texi:10330
#, fuzzy
msgid "Apart from that, the build system also adds the following phases:"
msgstr "除此之外,构建系统还添加了以下阶段:"

#. type: item
#: guix-git/doc/guix.texi:10333
#, fuzzy, no-wrap
msgid "fix-runpath"
msgstr "修复运行路径"

#. type: table
#: guix-git/doc/guix.texi:10340
#, fuzzy
msgid "This phase ensures that all binaries can find the libraries they need.  It searches for required libraries in subdirectories of the package being built, and adds those to @code{RUNPATH} where needed.  It also removes references to libraries left over from the build phase by @code{meson}, such as test dependencies, that aren't actually required for the program to run."
msgstr "该阶段确保所有二进制文件能够找到所需的库。它在正在构建的软件包的子目录中搜索所需的库,并在需要时将其添加到 @code{RUNPATH} 中。它还会删除 @code{meson} 构建阶段留下的库的引用,例如不实际需要程序运行的测试依赖项。"

#. type: table
#: guix-git/doc/guix.texi:10344 guix-git/doc/guix.texi:10348
#, fuzzy
msgid "This phase is the phase provided by @code{glib-or-gtk-build-system}, and it is not enabled by default.  It can be enabled with @code{#:glib-or-gtk?}."
msgstr "该阶段由 @code{glib-or-gtk-build-system} 提供,默认情况下未启用。可以通过 @code{#:glib-or-gtk?} 启用。"

#. type: defvar
#: guix-git/doc/guix.texi:10351
#, fuzzy, no-wrap
msgid "linux-module-build-system"
msgstr "linux-module-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:10353
#, fuzzy
msgid "@code{linux-module-build-system} allows building Linux kernel modules."
msgstr "@code{linux-module-build-system} 允许构建 Linux 内核模块。"

#. type: defvar
#: guix-git/doc/guix.texi:10357
#, fuzzy
msgid "This build system is an extension of @code{gnu-build-system}, but with the following phases changed:"
msgstr "该构建系统是 @code{gnu-build-system} 的扩展,但以下阶段已更改:"

#. type: table
#: guix-git/doc/guix.texi:10363
#, fuzzy
msgid "This phase configures the environment so that the Linux kernel's Makefile can be used to build the external kernel module."
msgstr "该阶段配置环境,以便可以使用 Linux 内核的 Makefile 来构建外部内核模块。"

#. type: table
#: guix-git/doc/guix.texi:10367
#, fuzzy
msgid "This phase uses the Linux kernel's Makefile in order to build the external kernel module."
msgstr "该阶段使用 Linux 内核的 Makefile 来构建外部内核模块。"

#. type: table
#: guix-git/doc/guix.texi:10371
#, fuzzy
msgid "This phase uses the Linux kernel's Makefile in order to install the external kernel module."
msgstr "该阶段使用 Linux 内核的 Makefile 来安装外部内核模块。"

#. type: defvar
#: guix-git/doc/guix.texi:10376
#, fuzzy
msgid "It is possible and useful to specify the Linux kernel to use for building the module (in the @code{arguments} form of a package using the @code{linux-module-build-system}, use the key @code{#:linux} to specify it)."
msgstr "可以并且有必要指定用于构建模块的 Linux 内核(在使用 @code{linux-module-build-system} 的软件包的 @code{arguments} 形式中,使用键 @code{#:linux} 来指定)。"

#. type: defvar
#: guix-git/doc/guix.texi:10378
#, fuzzy, no-wrap
msgid "node-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:10383
#, fuzzy
msgid "This variable is exported by @code{(guix build-system node)}.  It implements the build procedure used by @uref{https://nodejs.org, Node.js}, which implements an approximation of the @code{npm install} command, followed by an @code{npm test} command."
msgstr "该变量由 @code{(guix build-system node)} 导出。它实现了 @uref{https://nodejs.org, Node.js} 使用的构建过程,该过程实现了 @code{npm install} 命令的近似实现,随后是 @code{npm test} 命令。"

#. type: defvar
#: guix-git/doc/guix.texi:10387
#, fuzzy
msgid "Which Node.js package is used to interpret the @code{npm} commands can be specified with the @code{#:node} parameter which defaults to @code{node}."
msgstr "用于解释 @code{npm} 命令的 Node.js 包可以通过 @code{#:node} 参数指定,默认值为 @code{node}。"

#. type: defvar
#: guix-git/doc/guix.texi:10389
#, fuzzy, no-wrap
msgid "tree-sitter-build-system"
msgstr "构建系统"

#. type: defvar
#: guix-git/doc/guix.texi:10397
#, fuzzy
msgid "This variable is exported by @code{(guix build-system tree-sitter)}.  It implements procedures to compile grammars for the @url{https://tree-sitter.github.io/tree-sitter/, Tree-sitter} parsing library.  It essentially runs @code{tree-sitter generate} to translate @code{grammar.js} grammars to JSON and then to C.  Which it then compiles to native code."
msgstr "此变量由 @code{(guix build-system tree-sitter)} 导出。它实现了编译 @url{https://tree-sitter.github.io/tree-sitter/, Tree-sitter} 解析库语法的过程。它基本上运行 @code{tree-sitter generate} 将 @code{grammar.js} 语法转换为 JSON,然后转换为 C。然后它将其编译为本地代码。"

#. type: defvar
#: guix-git/doc/guix.texi:10401
#, fuzzy
msgid "Tree-sitter packages may support multiple grammars, so this build system supports a @code{#:grammar-directories} keyword to specify a list of locations where a @code{grammar.js} file may be found."
msgstr "Tree-sitter 包可能支持多个语法,因此此构建系统支持 @code{#:grammar-directories} 关键字,以指定可能找到 @code{grammar.js} 文件的位置列表。"

#. type: defvar
#: guix-git/doc/guix.texi:10405
#, fuzzy
msgid "Grammars sometimes depend on each other, such as C++ depending on C and TypeScript depending on JavaScript.  You may use inputs to declare such dependencies."
msgstr "语法有时相互依赖,例如 C++ 依赖于 C,TypeScript 依赖于 JavaScript。您可以使用输入来声明这样的依赖关系。"

#. type: Plain text
#: guix-git/doc/guix.texi:10412
#, fuzzy
msgid "Lastly, for packages that do not need anything as sophisticated, a ``trivial'' build system is provided.  It is trivial in the sense that it provides basically no support: it does not pull any implicit inputs, and does not have a notion of build phases."
msgstr "最后,对于不需要任何复杂功能的包,提供了一个“微不足道”的构建系统。它在本质上是微不足道的,因为它基本上不提供任何支持:它不拉取任何隐式输入,也没有构建阶段的概念。"

#. type: defvar
#: guix-git/doc/guix.texi:10413
#, fuzzy, no-wrap
msgid "trivial-build-system"
msgstr "trivial-build-system"

#. type: defvar
#: guix-git/doc/guix.texi:10415
#, fuzzy
msgid "This variable is exported by @code{(guix build-system trivial)}."
msgstr "此变量由 @code{(guix build-system trivial)} 导出。"

#. type: defvar
#: guix-git/doc/guix.texi:10420
#, fuzzy
msgid "This build system requires a @code{#:builder} argument.  This argument must be a Scheme expression that builds the package output(s)---as with @code{build-expression->derivation} (@pxref{Derivations, @code{build-expression->derivation}})."
msgstr "此构建系统需要一个 @code{#:builder} 参数。此参数必须是一个构建包输出的 Scheme 表达式——就像 @code{build-expression->derivation} 一样 (@pxref{Derivations, @code{build-expression->derivation}})。"

#. type: defvar
#: guix-git/doc/guix.texi:10422
#, fuzzy, no-wrap
msgid "channel-build-system"
msgstr "通道"

#. type: defvar
#: guix-git/doc/guix.texi:10424
#, fuzzy
msgid "This variable is exported by @code{(guix build-system channel)}."
msgstr "此变量由 @code{(guix build-system channel)} 导出。"

#. type: defvar
#: guix-git/doc/guix.texi:10430
#, fuzzy
msgid "This build system is meant primarily for internal use.  A package using this build system must have a channel specification as its @code{source} field (@pxref{Channels}); alternatively, its source can be a directory name, in which case an additional @code{#:commit} argument must be supplied to specify the commit being built (a hexadecimal string)."
msgstr "此构建系统主要用于内部使用。使用此构建系统的包必须在其 @code{source} 字段中具有通道规范 (@pxref{Channels});或者,其源可以是目录名称,在这种情况下,必须提供额外的 @code{#:commit} 参数以指定正在构建的提交(十六进制字符串)。"

#. type: defvar
#: guix-git/doc/guix.texi:10433
#, fuzzy
msgid "Optionally, a @code{#:channels} argument specifying additional channels can be provided."
msgstr "可选地,可以提供一个 @code{#:channels} 参数以指定额外的通道。"

#. type: defvar
#: guix-git/doc/guix.texi:10436
#, fuzzy
msgid "The resulting package is a Guix instance of the given channel(s), similar to how @command{guix time-machine} would build it."
msgstr "生成的包是给定通道的 Guix 实例,类似于 @command{guix time-machine} 将其构建的方式。"

#. type: cindex
#: guix-git/doc/guix.texi:10441
#, fuzzy, no-wrap
msgid "build phases, for packages"
msgstr "Python软件包的输入"

#. type: Plain text
#: guix-git/doc/guix.texi:10447
#, fuzzy
msgid "Almost all package build systems implement a notion @dfn{build phases}: a sequence of actions that the build system executes, when you build the package, leading to the installed byproducts in the store.  A notable exception is the ``bare-bones'' @code{trivial-build-system} (@pxref{Build Systems})."
msgstr "几乎所有的包构建系统都实现了 @dfn{构建阶段} 的概念:一系列在构建包时构建系统执行的操作,导致存储中的已安装副产品。一个显著的例外是“基本”的 @code{trivial-build-system} (@pxref{Build Systems})。"

#. type: Plain text
#: guix-git/doc/guix.texi:10451
#, fuzzy
msgid "As discussed in the previous section, those build systems provide a standard list of phases.  For @code{gnu-build-system}, the main build phases are the following:"
msgstr "如前一节所讨论的,这些构建系统提供了一系列标准的阶段。对于 @code{gnu-build-system},主要构建阶段如下:"

#. type: item
#: guix-git/doc/guix.texi:10453
#, fuzzy, no-wrap
msgid "set-paths"
msgstr "设置路径"

#. type: table
#: guix-git/doc/guix.texi:10456
#, fuzzy
msgid "Define search path environment variables for all the input packages, including @env{PATH} (@pxref{Search Paths})."
msgstr "为所有输入包定义搜索路径环境变量,包括 @env{PATH} (@pxref{搜索路径})。"

#. type: table
#: guix-git/doc/guix.texi:10461
#, fuzzy
msgid "Unpack the source tarball, and change the current directory to the extracted source tree.  If the source is actually a directory, copy it to the build tree, and enter that directory."
msgstr "解压源代码压缩包,并将当前目录更改为提取的源代码树。如果源代码实际上是一个目录,则将其复制到构建树中,并进入该目录。"

#. type: item
#: guix-git/doc/guix.texi:10462
#, fuzzy, no-wrap
msgid "patch-source-shebangs"
msgstr "修补源代码的 shebang"

#. type: table
#: guix-git/doc/guix.texi:10466
#, fuzzy
msgid "Patch shebangs encountered in source files so they refer to the right store file names.  For instance, this changes @code{#!/bin/sh} to @code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}."
msgstr "修补源文件中遇到的 shebang,使其指向正确的存储文件名。例如,这将 @code{#!/bin/sh} 更改为 @code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}。"

#. type: table
#: guix-git/doc/guix.texi:10471
#, fuzzy
msgid "Run the @file{configure} script with a number of default options, such as @option{--prefix=/gnu/store/@dots{}}, as well as the options specified by the @code{#:configure-flags} argument."
msgstr "使用一些默认选项运行 @file{configure} 脚本,例如 @option{--prefix=/gnu/store/@dots{}},以及 @code{#:configure-flags} 参数指定的选项。"

#. type: table
#: guix-git/doc/guix.texi:10476
#, fuzzy
msgid "Run @code{make} with the list of flags specified with @code{#:make-flags}.  If the @code{#:parallel-build?} argument is true (the default), build with @code{make -j}."
msgstr "使用 @code{#:make-flags} 指定的标志列表运行 @code{make}。如果 @code{#:parallel-build?} 参数为真(默认值),则使用 @code{make -j} 进行构建。"

#. type: table
#: guix-git/doc/guix.texi:10482
#, fuzzy
msgid "Run @code{make check}, or some other target specified with @code{#:test-target}, unless @code{#:tests? #f} is passed.  If the @code{#:parallel-tests?} argument is true (the default), run @code{make check -j}."
msgstr "运行 @code{make check},或使用 @code{#:test-target} 指定的其他目标,除非传递了 @code{#:tests? #f}。如果 @code{#:parallel-tests?} 参数为真(默认值),则运行 @code{make check -j}。"

#. type: table
#: guix-git/doc/guix.texi:10485
#, fuzzy
msgid "Run @code{make install} with the flags listed in @code{#:make-flags}."
msgstr "使用 @code{#:make-flags} 中列出的标志运行 @code{make install}。"

#. type: item
#: guix-git/doc/guix.texi:10486
#, fuzzy, no-wrap
msgid "patch-shebangs"
msgstr "修补 shebang"

#. type: table
#: guix-git/doc/guix.texi:10488
#, fuzzy
msgid "Patch shebangs on the installed executable files."
msgstr "修补已安装的可执行文件中的 shebang。"

#. type: item
#: guix-git/doc/guix.texi:10489
#, fuzzy, no-wrap
msgid "strip"
msgstr "剥离"

#. type: table
#: guix-git/doc/guix.texi:10493
#, fuzzy
msgid "Strip debugging symbols from ELF files (unless @code{#:strip-binaries?} is false), copying them to the @code{debug} output when available (@pxref{Installing Debugging Files})."
msgstr "从 ELF 文件中剥离调试符号(除非 @code{#:strip-binaries?} 为假),在可用时将其复制到 @code{debug} 输出中 (@pxref{安装调试文件})。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:10496
#, fuzzy
msgid "phase-validate-runpath"
msgstr "阶段验证运行路径"

#. type: item
#: guix-git/doc/guix.texi:10496
#, fuzzy, no-wrap
msgid "validate-runpath"
msgstr "验证运行路径"

#. type: table
#: guix-git/doc/guix.texi:10499
#, fuzzy
msgid "Validate the @code{RUNPATH} of ELF binaries, unless @code{#:validate-runpath?} is false (@pxref{Build Systems})."
msgstr "验证 ELF 二进制文件的 @code{RUNPATH},除非 @code{#:validate-runpath?} 为假 (@pxref{构建系统})。"

#. type: table
#: guix-git/doc/guix.texi:10507
#, fuzzy
msgid "This validation step consists in making sure that all the shared libraries needed by an ELF binary, which are listed as @code{DT_NEEDED} entries in its @code{PT_DYNAMIC} segment, appear in the @code{DT_RUNPATH} entry of that binary.  In other words, it ensures that running or using those binaries will not result in a ``file not found'' error at run time.  @xref{Options, @option{-rpath},, ld, The GNU Linker}, for more information on @code{RUNPATH}."
msgstr "此验证步骤确保 ELF 二进制文件所需的所有共享库,这些库在其 @code{PT_DYNAMIC} 段中列为 @code{DT_NEEDED} 条目,出现在该二进制文件的 @code{DT_RUNPATH} 条目中。换句话说,它确保运行或使用这些二进制文件不会在运行时导致“找不到文件”错误。有关 @code{RUNPATH} 的更多信息,请参见 @xref{选项, @option{-rpath},, ld, GNU 链接器}。"

#. type: Plain text
#: guix-git/doc/guix.texi:10517
#, fuzzy
msgid "Other build systems have similar phases, with some variations.  For example, @code{cmake-build-system} has same-named phases but its @code{configure} phases runs @code{cmake} instead of @code{./configure}.  Others, such as @code{python-build-system}, have a wholly different list of standard phases.  All this code runs on the @dfn{build side}: it is evaluated when you actually build the package, in a dedicated build process spawned by the build daemon (@pxref{Invoking guix-daemon})."
msgstr "其他构建系统有类似的阶段,但有一些变化。例如,@code{cmake-build-system}有同名的阶段,但其@code{configure}阶段运行@code{cmake}而不是@code{./configure}。其他系统,如@code{python-build-system},则有完全不同的标准阶段列表。所有这些代码在@dfn{构建端}上运行:它在您实际构建包时进行评估,在构建守护进程生成的专用构建过程中运行(@pxref{Invoking guix-daemon})。"

#. type: Plain text
#: guix-git/doc/guix.texi:10524
#, fuzzy
msgid "Build phases are represented as association lists or ``alists'' (@pxref{Association Lists,,, guile, GNU Guile Reference Manual}) where each key is a symbol for the name of the phase and the associated value is a procedure that accepts an arbitrary number of arguments.  By convention, those procedures receive information about the build in the form of @dfn{keyword parameters}, which they can use or ignore."
msgstr "构建阶段表示为关联列表或“alists”(@pxref{Association Lists,,, guile, GNU Guile Reference Manual}),其中每个键是阶段名称的符号,相关值是一个接受任意数量参数的过程。根据惯例,这些过程接收关于构建的信息,形式为@dfn{关键字参数},它们可以使用或忽略这些参数。"

#. type: vindex
#: guix-git/doc/guix.texi:10525
#, fuzzy, no-wrap
msgid "%standard-phases"
msgstr "%standard-phases"

#. type: Plain text
#: guix-git/doc/guix.texi:10531
#, fuzzy
msgid "For example, here is how @code{(guix build gnu-build-system)} defines @code{%standard-phases}, the variable holding its alist of build phases@footnote{We present a simplified view of those build phases, but do take a look at @code{(guix build gnu-build-system)} to see all the details!}:"
msgstr "例如,以下是@code{(guix build gnu-build-system)}如何定义@code{%standard-phases},该变量保存其构建阶段的alist@footnote{我们展示了这些构建阶段的简化视图,但请查看@code{(guix build gnu-build-system)}以查看所有细节!}:"

#. type: lisp
#: guix-git/doc/guix.texi:10534
#, fuzzy, no-wrap
msgid ""
";; The build phases of 'gnu-build-system'.\n"
"\n"
msgstr ""
";; 'gnu-build-system'的构建阶段。\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10538
#, fuzzy, no-wrap
msgid ""
"(define* (unpack #:key source #:allow-other-keys)\n"
"  ;; Extract the source tarball.\n"
"  (invoke \"tar\" \"xvf\" source))\n"
"\n"
msgstr ""
"(define* (unpack #:key source #:allow-other-keys)\n"
"  ;; 提取源tar包。\n"
"  (invoke \"tar\" \"xvf\" source))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10544
#, fuzzy, no-wrap
msgid ""
"(define* (configure #:key outputs #:allow-other-keys)\n"
"  ;; Run the 'configure' script.  Install to output \"out\".\n"
"  (let ((out (assoc-ref outputs \"out\")))\n"
"    (invoke \"./configure\"\n"
"            (string-append \"--prefix=\" out))))\n"
"\n"
msgstr ""
"(define* (configure #:key outputs #:allow-other-keys)\n"
"  ;; 运行'configure'脚本。安装到输出“out”。\n"
"  (let ((out (assoc-ref outputs \"out\")))\n"
"    (invoke \"./configure\"\n"
"            (string-append \"--prefix=\" out))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10548
#, fuzzy, no-wrap
msgid ""
"(define* (build #:allow-other-keys)\n"
"  ;; Compile.\n"
"  (invoke \"make\"))\n"
"\n"
msgstr ""
"(define* (build #:allow-other-keys)\n"
"  ;; 编译。\n"
"  (invoke \"make\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10555
#, fuzzy, no-wrap
msgid ""
"(define* (check #:key (test-target \"check\") (tests? #true)\n"
"                #:allow-other-keys)\n"
"  ;; Run the test suite.\n"
"  (if tests?\n"
"      (invoke \"make\" test-target)\n"
"      (display \"test suite not run\\n\")))\n"
"\n"
msgstr ""
"(define* (check #:key (test-target \"check\") (tests? #true)\n"
"                #:allow-other-keys)\n"
"  ;; 运行测试套件。\n"
"  (if tests?\n"
"      (invoke \"make\" test-target)\n"
"      (display \"测试套件未运行\\n\")))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10559
#, fuzzy, no-wrap
msgid ""
"(define* (install #:allow-other-keys)\n"
"  ;; Install files to the prefix 'configure' specified.\n"
"  (invoke \"make\" \"install\"))\n"
"\n"
msgstr ""
"(define* (install #:allow-other-keys)\n"
"  ;; 将文件安装到'configure'指定的前缀。\n"
"  (invoke \"make\" \"install\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10568
#, fuzzy, no-wrap
msgid ""
"(define %standard-phases\n"
"  ;; The list of standard phases (quite a few are omitted\n"
"  ;; for brevity).  Each element is a symbol/procedure pair.\n"
"  (list (cons 'unpack unpack)\n"
"        (cons 'configure configure)\n"
"        (cons 'build build)\n"
"        (cons 'check check)\n"
"        (cons 'install install)))\n"
msgstr ""
"(define %standard-phases\n"
"  ;; 标准阶段的列表(省略了相当多以简化)。每个元素是一个符号/过程对。\n"
"  (list (cons 'unpack unpack)\n"
"        (cons 'configure configure)\n"
"        (cons 'build build)\n"
"        (cons 'check check)\n"
"        (cons 'install install)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:10578
#, fuzzy
msgid "This shows how @code{%standard-phases} is defined as a list of symbol/procedure pairs (@pxref{Pairs,,, guile, GNU Guile Reference Manual}).  The first pair associates the @code{unpack} procedure with the @code{unpack} symbol---a name; the second pair defines the @code{configure} phase similarly, and so on.  When building a package that uses @code{gnu-build-system} with its default list of phases, those phases are executed sequentially.  You can see the name of each phase started and completed in the build log of packages that you build."
msgstr "这显示了 @code{%standard-phases} 如何被定义为符号/过程对的列表 (@pxref{Pairs,,, guile, GNU Guile Reference Manual})。第一个对将 @code{unpack} 过程与 @code{unpack} 符号关联——一个名称;第二个对类似地定义了 @code{configure} 阶段,依此类推。当构建一个使用 @code{gnu-build-system} 的包时,使用其默认的阶段列表,这些阶段将按顺序执行。您可以在您构建的包的构建日志中看到每个阶段的开始和完成名称。"

#. type: Plain text
#: guix-git/doc/guix.texi:10584
#, fuzzy
msgid "Let's now look at the procedures themselves.  Each one is defined with @code{define*}: @code{#:key} lists keyword parameters the procedure accepts, possibly with a default value, and @code{#:allow-other-keys} specifies that other keyword parameters are ignored (@pxref{Optional Arguments,,, guile, GNU Guile Reference Manual})."
msgstr "现在让我们看看这些过程。每个过程都是用 @code{define*} 定义的:@code{#:key} 列出过程接受的关键字参数,可能带有默认值,@code{#:allow-other-keys} 指定其他关键字参数被忽略 (@pxref{Optional Arguments,,, guile, GNU Guile Reference Manual})。"

#. type: Plain text
#: guix-git/doc/guix.texi:10600
#, fuzzy
msgid "The @code{unpack} procedure honors the @code{source} parameter, which the build system uses to pass the file name of the source tarball (or version control checkout), and it ignores other parameters.  The @code{configure} phase only cares about the @code{outputs} parameter, an alist mapping package output names to their store file name (@pxref{Packages with Multiple Outputs}).  It extracts the file name of for @code{out}, the default output, and passes it to @command{./configure} as the installation prefix, meaning that @command{make install} will eventually copy all the files in that directory (@pxref{Configuration, configuration and makefile conventions,, standards, GNU Coding Standards}).  @code{build} and @code{install} ignore all their arguments.  @code{check} honors the @code{test-target} argument, which specifies the name of the Makefile target to run tests; it prints a message and skips tests when @code{tests?} is false."
msgstr "@code{unpack} 过程尊重 @code{source} 参数,构建系统使用该参数传递源 tarball(或版本控制检出)的文件名,并忽略其他参数。@code{configure} 阶段只关心 @code{outputs} 参数,这是一个将包输出名称映射到其存储文件名的关联列表 (@pxref{Packages with Multiple Outputs})。它提取 @code{out} 的文件名,即默认输出,并将其作为安装前缀传递给 @command{./configure},这意味着 @command{make install} 最终会复制该目录中的所有文件 (@pxref{Configuration, configuration and makefile conventions,, standards, GNU Coding Standards})。@code{build} 和 @code{install} 忽略它们的所有参数。@code{check} 尊重 @code{test-target} 参数,该参数指定要运行测试的 Makefile 目标的名称;当 @code{tests?} 为假时,它会打印一条消息并跳过测试。"

#. type: cindex
#: guix-git/doc/guix.texi:10601
#, fuzzy, no-wrap
msgid "build phases, customizing"
msgstr "构建阶段,自定义"

#. type: Plain text
#: guix-git/doc/guix.texi:10610
#, fuzzy
msgid "The list of phases used for a particular package can be changed with the @code{#:phases} parameter of the build system.  Changing the set of build phases boils down to building a new alist of phases based on the @code{%standard-phases} alist described above.  This can be done with standard alist procedures such as @code{alist-delete} (@pxref{SRFI-1 Association Lists,,, guile, GNU Guile Reference Manual}); however, it is more convenient to do so with @code{modify-phases} (@pxref{Build Utilities, @code{modify-phases}})."
msgstr "特定包使用的阶段列表可以通过构建系统的 @code{#:phases} 参数进行更改。更改构建阶段的集合归结为基于上述 @code{%standard-phases} 关联列表构建一个新的关联列表。这可以通过标准的关联列表过程如 @code{alist-delete} 完成 (@pxref{SRFI-1 Association Lists,,, guile, GNU Guile Reference Manual});然而,使用 @code{modify-phases} 更为方便 (@pxref{Build Utilities, @code{modify-phases}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:10615
#, fuzzy
msgid "Here is an example of a package definition that removes the @code{configure} phase of @code{%standard-phases} and inserts a new phase before the @code{build} phase, called @code{set-prefix-in-makefile}:"
msgstr "这是一个包定义的示例,它移除了@code{configure}阶段的@code{%standard-phases},并在@code{build}阶段之前插入了一个新的阶段,称为@code{set-prefix-in-makefile}:"

#. type: lisp
#: guix-git/doc/guix.texi:10639
#, fuzzy, no-wrap
msgid ""
"(define-public example\n"
"  (package\n"
"    (name \"example\")\n"
"    ;; other fields omitted\n"
"    (build-system gnu-build-system)\n"
"    (arguments\n"
"     (list\n"
"      #:phases\n"
"      #~(modify-phases %standard-phases\n"
"          (delete 'configure)\n"
"          (add-before 'build 'set-prefix-in-makefile\n"
"            (lambda* (#:key inputs #:allow-other-keys)\n"
"              ;; Modify the makefile so that its\n"
"              ;; 'PREFIX' variable points to #$output and\n"
"              ;; 'XMLLINT' points to the correct path.\n"
"              (substitute* \"Makefile\"\n"
"                ((\"PREFIX =.*\")\n"
"                 (string-append \"PREFIX = \" #$output \"\\n\"))\n"
"                ((\"XMLLINT =.*\")\n"
"                 (string-append \"XMLLINT = \"\n"
"                                (search-input-file inputs \"/bin/xmllint\")\n"
"                                \"\\n\"))))))))))\n"
msgstr ""
"(define-public example\n"
"  (package\n"
"    (name \"example\")\n"
"    ;; 其他字段省略\n"
"    (build-system gnu-build-system)\n"
"    (arguments\n"
"     (list\n"
"      #:phases\n"
"      #~(modify-phases %standard-phases\n"
"          (delete 'configure)\n"
"          (add-before 'build 'set-prefix-in-makefile\n"
"            (lambda* (#:key inputs #:allow-other-keys)\n"
"              ;; 修改makefile,使其\n"
"              ;; 'PREFIX'变量指向#$output,并且\n"
"              ;; 'XMLLINT'指向正确的路径。\n"
"              (substitute* \"Makefile\"\n"
"                ((\"PREFIX =.*\")\n"
"                 (string-append \"PREFIX = \" #$output \"\\n\"))\n"
"                ((\"XMLLINT =.*\")\n"
"                 (string-append \"XMLLINT = \"\n"
"                                (search-input-file inputs \"/bin/xmllint\")\n"
"                                \"\\n\"))))))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:10648
#, fuzzy
msgid "The new phase that is inserted is written as an anonymous procedure, introduced with @code{lambda*}; it looks for the @file{xmllint} executable under a @file{/bin} directory among the package's inputs (@pxref{package Reference}).  It also honors the @code{outputs} parameter we have seen before.  @xref{Build Utilities}, for more about the helpers used by this phase, and for more examples of @code{modify-phases}."
msgstr "插入的新阶段被写成一个匿名过程,以@code{lambda*}引入;它在包的输入中查找@file{xmllint}可执行文件,位于@file{/bin}目录下(@pxref{package Reference})。它还遵循我们之前看到的@code{outputs}参数。有关此阶段使用的助手的更多信息,请参见@xref{Build Utilities},以及更多@code{modify-phases}的示例。"

#. type: quotation
#: guix-git/doc/guix.texi:10652
#, fuzzy
msgid "You can inspect the code associated with a package's @code{#:phases} argument interactively, at the REPL (@pxref{Using Guix Interactively})."
msgstr "您可以在REPL中交互式地检查与包的@code{#:phases}参数相关的代码(@pxref{Using Guix Interactively})。"

#. type: cindex
#: guix-git/doc/guix.texi:10654 guix-git/doc/guix.texi:12020
#, fuzzy, no-wrap
msgid "code staging"
msgstr "代码分阶段"

#. type: cindex
#: guix-git/doc/guix.texi:10655 guix-git/doc/guix.texi:12021
#, fuzzy, no-wrap
msgid "staging, of code"
msgstr "代码格式化"

#. type: Plain text
#: guix-git/doc/guix.texi:10662
#, fuzzy
msgid "Keep in mind that build phases are code evaluated at the time the package is actually built.  This explains why the whole @code{modify-phases} expression above is quoted (it comes after the @code{#~} or hash-tilde): it is @dfn{staged} for later execution.  @xref{G-Expressions}, for an explanation of code staging and the @dfn{code strata} involved."
msgstr "请记住,构建阶段是在实际构建包时评估的代码。这解释了为什么上面的整个@code{modify-phases}表达式被引用(它在@code{#~}或哈希波浪符之后):它是@dfn{分阶段}以便稍后执行。有关代码分阶段和涉及的@dfn{代码层次}的解释,请参见@xref{G-Expressions}。"

#. type: Plain text
#: guix-git/doc/guix.texi:10672
#, fuzzy
msgid "As soon as you start writing non-trivial package definitions (@pxref{Defining Packages}) or other build actions (@pxref{G-Expressions}), you will likely start looking for helpers for ``shell-like'' actions---creating directories, copying and deleting files recursively, manipulating build phases, and so on.  The @code{(guix build utils)} module provides such utility procedures."
msgstr "一旦您开始编写非平凡的包定义(@pxref{Defining Packages})或其他构建操作(@pxref{G-Expressions}),您可能会开始寻找“类似shell”的操作的助手——创建目录、递归复制和删除文件、操纵构建阶段等等。@code{(guix build utils)}模块提供了这样的实用程序过程。"

#. type: Plain text
#: guix-git/doc/guix.texi:10676
#, fuzzy
msgid "Most build systems load @code{(guix build utils)} (@pxref{Build Systems}).  Thus, when writing custom build phases for your package definitions, you can usually assume those procedures are in scope."
msgstr "大多数构建系统加载 @code{(guix build utils)} (@pxref{Build Systems})。因此,在为您的包定义编写自定义构建阶段时,您通常可以假设这些过程在作用域内。"

#. type: Plain text
#: guix-git/doc/guix.texi:10681
#, fuzzy
msgid "When writing G-expressions, you can import @code{(guix build utils)} on the ``build side'' using @code{with-imported-modules} and then put it in scope with the @code{use-modules} form (@pxref{Using Guile Modules,,, guile, GNU Guile Reference Manual}):"
msgstr "在编写 G 表达式时,您可以在“构建侧”使用 @code{with-imported-modules} 导入 @code{(guix build utils)},然后通过 @code{use-modules} 形式将其放入作用域 (@pxref{Using Guile Modules,,, guile, GNU Guile Reference Manual}):"

#. type: lisp
#: guix-git/doc/guix.texi:10688
#, fuzzy, no-wrap
msgid ""
"(with-imported-modules '((guix build utils))  ;import it\n"
"  (computed-file \"empty-tree\"\n"
"                 #~(begin\n"
"                     ;; Put it in scope.\n"
"                     (use-modules (guix build utils))\n"
"\n"
msgstr ""
"(with-imported-modules '((guix build utils))  ;导入它\n"
"  (computed-file \"empty-tree\"\n"
"                 #~(begin\n"
"                     ;; 将其放入作用域。\n"
"                     (use-modules (guix build utils))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10691
#, fuzzy, no-wrap
msgid ""
"                     ;; Happily use its 'mkdir-p' procedure.\n"
"                     (mkdir-p (string-append #$output \"/a/b/c\")))))\n"
msgstr ""
"                     ;; 快乐地使用它的 'mkdir-p' 过程。\n"
"                     (mkdir-p (string-append #$output \"/a/b/c\")))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:10695
#, fuzzy
msgid "The remainder of this section is the reference for most of the utility procedures provided by @code{(guix build utils)}."
msgstr "本节的其余部分是 @code{(guix build utils)} 提供的大多数实用程序过程的参考。"

#. type: subsection
#: guix-git/doc/guix.texi:10698
#, fuzzy, no-wrap
msgid "Dealing with Store File Names"
msgstr "处理存储文件名"

#. type: Plain text
#: guix-git/doc/guix.texi:10701
#, fuzzy
msgid "This section documents procedures that deal with store file names."
msgstr "本节记录了处理存储文件名的过程。"

#. type: deffn
#: guix-git/doc/guix.texi:10702
#, fuzzy, no-wrap
msgid "{Procedure} %store-directory"
msgstr "状态文件夹"

#. type: deffn
#: guix-git/doc/guix.texi:10704
#, fuzzy
msgid "Return the directory name of the store."
msgstr "仓库的纯函数式接口。"

#. type: deffn
#: guix-git/doc/guix.texi:10706
#, fuzzy, no-wrap
msgid "{Procedure} store-file-name? file"
msgstr "通道"

#. type: deffn
#: guix-git/doc/guix.texi:10708
#, fuzzy
msgid "Return true if @var{file} is in the store."
msgstr "如果 @var{file} 在存储中,则返回 true。"

#. type: deffn
#: guix-git/doc/guix.texi:10710
#, fuzzy, no-wrap
msgid "{Procedure} strip-store-file-name file"
msgstr "通道"

#. type: deffn
#: guix-git/doc/guix.texi:10713
#, fuzzy
msgid "Strip the @file{/gnu/store} and hash from @var{file}, a store file name.  The result is typically a @code{\"@var{package}-@var{version}\"} string."
msgstr "从 @var{file} 中去掉 @file{/gnu/store} 和哈希,@var{file} 是一个存储文件名。结果通常是一个 @code{\"@var{package}-@var{version}\"} 字符串。"

#. type: deffn
#: guix-git/doc/guix.texi:10715
#, fuzzy, no-wrap
msgid "{Procedure} package-name->name+version name"
msgstr "软件包版本"

#. type: deffn
#: guix-git/doc/guix.texi:10720
#, fuzzy
msgid "Given @var{name}, a package name like @code{\"foo-0.9.1b\"}, return two values: @code{\"foo\"} and @code{\"0.9.1b\"}.  When the version part is unavailable, @var{name} and @code{#f} are returned.  The first hyphen followed by a digit is considered to introduce the version part."
msgstr "给定 @var{name},一个像 @code{\"foo-0.9.1b\"} 的包名,返回两个值:@code{\"foo\"} 和 @code{\"0.9.1b\"}。当版本部分不可用时,返回 @var{name} 和 @code{#f}。第一个后跟数字的连字符被视为引入版本部分。"

#. type: subsection
#: guix-git/doc/guix.texi:10722
#, fuzzy, no-wrap
msgid "File Types"
msgstr "文件系统"

#. type: Plain text
#: guix-git/doc/guix.texi:10725
#, fuzzy
msgid "The procedures below deal with files and file types."
msgstr "下面的过程处理文件和文件类型。"

#. type: deffn
#: guix-git/doc/guix.texi:10726
#, fuzzy, no-wrap
msgid "{Procedure} directory-exists? dir"
msgstr "状态文件夹"

#. type: deffn
#: guix-git/doc/guix.texi:10728
#, fuzzy
msgid "Return @code{#t} if @var{dir} exists and is a directory."
msgstr "如果 @var{dir} 存在并且是一个目录,则返回 @code{#t}。"

#. type: deffn
#: guix-git/doc/guix.texi:10730
#, fuzzy, no-wrap
msgid "{Procedure} executable-file? file"
msgstr "{过程} executable-file? file"

#. type: deffn
#: guix-git/doc/guix.texi:10732
#, fuzzy
msgid "Return @code{#t} if @var{file} exists and is executable."
msgstr "如果 @var{file} 存在并且是可执行的,则返回 @code{#t}。"

#. type: deffn
#: guix-git/doc/guix.texi:10734
#, fuzzy, no-wrap
msgid "{Procedure} symbolic-link? file"
msgstr "{过程} symbolic-link? file"

#. type: deffn
#: guix-git/doc/guix.texi:10736
#, fuzzy
msgid "Return @code{#t} if @var{file} is a symbolic link (aka. a ``symlink'')."
msgstr "如果 @var{file} 是符号链接(即“symlink”),则返回 @code{#t}。"

#. type: deffn
#: guix-git/doc/guix.texi:10738
#, fuzzy, no-wrap
msgid "{Procedure} elf-file? file"
msgstr "{过程} elf-file? file"

#. type: deffnx
#: guix-git/doc/guix.texi:10739
#, fuzzy, no-wrap
msgid "{Procedure} ar-file? file"
msgstr "通道"

#. type: deffnx
#: guix-git/doc/guix.texi:10740
#, fuzzy, no-wrap
msgid "{Procedure} gzip-file? file"
msgstr "{过程} gzip-file? file"

#. type: deffn
#: guix-git/doc/guix.texi:10743
#, fuzzy
msgid "Return @code{#t} if @var{file} is, respectively, an ELF file, an @code{ar} archive (such as a @file{.a} static library), or a gzip file."
msgstr "如果 @var{file} 分别是 ELF 文件、@code{ar} 存档(例如 @file{.a} 静态库)或 gzip 文件,则返回 @code{#t}。"

#. type: deffn
#: guix-git/doc/guix.texi:10745
#, fuzzy, no-wrap
msgid "{Procedure} reset-gzip-timestamp file [#:keep-mtime? #t]"
msgstr "{过程} reset-gzip-timestamp file [#:keep-mtime? #t]"

#. type: deffn
#: guix-git/doc/guix.texi:10749
#, fuzzy
msgid "If @var{file} is a gzip file, reset its embedded timestamp (as with @command{gzip --no-name}) and return true.  Otherwise return @code{#f}.  When @var{keep-mtime?} is true, preserve @var{file}'s modification time."
msgstr "如果 @var{file} 是一个 gzip 文件,则重置其嵌入的时间戳(如 @command{gzip --no-name}),并返回 true。否则返回 @code{#f}。当 @var{keep-mtime?} 为 true 时,保留 @var{file} 的修改时间。"

#. type: subsection
#: guix-git/doc/guix.texi:10751
#, fuzzy, no-wrap
msgid "File Manipulation"
msgstr "文件操作"

#. type: Plain text
#: guix-git/doc/guix.texi:10758
#, fuzzy
msgid "The following procedures and macros help create, modify, and delete files.  They provide functionality comparable to common shell utilities such as @command{mkdir -p}, @command{cp -r}, @command{rm -r}, and @command{sed}.  They complement Guile's extensive, but low-level, file system interface (@pxref{POSIX,,, guile, GNU Guile Reference Manual})."
msgstr "以下过程和宏有助于创建、修改和删除文件。它们提供的功能与常见的 shell 工具(如 @command{mkdir -p}、@command{cp -r}、@command{rm -r} 和 @command{sed})相当。它们补充了 Guile 的广泛但低级的文件系统接口(@pxref{POSIX,,, guile, GNU Guile Reference Manual})。"

#. type: defmac
#: guix-git/doc/guix.texi:10759
#, fuzzy, no-wrap
msgid "with-directory-excursion directory body @dots{}"
msgstr "with-directory-excursion 目录 体 @dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:10761
#, fuzzy
msgid "Run @var{body} with @var{directory} as the process's current directory."
msgstr "在 @var{directory} 作为进程的当前目录下运行 @var{body}。"

#. type: defmac
#: guix-git/doc/guix.texi:10768
#, fuzzy
msgid "Essentially, this macro changes the current directory to @var{directory} before evaluating @var{body}, using @code{chdir} (@pxref{Processes,,, guile, GNU Guile Reference Manual}).  It changes back to the initial directory when the dynamic extent of @var{body} is left, be it @i{via} normal procedure return or @i{via} a non-local exit such as an exception."
msgstr "本质上,这个宏在评估 @var{body} 之前将当前目录更改为 @var{directory},使用 @code{chdir}(@pxref{Processes,,, guile, GNU Guile Reference Manual})。当离开 @var{body} 的动态范围时,无论是通过正常的过程返回还是通过非局部退出(如异常),都会更改回初始目录。"

#. type: deffn
#: guix-git/doc/guix.texi:10770
#, fuzzy, no-wrap
msgid "{Procedure} mkdir-p dir"
msgstr "{过程} mkdir-p dir"

#. type: deffn
#: guix-git/doc/guix.texi:10772
#, fuzzy
msgid "Create directory @var{dir} and all its ancestors."
msgstr "创建目录 @var{dir} 及其所有祖先。"

#. type: deffn
#: guix-git/doc/guix.texi:10774
#, fuzzy, no-wrap
msgid "{Procedure} install-file file directory"
msgstr "一个可写的@file{/tmp}文件夹。"

#. type: deffn
#: guix-git/doc/guix.texi:10777
#, fuzzy
msgid "Create @var{directory} if it does not exist and copy @var{file} in there under the same name."
msgstr "如果 @var{directory} 不存在,则创建它,并将 @var{file} 复制到其中,保持相同的名称。"

#. type: deffn
#: guix-git/doc/guix.texi:10779
#, fuzzy, no-wrap
msgid "{Procedure} make-file-writable file"
msgstr "{过程} make-file-writable file"

#. type: deffn
#: guix-git/doc/guix.texi:10781
#, fuzzy
msgid "Make @var{file} writable for its owner."
msgstr "使 @var{file} 对其所有者可写。"

#. type: deffn
#: guix-git/doc/guix.texi:10783
#, fuzzy, no-wrap
msgid "{Procedure} copy-recursively source destination @"
msgstr "{过程} copy-recursively source destination @"

#. type: deffn
#: guix-git/doc/guix.texi:10798
#, fuzzy
msgid "[#:log (current-output-port)] [#:follow-symlinks? #f] @ [#:copy-file copy-file] [#:keep-mtime? #f] [#:keep-permissions? #t] @ [#:select? (const #t)] Copy @var{source} directory to @var{destination}.  Follow symlinks if @var{follow-symlinks?} is true; otherwise, just preserve them.  Call @var{copy-file} to copy regular files.  Call @var{select?}, taking two arguments, @var{file} and @var{stat}, for each entry in @var{source}, where @var{file} is the entry's absolute file name and @var{stat} is the result of @code{lstat} (or @code{stat} if @var{follow-symlinks?} is true); exclude entries for which @var{select?} does not return true.  When @var{keep-mtime?} is true, keep the modification time of the files in @var{source} on those of @var{destination}.  When @var{keep-permissions?} is true, preserve file permissions.  Write verbose output to the @var{log} port."
msgstr "[#:log (current-output-port)] [#:follow-symlinks? #f] @ [#:copy-file copy-file] [#:keep-mtime? #f] [#:keep-permissions? #t] @ [#:select? (const #t)] 将 @var{source} 目录复制到 @var{destination}。如果 @var{follow-symlinks?} 为 true,则跟随符号链接;否则,仅保留它们。调用 @var{copy-file} 复制常规文件。对于 @var{source} 中的每个条目,调用 @var{select?},传入两个参数 @var{file} 和 @var{stat},其中 @var{file} 是条目的绝对文件名,@var{stat} 是 @code{lstat} 的结果(如果 @var{follow-symlinks?} 为 true,则为 @code{stat});排除 @var{select?} 不返回 true 的条目。当 @var{keep-mtime?} 为 true 时,保持 @var{source} 中文件的修改时间与 @var{destination} 中的文件一致。当 @var{keep-permissions?} 为 true 时,保留文件权限。将详细输出写入 @var{log} 端口。"

#. type: deffn
#: guix-git/doc/guix.texi:10800
#, fuzzy, no-wrap
msgid "{Procedure} delete-file-recursively dir [#:follow-mounts? #f]"
msgstr "{Procedure} 递归删除文件 dir [#:follow-mounts? #f]"

#. type: deffn
#: guix-git/doc/guix.texi:10804
#, fuzzy
msgid "Delete @var{dir} recursively, like @command{rm -rf}, without following symlinks.  Don't follow mount points either, unless @var{follow-mounts?} is true.  Report but ignore errors."
msgstr "递归删除 @var{dir},类似于 @command{rm -rf},但不跟随符号链接。除非 @var{follow-mounts?} 为真,否则也不跟随挂载点。报告但忽略错误。"

#. type: defmac
#: guix-git/doc/guix.texi:10806
#, fuzzy, no-wrap
msgid "substitute* file @"
msgstr "substitutes"

#. type: defmac
#: guix-git/doc/guix.texi:10811
#, fuzzy
msgid "((regexp match-var@dots{}) body@dots{}) @dots{} Substitute @var{regexp} in @var{file} by the string returned by @var{body}.  @var{body} is evaluated with each @var{match-var} bound to the corresponding positional regexp sub-expression.  For example:"
msgstr "((regexp match-var@dots{}) body@dots{}) @dots{} 用 @var{body} 返回的字符串替换 @var{file} 中的 @var{regexp}。@var{body} 在每个 @var{match-var} 绑定到相应的位置正则表达式子表达式时被求值。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:10818
#, fuzzy, no-wrap
msgid ""
"(substitute* file\n"
"  ((\"hello\")\n"
"   \"good morning\\n\")\n"
"  ((\"foo([a-z]+)bar(.*)$\" all letters end)\n"
"   (string-append \"baz\" letters end)))\n"
msgstr ""
"(substitute* file\n"
"  ((\"hello\")\n"
"   \"早上好\\n\")\n"
"  ((\"foo([a-z]+)bar(.*)$\" all letters end)\n"
"   (string-append \"baz\" letters end)))\n"

#. type: defmac
#: guix-git/doc/guix.texi:10824
#, fuzzy
msgid "Here, anytime a line of @var{file} contains @code{hello}, it is replaced by @code{good morning}.  Anytime a line of @var{file} matches the second regexp, @code{all} is bound to the complete match, @code{letters} is bound to the first sub-expression, and @code{end} is bound to the last one."
msgstr "在这里,任何时候 @var{file} 的一行包含 @code{hello},它将被替换为 @code{早上好}。任何时候 @var{file} 的一行匹配第二个正则表达式时,@code{all} 绑定到完整匹配,@code{letters} 绑定到第一个子表达式,@code{end} 绑定到最后一个。"

#. type: defmac
#: guix-git/doc/guix.texi:10827
#, fuzzy
msgid "When one of the @var{match-var} is @code{_}, no variable is bound to the corresponding match substring."
msgstr "当其中一个 @var{match-var} 为 @code{_} 时,没有变量绑定到相应的匹配子字符串。"

#. type: defmac
#: guix-git/doc/guix.texi:10830
#, fuzzy
msgid "Alternatively, @var{file} may be a list of file names, in which case they are all subject to the substitutions."
msgstr "或者,@var{file} 可以是文件名的列表,在这种情况下,它们都将受到替换的影响。"

#. type: defmac
#: guix-git/doc/guix.texi:10835
#, fuzzy
msgid "Be careful about using @code{$} to match the end of a line; by itself it won't match the terminating newline of a line.  For example, to match a whole line ending with a backslash, one needs a regex like @code{\"(.*)\\\\\\\\\\n$\"}."
msgstr "使用 @code{$} 来匹配行尾时要小心;单独使用它不会匹配行的终止换行符。例如,要匹配以反斜杠结尾的整行,需要一个正则表达式,如 @code{\"(.*)\\\\\\\\\\n$\"}。"

#. type: subsection
#: guix-git/doc/guix.texi:10837
#, fuzzy, no-wrap
msgid "File Search"
msgstr "文件系统"

#. type: cindex
#: guix-git/doc/guix.texi:10839
#, fuzzy, no-wrap
msgid "file, searching"
msgstr "文件,搜索"

#. type: Plain text
#: guix-git/doc/guix.texi:10841
#, fuzzy
msgid "This section documents procedures to search and filter files."
msgstr "本节记录了搜索和过滤文件的过程。"

#. type: deffn
#: guix-git/doc/guix.texi:10842
#, fuzzy, no-wrap
msgid "{Procedure} file-name-predicate regexp"
msgstr "{Procedure} 文件名谓词 regexp"

#. type: deffn
#: guix-git/doc/guix.texi:10845
#, fuzzy
msgid "Return a predicate that returns true when passed a file name whose base name matches @var{regexp}."
msgstr "返回一个谓词,当传入一个基本名称匹配 @var{regexp} 的文件名时返回真。"

#. type: deffn
#: guix-git/doc/guix.texi:10847
#, fuzzy, no-wrap
msgid "{Procedure} find-files dir [pred] @"
msgstr "{Procedure} 查找文件 dir [pred] @"

#. type: deffn
#: guix-git/doc/guix.texi:10858
#, fuzzy
msgid "[#:stat lstat] [#:directories? #f] [#:fail-on-error? #f] Return the lexicographically sorted list of files under @var{dir} for which @var{pred} returns true.  @var{pred} is passed two arguments: the absolute file name, and its stat buffer; the default predicate always returns true.  @var{pred} can also be a regular expression, in which case it is equivalent to @code{(file-name-predicate @var{pred})}.  @var{stat} is used to obtain file information; using @code{lstat} means that symlinks are not followed.  If @var{directories?} is true, then directories will also be included.  If @var{fail-on-error?} is true, raise an exception upon error."
msgstr "[#:stat lstat] [#:directories? #f] [#:fail-on-error? #f] 返回 @var{dir} 下的文件的字典序排序列表,其中 @var{pred} 返回真。@var{pred} 被传递两个参数:绝对文件名及其状态缓冲区;默认谓词始终返回真。@var{pred} 也可以是一个正则表达式,在这种情况下,它等同于 @code{(file-name-predicate @var{pred})}。@var{stat} 用于获取文件信息;使用 @code{lstat} 意味着不跟随符号链接。如果 @var{directories?} 为真,则目录也将被包括在内。如果 @var{fail-on-error?} 为真,则在错误时引发异常。"

#. type: Plain text
#: guix-git/doc/guix.texi:10862
#, fuzzy
msgid "Here are a few examples where we assume that the current directory is the root of the Guix source tree:"
msgstr "以下是一些示例,我们假设当前目录是 Guix 源树的根目录:"

#. type: lisp
#: guix-git/doc/guix.texi:10867
#, fuzzy, no-wrap
msgid ""
";; List all the regular files in the current directory.\n"
"(find-files \".\")\n"
"@result{} (\"./.dir-locals.el\" \"./.gitignore\" @dots{})\n"
"\n"
msgstr ""
";; 列出当前目录中的所有常规文件。\n"
"(find-files \".\")\n"
"@result{} (\"./.dir-locals.el\" \"./.gitignore\" @dots{})\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10871
#, fuzzy, no-wrap
msgid ""
";; List all the .scm files under gnu/services.\n"
"(find-files \"gnu/services\" \"\\\\.scm$\")\n"
"@result{} (\"gnu/services/admin.scm\" \"gnu/services/audio.scm\" @dots{})\n"
"\n"
msgstr ""
";; 列出 gnu/services 下的所有 .scm 文件。\n"
"(find-files \"gnu/services\" \"\\\\.scm$\")\n"
"@result{} (\"gnu/services/admin.scm\" \"gnu/services/audio.scm\" @dots{})\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10875
#, fuzzy, no-wrap
msgid ""
";; List ar files in the current directory.\n"
"(find-files \".\" (lambda (file stat) (ar-file? file)))\n"
"@result{} (\"./libformat.a\" \"./libstore.a\" @dots{})\n"
msgstr ""
";; 列出当前目录中的 ar 文件。\n"
"(find-files \".\" (lambda (file stat) (ar-file? file)))\n"
"@result{} (\"./libformat.a\" \"./libstore.a\" @dots{})\n"

#. type: deffn
#: guix-git/doc/guix.texi:10877
#, fuzzy, no-wrap
msgid "{Procedure} which program"
msgstr "setuid程序"

#. type: deffn
#: guix-git/doc/guix.texi:10880
#, fuzzy
msgid "Return the complete file name for @var{program} as found in @code{$PATH}, or @code{#f} if @var{program} could not be found."
msgstr "返回在 @code{$PATH} 中找到的 @var{program} 的完整文件名,如果找不到 @var{program},则返回 @code{#f}。"

#. type: deffn
#: guix-git/doc/guix.texi:10882
#, fuzzy, no-wrap
msgid "{Procedure} search-input-file inputs name"
msgstr "{Procedure} search-input-file inputs name"

#. type: deffnx
#: guix-git/doc/guix.texi:10883
#, fuzzy, no-wrap
msgid "{Procedure} search-input-directory inputs name"
msgstr "{Procedure} search-input-directory inputs name"

#. type: deffn
#: guix-git/doc/guix.texi:10888
#, fuzzy
msgid "Return the complete file name for @var{name} as found in @var{inputs}; @code{search-input-file} searches for a regular file and @code{search-input-directory} searches for a directory.  If @var{name} could not be found, an exception is raised."
msgstr "返回在 @var{inputs} 中找到的 @var{name} 的完整文件名;@code{search-input-file} 搜索常规文件,@code{search-input-directory} 搜索目录。如果找不到 @var{name},则会引发异常。"

#. type: deffn
#: guix-git/doc/guix.texi:10892
#, fuzzy
msgid "Here, @var{inputs} must be an association list like @code{inputs} and @code{native-inputs} as available to build phases (@pxref{Build Phases})."
msgstr "在这里,@var{inputs} 必须是一个关联列表,如 @code{inputs} 和 @code{native-inputs},可用于构建阶段 (@pxref{Build Phases})。"

#. type: Plain text
#: guix-git/doc/guix.texi:10896
#, fuzzy
msgid "Here is a (simplified) example of how @code{search-input-file} is used in a build phase of the @code{wireguard-tools} package:"
msgstr "这是一个(简化的)示例,展示了 @code{search-input-file} 如何在 @code{wireguard-tools} 包的构建阶段中使用:"

#. type: lisp
#: guix-git/doc/guix.texi:10905
#, fuzzy, no-wrap
msgid ""
"(add-after 'install 'wrap-wg-quick\n"
"  (lambda* (#:key inputs outputs #:allow-other-keys)\n"
"    (let ((coreutils (string-append (assoc-ref inputs \"coreutils\")\n"
"                                    \"/bin\")))\n"
"      (wrap-program (search-input-file outputs \"bin/wg-quick\")\n"
"        #:sh (search-input-file inputs \"bin/bash\")\n"
"        `(\"PATH\" \":\" prefix ,(list coreutils))))))\n"
msgstr ""
"(add-after 'install 'wrap-wg-quick\n"
"  (lambda* (#:key inputs outputs #:allow-other-keys)\n"
"    (let ((coreutils (string-append (assoc-ref inputs \"coreutils\")\n"
"                                    \"/bin\")))\n"
"      (wrap-program (search-input-file outputs \"bin/wg-quick\")\n"
"        #:sh (search-input-file inputs \"bin/bash\")\n"
"        `(\"PATH\" \":\" prefix ,(list coreutils))))))\n"

#. type: subsection
#: guix-git/doc/guix.texi:10907
#, fuzzy, no-wrap
msgid "Program Invocation"
msgstr "日志轮替"

#. type: cindex
#: guix-git/doc/guix.texi:10909
#, fuzzy, no-wrap
msgid "program invocation, from Scheme"
msgstr "程序调用,来自 Scheme"

#. type: cindex
#: guix-git/doc/guix.texi:10910
#, fuzzy, no-wrap
msgid "invoking programs, from Scheme"
msgstr "从 Scheme 调用程序"

#. type: Plain text
#: guix-git/doc/guix.texi:10914
#, fuzzy
msgid "You'll find handy procedures to spawn processes in this module, essentially convenient wrappers around Guile's @code{system*} (@pxref{Processes, @code{system*},, guile, GNU Guile Reference Manual})."
msgstr "您将在此模块中找到方便的过程来生成进程,基本上是 Guile 的 @code{system*} 的便捷包装器 (@pxref{Processes, @code{system*},, guile, GNU Guile Reference Manual})。"

#. type: deffn
#: guix-git/doc/guix.texi:10915
#, fuzzy, no-wrap
msgid "{Procedure} invoke program args@dots{}"
msgstr "{Procedure} invoke program args@dots{}"

#. type: deffn
#: guix-git/doc/guix.texi:10919
#, fuzzy
msgid "Invoke @var{program} with the given @var{args}.  Raise an @code{&invoke-error} exception if the exit code is non-zero; otherwise return @code{#t}."
msgstr "使用给定的 @var{args} 调用 @var{program}。如果退出代码非零,则引发 @code{&invoke-error} 异常;否则返回 @code{#t}。"

#. type: deffn
#: guix-git/doc/guix.texi:10923
#, fuzzy
msgid "The advantage compared to @code{system*} is that you do not need to check the return value.  This reduces boilerplate in shell-script-like snippets for instance in package build phases."
msgstr "与 @code{system*} 相比,优势在于您无需检查返回值。这减少了在包构建阶段等 shell 脚本片段中的样板代码。"

#. type: deffn
#: guix-git/doc/guix.texi:10925
#, fuzzy, no-wrap
msgid "{Procedure} invoke-error? c"
msgstr "{Procedure} invoke-error? c"

#. type: deffn
#: guix-git/doc/guix.texi:10927
#, fuzzy
msgid "Return true if @var{c} is an @code{&invoke-error} condition."
msgstr "如果 @var{c} 是 @code{&invoke-error} 条件,则返回 true。"

#. type: deffn
#: guix-git/doc/guix.texi:10929
#, fuzzy, no-wrap
msgid "{Procedure} invoke-error-program c"
msgstr "{Procedure} invoke-error-program c"

#. type: deffnx
#: guix-git/doc/guix.texi:10930
#, fuzzy, no-wrap
msgid "{Procedure} invoke-error-arguments c"
msgstr "{Procedure} invoke-error-arguments c"

#. type: deffnx
#: guix-git/doc/guix.texi:10931
#, fuzzy, no-wrap
msgid "{Procedure} invoke-error-exit-status c"
msgstr "{Procedure} invoke-error-exit-status c"

#. type: deffnx
#: guix-git/doc/guix.texi:10932
#, fuzzy, no-wrap
msgid "{Procedure} invoke-error-term-signal c"
msgstr "{Procedure} invoke-error-term-signal c"

#. type: deffnx
#: guix-git/doc/guix.texi:10933
#, fuzzy, no-wrap
msgid "{Procedure} invoke-error-stop-signal c"
msgstr "{Procedure} invoke-error-stop-signal c"

#. type: deffn
#: guix-git/doc/guix.texi:10935
#, fuzzy
msgid "Access specific fields of @var{c}, an @code{&invoke-error} condition."
msgstr "访问 @var{c} 的特定字段,@var{c} 是 @code{&invoke-error} 条件。"

#. type: deffn
#: guix-git/doc/guix.texi:10937
#, fuzzy, no-wrap
msgid "{Procedure} report-invoke-error c [port]"
msgstr "{Procedure} report-invoke-error c [port]"

#. type: deffn
#: guix-git/doc/guix.texi:10940
#, fuzzy
msgid "Report to @var{port} (by default the current error port) about @var{c}, an @code{&invoke-error} condition, in a human-friendly way."
msgstr "以人类友好的方式向 @var{port}(默认是当前错误端口)报告 @var{c},一个 @code{&invoke-error} 条件。"

#. type: deffn
#: guix-git/doc/guix.texi:10942
#, fuzzy
msgid "Typical usage would look like this:"
msgstr "典型用法如下:"

#. type: lisp
#: guix-git/doc/guix.texi:10946
#, fuzzy, no-wrap
msgid ""
"(use-modules (srfi srfi-34) ;for 'guard'\n"
"             (guix build utils))\n"
"\n"
msgstr ""
"(use-modules (srfi srfi-34) ;用于 'guard'\n"
"             (guix build utils))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10950
#, fuzzy, no-wrap
msgid ""
"(guard (c ((invoke-error? c)\n"
"           (report-invoke-error c)))\n"
"  (invoke \"date\" \"--imaginary-option\"))\n"
"\n"
msgstr ""
"(guard (c ((invoke-error? c)\n"
"           (report-invoke-error c)))\n"
"  (invoke \"date\" \"--imaginary-option\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10952
#, fuzzy, no-wrap
msgid "@print{} command \"date\" \"--imaginary-option\" failed with status 1\n"
msgstr "@print{} 命令 \"date\" \"--imaginary-option\" 失败,状态为 1\n"

#. type: deffn
#: guix-git/doc/guix.texi:10955
#, fuzzy, no-wrap
msgid "{Procedure} invoke/quiet program args@dots{}"
msgstr "{Procedure} invoke/quiet program args@dots{}"

#. type: deffn
#: guix-git/doc/guix.texi:10961
#, fuzzy
msgid "Invoke @var{program} with @var{args} and capture @var{program}'s standard output and standard error.  If @var{program} succeeds, print nothing and return the unspecified value; otherwise, raise a @code{&message} error condition that includes the status code and the output of @var{program}."
msgstr "使用 @var{args} 调用 @var{program} 并捕获 @var{program} 的标准输出和标准错误。如果 @var{program} 成功,则不打印任何内容并返回未指定的值;否则,抛出一个 @code{&message} 错误条件,其中包含状态代码和 @var{program} 的输出。"

#. type: deffn
#: guix-git/doc/guix.texi:10963
#, fuzzy
msgid "Here's an example:"
msgstr "这是一个示例:"

#. type: lisp
#: guix-git/doc/guix.texi:10968
#, fuzzy, no-wrap
msgid ""
"(use-modules (srfi srfi-34) ;for 'guard'\n"
"             (srfi srfi-35) ;for 'message-condition?'\n"
"             (guix build utils))\n"
"\n"
msgstr ""
"(use-modules (srfi srfi-34) ;用于 'guard'\n"
"             (srfi srfi-35) ;用于 'message-condition?'\n"
"             (guix build utils))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10973
#, fuzzy, no-wrap
msgid ""
"(guard (c ((message-condition? c)\n"
"           (display (condition-message c))))\n"
"  (invoke/quiet \"date\")  ;all is fine\n"
"  (invoke/quiet \"date\" \"--imaginary-option\"))\n"
"\n"
msgstr ""
"(guard (c ((message-condition? c)\n"
"           (display (condition-message c))))\n"
"  (invoke/quiet \"date\")  ;一切正常\n"
"  (invoke/quiet \"date\" \"--imaginary-option\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10975
#, fuzzy, no-wrap
msgid ""
"@print{} 'date --imaginary-option' exited with status 1; output follows:\n"
"\n"
msgstr ""
"@print{} 'date --imaginary-option' 以状态 1 退出;输出如下:\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:10978
#, fuzzy, no-wrap
msgid ""
"    date: unrecognized option '--imaginary-option'\n"
"    Try 'date --help' for more information.\n"
msgstr ""
"    date: 未识别的选项 '--imaginary-option'\n"
"    请尝试 'date --help' 获取更多信息。\n"

#. type: Plain text
#: guix-git/doc/guix.texi:10990
#, fuzzy
msgid "The @code{(guix build utils)} also contains tools to manipulate build phases as used by build systems (@pxref{Build Systems}).  Build phases are represented as association lists or ``alists'' (@pxref{Association Lists,,, guile, GNU Guile Reference Manual}) where each key is a symbol naming the phase and the associated value is a procedure (@pxref{Build Phases})."
msgstr "@code{(guix build utils)} 还包含用于操作构建阶段的工具,这些工具由构建系统使用 (@pxref{Build Systems})。构建阶段表示为关联列表或“alists”(@pxref{Association Lists,,, guile, GNU Guile Reference Manual}),其中每个键是命名阶段的符号,关联值是一个过程 (@pxref{Build Phases})。"

#. type: Plain text
#: guix-git/doc/guix.texi:10994
#, fuzzy
msgid "Guile core and the @code{(srfi srfi-1)} module both provide tools to manipulate alists.  The @code{(guix build utils)} module complements those with tools written with build phases in mind."
msgstr "Guile 核心和 @code{(srfi srfi-1)} 模块都提供了操作 alists 的工具。 @code{(guix build utils)} 模块补充了这些工具,考虑了构建阶段。"

#. type: cindex
#: guix-git/doc/guix.texi:10995
#, fuzzy, no-wrap
msgid "build phases, modifying"
msgstr "构建后台进程"

#. type: defmac
#: guix-git/doc/guix.texi:10996
#, fuzzy, no-wrap
msgid "modify-phases phases clause@dots{}"
msgstr "modify-phases phases clause@dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:10999
#, fuzzy
msgid "Modify @var{phases} sequentially as per each @var{clause}, which may have one of the following forms:"
msgstr "根据每个 @var{clause} 顺序修改 @var{phases},其形式可能为以下之一:"

#. type: lisp
#: guix-git/doc/guix.texi:11005
#, fuzzy, no-wrap
msgid ""
"(delete @var{old-phase-name})\n"
"(replace @var{old-phase-name} @var{new-phase})\n"
"(add-before @var{old-phase-name} @var{new-phase-name} @var{new-phase})\n"
"(add-after @var{old-phase-name} @var{new-phase-name} @var{new-phase})\n"
msgstr ""
"(delete @var{old-phase-name})  \n"
"(replace @var{old-phase-name} @var{new-phase})  \n"
"(add-before @var{old-phase-name} @var{new-phase-name} @var{new-phase})  \n"
"(add-after @var{old-phase-name} @var{new-phase-name} @var{new-phase})\n"

#. type: defmac
#: guix-git/doc/guix.texi:11009
#, fuzzy
msgid "Where every @var{phase-name} above is an expression evaluating to a symbol, and @var{new-phase} an expression evaluating to a procedure."
msgstr "上述每个 @var{phase-name} 是一个求值为符号的表达式,@var{new-phase} 是一个求值为过程的表达式。"

#. type: Plain text
#: guix-git/doc/guix.texi:11020
#, fuzzy
msgid "The example below is taken from the definition of the @code{grep} package.  It adds a phase to run after the @code{install} phase, called @code{fix-egrep-and-fgrep}.  That phase is a procedure (@code{lambda*} is for anonymous procedures) that takes a @code{#:outputs} keyword argument and ignores extra keyword arguments (@pxref{Optional Arguments,,, guile, GNU Guile Reference Manual}, for more on @code{lambda*} and optional and keyword arguments.)  The phase uses @code{substitute*} to modify the installed @file{egrep} and @file{fgrep} scripts so that they refer to @code{grep} by its absolute file name:"
msgstr "下面的示例取自 @code{grep} 包的定义。它添加了一个在 @code{install} 阶段之后运行的阶段,称为 @code{fix-egrep-and-fgrep}。该阶段是一个过程(@code{lambda*} 用于匿名过程),接受一个 @code{#:outputs} 关键字参数,并忽略额外的关键字参数(有关 @code{lambda*} 及可选和关键字参数的更多信息,请参见 @pxref{Optional Arguments,,, guile, GNU Guile Reference Manual})。该阶段使用 @code{substitute*} 修改已安装的 @file{egrep} 和 @file{fgrep} 脚本,使其通过绝对文件名引用 @code{grep}:"

#. type: lisp
#: guix-git/doc/guix.texi:11033
#, fuzzy, no-wrap
msgid ""
"(modify-phases %standard-phases\n"
"  (add-after 'install 'fix-egrep-and-fgrep\n"
"    ;; Patch 'egrep' and 'fgrep' to execute 'grep' via its\n"
"    ;; absolute file name instead of searching for it in $PATH.\n"
"    (lambda* (#:key outputs #:allow-other-keys)\n"
"      (let* ((out (assoc-ref outputs \"out\"))\n"
"             (bin (string-append out \"/bin\")))\n"
"        (substitute* (list (string-append bin \"/egrep\")\n"
"                           (string-append bin \"/fgrep\"))\n"
"          ((\"^exec grep\")\n"
"           (string-append \"exec \" bin \"/grep\")))))))\n"
msgstr ""
"(modify-phases %standard-phases  \n"
"  (add-after 'install 'fix-egrep-and-fgrep  \n"
"    ;; 修补 'egrep' 和 'fgrep' 以通过其  \n"
"    ;; 绝对文件名执行 'grep',而不是在 $PATH 中搜索它。  \n"
"    (lambda* (#:key outputs #:allow-other-keys)  \n"
"      (let* ((out (assoc-ref outputs \"out\"))  \n"
"             (bin (string-append out \"/bin\")))  \n"
"        (substitute* (list (string-append bin \"/egrep\")  \n"
"                           (string-append bin \"/fgrep\"))  \n"
"          ((\"^exec grep\")  \n"
"           (string-append \"exec \" bin \"/grep\")))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11040
#, fuzzy
msgid "In the example below, phases are modified in two ways: the standard @code{configure} phase is deleted, presumably because the package does not have a @file{configure} script or anything similar, and the default @code{install} phase is replaced by one that manually copies the executable files to be installed:"
msgstr "在下面的示例中,阶段以两种方式被修改:标准的 @code{configure} 阶段被删除,可能是因为该包没有 @file{configure} 脚本或类似的东西,默认的 @code{install} 阶段被一个手动复制要安装的可执行文件的阶段替换:"

#. type: lisp
#: guix-git/doc/guix.texi:11052
#, fuzzy, no-wrap
msgid ""
"(modify-phases %standard-phases\n"
"  (delete 'configure)      ;no 'configure' script\n"
"  (replace 'install\n"
"    (lambda* (#:key outputs #:allow-other-keys)\n"
"      ;; The package's Makefile doesn't provide an \"install\"\n"
"      ;; rule so do it by ourselves.\n"
"      (let ((bin (string-append (assoc-ref outputs \"out\")\n"
"                                \"/bin\")))\n"
"        (install-file \"footswitch\" bin)\n"
"        (install-file \"scythe\" bin)))))\n"
msgstr ""
"(modify-phases %standard-phases\n"
"  (delete 'configure)      ;没有 'configure' 脚本\n"
"  (replace 'install\n"
"    (lambda* (#:key outputs #:allow-other-keys)\n"
"      ;; 该软件包的 Makefile 没有提供 \"install\"\n"
"      ;; 规则,所以我们自己来做。\n"
"      (let ((bin (string-append (assoc-ref outputs \"out\")\n"
"                                \"/bin\")))\n"
"        (install-file \"footswitch\" bin)\n"
"        (install-file \"scythe\" bin)))))\n"

#. type: subsection
#: guix-git/doc/guix.texi:11056
#, fuzzy, no-wrap
msgid "Wrappers"
msgstr "包装器"

#. type: cindex
#: guix-git/doc/guix.texi:11058
#, fuzzy, no-wrap
msgid "program wrappers"
msgstr "程序包装器"

#. type: cindex
#: guix-git/doc/guix.texi:11059
#, fuzzy, no-wrap
msgid "wrapping programs"
msgstr "包装程序"

#. type: Plain text
#: guix-git/doc/guix.texi:11065
#, fuzzy
msgid "It is not unusual for a command to require certain environment variables to be set for proper functioning, typically search paths (@pxref{Search Paths}).  Failing to do that, the command might fail to find files or other commands it relies on, or it might pick the ``wrong'' ones---depending on the environment in which it runs.  Examples include:"
msgstr "命令需要设置某些环境变量以正常运行并不罕见,通常是搜索路径 (@pxref{Search Paths})。 如果不这样做,命令可能无法找到它依赖的文件或其他命令,或者可能选择“错误”的命令——这取决于它运行的环境。 示例包括:"

#. type: itemize
#: guix-git/doc/guix.texi:11069
#, fuzzy
msgid "a shell script that assumes all the commands it uses are in @env{PATH};"
msgstr "一个假设它使用的所有命令都在 @env{PATH} 中的 shell 脚本;"

#. type: itemize
#: guix-git/doc/guix.texi:11073
#, fuzzy
msgid "a Guile program that assumes all its modules are in @env{GUILE_LOAD_PATH} and @env{GUILE_LOAD_COMPILED_PATH};"
msgstr "一个假设它的所有模块都在 @env{GUILE_LOAD_PATH} 和 @env{GUILE_LOAD_COMPILED_PATH} 中的 Guile 程序;"

#. type: itemize
#: guix-git/doc/guix.texi:11077
#, fuzzy
msgid "a Qt application that expects to find certain plugins in @env{QT_PLUGIN_PATH}."
msgstr "一个期望在 @env{QT_PLUGIN_PATH} 中找到某些插件的 Qt 应用程序。"

#. type: Plain text
#: guix-git/doc/guix.texi:11085
#, fuzzy
msgid "For a package writer, the goal is to make sure commands always work the same rather than depend on some external settings.  One way to achieve that is to @dfn{wrap} commands in a thin script that sets those environment variables, thereby ensuring that those run-time dependencies are always found.  The wrapper would be used to set @env{PATH}, @env{GUILE_LOAD_PATH}, or @env{QT_PLUGIN_PATH} in the examples above."
msgstr "对于软件包编写者来说,目标是确保命令始终以相同的方式工作,而不是依赖某些外部设置。 实现这一目标的一种方法是 @dfn{包装} 命令在一个薄脚本中,该脚本设置这些环境变量,从而确保这些运行时依赖项始终被找到。 包装器将用于在上述示例中设置 @env{PATH}、@env{GUILE_LOAD_PATH} 或 @env{QT_PLUGIN_PATH}。"

#. type: Plain text
#: guix-git/doc/guix.texi:11088
#, fuzzy
msgid "To ease that task, the @code{(guix build utils)} module provides a couple of helpers to wrap commands."
msgstr "为了简化该任务,@code{(guix build utils)} 模块提供了一些帮助程序来包装命令。"

#. type: deffn
#: guix-git/doc/guix.texi:11089
#, fuzzy, no-wrap
msgid "{Procedure} wrap-program program [#:sh sh] [#:rest variables]"
msgstr "{Procedure} wrap-program program [#:sh sh] [#:rest variables]"

#. type: deffn
#: guix-git/doc/guix.texi:11091
#, fuzzy
msgid "Make a wrapper for @var{program}.  @var{variables} should look like this:"
msgstr "为 @var{program} 创建一个包装器。 @var{variables} 应该看起来像这样:"

#. type: lisp
#: guix-git/doc/guix.texi:11094
#, fuzzy, no-wrap
msgid "'(@var{variable} @var{delimiter} @var{position} @var{list-of-directories})\n"
msgstr "'(@var{variable} @var{delimiter} @var{position} @var{list-of-directories})\n"

#. type: deffn
#: guix-git/doc/guix.texi:11098
#, fuzzy
msgid "where @var{delimiter} is optional.  @code{:} will be used if @var{delimiter} is not given."
msgstr "其中 @var{delimiter} 是可选的。 如果没有给出 @var{delimiter},将使用 @code{:}。"

#. type: deffn
#: guix-git/doc/guix.texi:11100
#, fuzzy
msgid "For example, this call:"
msgstr "例如,这个调用:"

#. type: lisp
#: guix-git/doc/guix.texi:11106
#, fuzzy, no-wrap
msgid ""
"(wrap-program \"foo\"\n"
"              '(\"PATH\" \":\" = (\"/gnu/.../bar/bin\"))\n"
"              '(\"CERT_PATH\" suffix (\"/gnu/.../baz/certs\"\n"
"                                    \"/qux/certs\")))\n"
msgstr ""
"(wrap-program \"foo\"\n"
"              '(\"PATH\" \":\" = (\"/gnu/.../bar/bin\"))\n"
"              '(\"CERT_PATH\" suffix (\"/gnu/.../baz/certs\"\n"
"                                    \"/qux/certs\")))\n"

#. type: deffn
#: guix-git/doc/guix.texi:11110
#, fuzzy
msgid "will copy @file{foo} to @file{.foo-real} and create the file @file{foo} with the following contents:"
msgstr "将 @file{foo} 复制到 @file{.foo-real} 并创建文件 @file{foo},其内容如下:"

#. type: example
#: guix-git/doc/guix.texi:11116
#, fuzzy, no-wrap
msgid ""
"#!location/of/bin/bash\n"
"export PATH=\"/gnu/.../bar/bin\"\n"
"export CERT_PATH=\"$CERT_PATH$@{CERT_PATH:+:@}/gnu/.../baz/certs:/qux/certs\"\n"
"exec -a $0 location/of/.foo-real \"$@@\"\n"
msgstr "#!location/of/bin/bash\\nexport PATH=\"/gnu/.../bar/bin\"\\nexport CERT_PATH=\"$CERT_PATH$@{CERT_PATH:+:@}/gnu/.../baz/certs:/qux/certs\"\\nexec -a $0 location/of/.foo-real \"$@@\"\\n\n"

#. type: deffn
#: guix-git/doc/guix.texi:11121
#, fuzzy
msgid "If @var{program} has previously been wrapped by @code{wrap-program}, the wrapper is extended with definitions for @var{variables}.  If it is not, @var{sh} will be used as the interpreter."
msgstr "如果 @var{program} 之前已被 @code{wrap-program} 包装,则包装器将扩展 @var{variables} 的定义。如果没有,将使用 @var{sh} 作为解释器。"

#. type: deffn
#: guix-git/doc/guix.texi:11123
#, fuzzy, no-wrap
msgid "{Procedure} wrap-script program [#:guile guile] [#:rest variables]"
msgstr "{Procedure} wrap-script 程序 [#:guile guile] [#:rest 变量]"

#. type: deffn
#: guix-git/doc/guix.texi:11130
#, fuzzy
msgid "Wrap the script @var{program} such that @var{variables} are set first.  The format of @var{variables} is the same as in the @code{wrap-program} procedure.  This procedure differs from @code{wrap-program} in that it does not create a separate shell script.  Instead, @var{program} is modified directly by prepending a Guile script, which is interpreted as a comment in the script's language."
msgstr "将脚本 @var{program} 包装,使得 @var{variables} 首先被设置。 @var{variables} 的格式与 @code{wrap-program} 过程中的格式相同。此过程与 @code{wrap-program} 的不同之处在于它不创建单独的 shell 脚本。相反,@var{program} 通过在其前面添加一个 Guile 脚本直接进行修改,该脚本在脚本语言中被解释为注释。"

#. type: deffn
#: guix-git/doc/guix.texi:11133
#, fuzzy
msgid "Special encoding comments as supported by Python are recreated on the second line."
msgstr "Python 支持的特殊编码注释在第二行重新创建。"

#. type: deffn
#: guix-git/doc/guix.texi:11136
#, fuzzy
msgid "Note that this procedure can only be used once per file as Guile scripts are not supported."
msgstr "请注意,此过程每个文件只能使用一次,因为不支持 Guile 脚本。"

#. type: cindex
#: guix-git/doc/guix.texi:11141
#, fuzzy, no-wrap
msgid "search path"
msgstr "搜索路径"

#. type: Plain text
#: guix-git/doc/guix.texi:11148
#, fuzzy
msgid "Many programs and libraries look for input data in a @dfn{search path}, a list of directories: shells like Bash look for executables in the command search path, a C compiler looks for @file{.h} files in its header search path, the Python interpreter looks for @file{.py} files in its search path, the spell checker has a search path for dictionaries, and so on."
msgstr "许多程序和库在 @dfn{搜索路径} 中查找输入数据,这是一个目录列表:像 Bash 这样的 shell 在命令搜索路径中查找可执行文件,C 编译器在其头文件搜索路径中查找 @file{.h} 文件,Python 解释器在其搜索路径中查找 @file{.py} 文件,拼写检查器有一个字典的搜索路径,等等。"

#. type: Plain text
#: guix-git/doc/guix.texi:11156
#, fuzzy
msgid "Search paths can usually be defined or overridden @i{via} environment variables (@pxref{Environment Variables,,, libc, The GNU C Library Reference Manual}).  For example, the search paths mentioned above can be changed by defining the @env{PATH}, @env{C_INCLUDE_PATH}, @env{PYTHONPATH} (or @env{GUIX_PYTHONPATH}), and @env{DICPATH} environment variables---you know, all these something-PATH variables that you need to get right or things ``won't be found''."
msgstr "搜索路径通常可以通过环境变量 @i{via} 定义或覆盖 (@pxref{Environment Variables,,, libc, The GNU C Library Reference Manual})。例如,上述搜索路径可以通过定义 @env{PATH}、@env{C_INCLUDE_PATH}、@env{PYTHONPATH}(或 @env{GUIX_PYTHONPATH})和 @env{DICPATH} 环境变量来更改——你知道的,所有这些需要正确设置的某种 PATH 变量,否则东西“找不到”。"

#. type: Plain text
#: guix-git/doc/guix.texi:11166
#, fuzzy
msgid "You may have noticed from the command line that Guix ``knows'' which search path environment variables should be defined, and how.  When you install packages in your default profile, the file @file{~/.guix-profile/etc/profile} is created, which you can ``source'' from the shell to set those variables.  Likewise, if you ask @command{guix shell} to create an environment containing Python and NumPy, a Python library, and if you pass it the @option{--search-paths} option, it will tell you about @env{PATH} and @env{GUIX_PYTHONPATH} (@pxref{Invoking guix shell}):"
msgstr "你可能已经注意到,从命令行中,Guix “知道” 应该定义哪些搜索路径环境变量,以及如何定义。当你在默认配置文件中安装软件包时,会创建文件 @file{~/.guix-profile/etc/profile},你可以从 shell 中“source”该文件以设置这些变量。同样,如果你请求 @command{guix shell} 创建一个包含 Python 和 NumPy(一个 Python 库)的环境,并且如果你传递 @option{--search-paths} 选项,它会告诉你关于 @env{PATH} 和 @env{GUIX_PYTHONPATH} 的信息 (@pxref{Invoking guix shell}):"

#. type: example
#: guix-git/doc/guix.texi:11171
#, fuzzy, no-wrap
msgid ""
"$ guix shell python python-numpy --pure --search-paths\n"
"export PATH=\"/gnu/store/@dots{}-profile/bin\"\n"
"export GUIX_PYTHONPATH=\"/gnu/store/@dots{}-profile/lib/python3.9/site-packages\"\n"
msgstr ""
"$ guix shell python python-numpy --pure --search-paths\n"
"export PATH=\"/gnu/store/@dots{}-profile/bin\"\n"
"export GUIX_PYTHONPATH=\"/gnu/store/@dots{}-profile/lib/python3.9/site-packages\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11175
#, fuzzy
msgid "When you omit @option{--search-paths}, it defines these environment variables right away, such that Python can readily find NumPy:"
msgstr "当您省略 @option{--search-paths} 时,它会立即定义这些环境变量,以便 Python 可以轻松找到 NumPy:"

#. type: example
#: guix-git/doc/guix.texi:11184
#, fuzzy, no-wrap
msgid ""
"$ guix shell python python-numpy -- python3\n"
"Python 3.9.6 (default, Jan  1 1970, 00:00:01)\n"
"[GCC 10.3.0] on linux\n"
"Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n"
">>> import numpy\n"
">>> numpy.version.version\n"
"'1.20.3'\n"
msgstr ""
"$ guix shell python python-numpy -- python3\n"
"Python 3.9.6 (默认,1970年1月1日,00:00:01)\n"
"[GCC 10.3.0] 在 linux 上\n"
"输入 \"help\", \"copyright\", \"credits\" 或 \"license\" 获取更多信息。\n"
">>> import numpy\n"
">>> numpy.version.version\n"
"'1.20.3'\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11189
#, fuzzy
msgid "For this to work, the definition of the @code{python} package @emph{declares} the search path it cares about and its associated environment variable, @env{GUIX_PYTHONPATH}.  It looks like this:"
msgstr "为了使其工作,@code{python} 包的定义 @emph{声明} 了它关心的搜索路径及其相关的环境变量 @env{GUIX_PYTHONPATH}。它看起来像这样:"

#. type: lisp
#: guix-git/doc/guix.texi:11199
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  (name \"python\")\n"
"  (version \"3.9.9\")\n"
"  ;; some fields omitted...\n"
"  (native-search-paths\n"
"   (list (search-path-specification\n"
"          (variable \"GUIX_PYTHONPATH\")\n"
"          (files (list \"lib/python/3.9/site-packages\"))))))\n"
msgstr ""
"(package\n"
"  (name \"python\")\n"
"  (version \"3.9.9\")\n"
"  ;; 一些字段省略...\n"
"  (native-search-paths\n"
"   (list (search-path-specification\n"
"          (variable \"GUIX_PYTHONPATH\")\n"
"          (files (list \"lib/python/3.9/site-packages\"))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11214
#, fuzzy
msgid "What this @code{native-search-paths} field says is that, when the @code{python} package is used, the @env{GUIX_PYTHONPATH} environment variable must be defined to include all the @file{lib/python/3.9/site-packages} sub-directories encountered in its environment.  (The @code{native-} bit means that, if we are in a cross-compilation environment, only native inputs may be added to the search path; @pxref{package Reference, @code{search-paths}}.)  In the NumPy example above, the profile where @code{python} appears contains exactly one such sub-directory, and @env{GUIX_PYTHONPATH} is set to that.  When there are several @file{lib/python/3.9/site-packages}---this is the case in package build environments---they are all added to @env{GUIX_PYTHONPATH}, separated by colons (@code{:})."
msgstr "这个 @code{native-search-paths} 字段的意思是,当使用 @code{python} 包时,必须定义 @env{GUIX_PYTHONPATH} 环境变量,以包含其环境中遇到的所有 @file{lib/python/3.9/site-packages} 子目录。(@code{native-} 的意思是,如果我们处于交叉编译环境中,则只能将本地输入添加到搜索路径中;@pxref{package Reference, @code{search-paths}}。) 在上面的 NumPy 示例中,@code{python} 出现的配置文件恰好包含一个这样的子目录,而 @env{GUIX_PYTHONPATH} 被设置为该目录。当有多个 @file{lib/python/3.9/site-packages} 时——这在包构建环境中是常见的——它们都被添加到 @env{GUIX_PYTHONPATH} 中,以冒号 (@code{:}) 分隔。"

#. type: quotation
#: guix-git/doc/guix.texi:11221
#, fuzzy
msgid "Notice that @env{GUIX_PYTHONPATH} is specified as part of the definition of the @code{python} package, and @emph{not} as part of that of @code{python-numpy}.  This is because this environment variable ``belongs'' to Python, not NumPy: Python actually reads the value of that variable and honors it."
msgstr "请注意,@env{GUIX_PYTHONPATH} 被指定为 @code{python} 包定义的一部分,而 @emph{不是} @code{python-numpy} 的一部分。这是因为这个环境变量“属于” Python,而不是 NumPy:Python 实际上读取该变量的值并尊重它。"

#. type: quotation
#: guix-git/doc/guix.texi:11225
#, fuzzy
msgid "Corollary: if you create a profile that does not contain @code{python}, @code{GUIX_PYTHONPATH} will @emph{not} be defined, even if it contains packages that provide @file{.py} files:"
msgstr "推论:如果您创建的配置文件不包含 @code{python},则 @code{GUIX_PYTHONPATH} 将 @emph{不} 被定义,即使它包含提供 @file{.py} 文件的包:"

#. type: example
#: guix-git/doc/guix.texi:11229
#, fuzzy, no-wrap
msgid ""
"$ guix shell python-numpy --search-paths --pure\n"
"export PATH=\"/gnu/store/@dots{}-profile/bin\"\n"
msgstr ""
"$ guix shell python-numpy --search-paths --pure\n"
"export PATH=\"/gnu/store/@dots{}-profile/bin\"\n"

#. type: quotation
#: guix-git/doc/guix.texi:11233
#, fuzzy
msgid "This makes a lot of sense if we look at this profile in isolation: no software in this profile would read @env{GUIX_PYTHONPATH}."
msgstr "如果我们单独查看这个配置文件,这就很有意义:这个配置文件中的软件不会读取 @env{GUIX_PYTHONPATH}。"

#. type: Plain text
#: guix-git/doc/guix.texi:11243
#, fuzzy
msgid "Of course, there are many variations on that theme: some packages honor more than one search path, some use separators other than colon, some accumulate several directories in their search path, and so on.  A more complex example is the search path of libxml2: the value of the @env{XML_CATALOG_FILES} environment variable is space-separated, it must contain a list of @file{catalog.xml} files (not directories), which are to be found in @file{xml} sub-directories---nothing less.  The search path specification looks like this:"
msgstr "当然,这个主题有很多变体:一些包支持多个搜索路径,一些使用冒号以外的分隔符,一些在其搜索路径中累积多个目录,等等。一个更复杂的例子是 libxml2 的搜索路径:@env{XML_CATALOG_FILES} 环境变量的值是以空格分隔的,它必须包含 @file{catalog.xml} 文件(而不是目录)的列表,这些文件必须位于 @file{xml} 子目录中——没有其他要求。搜索路径规范如下:"

#. type: lisp
#: guix-git/doc/guix.texi:11252
#, fuzzy, no-wrap
msgid ""
"(search-path-specification\n"
" (variable \"XML_CATALOG_FILES\")\n"
" (separator \" \")\n"
" (files '(\"xml\"))\n"
" (file-pattern \"^catalog\\\\.xml$\")\n"
" (file-type 'regular))\n"
msgstr ""
"(search-path-specification\n"
" (variable \"XML_CATALOG_FILES\")\n"
" (separator \" \")\n"
" (files '(\"xml\"))\n"
" (file-pattern \"^catalog\\\\.xml$\")\n"
" (file-type 'regular))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11255
#, fuzzy
msgid "Worry not, search path specifications are usually not this tricky."
msgstr "不用担心,搜索路径规范通常不会这么复杂。"

#. type: Plain text
#: guix-git/doc/guix.texi:11259
#, fuzzy
msgid "The @code{(guix search-paths)} module defines the data type of search path specifications and a number of helper procedures.  Below is the reference of search path specifications."
msgstr "@code{(guix search-paths)} 模块定义了搜索路径规范的数据类型和一些辅助过程。下面是搜索路径规范的参考。"

#. type: deftp
#: guix-git/doc/guix.texi:11260
#, fuzzy, no-wrap
msgid "{Data Type} search-path-specification"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:11262
#, fuzzy
msgid "The data type for search path specifications."
msgstr "管理操作系统配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:11264
#, fuzzy, no-wrap
msgid "variable"
msgstr "变量"

#. type: table
#: guix-git/doc/guix.texi:11266
#, fuzzy
msgid "The name of the environment variable for this search path (a string)."
msgstr "此搜索路径的环境变量名称(字符串)。"

#. type: code{#1}
#: guix-git/doc/guix.texi:11267 guix-git/doc/guix.texi:21144
#, fuzzy, no-wrap
msgid "files"
msgstr "文件"

#. type: table
#: guix-git/doc/guix.texi:11270
#, fuzzy
msgid "The list of sub-directories (strings) that should be added to the search path."
msgstr "应添加到搜索路径的子目录列表(字符串)。"

#. type: item
#: guix-git/doc/guix.texi:11271
#, fuzzy, no-wrap
msgid "@code{separator} (default: @code{\":\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:11273
#, fuzzy
msgid "The string used to separate search path components."
msgstr "用于分隔搜索路径组件的字符串。"

#. type: table
#: guix-git/doc/guix.texi:11281
#, fuzzy
msgid "As a special case, a @code{separator} value of @code{#f} specifies a ``single-component search path''---in other words, a search path that cannot contain more than one element.  This is useful in some cases, such as the @code{SSL_CERT_DIR} variable (honored by OpenSSL, cURL, and a few other packages) or the @code{ASPELL_DICT_DIR} variable (honored by the GNU Aspell spell checker), both of which must point to a single directory."
msgstr "作为特殊情况,@code{separator} 值为 @code{#f} 指定了“单组件搜索路径”——换句话说,搜索路径不能包含多个元素。这在某些情况下是有用的,例如 @code{SSL_CERT_DIR} 变量(被 OpenSSL、cURL 和其他一些包所支持)或 @code{ASPELL_DICT_DIR} 变量(被 GNU Aspell 拼写检查器所支持),这两个变量都必须指向一个单一目录。"

#. type: item
#: guix-git/doc/guix.texi:11282
#, fuzzy, no-wrap
msgid "@code{file-type} (default: @code{'directory})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:11286
#, fuzzy
msgid "The type of file being matched---@code{'directory} or @code{'regular}, though it can be any symbol returned by @code{stat:type} (@pxref{File System, @code{stat},, guile, GNU Guile Reference Manual})."
msgstr "正在匹配的文件类型——@code{'directory} 或 @code{'regular},尽管它可以是 @code{stat:type} 返回的任何符号(@pxref{文件系统,@code{stat},guile,GNU Guile参考手册})。"

#. type: table
#: guix-git/doc/guix.texi:11289
#, fuzzy
msgid "In the @env{XML_CATALOG_FILES} example above, we would match regular files; in the Python example, we would match directories."
msgstr "在上面的 @env{XML_CATALOG_FILES} 示例中,我们将匹配常规文件;在 Python 示例中,我们将匹配目录。"

#. type: item
#: guix-git/doc/guix.texi:11290
#, fuzzy, no-wrap
msgid "@code{file-pattern} (default: @code{#f})"
msgstr "@code{max-journal-depth}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:11294
#, fuzzy
msgid "This must be either @code{#f} or a regular expression specifying files to be matched @emph{within} the sub-directories specified by the @code{files} field."
msgstr "这必须是 @code{#f} 或一个指定要在 @code{files} 字段所指定的子目录中匹配的文件的正则表达式 @emph{within}。"

#. type: table
#: guix-git/doc/guix.texi:11297
#, fuzzy
msgid "Again, the @env{XML_CATALOG_FILES} example shows a situation where this is needed."
msgstr "再次,@env{XML_CATALOG_FILES} 示例展示了需要这种情况。"

#. type: Plain text
#: guix-git/doc/guix.texi:11303
#, fuzzy
msgid "Some search paths are not tied by a single package but to many packages.  To reduce duplications, some of them are pre-defined in @code{(guix search-paths)}."
msgstr "一些搜索路径并不是由单个包绑定,而是与多个包相关联。为了减少重复,其中一些在 @code{(guix search-paths)} 中是预定义的。"

#. type: defvar
#: guix-git/doc/guix.texi:11304
#, fuzzy, no-wrap
msgid "$SGML_CATALOG_FILES"
msgstr "$SGML_CATALOG_FILES"

#. type: defvarx
#: guix-git/doc/guix.texi:11305
#, fuzzy, no-wrap
msgid "$XML_CATALOG_FILES"
msgstr "$XML_CATALOG_FILES"

#. type: defvar
#: guix-git/doc/guix.texi:11311
#, fuzzy
msgid "These two search paths indicate where the @url{https://www.oasis-open.org/specs/a401.htm,TR9401 catalog}@footnote{ Alternatively known as SGML catalog.} or @url{https://www.oasis-open.org/committees/download.php/14809/xml-catalogs.html, XML catalog} files can be found."
msgstr "这两个搜索路径指示 @url{https://www.oasis-open.org/specs/a401.htm,TR9401 目录}@footnote{ 也称为 SGML 目录。} 或 @url{https://www.oasis-open.org/committees/download.php/14809/xml-catalogs.html, XML 目录} 文件可以在哪里找到。"

#. type: defvar
#: guix-git/doc/guix.texi:11313
#, fuzzy, no-wrap
msgid "$SSL_CERT_DIR"
msgstr "$SSL_CERT_DIR"

#. type: defvarx
#: guix-git/doc/guix.texi:11314
#, fuzzy, no-wrap
msgid "$SSL_CERT_FILE"
msgstr "$SSL_CERT_FILE"

#. type: defvar
#: guix-git/doc/guix.texi:11317
#, fuzzy
msgid "These two search paths indicate where X.509 certificates can be found (@pxref{X.509 Certificates})."
msgstr "这两个搜索路径指示可以在哪里找到 X.509 证书 (@pxref{X.509 Certificates})。"

#. type: Plain text
#: guix-git/doc/guix.texi:11320
#, fuzzy
msgid "These pre-defined search paths can be used as in the following example:"
msgstr "这些预定义的搜索路径可以像以下示例一样使用:"

#. type: lisp
#: guix-git/doc/guix.texi:11326
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  (name \"curl\")\n"
"  ;; some fields omitted ...\n"
"  (native-search-paths (list $SSL_CERT_DIR $SSL_CERT_FILE)))\n"
msgstr ""
"(package\n"
"  (name \"curl\")\n"
"  ;; 一些字段省略 ...\n"
"  (native-search-paths (list $SSL_CERT_DIR $SSL_CERT_FILE)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11331
#, fuzzy
msgid "How do you turn search path specifications on one hand and a bunch of directories on the other hand in a set of environment variable definitions? That's the job of @code{evaluate-search-paths}."
msgstr "如何将一方面的搜索路径规范和另一方面的一堆目录转换为一组环境变量定义?这就是 @code{evaluate-search-paths} 的工作。"

#. type: deffn
#: guix-git/doc/guix.texi:11332
#, fuzzy, no-wrap
msgid "{Procedure} evaluate-search-paths search-paths directories [getenv]"
msgstr "{Procedure} evaluate-search-paths search-paths directories [getenv]"

#. type: deffn
#: guix-git/doc/guix.texi:11337
#, fuzzy
msgid "Evaluate @var{search-paths}, a list of search-path specifications, for @var{directories}, a list of directory names, and return a list of specification/value pairs.  Use @var{getenv} to determine the current settings and report only settings not already effective."
msgstr "评估 @var{search-paths},一个搜索路径规范的列表,针对 @var{directories},一个目录名称的列表,并返回一个规范/值对的列表。使用 @var{getenv} 来确定当前设置,并仅报告尚未生效的设置。"

#. type: Plain text
#: guix-git/doc/guix.texi:11341
#, fuzzy
msgid "The @code{(guix profiles)} provides a higher-level helper procedure, @code{load-profile}, that sets the environment variables of a profile."
msgstr "@code{(guix profiles)} 提供了一个更高级的辅助过程 @code{load-profile},用于设置配置文件的环境变量。"

#. type: cindex
#: guix-git/doc/guix.texi:11346
#, fuzzy, no-wrap
msgid "store items"
msgstr "存储项"

#. type: cindex
#: guix-git/doc/guix.texi:11347
#, fuzzy, no-wrap
msgid "store paths"
msgstr "存储路径"

#. type: Plain text
#: guix-git/doc/guix.texi:11358
#, fuzzy
msgid "Conceptually, the @dfn{store} is the place where derivations that have been built successfully are stored---by default, @file{/gnu/store}.  Sub-directories in the store are referred to as @dfn{store items} or sometimes @dfn{store paths}.  The store has an associated database that contains information such as the store paths referred to by each store path, and the list of @emph{valid} store items---results of successful builds.  This database resides in @file{@var{localstatedir}/guix/db}, where @var{localstatedir} is the state directory specified @i{via} @option{--localstatedir} at configure time, usually @file{/var}."
msgstr "从概念上讲,@dfn{store} 是成功构建的派生项存储的地方——默认情况下为 @file{/gnu/store}。存储中的子目录称为 @dfn{store items} 或有时称为 @dfn{store paths}。存储有一个关联的数据库,包含每个存储路径所引用的存储路径的信息,以及 @emph{有效} 存储项的列表——成功构建的结果。该数据库位于 @file{@var{localstatedir}/guix/db},其中 @var{localstatedir} 是在配置时通过 @option{--localstatedir} 指定的状态目录,通常为 @file{/var}。"

#. type: Plain text
#: guix-git/doc/guix.texi:11363
#, fuzzy
msgid "The store is @emph{always} accessed by the daemon on behalf of its clients (@pxref{Invoking guix-daemon}).  To manipulate the store, clients connect to the daemon over a Unix-domain socket, send requests to it, and read the result---these are remote procedure calls, or RPCs."
msgstr "商店始终由守护进程代表其客户端访问(参见 @pxref{Invoking guix-daemon})。要操作商店,客户端通过 Unix 域套接字连接到守护进程,向其发送请求,并读取结果——这些是远程过程调用,或称 RPC。"

#. type: quotation
#: guix-git/doc/guix.texi:11368
#, fuzzy
msgid "Users must @emph{never} modify files under @file{/gnu/store} directly.  This would lead to inconsistencies and break the immutability assumptions of Guix's functional model (@pxref{Introduction})."
msgstr "用户绝对不能直接修改 @file{/gnu/store} 下的文件。这将导致不一致,并破坏 Guix 功能模型的不可变性假设(参见 @pxref{Introduction})。"

#. type: quotation
#: guix-git/doc/guix.texi:11372
#, fuzzy
msgid "@xref{Invoking guix gc, @command{guix gc --verify}}, for information on how to check the integrity of the store and attempt recovery from accidental modifications."
msgstr "有关如何检查商店的完整性并尝试从意外修改中恢复的信息,请参见 @xref{Invoking guix gc, @command{guix gc --verify}}。"

#. type: Plain text
#: guix-git/doc/guix.texi:11379
#, fuzzy
msgid "The @code{(guix store)} module provides procedures to connect to the daemon, and to perform RPCs.  These are described below.  By default, @code{open-connection}, and thus all the @command{guix} commands, connect to the local daemon or to the URI specified by the @env{GUIX_DAEMON_SOCKET} environment variable."
msgstr "@code{(guix store)} 模块提供了连接到守护进程和执行 RPC 的过程。这些将在下面描述。默认情况下,@code{open-connection},因此所有 @command{guix} 命令,连接到本地守护进程或 @env{GUIX_DAEMON_SOCKET} 环境变量指定的 URI。"

#. type: defvr
#: guix-git/doc/guix.texi:11380
#, fuzzy, no-wrap
msgid "{Environment Variable} GUIX_DAEMON_SOCKET"
msgstr "{环境变量} GUIX_DAEMON_SOCKET"

#. type: defvr
#: guix-git/doc/guix.texi:11385
#, fuzzy
msgid "When set, the value of this variable should be a file name or a URI designating the daemon endpoint.  When it is a file name, it denotes a Unix-domain socket to connect to.  In addition to file names, the supported URI schemes are:"
msgstr "设置时,此变量的值应为文件名或指定守护进程端点的 URI。当它是文件名时,它表示要连接的 Unix 域套接字。除了文件名,支持的 URI 方案包括:"

#. type: itemx
#: guix-git/doc/guix.texi:11388
#, fuzzy, no-wrap
msgid "unix"
msgstr "unix"

#. type: table
#: guix-git/doc/guix.texi:11392
#, fuzzy
msgid "These are for Unix-domain sockets.  @code{file:///var/guix/daemon-socket/socket} is equivalent to @file{/var/guix/daemon-socket/socket}."
msgstr "这些是用于 Unix 域套接字的。@code{file:///var/guix/daemon-socket/socket} 等同于 @file{/var/guix/daemon-socket/socket}。"

#. type: table
#: guix-git/doc/guix.texi:11401
#, fuzzy
msgid "These URIs denote connections over TCP/IP, without encryption nor authentication of the remote host.  The URI must specify the host name and optionally a port number (by default port 44146 is used):"
msgstr "这些 URI 表示通过 TCP/IP 进行连接,不对远程主机进行加密或身份验证。URI 必须指定主机名,并可选择性地指定端口号(默认使用端口 44146):"

#. type: example
#: guix-git/doc/guix.texi:11404
#, fuzzy, no-wrap
msgid "guix://master.guix.example.org:1234\n"
msgstr "guix://master.guix.example.org:1234\n"

#. type: table
#: guix-git/doc/guix.texi:11409
#, fuzzy
msgid "This setup is suitable on local networks, such as clusters, where only trusted nodes may connect to the build daemon at @code{master.guix.example.org}."
msgstr "此设置适用于本地网络,例如集群,只有受信任的节点可以连接到 @code{master.guix.example.org} 的构建守护进程。"

#. type: table
#: guix-git/doc/guix.texi:11413
#, fuzzy
msgid "The @option{--listen} option of @command{guix-daemon} can be used to instruct it to listen for TCP connections (@pxref{Invoking guix-daemon, @option{--listen}})."
msgstr "@command{guix-daemon} 的 @option{--listen} 选项可用于指示它监听 TCP 连接(参见 @pxref{Invoking guix-daemon, @option{--listen}})。"

#. type: item
#: guix-git/doc/guix.texi:11414
#, fuzzy, no-wrap
msgid "ssh"
msgstr "ssh"

#. type: cindex
#: guix-git/doc/guix.texi:11415
#, fuzzy, no-wrap
msgid "SSH access to build daemons"
msgstr "对构建守护进程的 SSH 访问"

#. type: table
#: guix-git/doc/guix.texi:11421
#, fuzzy
msgid "These URIs allow you to connect to a remote daemon over SSH@.  This feature requires Guile-SSH (@pxref{Requirements}) and a working @command{guile} binary in @env{PATH} on the destination machine.  It supports public key and GSSAPI authentication.  A typical URL might look like this:"
msgstr "这些 URI 允许您通过 SSH 连接到远程守护进程。此功能需要 Guile-SSH(参见 @pxref{Requirements})和目标机器上 @env{PATH} 中的有效 @command{guile} 二进制文件。它支持公钥和 GSSAPI 身份验证。一个典型的 URL 可能如下所示:"

#. type: example
#: guix-git/doc/guix.texi:11424
#, fuzzy, no-wrap
msgid "ssh://charlie@@guix.example.org:22\n"
msgstr "ssh://charlie@@guix.example.org:22\n"

#. type: table
#: guix-git/doc/guix.texi:11428
#, fuzzy
msgid "As for @command{guix copy}, the usual OpenSSH client configuration files are honored (@pxref{Invoking guix copy})."
msgstr "至于 @command{guix copy},通常的 OpenSSH 客户端配置文件会被遵循 (@pxref{Invoking guix copy})。"

#. type: defvr
#: guix-git/doc/guix.texi:11431
#, fuzzy
msgid "Additional URI schemes may be supported in the future."
msgstr "未来可能会支持其他 URI 方案。"

#. type: quotation
#: guix-git/doc/guix.texi:11438
#, fuzzy
msgid "The ability to connect to remote build daemons is considered experimental as of @value{VERSION}.  Please get in touch with us to share any problems or suggestions you may have (@pxref{Contributing})."
msgstr "连接到远程构建守护进程的能力在 @value{VERSION} 时被视为实验性。请与我们联系,分享您可能遇到的任何问题或建议 (@pxref{Contributing})。"

#. type: deffn
#: guix-git/doc/guix.texi:11441
#, fuzzy, no-wrap
msgid "{Procedure} open-connection [uri] [#:reserve-space? #t]"
msgstr "{Procedure} open-connection [uri] [#:reserve-space? #t]"

#. type: deffn
#: guix-git/doc/guix.texi:11446
#, fuzzy
msgid "Connect to the daemon over the Unix-domain socket at @var{uri} (a string).  When @var{reserve-space?} is true, instruct it to reserve a little bit of extra space on the file system so that the garbage collector can still operate should the disk become full.  Return a server object."
msgstr "通过 @var{uri}(一个字符串)连接到 Unix 域套接字上的守护进程。当 @var{reserve-space?} 为真时,指示它在文件系统上保留一点额外空间,以便在磁盘满时垃圾收集器仍然可以操作。返回一个服务器对象。"

#. type: deffn
#: guix-git/doc/guix.texi:11449
#, fuzzy
msgid "@var{file} defaults to @code{%default-socket-path}, which is the normal location given the options that were passed to @command{configure}."
msgstr "@var{file} 默认为 @code{%default-socket-path},这是根据传递给 @command{configure} 的选项给出的正常位置。"

#. type: deffn
#: guix-git/doc/guix.texi:11451
#, fuzzy, no-wrap
msgid "{Procedure} close-connection server"
msgstr "{Procedure} close-connection server"

#. type: deffn
#: guix-git/doc/guix.texi:11453
#, fuzzy
msgid "Close the connection to @var{server}."
msgstr "关闭与 @var{server} 的连接。"

#. type: defvar
#: guix-git/doc/guix.texi:11455
#, fuzzy, no-wrap
msgid "current-build-output-port"
msgstr "current-build-output-port"

#. type: defvar
#: guix-git/doc/guix.texi:11458
#, fuzzy
msgid "This variable is bound to a SRFI-39 parameter, which refers to the port where build and error logs sent by the daemon should be written."
msgstr "此变量绑定到 SRFI-39 参数,指的是守护进程应写入构建和错误日志的端口。"

#. type: Plain text
#: guix-git/doc/guix.texi:11462
#, fuzzy
msgid "Procedures that make RPCs all take a server object as their first argument."
msgstr "进行 RPC 的过程都将服务器对象作为其第一个参数。"

#. type: cindex
#: guix-git/doc/guix.texi:11463
#, fuzzy, no-wrap
msgid "invalid store items"
msgstr "无效的存储项"

#. type: deffn
#: guix-git/doc/guix.texi:11464
#, fuzzy, no-wrap
msgid "{Procedure} valid-path? server path"
msgstr "{Procedure} valid-path? server path"

#. type: deffn
#: guix-git/doc/guix.texi:11469
#, fuzzy
msgid "Return @code{#t} when @var{path} designates a valid store item and @code{#f} otherwise (an invalid item may exist on disk but still be invalid, for instance because it is the result of an aborted or failed build)."
msgstr "当 @var{path} 指定一个有效的存储项时返回 @code{#t},否则返回 @code{#f}(无效项可能存在于磁盘上,但仍然无效,例如因为它是中止或失败构建的结果)。"

#. type: deffn
#: guix-git/doc/guix.texi:11472
#, fuzzy
msgid "A @code{&store-protocol-error} condition is raised if @var{path} is not prefixed by the store directory (@file{/gnu/store})."
msgstr "如果 @var{path} 没有以存储目录 (@file{/gnu/store}) 为前缀,则会引发 @code{&store-protocol-error} 条件。"

#. type: deffn
#: guix-git/doc/guix.texi:11474
#, fuzzy, no-wrap
msgid "{Procedure} add-text-to-store server name text [references]"
msgstr "{Procedure} add-text-to-store server name text [references]"

#. type: deffn
#: guix-git/doc/guix.texi:11478
#, fuzzy
msgid "Add @var{text} under file @var{name} in the store, and return its store path.  @var{references} is the list of store paths referred to by the resulting store path."
msgstr "在存储中以 @var{name} 的文件下添加 @var{text},并返回其存储路径。@var{references} 是结果存储路径所引用的存储路径列表。"

#. type: deffn
#: guix-git/doc/guix.texi:11480
#, fuzzy, no-wrap
msgid "{Procedure} build-derivations store derivations [mode]"
msgstr "{Procedure} build-derivations store derivations [mode]"

#. type: deffn
#: guix-git/doc/guix.texi:11484
#, fuzzy
msgid "Build @var{derivations}, a list of @code{<derivation>} objects, @file{.drv} file names, or derivation/output pairs, using the specified @var{mode}---@code{(build-mode normal)} by default."
msgstr "构建 @var{derivations},一个 @code{<derivation>} 对象、@file{.drv} 文件名或推导/输出对的列表,使用指定的 @var{mode}——默认情况下为 @code{(build-mode normal)}。"

#. type: Plain text
#: guix-git/doc/guix.texi:11490
#, fuzzy
msgid "Note that the @code{(guix monads)} module provides a monad as well as monadic versions of the above procedures, with the goal of making it more convenient to work with code that accesses the store (@pxref{The Store Monad})."
msgstr "请注意,@code{(guix monads)}模块提供了一种单子以及上述过程的单子版本,旨在使访问存储的代码更方便(@pxref{The Store Monad})。"

#. type: i{#1}
#: guix-git/doc/guix.texi:11493
#, fuzzy
msgid "This section is currently incomplete."
msgstr "本节目前尚不完整。"

#. type: cindex
#: guix-git/doc/guix.texi:11497
#, fuzzy, no-wrap
msgid "derivations"
msgstr "派生"

#. type: Plain text
#: guix-git/doc/guix.texi:11501
#, fuzzy
msgid "Low-level build actions and the environment in which they are performed are represented by @dfn{derivations}.  A derivation contains the following pieces of information:"
msgstr "低级构建操作及其执行环境由@dfn{派生}表示。一个派生包含以下信息:"

#. type: itemize
#: guix-git/doc/guix.texi:11506
#, fuzzy
msgid "The outputs of the derivation---derivations produce at least one file or directory in the store, but may produce more."
msgstr "派生的输出——派生至少会在存储中生成一个文件或目录,但可能会生成更多。"

#. type: cindex
#: guix-git/doc/guix.texi:11508
#, fuzzy, no-wrap
msgid "build-time dependencies"
msgstr "构建时依赖"

#. type: cindex
#: guix-git/doc/guix.texi:11509
#, fuzzy, no-wrap
msgid "dependencies, build-time"
msgstr "依赖,构建时"

#. type: itemize
#: guix-git/doc/guix.texi:11513
#, fuzzy
msgid "The inputs of the derivation---i.e., its build-time dependencies---which may be other derivations or plain files in the store (patches, build scripts, etc.)."
msgstr "派生的输入——即其构建时依赖——可以是其他派生或存储中的普通文件(补丁、构建脚本等)。"

#. type: itemize
#: guix-git/doc/guix.texi:11516
#, fuzzy
msgid "The system type targeted by the derivation---e.g., @code{x86_64-linux}."
msgstr "派生所针对的系统类型——例如,@code{x86_64-linux}。"

#. type: itemize
#: guix-git/doc/guix.texi:11520
#, fuzzy
msgid "The file name of a build script in the store, along with the arguments to be passed."
msgstr "存储中构建脚本的文件名,以及要传递的参数。"

#. type: itemize
#: guix-git/doc/guix.texi:11523
#, fuzzy
msgid "A list of environment variables to be defined."
msgstr "要定义的环境变量列表。"

#. type: cindex
#: guix-git/doc/guix.texi:11526
#, fuzzy, no-wrap
msgid "derivation path"
msgstr "派生路径"

#. type: Plain text
#: guix-git/doc/guix.texi:11534
#, fuzzy
msgid "Derivations allow clients of the daemon to communicate build actions to the store.  They exist in two forms: as an in-memory representation, both on the client- and daemon-side, and as files in the store whose name end in @file{.drv}---these files are referred to as @dfn{derivation paths}.  Derivations paths can be passed to the @code{build-derivations} procedure to perform the build actions they prescribe (@pxref{The Store})."
msgstr "派生允许守护进程的客户端与存储通信构建操作。它们以两种形式存在:作为内存中的表示,既在客户端也在守护进程端,以及作为存储中以@file{.drv}结尾的文件——这些文件被称为@dfn{派生路径}。派生路径可以传递给@code{build-derivations}过程以执行它们所规定的构建操作(@pxref{The Store})。"

#. type: cindex
#: guix-git/doc/guix.texi:11535
#, fuzzy, no-wrap
msgid "fixed-output derivations"
msgstr "固定输出派生"

#. type: Plain text
#: guix-git/doc/guix.texi:11542
#, fuzzy
msgid "Operations such as file downloads and version-control checkouts for which the expected content hash is known in advance are modeled as @dfn{fixed-output derivations}.  Unlike regular derivations, the outputs of a fixed-output derivation are independent of its inputs---e.g., a source code download produces the same result regardless of the download method and tools being used."
msgstr "已知预期内容哈希的操作,如文件下载和版本控制检出,被建模为@dfn{固定输出派生}。与常规派生不同,固定输出派生的输出独立于其输入——例如,源代码下载无论使用何种下载方法和工具,都会产生相同的结果。"

#. type: item
#: guix-git/doc/guix.texi:11543 guix-git/doc/guix.texi:16046
#, fuzzy, no-wrap
msgid "references"
msgstr "参考"

#. type: cindex
#: guix-git/doc/guix.texi:11544
#, fuzzy, no-wrap
msgid "run-time dependencies"
msgstr "运行时依赖"

#. type: cindex
#: guix-git/doc/guix.texi:11545
#, fuzzy, no-wrap
msgid "dependencies, run-time"
msgstr "依赖,运行时"

#. type: Plain text
#: guix-git/doc/guix.texi:11552
#, fuzzy
msgid "The outputs of derivations---i.e., the build results---have a set of @dfn{references}, as reported by the @code{references} RPC or the @command{guix gc --references} command (@pxref{Invoking guix gc}).  References are the set of run-time dependencies of the build results.  References are a subset of the inputs of the derivation; this subset is automatically computed by the build daemon by scanning all the files in the outputs."
msgstr "派生的输出——即构建结果——具有一组@dfn{参考},由@code{references} RPC或@command{guix gc --references}命令报告(@pxref{Invoking guix gc})。参考是构建结果的运行时依赖集。参考是派生输入的一个子集;这个子集由构建守护进程通过扫描所有输出文件自动计算得出。"

#. type: Plain text
#: guix-git/doc/guix.texi:11557
#, fuzzy
msgid "The @code{(guix derivations)} module provides a representation of derivations as Scheme objects, along with procedures to create and otherwise manipulate derivations.  The lowest-level primitive to create a derivation is the @code{derivation} procedure:"
msgstr "@code{(guix derivations)}模块提供了将推导表示为Scheme对象的功能,以及创建和操作推导的过程。创建推导的最低级原语是@code{derivation}过程:"

#. type: deffn
#: guix-git/doc/guix.texi:11558
#, fuzzy, no-wrap
msgid "{Procedure} derivation store name builder args @"
msgstr "{Procedure} derivation store name builder args @"

#. type: deffn
#: guix-git/doc/guix.texi:11567
#, fuzzy
msgid "[#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:inputs '()] [#:env-vars '()] @ [#:system (%current-system)] [#:references-graphs #f] @ [#:allowed-references #f] [#:disallowed-references #f] @ [#:leaked-env-vars #f] [#:local-build? #f] @ [#:substitutable? #t] [#:properties '()] Build a derivation with the given arguments, and return the resulting @code{<derivation>} object."
msgstr "[#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:inputs '()] [#:env-vars '()] @ [#:system (%current-system)] [#:references-graphs #f] @ [#:allowed-references #f] [#:disallowed-references #f] @ [#:leaked-env-vars #f] [#:local-build? #f] @ [#:substitutable? #t] [#:properties '()] 使用给定的参数构建推导,并返回结果@code{<derivation>}对象。"

#. type: deffn
#: guix-git/doc/guix.texi:11574
#, fuzzy
msgid "When @var{hash} and @var{hash-algo} are given, a @dfn{fixed-output derivation} is created---i.e., one whose result is known in advance, such as a file download.  If, in addition, @var{recursive?} is true, then that fixed output may be an executable file or a directory and @var{hash} must be the hash of an archive containing this output."
msgstr "当@var{hash}和@var{hash-algo}被给定时,会创建一个@dfn{固定输出推导}——即,其结果是预先已知的,例如文件下载。如果此外@var{recursive?}为真,则该固定输出可以是可执行文件或目录,并且@var{hash}必须是包含该输出的归档的哈希。"

#. type: deffn
#: guix-git/doc/guix.texi:11579
#, fuzzy
msgid "When @var{references-graphs} is true, it must be a list of file name/store path pairs.  In that case, the reference graph of each store path is exported in the build environment in the corresponding file, in a simple text format."
msgstr "当@var{references-graphs}为真时,它必须是文件名/存储路径对的列表。在这种情况下,每个存储路径的引用图将在相应文件中以简单文本格式导出到构建环境中。"

#. type: deffn
#: guix-git/doc/guix.texi:11584
#, fuzzy
msgid "When @var{allowed-references} is true, it must be a list of store items or outputs that the derivation's output may refer to.  Likewise, @var{disallowed-references}, if true, must be a list of things the outputs may @emph{not} refer to."
msgstr "当@var{allowed-references}为真时,它必须是推导输出可能引用的存储项或输出的列表。同样,如果@var{disallowed-references}为真,则必须是输出可能@emph{不}引用的事物的列表。"

#. type: deffn
#: guix-git/doc/guix.texi:11591
#, fuzzy
msgid "When @var{leaked-env-vars} is true, it must be a list of strings denoting environment variables that are allowed to ``leak'' from the daemon's environment to the build environment.  This is only applicable to fixed-output derivations---i.e., when @var{hash} is true.  The main use is to allow variables such as @code{http_proxy} to be passed to derivations that download files."
msgstr "当@var{leaked-env-vars}为真时,它必须是一个字符串列表,表示允许从守护进程的环境“泄漏”到构建环境的环境变量。这仅适用于固定输出推导——即,当@var{hash}为真时。主要用途是允许诸如@code{http_proxy}之类的变量传递给下载文件的推导。"

#. type: deffn
#: guix-git/doc/guix.texi:11596
#, fuzzy
msgid "When @var{local-build?} is true, declare that the derivation is not a good candidate for offloading and should rather be built locally (@pxref{Daemon Offload Setup}).  This is the case for small derivations where the costs of data transfers would outweigh the benefits."
msgstr "当@var{local-build?}为真时,声明该推导不是一个好的离线候选者,应该在本地构建(@pxref{Daemon Offload Setup})。对于小型推导,数据传输的成本将超过收益。"

#. type: deffn
#: guix-git/doc/guix.texi:11601
#, fuzzy
msgid "When @var{substitutable?} is false, declare that substitutes of the derivation's output should not be used (@pxref{Substitutes}).  This is useful, for instance, when building packages that capture details of the host CPU instruction set."
msgstr "当 @var{substitutable?} 为假时,声明衍生输出的替代品不应被使用 (@pxref{Substitutes})。这在构建捕获主机 CPU 指令集细节的包时非常有用。"

#. type: deffn
#: guix-git/doc/guix.texi:11604
#, fuzzy
msgid "@var{properties} must be an association list describing ``properties'' of the derivation.  It is kept as-is, uninterpreted, in the derivation."
msgstr "@var{properties} 必须是一个描述衍生“属性”的关联列表。它在衍生中保持原样,不被解释。"

#. type: Plain text
#: guix-git/doc/guix.texi:11610
#, fuzzy
msgid "Here's an example with a shell script as its builder, assuming @var{store} is an open connection to the daemon, and @var{bash} points to a Bash executable in the store:"
msgstr "这是一个示例,使用 shell 脚本作为构建器,假设 @var{store} 是与守护进程的开放连接,@var{bash} 指向存储中的 Bash 可执行文件:"

#. type: lisp
#: guix-git/doc/guix.texi:11615
#, fuzzy, no-wrap
msgid ""
"(use-modules (guix utils)\n"
"             (guix store)\n"
"             (guix derivations))\n"
"\n"
msgstr ""
"(use-modules (guix utils)\n"
"             (guix store)\n"
"             (guix derivations))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:11624
#, fuzzy, no-wrap
msgid ""
"(let ((builder   ; add the Bash script to the store\n"
"        (add-text-to-store store \"my-builder.sh\"\n"
"                           \"echo hello world > $out\\n\" '())))\n"
"  (derivation store \"foo\"\n"
"              bash `(\"-e\" ,builder)\n"
"              #:inputs `((,bash) (,builder))\n"
"              #:env-vars '((\"HOME\" . \"/homeless\"))))\n"
"@result{} #<derivation /gnu/store/@dots{}-foo.drv => /gnu/store/@dots{}-foo>\n"
msgstr ""
"(let ((builder   ; 将 Bash 脚本添加到存储中\n"
"        (add-text-to-store store \"my-builder.sh\"\n"
"                           \"echo hello world > $out\\n\" '())))\n"
"  (derivation store \"foo\"\n"
"              bash `(\"-e\" ,builder)\n"
"              #:inputs `((,bash) (,builder))\n"
"              #:env-vars '((\"HOME\" . \"/homeless\"))))\n"
"@result{} #<derivation /gnu/store/@dots{}-foo.drv => /gnu/store/@dots{}-foo>\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11631
#, fuzzy
msgid "As can be guessed, this primitive is cumbersome to use directly.  A better approach is to write build scripts in Scheme, of course! The best course of action for that is to write the build code as a ``G-expression'', and to pass it to @code{gexp->derivation}.  For more information, @pxref{G-Expressions}."
msgstr "可以猜测,这个原语直接使用起来很麻烦。当然,更好的方法是用 Scheme 编写构建脚本!最好的做法是将构建代码写成“G 表达式”,并将其传递给 @code{gexp->derivation}。有关更多信息,请参见 @pxref{G-Expressions}。"

#. type: Plain text
#: guix-git/doc/guix.texi:11636
#, fuzzy
msgid "Once upon a time, @code{gexp->derivation} did not exist and constructing derivations with build code written in Scheme was achieved with @code{build-expression->derivation}, documented below.  This procedure is now deprecated in favor of the much nicer @code{gexp->derivation}."
msgstr "曾几何时,@code{gexp->derivation} 并不存在,使用 Scheme 编写的构建代码构造衍生是通过 @code{build-expression->derivation} 实现的,下面有文档。这个过程现在已被弃用,取而代之的是更好的 @code{gexp->derivation}。"

#. type: deffn
#: guix-git/doc/guix.texi:11637
#, fuzzy, no-wrap
msgid "{Procedure} build-expression->derivation store name exp @"
msgstr "{过程} build-expression->derivation store name exp @"

#. type: deffn
#: guix-git/doc/guix.texi:11652
#, fuzzy
msgid "[#:system (%current-system)] [#:inputs '()] @ [#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ [#:references-graphs #f] [#:allowed-references #f] @ [#:disallowed-references #f] @ [#:local-build? #f] [#:substitutable? #t] [#:guile-for-build #f] Return a derivation that executes Scheme expression @var{exp} as a builder for derivation @var{name}.  @var{inputs} must be a list of @code{(name drv-path sub-drv)} tuples; when @var{sub-drv} is omitted, @code{\"out\"} is assumed.  @var{modules} is a list of names of Guile modules from the current search path to be copied in the store, compiled, and made available in the load path during the execution of @var{exp}---e.g., @code{((guix build utils) (guix build gnu-build-system))}."
msgstr "[#:system (%current-system)] [#:inputs '()] @ [#:outputs '(\"out\")] [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ [#:references-graphs #f] [#:allowed-references #f] @ [#:disallowed-references #f] @ [#:local-build? #f] [#:substitutable? #t] [#:guile-for-build #f] 返回一个衍生,它将 Scheme 表达式 @var{exp} 作为衍生 @var{name} 的构建器执行。@var{inputs} 必须是 @code{(name drv-path sub-drv)} 元组的列表;当省略 @var{sub-drv} 时,假定为 @code{\"out\"}。@var{modules} 是一个 Guile 模块名称的列表,这些模块来自当前搜索路径,将被复制到存储中,编译,并在执行 @var{exp} 时可用在加载路径中——例如,@code{((guix build utils) (guix build gnu-build-system))}。"

#. type: deffn
#: guix-git/doc/guix.texi:11660
#, fuzzy
msgid "@var{exp} is evaluated in an environment where @code{%outputs} is bound to a list of output/path pairs, and where @code{%build-inputs} is bound to a list of string/output-path pairs made from @var{inputs}.  Optionally, @var{env-vars} is a list of string pairs specifying the name and value of environment variables visible to the builder.  The builder terminates by passing the result of @var{exp} to @code{exit}; thus, when @var{exp} returns @code{#f}, the build is considered to have failed."
msgstr "@var{exp} 在一个环境中被评估,其中 @code{%outputs} 绑定到一对输出/路径的列表,而 @code{%build-inputs} 绑定到由 @var{inputs} 制成的字符串/输出路径对的列表。可选地,@var{env-vars} 是一个字符串对的列表,指定可见于构建器的环境变量的名称和值。构建器通过将 @var{exp} 的结果传递给 @code{exit} 来终止;因此,当 @var{exp} 返回 @code{#f} 时,构建被视为失败。"

#. type: deffn
#: guix-git/doc/guix.texi:11664
#, fuzzy
msgid "@var{exp} is built using @var{guile-for-build} (a derivation).  When @var{guile-for-build} is omitted or is @code{#f}, the value of the @code{%guile-for-build} fluid is used instead."
msgstr "@var{exp} 是使用 @var{guile-for-build}(一个派生物)构建的。当 @var{guile-for-build} 被省略或为 @code{#f} 时,将使用 @code{%guile-for-build} 流体的值。"

#. type: deffn
#: guix-git/doc/guix.texi:11669
#, fuzzy
msgid "See the @code{derivation} procedure for the meaning of @var{references-graphs}, @var{allowed-references}, @var{disallowed-references}, @var{local-build?}, and @var{substitutable?}."
msgstr "请参阅 @code{derivation} 过程以了解 @var{references-graphs}、@var{allowed-references}、@var{disallowed-references}、@var{local-build?} 和 @var{substitutable?} 的含义。"

#. type: Plain text
#: guix-git/doc/guix.texi:11674
#, fuzzy
msgid "Here's an example of a single-output derivation that creates a directory containing one file:"
msgstr "这是一个创建包含一个文件的目录的单输出派生物的示例:"

#. type: lisp
#: guix-git/doc/guix.texi:11682
#, fuzzy, no-wrap
msgid ""
"(let ((builder '(let ((out (assoc-ref %outputs \"out\")))\n"
"                  (mkdir out)    ; create /gnu/store/@dots{}-goo\n"
"                  (call-with-output-file (string-append out \"/test\")\n"
"                    (lambda (p)\n"
"                      (display '(hello guix) p))))))\n"
"  (build-expression->derivation store \"goo\" builder))\n"
"\n"
msgstr ""
"(let ((builder '(let ((out (assoc-ref %outputs \"out\")))\n"
"                  (mkdir out)    ; 创建 /gnu/store/@dots{}-goo\n"
"                  (call-with-output-file (string-append out \"/test\")\n"
"                    (lambda (p)\n"
"                      (display '(hello guix) p))))))\n"
"  (build-expression->derivation store \"goo\" builder))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:11684
#, fuzzy, no-wrap
msgid "@result{} #<derivation /gnu/store/@dots{}-goo.drv => @dots{}>\n"
msgstr "@result{} #<derivation /gnu/store/@dots{}-goo.drv => @dots{}>\n"

#. type: cindex
#: guix-git/doc/guix.texi:11690
#, fuzzy, no-wrap
msgid "monad"
msgstr "单子"

#. type: Plain text
#: guix-git/doc/guix.texi:11696
#, fuzzy
msgid "The procedures that operate on the store described in the previous sections all take an open connection to the build daemon as their first argument.  Although the underlying model is functional, they either have side effects or depend on the current state of the store."
msgstr "前面部分描述的操作存储的过程都将一个打开的构建守护进程连接作为它们的第一个参数。尽管底层模型是函数式的,但它们要么有副作用,要么依赖于存储的当前状态。"

#. type: Plain text
#: guix-git/doc/guix.texi:11702
#, fuzzy
msgid "The former is inconvenient: the connection to the build daemon has to be carried around in all those functions, making it impossible to compose functions that do not take that parameter with functions that do.  The latter can be problematic: since store operations have side effects and/or depend on external state, they have to be properly sequenced."
msgstr "前者是不方便的:与构建守护进程的连接必须在所有这些函数中携带,这使得无法将不接受该参数的函数与接受该参数的函数组合。后者可能会出现问题:由于存储操作具有副作用和/或依赖于外部状态,因此必须正确排序。"

#. type: cindex
#: guix-git/doc/guix.texi:11703
#, fuzzy, no-wrap
msgid "monadic values"
msgstr "单子值"

#. type: cindex
#: guix-git/doc/guix.texi:11704
#, fuzzy, no-wrap
msgid "monadic functions"
msgstr "单子函数"

#. type: Plain text
#: guix-git/doc/guix.texi:11714
#, fuzzy
msgid "This is where the @code{(guix monads)} module comes in.  This module provides a framework for working with @dfn{monads}, and a particularly useful monad for our uses, the @dfn{store monad}.  Monads are a construct that allows two things: associating ``context'' with values (in our case, the context is the store), and building sequences of computations (here computations include accesses to the store).  Values in a monad---values that carry this additional context---are called @dfn{monadic values}; procedures that return such values are called @dfn{monadic procedures}."
msgstr "这就是 @code{(guix monads)} 模块的用武之地。该模块提供了一个用于处理 @dfn{monads} 的框架,以及一个特别有用的单子,@dfn{store monad}。单子是一种构造,允许两件事:将“上下文”与值关联(在我们的情况下,上下文是存储),以及构建计算序列(这里的计算包括对存储的访问)。在单子中的值——携带此附加上下文的值——称为 @dfn{monadic values};返回此类值的过程称为 @dfn{monadic procedures}。"

#. type: Plain text
#: guix-git/doc/guix.texi:11716
#, fuzzy
msgid "Consider this ``normal'' procedure:"
msgstr "考虑这个``正常''的过程:"

#. type: lisp
#: guix-git/doc/guix.texi:11725
#, fuzzy, no-wrap
msgid ""
"(define (sh-symlink store)\n"
"  ;; Return a derivation that symlinks the 'bash' executable.\n"
"  (let* ((drv (package-derivation store bash))\n"
"         (out (derivation->output-path drv))\n"
"         (sh  (string-append out \"/bin/bash\")))\n"
"    (build-expression->derivation store \"sh\"\n"
"                                  `(symlink ,sh %output))))\n"
msgstr ""
"(define (sh-symlink store)\n"
"  ;; 返回一个符号链接'bash'可执行文件的派生。\n"
"  (let* ((drv (package-derivation store bash))\n"
"         (out (derivation->output-path drv))\n"
"         (sh  (string-append out \"/bin/bash\")))\n"
"    (build-expression->derivation store \"sh\"\n"
"                                  `(symlink ,sh %output))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11729
#, fuzzy
msgid "Using @code{(guix monads)} and @code{(guix gexp)}, it may be rewritten as a monadic function:"
msgstr "使用@code{(guix monads)}和@code{(guix gexp)},它可以被重写为一个单子函数:"

#. type: lisp
#: guix-git/doc/guix.texi:11737
#, fuzzy, no-wrap
msgid ""
"(define (sh-symlink)\n"
"  ;; Same, but return a monadic value.\n"
"  (mlet %store-monad ((drv (package->derivation bash)))\n"
"    (gexp->derivation \"sh\"\n"
"                      #~(symlink (string-append #$drv \"/bin/bash\")\n"
"                                 #$output))))\n"
msgstr ""
"(define (sh-symlink)\n"
"  ;; 相同,但返回一个单子值。\n"
"  (mlet %store-monad ((drv (package->derivation bash)))\n"
"    (gexp->derivation \"sh\"\n"
"                      #~(symlink (string-append #$drv \"/bin/bash\")\n"
"                                 #$output))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11744
#, fuzzy
msgid "There are several things to note in the second version: the @code{store} parameter is now implicit and is ``threaded'' in the calls to the @code{package->derivation} and @code{gexp->derivation} monadic procedures, and the monadic value returned by @code{package->derivation} is @dfn{bound} using @code{mlet} instead of plain @code{let}."
msgstr "在第二个版本中有几个要注意的地方:@code{store}参数现在是隐式的,并且在对@code{package->derivation}和@code{gexp->derivation}单子过程的调用中是``线程化''的,而@code{package->derivation}返回的单子值是通过@code{mlet}而不是普通的@code{let}来@dfn{绑定}的。"

#. type: Plain text
#: guix-git/doc/guix.texi:11748
#, fuzzy
msgid "As it turns out, the call to @code{package->derivation} can even be omitted since it will take place implicitly, as we will see later (@pxref{G-Expressions}):"
msgstr "事实证明,调用@code{package->derivation}甚至可以省略,因为它将隐式发生,正如我们稍后将看到的那样(@pxref{G-Expressions}):"

#. type: lisp
#: guix-git/doc/guix.texi:11754
#, fuzzy, no-wrap
msgid ""
"(define (sh-symlink)\n"
"  (gexp->derivation \"sh\"\n"
"                    #~(symlink (string-append #$bash \"/bin/bash\")\n"
"                               #$output)))\n"
msgstr ""
"(define (sh-symlink)\n"
"  (gexp->derivation \"sh\"\n"
"                    #~(symlink (string-append #$bash \"/bin/bash\")\n"
"                               #$output)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11763
#, fuzzy
msgid "Calling the monadic @code{sh-symlink} has no effect.  As someone once said, ``you exit a monad like you exit a building on fire: by running''.  So, to exit the monad and get the desired effect, one must use @code{run-with-store}:"
msgstr "调用单子@code{sh-symlink}没有效果。正如某人曾经说过的那样,``你像逃离着火的建筑一样退出单子:通过奔跑''。因此,要退出单子并获得所需的效果,必须使用@code{run-with-store}:"

#. type: lisp
#: guix-git/doc/guix.texi:11767
#, fuzzy, no-wrap
msgid ""
"(run-with-store (open-connection) (sh-symlink))\n"
"@result{} /gnu/store/...-sh-symlink\n"
msgstr ""
"(run-with-store (open-connection) (sh-symlink))\n"
"@result{} /gnu/store/...-sh-symlink\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11774
#, fuzzy
msgid "Note that the @code{(guix monad-repl)} module extends the Guile REPL with new ``commands'' to make it easier to deal with monadic procedures: @code{run-in-store}, and @code{enter-store-monad} (@pxref{Using Guix Interactively}).  The former is used to ``run'' a single monadic value through the store:"
msgstr "请注意,@code{(guix monad-repl)}模块扩展了Guile REPL,增加了新的``命令''以便更容易处理单子过程:@code{run-in-store}和@code{enter-store-monad}(@pxref{Using Guix Interactively})。前者用于通过存储``运行''单个单子值:"

#. type: example
#: guix-git/doc/guix.texi:11778
#, fuzzy, no-wrap
msgid ""
"scheme@@(guile-user)> ,run-in-store (package->derivation hello)\n"
"$1 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n"
msgstr ""
"scheme@@(guile-user)> ,run-in-store (package->derivation hello)\n"
"$1 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11782
#, fuzzy
msgid "The latter enters a recursive REPL, where all the return values are automatically run through the store:"
msgstr "后者进入一个递归的 REPL,其中所有返回值都会自动通过存储运行:"

#. type: example
#: guix-git/doc/guix.texi:11791
#, fuzzy, no-wrap
msgid ""
"scheme@@(guile-user)> ,enter-store-monad\n"
"store-monad@@(guile-user) [1]> (package->derivation hello)\n"
"$2 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n"
"store-monad@@(guile-user) [1]> (text-file \"foo\" \"Hello!\")\n"
"$3 = \"/gnu/store/@dots{}-foo\"\n"
"store-monad@@(guile-user) [1]> ,q\n"
"scheme@@(guile-user)>\n"
msgstr ""
"scheme@@(guile-user)> ,enter-store-monad\n"
"store-monad@@(guile-user) [1]> (package->derivation hello)\n"
"$2 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>\n"
"store-monad@@(guile-user) [1]> (text-file \"foo\" \"Hello!\")\n"
"$3 = \"/gnu/store/@dots{}-foo\"\n"
"store-monad@@(guile-user) [1]> ,q\n"
"scheme@@(guile-user)>\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11796
#, fuzzy
msgid "Note that non-monadic values cannot be returned in the @code{store-monad} REPL."
msgstr "请注意,非单子值不能在 @code{store-monad} REPL 中返回。"

#. type: Plain text
#: guix-git/doc/guix.texi:11799
#, fuzzy
msgid "Other meta-commands are available at the REPL, such as @code{,build} to build a file-like object (@pxref{Using Guix Interactively})."
msgstr "REPL 中还有其他元命令,例如 @code{,build} 用于构建文件对象 (@pxref{Using Guix Interactively})。"

#. type: Plain text
#: guix-git/doc/guix.texi:11802
#, fuzzy
msgid "The main syntactic forms to deal with monads in general are provided by the @code{(guix monads)} module and are described below."
msgstr "处理单子的主要语法形式由 @code{(guix monads)} 模块提供,下面将进行描述。"

#. type: defmac
#: guix-git/doc/guix.texi:11803
#, fuzzy, no-wrap
msgid "with-monad monad body @dots{}"
msgstr "with-monad monad body @dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:11806
#, fuzzy
msgid "Evaluate any @code{>>=} or @code{return} forms in @var{body} as being in @var{monad}."
msgstr "将 @var{body} 中的任何 @code{>>=} 或 @code{return} 形式视为在 @var{monad} 中。"

#. type: defmac
#: guix-git/doc/guix.texi:11808
#, fuzzy, no-wrap
msgid "return val"
msgstr "return val"

#. type: defmac
#: guix-git/doc/guix.texi:11810
#, fuzzy
msgid "Return a monadic value that encapsulates @var{val}."
msgstr "返回一个封装了 @var{val} 的单子值。"

#. type: defmac
#: guix-git/doc/guix.texi:11812
#, fuzzy, no-wrap
msgid ">>= mval mproc @dots{}"
msgstr ">>= mval mproc @dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:11819
#, fuzzy
msgid "@dfn{Bind} monadic value @var{mval}, passing its ``contents'' to monadic procedures @var{mproc}@dots{}@footnote{This operation is commonly referred to as ``bind'', but that name denotes an unrelated procedure in Guile.  Thus we use this somewhat cryptic symbol inherited from the Haskell language.}.  There can be one @var{mproc} or several of them, as in this example:"
msgstr "@dfn{绑定} 单子值 @var{mval},将其“内容”传递给单子过程 @var{mproc}@dots{}@footnote{此操作通常称为“绑定”,但该名称在 Guile 中表示一个无关的过程。因此我们使用这个从 Haskell 语言继承的稍显晦涩的符号。}。可以有一个 @var{mproc} 或多个,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:11827
#, fuzzy, no-wrap
msgid ""
"(run-with-state\n"
"    (with-monad %state-monad\n"
"      (>>= (return 1)\n"
"           (lambda (x) (return (+ 1 x)))\n"
"           (lambda (x) (return (* 2 x)))))\n"
"  'some-state)\n"
"\n"
msgstr ""
"(run-with-state\n"
"    (with-monad %state-monad\n"
"      (>>= (return 1)\n"
"           (lambda (x) (return (+ 1 x)))\n"
"           (lambda (x) (return (* 2 x)))))\n"
"  'some-state)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:11830
#, fuzzy, no-wrap
msgid ""
"@result{} 4\n"
"@result{} some-state\n"
msgstr ""
"@result{} 4\n"
"@result{} some-state\n"

#. type: defmac
#: guix-git/doc/guix.texi:11833
#, fuzzy, no-wrap
msgid "mlet monad ((var mval) @dots{}) body @dots{}"
msgstr "mlet monad ((var mval) @dots{}) body @dots{}"

#. type: defmacx
#: guix-git/doc/guix.texi:11834
#, fuzzy, no-wrap
msgid "mlet* monad ((var mval) @dots{}) body @dots{}"
msgstr "mlet* monad ((var mval) @dots{}) body @dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:11845
#, fuzzy
msgid "Bind the variables @var{var} to the monadic values @var{mval} in @var{body}, which is a sequence of expressions.  As with the bind operator, this can be thought of as ``unpacking'' the raw, non-monadic value ``contained'' in @var{mval} and making @var{var} refer to that raw, non-monadic value within the scope of the @var{body}.  The form (@var{var} -> @var{val}) binds @var{var} to the ``normal'' value @var{val}, as per @code{let}.  The binding operations occur in sequence from left to right.  The last expression of @var{body} must be a monadic expression, and its result will become the result of the @code{mlet} or @code{mlet*} when run in the @var{monad}."
msgstr "将变量 @var{var} 绑定到 @var{body} 中的单子值 @var{mval},这是一个表达式序列。与绑定运算符一样,这可以被视为“解包” @var{mval} 中“包含”的原始非单子值,并使 @var{var} 在 @var{body} 的范围内引用该原始非单子值。形式 (@var{var} -> @var{val}) 将 @var{var} 绑定到“正常”值 @var{val},如 @code{let} 所示。绑定操作按从左到右的顺序进行。@var{body} 的最后一个表达式必须是单子表达式,其结果将成为在 @var{monad} 中运行时的 @code{mlet} 或 @code{mlet*} 的结果。"

#. type: defmac
#: guix-git/doc/guix.texi:11848
#, fuzzy
msgid "@code{mlet*} is to @code{mlet} what @code{let*} is to @code{let} (@pxref{Local Bindings,,, guile, GNU Guile Reference Manual})."
msgstr "@code{mlet*} 对 @code{mlet} 的作用就像 @code{let*} 对 @code{let} 的作用一样 (@pxref{Local Bindings,,, guile, GNU Guile Reference Manual})."

#. type: defmac
#: guix-git/doc/guix.texi:11850
#, fuzzy, no-wrap
msgid "mbegin monad mexp @dots{}"
msgstr "mbegin monad mexp @dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:11854
#, fuzzy
msgid "Bind @var{mexp} and the following monadic expressions in sequence, returning the result of the last expression.  Every expression in the sequence must be a monadic expression."
msgstr "按顺序绑定 @var{mexp} 和后续的单子表达式,返回最后一个表达式的结果。序列中的每个表达式必须是单子表达式。"

#. type: defmac
#: guix-git/doc/guix.texi:11858
#, fuzzy
msgid "This is akin to @code{mlet}, except that the return values of the monadic expressions are ignored.  In that sense, it is analogous to @code{begin}, but applied to monadic expressions."
msgstr "这类似于 @code{mlet},只是单子表达式的返回值被忽略。从这个意义上说,它类似于 @code{begin},但应用于单子表达式。"

#. type: defmac
#: guix-git/doc/guix.texi:11860
#, fuzzy, no-wrap
msgid "mwhen condition mexp0 mexp* @dots{}"
msgstr "mwhen condition mexp0 mexp* @dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:11865
#, fuzzy
msgid "When @var{condition} is true, evaluate the sequence of monadic expressions @var{mexp0}..@var{mexp*} as in an @code{mbegin}.  When @var{condition} is false, return @code{*unspecified*} in the current monad.  Every expression in the sequence must be a monadic expression."
msgstr "当 @var{condition} 为真时,像在 @code{mbegin} 中一样评估单子表达式序列 @var{mexp0}..@var{mexp*}。当 @var{condition} 为假时,在当前单子中返回 @code{*unspecified*}。序列中的每个表达式必须是单子表达式。"

#. type: defmac
#: guix-git/doc/guix.texi:11867
#, fuzzy, no-wrap
msgid "munless condition mexp0 mexp* @dots{}"
msgstr "munless condition mexp0 mexp* @dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:11872
#, fuzzy
msgid "When @var{condition} is false, evaluate the sequence of monadic expressions @var{mexp0}..@var{mexp*} as in an @code{mbegin}.  When @var{condition} is true, return @code{*unspecified*} in the current monad.  Every expression in the sequence must be a monadic expression."
msgstr "当 @var{condition} 为假时,像在 @code{mbegin} 中一样评估单子表达式序列 @var{mexp0}..@var{mexp*}。当 @var{condition} 为真时,在当前单子中返回 @code{*unspecified*}。序列中的每个表达式必须是单子表达式。"

#. type: cindex
#: guix-git/doc/guix.texi:11874
#, fuzzy, no-wrap
msgid "state monad"
msgstr "状态单子"

#. type: Plain text
#: guix-git/doc/guix.texi:11878
#, fuzzy
msgid "The @code{(guix monads)} module provides the @dfn{state monad}, which allows an additional value---the state---to be @emph{threaded} through monadic procedure calls."
msgstr "@code{(guix monads)} 模块提供了 @dfn{状态单子},它允许一个额外的值——状态——在单子过程调用中被 @emph{传递}。"

#. type: defvar
#: guix-git/doc/guix.texi:11879
#, fuzzy, no-wrap
msgid "%state-monad"
msgstr "%state-monad"

#. type: defvar
#: guix-git/doc/guix.texi:11882
#, fuzzy
msgid "The state monad.  Procedures in the state monad can access and change the state that is threaded."
msgstr "状态单子。状态单子中的过程可以访问和更改被传递的状态。"

#. type: defvar
#: guix-git/doc/guix.texi:11886
#, fuzzy
msgid "Consider the example below.  The @code{square} procedure returns a value in the state monad.  It returns the square of its argument, but also increments the current state value:"
msgstr "考虑下面的示例。@code{square} 过程在状态单子中返回一个值。它返回其参数的平方,同时还增加当前状态值:"

#. type: lisp
#: guix-git/doc/guix.texi:11893
#, fuzzy, no-wrap
msgid ""
"(define (square x)\n"
"  (mlet %state-monad ((count (current-state)))\n"
"    (mbegin %state-monad\n"
"      (set-current-state (+ 1 count))\n"
"      (return (* x x)))))\n"
"\n"
msgstr ""
"(define (square x)\n"
"  (mlet %state-monad ((count (current-state)))\n"
"    (mbegin %state-monad\n"
"      (set-current-state (+ 1 count))\n"
"      (return (* x x)))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:11897
#, fuzzy, no-wrap
msgid ""
"(run-with-state (sequence %state-monad (map square (iota 3))) 0)\n"
"@result{} (0 1 4)\n"
"@result{} 3\n"
msgstr ""
"(run-with-state (sequence %state-monad (map square (iota 3))) 0)\n"
"@result{} (0 1 4)\n"
"@result{} 3\n"

#. type: defvar
#: guix-git/doc/guix.texi:11901
#, fuzzy
msgid "When ``run'' through @code{%state-monad}, we obtain that additional state value, which is the number of @code{square} calls."
msgstr "当通过 @code{%state-monad} ``运行'' 时,我们获得了那个额外的状态值,即 @code{square} 调用的数量。"

#. type: deffn
#: guix-git/doc/guix.texi:11903
#, fuzzy, no-wrap
msgid "{Monadic Procedure} current-state"
msgstr "{单子过程} current-state"

#. type: deffn
#: guix-git/doc/guix.texi:11905
#, fuzzy
msgid "Return the current state as a monadic value."
msgstr "将当前状态作为单子值返回。"

#. type: deffn
#: guix-git/doc/guix.texi:11907
#, fuzzy, no-wrap
msgid "{Monadic Procedure} set-current-state @var{value}"
msgstr "{单子程序} set-current-state @var{value}"

#. type: deffn
#: guix-git/doc/guix.texi:11910
#, fuzzy
msgid "Set the current state to @var{value} and return the previous state as a monadic value."
msgstr "将当前状态设置为 @var{value} 并返回前一个状态作为单子值。"

#. type: deffn
#: guix-git/doc/guix.texi:11912
#, fuzzy, no-wrap
msgid "{Monadic Procedure} state-push @var{value}"
msgstr "{单子过程} state-push @var{value}"

#. type: deffn
#: guix-git/doc/guix.texi:11915
#, fuzzy
msgid "Push @var{value} to the current state, which is assumed to be a list, and return the previous state as a monadic value."
msgstr "将 @var{value} 推送到当前状态,假设它是一个列表,并返回前一个状态作为单子值。"

#. type: deffn
#: guix-git/doc/guix.texi:11917
#, fuzzy, no-wrap
msgid "{Monadic Procedure} state-pop"
msgstr "{单子过程} state-pop"

#. type: deffn
#: guix-git/doc/guix.texi:11920
#, fuzzy
msgid "Pop a value from the current state and return it as a monadic value.  The state is assumed to be a list."
msgstr "从当前状态中弹出一个值并将其作为单子值返回。状态假设为一个列表。"

#. type: deffn
#: guix-git/doc/guix.texi:11922
#, fuzzy, no-wrap
msgid "{Procedure} run-with-state mval [state]"
msgstr "{过程} run-with-state mval [state]"

#. type: deffn
#: guix-git/doc/guix.texi:11925
#, fuzzy
msgid "Run monadic value @var{mval} starting with @var{state} as the initial state.  Return two values: the resulting value, and the resulting state."
msgstr "运行单子值 @var{mval},以 @var{state} 作为初始状态。返回两个值:结果值和结果状态。"

#. type: Plain text
#: guix-git/doc/guix.texi:11929
#, fuzzy
msgid "The main interface to the store monad, provided by the @code{(guix store)} module, is as follows."
msgstr "存储单子的主要接口,由 @code{(guix store)} 模块提供,如下所示。"

#. type: defvar
#: guix-git/doc/guix.texi:11930
#, fuzzy, no-wrap
msgid "%store-monad"
msgstr "%store-monad"

#. type: defvar
#: guix-git/doc/guix.texi:11932
#, fuzzy
msgid "The store monad---an alias for @code{%state-monad}."
msgstr "存储单子——@code{%state-monad} 的别名。"

#. type: defvar
#: guix-git/doc/guix.texi:11936
#, fuzzy
msgid "Values in the store monad encapsulate accesses to the store.  When its effect is needed, a value of the store monad must be ``evaluated'' by passing it to the @code{run-with-store} procedure (see below)."
msgstr "存储单子中的值封装了对存储的访问。当需要其效果时,必须通过将其传递给 @code{run-with-store} 过程来“评估”存储单子的值(见下文)。"

#. type: deffn
#: guix-git/doc/guix.texi:11938
#, fuzzy, no-wrap
msgid "{Procedure} run-with-store store mval @"
msgstr "{过程} run-with-store store mval @"

#. type: deffn
#: guix-git/doc/guix.texi:11942
#, fuzzy
msgid "[#:guile-for-build] [#:system (%current-system)] Run @var{mval}, a monadic value in the store monad, in @var{store}, an open store connection."
msgstr "[#:guile-for-build] [#:system (%current-system)] 在 @var{store} 中运行 @var{mval},这是存储单子中的一个单子值,@var{store} 是一个开放的存储连接。"

#. type: deffn
#: guix-git/doc/guix.texi:11944
#, fuzzy, no-wrap
msgid "{Monadic Procedure} text-file @var{name} @var{text} [@var{references}]"
msgstr "{单子过程} text-file @var{name} @var{text} [@var{references}]"

#. type: deffn
#: guix-git/doc/guix.texi:11948
#, fuzzy
msgid "Return as a monadic value the absolute file name in the store of the file containing @var{text}, a string.  @var{references} is a list of store items that the resulting text file refers to; it defaults to the empty list."
msgstr "作为单子值返回包含 @var{text} 的文件在存储中的绝对文件名,这是一个字符串。@var{references} 是一个存储项的列表,结果文本文件引用的存储项;默认为空列表。"

#. type: deffn
#: guix-git/doc/guix.texi:11950
#, fuzzy, no-wrap
msgid "{Monadic Procedure} binary-file @var{name} @var{data} [@var{references}]"
msgstr "{单子过程} binary-file @var{name} @var{data} [@var{references}]"

#. type: deffn
#: guix-git/doc/guix.texi:11954
#, fuzzy
msgid "Return as a monadic value the absolute file name in the store of the file containing @var{data}, a bytevector.  @var{references} is a list of store items that the resulting binary file refers to; it defaults to the empty list."
msgstr "作为单子值返回包含 @var{data} 的文件在存储中的绝对文件名,这是一个字节向量。@var{references} 是一个存储项的列表,结果二进制文件引用的存储项;默认为空列表。"

#. type: deffn
#: guix-git/doc/guix.texi:11956
#, fuzzy, no-wrap
msgid "{Monadic Procedure} interned-file @var{file} [@var{name}] @"
msgstr "{单子过程} interned-file @var{file} [@var{name}] @"

#. type: deffn
#: guix-git/doc/guix.texi:11961
#, fuzzy
msgid "[#:recursive? #t] [#:select? (const #t)] Return the name of @var{file} once interned in the store.  Use @var{name} as its store name, or the basename of @var{file} if @var{name} is omitted."
msgstr "[#:recursive? #t] [#:select? (const #t)] 返回 @var{file} 在存储中被归档后的名称。使用 @var{name} 作为其存储名称,或者如果 @var{name} 被省略,则使用 @var{file} 的基本名称。"

#. type: deffn
#: guix-git/doc/guix.texi:11965 guix-git/doc/guix.texi:12391
#, fuzzy
msgid "When @var{recursive?} is true, the contents of @var{file} are added recursively; if @var{file} designates a flat file and @var{recursive?} is true, its contents are added, and its permission bits are kept."
msgstr "当 @var{recursive?} 为真时,@var{file} 的内容将递归添加;如果 @var{file} 指定的是一个平面文件并且 @var{recursive?} 为真,则其内容将被添加,并且其权限位将被保留。"

#. type: deffn
#: guix-git/doc/guix.texi:11970 guix-git/doc/guix.texi:12396
#, fuzzy
msgid "When @var{recursive?} is true, call @code{(@var{select?} @var{file} @var{stat})} for each directory entry, where @var{file} is the entry's absolute file name and @var{stat} is the result of @code{lstat}; exclude entries for which @var{select?} does not return true."
msgstr "当 @var{recursive?} 为真时,调用 @code{(@var{select?} @var{file} @var{stat})} 处理每个目录条目,其中 @var{file} 是条目的绝对文件名,@var{stat} 是 @code{lstat} 的结果;排除 @var{select?} 不返回真的条目。"

#. type: deffn
#: guix-git/doc/guix.texi:11972
#, fuzzy
msgid "The example below adds a file to the store, under two different names:"
msgstr "下面的示例将一个文件添加到存储中,使用两个不同的名称:"

#. type: lisp
#: guix-git/doc/guix.texi:11978
#, fuzzy, no-wrap
msgid ""
"(run-with-store (open-connection)\n"
"  (mlet %store-monad ((a (interned-file \"README\"))\n"
"                      (b (interned-file \"README\" \"LEGU-MIN\")))\n"
"    (return (list a b))))\n"
"\n"
msgstr ""
"(run-with-store (open-connection)\n"
"  (mlet %store-monad ((a (interned-file \"README\"))\n"
"                      (b (interned-file \"README\" \"LEGU-MIN\")))\n"
"    (return (list a b))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:11980
#, fuzzy, no-wrap
msgid "@result{} (\"/gnu/store/rwm@dots{}-README\" \"/gnu/store/44i@dots{}-LEGU-MIN\")\n"
msgstr "@result{} (\"/gnu/store/rwm@dots{}-README\" \"/gnu/store/44i@dots{}-LEGU-MIN\")\n"

#. type: Plain text
#: guix-git/doc/guix.texi:11986
#, fuzzy
msgid "The @code{(guix packages)} module exports the following package-related monadic procedures:"
msgstr "@code{(guix packages)} 模块导出以下与包相关的单子程序:"

#. type: deffn
#: guix-git/doc/guix.texi:11987
#, fuzzy, no-wrap
msgid "{Monadic Procedure} package-file @var{package} [@var{file}] @"
msgstr "{单子程序} package-file @var{package} [@var{file}] @"

#. type: deffn
#: guix-git/doc/guix.texi:11995
#, fuzzy
msgid "[#:system (%current-system)] [#:target #f] @ [#:output \"out\"] Return as a monadic value in the absolute file name of @var{file} within the @var{output} directory of @var{package}.  When @var{file} is omitted, return the name of the @var{output} directory of @var{package}.  When @var{target} is true, use it as a cross-compilation target triplet."
msgstr "[#:system (%current-system)] [#:target #f] @ [#:output \"out\"] 作为单子值返回 @var{package} 的 @var{output} 目录中 @var{file} 的绝对文件名。当省略 @var{file} 时,返回 @var{package} 的 @var{output} 目录的名称。当 @var{target} 为真时,将其用作交叉编译目标三元组。"

#. type: deffn
#: guix-git/doc/guix.texi:11999
#, fuzzy
msgid "Note that this procedure does @emph{not} build @var{package}.  Thus, the result might or might not designate an existing file.  We recommend not using this procedure unless you know what you are doing."
msgstr "请注意,此过程并不 @emph{构建} @var{package}。因此,结果可能指向一个存在的文件,也可能不指向。我们建议在不确定的情况下不要使用此过程。"

#. type: deffn
#: guix-git/doc/guix.texi:12001
#, fuzzy, no-wrap
msgid "{Monadic Procedure} package->derivation @var{package} [@var{system}]"
msgstr "{单子程序} package->derivation @var{package} [@var{system}]"

#. type: deffnx
#: guix-git/doc/guix.texi:12002
#, fuzzy, no-wrap
msgid "{Monadic Procedure} package->cross-derivation @var{package} @"
msgstr "{单子程序} package->cross-derivation @var{package} @"

#. type: deffn
#: guix-git/doc/guix.texi:12006
#, fuzzy
msgid "@var{target} [@var{system}] Monadic version of @code{package-derivation} and @code{package-cross-derivation} (@pxref{Defining Packages})."
msgstr "@var{target} [@var{system}] @code{package-derivation} 和 @code{package-cross-derivation} 的单子版本 (@pxref{定义包})。"

#. type: cindex
#: guix-git/doc/guix.texi:12012
#, no-wrap
msgid "G-expression"
msgstr "G-表达式"

#. type: cindex
#: guix-git/doc/guix.texi:12013
#, fuzzy, no-wrap
msgid "build code quoting"
msgstr "构建代码引用"

#. type: Plain text
#: guix-git/doc/guix.texi:12019
#, fuzzy
msgid "So we have ``derivations'', which represent a sequence of build actions to be performed to produce an item in the store (@pxref{Derivations}).  These build actions are performed when asking the daemon to actually build the derivations; they are run by the daemon in a container (@pxref{Invoking guix-daemon})."
msgstr "所以我们有“推导”,它们表示一系列构建操作,以生成存储中的项目 (@pxref{推导})。这些构建操作在请求守护进程实际构建推导时执行;它们由守护进程在容器中运行 (@pxref{调用 guix-daemon})。"

#. type: cindex
#: guix-git/doc/guix.texi:12022
#, fuzzy, no-wrap
msgid "strata of code"
msgstr "代码的层次"

#. type: Plain text
#: guix-git/doc/guix.texi:12034
#, fuzzy
msgid "It should come as no surprise that we like to write these build actions in Scheme.  When we do that, we end up with two @dfn{strata} of Scheme code@footnote{The term @dfn{stratum} in this context was coined by Manuel Serrano et al.@: in the context of their work on Hop.  Oleg Kiselyov, who has written insightful @url{http://okmij.org/ftp/meta-programming/#meta-scheme, essays and code on this topic}, refers to this kind of code generation as @dfn{staging}.}: the ``host code''---code that defines packages, talks to the daemon, etc.---and the ``build code''---code that actually performs build actions, such as making directories, invoking @command{make}, and so on (@pxref{Build Phases})."
msgstr "我们喜欢用 Scheme 编写这些构建操作,这一点并不奇怪。当我们这样做时,我们最终会得到两层 @dfn{层次} 的 Scheme 代码@footnote{在这个上下文中,@dfn{层次} 这个术语是由 Manuel Serrano 等人提出的,源于他们在 Hop 上的工作。Oleg Kiselyov 在这个主题上写了深刻的 @url{http://okmij.org/ftp/meta-programming/#meta-scheme} 文章和代码,称这种代码生成为 @dfn{分阶段}。}: “主机代码”——定义包、与守护进程交互等的代码——和“构建代码”——实际执行构建操作的代码,例如创建目录、调用 @command{make} 等 (@pxref{构建阶段})。"

#. type: Plain text
#: guix-git/doc/guix.texi:12041
#, fuzzy
msgid "To describe a derivation and its build actions, one typically needs to embed build code inside host code.  It boils down to manipulating build code as data, and the homoiconicity of Scheme---code has a direct representation as data---comes in handy for that.  But we need more than the normal @code{quasiquote} mechanism in Scheme to construct build expressions."
msgstr "要描述一个派生及其构建操作,通常需要将构建代码嵌入主机代码中。这归结为将构建代码作为数据进行操作,而Scheme的同构性——代码有直接的数据表示——在这方面非常有用。但我们需要的不仅仅是Scheme中正常的@code{quasiquote}机制来构造构建表达式。"

#. type: Plain text
#: guix-git/doc/guix.texi:12050
#, fuzzy
msgid "The @code{(guix gexp)} module implements @dfn{G-expressions}, a form of S-expressions adapted to build expressions.  G-expressions, or @dfn{gexps}, consist essentially of three syntactic forms: @code{gexp}, @code{ungexp}, and @code{ungexp-splicing} (or simply: @code{#~}, @code{#$}, and @code{#$@@}), which are comparable to @code{quasiquote}, @code{unquote}, and @code{unquote-splicing}, respectively (@pxref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference Manual}).  However, there are major differences:"
msgstr "@code{(guix gexp)}模块实现了@dfn{G-expressions},这是一种适应于构建表达式的S-expressions形式。G-expressions,或称@dfn{gexps},本质上由三种语法形式组成:@code{gexp}、@code{ungexp}和@code{ungexp-splicing}(或简单地:@code{#~}、@code{#$}和@code{#$@@}),它们分别与@code{quasiquote}、@code{unquote}和@code{unquote-splicing}相对应(@pxref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference Manual})。然而,它们之间存在重大差异:"

#. type: itemize
#: guix-git/doc/guix.texi:12055
#, fuzzy
msgid "Gexps are meant to be written to a file and run or manipulated by other processes."
msgstr "Gexps旨在写入文件并由其他进程运行或操作。"

#. type: itemize
#: guix-git/doc/guix.texi:12060
#, fuzzy
msgid "When a high-level object such as a package or derivation is unquoted inside a gexp, the result is as if its output file name had been introduced."
msgstr "当一个高层对象如包或派生在gexp中被取消引用时,结果就好像它的输出文件名被引入了一样。"

#. type: itemize
#: guix-git/doc/guix.texi:12065
#, fuzzy
msgid "Gexps carry information about the packages or derivations they refer to, and these dependencies are automatically added as inputs to the build processes that use them."
msgstr "Gexps携带有关它们所引用的包或派生的信息,这些依赖关系会自动作为输入添加到使用它们的构建过程中。"

#. type: cindex
#: guix-git/doc/guix.texi:12067 guix-git/doc/guix.texi:12677
#, fuzzy, no-wrap
msgid "lowering, of high-level objects in gexps"
msgstr "在gexps中降低高层对象"

#. type: Plain text
#: guix-git/doc/guix.texi:12077
#, fuzzy
msgid "This mechanism is not limited to package and derivation objects: @dfn{compilers} able to ``lower'' other high-level objects to derivations or files in the store can be defined, such that these objects can also be inserted into gexps.  For example, a useful type of high-level objects that can be inserted in a gexp is ``file-like objects'', which make it easy to add files to the store and to refer to them in derivations and such (see @code{local-file} and @code{plain-file} below)."
msgstr "这种机制并不限于包和派生对象:能够“降低”其他高层对象到派生或存储中的文件的@dfn{编译器}可以被定义,以便这些对象也可以插入到gexps中。例如,可以插入到gexp中的一种有用的高层对象类型是“类文件对象”,它使得将文件添加到存储并在派生等中引用它们变得容易(见下面的@code{local-file}和@code{plain-file})。"

#. type: Plain text
#: guix-git/doc/guix.texi:12079
#, fuzzy
msgid "To illustrate the idea, here is an example of a gexp:"
msgstr "为了说明这个想法,这里是一个gexp的例子:"

#. type: lisp
#: guix-git/doc/guix.texi:12087
#, fuzzy, no-wrap
msgid ""
"(define build-exp\n"
"  #~(begin\n"
"      (mkdir #$output)\n"
"      (chdir #$output)\n"
"      (symlink (string-append #$coreutils \"/bin/ls\")\n"
"               \"list-files\")))\n"
msgstr ""
"(define build-exp\n"
"  #~(begin\n"
"      (mkdir #$output)\n"
"      (chdir #$output)\n"
"      (symlink (string-append #$coreutils \"/bin/ls\")\n"
"               \"list-files\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12092
#, fuzzy
msgid "This gexp can be passed to @code{gexp->derivation}; we obtain a derivation that builds a directory containing exactly one symlink to @file{/gnu/store/@dots{}-coreutils-8.22/bin/ls}:"
msgstr "这个 gexp 可以传递给 @code{gexp->derivation};我们获得一个构建目录的推导,其中包含一个指向 @file{/gnu/store/@dots{}-coreutils-8.22/bin/ls} 的符号链接:"

#. type: lisp
#: guix-git/doc/guix.texi:12095
#, fuzzy, no-wrap
msgid "(gexp->derivation \"the-thing\" build-exp)\n"
msgstr "(gexp->derivation \"the-thing\" build-exp)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12103
#, fuzzy
msgid "As one would expect, the @code{\"/gnu/store/@dots{}-coreutils-8.22\"} string is substituted to the reference to the @var{coreutils} package in the actual build code, and @var{coreutils} is automatically made an input to the derivation.  Likewise, @code{#$output} (equivalent to @code{(ungexp output)}) is replaced by a string containing the directory name of the output of the derivation."
msgstr "正如预期的那样,@code{\"/gnu/store/@dots{}-coreutils-8.22\"} 字符串被替换为实际构建代码中对 @var{coreutils} 包的引用,并且 @var{coreutils} 被自动作为推导的输入。同样,@code{#$output}(等同于 @code{(ungexp output)})被替换为包含推导输出目录名称的字符串。"

#. type: cindex
#: guix-git/doc/guix.texi:12104
#, fuzzy, no-wrap
msgid "cross compilation"
msgstr "交叉编译"

#. type: Plain text
#: guix-git/doc/guix.texi:12110
#, fuzzy
msgid "In a cross-compilation context, it is useful to distinguish between references to the @emph{native} build of a package---that can run on the host---versus references to cross builds of a package.  To that end, the @code{#+} plays the same role as @code{#$}, but is a reference to a native package build:"
msgstr "在交叉编译的上下文中,区分对可以在主机上运行的包的 @emph{本地} 构建的引用与对包的交叉构建的引用是很有用的。为此,@code{#+} 的作用与 @code{#$} 相同,但它是对本地包构建的引用:"

#. type: lisp
#: guix-git/doc/guix.texi:12121
#, fuzzy, no-wrap
msgid ""
"(gexp->derivation \"vi\"\n"
"   #~(begin\n"
"       (mkdir #$output)\n"
"       (mkdir (string-append #$output \"/bin\"))\n"
"       (system* (string-append #+coreutils \"/bin/ln\")\n"
"                \"-s\"\n"
"                (string-append #$emacs \"/bin/emacs\")\n"
"                (string-append #$output \"/bin/vi\")))\n"
"   #:target \"aarch64-linux-gnu\")\n"
msgstr ""
"(gexp->derivation \"vi\"\n"
"   #~(begin\n"
"       (mkdir #$output)\n"
"       (mkdir (string-append #$output \"/bin\"))\n"
"       (system* (string-append #+coreutils \"/bin/ln\")\n"
"                \"-s\"\n"
"                (string-append #$emacs \"/bin/emacs\")\n"
"                (string-append #$output \"/bin/vi\")))\n"
"   #:target \"aarch64-linux-gnu\")\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12127
#, fuzzy
msgid "In the example above, the native build of @var{coreutils} is used, so that @command{ln} can actually run on the host; but then the cross-compiled build of @var{emacs} is referenced."
msgstr "在上面的示例中,使用了 @var{coreutils} 的本地构建,以便 @command{ln} 可以在主机上实际运行;但随后引用了 @var{emacs} 的交叉编译构建。"

#. type: cindex
#: guix-git/doc/guix.texi:12128
#, fuzzy, no-wrap
msgid "imported modules, for gexps"
msgstr "导入的模块,针对 gexp"

#. type: findex
#: guix-git/doc/guix.texi:12129
#, fuzzy, no-wrap
msgid "with-imported-modules"
msgstr "with-imported-modules"

#. type: Plain text
#: guix-git/doc/guix.texi:12134
#, fuzzy
msgid "Another gexp feature is @dfn{imported modules}: sometimes you want to be able to use certain Guile modules from the ``host environment'' in the gexp, so those modules should be imported in the ``build environment''.  The @code{with-imported-modules} form allows you to express that:"
msgstr "另一个 gexp 特性是 @dfn{导入的模块}:有时你希望能够在 gexp 中使用来自“主机环境”的某些 Guile 模块,因此这些模块应该在“构建环境”中被导入。@code{with-imported-modules} 形式允许你表达这一点:"

#. type: lisp
#: guix-git/doc/guix.texi:12145
#, fuzzy, no-wrap
msgid ""
"(let ((build (with-imported-modules '((guix build utils))\n"
"               #~(begin\n"
"                   (use-modules (guix build utils))\n"
"                   (mkdir-p (string-append #$output \"/bin\"))))))\n"
"  (gexp->derivation \"empty-dir\"\n"
"                    #~(begin\n"
"                        #$build\n"
"                        (display \"success!\\n\")\n"
"                        #t)))\n"
msgstr ""
"(let ((build (with-imported-modules '((guix build utils))\n"
"               #~(begin\n"
"                   (use-modules (guix build utils))\n"
"                   (mkdir-p (string-append #$output \"/bin\"))))))\n"
"  (gexp->derivation \"empty-dir\"\n"
"                    #~(begin\n"
"                        #$build\n"
"                        (display \"成功!\\n\")\n"
"                        #t)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12151
#, fuzzy
msgid "In this example, the @code{(guix build utils)} module is automatically pulled into the isolated build environment of our gexp, such that @code{(use-modules (guix build utils))} works as expected."
msgstr "在这个示例中,@code{(guix build utils)} 模块会自动被拉入我们 gexp 的隔离构建环境中,因此 @code{(use-modules (guix build utils))} 按预期工作。"

#. type: cindex
#: guix-git/doc/guix.texi:12152
#, fuzzy, no-wrap
msgid "module closure"
msgstr "模块闭包"

#. type: findex
#: guix-git/doc/guix.texi:12153
#, fuzzy, no-wrap
msgid "source-module-closure"
msgstr "源模块闭包"

#. type: Plain text
#: guix-git/doc/guix.texi:12160
#, fuzzy
msgid "Usually you want the @emph{closure} of the module to be imported---i.e., the module itself and all the modules it depends on---rather than just the module; failing to do that, attempts to use the module will fail because of missing dependent modules.  The @code{source-module-closure} procedure computes the closure of a module by looking at its source file headers, which comes in handy in this case:"
msgstr "通常你希望导入模块的 @emph{闭包}——即模块本身及其所有依赖的模块——而不仅仅是模块;如果不这样做,使用模块的尝试将因为缺少依赖模块而失败。@code{source-module-closure} 过程通过查看模块的源文件头来计算模块的闭包,这在这种情况下非常有用:"

#. type: lisp
#: guix-git/doc/guix.texi:12163
#, fuzzy, no-wrap
msgid ""
"(use-modules (guix modules))   ;for 'source-module-closure'\n"
"\n"
msgstr ""
"(use-modules (guix modules))   ;用于 'source-module-closure'\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:12172
#, fuzzy, no-wrap
msgid ""
"(with-imported-modules (source-module-closure\n"
"                         '((guix build utils)\n"
"                           (gnu build image)))\n"
"  (gexp->derivation \"something-with-vms\"\n"
"                    #~(begin\n"
"                        (use-modules (guix build utils)\n"
"                                     (gnu build image))\n"
"                        @dots{})))\n"
msgstr ""
"(with-imported-modules (source-module-closure\n"
"                         '((guix build utils)\n"
"                           (gnu build image)))\n"
"  (gexp->derivation \"something-with-vms\"\n"
"                    #~(begin\n"
"                        (use-modules (guix build utils)\n"
"                                     (gnu build image))\n"
"                        @dots{})))\n"

#. type: cindex
#: guix-git/doc/guix.texi:12174
#, fuzzy, no-wrap
msgid "extensions, for gexps"
msgstr "扩展,针对 gexps"

#. type: findex
#: guix-git/doc/guix.texi:12175
#, fuzzy, no-wrap
msgid "with-extensions"
msgstr "with-extensions"

#. type: Plain text
#: guix-git/doc/guix.texi:12180
#, fuzzy
msgid "In the same vein, sometimes you want to import not just pure-Scheme modules, but also ``extensions'' such as Guile bindings to C libraries or other ``full-blown'' packages.  Say you need the @code{guile-json} package available on the build side, here's how you would do it:"
msgstr "同样,有时你希望导入的不仅仅是纯 Scheme 模块,还有像 Guile 对 C 库的绑定或其他“完整”的包的“扩展”。假设你需要在构建侧可用的 @code{guile-json} 包,下面是你该如何做:"

#. type: lisp
#: guix-git/doc/guix.texi:12183
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu packages guile))  ;for 'guile-json'\n"
"\n"
msgstr ""
"(use-modules (gnu packages guile))  ;用于 'guile-json'\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:12189
#, fuzzy, no-wrap
msgid ""
"(with-extensions (list guile-json)\n"
"  (gexp->derivation \"something-with-json\"\n"
"                    #~(begin\n"
"                        (use-modules (json))\n"
"                        @dots{})))\n"
msgstr ""
"(with-extensions (list guile-json)\n"
"  (gexp->derivation \"something-with-json\"\n"
"                    #~(begin\n"
"                        (use-modules (json))\n"
"                        @dots{})))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12192
#, fuzzy
msgid "The syntactic form to construct gexps is summarized below."
msgstr "构造 gexps 的语法形式总结如下。"

#. type: defmac
#: guix-git/doc/guix.texi:12193
#, fuzzy, no-wrap
msgid "#~@var{exp}"
msgstr "#~@var{exp}"

#. type: defmacx
#: guix-git/doc/guix.texi:12194
#, fuzzy, no-wrap
msgid "(gexp @var{exp})"
msgstr "--log-compression=@var{type}"

#. type: defmac
#: guix-git/doc/guix.texi:12197
#, fuzzy
msgid "Return a G-expression containing @var{exp}.  @var{exp} may contain one or more of the following forms:"
msgstr "返回一个包含 @var{exp} 的 G 表达式。@var{exp} 可以包含以下一种或多种形式:"

#. type: item
#: guix-git/doc/guix.texi:12199
#, fuzzy, no-wrap
msgid "#$@var{obj}"
msgstr "#$@var{obj}"

#. type: itemx
#: guix-git/doc/guix.texi:12200
#, fuzzy, no-wrap
msgid "(ungexp @var{obj})"
msgstr "(ungexp @var{obj})"

#. type: table
#: guix-git/doc/guix.texi:12205
#, fuzzy
msgid "Introduce a reference to @var{obj}.  @var{obj} may have one of the supported types, for example a package or a derivation, in which case the @code{ungexp} form is replaced by its output file name---e.g., @code{\"/gnu/store/@dots{}-coreutils-8.22}."
msgstr "引入对 @var{obj} 的引用。@var{obj} 可以具有支持的类型之一,例如包或派生物,在这种情况下,@code{ungexp} 形式将被其输出文件名替换——例如,@code{\"/gnu/store/@dots{}-coreutils-8.22}。"

#. type: table
#: guix-git/doc/guix.texi:12208
#, fuzzy
msgid "If @var{obj} is a list, it is traversed and references to supported objects are substituted similarly."
msgstr "如果 @var{obj} 是一个列表,它将被遍历,并且对支持的对象的引用将被类似地替换。"

#. type: table
#: guix-git/doc/guix.texi:12211
#, fuzzy
msgid "If @var{obj} is another gexp, its contents are inserted and its dependencies are added to those of the containing gexp."
msgstr "如果 @var{obj} 是另一个 gexp,它的内容将被插入,并且它的依赖关系将被添加到包含 gexp 的依赖关系中。"

#. type: table
#: guix-git/doc/guix.texi:12213
#, fuzzy
msgid "If @var{obj} is another kind of object, it is inserted as is."
msgstr "如果 @var{obj} 是另一种类型的对象,它将原样插入。"

#. type: item
#: guix-git/doc/guix.texi:12214
#, fuzzy, no-wrap
msgid "#$@var{obj}:@var{output}"
msgstr "#$@var{obj}:@var{output}"

#. type: itemx
#: guix-git/doc/guix.texi:12215
#, fuzzy, no-wrap
msgid "(ungexp @var{obj} @var{output})"
msgstr "(ungexp @var{obj} @var{output})"

#. type: table
#: guix-git/doc/guix.texi:12219
#, fuzzy
msgid "This is like the form above, but referring explicitly to the @var{output} of @var{obj}---this is useful when @var{obj} produces multiple outputs (@pxref{Packages with Multiple Outputs})."
msgstr "这与上面的形式类似,但明确引用 @var{obj} 的 @var{output}——当 @var{obj} 产生多个输出时,这很有用 (@pxref{Packages with Multiple Outputs})。"

#. type: table
#: guix-git/doc/guix.texi:12224
#, fuzzy
msgid "Sometimes a gexp unconditionally refers to the @code{\"out\"} output, but the user of that gexp would still like to insert a reference to another output.  The @code{gexp-input} procedure aims to address that.  @xref{gexp-input}."
msgstr "有时,gexp 无条件地引用 @code{\"out\"} 输出,但该 gexp 的用户仍希望插入对另一个输出的引用。@code{gexp-input} 过程旨在解决这个问题。@xref{gexp-input}。"

#. type: item
#: guix-git/doc/guix.texi:12225
#, fuzzy, no-wrap
msgid "#+@var{obj}"
msgstr "#+@var{obj}"

#. type: itemx
#: guix-git/doc/guix.texi:12226
#, fuzzy, no-wrap
msgid "#+@var{obj}:output"
msgstr "#+@var{obj}:output"

#. type: itemx
#: guix-git/doc/guix.texi:12227
#, fuzzy, no-wrap
msgid "(ungexp-native @var{obj})"
msgstr "(ungexp-native @var{obj})"

#. type: itemx
#: guix-git/doc/guix.texi:12228
#, fuzzy, no-wrap
msgid "(ungexp-native @var{obj} @var{output})"
msgstr "(ungexp-native @var{obj} @var{output})"

#. type: table
#: guix-git/doc/guix.texi:12231
#, fuzzy
msgid "Same as @code{ungexp}, but produces a reference to the @emph{native} build of @var{obj} when used in a cross compilation context."
msgstr "与 @code{ungexp} 相同,但在交叉编译上下文中使用时,生成对 @var{obj} 的 @emph{native} 构建的引用。"

#. type: item
#: guix-git/doc/guix.texi:12232
#, fuzzy, no-wrap
msgid "#$output[:@var{output}]"
msgstr "#$output[:@var{output}]"

#. type: itemx
#: guix-git/doc/guix.texi:12233
#, fuzzy, no-wrap
msgid "(ungexp output [@var{output}])"
msgstr "(ungexp output [@var{output}])"

#. type: table
#: guix-git/doc/guix.texi:12236
#, fuzzy
msgid "Insert a reference to derivation output @var{output}, or to the main output when @var{output} is omitted."
msgstr "插入对派生输出 @var{output} 的引用,或者在省略 @var{output} 时引用主要输出。"

#. type: table
#: guix-git/doc/guix.texi:12238
#, fuzzy
msgid "This only makes sense for gexps passed to @code{gexp->derivation}."
msgstr "这仅对传递给 @code{gexp->derivation} 的 gexps 有意义。"

#. type: item
#: guix-git/doc/guix.texi:12239
#, fuzzy, no-wrap
msgid "#$@@@var{lst}"
msgstr "#$@@@var{lst}"

#. type: itemx
#: guix-git/doc/guix.texi:12240
#, fuzzy, no-wrap
msgid "(ungexp-splicing @var{lst})"
msgstr "(ungexp-splicing @var{lst})"

#. type: table
#: guix-git/doc/guix.texi:12243
#, fuzzy
msgid "Like the above, but splices the contents of @var{lst} inside the containing list."
msgstr "与上述相似,但将 @var{lst} 的内容拼接到包含列表中。"

#. type: item
#: guix-git/doc/guix.texi:12244
#, fuzzy, no-wrap
msgid "#+@@@var{lst}"
msgstr "#+@@@var{lst}"

#. type: itemx
#: guix-git/doc/guix.texi:12245
#, fuzzy, no-wrap
msgid "(ungexp-native-splicing @var{lst})"
msgstr "(ungexp-native-splicing @var{lst})"

#. type: table
#: guix-git/doc/guix.texi:12248
#, fuzzy
msgid "Like the above, but refers to native builds of the objects listed in @var{lst}."
msgstr "与上述相似,但引用 @var{lst} 中列出的对象的本地构建。"

#. type: defmac
#: guix-git/doc/guix.texi:12253
#, fuzzy
msgid "G-expressions created by @code{gexp} or @code{#~} are run-time objects of the @code{gexp?} type (see below)."
msgstr "由 @code{gexp} 或 @code{#~} 创建的 G-表达式是 @code{gexp?} 类型的运行时对象(见下文)。"

#. type: defmac
#: guix-git/doc/guix.texi:12255
#, fuzzy, no-wrap
msgid "with-imported-modules modules body@dots{}"
msgstr "with-imported-modules modules body@dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:12258
#, fuzzy
msgid "Mark the gexps defined in @var{body}@dots{} as requiring @var{modules} in their execution environment."
msgstr "标记在 @var{body}@dots{} 中定义的 gexps 需要在其执行环境中使用 @var{modules}。"

#. type: defmac
#: guix-git/doc/guix.texi:12262
#, fuzzy
msgid "Each item in @var{modules} can be the name of a module, such as @code{(guix build utils)}, or it can be a module name, followed by an arrow, followed by a file-like object:"
msgstr "@var{modules} 中的每个项目可以是模块的名称,例如 @code{(guix build utils)},或者它可以是一个模块名称,后跟箭头,再后跟一个类文件对象:"

#. type: lisp
#: guix-git/doc/guix.texi:12268
#, fuzzy, no-wrap
msgid ""
"`((guix build utils)\n"
"  (guix gcrypt)\n"
"  ((guix config) => ,(scheme-file \"config.scm\"\n"
"                                  #~(define-module @dots{}))))\n"
msgstr ""
"`((guix build utils)\n"
"  (guix gcrypt)\n"
"  ((guix config) => ,(scheme-file \"config.scm\"\n"
"                                  #~(define-module @dots{}))))\n"

#. type: defmac
#: guix-git/doc/guix.texi:12273
#, fuzzy
msgid "In the example above, the first two modules are taken from the search path, and the last one is created from the given file-like object."
msgstr "在上面的示例中,前两个模块来自搜索路径,最后一个模块是从给定的类文件对象创建的。"

#. type: defmac
#: guix-git/doc/guix.texi:12277
#, fuzzy
msgid "This form has @emph{lexical} scope: it has an effect on the gexps directly defined in @var{body}@dots{}, but not on those defined, say, in procedures called from @var{body}@dots{}."
msgstr "这种形式具有@emph{词法}作用域:它对直接在@var{body}@dots{}中定义的gexp产生影响,但对在@var{body}@dots{}中调用的过程定义的gexp没有影响。"

#. type: defmac
#: guix-git/doc/guix.texi:12279
#, fuzzy, no-wrap
msgid "with-extensions extensions body@dots{}"
msgstr "with-extensions extensions body@dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:12284
#, fuzzy
msgid "Mark the gexps defined in @var{body}@dots{} as requiring @var{extensions} in their build and execution environment.  @var{extensions} is typically a list of package objects such as those defined in the @code{(gnu packages guile)} module."
msgstr "将在@var{body}@dots{}中定义的gexp标记为在其构建和执行环境中需要@var{extensions}。@var{extensions}通常是一个软件包对象的列表,例如在@code{(gnu packages guile)}模块中定义的那些。"

#. type: defmac
#: guix-git/doc/guix.texi:12289
#, fuzzy
msgid "Concretely, the packages listed in @var{extensions} are added to the load path while compiling imported modules in @var{body}@dots{}; they are also added to the load path of the gexp returned by @var{body}@dots{}."
msgstr "具体来说,在编译@var{body}@dots{}中的导入模块时,@var{extensions}中列出的软件包会被添加到加载路径;它们也会被添加到由@var{body}@dots{}返回的gexp的加载路径中。"

#. type: deffn
#: guix-git/doc/guix.texi:12291
#, fuzzy, no-wrap
msgid "{Procedure} gexp? obj"
msgstr "{过程} gexp? obj"

#. type: deffn
#: guix-git/doc/guix.texi:12293
#, fuzzy
msgid "Return @code{#t} if @var{obj} is a G-expression."
msgstr "如果@var{obj}是G表达式,则返回@code{#t}。"

#. type: Plain text
#: guix-git/doc/guix.texi:12299
#, fuzzy
msgid "G-expressions are meant to be written to disk, either as code building some derivation, or as plain files in the store.  The monadic procedures below allow you to do that (@pxref{The Store Monad}, for more information about monads)."
msgstr "G表达式旨在写入磁盘,既可以作为构建某些派生的代码,也可以作为存储中的普通文件。下面的单子程序允许您这样做(有关单子的更多信息,请参见@pxref{The Store Monad})。"

#. type: deffn
#: guix-git/doc/guix.texi:12300
#, fuzzy, no-wrap
msgid "{Monadic Procedure} gexp->derivation @var{name} @var{exp} @"
msgstr "{单子程序} gexp->derivation @var{name} @var{exp} @"

#. type: deffn
#: guix-git/doc/guix.texi:12318
#, fuzzy
msgid "[#:system (%current-system)] [#:target #f] [#:graft? #t] @ [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ [#:module-path @code{%load-path}] @ [#:effective-version \"2.2\"] @ [#:references-graphs #f] [#:allowed-references #f] @ [#:disallowed-references #f] @ [#:leaked-env-vars #f] @ [#:script-name (string-append @var{name} \"-builder\")] @ [#:deprecation-warnings #f] @ [#:local-build? #f] [#:substitutable? #t] @ [#:properties '()] [#:guile-for-build #f] Return a derivation @var{name} that runs @var{exp} (a gexp) with @var{guile-for-build} (a derivation) on @var{system}; @var{exp} is stored in a file called @var{script-name}.  When @var{target} is true, it is used as the cross-compilation target triplet for packages referred to by @var{exp}."
msgstr "[#:system (%current-system)] [#:target #f] [#:graft? #t] @ [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ [#:module-path @code{%load-path}] @ [#:effective-version \"2.2\"] @ [#:references-graphs #f] [#:allowed-references #f] @ [#:disallowed-references #f] @ [#:leaked-env-vars #f] @ [#:script-name (string-append @var{name} \"-builder\")] @ [#:deprecation-warnings #f] @ [#:local-build? #f] [#:substitutable? #t] @ [#:properties '()] [#:guile-for-build #f] 返回一个派生@var{name},它在@var{system}上运行@var{exp}(一个gexp)与@var{guile-for-build}(一个派生);@var{exp}存储在名为@var{script-name}的文件中。当@var{target}为真时,它被用作@var{exp}所引用的软件包的交叉编译目标三元组。"

#. type: deffn
#: guix-git/doc/guix.texi:12326
#, fuzzy
msgid "@var{modules} is deprecated in favor of @code{with-imported-modules}.  Its meaning is to make @var{modules} available in the evaluation context of @var{exp}; @var{modules} is a list of names of Guile modules searched in @var{module-path} to be copied in the store, compiled, and made available in the load path during the execution of @var{exp}---e.g., @code{((guix build utils) (guix build gnu-build-system))}."
msgstr "@var{modules}已被弃用,取而代之的是@code{with-imported-modules}。它的含义是在@var{exp}的评估上下文中使@var{modules}可用;@var{modules}是一个Guile模块名称的列表,在@var{module-path}中搜索,以便在执行@var{exp}期间复制到存储中、编译并在加载路径中可用——例如,@code{((guix build utils) (guix build gnu-build-system))}。"

#. type: deffn
#: guix-git/doc/guix.texi:12329
#, fuzzy
msgid "@var{effective-version} determines the string to use when adding extensions of @var{exp} (see @code{with-extensions}) to the search path---e.g., @code{\"2.2\"}."
msgstr "@var{effective-version} 决定在将 @var{exp} 的扩展添加到搜索路径时使用的字符串——例如,@code{\"2.2\"}。"

#. type: deffn
#: guix-git/doc/guix.texi:12332
#, fuzzy
msgid "@var{graft?} determines whether packages referred to by @var{exp} should be grafted when applicable."
msgstr "@var{graft?} 决定在适用时是否应将 @var{exp} 所引用的包进行 graft。"

#. type: deffn
#: guix-git/doc/guix.texi:12335
#, fuzzy
msgid "When @var{references-graphs} is true, it must be a list of tuples of one of the following forms:"
msgstr "当 @var{references-graphs} 为真时,它必须是以下形式的元组列表:"

#. type: example
#: guix-git/doc/guix.texi:12341
#, fuzzy, no-wrap
msgid ""
"(@var{file-name} @var{obj})\n"
"(@var{file-name} @var{obj} @var{output})\n"
"(@var{file-name} @var{gexp-input})\n"
"(@var{file-name} @var{store-item})\n"
msgstr ""
"(@var{file-name} @var{obj})\n"
"(@var{file-name} @var{obj} @var{output})\n"
"(@var{file-name} @var{gexp-input})\n"
"(@var{file-name} @var{store-item})\n"

#. type: deffn
#: guix-git/doc/guix.texi:12347
#, fuzzy
msgid "The right-hand-side of each element of @var{references-graphs} is automatically made an input of the build process of @var{exp}.  In the build environment, each @var{file-name} contains the reference graph of the corresponding item, in a simple text format."
msgstr "@var{references-graphs} 的每个元素的右侧自动成为 @var{exp} 的构建过程的输入。在构建环境中,每个 @var{file-name} 包含相应项的引用图,以简单文本格式表示。"

#. type: deffn
#: guix-git/doc/guix.texi:12353
#, fuzzy
msgid "@var{allowed-references} must be either @code{#f} or a list of output names and packages.  In the latter case, the list denotes store items that the result is allowed to refer to.  Any reference to another store item will lead to a build error.  Similarly for @var{disallowed-references}, which can list items that must not be referenced by the outputs."
msgstr "@var{allowed-references} 必须是 @code{#f} 或输出名称和包的列表。在后者情况下,该列表表示结果允许引用的存储项。对另一个存储项的任何引用都会导致构建错误。@var{disallowed-references} 也是如此,它可以列出输出不得引用的项。"

#. type: deffn
#: guix-git/doc/guix.texi:12356
#, fuzzy
msgid "@var{deprecation-warnings} determines whether to show deprecation warnings while compiling modules.  It can be @code{#f}, @code{#t}, or @code{'detailed}."
msgstr "@var{deprecation-warnings} 决定在编译模块时是否显示弃用警告。它可以是 @code{#f}、@code{#t} 或 @code{'detailed}。"

#. type: deffn
#: guix-git/doc/guix.texi:12358
#, fuzzy
msgid "The other arguments are as for @code{derivation} (@pxref{Derivations})."
msgstr "其他参数与 @code{derivation} 相同 (@pxref{Derivations})。"

#. type: cindex
#: guix-git/doc/guix.texi:12360
#, fuzzy, no-wrap
msgid "file-like objects"
msgstr "类文件对象"

#. type: Plain text
#: guix-git/doc/guix.texi:12365
#, fuzzy
msgid "The @code{local-file}, @code{plain-file}, @code{computed-file}, @code{program-file}, and @code{scheme-file} procedures below return @dfn{file-like objects}.  That is, when unquoted in a G-expression, these objects lead to a file in the store.  Consider this G-expression:"
msgstr "@code{local-file}、@code{plain-file}、@code{computed-file}、@code{program-file} 和 @code{scheme-file} 下面的过程返回 @dfn{类文件对象}。也就是说,当在 G 表达式中未加引号时,这些对象会导致存储中的文件。考虑这个 G 表达式:"

#. type: lisp
#: guix-git/doc/guix.texi:12369
#, fuzzy, no-wrap
msgid ""
"#~(system* #$(file-append glibc \"/sbin/nscd\") \"-f\"\n"
"           #$(local-file \"/tmp/my-nscd.conf\"))\n"
msgstr ""
"#~(system* #$(file-append glibc \"/sbin/nscd\") \"-f\"\n"
"           #$(local-file \"/tmp/my-nscd.conf\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12378
#, fuzzy
msgid "The effect here is to ``intern'' @file{/tmp/my-nscd.conf} by copying it to the store.  Once expanded, for instance @i{via} @code{gexp->derivation}, the G-expression refers to that copy under @file{/gnu/store}; thus, modifying or removing the file in @file{/tmp} does not have any effect on what the G-expression does.  @code{plain-file} can be used similarly; it differs in that the file content is directly passed as a string."
msgstr "这里的效果是通过将 @file{/tmp/my-nscd.conf} 复制到存储中来“内部化”。一旦展开,例如通过 @code{gexp->derivation},G 表达式引用该副本在 @file{/gnu/store} 下;因此,修改或删除 @file{/tmp} 中的文件不会对 G 表达式的行为产生任何影响。@code{plain-file} 可以类似使用;它的不同之处在于文件内容直接作为字符串传递。"

#. type: deffn
#: guix-git/doc/guix.texi:12379
#, fuzzy, no-wrap
msgid "{Procedure} local-file file [name] [#:recursive? #f] [#:select? (const #t)]"
msgstr "{Procedure} 本地文件 file [name] [#:recursive? #f] [#:select? (const #t)]"

#. type: deffn
#: guix-git/doc/guix.texi:12387
#, fuzzy
msgid "Return an object representing local file @var{file} to add to the store; this object can be used in a gexp.  If @var{file} is a literal string denoting a relative file name, it is looked up relative to the source file where it appears; if @var{file} is not a literal string, it is looked up relative to the current working directory at run time.  @var{file} will be added to the store under @var{name}--by default the base name of @var{file}."
msgstr "返回一个表示本地文件 @var{file} 的对象以添加到存储中;该对象可以在 gexp 中使用。如果 @var{file} 是一个表示相对文件名的字面字符串,则相对于它出现的源文件进行查找;如果 @var{file} 不是字面字符串,则在运行时相对于当前工作目录进行查找。@var{file} 将在 @var{name} 下添加到存储中——默认情况下是 @var{file} 的基本名称。"

#. type: findex
#: guix-git/doc/guix.texi:12397
#, fuzzy, no-wrap
msgid "assume-valid-file-name"
msgstr "通道"

#. type: deffn
#: guix-git/doc/guix.texi:12403
#, fuzzy
msgid "@var{file} can be wrapped in the @code{assume-valid-file-name} syntactic keyword. When this is done, there will not be a warning when @code{local-file} is used with a non-literal path.  The path is still looked up relative to the current working directory at run time.  Wrapping is done like this:"
msgstr "@var{file} 可以用 @code{assume-valid-file-name} 语法关键字包装。当这样做时,当 @code{local-file} 与非字面路径一起使用时不会发出警告。路径仍然在运行时相对于当前工作目录进行查找。包装方式如下:"

#. type: lisp
#: guix-git/doc/guix.texi:12408
#, fuzzy, no-wrap
msgid ""
"(define alice-key-file-path \"alice.pub\")\n"
";; ...\n"
"(local-file (assume-valid-file-name alice-key-file-path))\n"
msgstr ""
"(define alice-key-file-path \"alice.pub\")\n"
";; ...\n"
"(local-file (assume-valid-file-name alice-key-file-path))\n"

#. type: cindex
#: guix-git/doc/guix.texi:12410
#, fuzzy, no-wrap
msgid "relative file name, in @code{local-file}"
msgstr "相对文件名,在 @code{local-file} 中"

#. type: findex
#: guix-git/doc/guix.texi:12411
#, fuzzy, no-wrap
msgid "assume-source-relative-file-name"
msgstr "assume-source-relative-file-name"

#. type: deffn
#: guix-git/doc/guix.texi:12416
#, fuzzy
msgid "@var{file} can be wrapped in the @code{assume-source-relative-file-name} syntactic keyword.  When this is done, the file name will be looked up relative to the source file where it appears even when it is not a string literal."
msgstr "@var{file} 可以用 @code{assume-source-relative-file-name} 语法关键字包装。当这样做时,即使文件名不是字符串字面量,也会相对于它出现的源文件进行查找。"

#. type: deffn
#: guix-git/doc/guix.texi:12419
#, fuzzy
msgid "This is the declarative counterpart of the @code{interned-file} monadic procedure (@pxref{The Store Monad, @code{interned-file}})."
msgstr "这是 @code{interned-file} 单子过程的声明性对应物 (@pxref{The Store Monad, @code{interned-file}})。"

#. type: deffn
#: guix-git/doc/guix.texi:12421
#, fuzzy, no-wrap
msgid "{Procedure} plain-file name content"
msgstr "{Procedure} 普通文件 name content"

#. type: deffn
#: guix-git/doc/guix.texi:12424
#, fuzzy
msgid "Return an object representing a text file called @var{name} with the given @var{content} (a string or a bytevector) to be added to the store."
msgstr "返回一个表示名为 @var{name} 的文本文件的对象,具有给定的 @var{content}(一个字符串或字节向量),以添加到存储中。"

#. type: deffn
#: guix-git/doc/guix.texi:12426
#, fuzzy
msgid "This is the declarative counterpart of @code{text-file}."
msgstr "这是 @code{text-file} 的声明性对应物。"

#. type: deffn
#: guix-git/doc/guix.texi:12428
#, fuzzy, no-wrap
msgid "{Procedure} computed-file name gexp [#:local-build? #t] [#:options '()]"
msgstr "{Procedure} 计算文件 name gexp [#:local-build? #t] [#:options '()]"

#. type: deffn
#: guix-git/doc/guix.texi:12433
#, fuzzy
msgid "Return an object representing the store item @var{name}, a file or directory computed by @var{gexp}.  When @var{local-build?} is true (the default), the derivation is built locally.  @var{options} is a list of additional arguments to pass to @code{gexp->derivation}."
msgstr "返回一个表示存储项 @var{name} 的对象,该项是由 @var{gexp} 计算出的文件或目录。当 @var{local-build?} 为真(默认值)时,派生项在本地构建。@var{options} 是传递给 @code{gexp->derivation} 的附加参数列表。"

#. type: deffn
#: guix-git/doc/guix.texi:12435
#, fuzzy
msgid "This is the declarative counterpart of @code{gexp->derivation}."
msgstr "这是 @code{gexp->derivation} 的声明性对应物。"

#. type: deffn
#: guix-git/doc/guix.texi:12437
#, fuzzy, no-wrap
msgid "{Monadic Procedure} gexp->script @var{name} @var{exp} @"
msgstr "{单子过程} gexp->script @var{name} @var{exp} @"

#. type: deffn
#: guix-git/doc/guix.texi:12443
#, fuzzy
msgid "[#:guile (default-guile)] [#:module-path %load-path] @ [#:system (%current-system)] [#:target #f] Return an executable script @var{name} that runs @var{exp} using @var{guile}, with @var{exp}'s imported modules in its search path.  Look up @var{exp}'s modules in @var{module-path}."
msgstr "返回一个可执行脚本 @var{name},该脚本使用 @var{guile} 运行 @var{exp},并将 @var{exp} 导入的模块放在其搜索路径中。在 @var{module-path} 中查找 @var{exp} 的模块。"

#. type: deffn
#: guix-git/doc/guix.texi:12446
#, fuzzy
msgid "The example below builds a script that simply invokes the @command{ls} command:"
msgstr "下面的示例构建了一个简单调用 @command{ls} 命令的脚本:"

#. type: lisp
#: guix-git/doc/guix.texi:12449
#, fuzzy, no-wrap
msgid ""
"(use-modules (guix gexp) (gnu packages base))\n"
"\n"
msgstr ""
"(use-modules (guix gexp) (gnu packages base))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:12453
#, fuzzy, no-wrap
msgid ""
"(gexp->script \"list-files\"\n"
"              #~(execl #$(file-append coreutils \"/bin/ls\")\n"
"                       \"ls\"))\n"
msgstr ""
"(gexp->script \"list-files\"\n"
"              #~(execl #$(file-append coreutils \"/bin/ls\")\n"
"                       \"ls\"))\n"

#. type: deffn
#: guix-git/doc/guix.texi:12458
#, fuzzy
msgid "When ``running'' it through the store (@pxref{The Store Monad, @code{run-with-store}}), we obtain a derivation that produces an executable file @file{/gnu/store/@dots{}-list-files} along these lines:"
msgstr "当通过存储(@pxref{The Store Monad, @code{run-with-store}})“运行”它时,我们获得一个生成可执行文件 @file{/gnu/store/@dots{}-list-files} 的推导,内容如下:"

#. type: example
#: guix-git/doc/guix.texi:12463
#, fuzzy, no-wrap
msgid ""
"#!/gnu/store/@dots{}-guile-2.0.11/bin/guile -ds\n"
"!#\n"
"(execl \"/gnu/store/@dots{}-coreutils-8.22\"/bin/ls\" \"ls\")\n"
msgstr ""
"#!/gnu/store/@dots{}-guile-2.0.11/bin/guile -ds\n"
"!#\n"
"(execl \"/gnu/store/@dots{}-coreutils-8.22\"/bin/ls\" \"ls\")\n"

#. type: deffn
#: guix-git/doc/guix.texi:12466
#, fuzzy, no-wrap
msgid "{Procedure} program-file name exp [#:guile #f] [#:module-path %load-path]"
msgstr "{Procedure} program-file name exp [#:guile #f] [#:module-path %load-path]"

#. type: deffn
#: guix-git/doc/guix.texi:12470
#, fuzzy
msgid "Return an object representing the executable store item @var{name} that runs @var{gexp}.  @var{guile} is the Guile package used to execute that script.  Imported modules of @var{gexp} are looked up in @var{module-path}."
msgstr "返回一个表示可执行存储项 @var{name} 的对象,该项运行 @var{gexp}。@var{guile} 是用于执行该脚本的 Guile 包。@var{gexp} 的导入模块在 @var{module-path} 中查找。"

#. type: deffn
#: guix-git/doc/guix.texi:12472
#, fuzzy
msgid "This is the declarative counterpart of @code{gexp->script}."
msgstr "这是 @code{gexp->script} 的声明性对应物。"

#. type: deffn
#: guix-git/doc/guix.texi:12474
#, fuzzy, no-wrap
msgid "{Monadic Procedure} gexp->file @var{name} @var{exp} @"
msgstr "{Monadic Procedure} gexp->file @var{name} @var{exp} @"

#. type: deffn
#: guix-git/doc/guix.texi:12481
#, fuzzy
msgid "[#:set-load-path? #t] [#:module-path %load-path] @ [#:splice? #f] @ [#:guile (default-guile)] Return a derivation that builds a file @var{name} containing @var{exp}.  When @var{splice?} is true, @var{exp} is considered to be a list of expressions that will be spliced in the resulting file."
msgstr "[#:set-load-path? #t] [#:module-path %load-path] @ [#:splice? #f] @ [#:guile (default-guile)] 返回一个推导,构建一个包含 @var{exp} 的文件 @var{name}。当 @var{splice?} 为真时,@var{exp} 被视为将被拼接到结果文件中的表达式列表。"

#. type: deffn
#: guix-git/doc/guix.texi:12486
#, fuzzy
msgid "When @var{set-load-path?} is true, emit code in the resulting file to set @code{%load-path} and @code{%load-compiled-path} to honor @var{exp}'s imported modules.  Look up @var{exp}'s modules in @var{module-path}."
msgstr "当 @var{set-load-path?} 为真时,在结果文件中发出代码以设置 @code{%load-path} 和 @code{%load-compiled-path},以遵循 @var{exp} 的导入模块。在 @var{module-path} 中查找 @var{exp} 的模块。"

#. type: deffn
#: guix-git/doc/guix.texi:12489
#, fuzzy
msgid "The resulting file holds references to all the dependencies of @var{exp} or a subset thereof."
msgstr "结果文件持有 @var{exp} 的所有依赖项或其子集的引用。"

#. type: deffn
#: guix-git/doc/guix.texi:12491
#, fuzzy, no-wrap
msgid "{Procedure} scheme-file name exp [#:splice? #f] @"
msgstr "通道"

#. type: deffn
#: guix-git/doc/guix.texi:12495
#, fuzzy
msgid "[#:guile #f] [#:set-load-path? #t] Return an object representing the Scheme file @var{name} that contains @var{exp}.  @var{guile} is the Guile package used to produce that file."
msgstr "[#:guile #f] [#:set-load-path? #t] 返回一个表示包含 @var{exp} 的 Scheme 文件 @var{name} 的对象。@var{guile} 是用于生成该文件的 Guile 包。"

#. type: deffn
#: guix-git/doc/guix.texi:12497
#, fuzzy
msgid "This is the declarative counterpart of @code{gexp->file}."
msgstr "这是@code{gexp->file}的声明性对应。"

#. type: deffn
#: guix-git/doc/guix.texi:12499
#, fuzzy, no-wrap
msgid "{Monadic Procedure} text-file* @var{name} @var{text} @dots{}"
msgstr "{单子过程} text-file* @var{name} @var{text} @dots{}"

#. type: deffn
#: guix-git/doc/guix.texi:12505
#, fuzzy
msgid "Return as a monadic value a derivation that builds a text file containing all of @var{text}.  @var{text} may list, in addition to strings, objects of any type that can be used in a gexp: packages, derivations, local file objects, etc.  The resulting store file holds references to all these."
msgstr "作为单子值返回一个推导,该推导构建一个包含所有@var{text}的文本文件。@var{text}可以列出除了字符串之外的任何类型的对象,这些对象可以在gexp中使用:包、推导、本地文件对象等。生成的存储文件持有对所有这些的引用。"

#. type: deffn
#: guix-git/doc/guix.texi:12510
#, fuzzy
msgid "This variant should be preferred over @code{text-file} anytime the file to create will reference items from the store.  This is typically the case when building a configuration file that embeds store file names, like this:"
msgstr "当要创建的文件将引用存储中的项目时,应优先选择此变体。这通常发生在构建嵌入存储文件名的配置文件时,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:12518
#, fuzzy, no-wrap
msgid ""
"(define (profile.sh)\n"
"  ;; Return the name of a shell script in the store that\n"
"  ;; initializes the 'PATH' environment variable.\n"
"  (text-file* \"profile.sh\"\n"
"              \"export PATH=\" coreutils \"/bin:\"\n"
"              grep \"/bin:\" sed \"/bin\\n\"))\n"
msgstr ""
"(define (profile.sh)\n"
"  ;; 返回存储中一个shell脚本的名称,该脚本\n"
"  ;; 初始化'PATH'环境变量。\n"
"  (text-file* \"profile.sh\"\n"
"              \"export PATH=\" coreutils \"/bin:\"\n"
"              grep \"/bin:\" sed \"/bin\\n\"))\n"

#. type: deffn
#: guix-git/doc/guix.texi:12523
#, fuzzy
msgid "In this example, the resulting @file{/gnu/store/@dots{}-profile.sh} file will reference @var{coreutils}, @var{grep}, and @var{sed}, thereby preventing them from being garbage-collected during its lifetime."
msgstr "在这个例子中,生成的@file{/gnu/store/@dots{}-profile.sh}文件将引用@var{coreutils}、@var{grep}和@var{sed},从而防止它们在其生命周期内被垃圾回收。"

#. type: deffn
#: guix-git/doc/guix.texi:12525
#, fuzzy, no-wrap
msgid "{Procedure} mixed-text-file name text @dots{}"
msgstr "{过程} mixed-text-file name text @dots{}"

#. type: deffn
#: guix-git/doc/guix.texi:12529
#, fuzzy
msgid "Return an object representing store file @var{name} containing @var{text}.  @var{text} is a sequence of strings and file-like objects, as in:"
msgstr "返回一个表示存储文件@var{name}的对象,该文件包含@var{text}。@var{text}是一个字符串和类文件对象的序列,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:12533
#, fuzzy, no-wrap
msgid ""
"(mixed-text-file \"profile\"\n"
"                 \"export PATH=\" coreutils \"/bin:\" grep \"/bin\")\n"
msgstr ""
"(mixed-text-file \"profile\"\n"
"                 \"export PATH=\" coreutils \"/bin:\" grep \"/bin\")\n"

#. type: deffn
#: guix-git/doc/guix.texi:12536
#, fuzzy
msgid "This is the declarative counterpart of @code{text-file*}."
msgstr "这是@code{text-file*}的声明性对应。"

#. type: deffn
#: guix-git/doc/guix.texi:12538
#, fuzzy, no-wrap
msgid "{Procedure} file-union name files"
msgstr "通道"

#. type: deffn
#: guix-git/doc/guix.texi:12543
#, fuzzy
msgid "Return a @code{<computed-file>} that builds a directory containing all of @var{files}.  Each item in @var{files} must be a two-element list where the first element is the file name to use in the new directory, and the second element is a gexp denoting the target file.  Here's an example:"
msgstr "返回一个@code{<computed-file>},该文件构建一个包含所有@var{files}的目录。@var{files}中的每个项目必须是一个两元素列表,其中第一个元素是新目录中要使用的文件名,第二个元素是表示目标文件的gexp。以下是一个示例:"

#. type: lisp
#: guix-git/doc/guix.texi:12550
#, fuzzy, no-wrap
msgid ""
"(file-union \"etc\"\n"
"            `((\"hosts\" ,(plain-file \"hosts\"\n"
"                                    \"127.0.0.1 localhost\"))\n"
"              (\"bashrc\" ,(plain-file \"bashrc\"\n"
"                                     \"alias ls='ls --color=auto'\"))))\n"
msgstr ""
"(file-union \"etc\"\n"
"            `((\"hosts\" ,(plain-file \"hosts\"\n"
"                                    \"127.0.0.1 localhost\"))\n"
"              (\"bashrc\" ,(plain-file \"bashrc\"\n"
"                                     \"alias ls='ls --color=auto'\"))))\n"

#. type: deffn
#: guix-git/doc/guix.texi:12553
#, fuzzy
msgid "This yields an @code{etc} directory containing these two files."
msgstr "这将生成一个包含这两个文件的@code{etc}目录。"

#. type: deffn
#: guix-git/doc/guix.texi:12555
#, fuzzy, no-wrap
msgid "{Procedure} directory-union name things"
msgstr "{过程} 目录联合 名称 things"

#. type: deffn
#: guix-git/doc/guix.texi:12558
#, fuzzy
msgid "Return a directory that is the union of @var{things}, where @var{things} is a list of file-like objects denoting directories.  For example:"
msgstr "返回一个目录,它是 @var{things} 的并集,其中 @var{things} 是表示目录的类文件对象的列表。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:12561
#, fuzzy, no-wrap
msgid "(directory-union \"guile+emacs\" (list guile emacs))\n"
msgstr "(directory-union \"guile+emacs\" (list guile emacs))\n"

#. type: deffn
#: guix-git/doc/guix.texi:12564
#, fuzzy
msgid "yields a directory that is the union of the @code{guile} and @code{emacs} packages."
msgstr "生成一个目录,它是 @code{guile} 和 @code{emacs} 包的并集。"

#. type: deffn
#: guix-git/doc/guix.texi:12566
#, fuzzy, no-wrap
msgid "{Procedure} file-append obj suffix @dots{}"
msgstr "{过程} 文件附加 obj 后缀 @dots{}"

#. type: deffn
#: guix-git/doc/guix.texi:12570
#, fuzzy
msgid "Return a file-like object that expands to the concatenation of @var{obj} and @var{suffix}, where @var{obj} is a lowerable object and each @var{suffix} is a string."
msgstr "返回一个类文件对象,它扩展为 @var{obj} 和 @var{suffix} 的连接,其中 @var{obj} 是一个可降低的对象,每个 @var{suffix} 是一个字符串。"

#. type: deffn
#: guix-git/doc/guix.texi:12572
#, fuzzy
msgid "As an example, consider this gexp:"
msgstr "作为一个例子,考虑这个 gexp:"

#. type: lisp
#: guix-git/doc/guix.texi:12577
#, fuzzy, no-wrap
msgid ""
"(gexp->script \"run-uname\"\n"
"              #~(system* #$(file-append coreutils\n"
"                                        \"/bin/uname\")))\n"
msgstr "(gexp->script \"run-uname\" #~(system* #$(file-append coreutils \"/bin/uname\")))\n"

#. type: deffn
#: guix-git/doc/guix.texi:12580
#, fuzzy
msgid "The same effect could be achieved with:"
msgstr "同样的效果可以通过以下方式实现:"

#. type: lisp
#: guix-git/doc/guix.texi:12585
#, fuzzy, no-wrap
msgid ""
"(gexp->script \"run-uname\"\n"
"              #~(system* (string-append #$coreutils\n"
"                                        \"/bin/uname\")))\n"
msgstr "(gexp->script \"run-uname\" #~(system* (string-append #$coreutils \"/bin/uname\")))\n"

#. type: deffn
#: guix-git/doc/guix.texi:12591
#, fuzzy
msgid "There is one difference though: in the @code{file-append} case, the resulting script contains the absolute file name as a string, whereas in the second case, the resulting script contains a @code{(string-append @dots{})} expression to construct the file name @emph{at run time}."
msgstr "不过有一个区别:在 @code{file-append} 的情况下,生成的脚本包含绝对文件名作为字符串,而在第二种情况下,生成的脚本包含一个 @code{(string-append @dots{})} 表达式来在运行时构造文件名。"

#. type: defmac
#: guix-git/doc/guix.texi:12593
#, fuzzy, no-wrap
msgid "let-system system body@dots{}"
msgstr "let-system system body@dots{}"

#. type: defmacx
#: guix-git/doc/guix.texi:12594
#, fuzzy, no-wrap
msgid "let-system (system target) body@dots{}"
msgstr "let-system (system target) body@dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:12597
#, fuzzy
msgid "Bind @var{system} to the currently targeted system---e.g., @code{\"x86_64-linux\"}---within @var{body}."
msgstr "远程机器的系统类型--如,@code{\"x86_64-linux\"}。"

#. type: defmac
#: guix-git/doc/guix.texi:12602
#, fuzzy
msgid "In the second case, additionally bind @var{target} to the current cross-compilation target---a GNU triplet such as @code{\"arm-linux-gnueabihf\"}---or @code{#f} if we are not cross-compiling."
msgstr "在第二种情况下,额外绑定 @var{target} 到当前的交叉编译目标——一个 GNU 三元组,例如 @code{\"arm-linux-gnueabihf\"}——或者 @code{#f} 如果我们没有进行交叉编译。"

#. type: defmac
#: guix-git/doc/guix.texi:12605
#, fuzzy
msgid "@code{let-system} is useful in the occasional case where the object spliced into the gexp depends on the target system, as in this example:"
msgstr "@code{let-system} 在偶尔需要根据目标系统而拼接到 gexp 的对象的情况下是有用的,如下例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:12616
#, fuzzy, no-wrap
msgid ""
"#~(system*\n"
"   #+(let-system system\n"
"       (cond ((string-prefix? \"armhf-\" system)\n"
"              (file-append qemu \"/bin/qemu-system-arm\"))\n"
"             ((string-prefix? \"x86_64-\" system)\n"
"              (file-append qemu \"/bin/qemu-system-x86_64\"))\n"
"             (else\n"
"              (error \"dunno!\"))))\n"
"   \"-net\" \"user\" #$image)\n"
msgstr "#~(system* #+(let-system system (cond ((string-prefix? \"armhf-\" system) (file-append qemu \"/bin/qemu-system-arm\")) ((string-prefix? \"x86_64-\" system) (file-append qemu \"/bin/qemu-system-x86_64\")) (else (error \"不知道!\")))) \"-net\" \"user\" #$image)\n"

#. type: defmac
#: guix-git/doc/guix.texi:12619
#, fuzzy, no-wrap
msgid "with-parameters ((parameter value) @dots{}) exp"
msgstr "with-parameters ((parameter value) @dots{}) exp"

#. type: defmac
#: guix-git/doc/guix.texi:12625
#, fuzzy
msgid "This macro is similar to the @code{parameterize} form for dynamically-bound @dfn{parameters} (@pxref{Parameters,,, guile, GNU Guile Reference Manual}).  The key difference is that it takes effect when the file-like object returned by @var{exp} is lowered to a derivation or store item."
msgstr "这个宏类似于 @code{parameterize} 形式,用于动态绑定的 @dfn{参数}(@pxref{Parameters,,, guile, GNU Guile Reference Manual})。关键区别在于它在 @var{exp} 返回的类文件对象被降低为派生项或存储项时生效。"

#. type: defmac
#: guix-git/doc/guix.texi:12628
#, fuzzy
msgid "A typical use of @code{with-parameters} is to force the system in effect for a given object:"
msgstr "@code{with-parameters} 的典型用法是强制系统对给定对象生效:"

#. type: lisp
#: guix-git/doc/guix.texi:12632
#, fuzzy, no-wrap
msgid ""
"(with-parameters ((%current-system \"i686-linux\"))\n"
"  coreutils)\n"
msgstr ""
"(with-parameters ((%current-system \"i686-linux\"))\n"
"  coreutils)\n"

#. type: defmac
#: guix-git/doc/guix.texi:12636
#, fuzzy
msgid "The example above returns an object that corresponds to the i686 build of Coreutils, regardless of the current value of @code{%current-system}."
msgstr "上面的示例返回一个与 i686 构建的 Coreutils 相对应的对象,无论 @code{%current-system} 的当前值是什么。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:12639
#, fuzzy
msgid "gexp-input"
msgstr "gexp-input"

#. type: deffn
#: guix-git/doc/guix.texi:12639
#, fuzzy, no-wrap
msgid "{Procedure} gexp-input @var{obj} [@var{output}] [#:native? #f]"
msgstr "{过程} gexp-input @var{obj} [@var{output}] [#:native? #f]"

#. type: deffn
#: guix-git/doc/guix.texi:12643
#, fuzzy
msgid "Return a @dfn{gexp input} record for the given @var{output} of file-like object @var{obj}, with @code{#:native?} determining whether this is a native reference (as with @code{ungexp-native}) or not."
msgstr "返回给定文件对象 @var{obj} 的 @dfn{gexp 输入} 记录的 @var{output},其中 @code{#:native?} 决定这是否是一个本地引用(如 @code{ungexp-native})或不是。"

#. type: deffn
#: guix-git/doc/guix.texi:12648
#, fuzzy
msgid "This procedure is helpful when you want to pass a reference to a specific output of an object to some procedure that may not know about that output.  For example, assume you have this procedure, which takes one file-like object:"
msgstr "当您想将特定输出的引用传递给某个可能不知道该输出的过程时,此过程非常有用。例如,假设您有这个过程,它接受一个文件对象:"

#. type: lisp
#: guix-git/doc/guix.texi:12653
#, fuzzy, no-wrap
msgid ""
"(define (make-symlink target)\n"
"  (computed-file \"the-symlink\"\n"
"                 #~(symlink #$target #$output)))\n"
msgstr ""
"(define (make-symlink target)\n"
"  (computed-file \"the-symlink\"\n"
"                 #~(symlink #$target #$output)))\n"

#. type: deffn
#: guix-git/doc/guix.texi:12659
#, fuzzy
msgid "Here @code{make-symlink} can only ever refer to the default output of @var{target}---the @code{\"out\"} output (@pxref{Packages with Multiple Outputs}).  To have it refer to, say, the @code{\"lib\"} output of the @code{hwloc} package, you can call it like so:"
msgstr "在这里,@code{make-symlink} 只能引用 @var{target} 的默认输出——@code{\"out\"} 输出 (@pxref{Packages with Multiple Outputs})。要让它引用 @code{hwloc} 包的 @code{\"lib\"} 输出,您可以这样调用它:"

#. type: lisp
#: guix-git/doc/guix.texi:12662
#, fuzzy, no-wrap
msgid "(make-symlink (gexp-input hwloc \"lib\"))\n"
msgstr "(make-symlink (gexp-input hwloc \"lib\"))\n"

#. type: deffn
#: guix-git/doc/guix.texi:12665
#, fuzzy
msgid "You can also compose it like any other file-like object:"
msgstr "您还可以像其他文件对象一样组合它:"

#. type: lisp
#: guix-git/doc/guix.texi:12669
#, fuzzy, no-wrap
msgid ""
"(make-symlink\n"
"  (file-append (gexp-input hwloc \"lib\") \"/lib/libhwloc.so\"))\n"
msgstr ""
"(make-symlink\n"
"  (file-append (gexp-input hwloc \"lib\") \"/lib/libhwloc.so\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12676
#, fuzzy
msgid "Of course, in addition to gexps embedded in ``host'' code, there are also modules containing build tools.  To make it clear that they are meant to be used in the build stratum, these modules are kept in the @code{(guix build @dots{})} name space."
msgstr "当然,除了嵌入在 ``host'' 代码中的 gexp,还有包含构建工具的模块。为了明确它们是用于构建层次,这些模块保存在 @code{(guix build @dots{})} 命名空间中。"

#. type: Plain text
#: guix-git/doc/guix.texi:12682
#, fuzzy
msgid "Internally, high-level objects are @dfn{lowered}, using their compiler, to either derivations or store items.  For instance, lowering a package yields a derivation, and lowering a @code{plain-file} yields a store item.  This is achieved using the @code{lower-object} monadic procedure."
msgstr "在内部,高级对象通过其编译器被 @dfn{降低},变为派生物或存储项。例如,降低一个包会产生一个派生物,而降低一个 @code{plain-file} 会产生一个存储项。这是通过 @code{lower-object} 单子过程实现的。"

#. type: deffn
#: guix-git/doc/guix.texi:12683
#, fuzzy, no-wrap
msgid "{Monadic Procedure} lower-object @var{obj} [@var{system}] @"
msgstr "{单子过程} lower-object @var{obj} [@var{system}] @"

#. type: deffn
#: guix-git/doc/guix.texi:12689
#, fuzzy
msgid "[#:target #f] Return as a value in @code{%store-monad} the derivation or store item corresponding to @var{obj} for @var{system}, cross-compiling for @var{target} if @var{target} is true.  @var{obj} must be an object that has an associated gexp compiler, such as a @code{<package>}."
msgstr "[#:target #f] 在 @code{%store-monad} 中返回与 @var{obj} 对应的派生物或存储项,针对 @var{system} 进行交叉编译,如果 @var{target} 为真,则针对 @var{target}。@var{obj} 必须是具有相关 gexp 编译器的对象,例如 @code{<package>}。"

#. type: deffn
#: guix-git/doc/guix.texi:12691
#, fuzzy, no-wrap
msgid "{Procedure} gexp->approximate-sexp gexp"
msgstr "{Procedure} gexp->approximate-sexp gexp"

#. type: deffn
#: guix-git/doc/guix.texi:12699
#, fuzzy
msgid "Sometimes, it may be useful to convert a G-exp into a S-exp.  For example, some linters (@pxref{Invoking guix lint}) peek into the build phases of a package to detect potential problems.  This conversion can be achieved with this procedure.  However, some information can be lost in the process.  More specifically, lowerable objects will be silently replaced with some arbitrary object -- currently the list @code{(*approximate*)}, but this may change."
msgstr "有时,将 G-exp 转换为 S-exp 是有用的。例如,一些代码检查工具(@pxref{Invoking guix lint})会查看软件包的构建阶段,以检测潜在问题。这个转换可以通过这个过程来实现。然而,在这个过程中可能会丢失一些信息。更具体地说,可降低的对象将被静默替换为某个任意对象——目前是列表 @code{(*approximate*)},但这可能会改变。"

#. type: section
#: guix-git/doc/guix.texi:12702
#, fuzzy, no-wrap
msgid "Invoking @command{guix repl}"
msgstr "调用 @command{guix repl}"

#. type: command{#1}
#: guix-git/doc/guix.texi:12704
#, no-wrap
msgid "guix repl"
msgstr "guix repl"

#. type: cindex
#: guix-git/doc/guix.texi:12705
#, fuzzy, no-wrap
msgid "REPL, read-eval-print loop, script"
msgstr "read-eval-print loop"

#. type: Plain text
#: guix-git/doc/guix.texi:12715
#, fuzzy
msgid "The @command{guix repl} command makes it easier to program Guix in Guile by launching a Guile @dfn{read-eval-print loop} (REPL) for interactive programming (@pxref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}), or by running Guile scripts (@pxref{Running Guile Scripts,,, guile, GNU Guile Reference Manual}).  Compared to just launching the @command{guile} command, @command{guix repl} guarantees that all the Guix modules and all its dependencies are available in the search path."
msgstr "@command{guix repl} 命令通过启动 Guile @dfn{读-评-打印循环}(REPL)来简化在 Guix 中编程的过程,以便进行交互式编程(@pxref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}),或通过运行 Guile 脚本(@pxref{Running Guile Scripts,,, guile, GNU Guile Reference Manual})。与仅启动 @command{guile} 命令相比,@command{guix repl} 确保所有 Guix 模块及其所有依赖项都在搜索路径中可用。"

#. type: example
#: guix-git/doc/guix.texi:12720
#, fuzzy, no-wrap
msgid "guix repl @var{options} [@var{file} @var{args}]\n"
msgstr "guix repl @var{options} [@var{file} @var{args}]\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12724
#, fuzzy
msgid "When a @var{file} argument is provided, @var{file} is executed as a Guile scripts:"
msgstr "当提供 @var{file} 参数时,@var{file} 将作为 Guile 脚本执行:"

#. type: example
#: guix-git/doc/guix.texi:12727
#, fuzzy, no-wrap
msgid "guix repl my-script.scm\n"
msgstr "guix repl my-script.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12731
#, fuzzy
msgid "To pass arguments to the script, use @code{--} to prevent them from being interpreted as arguments to @command{guix repl} itself:"
msgstr "要将参数传递给脚本,请使用 @code{--} 以防止它们被解释为 @command{guix repl} 本身的参数:"

#. type: example
#: guix-git/doc/guix.texi:12734
#, fuzzy, no-wrap
msgid "guix repl -- my-script.scm --input=foo.txt\n"
msgstr "guix repl -- my-script.scm --input=foo.txt\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12739
#, fuzzy
msgid "To make a script executable directly from the shell, using the guix executable that is on the user's search path, add the following two lines at the top of the script:"
msgstr "要使脚本可以直接从 shell 执行,使用用户搜索路径中的 guix 可执行文件,请在脚本顶部添加以下两行:"

#. type: example
#: guix-git/doc/guix.texi:12743
#, fuzzy, no-wrap
msgid ""
"@code{#!/usr/bin/env -S guix repl --}\n"
"@code{!#}\n"
msgstr ""
"@code{#!/usr/bin/env -S guix repl --}\n"
"@code{!#}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12747
#, fuzzy
msgid "To make a script that launches an interactive REPL directly from the shell, use the @code{--interactive} flag:"
msgstr "要制作一个可以直接从 shell 启动交互式 REPL 的脚本,请使用 @code{--interactive} 标志:"

#. type: example
#: guix-git/doc/guix.texi:12751
#, fuzzy, no-wrap
msgid ""
"@code{#!/usr/bin/env -S guix repl --interactive}\n"
"@code{!#}\n"
msgstr ""
"@code{#!/usr/bin/env -S guix repl --interactive}\n"
"@code{!#}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12755
#, fuzzy
msgid "Without a file name argument, a Guile REPL is started, allowing for interactive use (@pxref{Using Guix Interactively}):"
msgstr "如果没有文件名参数,将启动一个 Guile REPL,允许进行交互式使用(@pxref{Using Guix Interactively}):"

#. type: example
#: guix-git/doc/guix.texi:12761
#, fuzzy, no-wrap
msgid ""
"$ guix repl\n"
"scheme@@(guile-user)> ,use (gnu packages base)\n"
"scheme@@(guile-user)> coreutils\n"
"$1 = #<package coreutils@@8.29 gnu/packages/base.scm:327 3e28300>\n"
msgstr ""
"$ guix repl\n"
"scheme@@(guile-user)> ,use (gnu packages base)\n"
"scheme@@(guile-user)> coreutils\n"
"$1 = #<package coreutils@@8.29 gnu/packages/base.scm:327 3e28300>\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12768
#, fuzzy
msgid "In addition, @command{guix repl} implements a simple machine-readable REPL protocol for use by @code{(guix inferior)}, a facility to interact with @dfn{inferiors}, separate processes running a potentially different revision of Guix."
msgstr "此外,@command{guix repl} 实现了一个简单的机器可读 REPL 协议,供 @code{(guix inferior)} 使用,这是一个与 @dfn{inferiors} 交互的工具,inferiors 是运行可能不同版本 Guix 的独立进程。"

#. type: item
#: guix-git/doc/guix.texi:12772 guix-git/doc/guix.texi:16121
#, fuzzy, no-wrap
msgid "--list-types"
msgstr "--list-types"

#. type: table
#: guix-git/doc/guix.texi:12775
#, fuzzy
msgid "Display the @var{TYPE} options for @command{guix repl --type=TYPE} and exit."
msgstr "显示 @command{guix repl --type=TYPE} 的 @var{TYPE} 选项并退出。"

#. type: item
#: guix-git/doc/guix.texi:12776 guix-git/doc/guix.texi:16116
#, fuzzy, no-wrap
msgid "--type=@var{type}"
msgstr "--type=@var{type}"

#. type: itemx
#: guix-git/doc/guix.texi:12777 guix-git/doc/guix.texi:16117
#: guix-git/doc/guix.texi:44920
#, fuzzy, no-wrap
msgid "-t @var{type}"
msgstr "-t @var{type}"

#. type: table
#: guix-git/doc/guix.texi:12779
#, fuzzy
msgid "Start a REPL of the given @var{TYPE}, which can be one of the following:"
msgstr "启动给定 @var{TYPE} 的 REPL,可以是以下之一:"

#. type: item
#: guix-git/doc/guix.texi:12781
#, fuzzy, no-wrap
msgid "guile"
msgstr "guile"

#. type: table
#: guix-git/doc/guix.texi:12783
#, fuzzy
msgid "This is default, and it spawns a standard full-featured Guile REPL."
msgstr "这是默认选项,它会生成一个标准的全功能 Guile REPL。"

#. type: item
#: guix-git/doc/guix.texi:12783
#, fuzzy, no-wrap
msgid "machine"
msgstr "machine"

#. type: table
#: guix-git/doc/guix.texi:12786
#, fuzzy
msgid "Spawn a REPL that uses the machine-readable protocol.  This is the protocol that the @code{(guix inferior)} module speaks."
msgstr "生成一个使用机器可读协议的 REPL。这是 @code{(guix inferior)} 模块所使用的协议。"

#. type: table
#: guix-git/doc/guix.texi:12792
#, fuzzy
msgid "By default, @command{guix repl} reads from standard input and writes to standard output.  When this option is passed, it will instead listen for connections on @var{endpoint}.  Here are examples of valid options:"
msgstr "默认情况下,@command{guix repl} 从标准输入读取并写入标准输出。当传递此选项时,它将改为在 @var{endpoint} 上监听连接。以下是有效选项的示例:"

#. type: item
#: guix-git/doc/guix.texi:12794
#, fuzzy, no-wrap
msgid "--listen=tcp:37146"
msgstr "--listen=tcp:37146"

#. type: table
#: guix-git/doc/guix.texi:12796
#, fuzzy
msgid "Accept connections on localhost on port 37146."
msgstr "在本地主机的 37146 端口接受连接。"

#. type: item
#: guix-git/doc/guix.texi:12797
#, fuzzy, no-wrap
msgid "--listen=unix:/tmp/socket"
msgstr "--listen=unix:/tmp/socket"

#. type: table
#: guix-git/doc/guix.texi:12799
#, fuzzy
msgid "Accept connections on the Unix-domain socket @file{/tmp/socket}."
msgstr "在 Unix 域套接字 @file{/tmp/socket} 上接受连接。"

#. type: item
#: guix-git/doc/guix.texi:12801
#, fuzzy, no-wrap
msgid "--interactive"
msgstr "用户界面"

#. type: itemx
#: guix-git/doc/guix.texi:12802
#, fuzzy, no-wrap
msgid "-i"
msgstr "-i"

#. type: table
#: guix-git/doc/guix.texi:12804
#, fuzzy
msgid "Launch the interactive REPL after @var{file} is executed."
msgstr "在执行 @var{file} 后启动交互式 REPL。"

#. type: item
#: guix-git/doc/guix.texi:12805 guix-git/doc/guix.texi:13071
#: guix-git/doc/guix.texi:15344 guix-git/doc/guix.texi:15534
#: guix-git/doc/guix.texi:15751 guix-git/doc/guix.texi:15896
#: guix-git/doc/guix.texi:16164
#, fuzzy, no-wrap
msgid "--load-path=@var{directory}"
msgstr "--load-path=@var{directory}"

#. type: itemx
#: guix-git/doc/guix.texi:12806 guix-git/doc/guix.texi:13072
#: guix-git/doc/guix.texi:15345 guix-git/doc/guix.texi:15535
#: guix-git/doc/guix.texi:15752 guix-git/doc/guix.texi:15897
#: guix-git/doc/guix.texi:16165
#, fuzzy, no-wrap
msgid "-L @var{directory}"
msgstr "-L @var{directory}"

#. type: table
#: guix-git/doc/guix.texi:12809 guix-git/doc/guix.texi:13075
#: guix-git/doc/guix.texi:15348 guix-git/doc/guix.texi:15538
#: guix-git/doc/guix.texi:15755 guix-git/doc/guix.texi:15900
#: guix-git/doc/guix.texi:16168
#, fuzzy
msgid "Add @var{directory} to the front of the package module search path (@pxref{Package Modules})."
msgstr "将 @var{directory} 添加到包模块搜索路径的前面 (@pxref{Package Modules})。"

#. type: table
#: guix-git/doc/guix.texi:12812
#, fuzzy
msgid "This allows users to define their own packages and make them visible to the script or REPL."
msgstr "这允许用户定义自己的包并使其对脚本或 REPL 可见。"

#. type: table
#: guix-git/doc/guix.texi:12816
#, fuzzy
msgid "Inhibit loading of the @file{~/.guile} file.  By default, that configuration file is loaded when spawning a @code{guile} REPL."
msgstr "禁止加载 @file{~/.guile} 文件。默认情况下,当生成 @code{guile} REPL 时,会加载该配置文件。"

#. type: cindex
#: guix-git/doc/guix.texi:12821
#, fuzzy, no-wrap
msgid "interactive use"
msgstr "用户界面"

#. type: cindex
#: guix-git/doc/guix.texi:12822
#, fuzzy, no-wrap
msgid "REPL, read-eval-print loop"
msgstr "read-eval-print loop"

#. type: Plain text
#: guix-git/doc/guix.texi:12828
#, fuzzy
msgid "The @command{guix repl} command gives you access to a warm and friendly @dfn{read-eval-print loop} (REPL) (@pxref{Invoking guix repl}).  If you're getting into Guix programming---defining your own packages, writing manifests, defining services for Guix System or Guix Home, etc.---you will surely find it convenient to toy with ideas at the REPL."
msgstr "@command{guix repl} 命令为您提供了一个温暖友好的 @dfn{读-评-打印循环} (REPL) 的访问权限 (@pxref{Invoking guix repl})。如果您正在进入 Guix 编程——定义自己的包、编写清单、为 Guix 系统或 Guix Home 定义服务等——您一定会发现它在 REPL 中玩弄想法非常方便。"

#. type: Plain text
#: guix-git/doc/guix.texi:12834
#, fuzzy
msgid "If you use Emacs, the most convenient way to do that is with Geiser (@pxref{The Perfect Setup}), but you do not have to use Emacs to enjoy the REPL@.  When using @command{guix repl} or @command{guile} in the terminal, we recommend using Readline for completion and Colorized to get colorful output.  To do that, you can run:"
msgstr "如果您使用 Emacs,最方便的方法是使用 Geiser (@pxref{The Perfect Setup}),但您不必使用 Emacs 来享受 REPL@。在终端中使用 @command{guix repl} 或 @command{guile} 时,我们建议使用 Readline 进行补全,并使用 Colorized 获取彩色输出。为此,您可以运行:"

#. type: example
#: guix-git/doc/guix.texi:12837
#, fuzzy, no-wrap
msgid "guix install guile guile-readline guile-colorized\n"
msgstr "guix 安装 guile guile-readline guile-colorized\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12842
#, fuzzy
msgid "... and then create a @file{.guile} file in your home directory containing this:"
msgstr "... 然后在你的主目录中创建一个 @file{.guile} 文件,内容如下:"

#. type: lisp
#: guix-git/doc/guix.texi:12845
#, fuzzy, no-wrap
msgid ""
"(use-modules (ice-9 readline) (ice-9 colorized))\n"
"\n"
msgstr ""
"(use-modules (ice-9 readline) (ice-9 colorized))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:12848
#, fuzzy, no-wrap
msgid ""
"(activate-readline)\n"
"(activate-colorized)\n"
msgstr ""
"(activate-readline)\n"
"(activate-colorized)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12852
#, fuzzy
msgid "The REPL lets you evaluate Scheme code; you type a Scheme expression at the prompt, and the REPL prints what it evaluates to:"
msgstr "REPL 让你可以评估 Scheme 代码;你在提示符下输入一个 Scheme 表达式,REPL 会打印出它评估的结果:"

#. type: example
#: guix-git/doc/guix.texi:12859
#, fuzzy, no-wrap
msgid ""
"$ guix repl\n"
"scheme@@(guix-user)> (+ 2 3)\n"
"$1 = 5\n"
"scheme@@(guix-user)> (string-append \"a\" \"b\")\n"
"$2 = \"ab\"\n"
msgstr ""
"$ guix repl\n"
"scheme@@(guix-user)> (+ 2 3)\n"
"$1 = 5\n"
"scheme@@(guix-user)> (string-append \"a\" \"b\")\n"
"$2 = \"ab\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12870
#, fuzzy
msgid "It becomes interesting when you start fiddling with Guix at the REPL.  The first thing you'll want to do is to ``import'' the @code{(guix)} module, which gives access to the main part of the programming interface, and perhaps a bunch of useful Guix modules.  You could type @code{(use-modules (guix))}, which is valid Scheme code to import a module (@pxref{Using Guile Modules,,, guile, GNU Guile Reference Manual}), but the REPL provides the @code{use} @dfn{command} as a shorthand notation (@pxref{REPL Commands,,, guile, GNU Guile Reference Manual}):"
msgstr "当你开始在 REPL 中玩弄 Guix 时,它变得有趣。你首先想要做的就是“导入” @code{(guix)} 模块,这样可以访问编程接口的主要部分,以及一些有用的 Guix 模块。你可以输入 @code{(use-modules (guix))},这是有效的 Scheme 代码来导入一个模块(@pxref{使用 Guile 模块,,, guile, GNU Guile 参考手册}),但 REPL 提供了 @code{use} @dfn{命令}作为简写符号(@pxref{REPL 命令,,, guile, GNU Guile 参考手册}):"

#. type: example
#: guix-git/doc/guix.texi:12874
#, fuzzy, no-wrap
msgid ""
"scheme@@(guix-user)> ,use (guix)\n"
"scheme@@(guix-user)> ,use (gnu packages base)\n"
msgstr ""
"scheme@@(guix-user)> ,use (guix)\n"
"scheme@@(guix-user)> ,use (gnu packages base)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12879
#, fuzzy
msgid "Notice that REPL commands are introduced by a leading comma.  A REPL command like @code{use} is not valid Scheme code; it's interpreted specially by the REPL."
msgstr "请注意,REPL 命令以逗号开头。像 @code{use} 这样的 REPL 命令不是有效的 Scheme 代码;它被 REPL 特殊解释。"

#. type: Plain text
#: guix-git/doc/guix.texi:12888
#, fuzzy
msgid "Guix extends the Guile REPL with additional commands for convenience.  Among those, the @code{build} command comes in handy: it ensures that the given file-like object is built, building it if needed, and returns its output file name(s).  In the example below, we build the @code{coreutils} and @code{grep} packages, as well as a ``computed file'' (@pxref{G-Expressions, @code{computed-file}}), and we use the @code{scandir} procedure to list the files in Grep's @code{/bin} directory:"
msgstr "Guix 为 Guile REPL 扩展了额外的命令以方便使用。其中,@code{build} 命令非常有用:它确保给定的文件对象被构建,如果需要则构建它,并返回其输出文件名。在下面的示例中,我们构建 @code{coreutils} 和 @code{grep} 包,以及一个“计算文件”(@pxref{G-Expressions, @code{computed-file}}),并使用 @code{scandir} 过程列出 Grep 的 @code{/bin} 目录中的文件:"

#. type: example
#: guix-git/doc/guix.texi:12901
#, fuzzy, no-wrap
msgid ""
"scheme@@(guix-user)> ,build coreutils\n"
"$1 = \"/gnu/store/@dots{}-coreutils-8.32-debug\"\n"
"$2 = \"/gnu/store/@dots{}-coreutils-8.32\"\n"
"scheme@@(guix-user)> ,build grep\n"
"$3 = \"/gnu/store/@dots{}-grep-3.6\"\n"
"scheme@@(guix-user)> ,build (computed-file \"x\" #~(mkdir #$output))\n"
"building /gnu/store/@dots{}-x.drv...\n"
"$4 = \"/gnu/store/@dots{}-x\"\n"
"scheme@@(guix-user)> ,use(ice-9 ftw)\n"
"scheme@@(guix-user)> (scandir (string-append $3 \"/bin\"))\n"
"$5 = (\".\" \"..\" \"egrep\" \"fgrep\" \"grep\")\n"
msgstr ""
"scheme@@(guix-user)> ,build coreutils\n"
"$1 = \"/gnu/store/@dots{}-coreutils-8.32-debug\"\n"
"$2 = \"/gnu/store/@dots{}-coreutils-8.32\"\n"
"scheme@@(guix-user)> ,build grep\n"
"$3 = \"/gnu/store/@dots{}-grep-3.6\"\n"
"scheme@@(guix-user)> ,build (computed-file \"x\" #~(mkdir #$output))\n"
"building /gnu/store/@dots{}-x.drv...\n"
"$4 = \"/gnu/store/@dots{}-x\"\n"
"scheme@@(guix-user)> ,use(ice-9 ftw)\n"
"scheme@@(guix-user)> (scandir (string-append $3 \"/bin\"))\n"
"$5 = (\".\" \"..\" \"egrep\" \"fgrep\" \"grep\")\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12909
#, fuzzy
msgid "As a packager, you may be willing to inspect the build phases or flags of a given package; this is particularly useful when relying a lot on inheritance to define package variants (@pxref{Defining Package Variants}) or when package arguments are a result of some computation, both of which can make it harder to foresee what ends up in the package arguments.  Additional commands let you inspect those package arguments:"
msgstr "作为打包者,您可能希望检查给定软件包的构建阶段或标志;这在大量依赖继承来定义软件包变体时特别有用(@pxref{Defining Package Variants}),或者当软件包参数是某些计算的结果时,这两者都可能使预测最终会出现在软件包参数中的内容变得更加困难。 额外的命令让您检查这些软件包参数:"

#. type: example
#: guix-git/doc/guix.texi:12925
#, fuzzy, no-wrap
msgid ""
"scheme@@(guix-user)> ,phases grep\n"
"$1 = (modify-phases %standard-phases\n"
"       (add-after 'install 'fix-egrep-and-fgrep\n"
"         (lambda* (#:key outputs #:allow-other-keys)\n"
"           (let* ((out (assoc-ref outputs \"out\"))\n"
"                  (bin (string-append out \"/bin\")))\n"
"             (substitute* (list (string-append bin \"/egrep\")\n"
"                                (string-append bin \"/fgrep\"))\n"
"               ((\"^exec grep\")\n"
"                (string-append \"exec \" bin \"/grep\")))))))\n"
"scheme@@(guix-user)> ,configure-flags findutils\n"
"$2 = (list \"--localstatedir=/var\")\n"
"scheme@@(guix-user)> ,make-flags binutils\n"
"$3 = '(\"MAKEINFO=true\")\n"
msgstr ""
"scheme@@(guix-user)> ,phases grep\n"
"$1 = (modify-phases %standard-phases\n"
"       (add-after 'install 'fix-egrep-and-fgrep\n"
"         (lambda* (#:key outputs #:allow-other-keys)\n"
"           (let* ((out (assoc-ref outputs \"out\"))\n"
"                  (bin (string-append out \"/bin\")))\n"
"             (substitute* (list (string-append bin \"/egrep\")\n"
"                                (string-append bin \"/fgrep\"))\n"
"               ((\"^exec grep\")\n"
"                (string-append \"exec \" bin \"/grep\")))))))\n"
"scheme@@(guix-user)> ,configure-flags findutils\n"
"$2 = (list \"--localstatedir=/var\")\n"
"scheme@@(guix-user)> ,make-flags binutils\n"
"$3 = '(\"MAKEINFO=true\")\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12930
#, fuzzy
msgid "At a lower-level, a useful command is @code{lower}: it takes a file-like object and ``lowers'' it into a derivation (@pxref{Derivations}) or a store file:"
msgstr "在较低级别上,一个有用的命令是 @code{lower}:它接受一个类似文件的对象并将其“降低”到一个派生物(@pxref{Derivations})或存储文件:"

#. type: example
#: guix-git/doc/guix.texi:12936
#, fuzzy, no-wrap
msgid ""
"scheme@@(guix-user)> ,lower grep\n"
"$6 = #<derivation /gnu/store/@dots{}-grep-3.6.drv => /gnu/store/@dots{}-grep-3.6 7f0e639115f0>\n"
"scheme@@(guix-user)> ,lower (plain-file \"x\" \"Hello!\")\n"
"$7 = \"/gnu/store/@dots{}-x\"\n"
msgstr ""
"scheme@@(guix-user)> ,lower grep\n"
"$6 = #<derivation /gnu/store/@dots{}-grep-3.6.drv => /gnu/store/@dots{}-grep-3.6 7f0e639115f0>\n"
"scheme@@(guix-user)> ,lower (plain-file \"x\" \"Hello!\")\n"
"$7 = \"/gnu/store/@dots{}-x\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:12940
#, fuzzy
msgid "The full list of REPL commands can be seen by typing @code{,help guix} and is given below for reference."
msgstr "REPL 命令的完整列表可以通过输入 @code{,help guix} 来查看,以下是供参考的列表。"

#. type: deffn
#: guix-git/doc/guix.texi:12941
#, fuzzy, no-wrap
msgid "{REPL command} build @var{object}"
msgstr "{REPL command} build @var{object}"

#. type: deffn
#: guix-git/doc/guix.texi:12944
#, fuzzy
msgid "Lower @var{object} and build it if it's not already built, returning its output file name(s)."
msgstr "降低 @var{object} 并在其尚未构建时构建它,返回其输出文件名。"

#. type: deffn
#: guix-git/doc/guix.texi:12946
#, fuzzy, no-wrap
msgid "{REPL command} lower @var{object}"
msgstr "{REPL command} lower @var{object}"

#. type: deffn
#: guix-git/doc/guix.texi:12948
#, fuzzy
msgid "Lower @var{object} into a derivation or store file name and return it."
msgstr "将 @var{object} 降低为派生物或存储文件名并返回它。"

#. type: deffn
#: guix-git/doc/guix.texi:12950
#, fuzzy, no-wrap
msgid "{REPL command} verbosity @var{level}"
msgstr "{REPL command} verbosity @var{level}"

#. type: deffn
#: guix-git/doc/guix.texi:12952
#, fuzzy
msgid "Change build verbosity to @var{level}."
msgstr "将构建详细程度更改为 @var{level}。"

#. type: deffn
#: guix-git/doc/guix.texi:12956
#, fuzzy
msgid "This is similar to the @option{--verbosity} command-line option (@pxref{Common Build Options}): level 0 means total silence, level 1 shows build events only, and higher levels print build logs."
msgstr "这类似于 @option{--verbosity} 命令行选项(@pxref{Common Build Options}):级别 0 意味着完全静默,级别 1 仅显示构建事件,更高的级别打印构建日志。"

#. type: deffn
#: guix-git/doc/guix.texi:12958
#, fuzzy, no-wrap
msgid "{REPL command} phases @var{package}"
msgstr "{REPL 命令} phases @var{package}"

#. type: deffnx
#: guix-git/doc/guix.texi:12959
#, fuzzy, no-wrap
msgid "{REPL command} configure-flags @var{package}"
msgstr "--log-compression=@var{type}"

#. type: deffnx
#: guix-git/doc/guix.texi:12960
#, fuzzy, no-wrap
msgid "{REPL command} make-flags @var{package}"
msgstr "{REPL 命令} make-flags @var{package}"

#. type: deffn
#: guix-git/doc/guix.texi:12967
#, fuzzy
msgid "These REPL commands return the value of one element of the @code{arguments} field of @var{package} (@pxref{package Reference}): the first one show the staged code associated with @code{#:phases} (@pxref{Build Phases}), the second shows the code for @code{#:configure-flags}, and @code{,make-flags} returns the code for @code{#:make-flags}."
msgstr "这些 REPL 命令返回 @var{package} 的 @code{arguments} 字段的一个元素的值 (@pxref{package Reference}):第一个显示与 @code{#:phases} 相关的阶段代码 (@pxref{Build Phases}),第二个显示 @code{#:configure-flags} 的代码,而 @code{,make-flags} 返回 @code{#:make-flags} 的代码。"

#. type: deffn
#: guix-git/doc/guix.texi:12969
#, fuzzy, no-wrap
msgid "{REPL command} run-in-store @var{exp}"
msgstr "{REPL 命令} run-in-store @var{exp}"

#. type: deffn
#: guix-git/doc/guix.texi:12972
#, fuzzy
msgid "Run @var{exp}, a monadic expression, through the store monad.  @xref{The Store Monad}, for more information."
msgstr "通过存储单子运行 @var{exp},一个单子表达式。有关更多信息,请参见 @xref{The Store Monad}。"

#. type: deffn
#: guix-git/doc/guix.texi:12974
#, fuzzy, no-wrap
msgid "{REPL command} enter-store-monad"
msgstr "{REPL 命令} enter-store-monad"

#. type: deffn
#: guix-git/doc/guix.texi:12977
#, fuzzy
msgid "Enter a new REPL to evaluate monadic expressions (@pxref{The Store Monad}).  You can quit this ``inner'' REPL by typing @code{,q}."
msgstr "进入一个新的 REPL 以评估单子表达式 (@pxref{The Store Monad})。您可以通过输入 @code{,q} 退出这个“内部” REPL。"

#. type: Plain text
#: guix-git/doc/guix.texi:12987
#, fuzzy
msgid "This section describes Guix command-line utilities.  Some of them are primarily targeted at developers and users who write new package definitions, while others are more generally useful.  They complement the Scheme programming interface of Guix in a convenient way."
msgstr "本节描述了 Guix 命令行工具。其中一些主要面向开发人员和编写新软件包定义的用户,而其他工具则更为通用。它们以方便的方式补充了 Guix 的 Scheme 编程接口。"

#. type: cindex
#: guix-git/doc/guix.texi:13010
#, fuzzy, no-wrap
msgid "package building"
msgstr "软件包构建"

#. type: command{#1}
#: guix-git/doc/guix.texi:13011
#, fuzzy, no-wrap
msgid "guix build"
msgstr "guix build"

#. type: Plain text
#: guix-git/doc/guix.texi:13017
#, fuzzy
msgid "The @command{guix build} command builds packages or derivations and their dependencies, and prints the resulting store paths.  Note that it does not modify the user's profile---this is the job of the @command{guix package} command (@pxref{Invoking guix package}).  Thus, it is mainly useful for distribution developers."
msgstr "@command{guix build} 命令构建软件包或派生物及其依赖项,并打印结果存储路径。请注意,它不会修改用户的配置文件——这是 @command{guix package} 命令的工作 (@pxref{Invoking guix package})。因此,它主要对分发开发人员有用。"

#. type: example
#: guix-git/doc/guix.texi:13022
#, fuzzy, no-wrap
msgid "guix build @var{options} @var{package-or-derivation}@dots{}\n"
msgstr "guix build @var{options} @var{package-or-derivation}@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:13027
#, fuzzy
msgid "As an example, the following command builds the latest versions of Emacs and of Guile, displays their build logs, and finally displays the resulting directories:"
msgstr "作为示例,以下命令构建 Emacs 和 Guile 的最新版本,显示它们的构建日志,最后显示结果目录:"

#. type: example
#: guix-git/doc/guix.texi:13030
#, fuzzy, no-wrap
msgid "guix build emacs guile\n"
msgstr "guix build emacs guile\n"

#. type: Plain text
#: guix-git/doc/guix.texi:13033
#, fuzzy
msgid "Similarly, the following command builds all the available packages:"
msgstr "类似地,以下命令构建所有可用的软件包:"

#. type: example
#: guix-git/doc/guix.texi:13037
#, fuzzy, no-wrap
msgid ""
"guix build --quiet --keep-going \\\n"
"  $(guix package -A | awk '@{ print $1 \"@@\" $2 @}')\n"
msgstr ""
"guix build --quiet --keep-going \\\n"
"  $(guix package -A | awk '@{ print $1 \"@@\" $2 @}')\n"

#. type: Plain text
#: guix-git/doc/guix.texi:13045
#, fuzzy
msgid "@var{package-or-derivation} may be either the name of a package found in the software distribution such as @code{coreutils} or @code{coreutils@@8.20}, or a derivation such as @file{/gnu/store/@dots{}-coreutils-8.19.drv}.  In the former case, a package with the corresponding name (and optionally version) is searched for among the GNU distribution modules (@pxref{Package Modules})."
msgstr "@var{package-or-derivation} 可以是软件分发中找到的软件包的名称,例如 @code{coreutils} 或 @code{coreutils@@8.20},也可以是派生物,例如 @file{/gnu/store/@dots{}-coreutils-8.19.drv}。在前一种情况下,将在 GNU 分发模块中搜索具有相应名称(可选版本)的软件包 (@pxref{Package Modules})。"

#. type: Plain text
#: guix-git/doc/guix.texi:13050
#, fuzzy
msgid "Alternatively, the @option{--expression} option may be used to specify a Scheme expression that evaluates to a package; this is useful when disambiguating among several same-named packages or package variants is needed."
msgstr "或者,可以使用 @option{--expression} 选项来指定一个评估为包的 Scheme 表达式;当需要在多个同名包或包变体之间消歧时,这非常有用。"

#. type: Plain text
#: guix-git/doc/guix.texi:13053
#, fuzzy
msgid "There may be zero or more @var{options}.  The available options are described in the subsections below."
msgstr "可以有零个或多个 @var{options}。可用的选项在下面的子部分中描述。"

#. type: Plain text
#: guix-git/doc/guix.texi:13068
#, fuzzy
msgid "A number of options that control the build process are common to @command{guix build} and other commands that can spawn builds, such as @command{guix package} or @command{guix archive}.  These are the following:"
msgstr "控制构建过程的一些选项在 @command{guix build} 和其他可以生成构建的命令中是通用的,例如 @command{guix package} 或 @command{guix archive}。这些选项如下:"

#. type: table
#: guix-git/doc/guix.texi:13078 guix-git/doc/guix.texi:15351
#: guix-git/doc/guix.texi:15758 guix-git/doc/guix.texi:15903
#: guix-git/doc/guix.texi:16171
#, fuzzy
msgid "This allows users to define their own packages and make them visible to the command-line tools."
msgstr "这允许用户定义自己的包并使其对命令行工具可见。"

#. type: item
#: guix-git/doc/guix.texi:13079
#, fuzzy, no-wrap
msgid "--keep-failed"
msgstr "--keep-failed"

#. type: itemx
#: guix-git/doc/guix.texi:13080
#, fuzzy, no-wrap
msgid "-K"
msgstr "-K"

#. type: table
#: guix-git/doc/guix.texi:13086
#, fuzzy
msgid "Keep the build tree of failed builds.  Thus, if a build fails, its build tree is kept under @file{/tmp}, in a directory whose name is shown at the end of the build log.  This is useful when debugging build issues.  @xref{Debugging Build Failures}, for tips and tricks on how to debug build issues."
msgstr "保留失败构建的构建树。因此,如果构建失败,其构建树将保留在 @file{/tmp} 下,目录名称在构建日志的末尾显示。这在调试构建问题时非常有用。有关调试构建问题的提示和技巧,请参见 @xref{Debugging Build Failures}。"

#. type: table
#: guix-git/doc/guix.texi:13090
#, fuzzy
msgid "This option implies @option{--no-offload}, and it has no effect when connecting to a remote daemon with a @code{guix://} URI (@pxref{The Store, the @env{GUIX_DAEMON_SOCKET} variable})."
msgstr "此选项意味着 @option{--no-offload},并且在使用 @code{guix://} URI 连接到远程守护进程时没有效果 (@pxref{The Store, the @env{GUIX_DAEMON_SOCKET} variable})。"

#. type: item
#: guix-git/doc/guix.texi:13091
#, fuzzy, no-wrap
msgid "--keep-going"
msgstr "--keep-going"

#. type: itemx
#: guix-git/doc/guix.texi:13092
#, fuzzy, no-wrap
msgid "-k"
msgstr "-k"

#. type: table
#: guix-git/doc/guix.texi:13095
#, fuzzy
msgid "Keep going when some of the derivations fail to build; return only once all the builds have either completed or failed."
msgstr "当某些派生项构建失败时继续进行;仅在所有构建完成或失败后返回。"

#. type: table
#: guix-git/doc/guix.texi:13098
#, fuzzy
msgid "The default behavior is to stop as soon as one of the specified derivations has failed."
msgstr "默认行为是在指定的派生项之一失败时立即停止。"

#. type: table
#: guix-git/doc/guix.texi:13102
#, fuzzy
msgid "Do not build the derivations."
msgstr "不要构建派生项。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:13104
#, fuzzy
msgid "fallback-option"
msgstr "fallback-option"

#. type: item
#: guix-git/doc/guix.texi:13104
#, fuzzy, no-wrap
msgid "--fallback"
msgstr "--fallback"

#. type: table
#: guix-git/doc/guix.texi:13107
#, fuzzy
msgid "When substituting a pre-built binary fails, fall back to building packages locally (@pxref{Substitution Failure})."
msgstr "当替换预构建的二进制文件失败时,回退到本地构建包 (@pxref{Substitution Failure})。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:13113
#, fuzzy
msgid "client-substitute-urls"
msgstr "client-substitute-urls"

#. type: table
#: guix-git/doc/guix.texi:13113
#, fuzzy
msgid "Consider @var{urls} the whitespace-separated list of substitute source URLs, overriding the default list of URLs of @command{guix-daemon} (@pxref{daemon-substitute-urls,, @command{guix-daemon} URLs})."
msgstr "将 @var{urls} 视为以空格分隔的替代源 URL 列表,覆盖 @command{guix-daemon} 的默认 URL 列表 (@pxref{daemon-substitute-urls,, @command{guix-daemon} URLs})。"

#. type: table
#: guix-git/doc/guix.texi:13117
#, fuzzy
msgid "This means that substitutes may be downloaded from @var{urls}, provided they are signed by a key authorized by the system administrator (@pxref{Substitutes})."
msgstr "这意味着可以从 @var{urls} 下载替代品,前提是它们由系统管理员授权的密钥签名 (@pxref{Substitutes})。"

#. type: table
#: guix-git/doc/guix.texi:13120
#, fuzzy
msgid "When @var{urls} is the empty string, substitutes are effectively disabled."
msgstr "当 @var{urls} 是空字符串时,替代品实际上被禁用。"

#. type: item
#: guix-git/doc/guix.texi:13126
#, fuzzy, no-wrap
msgid "--no-grafts"
msgstr "--no-grafts"

#. type: table
#: guix-git/doc/guix.texi:13130
#, fuzzy
msgid "Do not ``graft'' packages.  In practice, this means that package updates available as grafts are not applied.  @xref{Security Updates}, for more information on grafts."
msgstr "不要“嫁接”包。实际上,这意味着不会应用作为嫁接提供的包更新。有关嫁接的更多信息,请参见 @xref{Security Updates}。"

#. type: item
#: guix-git/doc/guix.texi:13131
#, fuzzy, no-wrap
msgid "--rounds=@var{n}"
msgstr "--rounds=@var{n}"

#. type: table
#: guix-git/doc/guix.texi:13134
#, fuzzy
msgid "Build each derivation @var{n} times in a row, and raise an error if consecutive build results are not bit-for-bit identical."
msgstr "连续构建每个派生 @var{n} 次,如果连续构建结果不是逐位相同,则引发错误。"

#. type: table
#: guix-git/doc/guix.texi:13139
#, fuzzy
msgid "This is a useful way to detect non-deterministic builds processes.  Non-deterministic build processes are a problem because they make it practically impossible for users to @emph{verify} whether third-party binaries are genuine.  @xref{Invoking guix challenge}, for more."
msgstr "这是一种检测非确定性构建过程的有用方法。非确定性构建过程是一个问题,因为它使用户几乎不可能 @emph{验证} 第三方二进制文件是否真实。有关更多信息,请参见 @xref{Invoking guix challenge}。"

#. type: table
#: guix-git/doc/guix.texi:13155
#, fuzzy
msgid "By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, @option{--max-silent-time}})."
msgstr "默认情况下,遵循守护进程的设置 (@pxref{Invoking guix-daemon, @option{--max-silent-time}})。"

#. type: table
#: guix-git/doc/guix.texi:13162
#, fuzzy
msgid "By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, @option{--timeout}})."
msgstr "默认情况下,遵循守护进程的设置 (@pxref{Invoking guix-daemon, @option{--timeout}})。"

#. type: cindex
#: guix-git/doc/guix.texi:13165
#, fuzzy, no-wrap
msgid "verbosity, of the command-line tools"
msgstr "命令行工具的详细程度"

#. type: cindex
#: guix-git/doc/guix.texi:13166
#, fuzzy, no-wrap
msgid "build logs, verbosity"
msgstr "构建日志,详细程度"

#. type: item
#: guix-git/doc/guix.texi:13167
#, fuzzy, no-wrap
msgid "-v @var{level}"
msgstr "-v @var{level}"

#. type: itemx
#: guix-git/doc/guix.texi:13168
#, fuzzy, no-wrap
msgid "--verbosity=@var{level}"
msgstr "--verbosity=@var{level}"

#. type: table
#: guix-git/doc/guix.texi:13173
#, fuzzy
msgid "Use the given verbosity @var{level}, an integer.  Choosing 0 means that no output is produced, 1 is for quiet output; 2 is similar to 1 but it additionally displays download URLs; 3 shows all the build log output on standard error."
msgstr "使用给定的详细程度 @var{level},一个整数。选择 0 意味着不产生输出,1 表示安静输出;2 类似于 1,但额外显示下载 URL;3 显示所有构建日志输出到标准错误。"

#. type: table
#: guix-git/doc/guix.texi:13178
#, fuzzy
msgid "Allow the use of up to @var{n} CPU cores for the build.  The special value @code{0} means to use as many CPU cores as available."
msgstr "允许使用最多 @var{n} 个 CPU 核心进行构建。特殊值 @code{0} 意味着使用尽可能多的 CPU 核心。"

#. type: table
#: guix-git/doc/guix.texi:13184
#, fuzzy
msgid "Allow at most @var{n} build jobs in parallel.  @xref{Invoking guix-daemon, @option{--max-jobs}}, for details about this option and the equivalent @command{guix-daemon} option."
msgstr "最多允许 @var{n} 个构建作业并行。有关此选项及等效的 @command{guix-daemon} 选项的详细信息,请参见 @xref{Invoking guix-daemon, @option{--max-jobs}}。"

#. type: item
#: guix-git/doc/guix.texi:13185
#, fuzzy, no-wrap
msgid "--debug=@var{level}"
msgstr "--debug=@var{level}"

#. type: table
#: guix-git/doc/guix.texi:13189
#, fuzzy
msgid "Produce debugging output coming from the build daemon.  @var{level} must be an integer between 0 and 5; higher means more verbose output.  Setting a level of 4 or more may be helpful when debugging setup issues with the build daemon."
msgstr "生成来自构建守护进程的调试输出。@var{level} 必须是 0 到 5 之间的整数;更高的值意味着更详细的输出。设置 4 或更高的级别可能在调试构建守护进程的设置问题时很有帮助。"

#. type: Plain text
#: guix-git/doc/guix.texi:13196
#, fuzzy
msgid "Behind the scenes, @command{guix build} is essentially an interface to the @code{package-derivation} procedure of the @code{(guix packages)} module, and to the @code{build-derivations} procedure of the @code{(guix derivations)} module."
msgstr "在幕后,@command{guix build} 本质上是 @code{(guix packages)} 模块的 @code{package-derivation} 过程和 @code{(guix derivations)} 模块的 @code{build-derivations} 过程的接口。"

#. type: Plain text
#: guix-git/doc/guix.texi:13200
#, fuzzy
msgid "In addition to options explicitly passed on the command line, @command{guix build} and other @command{guix} commands that support building honor the @env{GUIX_BUILD_OPTIONS} environment variable."
msgstr "除了在命令行上显式传递的选项外,@command{guix build} 和其他支持构建的 @command{guix} 命令会遵循 @env{GUIX_BUILD_OPTIONS} 环境变量。"

#. type: defvr
#: guix-git/doc/guix.texi:13201
#, fuzzy, no-wrap
msgid "{Environment Variable} GUIX_BUILD_OPTIONS"
msgstr "{环境变量} GUIX_BUILD_OPTIONS"

#. type: defvr
#: guix-git/doc/guix.texi:13206
#, fuzzy
msgid "Users can define this variable to a list of command line options that will automatically be used by @command{guix build} and other @command{guix} commands that can perform builds, as in the example below:"
msgstr "用户可以将此变量定义为一组命令行选项,这些选项将自动用于 @command{guix build} 和其他可以执行构建的 @command{guix} 命令,如下面的示例所示:"

#. type: example
#: guix-git/doc/guix.texi:13209
#, fuzzy, no-wrap
msgid "$ export GUIX_BUILD_OPTIONS=\"--no-substitutes -c 2 -L /foo/bar\"\n"
msgstr "$ export GUIX_BUILD_OPTIONS=\"--no-substitutes -c 2 -L /foo/bar\"\n"

#. type: defvr
#: guix-git/doc/guix.texi:13213
#, fuzzy
msgid "These options are parsed independently, and the result is appended to the parsed command-line options."
msgstr "这些选项是独立解析的,结果会附加到解析的命令行选项中。"

#. type: cindex
#: guix-git/doc/guix.texi:13219
#, fuzzy, no-wrap
msgid "package variants"
msgstr "软件包变体"

#. type: Plain text
#: guix-git/doc/guix.texi:13227
#, fuzzy
msgid "Another set of command-line options supported by @command{guix build} and also @command{guix package} are @dfn{package transformation options}.  These are options that make it possible to define @dfn{package variants}---for instance, packages built from different source code.  This is a convenient way to create customized packages on the fly without having to type in the definitions of package variants (@pxref{Defining Packages})."
msgstr "由 @command{guix build} 和 @command{guix package} 支持的另一组命令行选项是 @dfn{软件包转换选项}。这些选项使得定义 @dfn{软件包变体} 成为可能——例如,从不同源代码构建的软件包。这是一种方便的方式,可以即时创建自定义软件包,而无需输入软件包变体的定义 (@pxref{定义软件包})。"

#. type: Plain text
#: guix-git/doc/guix.texi:13231
#, fuzzy
msgid "Package transformation options are preserved across upgrades: @command{guix upgrade} attempts to apply transformation options initially used when creating the profile to the upgraded packages."
msgstr "软件包转换选项在升级过程中被保留:@command{guix upgrade} 尝试将创建配置文件时最初使用的转换选项应用于升级的软件包。"

#. type: Plain text
#: guix-git/doc/guix.texi:13236
#, fuzzy
msgid "The available options are listed below.  Most commands support them and also support a @option{--help-transform} option that lists all the available options and a synopsis (these options are not shown in the @option{--help} output for brevity)."
msgstr "可用的选项列在下面。大多数命令支持它们,并且还支持 @option{--help-transform} 选项,该选项列出所有可用选项及其概要(这些选项在 @option{--help} 输出中未显示以简化内容)。"

#. type: cindex
#: guix-git/doc/guix.texi:13239
#, fuzzy, no-wrap
msgid "performance, tuning code"
msgstr "格式化代码"

#. type: cindex
#: guix-git/doc/guix.texi:13240
#, fuzzy, no-wrap
msgid "optimization, of package code"
msgstr "定制软件包"

#. type: cindex
#: guix-git/doc/guix.texi:13241
#, fuzzy, no-wrap
msgid "tuning, of package code"
msgstr "代码格式化"

#. type: cindex
#: guix-git/doc/guix.texi:13242
#, fuzzy, no-wrap
msgid "SIMD support"
msgstr "SIMD 支持"

#. type: cindex
#: guix-git/doc/guix.texi:13243
#, fuzzy, no-wrap
msgid "tunable packages"
msgstr "构建软件包。"

#. type: cindex
#: guix-git/doc/guix.texi:13244
#, fuzzy, no-wrap
msgid "package multi-versioning"
msgstr "软件包版本"

#. type: item
#: guix-git/doc/guix.texi:13245
#, fuzzy, no-wrap
msgid "--tune[=@var{cpu}]"
msgstr "--rounds=@var{N}"

#. type: table
#: guix-git/doc/guix.texi:13249
#, fuzzy
msgid "Use versions of the packages marked as ``tunable'' optimized for @var{cpu}.  When @var{cpu} is @code{native}, or when it is omitted, tune for the CPU on which the @command{guix} command is running."
msgstr "使用标记为“可调”的软件包版本,这些版本针对 @var{cpu} 进行了优化。当 @var{cpu} 为 @code{native} 时,或者当省略时,针对运行 @command{guix} 命令的 CPU 进行调优。"

#. type: table
#: guix-git/doc/guix.texi:13255
#, fuzzy
msgid "Valid @var{cpu} names are those recognized by the underlying compiler, by default the GNU Compiler Collection.  On x86_64 processors, this includes CPU names such as @code{nehalem}, @code{haswell}, and @code{skylake} (@pxref{x86 Options, @code{-march},, gcc, Using the GNU Compiler Collection (GCC)})."
msgstr "有效的 @var{cpu} 名称是那些被底层编译器识别的名称,默认情况下是 GNU 编译器集合。在 x86_64 处理器上,这包括 @code{nehalem}、@code{haswell} 和 @code{skylake} 等 CPU 名称 (@pxref{x86 选项, @code{-march},, gcc, 使用 GNU 编译器集合 (GCC)})."

#. type: table
#: guix-git/doc/guix.texi:13262
#, fuzzy
msgid "As new generations of CPUs come out, they augment the standard instruction set architecture (ISA) with additional instructions, in particular instructions for single-instruction/multiple-data (SIMD)  parallel processing.  For example, while Core2 and Skylake CPUs both implement the x86_64 ISA, only the latter supports AVX2 SIMD instructions."
msgstr "随着新一代 CPU 的推出,它们通过附加指令增强了标准指令集架构 (ISA),特别是用于单指令/多数据 (SIMD) 并行处理的指令。例如,虽然 Core2 和 Skylake CPU 都实现了 x86_64 ISA,但只有后者支持 AVX2 SIMD 指令。"

#. type: table
#: guix-git/doc/guix.texi:13269
#, fuzzy
msgid "The primary gain one can expect from @option{--tune} is for programs that can make use of those SIMD capabilities @emph{and} that do not already have a mechanism to select the right optimized code at run time.  Packages that have the @code{tunable?} property set are considered @dfn{tunable packages} by the @option{--tune} option; a package definition with the property set looks like this:"
msgstr "从 @option{--tune} 中可以期待的主要收益是对于能够利用这些 SIMD 功能的程序 @emph{并且} 没有现成机制在运行时选择正确的优化代码。具有 @code{tunable?} 属性的软件包被 @option{--tune} 选项视为 @dfn{可调软件包}; 设置该属性的软件包定义如下:"

#. type: lisp
#: guix-git/doc/guix.texi:13274
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  (name \"hello-simd\")\n"
"  ;; ...\n"
"\n"
msgstr ""
"(包\n"
"  (名称 \"hello-simd\")\n"
"  ;; ...\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:13278
#, fuzzy, no-wrap
msgid ""
"  ;; This package may benefit from SIMD extensions so\n"
"  ;; mark it as \"tunable\".\n"
"  (properties '((tunable? . #t))))\n"
msgstr ""
"  ;; 这个包可能会受益于 SIMD 扩展,因此\n"
"  ;; 将其标记为 \"可调\"。\n"
"  (属性 '((可调? . #t))))\n"

#. type: table
#: guix-git/doc/guix.texi:13283
#, fuzzy
msgid "Other packages are not considered tunable.  This allows Guix to use generic binaries in the cases where tuning for a specific CPU is unlikely to provide any gain."
msgstr "其他包不被视为可调。这允许 Guix 在调优特定 CPU 不太可能带来任何收益的情况下使用通用二进制文件。"

#. type: table
#: guix-git/doc/guix.texi:13289
#, fuzzy
msgid "Tuned packages are built with @code{-march=@var{CPU}}; under the hood, the @option{-march} option is passed to the actual wrapper by a compiler wrapper.  Since the build machine may not be able to run code for the target CPU micro-architecture, the test suite is not run when building a tuned package."
msgstr "调优包是使用 @code{-march=@var{CPU}} 构建的;在底层,@option{-march} 选项通过编译器包装器传递给实际的包装器。由于构建机器可能无法运行目标 CPU 微架构的代码,因此在构建调优包时不会运行测试套件。"

#. type: table
#: guix-git/doc/guix.texi:13293
#, fuzzy
msgid "To reduce rebuilds to the minimum, tuned packages are @emph{grafted} onto packages that depend on them (@pxref{Security Updates, grafts}).  Thus, using @option{--no-grafts} cancels the effect of @option{--tune}."
msgstr "为了将重建减少到最小,调优包被 @emph{嫁接} 到依赖于它们的包上 (@pxref{安全更新,嫁接})。因此,使用 @option{--no-grafts} 取消 @option{--tune} 的效果。"

#. type: table
#: guix-git/doc/guix.texi:13299
#, fuzzy
msgid "We call this technique @dfn{package multi-versioning}: several variants of tunable packages may be built, one for each CPU variant.  It is the coarse-grain counterpart of @dfn{function multi-versioning} as implemented by the GNU tool chain (@pxref{Function Multiversioning,,, gcc, Using the GNU Compiler Collection (GCC)})."
msgstr "我们称这种技术为 @dfn{包多版本化}:可以构建多个可调包的变体,每个 CPU 变体一个。这是 @dfn{函数多版本化} 的粗粒度对应,后者由 GNU 工具链实现 (@pxref{函数多版本化,,, gcc, 使用 GNU 编译器集合 (GCC)})."

#. type: item
#: guix-git/doc/guix.texi:13300
#, fuzzy, no-wrap
msgid "--with-source=@var{source}"
msgstr "--with-source=@var{source}"

#. type: itemx
#: guix-git/doc/guix.texi:13301
#, fuzzy, no-wrap
msgid "--with-source=@var{package}=@var{source}"
msgstr "--with-source=@var{package}=@var{source}"

#. type: itemx
#: guix-git/doc/guix.texi:13302
#, fuzzy, no-wrap
msgid "--with-source=@var{package}@@@var{version}=@var{source}"
msgstr "--with-source=@var{package}@@@var{version}=@var{source}"

#. type: table
#: guix-git/doc/guix.texi:13307
#, fuzzy
msgid "Use @var{source} as the source of @var{package}, and @var{version} as its version number.  @var{source} must be a file name or a URL, as for @command{guix download} (@pxref{Invoking guix download})."
msgstr "使用 @var{source} 作为 @var{package} 的源,@var{version} 作为其版本号。@var{source} 必须是文件名或 URL,类似于 @command{guix download} (@pxref{调用 guix download})。"

#. type: table
#: guix-git/doc/guix.texi:13313
#, fuzzy
msgid "When @var{package} is omitted, it is taken to be the package name specified on the command line that matches the base of @var{source}---e.g., if @var{source} is @code{/src/guile-2.0.10.tar.gz}, the corresponding package is @code{guile}."
msgstr "当省略 @var{package} 时,取命令行中与 @var{source} 基本名称匹配的包名——例如,如果 @var{source} 是 @code{/src/guile-2.0.10.tar.gz},则对应的包是 @code{guile}。"

#. type: table
#: guix-git/doc/guix.texi:13316
#, fuzzy
msgid "Likewise, when @var{version} is omitted, the version string is inferred from @var{source}; in the previous example, it is @code{2.0.10}."
msgstr "同样,当省略 @var{version} 时,版本字符串从 @var{source} 中推断;在前面的例子中,它是 @code{2.0.10}。"

#. type: table
#: guix-git/doc/guix.texi:13321
#, fuzzy
msgid "This option allows users to try out versions of packages other than the one provided by the distribution.  The example below downloads @file{ed-1.7.tar.gz} from a GNU mirror and uses that as the source for the @code{ed} package:"
msgstr "此选项允许用户尝试分发版提供的包以外的版本。下面的示例从 GNU 镜像下载 @file{ed-1.7.tar.gz} 并将其用作 @code{ed} 包的源:"

#. type: example
#: guix-git/doc/guix.texi:13324
#, fuzzy, no-wrap
msgid "guix build ed --with-source=mirror://gnu/ed/ed-1.4.tar.gz\n"
msgstr "guix build ed --with-source=mirror://gnu/ed/ed-1.4.tar.gz\n"

#. type: table
#: guix-git/doc/guix.texi:13329
#, fuzzy
msgid "As a developer, @option{--with-source} makes it easy to test release candidates, and even to test their impact on packages that depend on them:"
msgstr "作为开发者,@option{--with-source} 使得测试发布候选版本变得简单,甚至可以测试它们对依赖于它们的包的影响:"

#. type: example
#: guix-git/doc/guix.texi:13332
#, fuzzy, no-wrap
msgid "guix build elogind --with-source=@dots{}/shepherd-0.9.0rc1.tar.gz\n"
msgstr "guix build elogind --with-source=@dots{}/shepherd-0.9.0rc1.tar.gz\n"

#. type: table
#: guix-git/doc/guix.texi:13335
#, fuzzy
msgid "@dots{} or to build from a checkout in a pristine environment:"
msgstr "@dots{} 或者在一个干净的环境中从检出构建:"

#. type: example
#: guix-git/doc/guix.texi:13339
#, fuzzy, no-wrap
msgid ""
"$ git clone git://git.sv.gnu.org/guix.git\n"
"$ guix build guix --with-source=guix@@1.0=./guix\n"
msgstr ""
"$ git clone git://git.sv.gnu.org/guix.git\n"
"$ guix build guix --with-source=guix@@1.0=./guix\n"

#. type: item
#: guix-git/doc/guix.texi:13341
#, fuzzy, no-wrap
msgid "--with-input=@var{package}=@var{replacement}"
msgstr "--with-input=@var{package}=@var{replacement}"

#. type: table
#: guix-git/doc/guix.texi:13346
#, fuzzy
msgid "Replace dependency on @var{package} by a dependency on @var{replacement}.  @var{package} must be a package name, and @var{replacement} must be a package specification such as @code{guile} or @code{guile@@1.8}."
msgstr "用对 @var{replacement} 的依赖替换对 @var{package} 的依赖。 @var{package} 必须是一个包名,而 @var{replacement} 必须是一个包规范,例如 @code{guile} 或 @code{guile@@1.8}。"

#. type: table
#: guix-git/doc/guix.texi:13350
#, fuzzy
msgid "For instance, the following command builds Guix, but replaces its dependency on the current stable version of Guile with a dependency on the legacy version of Guile, @code{guile@@2.2}:"
msgstr "例如,以下命令构建 Guix,但将其对当前稳定版本 Guile 的依赖替换为对旧版本 Guile 的依赖 @code{guile@@2.2}:"

#. type: example
#: guix-git/doc/guix.texi:13353
#, fuzzy, no-wrap
msgid "guix build --with-input=guile=guile@@2.2 guix\n"
msgstr "guix build --with-input=guile=guile@@2.2 guix\n"

#. type: table
#: guix-git/doc/guix.texi:13358
#, fuzzy
msgid "This is a recursive, deep replacement.  So in this example, both @code{guix} and its dependency @code{guile-json} (which also depends on @code{guile}) get rebuilt against @code{guile@@2.2}."
msgstr "这是一个递归的深度替换。因此在这个例子中,@code{guix} 及其依赖 @code{guile-json}(也依赖于 @code{guile})都将重新构建为 @code{guile@@2.2}。"

#. type: table
#: guix-git/doc/guix.texi:13361
#, fuzzy
msgid "This is implemented using the @code{package-input-rewriting/spec} Scheme procedure (@pxref{Defining Packages, @code{package-input-rewriting/spec}})."
msgstr "这是通过 @code{package-input-rewriting/spec} Scheme 过程实现的(@pxref{定义包, @code{package-input-rewriting/spec}})。"

#. type: item
#: guix-git/doc/guix.texi:13362
#, fuzzy, no-wrap
msgid "--with-graft=@var{package}=@var{replacement}"
msgstr "--with-graft=@var{package}=@var{replacement}"

#. type: table
#: guix-git/doc/guix.texi:13368
#, fuzzy
msgid "This is similar to @option{--with-input} but with an important difference: instead of rebuilding the whole dependency chain, @var{replacement} is built and then @dfn{grafted} onto the binaries that were initially referring to @var{package}.  @xref{Security Updates}, for more information on grafts."
msgstr "这与 @option{--with-input} 类似,但有一个重要的区别:不是重建整个依赖链,而是构建 @var{replacement},然后将其 @dfn{嫁接} 到最初引用 @var{package} 的二进制文件上。有关嫁接的更多信息,请参见 @xref{安全更新}。"

#. type: table
#: guix-git/doc/guix.texi:13372
#, fuzzy
msgid "For example, the command below grafts version 3.5.4 of GnuTLS onto Wget and all its dependencies, replacing references to the version of GnuTLS they currently refer to:"
msgstr "例如,下面的命令将 GnuTLS 的 3.5.4 版本嫁接到 Wget 及其所有依赖项上,替换它们当前引用的 GnuTLS 版本:"

#. type: example
#: guix-git/doc/guix.texi:13375
#, fuzzy, no-wrap
msgid "guix build --with-graft=gnutls=gnutls@@3.5.4 wget\n"
msgstr "guix build --with-graft=gnutls=gnutls@@3.5.4 wget\n"

#. type: table
#: guix-git/doc/guix.texi:13384
#, fuzzy
msgid "This has the advantage of being much faster than rebuilding everything.  But there is a caveat: it works if and only if @var{package} and @var{replacement} are strictly compatible---for example, if they provide a library, the application binary interface (ABI) of those libraries must be compatible.  If @var{replacement} is somehow incompatible with @var{package}, then the resulting package may be unusable.  Use with care!"
msgstr "这比重建所有内容要快得多,但有一个警告:只有当 @var{package} 和 @var{replacement} 严格兼容时,它才有效——例如,如果它们提供一个库,则这些库的应用程序二进制接口(ABI)必须兼容。如果 @var{replacement} 与 @var{package} 不兼容,则生成的包可能无法使用。请谨慎使用!"

#. type: cindex
#: guix-git/doc/guix.texi:13385 guix-git/doc/guix.texi:50883
#, fuzzy, no-wrap
msgid "debugging info, rebuilding"
msgstr "调试信息,重建"

#. type: item
#: guix-git/doc/guix.texi:13386
#, fuzzy, no-wrap
msgid "--with-debug-info=@var{package}"
msgstr "--with-debug-info=@var{package}"

#. type: table
#: guix-git/doc/guix.texi:13391
#, fuzzy
msgid "Build @var{package} in a way that preserves its debugging info and graft it onto packages that depend on it.  This is useful if @var{package} does not already provide debugging info as a @code{debug} output (@pxref{Installing Debugging Files})."
msgstr "以保留其调试信息的方式构建 @var{package},并将其附加到依赖于它的包上。这在 @var{package} 尚未提供调试信息作为 @code{debug} 输出时非常有用(@pxref{安装调试文件})。"

#. type: table
#: guix-git/doc/guix.texi:13397
#, fuzzy
msgid "For example, suppose you're experiencing a crash in Inkscape and would like to see what's up in GLib, a library deep down in Inkscape's dependency graph.  GLib lacks a @code{debug} output, so debugging is tough.  Fortunately, you rebuild GLib with debugging info and tack it on Inkscape:"
msgstr "例如,假设您在 Inkscape 中遇到崩溃,并希望查看 GLib 的情况,GLib 是 Inkscape 依赖图中的一个深层库。GLib 缺少 @code{debug} 输出,因此调试很困难。幸运的是,您可以重建 GLib 以获取调试信息,并将其附加到 Inkscape 上:"

#. type: example
#: guix-git/doc/guix.texi:13400 guix-git/doc/guix.texi:50914
#, fuzzy, no-wrap
msgid "guix install inkscape --with-debug-info=glib\n"
msgstr "guix install inkscape --with-debug-info=glib\n"

#. type: table
#: guix-git/doc/guix.texi:13404
#, fuzzy
msgid "Only GLib needs to be recompiled so this takes a reasonable amount of time.  @xref{Installing Debugging Files}, for more info."
msgstr "只需要重新编译 GLib,因此这需要合理的时间。有关更多信息,请参见 @xref{安装调试文件}。"

#. type: quotation
#: guix-git/doc/guix.texi:13410
#, fuzzy
msgid "Under the hood, this option works by passing the @samp{#:strip-binaries? #f} to the build system of the package of interest (@pxref{Build Systems}).  Most build systems support that option but some do not.  In that case, an error is raised."
msgstr "在底层,此选项通过将 @samp{#:strip-binaries? #f} 传递给相关包的构建系统来工作(@pxref{构建系统})。大多数构建系统支持该选项,但有些不支持。在这种情况下,会引发错误。"

#. type: quotation
#: guix-git/doc/guix.texi:13414
#, fuzzy
msgid "Likewise, if a C/C++ package is built without @code{-g} (which is rarely the case), debugging info will remain unavailable even when @code{#:strip-binaries?} is false."
msgstr "同样,如果 C/C++ 包在没有 @code{-g} 的情况下构建(这种情况很少发生),即使 @code{#:strip-binaries?} 为假,调试信息也将不可用。"

#. type: cindex
#: guix-git/doc/guix.texi:13416
#, fuzzy, no-wrap
msgid "tool chain, changing the build tool chain of a package"
msgstr "工具链,改变包的构建工具链"

#. type: item
#: guix-git/doc/guix.texi:13417
#, fuzzy, no-wrap
msgid "--with-c-toolchain=@var{package}=@var{toolchain}"
msgstr "--with-c-toolchain=@var{package}=@var{toolchain}"

#. type: table
#: guix-git/doc/guix.texi:13421
#, fuzzy
msgid "This option changes the compilation of @var{package} and everything that depends on it so that they get built with @var{toolchain} instead of the default GNU tool chain for C/C++."
msgstr "此选项更改 @var{package} 及其所有依赖项的编译,使它们使用 @var{toolchain} 而不是默认的 GNU C/C++ 工具链进行构建。"

#. type: example
#: guix-git/doc/guix.texi:13428
#, fuzzy, no-wrap
msgid ""
"guix build octave-cli \\\n"
"  --with-c-toolchain=fftw=gcc-toolchain@@10 \\\n"
"  --with-c-toolchain=fftwf=gcc-toolchain@@10\n"
msgstr ""
"guix build octave-cli \\\n"
"  --with-c-toolchain=fftw=gcc-toolchain@@10 \\\n"
"  --with-c-toolchain=fftwf=gcc-toolchain@@10\n"

#. type: table
#: guix-git/doc/guix.texi:13435
#, fuzzy
msgid "The command above builds a variant of the @code{fftw} and @code{fftwf} packages using version 10 of @code{gcc-toolchain} instead of the default tool chain, and then builds a variant of the GNU@tie{}Octave command-line interface using them.  GNU@tie{}Octave itself is also built with @code{gcc-toolchain@@10}."
msgstr "上述命令使用版本 10 的 @code{gcc-toolchain} 而不是默认工具链构建 @code{fftw} 和 @code{fftwf} 包的变体,然后使用它们构建 GNU@tie{}Octave 命令行界面的变体。GNU@tie{}Octave 本身也使用 @code{gcc-toolchain@@10} 构建。"

#. type: table
#: guix-git/doc/guix.texi:13439
#, fuzzy
msgid "This other example builds the Hardware Locality (@code{hwloc}) library and its dependents up to @code{intel-mpi-benchmarks} with the Clang C compiler:"
msgstr "另一个示例是使用 Clang C 编译器构建硬件局部性(@code{hwloc})库及其依赖项,直到 @code{intel-mpi-benchmarks}:"

#. type: example
#: guix-git/doc/guix.texi:13443
#, fuzzy, no-wrap
msgid ""
"guix build --with-c-toolchain=hwloc=clang-toolchain \\\n"
"           intel-mpi-benchmarks\n"
msgstr ""
"guix build --with-c-toolchain=hwloc=clang-toolchain \\\n"
"           intel-mpi-benchmarks\n"

#. type: quotation
#: guix-git/doc/guix.texi:13452
#, fuzzy
msgid "There can be application binary interface (ABI) incompatibilities among tool chains.  This is particularly true of the C++ standard library and run-time support libraries such as that of OpenMP@.  By rebuilding all dependents with the same tool chain, @option{--with-c-toolchain} minimizes the risks of incompatibility but cannot entirely eliminate them.  Choose @var{package} wisely."
msgstr "工具链之间可能存在应用程序二进制接口(ABI)不兼容的问题。这在 C++ 标准库和运行时支持库(如 OpenMP@)中尤其明显。通过使用相同的工具链重新构建所有依赖项,@option{--with-c-toolchain} 最小化了不兼容的风险,但无法完全消除它们。明智地选择 @var{package}。"

#. type: item
#: guix-git/doc/guix.texi:13454
#, fuzzy, no-wrap
msgid "--with-git-url=@var{package}=@var{url}"
msgstr "--with-git-url=@var{package}=@var{url}"

#. type: cindex
#: guix-git/doc/guix.texi:13455
#, fuzzy, no-wrap
msgid "Git, using the latest commit"
msgstr "Git,使用最新的提交"

#. type: cindex
#: guix-git/doc/guix.texi:13456
#, fuzzy, no-wrap
msgid "latest commit, building"
msgstr "最新提交,构建中"

#. type: table
#: guix-git/doc/guix.texi:13460
#, fuzzy
msgid "Build @var{package} from the latest commit of the @code{master} branch of the Git repository at @var{url}.  Git sub-modules of the repository are fetched, recursively."
msgstr "从 Git 仓库 @var{url} 的 @code{master} 分支的最新提交构建 @var{package}。仓库的 Git 子模块会递归获取。"

#. type: table
#: guix-git/doc/guix.texi:13463
#, fuzzy
msgid "For example, the following command builds the NumPy Python library against the latest commit of the master branch of Python itself:"
msgstr "例如,以下命令会在 Python 本身的主分支的最新提交上构建 NumPy Python 库:"

#. type: example
#: guix-git/doc/guix.texi:13467
#, fuzzy, no-wrap
msgid ""
"guix build python-numpy \\\n"
"  --with-git-url=python=https://github.com/python/cpython\n"
msgstr ""
"guix build python-numpy \\\n"
"  --with-git-url=python=https://github.com/python/cpython\n"

#. type: table
#: guix-git/doc/guix.texi:13471
#, fuzzy
msgid "This option can also be combined with @option{--with-branch} or @option{--with-commit} (see below)."
msgstr "此选项也可以与 @option{--with-branch} 或 @option{--with-commit} 结合使用(见下文)。"

#. type: cindex
#: guix-git/doc/guix.texi:13472 guix-git/doc/guix.texi:35941
#, fuzzy, no-wrap
msgid "continuous integration"
msgstr "持续集成"

#. type: table
#: guix-git/doc/guix.texi:13478
#, fuzzy
msgid "Obviously, since it uses the latest commit of the given branch, the result of such a command varies over time.  Nevertheless it is a convenient way to rebuild entire software stacks against the latest commit of one or more packages.  This is particularly useful in the context of continuous integration (CI)."
msgstr "显然,由于它使用给定分支的最新提交,因此此类命令的结果会随时间而变化。尽管如此,这是一种方便的方式,可以在一个或多个软件包的最新提交上重新构建整个软件堆栈。这在持续集成(CI)的背景下尤其有用。"

#. type: table
#: guix-git/doc/guix.texi:13482
#, fuzzy
msgid "Checkouts are kept in a cache under @file{~/.cache/guix/checkouts} to speed up consecutive accesses to the same repository.  You may want to clean it up once in a while to save disk space."
msgstr "检出项保存在 @file{~/.cache/guix/checkouts} 的缓存中,以加快对同一仓库的后续访问。您可能希望不时清理它以节省磁盘空间。"

#. type: item
#: guix-git/doc/guix.texi:13483
#, fuzzy, no-wrap
msgid "--with-branch=@var{package}=@var{branch}"
msgstr "--with-branch=@var{package}=@var{branch}"

#. type: table
#: guix-git/doc/guix.texi:13489
#, fuzzy
msgid "Build @var{package} from the latest commit of @var{branch}.  If the @code{source} field of @var{package} is an origin with the @code{git-fetch} method (@pxref{origin Reference}) or a @code{git-checkout} object, the repository URL is taken from that @code{source}.  Otherwise you have to use @option{--with-git-url} to specify the URL of the Git repository."
msgstr "从 @var{branch} 的最新提交构建 @var{package}。如果 @var{package} 的 @code{source} 字段是使用 @code{git-fetch} 方法的源(@pxref{origin Reference})或 @code{git-checkout} 对象,则仓库 URL 将取自该 @code{source}。否则,您必须使用 @option{--with-git-url} 来指定 Git 仓库的 URL。"

#. type: table
#: guix-git/doc/guix.texi:13494
#, fuzzy
msgid "For instance, the following command builds @code{guile-sqlite3} from the latest commit of its @code{master} branch, and then builds @code{guix} (which depends on it) and @code{cuirass} (which depends on @code{guix}) against this specific @code{guile-sqlite3} build:"
msgstr "例如,以下命令从其 @code{master} 分支的最新提交构建 @code{guile-sqlite3},然后构建 @code{guix}(依赖于它)和 @code{cuirass}(依赖于 @code{guix})以针对这个特定的 @code{guile-sqlite3} 构建:"

#. type: example
#: guix-git/doc/guix.texi:13497
#, fuzzy, no-wrap
msgid "guix build --with-branch=guile-sqlite3=master cuirass\n"
msgstr "guix build --with-branch=guile-sqlite3=master cuirass\n"

#. type: item
#: guix-git/doc/guix.texi:13499
#, fuzzy, no-wrap
msgid "--with-commit=@var{package}=@var{commit}"
msgstr "--with-commit=@var{package}=@var{commit}"

#. type: table
#: guix-git/doc/guix.texi:13504
#, fuzzy
msgid "This is similar to @option{--with-branch}, except that it builds from @var{commit} rather than the tip of a branch.  @var{commit} must be a valid Git commit SHA1 identifier, a tag, or a @command{git describe} style identifier such as @code{1.0-3-gabc123}."
msgstr "这与 @option{--with-branch} 类似,不同之处在于它是从 @var{commit} 构建,而不是从分支的最新提交。 @var{commit} 必须是有效的 Git 提交 SHA1 标识符、标签或 @command{git describe} 风格的标识符,例如 @code{1.0-3-gabc123}。"

#. type: item
#: guix-git/doc/guix.texi:13505
#, fuzzy, no-wrap
msgid "--with-patch=@var{package}=@var{file}"
msgstr "--with-patch=@var{package}=@var{file}"

#. type: table
#: guix-git/doc/guix.texi:13512
#, fuzzy
msgid "Add @var{file} to the list of patches applied to @var{package}, where @var{package} is a spec such as @code{python@@3.8} or @code{glibc}.  @var{file} must contain a patch; it is applied with the flags specified in the @code{origin} of @var{package} (@pxref{origin Reference}), which by default includes @code{-p1} (@pxref{patch Directories,,, diffutils, Comparing and Merging Files})."
msgstr "将 @var{file} 添加到应用于 @var{package} 的补丁列表中,其中 @var{package} 是一个规范,例如 @code{python@@3.8} 或 @code{glibc}。 @var{file} 必须包含一个补丁;它是使用 @var{package} 的 @code{origin} 中指定的标志应用的 (@pxref{origin Reference}),默认情况下包括 @code{-p1} (@pxref{patch Directories,,, diffutils, Comparing and Merging Files})。"

#. type: table
#: guix-git/doc/guix.texi:13515
#, fuzzy
msgid "As an example, the command below rebuilds Coreutils with the GNU C Library (glibc) patched with the given patch:"
msgstr "作为一个示例,下面的命令使用给定的补丁重建 Coreutils 和 GNU C 库 (glibc):"

#. type: example
#: guix-git/doc/guix.texi:13518
#, fuzzy, no-wrap
msgid "guix build coreutils --with-patch=glibc=./glibc-frob.patch\n"
msgstr "guix build coreutils --with-patch=glibc=./glibc-frob.patch\n"

#. type: table
#: guix-git/doc/guix.texi:13522
#, fuzzy
msgid "In this example, glibc itself as well as everything that leads to Coreutils in the dependency graph is rebuilt."
msgstr "在这个例子中,glibc 本身以及在依赖图中导致 Coreutils 的所有内容都会被重建。"

#. type: cindex
#: guix-git/doc/guix.texi:13523
#, fuzzy, no-wrap
msgid "configure flags, changing them"
msgstr "配置标志,改变它们"

#. type: item
#: guix-git/doc/guix.texi:13524
#, fuzzy, no-wrap
msgid "--with-configure-flag=@var{package}=@var{flag}"
msgstr "--log-compression=@var{type}"

#. type: table
#: guix-git/doc/guix.texi:13529
#, fuzzy
msgid "Append @var{flag} to the configure flags of @var{package}, where @var{package} is a spec such as @code{guile@@3.0} or @code{glibc}.  The build system of @var{package} must support the @code{#:configure-flags} argument."
msgstr "将 @var{flag} 附加到 @var{package} 的配置标志中,其中 @var{package} 是一个规范,例如 @code{guile@@3.0} 或 @code{glibc}。 @var{package} 的构建系统必须支持 @code{#:configure-flags} 参数。"

#. type: table
#: guix-git/doc/guix.texi:13532
#, fuzzy
msgid "For example, the command below builds GNU@tie{}Hello with the configure flag @code{--disable-nls}:"
msgstr "例如,下面的命令使用配置标志 @code{--disable-nls} 构建 GNU@tie{}Hello:"

#. type: example
#: guix-git/doc/guix.texi:13535
#, fuzzy, no-wrap
msgid "guix build hello --with-configure-flag=hello=--disable-nls\n"
msgstr "guix build hello --with-configure-flag=hello=--disable-nls\n"

#. type: table
#: guix-git/doc/guix.texi:13539
#, fuzzy
msgid "The following command passes an extra flag to @command{cmake} as it builds @code{lapack}:"
msgstr "以下命令在构建 @code{lapack} 时向 @command{cmake} 传递一个额外的标志:"

#. type: example
#: guix-git/doc/guix.texi:13543
#, fuzzy, no-wrap
msgid ""
"guix build lapack \\\n"
"  --with-configure-flag=lapack=-DBUILD_SHARED_LIBS=OFF\n"
msgstr ""
"guix build lapack \\\n"
"  --with-configure-flag=lapack=-DBUILD_SHARED_LIBS=OFF\n"

#. type: quotation
#: guix-git/doc/guix.texi:13550
#, fuzzy
msgid "Under the hood, this option works by passing the @samp{#:configure-flags} argument to the build system of the package of interest (@pxref{Build Systems}).  Most build systems support that option but some do not.  In that case, an error is raised."
msgstr "在底层,这个选项通过将 @samp{#:configure-flags} 参数传递给相关包的构建系统来工作 (@pxref{Build Systems})。 大多数构建系统支持该选项,但有些不支持。在这种情况下,会引发错误。"

#. type: cindex
#: guix-git/doc/guix.texi:13552
#, fuzzy, no-wrap
msgid "upstream, latest version"
msgstr "软件包版本"

#. type: item
#: guix-git/doc/guix.texi:13553
#, fuzzy, no-wrap
msgid "--with-latest=@var{package}"
msgstr "--log-compression=@var{type}"

#. type: itemx
#: guix-git/doc/guix.texi:13554
#, fuzzy, no-wrap
msgid "--with-version=@var{package}=@var{version}"
msgstr "--log-compression=@var{type}"

#. type: table
#: guix-git/doc/guix.texi:13560
#, fuzzy
msgid "So you like living on the bleeding edge? The @option{--with-latest} option is for you! It replaces occurrences of @var{package} in the dependency graph with its latest upstream version, as reported by @command{guix refresh} (@pxref{Invoking guix refresh})."
msgstr "所以你喜欢生活在前沿? @option{--with-latest} 选项就是为你准备的!它将依赖图中 @var{package} 的出现替换为其最新的上游版本,如 @command{guix refresh} 所报告的 (@pxref{Invoking guix refresh})。"

#. type: table
#: guix-git/doc/guix.texi:13564
#, fuzzy
msgid "It does so by determining the latest upstream release of @var{package} (if possible), downloading it, and authenticating it @emph{if} it comes with an OpenPGP signature."
msgstr "它通过确定@var{package}的最新上游版本(如果可能),下载它,并在其附带OpenPGP签名时进行身份验证@emph{如果}。"

#. type: table
#: guix-git/doc/guix.texi:13567
#, fuzzy
msgid "As an example, the command below builds Guix against the latest version of Guile-JSON:"
msgstr "例如,下面的命令构建Guix以支持最新版本的Guile-JSON:"

#. type: example
#: guix-git/doc/guix.texi:13570
#, fuzzy, no-wrap
msgid "guix build guix --with-latest=guile-json\n"
msgstr "guix build guix --with-latest=guile-json\n"

#. type: table
#: guix-git/doc/guix.texi:13577
#, fuzzy
msgid "The @option{--with-version} works similarly except that it lets you specify that you want precisely @var{version}, assuming that version exists upstream.  For example, to spawn a development environment with SciPy built against version 1.22.4 of NumPy (skipping its test suite because hey, we're not gonna wait this long), you would run:"
msgstr "@option{--with-version}的工作方式类似,只是它允许您指定您想要的确切@var{version},假设该版本在上游存在。例如,要生成一个开发环境,其中SciPy是基于NumPy的版本1.22.4构建的(跳过其测试套件,因为我们不想等这么久),您可以运行:"

#. type: example
#: guix-git/doc/guix.texi:13580
#, fuzzy, no-wrap
msgid "guix shell python python-scipy --with-version=python-numpy=1.22.4\n"
msgstr "guix shell python python-scipy --with-version=python-numpy=1.22.4\n"

#. type: quotation
#: guix-git/doc/guix.texi:13587
#, fuzzy
msgid "Because they depend on source code published at a given point in time on upstream servers, deployments made with @option{--with-latest} and @option{--with-version} may be non-reproducible: source might disappear or be modified in place on the servers."
msgstr "由于它们依赖于在上游服务器上某一时刻发布的源代码,因此使用@option{--with-latest}和@option{--with-version}进行的部署可能是不可重现的:源代码可能会消失或在服务器上被修改。"

#. type: quotation
#: guix-git/doc/guix.texi:13590
#, fuzzy
msgid "To deploy old software versions without compromising on reproducibility, @pxref{Invoking guix time-machine, @command{guix time-machine}}."
msgstr "要在不妥协可重现性的情况下部署旧软件版本,请参考@pxref{Invoking guix time-machine, @command{guix time-machine}}。"

#. type: table
#: guix-git/doc/guix.texi:13599
#, fuzzy
msgid "There are limitations.  First, in cases where the tool cannot or does not know how to authenticate source code, you are at risk of running malicious code; a warning is emitted in this case.  Second, this option simply changes the source used in the existing package definitions, which is not always sufficient: there might be additional dependencies that need to be added, patches to apply, and more generally the quality assurance work that Guix developers normally do will be missing."
msgstr "存在一些限制。首先,在工具无法或不知道如何验证源代码的情况下,您有可能运行恶意代码;在这种情况下会发出警告。其次,此选项仅更改现有软件包定义中使用的源,这并不总是足够:可能需要添加额外的依赖项,应用补丁,以及更一般地,Guix开发人员通常进行的质量保证工作将会缺失。"

#. type: table
#: guix-git/doc/guix.texi:13604
#, fuzzy
msgid "You've been warned! When those limitations are acceptable, it's a snappy way to stay on top.  We encourage you to submit patches updating the actual package definitions once you have successfully tested an upgrade with @option{--with-latest} (@pxref{Contributing})."
msgstr "您已被警告!当这些限制可以接受时,这是一种快速保持领先的方法。我们鼓励您在成功测试了使用@option{--with-latest}的升级后提交更新实际软件包定义的补丁(@pxref{Contributing})。"

#. type: cindex
#: guix-git/doc/guix.texi:13605
#, fuzzy, no-wrap
msgid "test suite, skipping"
msgstr "测试套件"

#. type: item
#: guix-git/doc/guix.texi:13606
#, fuzzy, no-wrap
msgid "--without-tests=@var{package}"
msgstr "--without-tests=@var{package}"

#. type: table
#: guix-git/doc/guix.texi:13612
#, fuzzy
msgid "Build @var{package} without running its tests.  This can be useful in situations where you want to skip the lengthy test suite of a intermediate package, or if a package's test suite fails in a non-deterministic fashion.  It should be used with care because running the test suite is a good way to ensure a package is working as intended."
msgstr "在不运行其测试的情况下构建@var{package}。这在您想跳过中间软件包的冗长测试套件,或者如果某个软件包的测试套件以非确定性方式失败时可能会很有用。应谨慎使用,因为运行测试套件是确保软件包按预期工作的一种好方法。"

#. type: table
#: guix-git/doc/guix.texi:13616
#, fuzzy
msgid "Turning off tests leads to a different store item.  Consequently, when using this option, anything that depends on @var{package} must be rebuilt, as in this example:"
msgstr "关闭测试会导致不同的商店项目。因此,当使用此选项时,任何依赖于 @var{package} 的内容都必须重新构建,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:13619
#, fuzzy, no-wrap
msgid "guix install --without-tests=python python-notebook\n"
msgstr "guix install --without-tests=python python-notebook\n"

#. type: table
#: guix-git/doc/guix.texi:13625
#, fuzzy
msgid "The command above installs @code{python-notebook} on top of @code{python} built without running its test suite.  To do so, it also rebuilds everything that depends on @code{python}, including @code{python-notebook} itself."
msgstr "上述命令在未运行其测试套件的情况下,在 @code{python} 之上安装 @code{python-notebook}。为此,它还会重新构建所有依赖于 @code{python} 的内容,包括 @code{python-notebook} 本身。"

#. type: table
#: guix-git/doc/guix.texi:13631
#, fuzzy
msgid "Internally, @option{--without-tests} relies on changing the @code{#:tests?} option of a package's @code{check} phase (@pxref{Build Systems}).  Note that some packages use a customized @code{check} phase that does not respect a @code{#:tests? #f} setting.  Therefore, @option{--without-tests} has no effect on these packages."
msgstr "在内部,@option{--without-tests} 依赖于更改软件包 @code{check} 阶段的 @code{#:tests?} 选项(@pxref{Build Systems})。请注意,一些软件包使用自定义的 @code{check} 阶段,不遵循 @code{#:tests? #f} 设置。因此,@option{--without-tests} 对这些软件包没有影响。"

#. type: Plain text
#: guix-git/doc/guix.texi:13638
#, fuzzy
msgid "Wondering how to achieve the same effect using Scheme code, for example in your manifest, or how to write your own package transformation? @xref{Defining Package Variants}, for an overview of the programming interfaces available."
msgstr "想知道如何使用 Scheme 代码实现相同的效果,例如在您的清单中,或如何编写自己的软件包转换?请参阅 @xref{Defining Package Variants},以获取可用编程接口的概述。"

#. type: Plain text
#: guix-git/doc/guix.texi:13644
#, fuzzy
msgid "The command-line options presented below are specific to @command{guix build}."
msgstr "下面呈现的命令行选项特定于 @command{guix build}。"

#. type: item
#: guix-git/doc/guix.texi:13647
#, fuzzy, no-wrap
msgid "--quiet"
msgstr "--quiet"

#. type: table
#: guix-git/doc/guix.texi:13652
#, fuzzy
msgid "Build quietly, without displaying the build log; this is equivalent to @option{--verbosity=0}.  Upon completion, the build log is kept in @file{/var} (or similar) and can always be retrieved using the @option{--log-file} option."
msgstr "安静构建,不显示构建日志;这相当于 @option{--verbosity=0}。完成后,构建日志保存在 @file{/var}(或类似位置),并始终可以使用 @option{--log-file} 选项检索。"

#. type: table
#: guix-git/doc/guix.texi:13657
#, fuzzy
msgid "Build the package, derivation, or other file-like object that the code within @var{file} evaluates to (@pxref{G-Expressions, file-like objects})."
msgstr "构建 @var{file} 中代码评估的包、派生或其他类似文件对象(@pxref{G-Expressions, file-like objects})。"

#. type: table
#: guix-git/doc/guix.texi:13660
#, fuzzy
msgid "As an example, @var{file} might contain a package definition like this (@pxref{Defining Packages}):"
msgstr "例如,@var{file} 可能包含如下的包定义(@pxref{Defining Packages}):"

#. type: table
#: guix-git/doc/guix.texi:13669
#, fuzzy
msgid "The @var{file} may also contain a JSON representation of one or more package definitions.  Running @code{guix build -f} on @file{hello.json} with the following contents would result in building the packages @code{myhello} and @code{greeter}:"
msgstr "@var{file} 还可以包含一个或多个包定义的 JSON 表示。对 @file{hello.json} 运行 @code{guix build -f},其内容如下,将导致构建 @code{myhello} 和 @code{greeter} 包:"

#. type: item
#: guix-git/doc/guix.texi:13674
#, fuzzy, no-wrap
msgid "--manifest=@var{manifest}"
msgstr "--listen=@var{endpoint}"

#. type: itemx
#: guix-git/doc/guix.texi:13675
#, fuzzy, no-wrap
msgid "-m @var{manifest}"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:13678
#, fuzzy
msgid "Build all packages listed in the given @var{manifest} (@pxref{profile-manifest, @option{--manifest}})."
msgstr "构建给定 @var{manifest} 中列出的所有包(@pxref{profile-manifest, @option{--manifest}})。"

#. type: table
#: guix-git/doc/guix.texi:13682
#, fuzzy
msgid "Build the package or derivation @var{expr} evaluates to."
msgstr "构建 @var{expr} 评估的包或派生。"

#. type: table
#: guix-git/doc/guix.texi:13686
#, fuzzy
msgid "For example, @var{expr} may be @code{(@@ (gnu packages guile)  guile-1.8)}, which unambiguously designates this specific variant of version 1.8 of Guile."
msgstr "例如,@var{expr} 可能是 @code{(@@ (gnu packages guile)  guile-1.8)},这明确指定了 Guile 版本 1.8 的这个特定变体。"

#. type: table
#: guix-git/doc/guix.texi:13690
#, fuzzy
msgid "Alternatively, @var{expr} may be a G-expression, in which case it is used as a build program passed to @code{gexp->derivation} (@pxref{G-Expressions})."
msgstr "或者,@var{expr} 可以是一个 G 表达式,在这种情况下,它作为构建程序传递给 @code{gexp->derivation}(@pxref{G-Expressions})。"

#. type: table
#: guix-git/doc/guix.texi:13694
#, fuzzy
msgid "Lastly, @var{expr} may refer to a zero-argument monadic procedure (@pxref{The Store Monad}).  The procedure must return a derivation as a monadic value, which is then passed through @code{run-with-store}."
msgstr "最后,@var{expr} 可能指的是一个零参数的单子过程(@pxref{The Store Monad})。该过程必须返回一个作为单子值的推导,然后通过 @code{run-with-store} 传递。"

#. type: table
#: guix-git/doc/guix.texi:13699
#, fuzzy
msgid "Build the ``development environment'' (build dependencies) of the following package."
msgstr "构建以下软件包的“开发环境”(构建依赖)。"

#. type: table
#: guix-git/doc/guix.texi:13702
#, fuzzy
msgid "For example, the following command builds the inputs of @code{hello}, but @emph{not} @code{hello} itself, and also builds @code{guile}:"
msgstr "例如,以下命令构建 @code{hello} 的输入,但 @emph{不} 构建 @code{hello} 本身,同时也构建 @code{guile}:"

#. type: example
#: guix-git/doc/guix.texi:13705
#, fuzzy, no-wrap
msgid "guix build -D hello guile\n"
msgstr "# guix install hello\n"

#. type: table
#: guix-git/doc/guix.texi:13712
#, fuzzy
msgid "Notice that @option{-D} (or @option{--development}) only applies to the immediately following package on the command line.  Under the hood, it uses @code{package->development-manifest} (@pxref{package-development-manifest, @code{package->development-manifest}})."
msgstr "请注意,@option{-D}(或 @option{--development})仅适用于命令行上紧随其后的软件包。在底层,它使用 @code{package->development-manifest}(@pxref{package-development-manifest, @code{package->development-manifest}})。"

#. type: quotation
#: guix-git/doc/guix.texi:13718
#, fuzzy
msgid "The effect of combining @option{--development} with @option{--target} (for cross-compilation) may not be what you expect: it will cross-compile all the dependencies of the given package when it is built natively."
msgstr "将 @option{--development} 与 @option{--target}(用于交叉编译)结合使用的效果可能不是您所期望的:它将在本地构建时交叉编译给定软件包的所有依赖项。"

#. type: cindex
#: guix-git/doc/guix.texi:13720
#, fuzzy, no-wrap
msgid "dependents of a package, building them"
msgstr "创建软件包的变体。"

#. type: cindex
#: guix-git/doc/guix.texi:13721
#, fuzzy, no-wrap
msgid "building the dependents of a package"
msgstr "创建软件包的变体。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:13723
#, fuzzy
msgid "build-dependents"
msgstr "构建用户"

#. type: item
#: guix-git/doc/guix.texi:13723
#, fuzzy, no-wrap
msgid "--dependents[=@var{depth}]"
msgstr "--rounds=@var{N}"

#. type: itemx
#: guix-git/doc/guix.texi:13724
#, fuzzy, no-wrap
msgid "-P [@var{depth}]"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:13729
#, fuzzy
msgid "Build the dependents of the following package.  By default, build all the direct and indirect dependents; when @var{depth} is provided, limit to dependents at that distance: 1 for direct dependents, 2 for dependents of dependents, and so on."
msgstr "构建以下软件包的依赖项。默认情况下,构建所有直接和间接依赖项;当提供 @var{depth} 时,限制为该距离的依赖项:1 表示直接依赖项,2 表示依赖项的依赖项,依此类推。"

#. type: table
#: guix-git/doc/guix.texi:13731
#, fuzzy
msgid "For example, the command below builds @emph{all} the dependents of libgit2:"
msgstr "例如,下面的命令构建 libgit2 的 @emph{所有} 依赖项:"

#. type: example
#: guix-git/doc/guix.texi:13734
#, fuzzy, no-wrap
msgid "guix build --dependents libgit2\n"
msgstr "guix build --dependents libgit2\n"

#. type: table
#: guix-git/doc/guix.texi:13737
#, fuzzy
msgid "To build all the packages that directly depend on NumPy, run:"
msgstr "要构建所有直接依赖于 NumPy 的软件包,请运行:"

#. type: example
#: guix-git/doc/guix.texi:13740
#, fuzzy, no-wrap
msgid "guix build -P1 python-numpy\n"
msgstr "# guix install hello\n"

#. type: table
#: guix-git/doc/guix.texi:13744
#, fuzzy
msgid "The list of dependents is computed in the same way as with @command{guix refresh --list-dependent} (@pxref{Invoking guix refresh})."
msgstr "对于重要的更改,确保依赖它的软件包没有受到影响。@code{guix refresh --list-dependent @var{软件包}}会帮你检查(@pxref{Invoking guix refresh})。"

#. type: item
#: guix-git/doc/guix.texi:13745
#, fuzzy, no-wrap
msgid "--source"
msgstr "--source"

#. type: itemx
#: guix-git/doc/guix.texi:13746
#, fuzzy, no-wrap
msgid "-S"
msgstr "-S"

#. type: table
#: guix-git/doc/guix.texi:13749
#, fuzzy
msgid "Build the source derivations of the packages, rather than the packages themselves."
msgstr "构建软件包的源推导,而不是软件包本身。"

#. type: table
#: guix-git/doc/guix.texi:13753
#, fuzzy
msgid "For instance, @code{guix build -S gcc} returns something like @file{/gnu/store/@dots{}-gcc-4.7.2.tar.bz2}, which is the GCC source tarball."
msgstr "例如,@code{guix build -S gcc} 返回类似 @file{/gnu/store/@dots{}-gcc-4.7.2.tar.bz2} 的内容,这是 GCC 源代码压缩包。"

#. type: table
#: guix-git/doc/guix.texi:13757
#, fuzzy
msgid "The returned source tarball is the result of applying any patches and code snippets specified in the package @code{origin} (@pxref{Defining Packages})."
msgstr "返回的源代码压缩包是应用在软件包 @code{origin} 中指定的任何补丁和代码片段的结果(@pxref{Defining Packages})。"

#. type: cindex
#: guix-git/doc/guix.texi:13758
#, fuzzy, no-wrap
msgid "source, verification"
msgstr "源,验证"

#. type: table
#: guix-git/doc/guix.texi:13764
#, fuzzy
msgid "As with other derivations, the result of building a source derivation can be verified using the @option{--check} option (@pxref{build-check}).  This is useful to validate that a (potentially already built or substituted, thus cached) package source matches against its declared hash."
msgstr "与其他推导一样,构建源推导的结果可以使用 @option{--check} 选项进行验证(@pxref{build-check})。这对于验证一个(可能已经构建或替换,因此被缓存的)软件包源是否与其声明的哈希匹配非常有用。"

#. type: table
#: guix-git/doc/guix.texi:13769
#, fuzzy
msgid "Note that @command{guix build -S} compiles the sources only of the specified packages.  They do not include the sources of statically linked dependencies and by themselves are insufficient for reproducing the packages."
msgstr "请注意,@command{guix build -S} 仅编译指定软件包的源代码。它们不包括静态链接依赖项的源代码,单独使用不足以重现这些软件包。"

#. type: item
#: guix-git/doc/guix.texi:13770
#, fuzzy, no-wrap
msgid "--sources"
msgstr "--sources"

#. type: table
#: guix-git/doc/guix.texi:13777
#, fuzzy
msgid "Fetch and return the source of @var{package-or-derivation} and all their dependencies, recursively.  This is a handy way to obtain a local copy of all the source code needed to build @var{packages}, allowing you to eventually build them even without network access.  It is an extension of the @option{--source} option and can accept one of the following optional argument values:"
msgstr "递归获取并返回 @var{package-or-derivation} 及其所有依赖项的源代码。这是一种方便的方式,可以获取构建 @var{packages} 所需的所有源代码的本地副本,使您即使在没有网络访问的情况下也能最终构建它们。这是 @option{--source} 选项的扩展,可以接受以下任一可选参数值:"

#. type: item
#: guix-git/doc/guix.texi:13779 guix-git/doc/guix.texi:15957
#, no-wrap
msgid "package"
msgstr "package"

#. type: table
#: guix-git/doc/guix.texi:13782
#, fuzzy
msgid "This value causes the @option{--sources} option to behave in the same way as the @option{--source} option."
msgstr "此值使 @option{--sources} 选项的行为与 @option{--source} 选项相同。"

#. type: item
#: guix-git/doc/guix.texi:13783 guix-git/doc/guix.texi:24826
#, fuzzy, no-wrap
msgid "all"
msgstr "所有"

#. type: table
#: guix-git/doc/guix.texi:13786
#, fuzzy
msgid "Build the source derivations of all packages, including any source that might be listed as @code{inputs}.  This is the default value."
msgstr "构建所有软件包的源派生,包括可能列为 @code{inputs} 的任何源。这是默认值。"

#. type: example
#: guix-git/doc/guix.texi:13792
#, fuzzy, no-wrap
msgid ""
"$ guix build --sources tzdata\n"
"The following derivations will be built:\n"
"   /gnu/store/@dots{}-tzdata2015b.tar.gz.drv\n"
"   /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n"
msgstr ""
"$ guix build --sources tzdata\n"
"将构建以下派生:\n"
"   /gnu/store/@dots{}-tzdata2015b.tar.gz.drv\n"
"   /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n"

#. type: item
#: guix-git/doc/guix.texi:13794
#, fuzzy, no-wrap
msgid "transitive"
msgstr "传递"

#. type: table
#: guix-git/doc/guix.texi:13798
#, fuzzy
msgid "Build the source derivations of all packages, as well of all transitive inputs to the packages.  This can be used e.g.@: to prefetch package source for later offline building."
msgstr "构建所有软件包的源派生,以及所有软件包的传递输入。这可以用于例如:预取软件包源以便后续离线构建。"

#. type: example
#: guix-git/doc/guix.texi:13809
#, fuzzy, no-wrap
msgid ""
"$ guix build --sources=transitive tzdata\n"
"The following derivations will be built:\n"
"   /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n"
"   /gnu/store/@dots{}-findutils-4.4.2.tar.xz.drv\n"
"   /gnu/store/@dots{}-grep-2.21.tar.xz.drv\n"
"   /gnu/store/@dots{}-coreutils-8.23.tar.xz.drv\n"
"   /gnu/store/@dots{}-make-4.1.tar.xz.drv\n"
"   /gnu/store/@dots{}-bash-4.3.tar.xz.drv\n"
"@dots{}\n"
msgstr ""
"$ guix build --sources=transitive tzdata\n"
"将构建以下派生:\n"
"   /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n"
"   /gnu/store/@dots{}-findutils-4.4.2.tar.xz.drv\n"
"   /gnu/store/@dots{}-grep-2.21.tar.xz.drv\n"
"   /gnu/store/@dots{}-coreutils-8.23.tar.xz.drv\n"
"   /gnu/store/@dots{}-make-4.1.tar.xz.drv\n"
"   /gnu/store/@dots{}-bash-4.3.tar.xz.drv\n"
"@dots{}\n"

#. type: table
#: guix-git/doc/guix.texi:13819
#, fuzzy
msgid "Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of the system type of the build host.  The @command{guix build} command allows you to repeat this option several times, in which case it builds for all the specified systems; other commands ignore extraneous @option{-s} options."
msgstr "尝试为 @var{system}---例如 @code{i686-linux}---构建,而不是构建主机的系统类型。@command{guix build} 命令允许您多次重复此选项,在这种情况下,它将为所有指定的系统进行构建;其他命令会忽略多余的 @option{-s} 选项。"

#. type: quotation
#: guix-git/doc/guix.texi:13824
#, fuzzy
msgid "The @option{--system} flag is for @emph{native} compilation and must not be confused with cross-compilation.  See @option{--target} below for information on cross-compilation."
msgstr "@option{--system} 标志用于 @emph{本地} 编译,不能与交叉编译混淆。有关交叉编译的信息,请参见下面的 @option{--target}。"

#. type: table
#: guix-git/doc/guix.texi:13831
#, fuzzy
msgid "An example use of this is on Linux-based systems, which can emulate different personalities.  For instance, passing @option{--system=i686-linux} on an @code{x86_64-linux} system or @option{--system=armhf-linux} on an @code{aarch64-linux} system allows you to build packages in a complete 32-bit environment."
msgstr "在基于Linux的系统上,这个示例的用法是可以模拟不同的个性。例如,在@code{x86_64-linux}系统上传递@option{--system=i686-linux},或在@code{aarch64-linux}系统上传递@option{--system=armhf-linux},可以让你在完整的32位环境中构建软件包。"

#. type: quotation
#: guix-git/doc/guix.texi:13836
#, fuzzy
msgid "Building for an @code{armhf-linux} system is unconditionally enabled on @code{aarch64-linux} machines, although certain aarch64 chipsets do not allow for this functionality, notably the ThunderX."
msgstr "在@code{aarch64-linux}机器上,针对@code{armhf-linux}系统的构建是无条件启用的,尽管某些aarch64芯片组不允许此功能,特别是ThunderX。"

#. type: table
#: guix-git/doc/guix.texi:13842
#, fuzzy
msgid "Similarly, when transparent emulation with QEMU and @code{binfmt_misc} is enabled (@pxref{Virtualization Services, @code{qemu-binfmt-service-type}}), you can build for any system for which a QEMU @code{binfmt_misc} handler is installed."
msgstr "类似地,当启用透明仿真与QEMU和@code{binfmt_misc}时(@pxref{Virtualization Services, @code{qemu-binfmt-service-type}}),你可以为任何已安装QEMU @code{binfmt_misc}处理程序的系统进行构建。"

#. type: table
#: guix-git/doc/guix.texi:13846
#, fuzzy
msgid "Builds for a system other than that of the machine you are using can also be offloaded to a remote machine of the right architecture.  @xref{Daemon Offload Setup}, for more information on offloading."
msgstr "针对你正在使用的机器以外的系统的构建也可以转移到具有正确架构的远程机器上。有关转移的更多信息,请参见@xref{Daemon Offload Setup}。"

#. type: table
#: guix-git/doc/guix.texi:13852
#, fuzzy
msgid "Cross-build for @var{triplet}, which must be a valid GNU triplet, such as @code{\"aarch64-linux-gnu\"} (@pxref{Specifying Target Triplets, GNU configuration triplets,, autoconf, Autoconf})."
msgstr "为@var{triplet}进行交叉构建,必须是有效的GNU triplet,例如@code{\"aarch64-linux-gnu\"}(@pxref{Specifying Target Triplets, GNU configuration triplets,, autoconf, Autoconf})。"

#. type: item
#: guix-git/doc/guix.texi:13853
#, fuzzy, no-wrap
msgid "--list-systems"
msgstr "系统"

#. type: table
#: guix-git/doc/guix.texi:13856
#, fuzzy
msgid "List all the supported systems, that can be passed as an argument to @option{--system}."
msgstr "列出所有支持的系统,可以作为参数传递给@option{--system}。"

#. type: item
#: guix-git/doc/guix.texi:13857
#, fuzzy, no-wrap
msgid "--list-targets"
msgstr "--list-targets"

#. type: table
#: guix-git/doc/guix.texi:13860
#, fuzzy
msgid "List all the supported targets, that can be passed as an argument to @option{--target}."
msgstr "列出所有支持的目标,可以作为参数传递给@option{--target}。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:13862
#, fuzzy
msgid "build-check"
msgstr "build-check"

#. type: cindex
#: guix-git/doc/guix.texi:13863
#, fuzzy, no-wrap
msgid "determinism, checking"
msgstr "确定性,检查"

#. type: cindex
#: guix-git/doc/guix.texi:13864
#, fuzzy, no-wrap
msgid "reproducibility, checking"
msgstr "可重现性,检查"

#. type: table
#: guix-git/doc/guix.texi:13868
#, fuzzy
msgid "Rebuild @var{package-or-derivation}, which are already available in the store, and raise an error if the build results are not bit-for-bit identical."
msgstr "重建@var{package-or-derivation},这些在商店中已经可用,如果构建结果不是逐位相同,则引发错误。"

#. type: table
#: guix-git/doc/guix.texi:13873
#, fuzzy
msgid "This mechanism allows you to check whether previously installed substitutes are genuine (@pxref{Substitutes}), or whether the build result of a package is deterministic.  @xref{Invoking guix challenge}, for more background information and tools."
msgstr "该机制允许你检查先前安装的替代品是否真实(@pxref{Substitutes}),或者软件包的构建结果是否是确定性的。有关更多背景信息和工具,请参见@xref{Invoking guix challenge}。"

#. type: item
#: guix-git/doc/guix.texi:13878
#, fuzzy, no-wrap
msgid "--repair"
msgstr "--repair"

#. type: cindex
#: guix-git/doc/guix.texi:13879
#, fuzzy, no-wrap
msgid "repairing store items"
msgstr "修复存储项"

#. type: table
#: guix-git/doc/guix.texi:13883
#, fuzzy
msgid "Attempt to repair the specified store items, if they are corrupt, by re-downloading or rebuilding them."
msgstr "尝试修复指定的存储项,如果它们损坏,通过重新下载或重建它们。"

#. type: table
#: guix-git/doc/guix.texi:13885
#, fuzzy
msgid "This operation is not atomic and thus restricted to @code{root}."
msgstr "此操作不是原子的,因此限制为@code{root}。"

#. type: item
#: guix-git/doc/guix.texi:13886
#, fuzzy, no-wrap
msgid "--derivations"
msgstr "--derivations"

#. type: table
#: guix-git/doc/guix.texi:13890
#, fuzzy
msgid "Return the derivation paths, not the output paths, of the given packages."
msgstr "返回给定软件包的派生路径,而不是输出路径。"

#. type: cindex
#: guix-git/doc/guix.texi:13893
#, fuzzy, no-wrap
msgid "GC roots, adding"
msgstr "GC 根,添加中"

#. type: cindex
#: guix-git/doc/guix.texi:13894
#, fuzzy, no-wrap
msgid "garbage collector roots, adding"
msgstr "垃圾收集器根,添加中"

#. type: table
#: guix-git/doc/guix.texi:13897 guix-git/doc/guix.texi:44951
#, fuzzy
msgid "Make @var{file} a symlink to the result, and register it as a garbage collector root."
msgstr "将 @var{file} 设为结果的符号链接,并将其注册为垃圾收集器根。"

#. type: table
#: guix-git/doc/guix.texi:13903
#, fuzzy
msgid "Consequently, the results of this @command{guix build} invocation are protected from garbage collection until @var{file} is removed.  When that option is omitted, build results are eligible for garbage collection as soon as the build completes.  @xref{Invoking guix gc}, for more on GC roots."
msgstr "因此,此 @command{guix build} 调用的结果在 @var{file} 被删除之前不会被垃圾收集。当省略该选项时,构建结果在构建完成后即可被垃圾收集。有关 GC 根的更多信息,请参见 @xref{Invoking guix gc}。"

#. type: item
#: guix-git/doc/guix.texi:13904
#, fuzzy, no-wrap
msgid "--log-file"
msgstr "--log-file"

#. type: cindex
#: guix-git/doc/guix.texi:13905
#, fuzzy, no-wrap
msgid "build logs, access"
msgstr "构建日志,访问"

#. type: table
#: guix-git/doc/guix.texi:13909
#, fuzzy
msgid "Return the build log file names or URLs for the given @var{package-or-derivation}, or raise an error if build logs are missing."
msgstr "返回给定 @var{package-or-derivation} 的构建日志文件名或 URL,如果缺少构建日志则引发错误。"

#. type: table
#: guix-git/doc/guix.texi:13912
#, fuzzy
msgid "This works regardless of how packages or derivations are specified.  For instance, the following invocations are equivalent:"
msgstr "无论如何指定包或派生,这都有效。例如,以下调用是等效的:"

#. type: example
#: guix-git/doc/guix.texi:13918
#, fuzzy, no-wrap
msgid ""
"guix build --log-file $(guix build -d guile)\n"
"guix build --log-file $(guix build guile)\n"
"guix build --log-file guile\n"
"guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'\n"
msgstr ""
"guix build --log-file $(guix build -d guile)\n"
"guix build --log-file $(guix build guile)\n"
"guix build --log-file guile\n"
"guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'\n"

#. type: table
#: guix-git/doc/guix.texi:13923
#, fuzzy
msgid "If a log is unavailable locally, and unless @option{--no-substitutes} is passed, the command looks for a corresponding log on one of the substitute servers."
msgstr "如果日志在本地不可用,并且除非传递 @option{--no-substitutes},该命令会在替代服务器之一上查找相应的日志。"

#. type: table
#: guix-git/doc/guix.texi:13926
#, fuzzy
msgid "So for instance, imagine you want to see the build log of GDB on @code{aarch64}, but you are actually on an @code{x86_64} machine:"
msgstr "例如,假设您想查看 @code{aarch64} 上 GDB 的构建日志,但您实际上在 @code{x86_64} 机器上:"

#. type: example
#: guix-git/doc/guix.texi:13930
#, fuzzy, no-wrap
msgid ""
"$ guix build --log-file gdb -s aarch64-linux\n"
"https://@value{SUBSTITUTE-SERVER-1}/log/@dots{}-gdb-7.10\n"
msgstr ""
"$ guix build --log-file gdb -s aarch64-linux\n"
"https://@value{SUBSTITUTE-SERVER-1}/log/@dots{}-gdb-7.10\n"

#. type: table
#: guix-git/doc/guix.texi:13933
#, fuzzy
msgid "You can freely access a huge library of build logs!"
msgstr "您可以自由访问大量构建日志库!"

#. type: cindex
#: guix-git/doc/guix.texi:13938
#, fuzzy, no-wrap
msgid "build failures, debugging"
msgstr "构建失败,调试"

#. type: Plain text
#: guix-git/doc/guix.texi:13944
#, fuzzy
msgid "When defining a new package (@pxref{Defining Packages}), you will probably find yourself spending some time debugging and tweaking the build until it succeeds.  To do that, you need to operate the build commands yourself in an environment as close as possible to the one the build daemon uses."
msgstr "在定义新包时 (@pxref{Defining Packages}),您可能会发现自己花费一些时间进行调试和调整构建,直到它成功。为此,您需要在尽可能接近构建守护进程使用的环境中自行操作构建命令。"

#. type: Plain text
#: guix-git/doc/guix.texi:13949
#, fuzzy
msgid "To that end, the first thing to do is to use the @option{--keep-failed} or @option{-K} option of @command{guix build}, which will keep the failed build tree in @file{/tmp} or whatever directory you specified as @env{TMPDIR} (@pxref{Common Build Options, @option{--keep-failed}})."
msgstr "为此,首先要做的是使用 @option{--keep-failed} 或 @option{-K} 选项的 @command{guix build},这将把失败的构建树保留在 @file{/tmp} 或您指定的 @env{TMPDIR} 目录中 (@pxref{Common Build Options, @option{--keep-failed}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:13955
#, fuzzy
msgid "From there on, you can @command{cd} to the failed build tree and source the @file{environment-variables} file, which contains all the environment variable definitions that were in place when the build failed.  So let's say you're debugging a build failure in package @code{foo}; a typical session would look like this:"
msgstr "从那里开始,您可以 @command{cd} 到失败的构建树并加载 @file{environment-variables} 文件,该文件包含构建失败时所有环境变量的定义。因此,假设您正在调试包 @code{foo} 中的构建失败;典型的会话如下所示:"

#. type: example
#: guix-git/doc/guix.texi:13962
#, fuzzy, no-wrap
msgid ""
"$ guix build foo -K\n"
"@dots{} @i{build fails}\n"
"$ cd /tmp/guix-build-foo.drv-0\n"
"$ source ./environment-variables\n"
"$ cd foo-1.2\n"
msgstr ""
"$ guix build foo -K\n"
"@dots{} @i{构建失败}\n"
"$ cd /tmp/guix-build-foo.drv-0\n"
"$ source ./environment-variables\n"
"$ cd foo-1.2\n"

#. type: Plain text
#: guix-git/doc/guix.texi:13966
#, fuzzy
msgid "Now, you can invoke commands as if you were the daemon (almost) and troubleshoot your build process."
msgstr "现在,您可以像守护进程一样(几乎)调用命令并排查构建过程中的问题。"

#. type: Plain text
#: guix-git/doc/guix.texi:13972
#, fuzzy
msgid "Sometimes it happens that, for example, a package's tests pass when you run them manually but they fail when the daemon runs them.  This can happen because the daemon runs builds in containers where, unlike in our environment above, network access is missing, @file{/bin/sh} does not exist, etc. (@pxref{Build Environment Setup})."
msgstr "有时会发生,例如,当您手动运行包的测试时,它们通过了,但当守护进程运行它们时,它们失败了。这可能是因为守护进程在容器中运行构建,而在我们上面的环境中,缺少网络访问,@file{/bin/sh} 不存在等。 (@pxref{构建环境设置})。"

#. type: Plain text
#: guix-git/doc/guix.texi:13975
#, fuzzy
msgid "In such cases, you may need to inspect the build process from within a container similar to the one the build daemon creates:"
msgstr "在这种情况下,您可能需要从与构建守护进程创建的容器类似的容器中检查构建过程:"

#. type: example
#: guix-git/doc/guix.texi:13983
#, fuzzy, no-wrap
msgid ""
"$ guix build -K foo\n"
"@dots{}\n"
"$ cd /tmp/guix-build-foo.drv-0\n"
"$ guix shell --no-grafts -C -D foo strace gdb\n"
"[env]# source ./environment-variables\n"
"[env]# cd foo-1.2\n"
msgstr ""
"$ guix build -K foo\n"
"@dots{}\n"
"$ cd /tmp/guix-build-foo.drv-0\n"
"$ guix shell --no-grafts -C -D foo strace gdb\n"
"[env]# source ./environment-variables\n"
"[env]# cd foo-1.2\n"

#. type: Plain text
#: guix-git/doc/guix.texi:13992
#, fuzzy
msgid "Here, @command{guix shell -C} creates a container and spawns a new shell in it (@pxref{Invoking guix shell}).  The @command{strace gdb} part adds the @command{strace} and @command{gdb} commands to the container, which you may find handy while debugging.  The @option{--no-grafts} option makes sure we get the exact same environment, with ungrafted packages (@pxref{Security Updates}, for more info on grafts)."
msgstr "在这里,@command{guix shell -C} 创建一个容器并在其中启动一个新 shell (@pxref{调用 guix shell})。@command{strace gdb} 部分将 @command{strace} 和 @command{gdb} 命令添加到容器中,这在调试时可能会很方便。@option{--no-grafts} 选项确保我们获得完全相同的环境,带有未嫁接的包 (@pxref{安全更新},有关嫁接的更多信息)。"

#. type: Plain text
#: guix-git/doc/guix.texi:13995
#, fuzzy
msgid "To get closer to a container like that used by the build daemon, we can remove @file{/bin/sh}:"
msgstr "为了更接近构建守护进程使用的容器,我们可以删除 @file{/bin/sh}:"

#. type: example
#: guix-git/doc/guix.texi:13998
#, fuzzy, no-wrap
msgid "[env]# rm /bin/sh\n"
msgstr "[env]# rm /bin/sh\n"

#. type: Plain text
#: guix-git/doc/guix.texi:14002
#, fuzzy
msgid "(Don't worry, this is harmless: this is all happening in the throw-away container created by @command{guix shell}.)"
msgstr "(别担心,这没有害处:这一切都发生在 @command{guix shell} 创建的临时容器中。)"

#. type: Plain text
#: guix-git/doc/guix.texi:14005
#, fuzzy
msgid "The @command{strace} command is probably not in the search path, but we can run:"
msgstr "@command{strace} 命令可能不在搜索路径中,但我们可以运行:"

#. type: example
#: guix-git/doc/guix.texi:14008
#, fuzzy, no-wrap
msgid "[env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check\n"
msgstr "[env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check\n"

#. type: Plain text
#: guix-git/doc/guix.texi:14013
#, fuzzy
msgid "In this way, not only you will have reproduced the environment variables the daemon uses, you will also be running the build process in a container similar to the one the daemon uses."
msgstr "通过这种方式,您不仅会重现守护进程使用的环境变量,还会在与守护进程使用的容器类似的容器中运行构建过程。"

#. type: section
#: guix-git/doc/guix.texi:14016
#, fuzzy, no-wrap
msgid "Invoking @command{guix edit}"
msgstr "调用 @command{guix edit}"

#. type: command{#1}
#: guix-git/doc/guix.texi:14018
#, fuzzy, no-wrap
msgid "guix edit"
msgstr "guix edit"

#. type: cindex
#: guix-git/doc/guix.texi:14019
#, fuzzy, no-wrap
msgid "package definition, editing"
msgstr "包定义,编辑中"

#. type: Plain text
#: guix-git/doc/guix.texi:14024
#, fuzzy
msgid "So many packages, so many source files! The @command{guix edit} command facilitates the life of users and packagers by pointing their editor at the source file containing the definition of the specified packages.  For instance:"
msgstr "这么多包,这么多源文件!@command{guix edit} 命令通过将编辑器指向包含指定包定义的源文件,方便了用户和打包者。例如:"

#. type: example
#: guix-git/doc/guix.texi:14027
#, fuzzy, no-wrap
msgid "guix edit gcc@@4.9 vim\n"
msgstr "guix edit gcc@@4.9 vim\n"

#. type: Plain text
#: guix-git/doc/guix.texi:14033
#, fuzzy
msgid "launches the program specified in the @env{VISUAL} or in the @env{EDITOR} environment variable to view the recipe of GCC@tie{}4.9.3 and that of Vim."
msgstr "启动在 @env{VISUAL} 或 @env{EDITOR} 环境变量中指定的程序,以查看 GCC@tie{}4.9.3 和 Vim 的配方。"

#. type: Plain text
#: guix-git/doc/guix.texi:14039
msgid "If you are using a Guix Git checkout (@pxref{Building from Git}), or have created your own packages on @env{GUIX_PACKAGE_PATH} (@pxref{Package Modules}), you will be able to edit the package recipes.  In other cases, you will be able to examine the read-only recipes for packages currently in the store."
msgstr "从 Git 构建"

#. type: Plain text
#: guix-git/doc/guix.texi:14044
#, fuzzy
msgid "Instead of @env{GUIX_PACKAGE_PATH}, the command-line option @option{--load-path=@var{directory}} (or in short @option{-L @var{directory}}) allows you to add @var{directory} to the front of the package module search path and so make your own packages visible."
msgstr "命令行选项 @option{--load-path=@var{directory}}(或简写为 @option{-L @var{directory}})允许您将 @var{directory} 添加到软件包模块搜索路径的前面,从而使您自己的软件包可见,而不是 @env{GUIX_PACKAGE_PATH}。"

#. type: section
#: guix-git/doc/guix.texi:14046
#, fuzzy, no-wrap
msgid "Invoking @command{guix download}"
msgstr "调用 @command{guix download}"

#. type: command{#1}
#: guix-git/doc/guix.texi:14048
#, fuzzy, no-wrap
msgid "guix download"
msgstr "guix download"

#. type: cindex
#: guix-git/doc/guix.texi:14049
#, fuzzy, no-wrap
msgid "downloading package sources"
msgstr "下载软件包源代码"

#. type: Plain text
#: guix-git/doc/guix.texi:14056
#, fuzzy
msgid "When writing a package definition, developers typically need to download a source tarball, compute its SHA256 hash, and write that hash in the package definition (@pxref{Defining Packages}).  The @command{guix download} tool helps with this task: it downloads a file from the given URI, adds it to the store, and prints both its file name in the store and its SHA256 hash."
msgstr "在编写软件包定义时,开发人员通常需要下载源 tarball,计算其 SHA256 哈希,并将该哈希写入软件包定义中(@pxref{Defining Packages})。@command{guix download} 工具可以帮助完成此任务:它从给定的 URI 下载文件,将其添加到存储中,并打印其在存储中的文件名及其 SHA256 哈希。"

#. type: Plain text
#: guix-git/doc/guix.texi:14063
#, fuzzy
msgid "The fact that the downloaded file is added to the store saves bandwidth: when the developer eventually tries to build the newly defined package with @command{guix build}, the source tarball will not have to be downloaded again because it is already in the store.  It is also a convenient way to temporarily stash files, which may be deleted eventually (@pxref{Invoking guix gc})."
msgstr "下载的文件被添加到存储中节省了带宽:当开发人员最终尝试使用 @command{guix build} 构建新定义的软件包时,源 tarball 将不必再次下载,因为它已经在存储中。这也是暂时存放文件的方便方法,这些文件可能最终会被删除(@pxref{Invoking guix gc})。"

#. type: Plain text
#: guix-git/doc/guix.texi:14071
#, fuzzy
msgid "The @command{guix download} command supports the same URIs as used in package definitions.  In particular, it supports @code{mirror://} URIs.  @code{https} URIs (HTTP over TLS) are supported @emph{provided} the Guile bindings for GnuTLS are available in the user's environment; when they are not available, an error is raised.  @xref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile}, for more information."
msgstr "@command{guix download} 命令支持与软件包定义中使用的相同 URI。特别是,它支持 @code{mirror://} URI。@code{https} URI(基于 TLS 的 HTTP)在用户环境中提供 Guile 对 GnuTLS 的绑定时被支持;当它们不可用时,会引发错误。有关更多信息,请参见 @xref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile}。"

#. type: Plain text
#: guix-git/doc/guix.texi:14076
#, fuzzy
msgid "@command{guix download} verifies HTTPS server certificates by loading the certificates of X.509 authorities from the directory pointed to by the @env{SSL_CERT_DIR} environment variable (@pxref{X.509 Certificates}), unless @option{--no-check-certificate} is used."
msgstr "@command{guix download} 通过从 @env{SSL_CERT_DIR} 环境变量指向的目录加载 X.509 认证机构的证书来验证 HTTPS 服务器证书(@pxref{X.509 Certificates}),除非使用 @option{--no-check-certificate}。"

#. type: Plain text
#: guix-git/doc/guix.texi:14079
#, fuzzy
msgid "Alternatively, @command{guix download} can also retrieve a Git repository, possibly a specific commit, tag, or branch."
msgstr "或者,@command{guix download} 还可以检索 Git 仓库,可能是特定的提交、标签或分支。"

#. type: Plain text
#: guix-git/doc/guix.texi:14081 guix-git/doc/guix.texi:16275
#, fuzzy
msgid "The following options are available:"
msgstr "以下选项可用:"

#. type: item
#: guix-git/doc/guix.texi:14083 guix-git/doc/guix.texi:14147
#, fuzzy, no-wrap
msgid "--hash=@var{algorithm}"
msgstr "--hash=@var{algorithm}"

#. type: itemx
#: guix-git/doc/guix.texi:14084 guix-git/doc/guix.texi:14148
#, fuzzy, no-wrap
msgid "-H @var{algorithm}"
msgstr "-H @var{algorithm}"

#. type: table
#: guix-git/doc/guix.texi:14087
#, fuzzy
msgid "Compute a hash using the specified @var{algorithm}.  @xref{Invoking guix hash}, for more information."
msgstr "使用指定的 @var{algorithm} 计算哈希。有关更多信息,请参见 @xref{Invoking guix hash}。"

#. type: item
#: guix-git/doc/guix.texi:14088 guix-git/doc/guix.texi:14157
#, fuzzy, no-wrap
msgid "--format=@var{fmt}"
msgstr "--format=@var{fmt}"

#. type: itemx
#: guix-git/doc/guix.texi:14089 guix-git/doc/guix.texi:14158
#, fuzzy, no-wrap
msgid "-f @var{fmt}"
msgstr "-f @var{fmt}"

#. type: table
#: guix-git/doc/guix.texi:14092
#, fuzzy
msgid "Write the hash in the format specified by @var{fmt}.  For more information on the valid values for @var{fmt}, @pxref{Invoking guix hash}."
msgstr "以 @var{fmt} 指定的格式写入哈希。有关 @var{fmt} 的有效值的更多信息,请参见 @pxref{Invoking guix hash}。"

#. type: table
#: guix-git/doc/guix.texi:14099
#, fuzzy
msgid "When using this option, you have @emph{absolutely no guarantee} that you are communicating with the authentic server responsible for the given URL, which makes you vulnerable to ``man-in-the-middle'' attacks."
msgstr "使用此选项时,您@emph{绝对没有保证}与负责给定 URL 的真实服务器进行通信,这使您容易受到“中间人”攻击。"

#. type: item
#: guix-git/doc/guix.texi:14100
#, fuzzy, no-wrap
msgid "--output=@var{file}"
msgstr "--output=@var{file}"

#. type: itemx
#: guix-git/doc/guix.texi:14101
#, fuzzy, no-wrap
msgid "-o @var{file}"
msgstr "-o @var{file}"

#. type: table
#: guix-git/doc/guix.texi:14104
#, fuzzy
msgid "Save the downloaded file to @var{file} instead of adding it to the store."
msgstr "将下载的文件保存到 @var{file},而不是将其添加到存储中。"

#. type: item
#: guix-git/doc/guix.texi:14105
#, fuzzy, no-wrap
msgid "--git"
msgstr "--git"

#. type: table
#: guix-git/doc/guix.texi:14108
#, fuzzy
msgid "Checkout the Git repository at the latest commit on the default branch."
msgstr "在默认分支上检出最新提交的 Git 仓库。"

#. type: item
#: guix-git/doc/guix.texi:14109
#, fuzzy, no-wrap
msgid "--commit=@var{commit-or-tag}"
msgstr "--timeout=@var{seconds}"

#. type: table
#: guix-git/doc/guix.texi:14111
#, fuzzy
msgid "Checkout the Git repository at @var{commit-or-tag}."
msgstr "在 @var{commit-or-tag} 上检出 Git 仓库。"

#. type: table
#: guix-git/doc/guix.texi:14114
#, fuzzy
msgid "@var{commit-or-tag} can be either a tag or a commit defined in the Git repository."
msgstr "@var{commit-or-tag} 可以是 Git 仓库中定义的标签或提交。"

#. type: table
#: guix-git/doc/guix.texi:14117
#, fuzzy
msgid "Checkout the Git repository at @var{branch}."
msgstr "在 @var{branch} 上检出 Git 仓库。"

#. type: table
#: guix-git/doc/guix.texi:14120
#, fuzzy
msgid "The repository will be checked out at the latest commit of @var{branch}, which must be a valid branch of the Git repository."
msgstr "仓库将在 @var{branch} 的最新提交处检出,@var{branch} 必须是 Git 仓库的有效分支。"

#. type: table
#: guix-git/doc/guix.texi:14124
#, fuzzy
msgid "Recursively clone the Git repository."
msgstr "推送到官方仓库。"

#. type: section
#: guix-git/doc/guix.texi:14127
#, fuzzy, no-wrap
msgid "Invoking @command{guix hash}"
msgstr "调用 @command{guix hash}"

#. type: command{#1}
#: guix-git/doc/guix.texi:14129
#, fuzzy, no-wrap
msgid "guix hash"
msgstr "guix hash"

#. type: Plain text
#: guix-git/doc/guix.texi:14134
#, fuzzy
msgid "The @command{guix hash} command computes the hash of a file.  It is primarily a convenience tool for anyone contributing to the distribution: it computes the cryptographic hash of one or more files, which can be used in the definition of a package (@pxref{Defining Packages})."
msgstr "@command{guix hash} 命令计算文件的哈希。它主要是一个方便的工具,供任何为发行版做贡献的人使用:它计算一个或多个文件的加密哈希,可用于包的定义中(@pxref{Defining Packages})。"

#. type: example
#: guix-git/doc/guix.texi:14139
#, fuzzy, no-wrap
msgid "guix hash @var{option} @var{file} ...\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:14144
#, fuzzy
msgid "When @var{file} is @code{-} (a hyphen), @command{guix hash} computes the hash of data read from standard input.  @command{guix hash} has the following options:"
msgstr "当 @var{file} 为 @code{-}(一个连字符)时,@command{guix hash} 计算从标准输入读取的数据的哈希。@command{guix hash} 有以下选项:"

#. type: table
#: guix-git/doc/guix.texi:14151
#, fuzzy
msgid "Compute a hash using the specified @var{algorithm}, @code{sha256} by default."
msgstr "使用指定的 @var{algorithm} 计算哈希,默认情况下为 @code{sha256}。"

#. type: table
#: guix-git/doc/guix.texi:14156
#, fuzzy
msgid "@var{algorithm} must be the name of a cryptographic hash algorithm supported by Libgcrypt @i{via} Guile-Gcrypt---e.g., @code{sha512} or @code{sha3-256} (@pxref{Hash Functions,,, guile-gcrypt, Guile-Gcrypt Reference Manual})."
msgstr "@var{algorithm} 必须是 Libgcrypt @i{通过} Guile-Gcrypt 支持的加密哈希算法的名称——例如,@code{sha512} 或 @code{sha3-256}(@pxref{Hash Functions,,, guile-gcrypt, Guile-Gcrypt Reference Manual})。"

#. type: table
#: guix-git/doc/guix.texi:14160
#, fuzzy
msgid "Write the hash in the format specified by @var{fmt}."
msgstr "以 @var{fmt} 指定的格式写入哈希。"

#. type: table
#: guix-git/doc/guix.texi:14163
#, fuzzy
msgid "Supported formats: @code{base64}, @code{nix-base32}, @code{base32}, @code{base16} (@code{hex} and @code{hexadecimal} can be used as well)."
msgstr "支持的格式:@code{base64}、@code{nix-base32}、@code{base32}、@code{base16}(@code{hex} 和 @code{hexadecimal} 也可以使用)。"

#. type: table
#: guix-git/doc/guix.texi:14167
#, fuzzy
msgid "If the @option{--format} option is not specified, @command{guix hash} will output the hash in @code{nix-base32}.  This representation is used in the definitions of packages."
msgstr "如果未指定 @option{--format} 选项,@command{guix hash} 将以 @code{nix-base32} 输出哈希。此表示法用于包的定义中。"

#. type: table
#: guix-git/doc/guix.texi:14173
#, fuzzy
msgid "The @option{--recursive} option is deprecated in favor of @option{--serializer=nar} (see below); @option{-r} remains accepted as a convenient shorthand."
msgstr "@option{--recursive} 选项已被弃用,建议使用 @option{--serializer=nar}(见下文);@option{-r} 仍然被接受作为方便的简写。"

#. type: item
#: guix-git/doc/guix.texi:14174
#, fuzzy, no-wrap
msgid "--serializer=@var{type}"
msgstr "--log-compression=@var{type}"

#. type: itemx
#: guix-git/doc/guix.texi:14175
#, fuzzy, no-wrap
msgid "-S @var{type}"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:14177
#, fuzzy
msgid "Compute the hash on @var{file} using @var{type} serialization."
msgstr "使用 @var{type} 序列化计算 @var{file} 的哈希。"

#. type: table
#: guix-git/doc/guix.texi:14179
#, fuzzy
msgid "@var{type} may be one of the following:"
msgstr "@var{type} 可以是以下之一:"

#. type: item
#: guix-git/doc/guix.texi:14181 guix-git/doc/guix.texi:16634
#: guix-git/doc/guix.texi:21638 guix-git/doc/guix.texi:24823
#, fuzzy, no-wrap
msgid "none"
msgstr "无"

#. type: table
#: guix-git/doc/guix.texi:14183
#, fuzzy
msgid "This is the default: it computes the hash of a file's contents."
msgstr "这是默认值:它计算文件内容的哈希。"

#. type: item
#: guix-git/doc/guix.texi:14184
#, fuzzy, no-wrap
msgid "nar"
msgstr "nar"

#. type: table
#: guix-git/doc/guix.texi:14194
#, fuzzy
msgid "Compute the hash of a ``normalized archive'' (or ``nar'') containing @var{file}, including its children if it is a directory.  Some of the metadata of @var{file} is part of the archive; for instance, when @var{file} is a regular file, the hash is different depending on whether @var{file} is executable or not.  Metadata such as time stamps have no impact on the hash (@pxref{Invoking guix archive}, for more info on the nar format)."
msgstr "计算包含 @var{file} 的“标准化归档”(或“nar”)的哈希,如果它是一个目录,则包括其子项。@var{file} 的一些元数据是归档的一部分;例如,当 @var{file} 是常规文件时,哈希会因 @var{file} 是否可执行而不同。时间戳等元数据对哈希没有影响(@pxref{Invoking guix archive},有关 nar 格式的更多信息)。"

#. type: item
#: guix-git/doc/guix.texi:14195
#, fuzzy, no-wrap
msgid "git"
msgstr "git"

#. type: table
#: guix-git/doc/guix.texi:14198
#, fuzzy
msgid "Compute the hash of the file or directory as a Git ``tree'', following the same method as the Git version control system."
msgstr "计算文件或目录的哈希作为 Git “树”,遵循与 Git 版本控制系统相同的方法。"

#. type: item
#: guix-git/doc/guix.texi:14200
#, fuzzy, no-wrap
msgid "--exclude-vcs"
msgstr "--exclude-vcs"

#. type: itemx
#: guix-git/doc/guix.texi:14201 guix-git/doc/guix.texi:15733
#, fuzzy, no-wrap
msgid "-x"
msgstr "-x"

#. type: table
#: guix-git/doc/guix.texi:14204
#, fuzzy
msgid "When combined with @option{--recursive}, exclude version control system directories (@file{.bzr}, @file{.git}, @file{.hg}, etc.)."
msgstr "与 @option{--recursive} 结合使用时,排除版本控制系统目录(@file{.bzr}, @file{.git}, @file{.hg} 等)。"

#. type: vindex
#: guix-git/doc/guix.texi:14205
#, fuzzy, no-wrap
msgid "git-fetch"
msgstr "git-fetch"

#. type: table
#: guix-git/doc/guix.texi:14209
#, fuzzy
msgid "As an example, here is how you would compute the hash of a Git checkout, which is useful when using the @code{git-fetch} method (@pxref{origin Reference}):"
msgstr "例如,以下是如何计算 Git 检出哈希的方法,这在使用 @code{git-fetch} 方法时非常有用(@pxref{origin Reference}):"

#. type: example
#: guix-git/doc/guix.texi:14214
#, fuzzy, no-wrap
msgid ""
"$ git clone http://example.org/foo.git\n"
"$ cd foo\n"
"$ guix hash -x --serializer=nar .\n"
msgstr ""
"$ git clone http://example.org/foo.git\n"
"$ cd foo\n"
"$ guix hash -x --serializer=nar .\n"

#. type: cindex
#: guix-git/doc/guix.texi:14218 guix-git/doc/guix.texi:14223
#, fuzzy, no-wrap
msgid "Invoking @command{guix import}"
msgstr "调用 @command{guix import}"

#. type: cindex
#: guix-git/doc/guix.texi:14220
#, fuzzy, no-wrap
msgid "importing packages"
msgstr "导入包"

#. type: cindex
#: guix-git/doc/guix.texi:14221
#, fuzzy, no-wrap
msgid "package import"
msgstr "包导入"

#. type: cindex
#: guix-git/doc/guix.texi:14222
#, fuzzy, no-wrap
msgid "package conversion"
msgstr "包转换"

#. type: Plain text
#: guix-git/doc/guix.texi:14230
#, fuzzy
msgid "The @command{guix import} command is useful for people who would like to add a package to the distribution with as little work as possible---a legitimate demand.  The command knows of a few repositories from which it can ``import'' package metadata.  The result is a package definition, or a template thereof, in the format we know (@pxref{Defining Packages})."
msgstr "@command{guix import} 命令对于希望以尽可能少的工作将包添加到发行版的人非常有用——这是一个合理的要求。该命令知道一些可以“导入”包元数据的存储库。结果是一个包定义,或其模板,以我们所知的格式(@pxref{Defining Packages})。"

#. type: example
#: guix-git/doc/guix.texi:14235
#, fuzzy, no-wrap
msgid "guix import [@var{global-options}@dots{}] @var{importer} @var{package} [@var{options}@dots{}]\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:14241
#, fuzzy
msgid "@var{importer} specifies the source from which to import package metadata, and @var{options} specifies a package identifier and other options specific to @var{importer}. @command{guix import} itself has the following @var{global-options}:"
msgstr "@var{importer} 指定要从中导入包元数据的源,@var{options} 指定包标识符和其他特定于 @var{importer} 的选项。@command{guix import} 本身具有以下 @var{global-options}:"

#. type: item
#: guix-git/doc/guix.texi:14243
#, fuzzy, no-wrap
msgid "--insert=@var{file}"
msgstr "--max-jobs=@var{n}"

#. type: itemx
#: guix-git/doc/guix.texi:14244
#, fuzzy, no-wrap
msgid "-i @var{file}"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:14248
#, fuzzy
msgid "Insert the package definition(s) that the @var{importer} generated into the specified @var{file}, either in alphabetical order among existing package definitions, or at the end of the file otherwise."
msgstr "将 @var{importer} 生成的包定义插入指定的 @var{file} 中,既可以按字母顺序插入现有包定义,也可以在文件末尾插入。"

#. type: Plain text
#: guix-git/doc/guix.texi:14253
#, fuzzy
msgid "Some of the importers rely on the ability to run the @command{gpgv} command.  For these, GnuPG must be installed and in @code{$PATH}; run @code{guix install gnupg} if needed."
msgstr "一些导入者依赖于运行 @command{gpgv} 命令的能力。对于这些用户,必须安装 GnuPG 并将其放入 @code{$PATH} 中;如有需要,请运行 @code{guix install gnupg}。"

#. type: Plain text
#: guix-git/doc/guix.texi:14255
#, fuzzy
msgid "Currently, the available ``importers'' are:"
msgstr "目前可用的“导入者”有:"

#. type: item
#: guix-git/doc/guix.texi:14257 guix-git/doc/guix.texi:15124
#, fuzzy, no-wrap
msgid "gnu"
msgstr "gnu"

#. type: table
#: guix-git/doc/guix.texi:14261
#, fuzzy
msgid "Import metadata for the given GNU package.  This provides a template for the latest version of that GNU package, including the hash of its source tarball, and its canonical synopsis and description."
msgstr "导入给定 GNU 包的元数据。这提供了该 GNU 包最新版本的模板,包括其源 tarball 的哈希值,以及其规范的概要和描述。"

#. type: table
#: guix-git/doc/guix.texi:14264
#, fuzzy
msgid "Additional information such as the package dependencies and its license needs to be figured out manually."
msgstr "额外信息,如包依赖关系和许可证,需要手动确定。"

#. type: table
#: guix-git/doc/guix.texi:14267
#, fuzzy
msgid "For example, the following command returns a package definition for GNU@tie{}Hello:"
msgstr "例如,以下命令返回 GNU@tie{}Hello 的包定义:"

#. type: example
#: guix-git/doc/guix.texi:14270
#, fuzzy, no-wrap
msgid "guix import gnu hello\n"
msgstr "guix import gnu hello\n"

#. type: table
#: guix-git/doc/guix.texi:14273 guix-git/doc/guix.texi:14545
#: guix-git/doc/guix.texi:14595 guix-git/doc/guix.texi:14624
#, fuzzy
msgid "Specific command-line options are:"
msgstr "特定的命令行选项为:"

#. type: item
#: guix-git/doc/guix.texi:14275 guix-git/doc/guix.texi:15324
#, fuzzy, no-wrap
msgid "--key-download=@var{policy}"
msgstr "--key-download=@var{policy}"

#. type: table
#: guix-git/doc/guix.texi:14279
#, fuzzy
msgid "As for @command{guix refresh}, specify the policy to handle missing OpenPGP keys when verifying the package signature.  @xref{Invoking guix refresh, @option{--key-download}}."
msgstr "至于 @command{guix refresh},请指定处理缺失 OpenPGP 密钥的策略,以便在验证包签名时使用。@xref{调用 guix refresh, @option{--key-download}}。"

#. type: item
#: guix-git/doc/guix.texi:14281 guix-git/doc/guix.texi:14282
#: guix-git/doc/guix.texi:15148
#, fuzzy, no-wrap
msgid "pypi"
msgstr "pypi"

#. type: table
#: guix-git/doc/guix.texi:14289
#, fuzzy
msgid "Import metadata from the @uref{https://pypi.python.org/, Python Package Index}.  Information is taken from the JSON-formatted description available at @code{pypi.python.org} and usually includes all the relevant information, including package dependencies.  For maximum efficiency, it is recommended to install the @command{unzip} utility, so that the importer can unzip Python wheels and gather data from them."
msgstr "从 @uref{https://pypi.python.org/, Python 包索引} 导入元数据。信息来自 @code{pypi.python.org} 上可用的 JSON 格式描述,通常包括所有相关信息,包括包依赖关系。为了最大效率,建议安装 @command{unzip} 工具,以便导入者可以解压 Python wheels 并从中收集数据。"

#. type: table
#: guix-git/doc/guix.texi:14292
#, fuzzy
msgid "The command below imports metadata for the latest version of the @code{itsdangerous} Python package:"
msgstr "下面的命令导入 @code{itsdangerous} Python 包最新版本的元数据:"

#. type: example
#: guix-git/doc/guix.texi:14295
#, fuzzy, no-wrap
msgid "guix import pypi itsdangerous\n"
msgstr "guix import pypi itsdangerous\n"

#. type: table
#: guix-git/doc/guix.texi:14298 guix-git/doc/guix.texi:14329
#: guix-git/doc/guix.texi:14417 guix-git/doc/guix.texi:14862
#, fuzzy
msgid "You can also ask for a specific version:"
msgstr "您还可以请求特定版本:"

#. type: example
#: guix-git/doc/guix.texi:14301
#, fuzzy, no-wrap
msgid "guix import pypi itsdangerous@@1.1.0\n"
msgstr "guix import pypi itsdangerous@@1.1.0\n"

#. type: table
#: guix-git/doc/guix.texi:14309 guix-git/doc/guix.texi:14340
#: guix-git/doc/guix.texi:14372 guix-git/doc/guix.texi:14399
#: guix-git/doc/guix.texi:14487 guix-git/doc/guix.texi:14568
#: guix-git/doc/guix.texi:14609 guix-git/doc/guix.texi:14660
#: guix-git/doc/guix.texi:14685 guix-git/doc/guix.texi:14721
#: guix-git/doc/guix.texi:14754 guix-git/doc/guix.texi:14770
#: guix-git/doc/guix.texi:14790 guix-git/doc/guix.texi:14838
#: guix-git/doc/guix.texi:14874 guix-git/doc/guix.texi:14901
#, fuzzy
msgid "Traverse the dependency graph of the given upstream package recursively and generate package expressions for all those packages that are not yet in Guix."
msgstr "递归遍历给定上游包的依赖图,并为所有尚未在 Guix 中的包生成包表达式。"

#. type: item
#: guix-git/doc/guix.texi:14311 guix-git/doc/guix.texi:14312
#: guix-git/doc/guix.texi:15150
#, fuzzy, no-wrap
msgid "gem"
msgstr "gem"

#. type: table
#: guix-git/doc/guix.texi:14321
#, fuzzy
msgid "Import metadata from @uref{https://rubygems.org/, RubyGems}.  Information is taken from the JSON-formatted description available at @code{rubygems.org} and includes most relevant information, including runtime dependencies.  There are some caveats, however.  The metadata doesn't distinguish between synopses and descriptions, so the same string is used for both fields.  Additionally, the details of non-Ruby dependencies required to build native extensions is unavailable and left as an exercise to the packager."
msgstr "从 @uref{https://rubygems.org/, RubyGems} 导入元数据。信息来自 @code{rubygems.org} 上可用的 JSON 格式描述,并包括大多数相关信息,包括运行时依赖关系。然而,有一些注意事项。元数据不区分概要和描述,因此两个字段使用相同的字符串。此外,构建本地扩展所需的非 Ruby 依赖项的详细信息不可用,留给打包者自行解决。"

#. type: table
#: guix-git/doc/guix.texi:14323
#, fuzzy
msgid "The command below imports metadata for the @code{rails} Ruby package:"
msgstr "下面的命令导入 @code{rails} Ruby 包的元数据:"

#. type: example
#: guix-git/doc/guix.texi:14326
#, fuzzy, no-wrap
msgid "guix import gem rails\n"
msgstr "guix import gem rails\n"

#. type: example
#: guix-git/doc/guix.texi:14332
#, fuzzy, no-wrap
msgid "guix import gem rails@@7.0.4\n"
msgstr "guix import gem rails@@7.0.4\n"

#. type: cindex
#: guix-git/doc/guix.texi:14342 guix-git/doc/guix.texi:14343
#, fuzzy, no-wrap
msgid "minetest"
msgstr "minetest"

#. type: cindex
#: guix-git/doc/guix.texi:14344
#, fuzzy, no-wrap
msgid "ContentDB"
msgstr "ContentDB"

#. type: table
#: guix-git/doc/guix.texi:14353
#, fuzzy
msgid "Import metadata from @uref{https://content.minetest.net, ContentDB}.  Information is taken from the JSON-formatted metadata provided through @uref{https://content.minetest.net/help/api/, ContentDB's API} and includes most relevant information, including dependencies.  There are some caveats, however.  The license information is often incomplete.  The commit hash is sometimes missing.  The descriptions are in the Markdown format, but Guix uses Texinfo instead.  Texture packs and subgames are unsupported."
msgstr "从 @uref{https://content.minetest.net, ContentDB} 导入元数据。信息来自 @uref{https://content.minetest.net/help/api/, ContentDB 的 API} 提供的 JSON 格式的元数据,包括大多数相关信息,包括依赖关系。然而,有一些注意事项。许可证信息通常不完整。提交哈希有时缺失。描述采用 Markdown 格式,但 Guix 使用 Texinfo 格式。纹理包和子游戏不受支持。"

#. type: table
#: guix-git/doc/guix.texi:14355
#, fuzzy
msgid "The command below imports metadata for the Mesecons mod by Jeija:"
msgstr "下面的命令导入 Jeija 的 Mesecons 模组的元数据:"

#. type: example
#: guix-git/doc/guix.texi:14358
#, fuzzy, no-wrap
msgid "guix import minetest Jeija/mesecons\n"
msgstr "guix import minetest Jeija/mesecons\n"

#. type: table
#: guix-git/doc/guix.texi:14361
#, fuzzy
msgid "The author name can also be left out:"
msgstr "作者名称也可以省略:"

#. type: example
#: guix-git/doc/guix.texi:14364
#, fuzzy, no-wrap
msgid "guix import minetest mesecons\n"
msgstr "guix import minetest mesecons\n"

#. type: item
#: guix-git/doc/guix.texi:14374 guix-git/doc/guix.texi:15146
#, fuzzy, no-wrap
msgid "cpan"
msgstr "cpan"

#. type: cindex
#: guix-git/doc/guix.texi:14375
#, fuzzy, no-wrap
msgid "CPAN"
msgstr "CPAN"

#. type: table
#: guix-git/doc/guix.texi:14383
#, fuzzy
msgid "Import metadata from @uref{https://www.metacpan.org/, MetaCPAN}.  Information is taken from the JSON-formatted metadata provided through @uref{https://fastapi.metacpan.org/, MetaCPAN's API} and includes most relevant information, such as module dependencies.  License information should be checked closely.  If Perl is available in the store, then the @code{corelist} utility will be used to filter core modules out of the list of dependencies."
msgstr "从 @uref{https://www.metacpan.org/, MetaCPAN} 导入元数据。信息来自 @uref{https://fastapi.metacpan.org/, MetaCPAN 的 API} 提供的 JSON 格式的元数据,包括大多数相关信息,例如模块依赖关系。许可证信息应仔细检查。如果商店中有 Perl,则 @code{corelist} 工具将用于从依赖列表中过滤核心模块。"

#. type: table
#: guix-git/doc/guix.texi:14385
#, fuzzy
msgid "The command below imports metadata for the Acme::Boolean Perl module:"
msgstr "下面的命令导入 Acme::Boolean Perl 模块的元数据:"

#. type: example
#: guix-git/doc/guix.texi:14388
#, fuzzy, no-wrap
msgid "guix import cpan Acme::Boolean\n"
msgstr "guix import cpan Acme::Boolean\n"

#. type: table
#: guix-git/doc/guix.texi:14392
#, fuzzy
msgid "Like many other importers, the @code{cpan} importer supports recursive imports:"
msgstr "与许多其他导入器一样,@code{cpan} 导入器支持递归导入:"

#. type: item
#: guix-git/doc/guix.texi:14401 guix-git/doc/guix.texi:15142
#, fuzzy, no-wrap
msgid "cran"
msgstr "cran"

#. type: cindex
#: guix-git/doc/guix.texi:14402
#, fuzzy, no-wrap
msgid "CRAN"
msgstr "CRAN"

#. type: cindex
#: guix-git/doc/guix.texi:14403
#, fuzzy, no-wrap
msgid "Bioconductor"
msgstr "Bioconductor"

#. type: table
#: guix-git/doc/guix.texi:14407
#, fuzzy
msgid "Import metadata from @uref{https://cran.r-project.org/, CRAN}, the central repository for the @uref{https://r-project.org, GNU@tie{}R statistical and graphical environment}."
msgstr "从 @uref{https://cran.r-project.org/, CRAN} 导入元数据,这是 @uref{https://r-project.org, GNU@tie{}R 统计和图形环境} 的中央存储库。"

#. type: table
#: guix-git/doc/guix.texi:14409
#, fuzzy
msgid "Information is extracted from the @file{DESCRIPTION} file of the package."
msgstr "信息来自包的 @file{DESCRIPTION} 文件。"

#. type: table
#: guix-git/doc/guix.texi:14411
#, fuzzy
msgid "The command below imports metadata for the Cairo R package:"
msgstr "下面的命令导入 Cairo R 包的元数据:"

#. type: example
#: guix-git/doc/guix.texi:14414
#, fuzzy, no-wrap
msgid "guix import cran Cairo\n"
msgstr "guix import cran Cairo\n"

#. type: example
#: guix-git/doc/guix.texi:14420
#, fuzzy, no-wrap
msgid "guix import cran rasterVis@@0.50.3\n"
msgstr "guix import cran rasterVis@@0.50.3\n"

#. type: table
#: guix-git/doc/guix.texi:14425
#, fuzzy
msgid "When @option{--recursive} is added, the importer will traverse the dependency graph of the given upstream package recursively and generate package expressions for all those packages that are not yet in Guix."
msgstr "当添加 @option{--recursive} 时,导入器将递归遍历给定上游包的依赖图,并为所有尚未在 Guix 中的包生成包表达式。"

#. type: table
#: guix-git/doc/guix.texi:14432
#, fuzzy
msgid "When @option{--style=specification} is added, the importer will generate package definitions whose inputs are package specifications instead of references to package variables.  This is useful when generated package definitions are to be appended to existing user modules, as the list of used package modules need not be changed.  The default is @option{--style=variable}."
msgstr "当添加 @option{--style=specification} 时,导入器将生成包定义,其输入为包规范,而不是对包变量的引用。这在生成的包定义要附加到现有用户模块时非常有用,因为使用的包模块列表无需更改。默认值为 @option{--style=variable}。"

#. type: table
#: guix-git/doc/guix.texi:14436
#, fuzzy
msgid "When @option{--prefix=license:} is added, the importer will prefix license atoms with @code{license:}, allowing a prefixed import of @code{(guix licenses)}."
msgstr "当添加 @option{--prefix=license:} 时,导入器将使用 @code{license:} 前缀许可证原子,允许对 @code{(guix licenses)} 的前缀导入。"

#. type: table
#: guix-git/doc/guix.texi:14441
#, fuzzy
msgid "When @option{--archive=bioconductor} is added, metadata is imported from @uref{https://www.bioconductor.org/, Bioconductor}, a repository of R packages for the analysis and comprehension of high-throughput genomic data in bioinformatics."
msgstr "当添加 @option{--archive=bioconductor} 时,元数据将从 @uref{https://www.bioconductor.org/, Bioconductor} 导入,这是一个用于生物信息学中高通量基因组数据分析和理解的 R 包库。"

#. type: table
#: guix-git/doc/guix.texi:14444
#, fuzzy
msgid "Information is extracted from the @file{DESCRIPTION} file contained in the package archive."
msgstr "信息是从包归档中包含的 @file{DESCRIPTION} 文件中提取的。"

#. type: table
#: guix-git/doc/guix.texi:14446
#, fuzzy
msgid "The command below imports metadata for the GenomicRanges R package:"
msgstr "下面的命令导入 GenomicRanges R 包的元数据:"

#. type: example
#: guix-git/doc/guix.texi:14449
#, fuzzy, no-wrap
msgid "guix import cran --archive=bioconductor GenomicRanges\n"
msgstr "guix import cran --archive=bioconductor GenomicRanges\n"

#. type: table
#: guix-git/doc/guix.texi:14454
#, fuzzy
msgid "Finally, you can also import R packages that have not yet been published on CRAN or Bioconductor as long as they are in a git repository.  Use @option{--archive=git} followed by the URL of the git repository:"
msgstr "最后,您还可以导入尚未在 CRAN 或 Bioconductor 上发布的 R 包,只要它们在 git 存储库中。使用 @option{--archive=git} 后跟 git 存储库的 URL:"

#. type: example
#: guix-git/doc/guix.texi:14457
#, fuzzy, no-wrap
msgid "guix import cran --archive=git https://github.com/immunogenomics/harmony\n"
msgstr "guix import cran --archive=git https://github.com/immunogenomics/harmony\n"

#. type: item
#: guix-git/doc/guix.texi:14459
#, fuzzy, no-wrap
msgid "texlive"
msgstr "texlive"

#. type: cindex
#: guix-git/doc/guix.texi:14460
#, fuzzy, no-wrap
msgid "TeX Live"
msgstr "TeX Live"

#. type: cindex
#: guix-git/doc/guix.texi:14461
#, fuzzy, no-wrap
msgid "CTAN"
msgstr "CTAN"

#. type: table
#: guix-git/doc/guix.texi:14465
#, fuzzy
msgid "Import TeX package information from the TeX Live package database for TeX packages that are part of the @uref{https://www.tug.org/texlive/, TeX Live distribution}."
msgstr "从 TeX Live 包数据库导入 TeX 包的信息,这些包是 @uref{https://www.tug.org/texlive/, TeX Live 发行版} 的一部分。"

#. type: table
#: guix-git/doc/guix.texi:14472
#, fuzzy
msgid "Information about the package is obtained from the TeX Live package database, a plain text file that is included in the @code{texlive-scripts} package.  The source code is downloaded from possibly multiple locations in the SVN repository of the Tex Live project.  Note that therefore SVN must be installed and in @code{$PATH}; run @code{guix install subversion} if needed."
msgstr "有关该包的信息是从 TeX Live 包数据库获取的,该数据库是一个包含在 @code{texlive-scripts} 包中的纯文本文件。源代码可能从 TeX Live 项目的 SVN 存储库中的多个位置下载。请注意,因此必须安装 SVN 并在 @code{$PATH} 中;如有需要,请运行 @code{guix install subversion}。"

#. type: table
#: guix-git/doc/guix.texi:14474
#, fuzzy
msgid "The command below imports metadata for the @code{fontspec} TeX package:"
msgstr "下面的命令导入 @code{fontspec} TeX 包的元数据:"

#. type: example
#: guix-git/doc/guix.texi:14477
#, fuzzy, no-wrap
msgid "guix import texlive fontspec\n"
msgstr "guix import texlive fontspec\n"

#. type: table
#: guix-git/doc/guix.texi:14480 guix-git/doc/guix.texi:14678
#: guix-git/doc/guix.texi:14714 guix-git/doc/guix.texi:14747
#: guix-git/doc/guix.texi:14763 guix-git/doc/guix.texi:14783
#: guix-git/doc/guix.texi:14831 guix-git/doc/guix.texi:14868
#: guix-git/doc/guix.texi:14894
#, fuzzy
msgid "Additional options include:"
msgstr "额外的构建选项"

#. type: cindex
#: guix-git/doc/guix.texi:14490
#, fuzzy, no-wrap
msgid "JSON, import"
msgstr "JSON,导入"

#. type: table
#: guix-git/doc/guix.texi:14493
#, fuzzy
msgid "Import package metadata from a local JSON file.  Consider the following example package definition in JSON format:"
msgstr "从本地 JSON 文件导入包元数据。考虑以下 JSON 格式的示例包定义:"

#. type: example
#: guix-git/doc/guix.texi:14506
#, fuzzy, no-wrap
msgid ""
"@{\n"
"  \"name\": \"hello\",\n"
"  \"version\": \"2.10\",\n"
"  \"source\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n"
"  \"build-system\": \"gnu\",\n"
"  \"home-page\": \"https://www.gnu.org/software/hello/\",\n"
"  \"synopsis\": \"Hello, GNU world: An example GNU package\",\n"
"  \"description\": \"GNU Hello prints a greeting.\",\n"
"  \"license\": \"GPL-3.0+\",\n"
"  \"native-inputs\": [\"gettext\"]\n"
"@}\n"
msgstr ""
"@{\n"
"  \"name\": \"hello\",\n"
"  \"version\": \"2.10\",\n"
"  \"source\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n"
"  \"build-system\": \"gnu\",\n"
"  \"home-page\": \"https://www.gnu.org/software/hello/\",\n"
"  \"synopsis\": \"你好,GNU 世界:一个示例 GNU 包\",\n"
"  \"description\": \"GNU Hello 打印问候语。\",\n"
"  \"license\": \"GPL-3.0+\",\n"
"  \"native-inputs\": [\"gettext\"]\n"
"@}\n"

#. type: table
#: guix-git/doc/guix.texi:14512
#, fuzzy
msgid "The field names are the same as for the @code{<package>} record (@xref{Defining Packages}).  References to other packages are provided as JSON lists of quoted package specification strings such as @code{guile} or @code{guile@@2.0}."
msgstr "字段名称与 @code{<package>} 记录的名称相同 (@xref{Defining Packages})。对其他包的引用以 JSON 列表的形式提供,包含引用的包规范字符串,如 @code{guile} 或 @code{guile@@2.0}。"

#. type: table
#: guix-git/doc/guix.texi:14515
#, fuzzy
msgid "The importer also supports a more explicit source definition using the common fields for @code{<origin>} records:"
msgstr "导入器还支持使用 @code{<origin>} 记录的公共字段进行更明确的源定义:"

#. type: example
#: guix-git/doc/guix.texi:14528
#, fuzzy, no-wrap
msgid ""
"@{\n"
"  @dots{}\n"
"  \"source\": @{\n"
"    \"method\": \"url-fetch\",\n"
"    \"uri\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n"
"    \"sha256\": @{\n"
"      \"base32\": \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"\n"
"    @}\n"
"  @}\n"
"  @dots{}\n"
"@}\n"
msgstr ""
"@{\n"
"  @dots{}\n"
"  \"source\": @{\n"
"    \"method\": \"url-fetch\",\n"
"    \"uri\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n"
"    \"sha256\": @{\n"
"      \"base32\": \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"\n"
"    @}\n"
"  @}\n"
"  @dots{}\n"
"@}\n"

#. type: table
#: guix-git/doc/guix.texi:14532
#, fuzzy
msgid "The command below reads metadata from the JSON file @code{hello.json} and outputs a package expression:"
msgstr "下面的命令从 JSON 文件 @code{hello.json} 中读取元数据并输出一个包表达式:"

#. type: example
#: guix-git/doc/guix.texi:14535
#, fuzzy, no-wrap
msgid "guix import json hello.json\n"
msgstr "guix import json hello.json\n"

#. type: item
#: guix-git/doc/guix.texi:14537 guix-git/doc/guix.texi:14538
#: guix-git/doc/guix.texi:15154
#, fuzzy, no-wrap
msgid "hackage"
msgstr "hackage"

#. type: table
#: guix-git/doc/guix.texi:14543
#, fuzzy
msgid "Import metadata from the Haskell community's central package archive @uref{https://hackage.haskell.org/, Hackage}.  Information is taken from Cabal files and includes all the relevant information, including package dependencies."
msgstr "从 Haskell 社区的中央包存档 @uref{https://hackage.haskell.org/, Hackage} 导入元数据。信息来自 Cabal 文件,包括所有相关信息,包括包依赖关系。"

#. type: item
#: guix-git/doc/guix.texi:14547
#, fuzzy, no-wrap
msgid "--stdin"
msgstr "--stdin"

#. type: itemx
#: guix-git/doc/guix.texi:14548
#, fuzzy, no-wrap
msgid "-s"
msgstr "-s"

#. type: table
#: guix-git/doc/guix.texi:14550
#, fuzzy
msgid "Read a Cabal file from standard input."
msgstr "从标准输入读取 Cabal 文件。"

#. type: item
#: guix-git/doc/guix.texi:14550 guix-git/doc/guix.texi:14597
#, fuzzy, no-wrap
msgid "--no-test-dependencies"
msgstr "--no-test-dependencies"

#. type: table
#: guix-git/doc/guix.texi:14553 guix-git/doc/guix.texi:14600
#, fuzzy
msgid "Do not include dependencies required only by the test suites."
msgstr "不包括仅由测试套件所需的依赖项。"

#. type: item
#: guix-git/doc/guix.texi:14553
#, fuzzy, no-wrap
msgid "--cabal-environment=@var{alist}"
msgstr "--cabal-environment=@var{alist}"

#. type: itemx
#: guix-git/doc/guix.texi:14554
#, fuzzy, no-wrap
msgid "-e @var{alist}"
msgstr "-e @var{alist}"

#. type: table
#: guix-git/doc/guix.texi:14563
#, fuzzy
msgid "@var{alist} is a Scheme alist defining the environment in which the Cabal conditionals are evaluated.  The accepted keys are: @code{os}, @code{arch}, @code{impl} and a string representing the name of a flag.  The value associated with a flag has to be either the symbol @code{true} or @code{false}.  The value associated with other keys has to conform to the Cabal file format definition.  The default value associated with the keys @code{os}, @code{arch} and @code{impl} is @samp{linux}, @samp{x86_64} and @samp{ghc}, respectively."
msgstr "@var{alist} 是一个 Scheme alist,定义了评估 Cabal 条件的环境。接受的键有:@code{os}、@code{arch}、@code{impl} 和表示标志名称的字符串。与标志相关联的值必须是符号 @code{true} 或 @code{false}。与其他键相关联的值必须符合 Cabal 文件格式定义。与键 @code{os}、@code{arch} 和 @code{impl} 相关联的默认值分别是 @samp{linux}、@samp{x86_64} 和 @samp{ghc}。"

#. type: table
#: guix-git/doc/guix.texi:14573
#, fuzzy
msgid "The command below imports metadata for the latest version of the HTTP Haskell package without including test dependencies and specifying the value of the flag @samp{network-uri} as @code{false}:"
msgstr "下面的命令导入最新版本的 HTTP Haskell 包的元数据,不包括测试依赖项,并将标志 @samp{network-uri} 的值指定为 @code{false}:"

#. type: example
#: guix-git/doc/guix.texi:14576
#, fuzzy, no-wrap
msgid "guix import hackage -t -e \"'((\\\"network-uri\\\" . false))\" HTTP\n"
msgstr "guix import hackage -t -e \"'((\\\"network-uri\\\" . false))\" HTTP\n"

#. type: table
#: guix-git/doc/guix.texi:14580
#, fuzzy
msgid "A specific package version may optionally be specified by following the package name by an at-sign and a version number as in the following example:"
msgstr "可以选择通过在包名称后面跟一个@符号和一个版本号来指定特定的包版本,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:14583
#, fuzzy, no-wrap
msgid "guix import hackage mtl@@2.1.3.1\n"
msgstr "guix import hackage mtl@@2.1.3.1\n"

#. type: item
#: guix-git/doc/guix.texi:14585 guix-git/doc/guix.texi:14586
#: guix-git/doc/guix.texi:15156
#, fuzzy, no-wrap
msgid "stackage"
msgstr "stackage"

#. type: table
#: guix-git/doc/guix.texi:14593
#, fuzzy
msgid "The @code{stackage} importer is a wrapper around the @code{hackage} one.  It takes a package name, looks up the package version included in a long-term support (LTS) @uref{https://www.stackage.org, Stackage} release and uses the @code{hackage} importer to retrieve its metadata.  Note that it is up to you to select an LTS release compatible with the GHC compiler used by Guix."
msgstr "@code{stackage} 导入器是 @code{hackage} 导入器的一个封装。它接受一个包名称,查找包含在长期支持 (LTS) @uref{https://www.stackage.org, Stackage} 发布中的包版本,并使用 @code{hackage} 导入器来检索其元数据。请注意,选择与 Guix 使用的 GHC 编译器兼容的 LTS 发布是您的责任。"

#. type: item
#: guix-git/doc/guix.texi:14600
#, fuzzy, no-wrap
msgid "--lts-version=@var{version}"
msgstr "--lts-version=@var{version}"

#. type: itemx
#: guix-git/doc/guix.texi:14601
#, fuzzy, no-wrap
msgid "-l @var{version}"
msgstr "-l @var{version}"

#. type: table
#: guix-git/doc/guix.texi:14604
#, fuzzy
msgid "@var{version} is the desired LTS release version.  If omitted the latest release is used."
msgstr "@var{version} 是所需的 LTS 发布版本。如果省略,则使用最新发布。"

#. type: table
#: guix-git/doc/guix.texi:14613
#, fuzzy
msgid "The command below imports metadata for the HTTP Haskell package included in the LTS Stackage release version 7.18:"
msgstr "下面的命令导入 LTS Stackage 发布版本 7.18 中包含的 HTTP Haskell 包的元数据:"

#. type: example
#: guix-git/doc/guix.texi:14616
#, fuzzy, no-wrap
msgid "guix import stackage --lts-version=7.18 HTTP\n"
msgstr "guix import stackage --lts-version=7.18 HTTP\n"

#. type: item
#: guix-git/doc/guix.texi:14618 guix-git/doc/guix.texi:14619
#: guix-git/doc/guix.texi:15140
#, fuzzy, no-wrap
msgid "elpa"
msgstr "elpa"

#. type: table
#: guix-git/doc/guix.texi:14622
#, fuzzy
msgid "Import metadata from an Emacs Lisp Package Archive (ELPA) package repository (@pxref{Packages,,, emacs, The GNU Emacs Manual})."
msgstr "从 Emacs Lisp 包存档 (ELPA) 包存储库导入元数据 (@pxref{Packages,,, emacs, The GNU Emacs Manual})。"

#. type: item
#: guix-git/doc/guix.texi:14626
#, fuzzy, no-wrap
msgid "--archive=@var{repo}"
msgstr "--archive=@var{repo}"

#. type: itemx
#: guix-git/doc/guix.texi:14627
#, fuzzy, no-wrap
msgid "-a @var{repo}"
msgstr "-a @var{repo}"

#. type: table
#: guix-git/doc/guix.texi:14631
#, fuzzy
msgid "@var{repo} identifies the archive repository from which to retrieve the information.  Currently the supported repositories and their identifiers are:"
msgstr "@var{repo} 标识要从中检索信息的存档存储库。目前支持的存储库及其标识符如下:"

#. type: itemize
#: guix-git/doc/guix.texi:14635
#, fuzzy
msgid "@uref{https://elpa.gnu.org/packages, GNU}, selected by the @code{gnu} identifier.  This is the default."
msgstr "@uref{https://elpa.gnu.org/packages, GNU},由 @code{gnu} 标识符选择。这是默认值。"

#. type: itemize
#: guix-git/doc/guix.texi:14641
#, fuzzy
msgid "Packages from @code{elpa.gnu.org} are signed with one of the keys contained in the GnuPG keyring at @file{share/emacs/25.1/etc/package-keyring.gpg} (or similar) in the @code{emacs} package (@pxref{Package Installation, ELPA package signatures,, emacs, The GNU Emacs Manual})."
msgstr "来自 @code{elpa.gnu.org} 的包使用包含在 @file{share/emacs/25.1/etc/package-keyring.gpg}(或类似位置)的 GnuPG 密钥环中的一个密钥进行签名,位于 @code{emacs} 包中 (@pxref{Package Installation, ELPA package signatures,, emacs, The GNU Emacs Manual})。"

#. type: itemize
#: guix-git/doc/guix.texi:14645
#, fuzzy
msgid "@uref{https://elpa.nongnu.org/nongnu/, NonGNU}, selected by the @code{nongnu} identifier."
msgstr "@uref{https://elpa.nongnu.org/nongnu/, NonGNU},由 @code{nongnu} 标识符选择。"

#. type: itemize
#: guix-git/doc/guix.texi:14649
#, fuzzy
msgid "@uref{https://stable.melpa.org/packages, MELPA-Stable}, selected by the @code{melpa-stable} identifier."
msgstr "@uref{https://stable.melpa.org/packages, MELPA-Stable},由 @code{melpa-stable} 标识符选择。"

#. type: itemize
#: guix-git/doc/guix.texi:14653
#, fuzzy
msgid "@uref{https://melpa.org/packages, MELPA}, selected by the @code{melpa} identifier."
msgstr "@uref{https://melpa.org/packages, MELPA},由 @code{melpa} 标识符选择。"

#. type: item
#: guix-git/doc/guix.texi:14662 guix-git/doc/guix.texi:14663
#: guix-git/doc/guix.texi:15158
#, fuzzy, no-wrap
msgid "crate"
msgstr "crate"

#. type: table
#: guix-git/doc/guix.texi:14666
#, fuzzy
msgid "Import metadata from the crates.io Rust package repository @uref{https://crates.io, crates.io}, as in this example:"
msgstr "从 crates.io Rust 包存储库 @uref{https://crates.io, crates.io} 导入元数据,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:14669
#, fuzzy, no-wrap
msgid "guix import crate blake2-rfc\n"
msgstr "guix 导入 crate blake2-rfc\n"

#. type: table
#: guix-git/doc/guix.texi:14672
#, fuzzy
msgid "The crate importer also allows you to specify a version string:"
msgstr "crate 导入器还允许您指定版本字符串:"

#. type: example
#: guix-git/doc/guix.texi:14675
#, fuzzy, no-wrap
msgid "guix import crate constant-time-eq@@0.1.0\n"
msgstr "guix 导入 crate constant-time-eq@@0.1.0\n"

#. type: item
#: guix-git/doc/guix.texi:14685
#, fuzzy, no-wrap
msgid "--recursive-dev-dependencies"
msgstr "--recursive-dev-dependencies"

#. type: table
#: guix-git/doc/guix.texi:14689
#, fuzzy
msgid "If @option{--recursive-dev-dependencies} is specified, also the recursively imported packages contain their development dependencies, which are recursively imported as well."
msgstr "如果指定了 @option{--recursive-dev-dependencies},则递归导入的包也包含它们的开发依赖项,这些依赖项也会被递归导入。"

#. type: item
#: guix-git/doc/guix.texi:14689
#, fuzzy, no-wrap
msgid "--allow-yanked"
msgstr "--allow-yanked"

#. type: table
#: guix-git/doc/guix.texi:14692
#, fuzzy
msgid "If no non-yanked version of a crate is available, use the latest yanked version instead instead of aborting."
msgstr "如果没有可用的非 yanked 版本的 crate,则使用最新的 yanked 版本,而不是中止。"

#. type: item
#: guix-git/doc/guix.texi:14692
#, fuzzy, no-wrap
msgid "--mark-missing"
msgstr "--missing"

#. type: table
#: guix-git/doc/guix.texi:14696
msgid "If a crate dependency is not (yet) packaged, make the corresponding input in @code{#:cargo-inputs} or @code{#:cargo-development-inputs} into a comment."
msgstr ""

#. type: cindex
#: guix-git/doc/guix.texi:14698 guix-git/doc/guix.texi:14699
#, fuzzy, no-wrap
msgid "elm"
msgstr "elm"

#. type: table
#: guix-git/doc/guix.texi:14702
#, fuzzy
msgid "Import metadata from the Elm package repository @uref{https://package.elm-lang.org, package.elm-lang.org}, as in this example:"
msgstr "从 Elm 包存储库 @uref{https://package.elm-lang.org, package.elm-lang.org} 导入元数据,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:14705
#, fuzzy, no-wrap
msgid "guix import elm elm-explorations/webgl\n"
msgstr "guix 导入 elm elm-explorations/webgl\n"

#. type: table
#: guix-git/doc/guix.texi:14708
#, fuzzy
msgid "The Elm importer also allows you to specify a version string:"
msgstr "Elm 导入器还允许您指定版本字符串:"

#. type: example
#: guix-git/doc/guix.texi:14711
#, fuzzy, no-wrap
msgid "guix import elm elm-explorations/webgl@@1.1.3\n"
msgstr "guix 导入 elm elm-explorations/webgl@@1.1.3\n"

#. type: item
#: guix-git/doc/guix.texi:14723
#, fuzzy, no-wrap
msgid "npm-binary"
msgstr "npm-binary"

#. type: cindex
#: guix-git/doc/guix.texi:14724
#, fuzzy, no-wrap
msgid "npm"
msgstr "npm"

#. type: cindex
#: guix-git/doc/guix.texi:14725
#, fuzzy, no-wrap
msgid "Node.js"
msgstr "Node.js"

#. type: table
#: guix-git/doc/guix.texi:14728
#, fuzzy
msgid "Import metadata from the @uref{https://registry.npmjs.org, npm Registry}, as in this example:"
msgstr "从 @uref{https://registry.npmjs.org, npm Registry} 导入元数据,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:14731
#, fuzzy, no-wrap
msgid "guix import npm-binary buffer-crc32\n"
msgstr "guix 导入 npm-binary buffer-crc32\n"

#. type: table
#: guix-git/doc/guix.texi:14734
#, fuzzy
msgid "The npm-binary importer also allows you to specify a version string:"
msgstr "npm-binary 导入器还允许您指定版本字符串:"

#. type: example
#: guix-git/doc/guix.texi:14737
#, fuzzy, no-wrap
msgid "guix import npm-binary buffer-crc32@@1.0.0\n"
msgstr "guix 导入 npm-binary buffer-crc32@@1.0.0\n"

#. type: quotation
#: guix-git/doc/guix.texi:14744
#, fuzzy
msgid "Generated package expressions skip the build step of the @code{node-build-system}. As such, generated package expressions often refer to transpiled or generated files, instead of being built from source."
msgstr "生成的包表达式跳过 @code{node-build-system} 的构建步骤。因此,生成的包表达式通常引用转译或生成的文件,而不是从源代码构建。"

#. type: item
#: guix-git/doc/guix.texi:14756
#, fuzzy, no-wrap
msgid "opam"
msgstr "opam"

#. type: cindex
#: guix-git/doc/guix.texi:14757
#, fuzzy, no-wrap
msgid "OPAM"
msgstr "OPAM"

#. type: cindex
#: guix-git/doc/guix.texi:14758
#, fuzzy, no-wrap
msgid "OCaml"
msgstr "OCaml"

#. type: table
#: guix-git/doc/guix.texi:14761
#, fuzzy
msgid "Import metadata from the @uref{https://opam.ocaml.org/, OPAM} package repository used by the OCaml community."
msgstr "从 @uref{https://opam.ocaml.org/, OPAM} 包存储库导入元数据,该存储库由 OCaml 社区使用。"

#. type: item
#: guix-git/doc/guix.texi:14772
#, fuzzy, no-wrap
msgid "composer"
msgstr "composer"

#. type: cindex
#: guix-git/doc/guix.texi:14773
#, fuzzy, no-wrap
msgid "Composer"
msgstr "Composer"

#. type: cindex
#: guix-git/doc/guix.texi:14774
#, fuzzy, no-wrap
msgid "PHP"
msgstr "PHP"

#. type: table
#: guix-git/doc/guix.texi:14777
#, fuzzy
msgid "Import metadata from the @uref{https://getcomposer.org/, Composer} package archive used by the PHP community, as in this example:"
msgstr "从 @uref{https://getcomposer.org/, Composer} 包档案导入元数据,该档案由 PHP 社区使用,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:14780
#, fuzzy, no-wrap
msgid "guix import composer phpunit/phpunit\n"
msgstr "guix 导入 composer phpunit/phpunit\n"

#. type: item
#: guix-git/doc/guix.texi:14790
#, fuzzy, no-wrap
msgid "--repo"
msgstr "--repo"

#. type: table
#: guix-git/doc/guix.texi:14794
#, fuzzy
msgid "By default, packages are searched in the official OPAM repository.  This option, which can be used more than once, lets you add other repositories which will be searched for packages.  It accepts as valid arguments:"
msgstr "默认情况下,包在官方 OPAM 存储库中搜索。此选项可以多次使用,允许您添加其他存储库,这些存储库将被搜索以查找包。它接受有效参数:"

#. type: item
#: guix-git/doc/guix.texi:14796
#, fuzzy, no-wrap
msgid "the name of a known repository - can be one of @code{opam},"
msgstr "已知存储库的名称 - 可以是 @code{opam},"

#. type: itemize
#: guix-git/doc/guix.texi:14799
#, fuzzy
msgid "@code{coq} (equivalent to @code{coq-released}), @code{coq-core-dev}, @code{coq-extra-dev} or @code{grew}."
msgstr "@code{coq}(等同于 @code{coq-released})、@code{coq-core-dev}、@code{coq-extra-dev} 或 @code{grew}。"

#. type: item
#: guix-git/doc/guix.texi:14799
#, fuzzy, no-wrap
msgid "the URL of a repository as expected by the"
msgstr "存储库的 URL,如"

#. type: itemize
#: guix-git/doc/guix.texi:14803
#, fuzzy
msgid "@code{opam repository add} command (for instance, the URL equivalent of the above @code{opam} name would be @uref{https://opam.ocaml.org})."
msgstr "@code{opam repository add} 命令所期望的那样(例如,上述 @code{opam} 名称的 URL 等效项将是 @uref{https://opam.ocaml.org})。"

#. type: item
#: guix-git/doc/guix.texi:14803
#, fuzzy, no-wrap
msgid "the path to a local copy of a repository (a directory containing a"
msgstr "本地副本的存储库路径(一个目录,包含一个"

#. type: itemize
#: guix-git/doc/guix.texi:14805
#, fuzzy
msgid "@file{packages/} sub-directory)."
msgstr "@file{packages/} 子目录)。"

#. type: table
#: guix-git/doc/guix.texi:14810
#, fuzzy
msgid "Repositories are assumed to be passed to this option by order of preference.  The additional repositories will not replace the default @code{opam} repository, which is always kept as a fallback."
msgstr "假设以优先顺序将存储库传递给此选项。额外的存储库不会替换默认的 @code{opam} 存储库,该存储库始终作为后备保留。"

#. type: table
#: guix-git/doc/guix.texi:14815
#, fuzzy
msgid "Also, please note that versions are not compared across repositories.  The first repository (from left to right) that has at least one version of a given package will prevail over any others, and the version imported will be the latest one found @emph{in this repository only}."
msgstr "此外,请注意,版本不会在存储库之间进行比较。 第一个存储库(从左到右)中至少有一个给定包的版本将优先于其他存储库,导入的版本将是 @emph{仅在此存储库中} 找到的最新版本。"

#. type: cindex
#: guix-git/doc/guix.texi:14818 guix-git/doc/guix.texi:14819
#, fuzzy, no-wrap
msgid "go"
msgstr "去"

#. type: table
#: guix-git/doc/guix.texi:14822
#, fuzzy
msgid "Import metadata for a Go module using @uref{https://proxy.golang.org, proxy.golang.org}."
msgstr "使用 @uref{https://proxy.golang.org, proxy.golang.org} 导入 Go 模块的元数据。"

#. type: example
#: guix-git/doc/guix.texi:14825
#, fuzzy, no-wrap
msgid "guix import go gopkg.in/yaml.v2\n"
msgstr "guix import go gopkg.in/yaml.v2\n"

#. type: table
#: guix-git/doc/guix.texi:14829
#, fuzzy
msgid "It is possible to use a package specification with a @code{@@VERSION} suffix to import a specific version."
msgstr "可以使用带有 @code{@@VERSION} 后缀的包规范来导入特定版本。"

#. type: item
#: guix-git/doc/guix.texi:14838
#, fuzzy, no-wrap
msgid "--pin-versions"
msgstr "--pin-versions"

#. type: table
#: guix-git/doc/guix.texi:14846
#, fuzzy
msgid "When using this option, the importer preserves the exact versions of the Go modules dependencies instead of using their latest available versions.  This can be useful when attempting to import packages that recursively depend on former versions of themselves to build.  When using this mode, the symbol of the package is made by appending the version to its name, so that multiple versions of the same package can coexist."
msgstr "使用此选项时,导入程序会保留 Go 模块依赖项的确切版本,而不是使用它们最新可用的版本。 当尝试导入递归依赖于自身的早期版本以进行构建的包时,这可能会很有用。 使用此模式时,包的符号通过将版本附加到其名称来生成,以便同一包的多个版本可以共存。"

#. type: item
#: guix-git/doc/guix.texi:14848 guix-git/doc/guix.texi:14849
#: guix-git/doc/guix.texi:15138
#, fuzzy, no-wrap
msgid "egg"
msgstr "蛋"

#. type: table
#: guix-git/doc/guix.texi:14856
#, fuzzy
msgid "Import metadata for @uref{https://wiki.call-cc.org/eggs, CHICKEN eggs}.  The information is taken from @file{PACKAGE.egg} files found in the @uref{git://code.call-cc.org/eggs-5-all, eggs-5-all} Git repository.  However, it does not provide all the information that we need, there is no ``description'' field, and the licenses used are not always precise (BSD is often used instead of BSD-N)."
msgstr "导入 @uref{https://wiki.call-cc.org/eggs, CHICKEN 蛋} 的元数据。 信息来自 @file{PACKAGE.egg} 文件,这些文件在 @uref{git://code.call-cc.org/eggs-5-all, eggs-5-all} Git 存储库中找到。 但是,它并未提供我们所需的所有信息,没有“描述”字段,并且使用的许可证并不总是准确(通常使用 BSD 而不是 BSD-N)。"

#. type: example
#: guix-git/doc/guix.texi:14859
#, fuzzy, no-wrap
msgid "guix import egg sourcehut\n"
msgstr "guix import egg sourcehut\n"

#. type: example
#: guix-git/doc/guix.texi:14865
#, fuzzy, no-wrap
msgid "guix import egg arrays@@1.0\n"
msgstr "guix import egg arrays@@1.0\n"

#. type: cindex
#: guix-git/doc/guix.texi:14876 guix-git/doc/guix.texi:14877
#, fuzzy, no-wrap
msgid "hexpm"
msgstr "hexpm"

#. type: table
#: guix-git/doc/guix.texi:14880
#, fuzzy
msgid "Import metadata from the hex.pm Erlang and Elixir package repository @uref{https://hex.pm, hex.pm}, as in this example:"
msgstr "从 hex.pm Erlang 和 Elixir 包存储库 @uref{https://hex.pm, hex.pm} 导入元数据,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:14883
#, fuzzy, no-wrap
msgid "guix import hexpm stun\n"
msgstr "guix import hexpm stun\n"

#. type: table
#: guix-git/doc/guix.texi:14886
#, fuzzy
msgid "The importer tries to determine the build system used by the package."
msgstr "导入程序尝试确定包使用的构建系统。"

#. type: table
#: guix-git/doc/guix.texi:14888
#, fuzzy
msgid "The hexpm importer also allows you to specify a version string:"
msgstr "hexpm 导入程序还允许您指定版本字符串:"

#. type: example
#: guix-git/doc/guix.texi:14891
#, fuzzy, no-wrap
msgid "guix import hexpm cf@@0.3.0\n"
msgstr "guix import hexpm cf@@0.3.0\n"

#. type: Plain text
#: guix-git/doc/guix.texi:14907
#, fuzzy
msgid "The structure of the @command{guix import} code is modular.  It would be useful to have more importers for other package formats, and your help is welcome here (@pxref{Contributing})."
msgstr "@command{guix import} 代码的结构是模块化的。 拥有更多其他包格式的导入程序将是有用的,欢迎您的帮助(@pxref{Contributing})。"

#. type: section
#: guix-git/doc/guix.texi:14909
#, fuzzy, no-wrap
msgid "Invoking @command{guix refresh}"
msgstr "调用 @command{guix refresh}"

#. type: command{#1}
#: guix-git/doc/guix.texi:14911
#, fuzzy, no-wrap
msgid "guix refresh"
msgstr "guix refresh"

#. type: Plain text
#: guix-git/doc/guix.texi:14919
#, fuzzy
msgid "The primary audience of the @command{guix refresh} command is packagers.  As a user, you may be interested in the @option{--with-latest} option, which can bring you package update superpowers built upon @command{guix refresh} (@pxref{Package Transformation Options, @option{--with-latest}}).  By default, @command{guix refresh} reports any packages provided by the distribution that are outdated compared to the latest upstream version, like this:"
msgstr "@command{guix refresh} 命令的主要受众是打包者。作为用户,您可能会对 @option{--with-latest} 选项感兴趣,该选项可以为您带来基于 @command{guix refresh} 的软件包更新超级能力 (@pxref{Package Transformation Options, @option{--with-latest}})。默认情况下,@command{guix refresh} 会报告任何与最新上游版本相比过时的分发提供的软件包,如下所示:"

#. type: example
#: guix-git/doc/guix.texi:14924
#, fuzzy, no-wrap
msgid ""
"$ guix refresh\n"
"gnu/packages/gettext.scm:29:13: gettext would be upgraded from 0.18.1.1 to 0.18.2.1\n"
"gnu/packages/glib.scm:77:12: glib would be upgraded from 2.34.3 to 2.37.0\n"
msgstr ""
"$ guix refresh\n"
"gnu/packages/gettext.scm:29:13: gettext 将从 0.18.1.1 升级到 0.18.2.1\n"
"gnu/packages/glib.scm:77:12: glib 将从 2.34.3 升级到 2.37.0\n"

#. type: Plain text
#: guix-git/doc/guix.texi:14928
#, fuzzy
msgid "Alternatively, one can specify packages to consider, in which case a warning is emitted for packages that lack an updater:"
msgstr "或者,可以指定要考虑的软件包,在这种情况下,对于缺少更新器的软件包会发出警告:"

#. type: example
#: guix-git/doc/guix.texi:14933
#, fuzzy, no-wrap
msgid ""
"$ guix refresh coreutils guile guile-ssh\n"
"gnu/packages/ssh.scm:205:2: warning: no updater for guile-ssh\n"
"gnu/packages/guile.scm:136:12: guile would be upgraded from 2.0.12 to 2.0.13\n"
msgstr ""
"$ guix refresh coreutils guile guile-ssh\n"
"gnu/packages/ssh.scm:205:2: 警告:没有 guile-ssh 的更新器\n"
"gnu/packages/guile.scm:136:12: guile 将从 2.0.12 升级到 2.0.13\n"

#. type: Plain text
#: guix-git/doc/guix.texi:14942
#, fuzzy
msgid "@command{guix refresh} browses the upstream repository of each package and determines the highest version number of the releases therein.  The command knows how to update specific types of packages: GNU packages, ELPA packages, etc.---see the documentation for @option{--type} below.  There are many packages, though, for which it lacks a method to determine whether a new upstream release is available.  However, the mechanism is extensible, so feel free to get in touch with us to add a new method!"
msgstr "@command{guix refresh} 浏览每个软件包的上游仓库,并确定其中发布的最高版本号。该命令知道如何更新特定类型的软件包:GNU 软件包、ELPA 软件包等——请参阅下面的 @option{--type} 文档。然而,有许多软件包,它缺乏确定是否有新上游发布的方法。不过,该机制是可扩展的,因此请随时与我们联系以添加新方法!"

#. type: table
#: guix-git/doc/guix.texi:14947
#, fuzzy
msgid "Consider the packages specified, and all the packages upon which they depend."
msgstr "考虑指定的软件包,以及它们所依赖的所有软件包。"

#. type: example
#: guix-git/doc/guix.texi:14955
#, fuzzy, no-wrap
msgid ""
"$ guix refresh --recursive coreutils\n"
"gnu/packages/acl.scm:40:13: acl would be upgraded from 2.2.53 to 2.3.1\n"
"gnu/packages/m4.scm:30:12: 1.4.18 is already the latest version of m4\n"
"gnu/packages/xml.scm:68:2: warning: no updater for expat\n"
"gnu/packages/multiprecision.scm:40:12: 6.1.2 is already the latest version of gmp\n"
"@dots{}\n"
msgstr ""
"$ guix refresh --recursive coreutils\n"
"gnu/packages/acl.scm:40:13: acl 将从 2.2.53 升级到 2.3.1\n"
"gnu/packages/m4.scm:30:12: 1.4.18 已经是 m4 的最新版本\n"
"gnu/packages/xml.scm:68:2: 警告:没有 expat 的更新器\n"
"gnu/packages/multiprecision.scm:40:12: 6.1.2 已经是 gmp 的最新版本\n"
"@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:14964
#, fuzzy
msgid "If for some reason you don't want to update to the latest version, you can update to a specific version by appending an equal sign and the desired version number to the package specification.  Note that not all updaters support this; an error is reported when an updater cannot refresh to the specified version."
msgstr "如果由于某种原因您不想更新到最新版本,可以通过在软件包规范后附加等号和所需版本号来更新到特定版本。请注意,并非所有更新器都支持此功能;当更新器无法刷新到指定版本时,会报告错误。"

#. type: example
#: guix-git/doc/guix.texi:14976
#, fuzzy, no-wrap
msgid ""
"$ guix refresh trytond-party\n"
"gnu/packages/guile.scm:392:2: guile would be upgraded from 3.0.3 to 3.0.5\n"
"$ guix refresh -u guile=3.0.4\n"
"@dots{}\n"
"gnu/packages/guile.scm:392:2: guile: updating from version 3.0.3 to version 3.0.4...\n"
"@dots{}\n"
"$ guix refresh -u guile@@2.0=2.0.12\n"
"@dots{}\n"
"gnu/packages/guile.scm:147:2: guile: updating from version 2.0.10 to version 2.0.12...\n"
"@dots{}\n"
msgstr ""
"$ guix refresh trytond-party\n"
"gnu/packages/guile.scm:392:2: guile 将从 3.0.3 升级到 3.0.5\n"
"$ guix refresh -u guile=3.0.4\n"
"@dots{}\n"
"gnu/packages/guile.scm:392:2: guile: 正在从版本 3.0.3 更新到版本 3.0.4...\n"
"@dots{}\n"
"$ guix refresh -u guile@@2.0=2.0.12\n"
"@dots{}\n"
"gnu/packages/guile.scm:147:2: guile: 正在从版本 2.0.10 更新到版本 2.0.12...\n"
"@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:14982
#, fuzzy
msgid "In some specific cases, you may have many packages specified via a manifest or a module selection which should all be updated together; for these cases, the @option{--target-version} option can be provided to have them all refreshed to the same version, as shown in the examples below:"
msgstr "在某些特定情况下,您可能通过清单或模块选择指定了许多包,这些包都应该一起更新;对于这些情况,可以提供 @option{--target-version} 选项,以便将它们全部刷新到相同的版本,如下面的示例所示:"

#. type: example
#: guix-git/doc/guix.texi:14987
#, fuzzy, no-wrap
msgid ""
"$ guix refresh qtbase qtdeclarative --target-version=6.5.2\n"
"gnu/packages/qt.scm:1248:13: qtdeclarative would be upgraded from 6.3.2 to 6.5.2\n"
"gnu/packages/qt.scm:584:2: qtbase would be upgraded from 6.3.2 to 6.5.2\n"
msgstr ""
"$ guix refresh qtbase qtdeclarative --target-version=6.5.2\n"
"gnu/packages/qt.scm:1248:13: qtdeclarative 将从 6.3.2 升级到 6.5.2\n"
"gnu/packages/qt.scm:584:2: qtbase 将从 6.3.2 升级到 6.5.2\n"

#. type: example
#: guix-git/doc/guix.texi:14996
#, fuzzy, no-wrap
msgid ""
"$ guix refresh --manifest=qt5-manifest.scm --target-version=5.15.10\n"
"gnu/packages/qt.scm:1173:13: qtxmlpatterns would be upgraded from 5.15.8 to 5.15.10\n"
"gnu/packages/qt.scm:1202:13: qtdeclarative would be upgraded from 5.15.8 to 5.15.10\n"
"gnu/packages/qt.scm:1762:13: qtserialbus would be upgraded from 5.15.8 to 5.15.10\n"
"gnu/packages/qt.scm:2070:13: qtquickcontrols2 would be upgraded from 5.15.8 to 5.15.10\n"
"@dots{}\n"
msgstr ""
"$ guix refresh --manifest=qt5-manifest.scm --target-version=5.15.10\n"
"gnu/packages/qt.scm:1173:13: qtxmlpatterns 将从 5.15.8 升级到 5.15.10\n"
"gnu/packages/qt.scm:1202:13: qtdeclarative 将从 5.15.8 升级到 5.15.10\n"
"gnu/packages/qt.scm:1762:13: qtserialbus 将从 5.15.8 升级到 5.15.10\n"
"gnu/packages/qt.scm:2070:13: qtquickcontrols2 将从 5.15.8 升级到 5.15.10\n"
"@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15002
#, fuzzy
msgid "Sometimes the upstream name differs from the package name used in Guix, and @command{guix refresh} needs a little help.  Most updaters honor the @code{upstream-name} property in package definitions, which can be used to that effect:"
msgstr "有时,上游名称与 Guix 中使用的包名称不同,@command{guix refresh} 需要一点帮助。大多数更新程序会尊重包定义中的 @code{upstream-name} 属性,这可以用于此目的:"

#. type: lisp
#: guix-git/doc/guix.texi:15009
#, fuzzy, no-wrap
msgid ""
"(define-public network-manager\n"
"  (package\n"
"    (name \"network-manager\")\n"
"    ;; @dots{}\n"
"    (properties '((upstream-name . \"NetworkManager\")))))\n"
msgstr ""
"(define-public network-manager\n"
"  (package\n"
"    (name \"network-manager\")\n"
"    ;; @dots{}\n"
"    (properties '((upstream-name . \"NetworkManager\")))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15019
#, fuzzy
msgid "When passed @option{--update}, it modifies distribution source files to update the version numbers and source code hashes of those package definitions, as well as possibly their inputs (@pxref{Defining Packages}).  This is achieved by downloading each package's latest source tarball and its associated OpenPGP signature, authenticating the downloaded tarball against its signature using @command{gpgv}, and finally computing its hash---note that GnuPG must be installed and in @code{$PATH}; run @code{guix install gnupg} if needed."
msgstr "当传递 @option{--update} 时,它会修改发行版源文件,以更新这些包定义的版本号和源代码哈希,以及可能的输入 (@pxref{Defining Packages})。这通过下载每个包的最新源 tarball 及其相关的 OpenPGP 签名来实现,使用 @command{gpgv} 对下载的 tarball 进行签名验证,最后计算其哈希——请注意,必须安装 GnuPG 并在 @code{$PATH} 中;如有需要,请运行 @code{guix install gnupg}。"

#. type: Plain text
#: guix-git/doc/guix.texi:15025
#, fuzzy
msgid "When the public key used to sign the tarball is missing from the user's keyring, an attempt is made to automatically retrieve it from a public key server; when this is successful, the key is added to the user's keyring; otherwise, @command{guix refresh} reports an error."
msgstr "当用于签署 tarball 的公钥在用户的密钥环中缺失时,将尝试从公钥服务器自动检索它;当成功时,该密钥将被添加到用户的密钥环中;否则,@command{guix refresh} 将报告错误。"

#. type: Plain text
#: guix-git/doc/guix.texi:15027
#, fuzzy
msgid "The following options are supported:"
msgstr "支持以下选项:"

#. type: table
#: guix-git/doc/guix.texi:15035 guix-git/doc/guix.texi:16152
#, fuzzy
msgid "This is useful to precisely refer to a package, as in this example:"
msgstr "这对于精确引用一个包是有用的,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:15038
#, fuzzy, no-wrap
msgid "guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'\n"
msgstr "guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'\n"

#. type: table
#: guix-git/doc/guix.texi:15042
#, fuzzy
msgid "This command lists the dependents of the ``final'' libc (essentially all the packages)."
msgstr "此命令列出 ``final'' libc 的依赖项(基本上是所有包)。"

#. type: table
#: guix-git/doc/guix.texi:15048
#, fuzzy
msgid "Update distribution source files (package definitions) in place.  This is usually run from a checkout of the Guix source tree (@pxref{Running Guix Before It Is Installed}):"
msgstr "在原地更新分发源文件(包定义)。这通常在 Guix 源代码树的检出目录中运行(@pxref{Running Guix Before It Is Installed}):"

#. type: example
#: guix-git/doc/guix.texi:15051
#, fuzzy, no-wrap
msgid "./pre-inst-env guix refresh -s non-core -u\n"
msgstr "./pre-inst-env guix build gnew --keep-failed\n"

#. type: table
#: guix-git/doc/guix.texi:15055
#, fuzzy
msgid "@xref{Defining Packages}, for more information on package definitions.  You can also run it on packages from a third-party channel:"
msgstr "@xref{Defining Packages},有关包定义的更多信息。您还可以在来自第三方频道的包上运行它:"

#. type: example
#: guix-git/doc/guix.texi:15058
#, fuzzy, no-wrap
msgid "guix refresh -L /path/to/channel -u @var{package}\n"
msgstr "guix install emacs-guix\n"

#. type: table
#: guix-git/doc/guix.texi:15061
#, fuzzy
msgid "@xref{Creating a Channel}, on how to create a channel."
msgstr "@xref{Creating a Channel},关于如何创建频道。"

#. type: table
#: guix-git/doc/guix.texi:15067
#, fuzzy
msgid "This command updates the version and source code hash of the package.  Depending on the updater being used, it can also update the various @samp{inputs} fields of the package.  In some cases, the updater might get inputs wrong---it might not know about an extra input that's necessary, or it might add an input that should be avoided."
msgstr "此命令更新包的版本和源代码哈希。根据使用的更新程序,它还可以更新包的各种 @samp{inputs} 字段。在某些情况下,更新程序可能会错误地获取输入——它可能不知道某个额外输入是必要的,或者它可能添加了一个应该避免的输入。"

#. type: cindex
#: guix-git/doc/guix.texi:15068
#, fuzzy, no-wrap
msgid "@code{updater-extra-inputs}, package property"
msgstr "@code{updater-extra-inputs},包属性"

#. type: cindex
#: guix-git/doc/guix.texi:15069
#, fuzzy, no-wrap
msgid "@code{updater-ignored-inputs}, package property"
msgstr "@code{updater-ignored-inputs},包属性"

#. type: table
#: guix-git/doc/guix.texi:15077
#, fuzzy
msgid "To address that, packagers can add properties stating inputs that should be added to those found by the updater or inputs that should be ignored: the @code{updater-extra-inputs} and @code{updater-ignored-inputs} properties pertain to ``regular'' inputs, and there are equivalent properties for @samp{native} and @samp{propagated} inputs.  In the example below, we tell the updater that we need @samp{openmpi} as an additional input:"
msgstr "为了解决这个问题,打包者可以添加属性,说明应该添加到更新程序找到的输入或应该被忽略的输入:@code{updater-extra-inputs} 和 @code{updater-ignored-inputs} 属性与 ``常规'' 输入相关,并且还有相应的 @samp{native} 和 @samp{propagated} 输入的属性。在下面的示例中,我们告诉更新程序我们需要 @samp{openmpi} 作为额外输入:"

#. type: lisp
#: guix-git/doc/guix.texi:15086
#, fuzzy, no-wrap
msgid ""
"(define-public python-mpi4py\n"
"  (package\n"
"    (name \"python-mpi4py\")\n"
"    ;; @dots{}\n"
"    (inputs (list openmpi))\n"
"    (properties\n"
"     '((updater-extra-inputs . (\"openmpi\"))))))\n"
msgstr ""
"(define-public python-mpi4py\n"
"  (package\n"
"    (name \"python-mpi4py\")\n"
"    ;; @dots{}\n"
"    (inputs (list openmpi))\n"
"    (properties\n"
"     '((updater-extra-inputs . (\"openmpi\"))))))\n"

#. type: table
#: guix-git/doc/guix.texi:15091
#, fuzzy
msgid "That way, @command{guix refresh -u python-mpi4py} will leave the @samp{openmpi} input, even if it is not among the inputs it would normally add."
msgstr "这样,@command{guix refresh -u python-mpi4py} 将保留 @samp{openmpi} 输入,即使它不在通常会添加的输入中。"

#. type: item
#: guix-git/doc/guix.texi:15092
#, fuzzy, no-wrap
msgid "--select=[@var{subset}]"
msgstr "--select=[@var{subset}]"

#. type: itemx
#: guix-git/doc/guix.texi:15093
#, fuzzy, no-wrap
msgid "-s @var{subset}"
msgstr "-s @var{subset}"

#. type: table
#: guix-git/doc/guix.texi:15096
#, fuzzy
msgid "Select all the packages in @var{subset}, one of @code{core}, @code{non-core} or @code{module:@var{name}}."
msgstr "选择 @var{subset} 中的所有软件包,@code{core}、@code{non-core} 或 @code{module:@var{name}} 之一。"

#. type: table
#: guix-git/doc/guix.texi:15103
#, fuzzy
msgid "The @code{core} subset refers to all the packages at the core of the distribution---i.e., packages that are used to build ``everything else''.  This includes GCC, libc, Binutils, Bash, etc.  Usually, changing one of these packages in the distribution entails a rebuild of all the others.  Thus, such updates are an inconvenience to users in terms of build time or bandwidth used to achieve the upgrade."
msgstr "@code{core} 子集指的是分发核心的所有软件包——即用于构建“其他所有东西”的软件包。这包括 GCC、libc、Binutils、Bash 等。通常,更改分发中的这些软件包之一会导致所有其他软件包的重建。因此,这样的更新在构建时间或带宽使用方面对用户来说是一种不便。"

#. type: table
#: guix-git/doc/guix.texi:15107
#, fuzzy
msgid "The @code{non-core} subset refers to the remaining packages.  It is typically useful in cases where an update of the core packages would be inconvenient."
msgstr "@code{non-core} 子集指的是剩余的软件包。在核心软件包的更新不便的情况下,它通常是有用的。"

#. type: table
#: guix-git/doc/guix.texi:15112
#, fuzzy
msgid "The @code{module:@var{name}} subset refers to all the packages in a specified guile module.  The module can be specified as @code{module:guile} or @code{module:(gnu packages guile)}, the former is a shorthand for the later."
msgstr "@code{module:@var{name}} 子集指的是指定的 guile 模块中的所有软件包。模块可以指定为 @code{module:guile} 或 @code{module:(gnu packages guile)},前者是后者的简写。"

#. type: table
#: guix-git/doc/guix.texi:15117
#, fuzzy
msgid "Select all the packages from the manifest in @var{file}.  This is useful to check if any packages of the user manifest can be updated."
msgstr "从 @var{file} 中的清单中选择所有软件包。这对于检查用户清单中的任何软件包是否可以更新是有用的。"

#. type: item
#: guix-git/doc/guix.texi:15118
#, fuzzy, no-wrap
msgid "--type=@var{updater}"
msgstr "--type=@var{updater}"

#. type: itemx
#: guix-git/doc/guix.texi:15119
#, fuzzy, no-wrap
msgid "-t @var{updater}"
msgstr "-t @var{updater}"

#. type: table
#: guix-git/doc/guix.texi:15122
#, fuzzy
msgid "Select only packages handled by @var{updater} (may be a comma-separated list of updaters).  Currently, @var{updater} may be one of:"
msgstr "仅选择由 @var{updater} 处理的软件包(可以是逗号分隔的更新程序列表)。目前,@var{updater} 可能是以下之一:"

#. type: table
#: guix-git/doc/guix.texi:15126
#, fuzzy
msgid "the updater for GNU packages;"
msgstr "GNU 软件包的更新程序;"

#. type: item
#: guix-git/doc/guix.texi:15126
#, fuzzy, no-wrap
msgid "savannah"
msgstr "savannah"

#. type: table
#: guix-git/doc/guix.texi:15128
#, fuzzy
msgid "the updater for packages hosted at @uref{https://savannah.gnu.org, Savannah};"
msgstr "在 @uref{https://savannah.gnu.org, Savannah} 上托管的软件包的更新程序;"

#. type: item
#: guix-git/doc/guix.texi:15128
#, fuzzy, no-wrap
msgid "sourceforge"
msgstr "sourceforge"

#. type: table
#: guix-git/doc/guix.texi:15130
#, fuzzy
msgid "the updater for packages hosted at @uref{https://sourceforge.net, SourceForge};"
msgstr "在 @uref{https://sourceforge.net, SourceForge} 上托管的软件包的更新程序;"

#. type: item
#: guix-git/doc/guix.texi:15130
#, fuzzy, no-wrap
msgid "gnome"
msgstr "gnome"

#. type: table
#: guix-git/doc/guix.texi:15132
#, fuzzy
msgid "the updater for GNOME packages;"
msgstr "GNOME 软件包的更新程序;"

#. type: item
#: guix-git/doc/guix.texi:15132
#, fuzzy, no-wrap
msgid "kde"
msgstr "kde"

#. type: table
#: guix-git/doc/guix.texi:15134
#, fuzzy
msgid "the updater for KDE packages;"
msgstr "KDE 软件包的更新程序;"

#. type: item
#: guix-git/doc/guix.texi:15134
#, fuzzy, no-wrap
msgid "xorg"
msgstr "xorg"

#. type: table
#: guix-git/doc/guix.texi:15136
#, fuzzy
msgid "the updater for X.org packages;"
msgstr "X.org 软件包的更新程序;"

#. type: item
#: guix-git/doc/guix.texi:15136
#, fuzzy, no-wrap
msgid "kernel.org"
msgstr "kernel.org"

#. type: table
#: guix-git/doc/guix.texi:15138
#, fuzzy
msgid "the updater for packages hosted on kernel.org;"
msgstr "在 kernel.org 上托管的软件包的更新程序;"

#. type: table
#: guix-git/doc/guix.texi:15140
#, fuzzy
msgid "the updater for @uref{https://wiki.call-cc.org/eggs/, Egg} packages;"
msgstr "@uref{https://wiki.call-cc.org/eggs/, Egg} 软件包的更新程序;"

#. type: table
#: guix-git/doc/guix.texi:15142
#, fuzzy
msgid "the updater for @uref{https://elpa.gnu.org/, ELPA} packages;"
msgstr "@uref{https://elpa.gnu.org/, ELPA} 软件包的更新程序;"

#. type: table
#: guix-git/doc/guix.texi:15144
#, fuzzy
msgid "the updater for @uref{https://cran.r-project.org/, CRAN} packages;"
msgstr "@uref{https://cran.r-project.org/, CRAN} 软件包的更新程序;"

#. type: item
#: guix-git/doc/guix.texi:15144
#, fuzzy, no-wrap
msgid "bioconductor"
msgstr "bioconductor"

#. type: table
#: guix-git/doc/guix.texi:15146
#, fuzzy
msgid "the updater for @uref{https://www.bioconductor.org/, Bioconductor} R packages;"
msgstr "@uref{https://www.bioconductor.org/, Bioconductor} R 软件包的更新程序;"

#. type: table
#: guix-git/doc/guix.texi:15148
#, fuzzy
msgid "the updater for @uref{https://www.cpan.org/, CPAN} packages;"
msgstr "@uref{https://www.cpan.org/, CPAN} 软件包的更新程序;"

#. type: table
#: guix-git/doc/guix.texi:15150
#, fuzzy
msgid "the updater for @uref{https://pypi.python.org, PyPI} packages."
msgstr "@uref{https://pypi.python.org, PyPI} 软件包的更新程序。"

#. type: table
#: guix-git/doc/guix.texi:15152
#, fuzzy
msgid "the updater for @uref{https://rubygems.org, RubyGems} packages."
msgstr "@uref{https://rubygems.org, RubyGems} 软件包的更新程序。"

#. type: item
#: guix-git/doc/guix.texi:15152
#, fuzzy, no-wrap
msgid "github"
msgstr "github"

#. type: table
#: guix-git/doc/guix.texi:15154
#, fuzzy
msgid "the updater for @uref{https://github.com, GitHub} packages."
msgstr "用于 @uref{https://github.com, GitHub} 包的更新程序。"

#. type: table
#: guix-git/doc/guix.texi:15156
#, fuzzy
msgid "the updater for @uref{https://hackage.haskell.org, Hackage} packages."
msgstr "用于 @uref{https://hackage.haskell.org, Hackage} 包的更新程序。"

#. type: table
#: guix-git/doc/guix.texi:15158
#, fuzzy
msgid "the updater for @uref{https://www.stackage.org, Stackage} packages."
msgstr "用于 @uref{https://www.stackage.org, Stackage} 包的更新程序。"

#. type: table
#: guix-git/doc/guix.texi:15160
#, fuzzy
msgid "the updater for @uref{https://crates.io, Crates} packages."
msgstr "用于 @uref{https://crates.io, Crates} 包的更新程序。"

#. type: item
#: guix-git/doc/guix.texi:15160
#, fuzzy, no-wrap
msgid "launchpad"
msgstr "launchpad"

#. type: table
#: guix-git/doc/guix.texi:15162
#, fuzzy
msgid "the updater for @uref{https://launchpad.net, Launchpad} packages."
msgstr "用于 @uref{https://launchpad.net, Launchpad} 包的更新程序。"

#. type: item
#: guix-git/doc/guix.texi:15162
#, fuzzy, no-wrap
msgid "generic-html"
msgstr "generic-html"

#. type: table
#: guix-git/doc/guix.texi:15166
#, fuzzy
msgid "a generic updater that crawls the HTML page where the source tarball of the package is hosted, when applicable, or the HTML page specified by the @code{release-monitoring-url} property of the package."
msgstr "一个通用的更新程序,当适用时,它会爬取托管包源 tarball 的 HTML 页面,或包的 @code{release-monitoring-url} 属性指定的 HTML 页面。"

#. type: item
#: guix-git/doc/guix.texi:15167
#, fuzzy, no-wrap
msgid "generic-git"
msgstr "generic-git"

#. type: table
#: guix-git/doc/guix.texi:15172
#, fuzzy
msgid "a generic updater for packages hosted on Git repositories.  It tries to be smart about parsing Git tag names, but if it is not able to parse the tag name and compare tags correctly, users can define the following properties for a package."
msgstr "一个用于托管在 Git 仓库中的包的通用更新程序。它尝试智能解析 Git 标签名称,但如果无法正确解析标签名称并比较标签,用户可以为包定义以下属性。"

#. type: item
#: guix-git/doc/guix.texi:15174
#, fuzzy, no-wrap
msgid "@code{release-tag-prefix}: a regular expression for matching a prefix of"
msgstr "@code{release-tag-prefix}: 用于匹配前缀的正则表达式"

#. type: itemize
#: guix-git/doc/guix.texi:15176 guix-git/doc/guix.texi:15179
#, fuzzy
msgid "the tag name."
msgstr "仓库monad"

#. type: item
#: guix-git/doc/guix.texi:15177
#, fuzzy, no-wrap
msgid "@code{release-tag-suffix}: a regular expression for matching a suffix of"
msgstr "@code{release-tag-suffix}: 用于匹配后缀的正则表达式"

#. type: item
#: guix-git/doc/guix.texi:15180
#, fuzzy, no-wrap
msgid "@code{release-tag-version-delimiter}: a string used as the delimiter in"
msgstr "@code{release-tag-version-delimiter}: 用作分隔符的字符串"

#. type: itemize
#: guix-git/doc/guix.texi:15182
#, fuzzy
msgid "the tag name for separating the numbers of the version."
msgstr "用于在标签名称中分隔版本号。"

#. type: item
#: guix-git/doc/guix.texi:15183
#, fuzzy, no-wrap
msgid "@code{accept-pre-releases}: by default, the updater will ignore"
msgstr "@code{accept-pre-releases}: 默认情况下,更新程序将忽略"

#. type: itemize
#: guix-git/doc/guix.texi:15186
#, fuzzy
msgid "pre-releases; to make it also look for pre-releases, set the this property to @code{#t}."
msgstr "预发布;要使其也查找预发布,请将此属性设置为 @code{#t}。"

#. type: lisp
#: guix-git/doc/guix.texi:15197
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  (name \"foo\")\n"
"  ;; ...\n"
"  (properties\n"
"    '((release-tag-prefix . \"^release0-\")\n"
"      (release-tag-suffix . \"[a-z]?$\")\n"
"      (release-tag-version-delimiter . \":\"))))\n"
msgstr ""
"(package\n"
"  (name \"foo\")\n"
"  ;; ...\n"
"  (properties\n"
"    '((release-tag-prefix . \"^release0-\")\n"
"      (release-tag-suffix . \"[a-z]?$\")\n"
"      (release-tag-version-delimiter . \":\"))))\n"

#. type: table
#: guix-git/doc/guix.texi:15204
#, fuzzy
msgid "For instance, the following command only checks for updates of Emacs packages hosted at @code{elpa.gnu.org} and for updates of CRAN packages:"
msgstr "例如,以下命令仅检查托管在 @code{elpa.gnu.org} 的 Emacs 包的更新和 CRAN 包的更新:"

#. type: example
#: guix-git/doc/guix.texi:15209
#, fuzzy, no-wrap
msgid ""
"$ guix refresh --type=elpa,cran\n"
"gnu/packages/statistics.scm:819:13: r-testthat would be upgraded from 0.10.0 to 0.11.0\n"
"gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11.88.9\n"
msgstr ""
"$ guix refresh --type=elpa,cran\n"
"gnu/packages/statistics.scm:819:13: r-testthat 将从 0.10.0 升级到 0.11.0\n"
"gnu/packages/emacs.scm:856:13: emacs-auctex 将从 11.88.6 升级到 11.88.9\n"

#. type: item
#: guix-git/doc/guix.texi:15211
#, fuzzy, no-wrap
msgid "--list-updaters"
msgstr "--list-updaters"

#. type: table
#: guix-git/doc/guix.texi:15213
#, fuzzy
msgid "List available updaters and exit (see @option{--type} above)."
msgstr "列出可用的更新程序并退出(请参见上面的 @option{--type})。"

#. type: table
#: guix-git/doc/guix.texi:15216
#, fuzzy
msgid "For each updater, display the fraction of packages it covers; at the end, display the fraction of packages covered by all these updaters."
msgstr "对于每个更新程序,显示它覆盖的包的比例;最后,显示所有这些更新程序覆盖的包的比例。"

#. type: Plain text
#: guix-git/doc/guix.texi:15220
#, fuzzy
msgid "In addition, @command{guix refresh} can be passed one or more package names, as in this example:"
msgstr "此外,@command{guix refresh} 可以传递一个或多个包名称,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:15223
#, fuzzy, no-wrap
msgid "$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8\n"
msgstr "$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15230
#, fuzzy
msgid "The command above specifically updates the @code{emacs} and @code{idutils} packages.  The @option{--select} option would have no effect in this case.  You might also want to update definitions that correspond to the packages installed in your profile:"
msgstr "上述命令专门更新 @code{emacs} 和 @code{idutils} 包。 @option{--select} 选项在这种情况下没有效果。 您可能还想更新与您配置文件中安装的包对应的定义:"

#. type: example
#: guix-git/doc/guix.texi:15234
#, fuzzy, no-wrap
msgid ""
"$ ./pre-inst-env guix refresh -u \\\n"
"       $(guix package --list-installed | cut -f1)\n"
msgstr ""
"$ ./pre-inst-env guix refresh -u \\\n"
"       $(guix package --list-installed | cut -f1)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15240
#, fuzzy
msgid "When considering whether to upgrade a package, it is sometimes convenient to know which packages would be affected by the upgrade and should be checked for compatibility.  For this the following option may be used when passing @command{guix refresh} one or more package names:"
msgstr "在考虑是否升级一个包时,了解哪些包会受到升级影响并应检查兼容性有时是方便的。 为此,可以在传递一个或多个包名称给 @command{guix refresh} 时使用以下选项:"

#. type: item
#: guix-git/doc/guix.texi:15243
#, fuzzy, no-wrap
msgid "--list-dependent"
msgstr "--list-dependent"

#. type: itemx
#: guix-git/doc/guix.texi:15244 guix-git/doc/guix.texi:15531
#: guix-git/doc/guix.texi:15723
#, fuzzy, no-wrap
msgid "-l"
msgstr "-l"

#. type: table
#: guix-git/doc/guix.texi:15247
#, fuzzy
msgid "List top-level dependent packages that would need to be rebuilt as a result of upgrading one or more packages."
msgstr "列出因升级一个或多个包而需要重建的顶级依赖包。"

#. type: table
#: guix-git/doc/guix.texi:15251
#, fuzzy
msgid "@xref{Invoking guix graph, the @code{reverse-package} type of @command{guix graph}}, for information on how to visualize the list of dependents of a package."
msgstr "@xref{Invoking guix graph, the @code{reverse-package} type of @command{guix graph}},有关如何可视化包的依赖列表的信息。"

#. type: table
#: guix-git/doc/guix.texi:15254
#, fuzzy
msgid "@xref{build-dependents, @command{guix build --dependents}}, for a convenient way to build all the dependents of a package."
msgstr "@xref{build-dependents, @command{guix build --dependents}},提供了一种方便的方法来构建一个包的所有依赖项。"

#. type: Plain text
#: guix-git/doc/guix.texi:15259
#, fuzzy
msgid "Be aware that the @option{--list-dependent} option only @emph{approximates} the rebuilds that would be required as a result of an upgrade.  More rebuilds might be required under some circumstances."
msgstr "请注意,@option{--list-dependent} 选项仅仅是 @emph{近似} 升级所需的重建。 在某些情况下,可能需要更多的重建。"

#. type: example
#: guix-git/doc/guix.texi:15264
#, fuzzy, no-wrap
msgid ""
"$ guix refresh --list-dependent flex\n"
"Building the following 120 packages would ensure 213 dependent packages are rebuilt:\n"
"hop@@2.4.0 emacs-geiser@@0.13 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 @dots{}\n"
msgstr ""
"$ guix refresh --list-dependent flex\n"
"构建以下 120 个包将确保重建 213 个依赖包:\n"
"hop@@2.4.0 emacs-geiser@@0.13 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 @dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15268
#, fuzzy
msgid "The command above lists a set of packages that could be built to check for compatibility with an upgraded @code{flex} package."
msgstr "上述命令列出了一组可以构建的包,以检查与升级的 @code{flex} 包的兼容性。"

#. type: item
#: guix-git/doc/guix.texi:15271
#, fuzzy, no-wrap
msgid "--list-transitive"
msgstr "--list-transitive"

#. type: itemx
#: guix-git/doc/guix.texi:15272
#, fuzzy, no-wrap
msgid "-T"
msgstr "-T"

#. type: table
#: guix-git/doc/guix.texi:15274
#, fuzzy
msgid "List all the packages which one or more packages depend upon."
msgstr "列出一个或多个包所依赖的所有包。"

#. type: example
#: guix-git/doc/guix.texi:15279
#, fuzzy, no-wrap
msgid ""
"$ guix refresh --list-transitive flex\n"
"flex@@2.6.4 depends on the following 25 packages: perl@@5.28.0 help2man@@1.47.6\n"
"bison@@3.0.5 indent@@2.2.10 tar@@1.30 gzip@@1.9 bzip2@@1.0.6 xz@@5.2.4 file@@5.33 @dots{}\n"
msgstr ""
"$ guix refresh --list-transitive flex\n"
"flex@@2.6.4 依赖以下 25 个包:perl@@5.28.0 help2man@@1.47.6\n"
"bison@@3.0.5 indent@@2.2.10 tar@@1.30 gzip@@1.9 bzip2@@1.0.6 xz@@5.2.4 file@@5.33 @dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15285
#, fuzzy
msgid "The command above lists a set of packages which, when changed, would cause @code{flex} to be rebuilt."
msgstr "上述命令列出了一组包,当这些包发生变化时,会导致 @code{flex} 被重建。"

#. type: Plain text
#: guix-git/doc/guix.texi:15287
#, fuzzy
msgid "The following options can be used to customize GnuPG operation:"
msgstr "可以使用以下选项来定制 GnuPG 操作:"

#. type: item
#: guix-git/doc/guix.texi:15290
#, fuzzy, no-wrap
msgid "--gpg=@var{command}"
msgstr "--gpg=@var{command}"

#. type: table
#: guix-git/doc/guix.texi:15293
#, fuzzy
msgid "Use @var{command} as the GnuPG 2.x command.  @var{command} is searched for in @code{$PATH}."
msgstr "将 @var{command} 用作 GnuPG 2.x 命令。 @var{command} 在 @code{$PATH} 中搜索。"

#. type: item
#: guix-git/doc/guix.texi:15294
#, fuzzy, no-wrap
msgid "--keyring=@var{file}"
msgstr "--keyring=@var{file}"

#. type: table
#: guix-git/doc/guix.texi:15300
#, fuzzy
msgid "Use @var{file} as the keyring for upstream keys.  @var{file} must be in the @dfn{keybox format}.  Keybox files usually have a name ending in @file{.kbx} and the GNU@tie{}Privacy Guard (GPG) can manipulate these files (@pxref{kbxutil, @command{kbxutil},, gnupg, Using the GNU Privacy Guard}, for information on a tool to manipulate keybox files)."
msgstr "将 @var{file} 用作上游密钥的密钥环。 @var{file} 必须采用 @dfn{keybox 格式}。 Keybox 文件通常以 @file{.kbx} 结尾,GNU@tie{}隐私保护工具(GPG)可以操作这些文件(有关操作 keybox 文件的工具的信息,请参见 @pxref{kbxutil, @command{kbxutil},, gnupg, 使用 GNU 隐私保护工具})。"

#. type: table
#: guix-git/doc/guix.texi:15306
#, fuzzy
msgid "When this option is omitted, @command{guix refresh} uses @file{~/.config/guix/upstream/trustedkeys.kbx} as the keyring for upstream signing keys.  OpenPGP signatures are checked against keys from this keyring; missing keys are downloaded to this keyring as well (see @option{--key-download} below)."
msgstr "当省略此选项时,@command{guix refresh} 使用 @file{~/.config/guix/upstream/trustedkeys.kbx} 作为上游签名密钥的密钥环。 OpenPGP 签名会根据此密钥环中的密钥进行检查;缺失的密钥也会下载到此密钥环中(请参见下面的 @option{--key-download})。"

#. type: table
#: guix-git/doc/guix.texi:15309
#, fuzzy
msgid "You can export keys from your default GPG keyring into a keybox file using commands like this one:"
msgstr "您可以使用以下命令将默认 GPG 密钥环中的密钥导出到 keybox 文件:"

#. type: example
#: guix-git/doc/guix.texi:15312
#, fuzzy, no-wrap
msgid "gpg --export rms@@gnu.org | kbxutil --import-openpgp >> mykeyring.kbx\n"
msgstr "gpg --export rms@@gnu.org | kbxutil --import-openpgp >> mykeyring.kbx\n"

#. type: table
#: guix-git/doc/guix.texi:15315
#, fuzzy
msgid "Likewise, you can fetch keys to a specific keybox file like this:"
msgstr "同样,您可以像这样将密钥提取到特定的 keybox 文件:"

#. type: example
#: guix-git/doc/guix.texi:15319
#, no-wrap
msgid ""
"gpg --no-default-keyring --keyring mykeyring.kbx \\\n"
"  --recv-keys @value{OPENPGP-SIGNING-KEY-ID}\n"
msgstr ""
"gpg --no-default-keyring --keyring mykeyring.kbx \\\n"
"  --recv-keys @value{OPENPGP-SIGNING-KEY-ID}\n"

#. type: table
#: guix-git/doc/guix.texi:15323
#, fuzzy
msgid "@xref{GPG Configuration Options, @option{--keyring},, gnupg, Using the GNU Privacy Guard}, for more information on GPG's @option{--keyring} option."
msgstr "有关 GPG 的 @option{--keyring} 选项的更多信息,请参见 @xref{GPG 配置选项, @option{--keyring},, gnupg, 使用 GNU 隐私保护工具}。"

#. type: table
#: guix-git/doc/guix.texi:15327
#, fuzzy
msgid "Handle missing OpenPGP keys according to @var{policy}, which may be one of:"
msgstr "根据 @var{policy} 处理缺失的 OpenPGP 密钥,可能是以下之一:"

#. type: item
#: guix-git/doc/guix.texi:15329 guix-git/doc/guix.texi:15566
#: guix-git/doc/guix.texi:28297
#, fuzzy, no-wrap
msgid "always"
msgstr "always"

#. type: table
#: guix-git/doc/guix.texi:15332
#, fuzzy
msgid "Always download missing OpenPGP keys from the key server, and add them to the user's GnuPG keyring."
msgstr "始终从密钥服务器下载缺失的 OpenPGP 密钥,并将其添加到用户的 GnuPG 密钥环中。"

#. type: item
#: guix-git/doc/guix.texi:15333 guix-git/doc/guix.texi:28299
#, fuzzy, no-wrap
msgid "never"
msgstr "never"

#. type: table
#: guix-git/doc/guix.texi:15335
#, fuzzy
msgid "Never try to download missing OpenPGP keys.  Instead just bail out."
msgstr "绝不尝试下载缺失的 OpenPGP 密钥。 只需退出。"

#. type: item
#: guix-git/doc/guix.texi:15336
#, fuzzy, no-wrap
msgid "interactive"
msgstr "interactive"

#. type: table
#: guix-git/doc/guix.texi:15339
#, fuzzy
msgid "When a package signed with an unknown OpenPGP key is encountered, ask the user whether to download it or not.  This is the default behavior."
msgstr "当遇到使用未知 OpenPGP 密钥签名的软件包时,询问用户是否下载。 这是默认行为。"

#. type: item
#: guix-git/doc/guix.texi:15341
#, fuzzy, no-wrap
msgid "--key-server=@var{host}"
msgstr "--key-server=@var{host}"

#. type: table
#: guix-git/doc/guix.texi:15343
#, fuzzy
msgid "Use @var{host} as the OpenPGP key server when importing a public key."
msgstr "在导入公钥时,将 @var{host} 用作 OpenPGP 密钥服务器。"

#. type: Plain text
#: guix-git/doc/guix.texi:15364
#, fuzzy
msgid "The @code{github} updater uses the @uref{https://developer.github.com/v3/, GitHub API} to query for new releases.  When used repeatedly e.g.@: when refreshing all packages, GitHub will eventually refuse to answer any further API requests.  By default 60 API requests per hour are allowed, and a full refresh on all GitHub packages in Guix requires more than this.  Authentication with GitHub through the use of an API token alleviates these limits.  To use an API token, set the environment variable @env{GUIX_GITHUB_TOKEN} to a token procured from @uref{https://github.com/settings/tokens} or otherwise."
msgstr "@code{github} 更新器使用 @uref{https://developer.github.com/v3/, GitHub API} 查询新版本。 当重复使用时,例如在刷新所有软件包时,GitHub 最终会拒绝回答任何进一步的 API 请求。 默认情况下,每小时允许 60 次 API 请求,而在 Guix 中对所有 GitHub 软件包进行完全刷新需要超过此限制。 通过使用 API 令牌进行身份验证可以缓解这些限制。 要使用 API 令牌,请将环境变量 @env{GUIX_GITHUB_TOKEN} 设置为从 @uref{https://github.com/settings/tokens} 获取的令牌或其他方式。"

#. type: section
#: guix-git/doc/guix.texi:15367
#, no-wrap
msgid "Invoking @command{guix style}"
msgstr "调用@command{guix style}"

#. type: command{#1}
#: guix-git/doc/guix.texi:15369
#, no-wrap
msgid "guix style"
msgstr "guix style"

#. type: cindex
#: guix-git/doc/guix.texi:15370
#, fuzzy, no-wrap
msgid "styling rules"
msgstr "--rounds=@var{N}"

#. type: cindex
#: guix-git/doc/guix.texi:15371
#, fuzzy, no-wrap
msgid "lint, code style"
msgstr "代码风格"

#. type: cindex
#: guix-git/doc/guix.texi:15372
#, fuzzy, no-wrap
msgid "format, code style"
msgstr "格式化代码"

#. type: cindex
#: guix-git/doc/guix.texi:15373
#, fuzzy, no-wrap
msgid "format conventions"
msgstr "书写规范。"

#. type: Plain text
#: guix-git/doc/guix.texi:15380
#, fuzzy
msgid "The @command{guix style} command helps users and packagers alike style their package definitions and configuration files according to the latest fashionable trends.  It can either reformat whole files, with the @option{--whole-file} option, or apply specific @dfn{styling rules} to individual package definitions.  The command currently provides the following styling rules:"
msgstr "@command{guix style} 命令帮助用户和打包者根据最新的时尚趋势来格式化他们的包定义和配置文件。它可以使用 @option{--whole-file} 选项重新格式化整个文件,或者将特定的 @dfn{样式规则} 应用到单个包定义。该命令目前提供以下样式规则:"

#. type: itemize
#: guix-git/doc/guix.texi:15385
#, fuzzy
msgid "formatting package definitions according to the project's conventions (@pxref{Formatting Code});"
msgstr "根据项目的约定格式化包定义 (@pxref{Formatting Code});"

#. type: itemize
#: guix-git/doc/guix.texi:15388
#, fuzzy
msgid "rewriting package inputs to the ``new style'', as explained below."
msgstr "将包输入重写为“新样式”,如下所述。"

#. type: Plain text
#: guix-git/doc/guix.texi:15394
#, fuzzy
msgid "The way package inputs are written is going through a transition (@pxref{package Reference}, for more on package inputs).  Until version 1.3.0, package inputs were written using the ``old style'', where each input was given an explicit label, most of the time the package name:"
msgstr "包输入的书写方式正在经历一个过渡 (@pxref{package Reference}, 有关包输入的更多信息)。在 1.3.0 版本之前,包输入是使用“旧样式”书写的,每个输入都有一个明确的标签,大多数情况下是包名:"

#. type: lisp
#: guix-git/doc/guix.texi:15401
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  ;; @dots{}\n"
"  ;; The \"old style\" (deprecated).\n"
"  (inputs `((\"libunistring\" ,libunistring)\n"
"            (\"libffi\" ,libffi))))\n"
msgstr ""
"(package\n"
"  ;; @dots{}\n"
"  ;; “旧样式”(已弃用)。\n"
"  (inputs `((\"libunistring\" ,libunistring)\n"
"            (\"libffi\" ,libffi))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15405
#, fuzzy
msgid "Today, the old style is deprecated and the preferred style looks like this:"
msgstr "今天,旧样式已被弃用,首选样式如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:15411
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  ;; @dots{}\n"
"  ;; The \"new style\".\n"
"  (inputs (list libunistring libffi)))\n"
msgstr ""
"(package\n"
"  ;; @dots{}\n"
"  ;; “新样式”。\n"
"  (inputs (list libunistring libffi)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15416
#, fuzzy
msgid "Likewise, uses of @code{alist-delete} and friends to manipulate inputs is now deprecated in favor of @code{modify-inputs} (@pxref{Defining Package Variants}, for more info on @code{modify-inputs})."
msgstr "同样,使用 @code{alist-delete} 等来操作输入现在已被弃用,取而代之的是 @code{modify-inputs} (@pxref{Defining Package Variants}, 有关 @code{modify-inputs} 的更多信息)。"

#. type: Plain text
#: guix-git/doc/guix.texi:15421
#, fuzzy
msgid "In the vast majority of cases, this is a purely mechanical change on the surface syntax that does not even incur a package rebuild.  Running @command{guix style -S inputs} can do that for you, whether you're working on packages in Guix proper or in an external channel."
msgstr "在绝大多数情况下,这只是表面语法上的纯机械变化,甚至不需要重新构建包。运行 @command{guix style -S inputs} 可以为您完成这项工作,无论您是在 Guix 正式版中工作还是在外部通道中。"

#. type: example
#: guix-git/doc/guix.texi:15426
#, fuzzy, no-wrap
msgid "guix style [@var{options}] @var{package}@dots{}\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15433
#, fuzzy
msgid "This causes @command{guix style} to analyze and rewrite the definition of @var{package}@dots{} or, when @var{package} is omitted, of @emph{all} the packages.  The @option{--styling} or @option{-S} option allows you to select the style rule, the default rule being @code{format}---see below."
msgstr "这会导致 @command{guix style} 分析并重写 @var{package}@dots{} 的定义,或者在省略 @var{package} 时,重写 @emph{所有} 包的定义。@option{--styling} 或 @option{-S} 选项允许您选择样式规则,默认规则为 @code{format}---见下文。"

#. type: Plain text
#: guix-git/doc/guix.texi:15435
#, fuzzy
msgid "To reformat entire source files, the syntax is:"
msgstr "要重新格式化整个源文件,语法为:"

#. type: example
#: guix-git/doc/guix.texi:15438
#, fuzzy, no-wrap
msgid "guix style --whole-file @var{file}@dots{}\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15441 guix-git/doc/guix.texi:16843
#, fuzzy
msgid "The available options are listed below."
msgstr "可用选项列在下面。"

#. type: table
#: guix-git/doc/guix.texi:15446
#, fuzzy
msgid "Show source file locations that would be edited but do not modify them."
msgstr "显示将被编辑的源文件位置,但不修改它们。"

#. type: item
#: guix-git/doc/guix.texi:15447
#, fuzzy, no-wrap
msgid "--whole-file"
msgstr "--整个文件"

#. type: itemx
#: guix-git/doc/guix.texi:15448
#, fuzzy, no-wrap
msgid "-f"
msgstr "-f"

#. type: table
#: guix-git/doc/guix.texi:15452
#, fuzzy
msgid "Reformat the given files in their entirety.  In that case, subsequent arguments are interpreted as file names (rather than package names), and the @option{--styling} option has no effect."
msgstr "完全重新格式化给定的文件。在这种情况下,后续参数被解释为文件名(而不是包名),@option{--styling}选项没有效果。"

#. type: table
#: guix-git/doc/guix.texi:15455
#, fuzzy
msgid "As an example, here is how you might reformat your operating system configuration (you need write permissions for the file):"
msgstr "作为一个示例,这里是如何重新格式化你的操作系统配置(你需要对该文件的写权限):"

#. type: example
#: guix-git/doc/guix.texi:15458
#, fuzzy, no-wrap
msgid "guix style -f /etc/config.scm\n"
msgstr "guix package --list-available\n"

#. type: item
#: guix-git/doc/guix.texi:15460
#, fuzzy, no-wrap
msgid "--alphabetical-sort"
msgstr "--按字母顺序排序"

#. type: itemx
#: guix-git/doc/guix.texi:15461
#, fuzzy, no-wrap
msgid "-A"
msgstr "-A"

#. type: table
#: guix-git/doc/guix.texi:15466
#, fuzzy
msgid "Place the top-level package definitions in the given files in alphabetical order.  Package definitions with matching names are placed with versions in descending order.  This option only has an effect in combination with @option{--whole-file}."
msgstr "将给定文件中的顶级包定义按字母顺序排列。具有相同名称的包定义按版本降序排列。此选项仅在与@option{--whole-file}结合使用时有效。"

#. type: item
#: guix-git/doc/guix.texi:15467
#, fuzzy, no-wrap
msgid "--styling=@var{rule}"
msgstr "--rounds=@var{N}"

#. type: itemx
#: guix-git/doc/guix.texi:15468
#, fuzzy, no-wrap
msgid "-S @var{rule}"
msgstr "-c @var{n}"

#. type: table
#: guix-git/doc/guix.texi:15470
#, fuzzy
msgid "Apply @var{rule}, one of the following styling rules:"
msgstr "目前这些平台提供软件包:"

#. type: code{#1}
#: guix-git/doc/guix.texi:15472 guix-git/doc/guix.texi:50296
#, fuzzy, no-wrap
msgid "format"
msgstr "格式"

#. type: table
#: guix-git/doc/guix.texi:15477
#, fuzzy
msgid "Format the given package definition(s)---this is the default styling rule.  For example, a packager running Guix on a checkout (@pxref{Running Guix Before It Is Installed}) might want to reformat the definition of the Coreutils package like so:"
msgstr "格式化给定的包定义---这是默认的样式规则。例如,一个在检出版本上运行Guix的打包者(@pxref{Running Guix Before It Is Installed})可能想要像这样重新格式化Coreutils包的定义:"

#. type: example
#: guix-git/doc/guix.texi:15480
#, fuzzy, no-wrap
msgid "./pre-inst-env guix style coreutils\n"
msgstr "./pre-inst-env guix build gnew --keep-failed\n"

#. type: item
#: guix-git/doc/guix.texi:15482
#, fuzzy, no-wrap
msgid "inputs"
msgstr "输入"

#. type: table
#: guix-git/doc/guix.texi:15486
#, fuzzy
msgid "Rewrite package inputs to the ``new style'', as described above.  This is how you would rewrite inputs of package @code{whatnot} in your own channel:"
msgstr "将包输入重写为“新样式”,如上所述。这是你如何在自己的频道中重写包@code{whatnot}的输入:"

#. type: example
#: guix-git/doc/guix.texi:15489
#, fuzzy, no-wrap
msgid "guix style -L ~/my/channel -S inputs whatnot\n"
msgstr "guix style -L ~/my/channel -S inputs whatnot\n"

#. type: table
#: guix-git/doc/guix.texi:15495
#, fuzzy
msgid "Rewriting is done in a conservative way: preserving comments and bailing out if it cannot make sense of the code that appears in an inputs field.  The @option{--input-simplification} option described below provides fine-grain control over when inputs should be simplified."
msgstr "重写是以保守的方式进行的:保留注释,并在无法理解输入字段中的代码时退出。下面描述的@option{--input-simplification}选项提供了对何时简化输入的细粒度控制。"

#. type: code{#1}
#: guix-git/doc/guix.texi:15496 guix-git/doc/guix.texi:21463
#: guix-git/doc/guix.texi:40895
#, fuzzy, no-wrap
msgid "arguments"
msgstr "参数"

#. type: table
#: guix-git/doc/guix.texi:15499
#, fuzzy
msgid "Rewrite package arguments to use G-expressions (@pxref{G-Expressions}).  For example, consider this package definition:"
msgstr "重写包参数以使用G表达式(@pxref{G-Expressions})。例如,考虑这个包定义:"

#. type: lisp
#: guix-git/doc/guix.texi:15508
#, fuzzy, no-wrap
msgid ""
"(define-public my-package\n"
"  (package\n"
"    ;; @dots{}\n"
"    (arguments      ;old-style quoted arguments\n"
"     '(#:make-flags '(\"V=1\")\n"
"       #:phases (modify-phases %standard-phases\n"
"                  (delete 'build))))))\n"
msgstr ""
"(define-public my-package\n"
"  (package\n"
"    ;; @dots{}\n"
"    (arguments      ;旧式引用参数\n"
"     '(#:make-flags '(\"V=1\")\n"
"       #:phases (modify-phases %standard-phases\n"
"                  (delete 'build))))))\n"

#. type: table
#: guix-git/doc/guix.texi:15513
#, fuzzy
msgid "Running @command{guix style -S arguments} on this package would rewrite its @code{arguments} field like to:"
msgstr "在这个包上运行@command{guix style -S arguments}将会将其@code{arguments}字段重写为:"

#. type: lisp
#: guix-git/doc/guix.texi:15522
#, fuzzy, no-wrap
msgid ""
"(define-public my-package\n"
"  (package\n"
"    ;; @dots{}\n"
"    (arguments\n"
"      (list #:make-flags #~'(\"V=1\")\n"
"            #:phases #~(modify-phases %standard-phases\n"
"                         (delete 'build))))))\n"
msgstr ""
"(define-public my-package\n"
"  (package\n"
"    ;; @dots{}\n"
"    (arguments\n"
"      (list #:make-flags #~'(\"V=1\")\n"
"            #:phases #~(modify-phases %standard-phases\n"
"                         (delete 'build))))))\n"

#. type: table
#: guix-git/doc/guix.texi:15528
#, fuzzy
msgid "Note that changes made by the @code{arguments} rule do not entail a rebuild of the affected packages.  Furthermore, if a package definition happens to be using G-expressions already, @command{guix style} leaves it unchanged."
msgstr "请注意,@code{arguments}规则所做的更改并不意味着需要重新构建受影响的包。此外,如果包定义已经使用G表达式,@command{guix style}将保持不变。"

#. type: item
#: guix-git/doc/guix.texi:15530
#, fuzzy, no-wrap
msgid "--list-stylings"
msgstr "系统"

#. type: table
#: guix-git/doc/guix.texi:15533
#, fuzzy
msgid "List and describe the available styling rules and exit."
msgstr "列出并描述可用的样式规则并退出。"

#. type: table
#: guix-git/doc/guix.texi:15542
#, fuzzy
msgid "Style the package @var{expr} evaluates to."
msgstr "样式包 @var{expr} 评估为。"

#. type: example
#: guix-git/doc/guix.texi:15547
#, fuzzy, no-wrap
msgid "guix style -e '(@@ (gnu packages gcc) gcc-5)'\n"
msgstr "guix style -e '(@@ (gnu packages gcc) gcc-5)'\n"

#. type: table
#: guix-git/doc/guix.texi:15550
#, fuzzy
msgid "styles the @code{gcc-5} package definition."
msgstr "更新Guix的软件包定义。"

#. type: item
#: guix-git/doc/guix.texi:15551
#, fuzzy, no-wrap
msgid "--input-simplification=@var{policy}"
msgstr "--input-simplification=@var{policy}"

#. type: table
#: guix-git/doc/guix.texi:15556
#, fuzzy
msgid "When using the @code{inputs} styling rule, with @samp{-S inputs}, this option specifies the package input simplification policy for cases where an input label does not match the corresponding package name.  @var{policy} may be one of the following:"
msgstr "使用 @code{inputs} 样式规则时,使用 @samp{-S inputs},此选项指定在输入标签与相应包名称不匹配的情况下的包输入简化策略。 @var{policy} 可以是以下之一:"

#. type: item
#: guix-git/doc/guix.texi:15558
#, fuzzy, no-wrap
msgid "silent"
msgstr "silent"

#. type: table
#: guix-git/doc/guix.texi:15561
#, fuzzy
msgid "Simplify inputs only when the change is ``silent'', meaning that the package does not need to be rebuilt (its derivation is unchanged)."
msgstr "仅在更改是“静默”的情况下简化输入,这意味着包不需要重建(其派生未更改)。"

#. type: item
#: guix-git/doc/guix.texi:15562
#, fuzzy, no-wrap
msgid "safe"
msgstr "safe"

#. type: table
#: guix-git/doc/guix.texi:15565
#, fuzzy
msgid "Simplify inputs only when that is ``safe'' to do: the package might need to be rebuilt, but the change is known to have no observable effect."
msgstr "仅在“安全”时简化输入:包可能需要重建,但已知更改没有可观察的影响。"

#. type: table
#: guix-git/doc/guix.texi:15569
#, fuzzy
msgid "Simplify inputs even when input labels do not match package names, and even if that might have an observable effect."
msgstr "即使输入标签与包名称不匹配,也简化输入,即使这可能会产生可观察的影响。"

#. type: table
#: guix-git/doc/guix.texi:15573
#, fuzzy
msgid "The default is @code{silent}, meaning that input simplifications do not trigger any package rebuild."
msgstr "默认值是 @code{silent},这意味着输入简化不会触发任何包重建。"

#. type: section
#: guix-git/doc/guix.texi:15576
#, fuzzy, no-wrap
msgid "Invoking @command{guix lint}"
msgstr "调用 @command{guix lint}"

#. type: command{#1}
#: guix-git/doc/guix.texi:15578
#, fuzzy, no-wrap
msgid "guix lint"
msgstr "guix lint"

#. type: cindex
#: guix-git/doc/guix.texi:15579
#, fuzzy, no-wrap
msgid "package, checking for errors"
msgstr "包,检查错误"

#. type: Plain text
#: guix-git/doc/guix.texi:15585
#, fuzzy
msgid "The @command{guix lint} command is meant to help package developers avoid common errors and use a consistent style.  It runs a number of checks on a given set of packages in order to find common mistakes in their definitions.  Available @dfn{checkers} include (see @option{--list-checkers} for a complete list):"
msgstr "@command{guix lint} 命令旨在帮助包开发者避免常见错误并使用一致的风格。它对给定的一组包运行多个检查,以查找其定义中的常见错误。可用的 @dfn{checkers} 包括(请参见 @option{--list-checkers} 获取完整列表):"

#. type: table
#: guix-git/doc/guix.texi:15591
#, fuzzy
msgid "Validate certain typographical and stylistic rules about package descriptions and synopses."
msgstr "验证有关包描述和摘要的某些排版和风格规则。"

#. type: item
#: guix-git/doc/guix.texi:15592
#, fuzzy, no-wrap
msgid "inputs-should-be-native"
msgstr "inputs-should-be-native"

#. type: table
#: guix-git/doc/guix.texi:15594
#, fuzzy
msgid "Identify inputs that should most likely be native inputs."
msgstr "识别应该是本地输入的输入。"

#. type: itemx
#: guix-git/doc/guix.texi:15597
#, fuzzy, no-wrap
msgid "mirror-url"
msgstr "mirror-url"

#. type: itemx
#: guix-git/doc/guix.texi:15598
#, fuzzy, no-wrap
msgid "github-url"
msgstr "github-url"

#. type: itemx
#: guix-git/doc/guix.texi:15599
#, fuzzy, no-wrap
msgid "source-file-name"
msgstr "源文件名"

#. type: table
#: guix-git/doc/guix.texi:15606
#, fuzzy
msgid "Probe @code{home-page} and @code{source} URLs and report those that are invalid.  Suggest a @code{mirror://} URL when applicable.  If the @code{source} URL redirects to a GitHub URL, recommend usage of the GitHub URL@.  Check that the source file name is meaningful, e.g.@: is not just a version number or ``git-checkout'', without a declared @code{file-name} (@pxref{origin Reference})."
msgstr "探测 @code{home-page} 和 @code{source} URL 并报告无效的 URL。在适用时建议使用 @code{mirror://} URL。如果 @code{source} URL 重定向到 GitHub URL,建议使用 GitHub URL@。检查源文件名是否有意义,例如:不是仅仅是版本号或“git-checkout”,而没有声明 @code{file-name}(@pxref{origin Reference})。"

#. type: item
#: guix-git/doc/guix.texi:15607
#, fuzzy, no-wrap
msgid "source-unstable-tarball"
msgstr "source-unstable-tarball"

#. type: table
#: guix-git/doc/guix.texi:15611
#, fuzzy
msgid "Parse the @code{source} URL to determine if a tarball from GitHub is autogenerated or if it is a release tarball.  Unfortunately GitHub's autogenerated tarballs are sometimes regenerated."
msgstr "解析 @code{source} URL 以确定来自 GitHub 的 tarball 是否是自动生成的或是否是发布 tarball。不幸的是,GitHub 的自动生成的 tarballs 有时会被重新生成。"

#. type: table
#: guix-git/doc/guix.texi:15615
#, fuzzy
msgid "Check that the derivation of the given packages can be successfully computed for all the supported systems (@pxref{Derivations})."
msgstr "检查给定软件包的推导是否可以在所有支持的系统上成功计算(@pxref{Derivations})。"

#. type: item
#: guix-git/doc/guix.texi:15616
#, fuzzy, no-wrap
msgid "profile-collisions"
msgstr "配置文件冲突"

#. type: table
#: guix-git/doc/guix.texi:15622
#, fuzzy
msgid "Check whether installing the given packages in a profile would lead to collisions.  Collisions occur when several packages with the same name but a different version or a different store file name are propagated.  @xref{package Reference, @code{propagated-inputs}}, for more information on propagated inputs."
msgstr "检查在配置文件中安装给定软件包是否会导致冲突。冲突发生在多个软件包具有相同名称但不同版本或不同存储文件名时被传播。有关传播输入的更多信息,请参见 @xref{package Reference, @code{propagated-inputs}}。"

#. type: item
#: guix-git/doc/guix.texi:15623
#, fuzzy, no-wrap
msgid "archival"
msgstr "归档"

#. type: cindex
#: guix-git/doc/guix.texi:15624
#, fuzzy, no-wrap
msgid "Software Heritage, source code archive"
msgstr "软件遗产,源代码归档"

#. type: cindex
#: guix-git/doc/guix.texi:15625
#, fuzzy, no-wrap
msgid "archival of source code, Software Heritage"
msgstr "源代码的归档,软件遗产"

#. type: table
#: guix-git/doc/guix.texi:15628
#, fuzzy
msgid "Checks whether the package's source code is archived at @uref{https://www.softwareheritage.org, Software Heritage}."
msgstr "检查软件包的源代码是否已在 @uref{https://www.softwareheritage.org, 软件遗产} 进行归档。"

#. type: table
#: guix-git/doc/guix.texi:15636
#, fuzzy
msgid "When the source code that is not archived comes from a version-control system (VCS)---e.g., it's obtained with @code{git-fetch}, send Software Heritage a ``save'' request so that it eventually archives it.  This ensures that the source will remain available in the long term, and that Guix can fall back to Software Heritage should the source code disappear from its original host.  The status of recent ``save'' requests can be @uref{https://archive.softwareheritage.org/save/#requests, viewed on-line}."
msgstr "当未归档的源代码来自版本控制系统(VCS)时——例如,通过 @code{git-fetch} 获取时,向软件遗产发送“保存”请求,以便最终归档它。这确保源代码在长期内可用,并且如果源代码从其原始主机消失,Guix 可以回退到软件遗产。最近的“保存”请求的状态可以在 @uref{https://archive.softwareheritage.org/save/#requests, 在线查看}。"

#. type: table
#: guix-git/doc/guix.texi:15641
#, fuzzy
msgid "When source code is a tarball obtained with @code{url-fetch}, simply print a message when it is not archived.  As of this writing, Software Heritage does not allow requests to save arbitrary tarballs; we are working on ways to ensure that non-VCS source code is also archived."
msgstr "当源代码是通过 @code{url-fetch} 获取的 tarball 时,如果未归档,则只需打印一条消息。根据目前的情况,软件遗产不允许请求保存任意 tarball;我们正在努力确保非 VCS 源代码也被归档。"

#. type: table
#: guix-git/doc/guix.texi:15647
#, fuzzy
msgid "Software Heritage @uref{https://archive.softwareheritage.org/api/#rate-limiting, limits the request rate per IP address}.  When the limit is reached, @command{guix lint} prints a message and the @code{archival} checker stops doing anything until that limit has been reset."
msgstr "软件遗产 @uref{https://archive.softwareheritage.org/api/#rate-limiting, 限制每个 IP 地址的请求速率}。当达到限制时,@command{guix lint} 会打印一条消息,@code{archival} 检查器将停止执行任何操作,直到该限制被重置。"

#. type: item
#: guix-git/doc/guix.texi:15648
#, fuzzy, no-wrap
msgid "cve"
msgstr "CVE"

#. type: cindex
#: guix-git/doc/guix.texi:15649 guix-git/doc/guix.texi:51066
#, fuzzy, no-wrap
msgid "security vulnerabilities"
msgstr "安全漏洞"

#. type: cindex
#: guix-git/doc/guix.texi:15650
#, fuzzy, no-wrap
msgid "CVE, Common Vulnerabilities and Exposures"
msgstr "CVE,常见漏洞和暴露"

#. type: table
#: guix-git/doc/guix.texi:15655
#, fuzzy
msgid "Report known vulnerabilities found in the Common Vulnerabilities and Exposures (CVE) databases of the current and past year @uref{https://nvd.nist.gov/vuln/data-feeds, published by the US NIST}."
msgstr "报告在当前和过去一年中发现的常见漏洞和暴露(CVE)数据库中的已知漏洞 @uref{https://nvd.nist.gov/vuln/data-feeds, 由美国 NIST 发布}。"

#. type: table
#: guix-git/doc/guix.texi:15657
#, fuzzy
msgid "To view information about a particular vulnerability, visit pages such as:"
msgstr "要查看有关特定漏洞的信息,请访问以下页面:"

#. type: indicateurl{#1}
#: guix-git/doc/guix.texi:15661
#, fuzzy
msgid "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-YYYY-ABCD"
msgstr "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-YYYY-ABCD"

#. type: indicateurl{#1}
#: guix-git/doc/guix.texi:15663
#, fuzzy
msgid "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-YYYY-ABCD"
msgstr "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-YYYY-ABCD"

#. type: table
#: guix-git/doc/guix.texi:15668
#, fuzzy
msgid "where @code{CVE-YYYY-ABCD} is the CVE identifier---e.g., @code{CVE-2015-7554}."
msgstr "其中 @code{CVE-YYYY-ABCD} 是 CVE 标识符---例如 @code{CVE-2015-7554}。"

#. type: table
#: guix-git/doc/guix.texi:15673
#, fuzzy
msgid "Package developers can specify in package recipes the @uref{https://nvd.nist.gov/products/cpe,Common Platform Enumeration (CPE)} name and version of the package when they differ from the name or version that Guix uses, as in this example:"
msgstr "包开发者可以在包配方中指定 @uref{https://nvd.nist.gov/products/cpe,公共平台枚举 (CPE)} 名称和版本,当它们与 Guix 使用的名称或版本不同时,如下例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:15681
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  (name \"grub\")\n"
"  ;; @dots{}\n"
"  ;; CPE calls this package \"grub2\".\n"
"  (properties '((cpe-name . \"grub2\")\n"
"                (cpe-version . \"2.3\"))))\n"
msgstr ""
"(package\n"
"  (name \"grub\")\n"
"  ;; @dots{}\n"
"  ;; CPE 将此包称为 \"grub2\"。\n"
"  (properties '((cpe-name . \"grub2\")\n"
"                (cpe-version . \"2.3\"))))\n"

#. type: table
#: guix-git/doc/guix.texi:15688
#, fuzzy
msgid "Some entries in the CVE database do not specify which version of a package they apply to, and would thus ``stick around'' forever.  Package developers who found CVE alerts and verified they can be ignored can declare them as in this example:"
msgstr "CVE 数据库中的某些条目未指定适用的包版本,因此会“永远存在”。发现 CVE 警报并确认可以忽略的包开发者可以如以下示例所示声明它们:"

#. type: lisp
#: guix-git/doc/guix.texi:15698
#, fuzzy, no-wrap
msgid ""
"(package\n"
"  (name \"t1lib\")\n"
"  ;; @dots{}\n"
"  ;; These CVEs no longer apply and can be safely ignored.\n"
"  (properties `((lint-hidden-cve . (\"CVE-2011-0433\"\n"
"                                    \"CVE-2011-1553\"\n"
"                                    \"CVE-2011-1554\"\n"
"                                    \"CVE-2011-5244\")))))\n"
msgstr ""
"(package\n"
"  (name \"t1lib\")\n"
"  ;; @dots{}\n"
"  ;; 这些 CVE 不再适用,可以安全忽略。\n"
"  (properties `((lint-hidden-cve . (\"CVE-2011-0433\"\n"
"                                    \"CVE-2011-1553\"\n"
"                                    \"CVE-2011-1554\"\n"
"                                    \"CVE-2011-5244\")))))\n"

#. type: item
#: guix-git/doc/guix.texi:15700
#, fuzzy, no-wrap
msgid "formatting"
msgstr "格式"

#. type: table
#: guix-git/doc/guix.texi:15703
#, fuzzy
msgid "Warn about obvious source code formatting issues: trailing white space, use of tabulations, etc."
msgstr "警告明显的源代码格式问题:尾随空格、使用制表符等。"

#. type: item
#: guix-git/doc/guix.texi:15704
#, fuzzy, no-wrap
msgid "input-labels"
msgstr "输入标签"

#. type: table
#: guix-git/doc/guix.texi:15710
#, fuzzy
msgid "Report old-style input labels that do not match the name of the corresponding package.  This aims to help migrate from the ``old input style''.  @xref{package Reference}, for more information on package inputs and input styles.  @xref{Invoking guix style}, on how to migrate to the new style."
msgstr "报告不匹配相应包名称的旧式输入标签。这旨在帮助从“旧输入样式”迁移。有关包输入和输入样式的更多信息,请参见 @xref{package Reference}。有关如何迁移到新样式,请参见 @xref{Invoking guix style}。"

#. type: example
#: guix-git/doc/guix.texi:15716
#, fuzzy, no-wrap
msgid "guix lint @var{options} @var{package}@dots{}\n"
msgstr "guix lint @var{options} @var{package}@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15720
#, fuzzy
msgid "If no package is given on the command line, then all packages are checked.  The @var{options} may be zero or more of the following:"
msgstr "如果命令行上未给出包,则检查所有包。@var{options} 可以是以下零个或多个:"

#. type: item
#: guix-git/doc/guix.texi:15722
#, fuzzy, no-wrap
msgid "--list-checkers"
msgstr "--list-checkers"

#. type: table
#: guix-git/doc/guix.texi:15726
#, fuzzy
msgid "List and describe all the available checkers that will be run on packages and exit."
msgstr "列出并描述将对包运行的所有可用检查器并退出。"

#. type: item
#: guix-git/doc/guix.texi:15727
#, fuzzy, no-wrap
msgid "--checkers"
msgstr "--checkers"

#. type: itemx
#: guix-git/doc/guix.texi:15728
#, fuzzy, no-wrap
msgid "-c"
msgstr "-c"

#. type: table
#: guix-git/doc/guix.texi:15731
#, fuzzy
msgid "Only enable the checkers specified in a comma-separated list using the names returned by @option{--list-checkers}."
msgstr "仅启用使用 @option{--list-checkers} 返回的名称在逗号分隔列表中指定的检查器。"

#. type: item
#: guix-git/doc/guix.texi:15732
#, fuzzy, no-wrap
msgid "--exclude"
msgstr "--exclude"

#. type: table
#: guix-git/doc/guix.texi:15736
#, fuzzy
msgid "Only disable the checkers specified in a comma-separated list using the names returned by @option{--list-checkers}."
msgstr "仅禁用使用 @option{--list-checkers} 返回的名称在逗号分隔列表中指定的检查器。"

#. type: table
#: guix-git/doc/guix.texi:15742
#, fuzzy
msgid "This is useful to unambiguously designate packages, as in this example:"
msgstr "这对于明确指定软件包是有用的,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:15745
#, fuzzy, no-wrap
msgid "guix lint -c archival -e '(@@ (gnu packages guile) guile-3.0)'\n"
msgstr "guix lint -c archival -e '(@@ (gnu packages guile) guile-3.0)'\n"

#. type: item
#: guix-git/doc/guix.texi:15747
#, fuzzy, no-wrap
msgid "--no-network"
msgstr "--no-network"

#. type: table
#: guix-git/doc/guix.texi:15750
#, fuzzy
msgid "Only enable the checkers that do not depend on Internet access."
msgstr "仅启用不依赖于互联网访问的检查器。"

#. type: section
#: guix-git/doc/guix.texi:15762
#, fuzzy, no-wrap
msgid "Invoking @command{guix size}"
msgstr "调用 @command{guix size}"

#. type: code{#1}
#: guix-git/doc/guix.texi:15764 guix-git/doc/guix.texi:45326
#, fuzzy, no-wrap
msgid "size"
msgstr "大小"

#. type: cindex
#: guix-git/doc/guix.texi:15765
#, fuzzy, no-wrap
msgid "package size"
msgstr "软件包大小"

#. type: command{#1}
#: guix-git/doc/guix.texi:15767
#, fuzzy, no-wrap
msgid "guix size"
msgstr "guix size"

#. type: Plain text
#: guix-git/doc/guix.texi:15774
#, fuzzy
msgid "The @command{guix size} command helps package developers profile the disk usage of packages.  It is easy to overlook the impact of an additional dependency added to a package, or the impact of using a single output for a package that could easily be split (@pxref{Packages with Multiple Outputs}).  Such are the typical issues that @command{guix size} can highlight."
msgstr "@command{guix size} 命令帮助软件包开发者分析软件包的磁盘使用情况。很容易忽视添加到软件包的额外依赖的影响,或者使用一个可以轻松拆分的软件包的单一输出的影响(@pxref{Packages with Multiple Outputs})。这些都是 @command{guix size} 可以突出显示的典型问题。"

#. type: Plain text
#: guix-git/doc/guix.texi:15779
#, fuzzy
msgid "The command can be passed one or more package specifications such as @code{gcc@@4.8} or @code{guile:debug}, or a file name in the store.  Consider this example:"
msgstr "该命令可以传递一个或多个软件包规范,例如 @code{gcc@@4.8} 或 @code{guile:debug},或存储中的文件名。考虑以下示例:"

#. type: example
#: guix-git/doc/guix.texi:15792
#, fuzzy, no-wrap
msgid ""
"$ guix size coreutils\n"
"store item                               total    self\n"
"/gnu/store/@dots{}-gcc-5.5.0-lib           60.4    30.1  38.1%\n"
"/gnu/store/@dots{}-glibc-2.27              30.3    28.8  36.6%\n"
"/gnu/store/@dots{}-coreutils-8.28          78.9    15.0  19.0%\n"
"/gnu/store/@dots{}-gmp-6.1.2               63.1     2.7   3.4%\n"
"/gnu/store/@dots{}-bash-static-4.4.12       1.5     1.5   1.9%\n"
"/gnu/store/@dots{}-acl-2.2.52              61.1     0.4   0.5%\n"
"/gnu/store/@dots{}-attr-2.4.47             60.6     0.2   0.3%\n"
"/gnu/store/@dots{}-libcap-2.25             60.5     0.2   0.2%\n"
"total: 78.9 MiB\n"
msgstr ""
"$ guix size coreutils\n"
"存储项                               总计    自身\n"
"/gnu/store/@dots{}-gcc-5.5.0-lib           60.4    30.1  38.1%\n"
"/gnu/store/@dots{}-glibc-2.27              30.3    28.8  36.6%\n"
"/gnu/store/@dots{}-coreutils-8.28          78.9    15.0  19.0%\n"
"/gnu/store/@dots{}-gmp-6.1.2               63.1     2.7   3.4%\n"
"/gnu/store/@dots{}-bash-static-4.4.12       1.5     1.5   1.9%\n"
"/gnu/store/@dots{}-acl-2.2.52              61.1     0.4   0.5%\n"
"/gnu/store/@dots{}-attr-2.4.47             60.6     0.2   0.3%\n"
"/gnu/store/@dots{}-libcap-2.25             60.5     0.2   0.2%\n"
"总计: 78.9 MiB\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15798
#, fuzzy
msgid "The store items listed here constitute the @dfn{transitive closure} of Coreutils---i.e., Coreutils and all its dependencies, recursively---as would be returned by:"
msgstr "这里列出的存储项构成了 Coreutils 的 @dfn{传递闭包}——即 Coreutils 及其所有依赖项,递归地——如以下命令返回的结果:"

#. type: example
#: guix-git/doc/guix.texi:15801
#, fuzzy, no-wrap
msgid "$ guix gc -R /gnu/store/@dots{}-coreutils-8.23\n"
msgstr "$ guix gc -R /gnu/store/@dots{}-coreutils-8.23\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15809
#, fuzzy
msgid "Here the output shows three columns next to store items.  The first column, labeled ``total'', shows the size in mebibytes (MiB) of the closure of the store item---that is, its own size plus the size of all its dependencies.  The next column, labeled ``self'', shows the size of the item itself.  The last column shows the ratio of the size of the item itself to the space occupied by all the items listed here."
msgstr "这里的输出在存储项旁边显示了三列。第一列标记为“总计”,显示存储项闭包的大小(以 MiB 为单位)——即其自身的大小加上所有依赖项的大小。下一列标记为“自身”,显示该项本身的大小。最后一列显示该项自身的大小与此处列出的所有项所占空间的比例。"

#. type: Plain text
#: guix-git/doc/guix.texi:15815
#, fuzzy
msgid "In this example, we see that the closure of Coreutils weighs in at 79@tie{}MiB, most of which is taken by libc and GCC's run-time support libraries.  (That libc and GCC's libraries represent a large fraction of the closure is not a problem @i{per se} because they are always available on the system anyway.)"
msgstr "在这个示例中,我们看到 Coreutils 的闭包大小为 79@tie{}MiB,其中大部分由 libc 和 GCC 的运行时支持库占据。(libc 和 GCC 的库占据闭包的大部分并不是问题 @i{per se},因为它们在系统上总是可用的。)"

#. type: Plain text
#: guix-git/doc/guix.texi:15818
#, fuzzy
msgid "Since the command also accepts store file names, assessing the size of a build result is straightforward:"
msgstr "由于该命令还接受存储文件名,因此评估构建结果的大小非常简单:"

#. type: example
#: guix-git/doc/guix.texi:15821
#, fuzzy, no-wrap
msgid "guix size $(guix system build config.scm)\n"
msgstr "guix size $(guix system build config.scm)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15831
#, fuzzy
msgid "When the package(s) passed to @command{guix size} are available in the store@footnote{More precisely, @command{guix size} looks for the @emph{ungrafted} variant of the given package(s), as returned by @code{guix build @var{package} --no-grafts}.  @xref{Security Updates}, for information on grafts.}, @command{guix size} queries the daemon to determine its dependencies, and measures its size in the store, similar to @command{du -ms --apparent-size} (@pxref{du invocation,,, coreutils, GNU Coreutils})."
msgstr "当传递给 @command{guix size} 的包在存储中可用时@footnote{更准确地说,@command{guix size} 查找给定包的 @emph{未嫁接} 变体,返回 @code{guix build @var{package} --no-grafts}。有关嫁接的信息,请参见 @xref{Security Updates}。}, @command{guix size} 查询守护进程以确定其依赖关系,并测量其在存储中的大小,类似于 @command{du -ms --apparent-size} (@pxref{du invocation,,, coreutils, GNU Coreutils})。"

#. type: Plain text
#: guix-git/doc/guix.texi:15836
#, fuzzy
msgid "When the given packages are @emph{not} in the store, @command{guix size} reports information based on the available substitutes (@pxref{Substitutes}).  This makes it possible to profile the disk usage of store items that are not even on disk, only available remotely."
msgstr "当给定的包 @emph{不} 在存储中时,@command{guix size} 根据可用的替代品报告信息 (@pxref{Substitutes})。这使得能够分析那些甚至不在磁盘上、仅在远程可用的存储项目的磁盘使用情况。"

#. type: Plain text
#: guix-git/doc/guix.texi:15838
#, fuzzy
msgid "You can also specify several package names:"
msgstr "您还可以指定多个包名称:"

#. type: example
#: guix-git/doc/guix.texi:15848
#, fuzzy, no-wrap
msgid ""
"$ guix size coreutils grep sed bash\n"
"store item                               total    self\n"
"/gnu/store/@dots{}-coreutils-8.24          77.8    13.8  13.4%\n"
"/gnu/store/@dots{}-grep-2.22               73.1     0.8   0.8%\n"
"/gnu/store/@dots{}-bash-4.3.42             72.3     4.7   4.6%\n"
"/gnu/store/@dots{}-readline-6.3            67.6     1.2   1.2%\n"
"@dots{}\n"
"total: 102.3 MiB\n"
msgstr ""
"$ guix size coreutils grep sed bash\n"
"存储项目                               总计    自身\n"
"/gnu/store/@dots{}-coreutils-8.24          77.8    13.8  13.4%\n"
"/gnu/store/@dots{}-grep-2.22               73.1     0.8   0.8%\n"
"/gnu/store/@dots{}-bash-4.3.42             72.3     4.7   4.6%\n"
"/gnu/store/@dots{}-readline-6.3            67.6     1.2   1.2%\n"
"@dots{}\n"
"总计: 102.3 MiB\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15854
#, fuzzy
msgid "In this example we see that the combination of the four packages takes 102.3@tie{}MiB in total, which is much less than the sum of each closure since they have a lot of dependencies in common."
msgstr "在这个示例中,我们看到这四个包的组合总共占用 102.3@tie{}MiB,这远低于每个闭包的总和,因为它们有很多共同的依赖关系。"

#. type: Plain text
#: guix-git/doc/guix.texi:15860
#, fuzzy
msgid "When looking at the profile returned by @command{guix size}, you may find yourself wondering why a given package shows up in the profile at all.  To understand it, you can use @command{guix graph --path -t references} to display the shortest path between the two packages (@pxref{Invoking guix graph})."
msgstr "当查看 @command{guix size} 返回的配置文件时,您可能会想知道为什么某个给定的包会出现在配置文件中。要理解这一点,您可以使用 @command{guix graph --path -t references} 来显示两个包之间的最短路径 (@pxref{Invoking guix graph})。"

#. type: Plain text
#: guix-git/doc/guix.texi:15862
#, fuzzy
msgid "The available options are:"
msgstr "可用选项包括:"

#. type: table
#: guix-git/doc/guix.texi:15868
#, fuzzy
msgid "Use substitute information from @var{urls}.  @xref{client-substitute-urls, the same option for @code{guix build}}."
msgstr "使用来自 @var{urls} 的替代信息。 @xref{client-substitute-urls, @code{guix build} 的相同选项}。"

#. type: item
#: guix-git/doc/guix.texi:15869
#, fuzzy, no-wrap
msgid "--sort=@var{key}"
msgstr "--sort=@var{key}"

#. type: table
#: guix-git/doc/guix.texi:15871
#, fuzzy
msgid "Sort lines according to @var{key}, one of the following options:"
msgstr "根据 @var{key} 对行进行排序,以下是可选项之一:"

#. type: item
#: guix-git/doc/guix.texi:15873
#, fuzzy, no-wrap
msgid "self"
msgstr "self"

#. type: table
#: guix-git/doc/guix.texi:15875
#, fuzzy
msgid "the size of each item (the default);"
msgstr "每个项目的大小(默认);"

#. type: table
#: guix-git/doc/guix.texi:15877
#, fuzzy
msgid "the total size of the item's closure."
msgstr "项目闭包的总大小。"

#. type: item
#: guix-git/doc/guix.texi:15879
#, fuzzy, no-wrap
msgid "--map-file=@var{file}"
msgstr "--map-file=@var{file}"

#. type: table
#: guix-git/doc/guix.texi:15881
#, fuzzy
msgid "Write a graphical map of disk usage in PNG format to @var{file}."
msgstr "将磁盘使用情况的图形地图以 PNG 格式写入 @var{file}。"

#. type: table
#: guix-git/doc/guix.texi:15883
#, fuzzy
msgid "For the example above, the map looks like this:"
msgstr "对于上面的示例,地图看起来是这样的:"

#. type: table
#: guix-git/doc/guix.texi:15886
#, fuzzy
msgid "@image{images/coreutils-size-map,5in,, map of Coreutils disk usage produced by @command{guix size}}"
msgstr "@image{images/coreutils-size-map,5in,, 由 @command{guix size} 生成的 Coreutils 磁盘使用情况地图}"

#. type: table
#: guix-git/doc/guix.texi:15891
#, fuzzy
msgid "This option requires that @uref{https://wingolog.org/software/guile-charting/, Guile-Charting} be installed and visible in Guile's module search path.  When that is not the case, @command{guix size} fails as it tries to load it."
msgstr "此选项要求安装 @uref{https://wingolog.org/software/guile-charting/, Guile-Charting} 并在 Guile 的模块搜索路径中可见。当不满足此条件时,@command{guix size} 会失败,因为它尝试加载它。"

#. type: table
#: guix-git/doc/guix.texi:15895
#, fuzzy
msgid "Consider packages for @var{system}---e.g., @code{x86_64-linux}."
msgstr "考虑 @var{system} 的软件包——例如,@code{x86_64-linux}。"

#. type: section
#: guix-git/doc/guix.texi:15906
#, fuzzy, no-wrap
msgid "Invoking @command{guix graph}"
msgstr "调用 @command{guix graph}"

#. type: cindex
#: guix-git/doc/guix.texi:15908
#, fuzzy, no-wrap
msgid "DAG"
msgstr "DAG"

#. type: command{#1}
#: guix-git/doc/guix.texi:15909
#, fuzzy, no-wrap
msgid "guix graph"
msgstr "guix graph"

#. type: Plain text
#: guix-git/doc/guix.texi:15924
#, fuzzy
msgid "Packages and their dependencies form a @dfn{graph}, specifically a directed acyclic graph (DAG).  It can quickly become difficult to have a mental model of the package DAG, so the @command{guix graph} command provides a visual representation of the DAG@.  By default, @command{guix graph} emits a DAG representation in the input format of @uref{https://www.graphviz.org/, Graphviz}, so its output can be passed directly to the @command{dot} command of Graphviz.  It can also emit an HTML page with embedded JavaScript code to display a ``chord diagram'' in a Web browser, using the @uref{https://d3js.org/, d3.js} library, or emit Cypher queries to construct a graph in a graph database supporting the @uref{https://www.opencypher.org/, openCypher} query language.  With @option{--path}, it simply displays the shortest path between two packages.  The general syntax is:"
msgstr "软件包及其依赖关系形成一个 @dfn{图},具体来说是一个有向无环图(DAG)。它可能会迅速变得难以对软件包 DAG 形成心理模型,因此 @command{guix graph} 命令提供了 DAG 的可视化表示。默认情况下,@command{guix graph} 以 @uref{https://www.graphviz.org/, Graphviz} 的输入格式输出 DAG 表示,因此其输出可以直接传递给 Graphviz 的 @command{dot} 命令。它还可以生成一个嵌入 JavaScript 代码的 HTML 页面,以在 Web 浏览器中显示“和弦图”,使用 @uref{https://d3js.org/, d3.js} 库,或者生成 Cypher 查询以在支持 @uref{https://www.opencypher.org/, openCypher} 查询语言的图形数据库中构建图。使用 @option{--path},它仅显示两个软件包之间的最短路径。一般语法是:"

#. type: example
#: guix-git/doc/guix.texi:15927
#, fuzzy, no-wrap
msgid "guix graph @var{options} @var{package}@dots{}\n"
msgstr "guix graph @var{options} @var{package}@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15932
#, fuzzy
msgid "For example, the following command generates a PDF file representing the package DAG for the GNU@tie{}Core Utilities, showing its build-time dependencies:"
msgstr "例如,以下命令生成一个 PDF 文件,表示 GNU@tie{}Core Utilities 的软件包 DAG,显示其构建时依赖关系:"

#. type: example
#: guix-git/doc/guix.texi:15935
#, fuzzy, no-wrap
msgid "guix graph coreutils | dot -Tpdf > dag.pdf\n"
msgstr "guix graph coreutils | dot -Tpdf > dag.pdf\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15938
#, fuzzy
msgid "The output looks like this:"
msgstr "输出看起来是这样的:"

#. type: Plain text
#: guix-git/doc/guix.texi:15940
#, fuzzy
msgid "@image{images/coreutils-graph,2in,,Dependency graph of the GNU Coreutils}"
msgstr "@image{images/coreutils-graph,2in,,GNU Coreutils的依赖图}"

#. type: Plain text
#: guix-git/doc/guix.texi:15942
#, fuzzy
msgid "Nice little graph, no?"
msgstr "不错的小图,是吗?"

#. type: Plain text
#: guix-git/doc/guix.texi:15945
#, fuzzy
msgid "You may find it more pleasant to navigate the graph interactively with @command{xdot} (from the @code{xdot} package):"
msgstr "您可能会发现使用@command{xdot}(来自@code{xdot}包)以交互方式浏览图形更愉快:"

#. type: example
#: guix-git/doc/guix.texi:15948
#, fuzzy, no-wrap
msgid "guix graph coreutils | xdot -\n"
msgstr "guix graph coreutils | xdot -\n"

#. type: Plain text
#: guix-git/doc/guix.texi:15955
#, fuzzy
msgid "But there is more than one graph! The one above is concise: it is the graph of package objects, omitting implicit inputs such as GCC, libc, grep, etc.  It is often useful to have such a concise graph, but sometimes one may want to see more details.  @command{guix graph} supports several types of graphs, allowing you to choose the level of detail:"
msgstr "但不止一个图!上面的图是简洁的:它是包对象的图,省略了GCC、libc、grep等隐式输入。拥有这样一个简洁的图通常是有用的,但有时人们可能想看到更多细节。@command{guix graph}支持几种类型的图,允许您选择详细程度:"

#. type: table
#: guix-git/doc/guix.texi:15961
#, fuzzy
msgid "This is the default type used in the example above.  It shows the DAG of package objects, excluding implicit dependencies.  It is concise, but filters out many details."
msgstr "这是上面示例中使用的默认类型。它显示了包对象的DAG,排除了隐式依赖。它简洁,但过滤掉了许多细节。"

#. type: item
#: guix-git/doc/guix.texi:15962
#, fuzzy, no-wrap
msgid "reverse-package"
msgstr "reverse-package"

#. type: table
#: guix-git/doc/guix.texi:15964
#, fuzzy
msgid "This shows the @emph{reverse} DAG of packages.  For example:"
msgstr "这显示了包的@emph{反向}DAG。例如:"

#. type: example
#: guix-git/doc/guix.texi:15967
#, fuzzy, no-wrap
msgid "guix graph --type=reverse-package ocaml\n"
msgstr "guix graph --type=reverse-package ocaml\n"

#. type: table
#: guix-git/doc/guix.texi:15972
#, fuzzy
msgid "...@: yields the graph of packages that @emph{explicitly} depend on OCaml (if you are also interested in cases where OCaml is an implicit dependency, see @code{reverse-bag} below)."
msgstr "...@: 生成依赖于OCaml的包的图(如果您还对OCaml是隐式依赖的情况感兴趣,请参见下面的@code{reverse-bag})。"

#. type: table
#: guix-git/doc/guix.texi:15977
#, fuzzy
msgid "Note that for core packages this can yield huge graphs.  If all you want is to know the number of packages that depend on a given package, use @command{guix refresh --list-dependent} (@pxref{Invoking guix refresh, @option{--list-dependent}})."
msgstr "请注意,对于核心包,这可能会生成巨大的图。如果您只想知道依赖于给定包的包的数量,请使用@command{guix refresh --list-dependent}(@pxref{调用guix refresh, @option{--list-dependent}})。"

#. type: item
#: guix-git/doc/guix.texi:15978
#, fuzzy, no-wrap
msgid "bag-emerged"
msgstr "bag-emerged"

#. type: table
#: guix-git/doc/guix.texi:15980
#, fuzzy
msgid "This is the package DAG, @emph{including} implicit inputs."
msgstr "这是包的DAG,@emph{包括}隐式输入。"

#. type: table
#: guix-git/doc/guix.texi:15982
#, fuzzy
msgid "For instance, the following command:"
msgstr "例如,以下命令:"

#. type: example
#: guix-git/doc/guix.texi:15985
#, fuzzy, no-wrap
msgid "guix graph --type=bag-emerged coreutils\n"
msgstr "guix graph --type=bag-emerged coreutils\n"

#. type: table
#: guix-git/doc/guix.texi:15988
#, fuzzy
msgid "...@: yields this bigger graph:"
msgstr "...@: 生成这个更大的图:"

#. type: table
#: guix-git/doc/guix.texi:15990
#, fuzzy
msgid "@image{images/coreutils-bag-graph,,5in,Detailed dependency graph of the GNU Coreutils}"
msgstr "@image{images/coreutils-bag-graph,,5in,GNU Coreutils的详细依赖图}"

#. type: table
#: guix-git/doc/guix.texi:15993
#, fuzzy
msgid "At the bottom of the graph, we see all the implicit inputs of @var{gnu-build-system} (@pxref{Build Systems, @code{gnu-build-system}})."
msgstr "在图的底部,我们看到@var{gnu-build-system}的所有隐式输入(@pxref{构建系统, @code{gnu-build-system}})。"

#. type: table
#: guix-git/doc/guix.texi:15997
#, fuzzy
msgid "Now, note that the dependencies of these implicit inputs---that is, the @dfn{bootstrap dependencies} (@pxref{Bootstrapping})---are not shown here, for conciseness."
msgstr "现在,请注意这些隐式输入的依赖关系——即@dfn{引导依赖}(@pxref{引导})——在这里没有显示,以保持简洁。"

#. type: item
#: guix-git/doc/guix.texi:15998
#, fuzzy, no-wrap
msgid "bag"
msgstr "bag"

#. type: table
#: guix-git/doc/guix.texi:16001
#, fuzzy
msgid "Similar to @code{bag-emerged}, but this time including all the bootstrap dependencies."
msgstr "类似于@code{bag-emerged},但这次包括所有引导依赖。"

#. type: item
#: guix-git/doc/guix.texi:16002
#, fuzzy, no-wrap
msgid "bag-with-origins"
msgstr "bag-with-origins"

#. type: table
#: guix-git/doc/guix.texi:16004
#, fuzzy
msgid "Similar to @code{bag}, but also showing origins and their dependencies."
msgstr "类似于@code{bag},但还显示来源及其依赖。"

#. type: item
#: guix-git/doc/guix.texi:16005
#, fuzzy, no-wrap
msgid "reverse-bag"
msgstr "反向包"

#. type: table
#: guix-git/doc/guix.texi:16008
#, fuzzy
msgid "This shows the @emph{reverse} DAG of packages.  Unlike @code{reverse-package}, it also takes implicit dependencies into account.  For example:"
msgstr "这显示了包的 @emph{反向} DAG。与 @code{reverse-package} 不同,它还考虑了隐式依赖关系。例如:"

#. type: example
#: guix-git/doc/guix.texi:16011
#, fuzzy, no-wrap
msgid "guix graph -t reverse-bag dune\n"
msgstr "guix graph -t reverse-bag dune\n"

#. type: table
#: guix-git/doc/guix.texi:16018
#, fuzzy
msgid "...@: yields the graph of all packages that depend on Dune, directly or indirectly.  Since Dune is an @emph{implicit} dependency of many packages @i{via} @code{dune-build-system}, this shows a large number of packages, whereas @code{reverse-package} would show very few if any."
msgstr "...@: 生成所有直接或间接依赖于 Dune 的包的图。由于 Dune 是许多包的 @emph{隐式} 依赖 @i{通过} @code{dune-build-system},这显示了大量的包,而 @code{reverse-package} 如果有的话则显示很少。"

#. type: table
#: guix-git/doc/guix.texi:16024
#, fuzzy
msgid "This is the most detailed representation: It shows the DAG of derivations (@pxref{Derivations}) and plain store items.  Compared to the above representation, many additional nodes are visible, including build scripts, patches, Guile modules, etc."
msgstr "这是最详细的表示:它显示了派生物的 DAG (@pxref{Derivations}) 和普通存储项。与上述表示相比,许多额外的节点是可见的,包括构建脚本、补丁、Guile 模块等。"

#. type: table
#: guix-git/doc/guix.texi:16027
#, fuzzy
msgid "For this type of graph, it is also possible to pass a @file{.drv} file name instead of a package name, as in:"
msgstr "对于这种类型的图,也可以传递 @file{.drv} 文件名而不是包名,如下所示:"

#. type: example
#: guix-git/doc/guix.texi:16030
#, fuzzy, no-wrap
msgid "guix graph -t derivation $(guix system build -d my-config.scm)\n"
msgstr "guix graph -t derivation $(guix system build -d my-config.scm)\n"

#. type: table
#: guix-git/doc/guix.texi:16036
#, fuzzy
msgid "This is the graph of @dfn{package modules} (@pxref{Package Modules}).  For example, the following command shows the graph for the package module that defines the @code{guile} package:"
msgstr "这是 @dfn{包模块} 的图 (@pxref{Package Modules})。例如,以下命令显示定义 @code{guile} 包的包模块的图:"

#. type: example
#: guix-git/doc/guix.texi:16039
#, fuzzy, no-wrap
msgid "guix graph -t module guile | xdot -\n"
msgstr "guix graph -t module guile | xdot -\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16044
#, fuzzy
msgid "All the types above correspond to @emph{build-time dependencies}.  The following graph type represents the @emph{run-time dependencies}:"
msgstr "上述所有类型对应于 @emph{构建时依赖}。以下图类型表示 @emph{运行时依赖}:"

#. type: table
#: guix-git/doc/guix.texi:16049
#, fuzzy
msgid "This is the graph of @dfn{references} of a package output, as returned by @command{guix gc --references} (@pxref{Invoking guix gc})."
msgstr "这是包输出的 @dfn{引用} 的图,由 @command{guix gc --references} 返回 (@pxref{Invoking guix gc})。"

#. type: table
#: guix-git/doc/guix.texi:16052
#, fuzzy
msgid "If the given package output is not available in the store, @command{guix graph} attempts to obtain dependency information from substitutes."
msgstr "如果给定的包输出在存储中不可用,@command{guix graph} 将尝试从替代品中获取依赖信息。"

#. type: table
#: guix-git/doc/guix.texi:16056
#, fuzzy
msgid "Here you can also pass a store file name instead of a package name.  For example, the command below produces the reference graph of your profile (which can be big!):"
msgstr "在这里,您也可以传递存储文件名而不是包名。例如,下面的命令生成您配置文件的引用图(可能很大!):"

#. type: example
#: guix-git/doc/guix.texi:16059
#, fuzzy, no-wrap
msgid "guix graph -t references $(readlink -f ~/.guix-profile)\n"
msgstr "guix graph -t references $(readlink -f ~/.guix-profile)\n"

#. type: item
#: guix-git/doc/guix.texi:16061
#, fuzzy, no-wrap
msgid "referrers"
msgstr "引用者"

#. type: table
#: guix-git/doc/guix.texi:16064
#, fuzzy
msgid "This is the graph of the @dfn{referrers} of a store item, as returned by @command{guix gc --referrers} (@pxref{Invoking guix gc})."
msgstr "这是存储项的 @dfn{引用者} 的图,由 @command{guix gc --referrers} 返回 (@pxref{Invoking guix gc})。"

#. type: table
#: guix-git/doc/guix.texi:16070
#, fuzzy
msgid "This relies exclusively on local information from your store.  For instance, let us suppose that the current Inkscape is available in 10 profiles on your machine; @command{guix graph -t referrers inkscape} will show a graph rooted at Inkscape and with those 10 profiles linked to it."
msgstr "这完全依赖于您存储中的本地信息。例如,假设当前的 Inkscape 在您机器上的 10 个配置文件中可用;@command{guix graph -t referrers inkscape} 将显示一个以 Inkscape 为根的图,并且与这 10 个配置文件相连。"

#. type: table
#: guix-git/doc/guix.texi:16073
#, fuzzy
msgid "It can help determine what is preventing a store item from being garbage collected."
msgstr "它可以帮助确定是什么阻止商店项目被垃圾回收。"

#. type: cindex
#: guix-git/doc/guix.texi:16076
#, fuzzy, no-wrap
msgid "shortest path, between packages"
msgstr "超过1200个受影响的软件包"

#. type: Plain text
#: guix-git/doc/guix.texi:16083
#, fuzzy
msgid "Often, the graph of the package you are interested in does not fit on your screen, and anyway all you want to know is @emph{why} that package actually depends on some seemingly unrelated package.  The @option{--path} option instructs @command{guix graph} to display the shortest path between two packages (or derivations, or store items, etc.):"
msgstr "通常,您感兴趣的包的图形无法适应您的屏幕,无论如何,您想知道的只是@emph{为什么}该包实际上依赖于某个看似无关的包。@option{--path}选项指示@command{guix graph}显示两个包(或派生项、或商店项目等)之间的最短路径:"

#. type: example
#: guix-git/doc/guix.texi:16097
#, fuzzy, no-wrap
msgid ""
"$ guix graph --path emacs libunistring\n"
"emacs@@26.3\n"
"mailutils@@3.9\n"
"libunistring@@0.9.10\n"
"$ guix graph --path -t derivation emacs libunistring\n"
"/gnu/store/@dots{}-emacs-26.3.drv\n"
"/gnu/store/@dots{}-mailutils-3.9.drv\n"
"/gnu/store/@dots{}-libunistring-0.9.10.drv\n"
"$ guix graph --path -t references emacs libunistring\n"
"/gnu/store/@dots{}-emacs-26.3\n"
"/gnu/store/@dots{}-libidn2-2.2.0\n"
"/gnu/store/@dots{}-libunistring-0.9.10\n"
msgstr ""
"$ guix graph --path emacs libunistring\n"
"emacs@@26.3\n"
"mailutils@@3.9\n"
"libunistring@@0.9.10\n"
"$ guix graph --path -t derivation emacs libunistring\n"
"/gnu/store/@dots{}-emacs-26.3.drv\n"
"/gnu/store/@dots{}-mailutils-3.9.drv\n"
"/gnu/store/@dots{}-libunistring-0.9.10.drv\n"
"$ guix graph --path -t references emacs libunistring\n"
"/gnu/store/@dots{}-emacs-26.3\n"
"/gnu/store/@dots{}-libidn2-2.2.0\n"
"/gnu/store/@dots{}-libunistring-0.9.10\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16105
#, fuzzy
msgid "Sometimes you still want to visualize the graph but would like to trim it so it can actually be displayed.  One way to do it is via the @option{--max-depth} (or @option{-M}) option, which lets you specify the maximum depth of the graph.  In the example below, we visualize only @code{libreoffice} and the nodes whose distance to @code{libreoffice} is at most 2:"
msgstr "有时您仍然想可视化图形,但希望修剪它以便实际显示。做到这一点的一种方法是通过@option{--max-depth}(或@option{-M})选项,它允许您指定图形的最大深度。在下面的示例中,我们仅可视化@code{libreoffice}及其与@code{libreoffice}的距离最多为2的节点:"

#. type: example
#: guix-git/doc/guix.texi:16108
#, fuzzy, no-wrap
msgid "guix graph -M 2 libreoffice | xdot -f fdp -\n"
msgstr "guix graph -M 2 libreoffice | xdot -f fdp -\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16112
#, fuzzy
msgid "Mind you, that's still a big ball of spaghetti, but at least @command{dot} can render it quickly and it can be browsed somewhat."
msgstr "请注意,这仍然是一个大团的意大利面,但至少@command{dot}可以快速渲染它,并且可以在某种程度上浏览。"

#. type: Plain text
#: guix-git/doc/guix.texi:16114
#, fuzzy
msgid "The available options are the following:"
msgstr "可用的选项如下:"

#. type: table
#: guix-git/doc/guix.texi:16120
#, fuzzy
msgid "Produce a graph output of @var{type}, where @var{type} must be one of the values listed above."
msgstr "生成@var{type}的图形输出,其中@var{type}必须是上述列出的值之一。"

#. type: table
#: guix-git/doc/guix.texi:16123
#, fuzzy
msgid "List the supported graph types."
msgstr "列出支持的图形类型。"

#. type: item
#: guix-git/doc/guix.texi:16124
#, fuzzy, no-wrap
msgid "--backend=@var{backend}"
msgstr "--backend=@var{backend}"

#. type: itemx
#: guix-git/doc/guix.texi:16125
#, fuzzy, no-wrap
msgid "-b @var{backend}"
msgstr "-b @var{backend}"

#. type: table
#: guix-git/doc/guix.texi:16127
#, fuzzy
msgid "Produce a graph using the selected @var{backend}."
msgstr "使用所选的@var{backend}生成图形。"

#. type: item
#: guix-git/doc/guix.texi:16128
#, fuzzy, no-wrap
msgid "--list-backends"
msgstr "--list-backends"

#. type: table
#: guix-git/doc/guix.texi:16130
#, fuzzy
msgid "List the supported graph backends."
msgstr "列出支持的图形后端。"

#. type: table
#: guix-git/doc/guix.texi:16132
#, fuzzy
msgid "Currently, the available backends are Graphviz and d3.js."
msgstr "目前,可用的后端是Graphviz和d3.js。"

#. type: item
#: guix-git/doc/guix.texi:16133
#, fuzzy, no-wrap
msgid "--path"
msgstr "--path"

#. type: table
#: guix-git/doc/guix.texi:16138
#, fuzzy
msgid "Display the shortest path between two nodes of the type specified by @option{--type}.  The example below shows the shortest path between @code{libreoffice} and @code{llvm} according to the references of @code{libreoffice}:"
msgstr "显示由@option{--type}指定的类型的两个节点之间的最短路径。下面的示例显示了根据@code{libreoffice}的引用,@code{libreoffice}和@code{llvm}之间的最短路径:"

#. type: example
#: guix-git/doc/guix.texi:16145
#, fuzzy, no-wrap
msgid ""
"$ guix graph --path -t references libreoffice llvm\n"
"/gnu/store/@dots{}-libreoffice-6.4.2.2\n"
"/gnu/store/@dots{}-libepoxy-1.5.4\n"
"/gnu/store/@dots{}-mesa-19.3.4\n"
"/gnu/store/@dots{}-llvm-9.0.1\n"
msgstr ""
"$ guix graph --path -t references libreoffice llvm\n"
"/gnu/store/@dots{}-libreoffice-6.4.2.2\n"
"/gnu/store/@dots{}-libepoxy-1.5.4\n"
"/gnu/store/@dots{}-mesa-19.3.4\n"
"/gnu/store/@dots{}-llvm-9.0.1\n"

#. type: example
#: guix-git/doc/guix.texi:16155
#, fuzzy, no-wrap
msgid "guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)'\n"
msgstr "guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)'\n"

#. type: table
#: guix-git/doc/guix.texi:16160
#, fuzzy
msgid "Display the graph for @var{system}---e.g., @code{i686-linux}."
msgstr "显示 @var{system} 的图形---例如,@code{i686-linux}。"

#. type: table
#: guix-git/doc/guix.texi:16163
#, fuzzy
msgid "The package dependency graph is largely architecture-independent, but there are some architecture-dependent bits that this option allows you to visualize."
msgstr "软件包依赖图在很大程度上与架构无关,但有一些架构相关的部分可以通过此选项进行可视化。"

#. type: Plain text
#: guix-git/doc/guix.texi:16179
#, fuzzy
msgid "On top of that, @command{guix graph} supports all the usual package transformation options (@pxref{Package Transformation Options}).  This makes it easy to view the effect of a graph-rewriting transformation such as @option{--with-input}.  For example, the command below outputs the graph of @code{git} once @code{openssl} has been replaced by @code{libressl} everywhere in the graph:"
msgstr "此外,@command{guix graph} 支持所有常见的软件包转换选项 (@pxref{Package Transformation Options})。这使得查看图形重写转换的效果变得简单,例如 @option{--with-input}。例如,下面的命令在 @code{openssl} 被 @code{libressl} 替换后输出 @code{git} 的图形:"

#. type: example
#: guix-git/doc/guix.texi:16182
#, fuzzy, no-wrap
msgid "guix graph git --with-input=openssl=libressl\n"
msgstr "guix graph git --with-input=openssl=libressl\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16185
#, fuzzy
msgid "So many possibilities, so much fun!"
msgstr "有这么多可能性,真是太有趣了!"

#. type: section
#: guix-git/doc/guix.texi:16187
#, fuzzy, no-wrap
msgid "Invoking @command{guix publish}"
msgstr "调用 @command{guix publish}"

#. type: command{#1}
#: guix-git/doc/guix.texi:16189
#, fuzzy, no-wrap
msgid "guix publish"
msgstr "guix publish"

#. type: Plain text
#: guix-git/doc/guix.texi:16193
#, fuzzy
msgid "The purpose of @command{guix publish} is to enable users to easily share their store with others, who can then use it as a substitute server (@pxref{Substitutes})."
msgstr "@command{guix publish} 的目的是使用户能够轻松地与他人共享他们的存储,这样其他人就可以将其用作替代服务器 (@pxref{Substitutes})。"

#. type: Plain text
#: guix-git/doc/guix.texi:16199
#, fuzzy
msgid "When @command{guix publish} runs, it spawns an HTTP server which allows anyone with network access to obtain substitutes from it.  This means that any machine running Guix can also act as if it were a build farm, since the HTTP interface is compatible with Cuirass, the software behind the @code{@value{SUBSTITUTE-SERVER-1}} build farm."
msgstr "当 @command{guix publish} 运行时,它会生成一个 HTTP 服务器,允许任何具有网络访问权限的人从中获取替代品。这意味着任何运行 Guix 的机器也可以像构建农场一样工作,因为 HTTP 接口与 @code{@value{SUBSTITUTE-SERVER-1}} 构建农场背后的软件 Cuirass 兼容。"

#. type: Plain text
#: guix-git/doc/guix.texi:16205
#, fuzzy
msgid "For security, each substitute is signed, allowing recipients to check their authenticity and integrity (@pxref{Substitutes}).  Because @command{guix publish} uses the signing key of the system, which is only readable by the system administrator, it must be started as root; the @option{--user} option makes it drop root privileges early on."
msgstr "出于安全考虑,每个替代品都经过签名,允许接收者检查其真实性和完整性 (@pxref{Substitutes})。由于 @command{guix publish} 使用系统的签名密钥,而该密钥仅可由系统管理员读取,因此必须以 root 身份启动;@option{--user} 选项使其在早期放弃 root 权限。"

#. type: Plain text
#: guix-git/doc/guix.texi:16209
#, fuzzy
msgid "The signing key pair must be generated before @command{guix publish} is launched, using @command{guix archive --generate-key} (@pxref{Invoking guix archive})."
msgstr "在启动 @command{guix publish} 之前,必须生成签名密钥对,使用 @command{guix archive --generate-key} (@pxref{Invoking guix archive})。"

#. type: Plain text
#: guix-git/doc/guix.texi:16214
#, fuzzy
msgid "When the @option{--advertise} option is passed, the server advertises its availability on the local network using multicast DNS (mDNS) and DNS service discovery (DNS-SD), currently @i{via} Guile-Avahi (@pxref{Top,,, guile-avahi, Using Avahi in Guile Scheme Programs})."
msgstr "当传递 @option{--advertise} 选项时,服务器通过多播 DNS (mDNS) 和 DNS 服务发现 (DNS-SD) 在本地网络上宣传其可用性,目前是通过 Guile-Avahi (@pxref{Top,,, guile-avahi, Using Avahi in Guile Scheme Programs})。"

#. type: example
#: guix-git/doc/guix.texi:16219
#, fuzzy, no-wrap
msgid "guix publish @var{options}@dots{}\n"
msgstr "guix publish @var{options}@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16223
#, fuzzy
msgid "Running @command{guix publish} without any additional arguments will spawn an HTTP server on port 8080:"
msgstr "运行 @command{guix publish} 而不带任何额外参数将会在 8080 端口上启动一个 HTTP 服务器:"

#. type: example
#: guix-git/doc/guix.texi:16226
#, fuzzy, no-wrap
msgid "guix publish\n"
msgstr "guix publish\n"

#. type: cindex
#: guix-git/doc/guix.texi:16228
#, fuzzy, no-wrap
msgid "socket activation, for @command{guix publish}"
msgstr "套接字激活,适用于 @command{guix publish}"

#. type: Plain text
#: guix-git/doc/guix.texi:16232
#, fuzzy
msgid "@command{guix publish} can also be started following the systemd ``socket activation'' protocol (@pxref{Service De- and Constructors, @code{make-systemd-constructor},, shepherd, The GNU Shepherd Manual})."
msgstr "@command{guix publish} 也可以按照 systemd 的“套接字激活”协议启动 (@pxref{Service De- and Constructors, @code{make-systemd-constructor},, shepherd, The GNU Shepherd Manual})。"

#. type: Plain text
#: guix-git/doc/guix.texi:16235
#, fuzzy
msgid "Once a publishing server has been authorized, the daemon may download substitutes from it.  @xref{Getting Substitutes from Other Servers}."
msgstr "一旦发布服务器被授权,守护进程可以从中下载替代品。 @xref{Getting Substitutes from Other Servers}。"

#. type: Plain text
#: guix-git/doc/guix.texi:16243
#, fuzzy
msgid "By default, @command{guix publish} compresses archives on the fly as it serves them.  This ``on-the-fly'' mode is convenient in that it requires no setup and is immediately available.  However, when serving lots of clients, we recommend using the @option{--cache} option, which enables caching of the archives before they are sent to clients---see below for details.  The @command{guix weather} command provides a handy way to check what a server provides (@pxref{Invoking guix weather})."
msgstr "默认情况下,@command{guix publish} 在提供归档时会实时压缩它们。这个“实时”模式方便,因为它不需要任何设置并且立即可用。然而,当服务大量客户端时,我们建议使用 @option{--cache} 选项,该选项在将归档发送给客户端之前启用归档的缓存——详细信息见下文。@command{guix weather} 命令提供了一种方便的方式来检查服务器提供的内容 (@pxref{Invoking guix weather})。"

#. type: Plain text
#: guix-git/doc/guix.texi:16250
#, fuzzy
msgid "As a bonus, @command{guix publish} also serves as a content-addressed mirror for source files referenced in @code{origin} records (@pxref{origin Reference}).  For instance, assuming @command{guix publish} is running on @code{example.org}, the following URL returns the raw @file{hello-2.10.tar.gz} file with the given SHA256 hash (represented in @code{nix-base32} format, @pxref{Invoking guix hash}):"
msgstr "作为额外功能,@command{guix publish} 还作为源文件的内容地址镜像,源文件在 @code{origin} 记录中被引用 (@pxref{origin Reference})。例如,假设 @command{guix publish} 在 @code{example.org} 上运行,以下 URL 返回具有给定 SHA256 哈希的原始 @file{hello-2.10.tar.gz} 文件(以 @code{nix-base32} 格式表示,@pxref{Invoking guix hash}):"

#. type: example
#: guix-git/doc/guix.texi:16253
#, fuzzy, no-wrap
msgid "http://example.org/file/hello-2.10.tar.gz/sha256/0ssi1@dots{}ndq1i\n"
msgstr "http://example.org/file/hello-2.10.tar.gz/sha256/0ssi1@dots{}ndq1i\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16257
#, fuzzy
msgid "Obviously, these URLs only work for files that are in the store; in other cases, they return 404 (``Not Found'')."
msgstr "显然,这些 URL 仅适用于存储中的文件;在其他情况下,它们返回 404(“未找到”)。"

#. type: cindex
#: guix-git/doc/guix.texi:16258
#, fuzzy, no-wrap
msgid "build logs, publication"
msgstr "构建日志,发布"

#. type: Plain text
#: guix-git/doc/guix.texi:16260
#, fuzzy
msgid "Build logs are available from @code{/log} URLs like:"
msgstr "构建日志可以通过 @code{/log} URL 获取,例如:"

#. type: example
#: guix-git/doc/guix.texi:16263
#, fuzzy, no-wrap
msgid "http://example.org/log/gwspk@dots{}-guile-2.2.3\n"
msgstr "http://example.org/log/gwspk@dots{}-guile-2.2.3\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16273
#, fuzzy
msgid "When @command{guix-daemon} is configured to save compressed build logs, as is the case by default (@pxref{Invoking guix-daemon}), @code{/log} URLs return the compressed log as-is, with an appropriate @code{Content-Type} and/or @code{Content-Encoding} header.  We recommend running @command{guix-daemon} with @option{--log-compression=gzip} since Web browsers can automatically decompress it, which is not the case with Bzip2 compression."
msgstr "当 @command{guix-daemon} 被配置为保存压缩的构建日志时,默认情况下就是这样 (@pxref{Invoking guix-daemon}),@code{/log} URL 将原样返回压缩日志,并带有适当的 @code{Content-Type} 和/或 @code{Content-Encoding} 头。我们建议使用 @option{--log-compression=gzip} 运行 @command{guix-daemon},因为 Web 浏览器可以自动解压缩它,而 Bzip2 压缩则不支持。"

#. type: item
#: guix-git/doc/guix.texi:16277
#, fuzzy, no-wrap
msgid "--port=@var{port}"
msgstr "--port=@var{port}"

#. type: itemx
#: guix-git/doc/guix.texi:16278
#, fuzzy, no-wrap
msgid "-p @var{port}"
msgstr "-p @var{port}"

#. type: table
#: guix-git/doc/guix.texi:16280
#, fuzzy
msgid "Listen for HTTP requests on @var{port}."
msgstr "在 @var{port} 上监听 HTTP 请求。"

#. type: item
#: guix-git/doc/guix.texi:16281
#, fuzzy, no-wrap
msgid "--listen=@var{host}"
msgstr "--listen=@var{host}"

#. type: table
#: guix-git/doc/guix.texi:16284
#, fuzzy
msgid "Listen on the network interface for @var{host}.  The default is to accept connections from any interface."
msgstr "在网络接口上监听 @var{host}。默认情况下接受来自任何接口的连接。"

#. type: table
#: guix-git/doc/guix.texi:16289
#, fuzzy
msgid "Change privileges to @var{user} as soon as possible---i.e., once the server socket is open and the signing key has been read."
msgstr "尽快更改权限为 @var{user}——即,一旦服务器套接字打开并且签名密钥已被读取。"

#. type: item
#: guix-git/doc/guix.texi:16290
#, fuzzy, no-wrap
msgid "--compression[=@var{method}[:@var{level}]]"
msgstr "--log-compression=@var{type}"

#. type: itemx
#: guix-git/doc/guix.texi:16291
#, fuzzy, no-wrap
msgid "-C [@var{method}[:@var{level}]]"
msgstr "-C [@var{method}[:@var{level}]]"

#. type: table
#: guix-git/doc/guix.texi:16295
#, fuzzy
msgid "Compress data using the given @var{method} and @var{level}.  @var{method} is one of @code{lzip}, @code{zstd}, and @code{gzip}; when @var{method} is omitted, @code{gzip} is used."
msgstr "使用给定的 @var{method} 和 @var{level} 压缩数据。 @var{method} 是 @code{lzip}、@code{zstd} 和 @code{gzip} 之一;当省略 @var{method} 时,使用 @code{gzip}。"

#. type: table
#: guix-git/doc/guix.texi:16299
#, fuzzy
msgid "When @var{level} is zero, disable compression.  The range 1 to 9 corresponds to different compression levels: 1 is the fastest, and 9 is the best (CPU-intensive).  The default is 3."
msgstr "当 @var{level} 为零时,禁用压缩。范围 1 到 9 对应于不同的压缩级别:1 是最快的,9 是最好的(CPU 密集型)。默认值为 3。"

#. type: table
#: guix-git/doc/guix.texi:16306
#, fuzzy
msgid "Usually, @code{lzip} compresses noticeably better than @code{gzip} for a small increase in CPU usage; see @uref{https://nongnu.org/lzip/lzip_benchmark.html,benchmarks on the lzip Web page}.  However, @code{lzip} achieves low decompression throughput (on the order of 50@tie{}MiB/s on modern hardware), which can be a bottleneck for someone who downloads over a fast network connection."
msgstr "通常,@code{lzip} 的压缩效果明显优于 @code{gzip},CPU 使用率略有增加;请参见 @uref{https://nongnu.org/lzip/lzip_benchmark.html, lzip 网页上的基准测试}。然而,@code{lzip} 的解压缩吞吐量较低(在现代硬件上约为 50@tie{}MiB/s),这可能会成为通过快速网络连接下载的用户的瓶颈。"

#. type: table
#: guix-git/doc/guix.texi:16310
#, fuzzy
msgid "The compression ratio of @code{zstd} is between that of @code{lzip} and that of @code{gzip}; its main advantage is a @uref{https://facebook.github.io/zstd/,high decompression speed}."
msgstr "@code{zstd} 的压缩比介于 @code{lzip} 和 @code{gzip} 之间;其主要优点是 @uref{https://facebook.github.io/zstd/, 高解压缩速度}。"

#. type: table
#: guix-git/doc/guix.texi:16319
#, fuzzy
msgid "Unless @option{--cache} is used, compression occurs on the fly and the compressed streams are not cached.  Thus, to reduce load on the machine that runs @command{guix publish}, it may be a good idea to choose a low compression level, to run @command{guix publish} behind a caching proxy, or to use @option{--cache}.  Using @option{--cache} has the advantage that it allows @command{guix publish} to add @code{Content-Length} HTTP header to its responses."
msgstr "除非使用 @option{--cache},否则压缩是在飞行中进行的,压缩流不会被缓存。因此,为了减少运行 @command{guix publish} 的机器的负载,选择较低的压缩级别、在缓存代理后运行 @command{guix publish} 或使用 @option{--cache} 可能是个好主意。使用 @option{--cache} 的好处是它允许 @command{guix publish} 在其响应中添加 @code{Content-Length} HTTP 头。"

#. type: table
#: guix-git/doc/guix.texi:16324
#, fuzzy
msgid "This option can be repeated, in which case every substitute gets compressed using all the selected methods, and all of them are advertised.  This is useful when users may not support all the compression methods: they can select the one they support."
msgstr "此选项可以重复使用,在这种情况下,每个替代品都使用所有选定的方法进行压缩,并且所有方法都会被宣传。当用户可能不支持所有压缩方法时,这很有用:他们可以选择他们支持的方法。"

#. type: item
#: guix-git/doc/guix.texi:16325
#, fuzzy, no-wrap
msgid "--cache=@var{directory}"
msgstr "--cache=@var{directory}"

#. type: itemx
#: guix-git/doc/guix.texi:16326
#, fuzzy, no-wrap
msgid "-c @var{directory}"
msgstr "-c @var{directory}"

#. type: table
#: guix-git/doc/guix.texi:16329
#, fuzzy
msgid "Cache archives and meta-data (@code{.narinfo} URLs) to @var{directory} and only serve archives that are in cache."
msgstr "将缓存档案和元数据(@code{.narinfo} URLs)存储到 @var{directory} 中,并仅提供缓存中的档案。"

#. type: table
#: guix-git/doc/guix.texi:16337
#, fuzzy
msgid "When this option is omitted, archives and meta-data are created on-the-fly.  This can reduce the available bandwidth, especially when compression is enabled, since this may become CPU-bound.  Another drawback of the default mode is that the length of archives is not known in advance, so @command{guix publish} does not add a @code{Content-Length} HTTP header to its responses, which in turn prevents clients from knowing the amount of data being downloaded."
msgstr "当省略此选项时,档案和元数据会即时创建。这可能会减少可用带宽,特别是在启用压缩时,因为这可能会变得依赖于 CPU。默认模式的另一个缺点是档案的长度无法提前知道,因此 @command{guix publish} 不会在其响应中添加 @code{Content-Length} HTTP 头,这反过来又阻止了客户端知道正在下载的数据量。"

#. type: table
#: guix-git/doc/guix.texi:16345
#, fuzzy
msgid "Conversely, when @option{--cache} is used, the first request for a store item (@i{via} a @code{.narinfo} URL) triggers a background process to @dfn{bake} the archive---computing its @code{.narinfo} and compressing the archive, if needed.  Once the archive is cached in @var{directory}, subsequent requests succeed and are served directly from the cache, which guarantees that clients get the best possible bandwidth."
msgstr "相反,当使用 @option{--cache} 时,对存储项的第一次请求(@i{通过} @code{.narinfo} URL)会触发一个后台进程来 @dfn{烘焙} 档案——计算其 @code{.narinfo} 并在需要时压缩档案。一旦档案被缓存到 @var{directory} 中,后续请求将成功并直接从缓存中提供,这保证了客户端获得最佳的带宽。"

#. type: table
#: guix-git/doc/guix.texi:16352
#, fuzzy
msgid "That first @code{.narinfo} request nonetheless returns 200, provided the requested store item is ``small enough'', below the cache bypass threshold---see @option{--cache-bypass-threshold} below.  That way, clients do not have to wait until the archive is baked.  For larger store items, the first @code{.narinfo} request returns 404, meaning that clients have to wait until the archive is baked."
msgstr "尽管如此,第一次 @code{.narinfo} 请求仍然返回 200,前提是请求的存储项“足够小”,低于缓存绕过阈值——请参见下面的 @option{--cache-bypass-threshold}。这样,客户端不必等待档案被烘焙。对于较大的存储项,第一次 @code{.narinfo} 请求返回 404,这意味着客户端必须等待档案被烘焙。"

#. type: table
#: guix-git/doc/guix.texi:16356
#, fuzzy
msgid "The ``baking'' process is performed by worker threads.  By default, one thread per CPU core is created, but this can be customized.  See @option{--workers} below."
msgstr "“烘焙”过程由工作线程执行。默认情况下,每个 CPU 核心创建一个线程,但这可以自定义。请参见下面的 @option{--workers}。"

#. type: table
#: guix-git/doc/guix.texi:16359
#, fuzzy
msgid "When @option{--ttl} is used, cached entries are automatically deleted when they have expired."
msgstr "当使用 @option{--ttl} 时,缓存条目在过期后会自动删除。"

#. type: item
#: guix-git/doc/guix.texi:16360
#, fuzzy, no-wrap
msgid "--workers=@var{N}"
msgstr "--workers=@var{N}"

#. type: table
#: guix-git/doc/guix.texi:16363
#, fuzzy
msgid "When @option{--cache} is used, request the allocation of @var{N} worker threads to ``bake'' archives."
msgstr "当使用 @option{--cache} 时,请求分配 @var{N} 个工作线程来“烘焙”档案。"

#. type: item
#: guix-git/doc/guix.texi:16364
#, fuzzy, no-wrap
msgid "--ttl=@var{ttl}"
msgstr "--ttl=@var{ttl}"

#. type: table
#: guix-git/doc/guix.texi:16368 guix-git/doc/guix.texi:41297
#, fuzzy
msgid "Produce @code{Cache-Control} HTTP headers that advertise a time-to-live (TTL) of @var{ttl}.  @var{ttl} must denote a duration: @code{5d} means 5 days, @code{1m} means 1 month, and so on."
msgstr "生成 @code{Cache-Control} HTTP 头,宣传 @var{ttl} 的生存时间(TTL)。@var{ttl} 必须表示一个持续时间:@code{5d} 表示 5 天,@code{1m} 表示 1 个月,依此类推。"

#. type: table
#: guix-git/doc/guix.texi:16373
#, fuzzy
msgid "This allows the user's Guix to keep substitute information in cache for @var{ttl}.  However, note that @code{guix publish} does not itself guarantee that the store items it provides will indeed remain available for as long as @var{ttl}."
msgstr "这允许用户的 Guix 在缓存中保留替代信息,持续时间为 @var{ttl}。但是,请注意 @code{guix publish} 本身并不保证它提供的存储项确实会在 @var{ttl} 的时间内保持可用。"

#. type: table
#: guix-git/doc/guix.texi:16377
#, fuzzy
msgid "Additionally, when @option{--cache} is used, cached entries that have not been accessed for @var{ttl} and that no longer have a corresponding item in the store, may be deleted."
msgstr "此外,当使用 @option{--cache} 时,未被访问的缓存条目在 @var{ttl} 过期后且在存储中不再有对应项时,可以被删除。"

#. type: item
#: guix-git/doc/guix.texi:16378
#, fuzzy, no-wrap
msgid "--negative-ttl=@var{ttl}"
msgstr "--negative-ttl=@var{ttl}"

#. type: table
#: guix-git/doc/guix.texi:16383 guix-git/doc/guix.texi:41314
#, fuzzy
msgid "Similarly produce @code{Cache-Control} HTTP headers to advertise the time-to-live (TTL) of @emph{negative} lookups---missing store items, for which the HTTP 404 code is returned.  By default, no negative TTL is advertised."
msgstr "类似地,生成 @code{Cache-Control} HTTP 头以宣传 @emph{负} 查找的生存时间(TTL)——缺失的存储项,返回 HTTP 404 代码。默认情况下,不会宣传负 TTL。"

#. type: table
#: guix-git/doc/guix.texi:16387
#, fuzzy
msgid "This parameter can help adjust server load and substitute latency by instructing cooperating clients to be more or less patient when a store item is missing."
msgstr "此参数可以帮助调整服务器负载和替代延迟,通过指示合作客户端在缺少存储项时更加或更少耐心。"

#. type: item
#: guix-git/doc/guix.texi:16388
#, fuzzy, no-wrap
msgid "--cache-bypass-threshold=@var{size}"
msgstr "--cache-bypass-threshold=@var{size}"

#. type: table
#: guix-git/doc/guix.texi:16393
#, fuzzy
msgid "When used in conjunction with @option{--cache}, store items smaller than @var{size} are immediately available, even when they are not yet in cache.  @var{size} is a size in bytes, or it can be suffixed by @code{M} for megabytes and so on.  The default is @code{10M}."
msgstr "当与 @option{--cache} 一起使用时,存储项小于 @var{size} 的项会立即可用,即使它们尚未在缓存中。@var{size} 是以字节为单位的大小,或者可以用 @code{M} 后缀表示兆字节,依此类推。默认值为 @code{10M}。"

#. type: table
#: guix-git/doc/guix.texi:16398
#, fuzzy
msgid "``Cache bypass'' allows you to reduce the publication delay for clients at the expense of possibly additional I/O and CPU use on the server side: depending on the client access patterns, those store items can end up being baked several times until a copy is available in cache."
msgstr "``缓存绕过'' 允许您减少客户端的发布延迟,但可能会增加服务器端的 I/O 和 CPU 使用:根据客户端的访问模式,这些存储项可能会被多次处理,直到缓存中有可用副本。"

#. type: table
#: guix-git/doc/guix.texi:16402
#, fuzzy
msgid "Increasing the threshold may be useful for sites that have few users, or to guarantee that users get substitutes even for store items that are not popular."
msgstr "增加阈值可能对用户较少的网站有用,或确保用户即使对于不受欢迎的存储项也能获得替代品。"

#. type: item
#: guix-git/doc/guix.texi:16403
#, fuzzy, no-wrap
msgid "--nar-path=@var{path}"
msgstr "--nar-path=@var{path}"

#. type: table
#: guix-git/doc/guix.texi:16406
#, fuzzy
msgid "Use @var{path} as the prefix for the URLs of ``nar'' files (@pxref{Invoking guix archive, normalized archives})."
msgstr "使用 @var{path} 作为 ``nar'' 文件的 URL 前缀 (@pxref{Invoking guix archive, normalized archives})。"

#. type: table
#: guix-git/doc/guix.texi:16410
#, fuzzy
msgid "By default, nars are served at a URL such as @code{/nar/gzip/@dots{}-coreutils-8.25}.  This option allows you to change the @code{/nar} part to @var{path}."
msgstr "默认情况下,nars 在类似 @code{/nar/gzip/@dots{}-coreutils-8.25} 的 URL 上提供。此选项允许您将 @code{/nar} 部分更改为 @var{path}。"

#. type: item
#: guix-git/doc/guix.texi:16411
#, fuzzy, no-wrap
msgid "--public-key=@var{file}"
msgstr "--public-key=@var{file}"

#. type: itemx
#: guix-git/doc/guix.texi:16412
#, fuzzy, no-wrap
msgid "--private-key=@var{file}"
msgstr "--private-key=@var{file}"

#. type: table
#: guix-git/doc/guix.texi:16415 guix-git/doc/guix.texi:36138
#: guix-git/doc/guix.texi:36175
#, fuzzy
msgid "Use the specific @var{file}s as the public/private key pair used to sign the store items being published."
msgstr "使用特定的 @var{file} 作为用于签署正在发布的存储项的公钥/私钥对。"

#. type: table
#: guix-git/doc/guix.texi:16422
#, fuzzy
msgid "The files must correspond to the same key pair (the private key is used for signing and the public key is merely advertised in the signature metadata).  They must contain keys in the canonical s-expression format as produced by @command{guix archive --generate-key} (@pxref{Invoking guix archive}).  By default, @file{/etc/guix/signing-key.pub} and @file{/etc/guix/signing-key.sec} are used."
msgstr "这些文件必须对应于同一密钥对(私钥用于签名,公钥仅在签名元数据中宣传)。它们必须包含由 @command{guix archive --generate-key} 生成的规范 s 表达式格式的密钥 (@pxref{Invoking guix archive})。默认情况下,使用 @file{/etc/guix/signing-key.pub} 和 @file{/etc/guix/signing-key.sec}。"

#. type: item
#: guix-git/doc/guix.texi:16423
#, fuzzy, no-wrap
msgid "--repl[=@var{port}]"
msgstr "--repl[=@var{port}]"

#. type: itemx
#: guix-git/doc/guix.texi:16424
#, fuzzy, no-wrap
msgid "-r [@var{port}]"
msgstr "-r [@var{port}]"

#. type: table
#: guix-git/doc/guix.texi:16428
#, fuzzy
msgid "Spawn a Guile REPL server (@pxref{REPL Servers,,, guile, GNU Guile Reference Manual}) on @var{port} (37146 by default).  This is used primarily for debugging a running @command{guix publish} server."
msgstr "在@var{port}(默认37146)上启动一个Guile REPL服务器(@pxref{REPL Servers,,, guile, GNU Guile Reference Manual})。这主要用于调试正在运行的@command{guix publish}服务器。"

#. type: Plain text
#: guix-git/doc/guix.texi:16434
#, fuzzy
msgid "Enabling @command{guix publish} on Guix System is a one-liner: just instantiate a @code{guix-publish-service-type} service in the @code{services} field of the @code{operating-system} declaration (@pxref{guix-publish-service-type, @code{guix-publish-service-type}})."
msgstr "在Guix系统上启用@command{guix publish}只需一行代码:只需在@code{operating-system}声明的@code{services}字段中实例化一个@code{guix-publish-service-type}服务(@pxref{guix-publish-service-type, @code{guix-publish-service-type}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:16437
#, fuzzy
msgid "If you are instead running Guix on a ``foreign distro'', follow these instructions:"
msgstr "如果您是在“外部发行版”上运行Guix,请按照以下说明操作:"

#. type: itemize
#: guix-git/doc/guix.texi:16441
#, fuzzy
msgid "If your host distro uses the systemd init system:"
msgstr "如果您的主机发行版使用systemd初始化系统:"

#. type: example
#: guix-git/doc/guix.texi:16446
#, fuzzy, no-wrap
msgid ""
"# ln -s ~root/.guix-profile/lib/systemd/system/guix-publish.service \\\n"
"        /etc/systemd/system/\n"
"# systemctl start guix-publish && systemctl enable guix-publish\n"
msgstr ""
"# ln -s ~root/.guix-profile/lib/systemd/system/guix-publish.service \\\n"
"        /etc/systemd/system/\n"
"# systemctl start guix-publish && systemctl enable guix-publish\n"

#. type: itemize
#: guix-git/doc/guix.texi:16450
msgid "If your host distro uses the Upstart init system:"
msgstr "如果你的主机的发行版使用Upstart init系统:"

#. type: example
#: guix-git/doc/guix.texi:16454
#, fuzzy, no-wrap
msgid ""
"# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf /etc/init/\n"
"# start guix-publish\n"
msgstr ""
"# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf /etc/init/\n"
"# start guix-publish\n"

#. type: itemize
#: guix-git/doc/guix.texi:16458
#, fuzzy
msgid "Otherwise, proceed similarly with your distro's init system."
msgstr "否则,请根据您发行版的初始化系统进行类似操作。"

#. type: section
#: guix-git/doc/guix.texi:16461
#, fuzzy, no-wrap
msgid "Invoking @command{guix challenge}"
msgstr "调用@command{guix challenge}"

#. type: cindex
#: guix-git/doc/guix.texi:16464
#, fuzzy, no-wrap
msgid "verifiable builds"
msgstr "可验证的构建"

#. type: command{#1}
#: guix-git/doc/guix.texi:16465
#, fuzzy, no-wrap
msgid "guix challenge"
msgstr "guix challenge"

#. type: cindex
#: guix-git/doc/guix.texi:16466
#, fuzzy, no-wrap
msgid "challenge"
msgstr "挑战"

#. type: Plain text
#: guix-git/doc/guix.texi:16471
#, fuzzy
msgid "Do the binaries provided by this server really correspond to the source code it claims to build? Is a package build process deterministic? These are the questions the @command{guix challenge} command attempts to answer."
msgstr "这个服务器提供的二进制文件真的与它声称构建的源代码相对应吗?包的构建过程是确定性的吗?这些是@command{guix challenge}命令试图回答的问题。"

#. type: Plain text
#: guix-git/doc/guix.texi:16479
#, fuzzy
msgid "The former is obviously an important question: Before using a substitute server (@pxref{Substitutes}), one had better @emph{verify} that it provides the right binaries, and thus @emph{challenge} it.  The latter is what enables the former: If package builds are deterministic, then independent builds of the package should yield the exact same result, bit for bit; if a server provides a binary different from the one obtained locally, it may be either corrupt or malicious."
msgstr "前者显然是一个重要问题:在使用替代服务器(@pxref{Substitutes})之前,最好@emph{验证}它提供了正确的二进制文件,因此@emph{挑战}它。后者使前者成为可能:如果包的构建是确定性的,那么包的独立构建应该逐位产生完全相同的结果;如果服务器提供的二进制文件与本地获得的不同,则可能是损坏或恶意的。"

#. type: Plain text
#: guix-git/doc/guix.texi:16488
#, fuzzy
msgid "We know that the hash that shows up in @file{/gnu/store} file names is the hash of all the inputs of the process that built the file or directory---compilers, libraries, build scripts, etc. (@pxref{Introduction}).  Assuming deterministic build processes, one store file name should map to exactly one build output.  @command{guix challenge} checks whether there is, indeed, a single mapping by comparing the build outputs of several independent builds of any given store item."
msgstr "我们知道出现在@file{/gnu/store}文件名中的哈希是构建该文件或目录的过程的所有输入的哈希——编译器、库、构建脚本等(@pxref{Introduction})。假设构建过程是确定性的,一个存储文件名应该映射到确切的一个构建输出。@command{guix challenge}通过比较任何给定存储项的多个独立构建的构建输出,检查是否确实存在单一映射。"

#. type: Plain text
#: guix-git/doc/guix.texi:16490
#, fuzzy
msgid "The command output looks like this:"
msgstr "命令输出如下:"

#. type: smallexample
#: guix-git/doc/guix.texi:16504
#, fuzzy, no-wrap
msgid ""
"$ guix challenge \\\n"
"  --substitute-urls=\"https://@value{SUBSTITUTE-SERVER-1} https://guix.example.org\" \\\n"
"  openssl git pius coreutils grep\n"
"updating substitutes from 'https://@value{SUBSTITUTE-SERVER-1}'... 100.0%\n"
"updating substitutes from 'https://guix.example.org'... 100.0%\n"
"/gnu/store/@dots{}-openssl-1.0.2d contents differ:\n"
"  local hash: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n"
"  https://@value{SUBSTITUTE-SERVER-1}/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n"
"  https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim\n"
"  differing files:\n"
"    /lib/libcrypto.so.1.1\n"
"    /lib/libssl.so.1.1\n"
"\n"
msgstr ""
"$ guix challenge \\\n"
"  --substitute-urls=\"https://@value{SUBSTITUTE-SERVER-1} https://guix.example.org\" \\\n"
"  openssl git pius coreutils grep\n"
"从 'https://@value{SUBSTITUTE-SERVER-1}' 更新替代项... 100.0%\n"
"从 'https://guix.example.org' 更新替代项... 100.0%\n"
"/gnu/store/@dots{}-openssl-1.0.2d 内容不同:\n"
"  本地哈希:0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n"
"  https://@value{SUBSTITUTE-SERVER-1}/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n"
"  https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim\n"
"  不同的文件:\n"
"    /lib/libcrypto.so.1.1\n"
"    /lib/libssl.so.1.1\n"
"\n"

#. type: smallexample
#: guix-git/doc/guix.texi:16511
#, fuzzy, no-wrap
msgid ""
"/gnu/store/@dots{}-git-2.5.0 contents differ:\n"
"  local hash: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha\n"
"  https://@value{SUBSTITUTE-SERVER-1}/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f\n"
"  https://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73\n"
"  differing file:\n"
"    /libexec/git-core/git-fsck\n"
"\n"
msgstr ""
"/gnu/store/@dots{}-git-2.5.0 内容不同:\n"
"  本地哈希:00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha\n"
"  https://@value{SUBSTITUTE-SERVER-1}/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f\n"
"  https://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73\n"
"  不同的文件:\n"
"    /libexec/git-core/git-fsck\n"
"\n"

#. type: smallexample
#: guix-git/doc/guix.texi:16518
#, fuzzy, no-wrap
msgid ""
"/gnu/store/@dots{}-pius-2.1.1 contents differ:\n"
"  local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n"
"  https://@value{SUBSTITUTE-SERVER-1}/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n"
"  https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs\n"
"  differing file:\n"
"    /share/man/man1/pius.1.gz\n"
"\n"
msgstr ""
"/gnu/store/@dots{}-pius-2.1.1 内容不同:\n"
"  本地哈希:0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n"
"  https://@value{SUBSTITUTE-SERVER-1}/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n"
"  https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs\n"
"  不同的文件:\n"
"    /share/man/man1/pius.1.gz\n"
"\n"

#. type: smallexample
#: guix-git/doc/guix.texi:16520
#, fuzzy, no-wrap
msgid ""
"@dots{}\n"
"\n"
msgstr ""
"@dots{}\n"
"\n"

#. type: smallexample
#: guix-git/doc/guix.texi:16525
#, fuzzy, no-wrap
msgid ""
"5 store items were analyzed:\n"
"  - 2 (40.0%) were identical\n"
"  - 3 (60.0%) differed\n"
"  - 0 (0.0%) were inconclusive\n"
msgstr ""
"分析了 5 个存储项:\n"
"  - 2 (40.0%) 是相同的\n"
"  - 3 (60.0%) 不同\n"
"  - 0 (0.0%) 是不确定的\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16535
#, fuzzy
msgid "In this example, @command{guix challenge} queries all the substitute servers for each of the fives packages specified on the command line.  It then reports those store items for which the servers obtained a result different from the local build (if it exists) and/or different from one another; here, the @samp{local hash} lines indicate that a local build result was available for each of these packages and shows its hash."
msgstr "在这个示例中,@command{guix challenge} 查询所有替代服务器,以获取命令行中指定的五个软件包。 然后,它报告那些服务器获得的结果与本地构建(如果存在)和/或彼此不同的存储项;这里,@samp{local hash} 行表明每个软件包都有可用的本地构建结果,并显示其哈希。"

#. type: cindex
#: guix-git/doc/guix.texi:16536
#, fuzzy, no-wrap
msgid "non-determinism, in package builds"
msgstr "非确定性,在软件包构建中"

#. type: Plain text
#: guix-git/doc/guix.texi:16547
#, fuzzy
msgid "As an example, @code{guix.example.org} always gets a different answer.  Conversely, @code{@value{SUBSTITUTE-SERVER-1}} agrees with local builds, except in the case of Git.  This might indicate that the build process of Git is non-deterministic, meaning that its output varies as a function of various things that Guix does not fully control, in spite of building packages in isolated environments (@pxref{Features}).  Most common sources of non-determinism include the addition of timestamps in build results, the inclusion of random numbers, and directory listings sorted by inode number.  See @uref{https://reproducible-builds.org/docs/}, for more information."
msgstr "作为一个例子,@code{guix.example.org} 总是得到不同的答案。相反,@code{@value{SUBSTITUTE-SERVER-1}} 与本地构建一致,除了在 Git 的情况下。这可能表明 Git 的构建过程是非确定性的,这意味着其输出会随着 Guix 无法完全控制的各种因素而变化,尽管是在隔离环境中构建软件包(@pxref{Features})。非确定性的最常见来源包括构建结果中添加时间戳、包含随机数以及按 inode 号排序的目录列表。有关更多信息,请参见 @uref{https://reproducible-builds.org/docs/}。"

#. type: Plain text
#: guix-git/doc/guix.texi:16550
#, fuzzy
msgid "To find out what is wrong with this Git binary, the easiest approach is to run:"
msgstr "要找出这个 Git 二进制文件有什么问题,最简单的方法是运行:"

#. type: example
#: guix-git/doc/guix.texi:16555
#, fuzzy, no-wrap
msgid ""
"guix challenge git \\\n"
"  --diff=diffoscope \\\n"
"  --substitute-urls=\"https://@value{SUBSTITUTE-SERVER-1} https://guix.example.org\"\n"
msgstr ""
"guix challenge git \\\n"
"  --diff=diffoscope \\\n"
"  --substitute-urls=\"https://@value{SUBSTITUTE-SERVER-1} https://guix.example.org\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16559
#, fuzzy
msgid "This automatically invokes @command{diffoscope}, which displays detailed information about files that differ."
msgstr "这会自动调用 @command{diffoscope},它显示有关不同文件的详细信息。"

#. type: Plain text
#: guix-git/doc/guix.texi:16562
#, fuzzy
msgid "Alternatively, we can do something along these lines (@pxref{Invoking guix archive}):"
msgstr "或者,我们可以做类似的事情(@pxref{Invoking guix archive}):"

#. type: example
#: guix-git/doc/guix.texi:16567
#, fuzzy, no-wrap
msgid ""
"$ wget -q -O - https://@value{SUBSTITUTE-SERVER-1}/nar/lzip/@dots{}-git-2.5.0 \\\n"
"   | lzip -d | guix archive -x /tmp/git\n"
"$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git\n"
msgstr ""
"$ wget -q -O - https://@value{SUBSTITUTE-SERVER-1}/nar/lzip/@dots{}-git-2.5.0 \\\n"
"   | lzip -d | guix archive -x /tmp/git\n"
"$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16576
#, fuzzy
msgid "This command shows the difference between the files resulting from the local build, and the files resulting from the build on @code{@value{SUBSTITUTE-SERVER-1}} (@pxref{Overview, Comparing and Merging Files,, diffutils, Comparing and Merging Files}).  The @command{diff} command works great for text files.  When binary files differ, a better option is @uref{https://diffoscope.org/, Diffoscope}, a tool that helps visualize differences for all kinds of files."
msgstr "此命令显示本地构建生成的文件与在 @code{@value{SUBSTITUTE-SERVER-1}} 上构建生成的文件之间的差异(@pxref{Overview, Comparing and Merging Files,, diffutils, Comparing and Merging Files})。@command{diff} 命令对于文本文件效果很好。当二进制文件不同时,更好的选择是 @uref{https://diffoscope.org/, Diffoscope},这是一个帮助可视化各种文件差异的工具。"

#. type: Plain text
#: guix-git/doc/guix.texi:16584
#, fuzzy
msgid "Once you have done that work, you can tell whether the differences are due to a non-deterministic build process or to a malicious server.  We try hard to remove sources of non-determinism in packages to make it easier to verify substitutes, but of course, this is a process that involves not just Guix, but a large part of the free software community.  In the meantime, @command{guix challenge} is one tool to help address the problem."
msgstr "完成这些工作后,您可以判断差异是由于非确定性的构建过程还是恶意服务器造成的。我们努力消除软件包中的非确定性来源,以便更容易验证替代品,但当然,这个过程不仅涉及 Guix,还涉及自由软件社区的很大一部分。与此同时,@command{guix challenge} 是一个帮助解决这个问题的工具。"

#. type: Plain text
#: guix-git/doc/guix.texi:16588
#, fuzzy
msgid "If you are writing packages for Guix, you are encouraged to check whether @code{@value{SUBSTITUTE-SERVER-1}} and other substitute servers obtain the same build result as you did with:"
msgstr "如果您正在为 Guix 编写软件包,建议您检查 @code{@value{SUBSTITUTE-SERVER-1}} 和其他替代服务器是否获得与您相同的构建结果,如下所示:"

#. type: example
#: guix-git/doc/guix.texi:16591
#, fuzzy, no-wrap
msgid "guix challenge @var{package}\n"
msgstr "guix install emacs-guix\n"

#. type: example
#: guix-git/doc/guix.texi:16597
#, fuzzy, no-wrap
msgid "guix challenge @var{options} @var{argument}@dots{}\n"
msgstr "guix install emacs-guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16604
#, fuzzy
msgid "where @var{argument} is a package specification such as @code{guile@@2.0} or @code{glibc:debug} or, alternatively, a store file name as returned, for example, by @command{guix build} or @command{guix gc --list-live}."
msgstr "其中 @var{argument} 是一个软件包规范,例如 @code{guile@@2.0} 或 @code{glibc:debug},或者,作为替代,存储文件名,例如由 @command{guix build} 或 @command{guix gc --list-live} 返回的。"

#. type: Plain text
#: guix-git/doc/guix.texi:16610
#, fuzzy
msgid "When a difference is found between the hash of a locally-built item and that of a server-provided substitute, or among substitutes provided by different servers, the command displays it as in the example above and its exit code is 2 (other non-zero exit codes denote other kinds of errors)."
msgstr "当发现本地构建项的哈希与服务器提供的替代项的哈希之间存在差异,或不同服务器提供的替代项之间存在差异时,命令会像上面的示例一样显示,并且其退出代码为 2(其他非零退出代码表示其他类型的错误)。"

#. type: Plain text
#: guix-git/doc/guix.texi:16612
#, fuzzy
msgid "The one option that matters is:"
msgstr "唯一重要的选项是:"

#. type: table
#: guix-git/doc/guix.texi:16618
#, fuzzy
msgid "Consider @var{urls} the whitespace-separated list of substitute source URLs to compare to."
msgstr "将 @var{urls} 视为要比较的以空格分隔的替代源 URL 列表。"

#. type: item
#: guix-git/doc/guix.texi:16619
#, fuzzy, no-wrap
msgid "--diff=@var{mode}"
msgstr "--rounds=@var{N}"

#. type: table
#: guix-git/doc/guix.texi:16621
#, fuzzy
msgid "Upon mismatches, show differences according to @var{mode}, one of:"
msgstr "在不匹配的情况下,根据 @var{mode} 显示差异,选项之一:"

#. type: item
#: guix-git/doc/guix.texi:16623
#, fuzzy, no-wrap
msgid "@code{simple} (the default)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:16625
#, fuzzy
msgid "Show the list of files that differ."
msgstr "显示不同文件的列表。"

#. type: code{#1}
#: guix-git/doc/guix.texi:16626
#, fuzzy, no-wrap
msgid "diffoscope"
msgstr "diffoscope"

#. type: var{#1}
#: guix-git/doc/guix.texi:16627
#, fuzzy, no-wrap
msgid "command"
msgstr "命令"

#. type: table
#: guix-git/doc/guix.texi:16630
#, fuzzy
msgid "Invoke @uref{https://diffoscope.org/, Diffoscope}, passing it two directories whose contents do not match."
msgstr "调用 @uref{https://diffoscope.org/, Diffoscope},传递两个内容不匹配的目录。"

#. type: table
#: guix-git/doc/guix.texi:16633
#, fuzzy
msgid "When @var{command} is an absolute file name, run @var{command} instead of Diffoscope."
msgstr "当 @var{command} 是绝对文件名时,运行 @var{command} 而不是 Diffoscope。"

#. type: table
#: guix-git/doc/guix.texi:16636
#, fuzzy
msgid "Do not show further details about the differences."
msgstr "不显示有关差异的进一步细节。"

#. type: table
#: guix-git/doc/guix.texi:16641
#, fuzzy
msgid "Thus, unless @option{--diff=none} is passed, @command{guix challenge} downloads the store items from the given substitute servers so that it can compare them."
msgstr "因此,除非传递 @option{--diff=none},@command{guix challenge} 会从给定的替代服务器下载存储项,以便进行比较。"

#. type: item
#: guix-git/doc/guix.texi:16642
#, fuzzy, no-wrap
msgid "--verbose"
msgstr "--verbose"

#. type: itemx
#: guix-git/doc/guix.texi:16643
#, fuzzy, no-wrap
msgid "-v"
msgstr "-v"

#. type: table
#: guix-git/doc/guix.texi:16646
#, fuzzy
msgid "Show details about matches (identical contents) in addition to information about mismatches."
msgstr "除了有关不匹配的信息外,还显示有关匹配(相同内容)的详细信息。"

#. type: section
#: guix-git/doc/guix.texi:16650
#, fuzzy, no-wrap
msgid "Invoking @command{guix copy}"
msgstr "调用 @command{guix copy}"

#. type: command{#1}
#: guix-git/doc/guix.texi:16652
#, no-wrap
msgid "guix copy"
msgstr "guix copy"

#. type: cindex
#: guix-git/doc/guix.texi:16653
#, fuzzy, no-wrap
msgid "copy, of store items, over SSH"
msgstr "通过 SSH 复制存储项"

#. type: cindex
#: guix-git/doc/guix.texi:16654
#, fuzzy, no-wrap
msgid "SSH, copy of store items"
msgstr "SSH,存储项的复制"

#. type: cindex
#: guix-git/doc/guix.texi:16655
#, fuzzy, no-wrap
msgid "sharing store items across machines"
msgstr "在机器之间共享存储项"

#. type: cindex
#: guix-git/doc/guix.texi:16656
#, fuzzy, no-wrap
msgid "transferring store items across machines"
msgstr "在机器之间传输存储项"

#. type: Plain text
#: guix-git/doc/guix.texi:16663
#, fuzzy
msgid "The @command{guix copy} command copies items from the store of one machine to that of another machine over a secure shell (SSH)  connection@footnote{This command is available only when Guile-SSH was found.  @xref{Requirements}, for details.}.  For example, the following command copies the @code{coreutils} package, the user's profile, and all their dependencies over to @var{host}, logged in as @var{user}:"
msgstr "@command{guix copy} 命令通过安全外壳(SSH)连接将一台机器的存储项复制到另一台机器的存储中@footnote{此命令仅在找到 Guile-SSH 时可用。有关详细信息,请参见 @xref{Requirements}。}。例如,以下命令将 @code{coreutils} 软件包、用户的配置文件及其所有依赖项复制到 @var{host},以 @var{user} 身份登录:"

#. type: example
#: guix-git/doc/guix.texi:16667
#, fuzzy, no-wrap
msgid ""
"guix copy --to=@var{user}@@@var{host} \\\n"
"          coreutils $(readlink -f ~/.guix-profile)\n"
msgstr ""
"guix copy --to=@var{user}@@@var{host} \\\n"
"          coreutils $(readlink -f ~/.guix-profile)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16671
#, fuzzy
msgid "If some of the items to be copied are already present on @var{host}, they are not actually sent."
msgstr "如果要复制的一些项目已经存在于 @var{host} 上,它们实际上不会被发送。"

#. type: Plain text
#: guix-git/doc/guix.texi:16674
#, fuzzy
msgid "The command below retrieves @code{libreoffice} and @code{gimp} from @var{host}, assuming they are available there:"
msgstr "下面的命令从 @var{host} 获取 @code{libreoffice} 和 @code{gimp},假设它们在那里可用:"

#. type: example
#: guix-git/doc/guix.texi:16677
#, fuzzy, no-wrap
msgid "guix copy --from=@var{host} libreoffice gimp\n"
msgstr "guix copy --from=@var{host} libreoffice gimp\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16682
#, fuzzy
msgid "The SSH connection is established using the Guile-SSH client, which is compatible with OpenSSH: it honors @file{~/.ssh/known_hosts} and @file{~/.ssh/config}, and uses the SSH agent for authentication."
msgstr "SSH 连接是通过 Guile-SSH 客户端建立的,该客户端与 OpenSSH 兼容:它遵循 @file{~/.ssh/known_hosts} 和 @file{~/.ssh/config},并使用 SSH 代理进行身份验证。"

#. type: Plain text
#: guix-git/doc/guix.texi:16688
#, fuzzy
msgid "The key used to sign items that are sent must be accepted by the remote machine.  Likewise, the key used by the remote machine to sign items you are retrieving must be in @file{/etc/guix/acl} so it is accepted by your own daemon.  @xref{Invoking guix archive}, for more information about store item authentication."
msgstr "用于签名发送的项目的密钥必须被远程机器接受。同样,远程机器用于签名您正在检索的项目的密钥必须在 @file{/etc/guix/acl} 中,以便被您自己的守护进程接受。有关存储项目身份验证的更多信息,请参见 @xref{Invoking guix archive}。"

#. type: example
#: guix-git/doc/guix.texi:16693
#, fuzzy, no-wrap
msgid "guix copy [--to=@var{spec}|--from=@var{spec}] @var{items}@dots{}\n"
msgstr "guix copy [--to=@var{spec}|--from=@var{spec}] @var{items}@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16696
#, fuzzy
msgid "You must always specify one of the following options:"
msgstr "您必须始终指定以下选项之一:"

#. type: item
#: guix-git/doc/guix.texi:16698
#, fuzzy, no-wrap
msgid "--to=@var{spec}"
msgstr "--to=@var{spec}"

#. type: itemx
#: guix-git/doc/guix.texi:16699
#, fuzzy, no-wrap
msgid "--from=@var{spec}"
msgstr "--from=@var{spec}"

#. type: table
#: guix-git/doc/guix.texi:16703
#, fuzzy
msgid "Specify the host to send to or receive from.  @var{spec} must be an SSH spec such as @code{example.org}, @code{charlie@@example.org}, or @code{charlie@@example.org:2222}."
msgstr "指定要发送到或接收自的主机。 @var{spec} 必须是 SSH 规范,例如 @code{example.org}、@code{charlie@@example.org} 或 @code{charlie@@example.org:2222}。"

#. type: Plain text
#: guix-git/doc/guix.texi:16707
#, fuzzy
msgid "The @var{items} can be either package names, such as @code{gimp}, or store items, such as @file{/gnu/store/@dots{}-idutils-4.6}."
msgstr "@var{items} 可以是软件包名称,例如 @code{gimp},或存储项目,例如 @file{/gnu/store/@dots{}-idutils-4.6}。"

#. type: Plain text
#: guix-git/doc/guix.texi:16711
#, fuzzy
msgid "When specifying the name of a package to send, it is first built if needed, unless @option{--dry-run} was specified.  Common build options are supported (@pxref{Common Build Options})."
msgstr "在指定要发送的软件包名称时,如果需要,它会首先构建,除非指定了 @option{--dry-run}。支持常见的构建选项(@pxref{Common Build Options})。"

#. type: section
#: guix-git/doc/guix.texi:16714
#, fuzzy, no-wrap
msgid "Invoking @command{guix container}"
msgstr "调用 @command{guix container}"

#. type: command{#1}
#: guix-git/doc/guix.texi:16716
#, fuzzy, no-wrap
msgid "guix container"
msgstr "guix container"

#. type: quotation
#: guix-git/doc/guix.texi:16720
#, fuzzy
msgid "As of version @value{VERSION}, this tool is experimental.  The interface is subject to radical change in the future."
msgstr "从版本 @value{VERSION} 开始,此工具是实验性的。接口在未来可能会发生根本性变化。"

#. type: Plain text
#: guix-git/doc/guix.texi:16727
#, fuzzy
msgid "The purpose of @command{guix container} is to manipulate processes running within an isolated environment, commonly known as a ``container'', typically created by the @command{guix shell} (@pxref{Invoking guix shell}) and @command{guix system container} (@pxref{Invoking guix system}) commands."
msgstr "@command{guix container} 的目的是操作在隔离环境中运行的进程,通常称为“容器”,通常由 @command{guix shell}(@pxref{Invoking guix shell})和 @command{guix system container}(@pxref{Invoking guix system})命令创建。"

#. type: example
#: guix-git/doc/guix.texi:16732
#, fuzzy, no-wrap
msgid "guix container @var{action} @var{options}@dots{}\n"
msgstr "guix container @var{action} @var{options}@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16736
#, fuzzy
msgid "@var{action} specifies the operation to perform with a container, and @var{options} specifies the context-specific arguments for the action."
msgstr "@var{action} 指定要对容器执行的操作,@var{options} 指定该操作的上下文特定参数。"

#. type: Plain text
#: guix-git/doc/guix.texi:16738
#, fuzzy
msgid "The following actions are available:"
msgstr "以下操作可用:"

#. type: item
#: guix-git/doc/guix.texi:16740
#, fuzzy, no-wrap
msgid "exec"
msgstr "exec"

#. type: table
#: guix-git/doc/guix.texi:16742
#, fuzzy
msgid "Execute a command within the context of a running container."
msgstr "在运行的容器上下文中执行命令。"

#. type: table
#: guix-git/doc/guix.texi:16744
#, fuzzy
msgid "The syntax is:"
msgstr "语法为:"

#. type: example
#: guix-git/doc/guix.texi:16747
#, fuzzy, no-wrap
msgid "guix container exec @var{pid} @var{program} @var{arguments}@dots{}\n"
msgstr "guix container exec @var{pid} @var{program} @var{arguments}@dots{}\n"

#. type: table
#: guix-git/doc/guix.texi:16753
#, fuzzy
msgid "@var{pid} specifies the process ID of the running container.  @var{program} specifies an executable file name within the root file system of the container.  @var{arguments} are the additional options that will be passed to @var{program}."
msgstr "@var{pid} 指定运行容器的进程 ID。 @var{program} 指定容器根文件系统中的可执行文件名。 @var{arguments} 是将传递给 @var{program} 的附加选项。"

#. type: table
#: guix-git/doc/guix.texi:16757
#, fuzzy
msgid "The following command launches an interactive login shell inside a Guix system container, started by @command{guix system container}, and whose process ID is 9001:"
msgstr "以下命令在由 @command{guix system container} 启动的 Guix 系统容器内启动一个交互式登录 shell,其进程 ID 为 9001:"

#. type: example
#: guix-git/doc/guix.texi:16760
#, fuzzy, no-wrap
msgid "guix container exec 9001 /run/current-system/profile/bin/bash --login\n"
msgstr "guix container exec 9001 /run/current-system/profile/bin/bash --login\n"

#. type: table
#: guix-git/doc/guix.texi:16764
#, fuzzy
msgid "Note that the @var{pid} cannot be the parent process of a container.  It must be PID 1 of the container or one of its child processes."
msgstr "请注意,@var{pid} 不能是容器的父进程。 它必须是容器的 PID 1 或其子进程之一。"

#. type: section
#: guix-git/doc/guix.texi:16768
#, fuzzy, no-wrap
msgid "Invoking @command{guix weather}"
msgstr "调用 @command{guix weather}"

#. type: command{#1}
#: guix-git/doc/guix.texi:16770
#, no-wrap
msgid "guix weather"
msgstr "guix weather"

#. type: Plain text
#: guix-git/doc/guix.texi:16781
#, fuzzy
msgid "Occasionally you're grumpy because substitutes are lacking and you end up building packages by yourself (@pxref{Substitutes}).  The @command{guix weather} command reports on substitute availability on the specified servers so you can have an idea of whether you'll be grumpy today.  It can sometimes be useful info as a user, but it is primarily useful to people running @command{guix publish} (@pxref{Invoking guix publish}).  Sometimes substitutes @emph{are} available but they are not authorized on your system; @command{guix weather} reports it so you can authorize them if you want (@pxref{Getting Substitutes from Other Servers})."
msgstr "有时你会因为缺少替代品而感到不快,最终不得不自己构建软件包(@pxref{Substitutes})。 @command{guix weather} 命令报告指定服务器上的替代品可用性,以便你可以了解今天是否会感到不快。 作为用户,这有时是有用的信息,但主要对运行 @command{guix publish} 的人有用(@pxref{Invoking guix publish})。 有时替代品确实可用,但在你的系统上未被授权; @command{guix weather} 会报告这一点,以便你可以在需要时授权它们(@pxref{Getting Substitutes from Other Servers})。"

#. type: cindex
#: guix-git/doc/guix.texi:16782
#, fuzzy, no-wrap
msgid "statistics, for substitutes"
msgstr "替代品的统计信息"

#. type: cindex
#: guix-git/doc/guix.texi:16783
#, fuzzy, no-wrap
msgid "availability of substitutes"
msgstr "替代品的可用性"

#. type: cindex
#: guix-git/doc/guix.texi:16784
#, fuzzy, no-wrap
msgid "substitute availability"
msgstr "替代品可用性"

#. type: cindex
#: guix-git/doc/guix.texi:16785
#, fuzzy, no-wrap
msgid "weather, substitute availability"
msgstr "天气,替代品可用性"

#. type: Plain text
#: guix-git/doc/guix.texi:16787
#, fuzzy
msgid "Here's a sample run:"
msgstr "以下是一个示例运行:"

#. type: example
#: guix-git/doc/guix.texi:16799
#, fuzzy, no-wrap
msgid ""
"$ guix weather --substitute-urls=https://guix.example.org\n"
"computing 5,872 package derivations for x86_64-linux...\n"
"looking for 6,128 store items on https://guix.example.org..\n"
"updating substitutes from 'https://guix.example.org'... 100.0%\n"
"https://guix.example.org\n"
"  43.4% substitutes available (2,658 out of 6,128)\n"
"  7,032.5 MiB of nars (compressed)\n"
"  19,824.2 MiB on disk (uncompressed)\n"
"  0.030 seconds per request (182.9 seconds in total)\n"
"  33.5 requests per second\n"
"\n"
msgstr ""
"$ guix weather --substitute-urls=https://guix.example.org\n"
"计算 x86_64-linux 的 5,872 个软件包派生...\n"
"在 https://guix.example.org 上查找 6,128 个存储项..\n"
"从 'https://guix.example.org' 更新替代品... 100.0%\n"
"https://guix.example.org\n"
"  43.4% 替代品可用(6,128 中的 2,658)\n"
"  7,032.5 MiB 的 nars(压缩)\n"
"  19,824.2 MiB 在磁盘上(未压缩)\n"
"  每个请求 0.030 秒(总共 182.9 秒)\n"
"  每秒 33.5 个请求\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:16809
#, fuzzy, no-wrap
msgid ""
"  9.8% (342 out of 3,470) of the missing items are queued\n"
"  867 queued builds\n"
"      x86_64-linux: 518 (59.7%)\n"
"      i686-linux: 221 (25.5%)\n"
"      aarch64-linux: 128 (14.8%)\n"
"  build rate: 23.41 builds per hour\n"
"      x86_64-linux: 11.16 builds per hour\n"
"      i686-linux: 6.03 builds per hour\n"
"      aarch64-linux: 6.41 builds per hour\n"
msgstr ""
"  9.8% (342个缺失项目中的3,470) 的项目已排队\n"
"  867个排队构建\n"
"      x86_64-linux: 518 (59.7%)\n"
"      i686-linux: 221 (25.5%)\n"
"      aarch64-linux: 128 (14.8%)\n"
"  构建速率: 每小时23.41个构建\n"
"      x86_64-linux: 每小时11.16个构建\n"
"      i686-linux: 每小时6.03个构建\n"
"      aarch64-linux: 每小时6.41个构建\n"

#. type: cindex
#: guix-git/doc/guix.texi:16811
#, fuzzy, no-wrap
msgid "continuous integration, statistics"
msgstr "持续集成,统计数据"

#. type: Plain text
#: guix-git/doc/guix.texi:16822
#, fuzzy
msgid "As you can see, it reports the fraction of all the packages for which substitutes are available on the server---regardless of whether substitutes are enabled, and regardless of whether this server's signing key is authorized.  It also reports the size of the compressed archives (``nars'') provided by the server, the size the corresponding store items occupy in the store (assuming deduplication is turned off), and the server's throughput.  The second part gives continuous integration (CI) statistics, if the server supports it.  In addition, using the @option{--coverage} option, @command{guix weather} can list ``important'' package substitutes missing on the server (see below)."
msgstr "如您所见,它报告了服务器上所有可用替代包的比例——无论替代包是否启用,无论该服务器的签名密钥是否被授权。它还报告了服务器提供的压缩档案(``nars'')的大小,相应存储项目在存储中占用的大小(假设去重已关闭),以及服务器的吞吐量。第二部分提供持续集成(CI)统计数据,如果服务器支持的话。此外,使用@option{--coverage}选项,@command{guix weather}可以列出服务器上缺失的“重要”包替代品(见下文)。"

#. type: Plain text
#: guix-git/doc/guix.texi:16828
#, fuzzy
msgid "To achieve that, @command{guix weather} queries over HTTP(S) meta-data (@dfn{narinfos}) for all the relevant store items.  Like @command{guix challenge}, it ignores signatures on those substitutes, which is innocuous since the command only gathers statistics and cannot install those substitutes."
msgstr "为此,@command{guix weather}通过HTTP(S)查询所有相关存储项目的元数据(@dfn{narinfos})。像@command{guix challenge}一样,它忽略这些替代品上的签名,这没有问题,因为该命令仅收集统计数据,无法安装这些替代品。"

#. type: example
#: guix-git/doc/guix.texi:16833
#, fuzzy, no-wrap
msgid "guix weather @var{options}@dots{} [@var{packages}@dots{}]\n"
msgstr "guix weather @var{options}@dots{} [@var{packages}@dots{}]\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16841
#, fuzzy
msgid "When @var{packages} is omitted, @command{guix weather} checks the availability of substitutes for @emph{all} the packages, or for those specified with @option{--manifest}; otherwise it only considers the specified packages.  It is also possible to query specific system types with @option{--system}.  @command{guix weather} exits with a non-zero code when the fraction of available substitutes is below 100%."
msgstr "当省略@var{packages}时,@command{guix weather}检查@emph{所有}包的替代品可用性,或检查使用@option{--manifest}指定的包;否则,它仅考虑指定的包。也可以使用@option{--system}查询特定系统类型。当可用替代品的比例低于100%时,@command{guix weather}将以非零代码退出。"

#. type: table
#: guix-git/doc/guix.texi:16850
#, fuzzy
msgid "@var{urls} is the space-separated list of substitute server URLs to query.  When this option is omitted, the URLs specified with the @option{--substitute-urls} option of @command{guix-daemon} are used or, as a last resort, the default set of substitute URLs."
msgstr "@var{urls}是要查询的替代服务器URL的空格分隔列表。当省略此选项时,将使用@command{guix-daemon}的@option{--substitute-urls}选项指定的URL,或者作为最后手段,使用默认的替代URL集合。"

#. type: table
#: guix-git/doc/guix.texi:16856
#, fuzzy
msgid "Query substitutes for @var{system}---e.g., @code{aarch64-linux}.  This option can be repeated, in which case @command{guix weather} will query substitutes for several system types."
msgstr "查询 @var{system} 的替代项---例如,@code{aarch64-linux}。此选项可以重复使用,在这种情况下,@command{guix weather} 将查询多个系统类型的替代项。"

#. type: table
#: guix-git/doc/guix.texi:16862
#, fuzzy
msgid "Instead of querying substitutes for all the packages, only ask for those specified in @var{file}.  @var{file} must contain a @dfn{manifest}, as with the @code{-m} option of @command{guix package} (@pxref{Invoking guix package})."
msgstr "与其查询所有软件包的替代项,不如仅询问在 @var{file} 中指定的那些。@var{file} 必须包含一个 @dfn{清单},就像 @command{guix package} 的 @code{-m} 选项一样 (@pxref{调用 guix package})。"

#. type: table
#: guix-git/doc/guix.texi:16865
#, fuzzy
msgid "This option can be repeated several times, in which case the manifests are concatenated."
msgstr "此选项可以重复多次,在这种情况下,清单将被连接在一起。"

#. type: table
#: guix-git/doc/guix.texi:16873
#, fuzzy
msgid "A typical use case for this option is specifying a package that is hidden and thus cannot be referred to in the usual way, as in this example:"
msgstr "此选项的典型用例是指定一个隐藏的软件包,因此无法以通常的方式引用,如以下示例所示:"

#. type: example
#: guix-git/doc/guix.texi:16876
#, fuzzy, no-wrap
msgid "guix weather -e '(@@@@ (gnu packages rust) rust-bootstrap)'\n"
msgstr "guix weather -e '(@@@@ (gnu packages rust) rust-bootstrap)'\n"

#. type: table
#: guix-git/doc/guix.texi:16879
#, fuzzy
msgid "This option can be repeated."
msgstr "此选项可以重复使用。"

#. type: item
#: guix-git/doc/guix.texi:16880
#, fuzzy, no-wrap
msgid "--coverage[=@var{count}]"
msgstr "--coverage[=@var{count}]"

#. type: itemx
#: guix-git/doc/guix.texi:16881
#, fuzzy, no-wrap
msgid "-c [@var{count}]"
msgstr "-c [@var{count}]"

#. type: table
#: guix-git/doc/guix.texi:16887
#, fuzzy
msgid "Report on substitute coverage for packages: list packages with at least @var{count} dependents (zero by default) for which substitutes are unavailable.  Dependent packages themselves are not listed: if @var{b} depends on @var{a} and @var{a} has no substitutes, only @var{a} is listed, even though @var{b} usually lacks substitutes as well.  The result looks like this:"
msgstr "报告软件包的替代覆盖情况:列出至少有 @var{count} 个依赖项(默认值为零)的软件包,这些软件包的替代项不可用。依赖的软件包本身不会列出:如果 @var{b} 依赖于 @var{a} 且 @var{a} 没有替代项,则只列出 @var{a},即使 @var{b} 通常也缺少替代项。结果如下:"

#. type: example
#: guix-git/doc/guix.texi:16901
#, fuzzy, no-wrap
msgid ""
"$ guix weather --substitute-urls=@value{SUBSTITUTE-URLS} -c 10\n"
"computing 8,983 package derivations for x86_64-linux...\n"
"looking for 9,343 store items on @value{SUBSTITUTE-URLS}...\n"
"updating substitutes from '@value{SUBSTITUTE-URLS}'... 100.0%\n"
"@value{SUBSTITUTE-URLS}\n"
"  64.7% substitutes available (6,047 out of 9,343)\n"
"@dots{}\n"
"2502 packages are missing from '@value{SUBSTITUTE-URLS}' for 'x86_64-linux', among which:\n"
"    58  kcoreaddons@@5.49.0      /gnu/store/@dots{}-kcoreaddons-5.49.0\n"
"    46  qgpgme@@1.11.1           /gnu/store/@dots{}-qgpgme-1.11.1\n"
"    37  perl-http-cookiejar@@0.008  /gnu/store/@dots{}-perl-http-cookiejar-0.008\n"
"    @dots{}\n"
msgstr ""
"$ guix weather --substitute-urls=@value{SUBSTITUTE-URLS} -c 10\n"
"正在计算 x86_64-linux 的 8,983 个软件包派生...\n"
"在 @value{SUBSTITUTE-URLS} 上查找 9,343 个存储项...\n"
"从 '@value{SUBSTITUTE-URLS}' 更新替代项... 100.0%\n"
"@value{SUBSTITUTE-URLS}\n"
"  64.7% 替代项可用(6,047 个中的 9,343 个)\n"
"@dots{}\n"
"在 'x86_64-linux' 的 '@value{SUBSTITUTE-URLS}' 中缺少 2502 个软件包,其中包括:\n"
"    58  kcoreaddons@@5.49.0      /gnu/store/@dots{}-kcoreaddons-5.49.0\n"
"    46  qgpgme@@1.11.1           /gnu/store/@dots{}-qgpgme-1.11.1\n"
"    37  perl-http-cookiejar@@0.008  /gnu/store/@dots{}-perl-http-cookiejar-0.008\n"
"    @dots{}\n"

#. type: table
#: guix-git/doc/guix.texi:16907
#, fuzzy
msgid "What this example shows is that @code{kcoreaddons} and presumably the 58 packages that depend on it have no substitutes at @code{@value{SUBSTITUTE-SERVER-1}}; likewise for @code{qgpgme} and the 46 packages that depend on it."
msgstr "这个例子表明,@code{kcoreaddons} 以及依赖于它的 58 个软件包在 @code{@value{SUBSTITUTE-SERVER-1}} 上没有替代项;同样,@code{qgpgme} 及其依赖的 46 个软件包也是如此。"

#. type: table
#: guix-git/doc/guix.texi:16911
#, fuzzy
msgid "If you are a Guix developer, or if you are taking care of this build farm, you'll probably want to have a closer look at these packages: they may simply fail to build."
msgstr "如果您是 Guix 开发者,或者您在管理这个构建农场,您可能想更仔细地查看这些软件包:它们可能会简单地构建失败。"

#. type: item
#: guix-git/doc/guix.texi:16912
#, fuzzy, no-wrap
msgid "--display-missing"
msgstr "--display-missing"

#. type: table
#: guix-git/doc/guix.texi:16914
#, fuzzy
msgid "Display the list of store items for which substitutes are missing."
msgstr "显示缺少替代项的存储项目列表。"

#. type: section
#: guix-git/doc/guix.texi:16917
#, fuzzy, no-wrap
msgid "Invoking @command{guix processes}"
msgstr "调用 @command{guix processes}"

#. type: command{#1}
#: guix-git/doc/guix.texi:16919
#, no-wrap
msgid "guix processes"
msgstr "guix processes"

#. type: Plain text
#: guix-git/doc/guix.texi:16926
#, fuzzy
msgid "The @command{guix processes} command can be useful to developers and system administrators, especially on multi-user machines and on build farms: it lists the current sessions (connections to the daemon), as well as information about the processes involved@footnote{Remote sessions, when @command{guix-daemon} is started with @option{--listen} specifying a TCP endpoint, are @emph{not} listed.}.  Here's an example of the information it returns:"
msgstr "@command{guix processes} 命令对开发者和系统管理员非常有用,特别是在多用户机器和构建农场上:它列出了当前会话(与守护进程的连接),以及有关相关进程的信息@footnote{当 @command{guix-daemon} 使用 @option{--listen} 指定 TCP 端点启动时,远程会话 @emph{不} 会被列出。}。以下是它返回的信息示例:"

#. type: example
#: guix-git/doc/guix.texi:16932
#, fuzzy, no-wrap
msgid ""
"$ sudo guix processes\n"
"SessionPID: 19002\n"
"ClientPID: 19090\n"
"ClientCommand: guix shell python\n"
"\n"
msgstr ""
"$ sudo guix processes\n"
"会话PID: 19002\n"
"客户端PID: 19090\n"
"客户端命令: guix shell python\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:16936
#, fuzzy, no-wrap
msgid ""
"SessionPID: 19402\n"
"ClientPID: 19367\n"
"ClientCommand: guix publish -u guix-publish -p 3000 -C 9 @dots{}\n"
"\n"
msgstr ""
"会话PID: 19402\n"
"客户端PID: 19367\n"
"客户端命令: guix publish -u guix-publish -p 3000 -C 9 @dots{}\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:16949
#, fuzzy, no-wrap
msgid ""
"SessionPID: 19444\n"
"ClientPID: 19419\n"
"ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}\n"
"LockHeld: /gnu/store/@dots{}-perl-ipc-cmd-0.96.lock\n"
"LockHeld: /gnu/store/@dots{}-python-six-bootstrap-1.11.0.lock\n"
"LockHeld: /gnu/store/@dots{}-libjpeg-turbo-2.0.0.lock\n"
"ChildPID: 20495\n"
"ChildCommand: guix offload x86_64-linux 7200 1 28800\n"
"ChildPID: 27733\n"
"ChildCommand: guix offload x86_64-linux 7200 1 28800\n"
"ChildPID: 27793\n"
"ChildCommand: guix offload x86_64-linux 7200 1 28800\n"
msgstr ""
"会话PID: 19444\n"
"客户端PID: 19419\n"
"客户端命令: cuirass --cache-directory /var/cache/cuirass @dots{}\n"
"锁定持有: /gnu/store/@dots{}-perl-ipc-cmd-0.96.lock\n"
"锁定持有: /gnu/store/@dots{}-python-six-bootstrap-1.11.0.lock\n"
"锁定持有: /gnu/store/@dots{}-libjpeg-turbo-2.0.0.lock\n"
"子进程PID: 20495\n"
"子进程命令: guix offload x86_64-linux 7200 1 28800\n"
"子进程PID: 27733\n"
"子进程命令: guix offload x86_64-linux 7200 1 28800\n"
"子进程PID: 27793\n"
"子进程命令: guix offload x86_64-linux 7200 1 28800\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16956
#, fuzzy
msgid "In this example we see that @command{guix-daemon} has three clients: @command{guix shell}, @command{guix publish}, and the Cuirass continuous integration tool; their process identifier (PID) is given by the @code{ClientPID} field.  The @code{SessionPID} field gives the PID of the @command{guix-daemon} sub-process of this particular session."
msgstr "在这个示例中,我们看到 @command{guix-daemon} 有三个客户端:@command{guix shell}、@command{guix publish} 和 Cuirass 持续集成工具;它们的进程标识符 (PID) 由 @code{ClientPID} 字段给出。@code{SessionPID} 字段给出了此特定会话的 @command{guix-daemon} 子进程的 PID。"

#. type: Plain text
#: guix-git/doc/guix.texi:16963
#, fuzzy
msgid "The @code{LockHeld} fields show which store items are currently locked by this session, which corresponds to store items being built or substituted (the @code{LockHeld} field is not displayed when @command{guix processes} is not running as root).  Last, by looking at the @code{ChildPID} and @code{ChildCommand} fields, we understand that these three builds are being offloaded (@pxref{Daemon Offload Setup})."
msgstr "@code{LockHeld} 字段显示了当前被此会话锁定的存储项目,这对应于正在构建或替代的存储项目(当 @command{guix processes} 不是以 root 身份运行时,@code{LockHeld} 字段不会显示)。最后,通过查看 @code{ChildPID} 和 @code{ChildCommand} 字段,我们了解到这三个构建正在被卸载 (@pxref{Daemon Offload Setup})。"

#. type: Plain text
#: guix-git/doc/guix.texi:16968
#, fuzzy
msgid "The output is in Recutils format so we can use the handy @command{recsel} command to select sessions of interest (@pxref{Selection Expressions,,, recutils, GNU recutils manual}).  As an example, the command shows the command line and PID of the client that triggered the build of a Perl package:"
msgstr "输出为 Recutils 格式,因此我们可以使用方便的 @command{recsel} 命令来选择感兴趣的会话 (@pxref{Selection Expressions,,, recutils, GNU recutils manual})。作为一个示例,该命令显示触发 Perl 包构建的客户端的命令行和 PID:"

#. type: example
#: guix-git/doc/guix.texi:16974
#, fuzzy, no-wrap
msgid ""
"$ sudo guix processes | \\\n"
"    recsel -p ClientPID,ClientCommand -e 'LockHeld ~ \"perl\"'\n"
"ClientPID: 19419\n"
"ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}\n"
msgstr ""
"$ sudo guix processes | \\\n"
"    recsel -p ClientPID,ClientCommand -e 'LockHeld ~ \"perl\"'\n"
"ClientPID: 19419\n"
"ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:16977
#, fuzzy
msgid "Additional options are listed below."
msgstr "额外的构建选项"

#. type: table
#: guix-git/doc/guix.texi:16987
#, fuzzy
msgid "The default option.  It outputs a set of Session recutils records that include each @code{ChildProcess} as a field."
msgstr "默认选项。它输出一组包含每个 @code{ChildProcess} 作为字段的 Session recutils 记录。"

#. type: item
#: guix-git/doc/guix.texi:16988
#, fuzzy, no-wrap
msgid "normalized"
msgstr "标准化"

#. type: table
#: guix-git/doc/guix.texi:16995
#, fuzzy
msgid "Normalize the output records into record sets (@pxref{Record Sets,,, recutils, GNU recutils manual}).  Normalizing into record sets allows joins across record types.  The example below lists the PID of each @code{ChildProcess} and the associated PID for @code{Session} that spawned the @code{ChildProcess} where the @code{Session} was started using @command{guix build}."
msgstr "将输出记录标准化为记录集 (@pxref{Record Sets,,, recutils, GNU recutils manual})。标准化为记录集允许跨记录类型进行连接。下面的示例列出了每个 @code{ChildProcess} 的 PID 以及为启动 @code{ChildProcess} 的 @code{Session} 关联的 PID,其中 @code{Session} 是使用 @command{guix build} 启动的。"

#. type: example
#: guix-git/doc/guix.texi:17005
#, fuzzy, no-wrap
msgid ""
"$ guix processes --format=normalized | \\\n"
"    recsel \\\n"
"    -j Session \\\n"
"    -t ChildProcess \\\n"
"    -p Session.PID,PID \\\n"
"    -e 'Session.ClientCommand ~ \"guix build\"'\n"
"PID: 4435\n"
"Session_PID: 4278\n"
"\n"
msgstr ""
"$ guix processes --format=normalized | \\\n"
"    recsel \\\n"
"    -j Session \\\n"
"    -t ChildProcess \\\n"
"    -p Session.PID,PID \\\n"
"    -e 'Session.ClientCommand ~ \"guix build\"'\n"
"PID: 4435\n"
"Session_PID: 4278\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:17008
#, fuzzy, no-wrap
msgid ""
"PID: 4554\n"
"Session_PID: 4278\n"
"\n"
msgstr ""
"PID: 4554\n"
"Session_PID: 4278\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:17011
#, fuzzy, no-wrap
msgid ""
"PID: 4646\n"
"Session_PID: 4278\n"
msgstr ""
"PID: 4646\n"
"Session_PID: 4278\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17021
#, fuzzy
msgid "You can target computers of different CPU architectures when producing packages (@pxref{Invoking guix package}), packs (@pxref{Invoking guix pack}) or full systems (@pxref{Invoking guix system})."
msgstr "在生成包 (@pxref{Invoking guix package})、包 (@pxref{Invoking guix pack}) 或完整系统 (@pxref{Invoking guix system}) 时,您可以针对不同 CPU 架构的计算机。"

#. type: Plain text
#: guix-git/doc/guix.texi:17024
#, fuzzy
msgid "GNU Guix supports two distinct mechanisms to target foreign architectures:"
msgstr "GNU Guix 支持两种不同的机制来针对外部架构:"

#. type: enumerate
#: guix-git/doc/guix.texi:17030
#, fuzzy
msgid "The traditional @uref{https://en.wikipedia.org/wiki/Cross_compiler,cross-compilation} mechanism."
msgstr "传统的 @uref{https://en.wikipedia.org/wiki/Cross_compiler,cross-compilation} 机制。"

#. type: enumerate
#: guix-git/doc/guix.texi:17034
#, fuzzy
msgid "The native building mechanism which consists in building using the CPU instruction set of the foreign system you are targeting.  It often requires emulation, using the QEMU program for instance."
msgstr "本地构建机制,使用您所针对的外部系统的 CPU 指令集进行构建。它通常需要仿真,例如使用 QEMU 程序。"

#. type: cindex
#: guix-git/doc/guix.texi:17044
#, fuzzy, no-wrap
msgid "foreign architectures"
msgstr "别的发行版"

#. type: Plain text
#: guix-git/doc/guix.texi:17047
#, fuzzy
msgid "The commands supporting cross-compilation are proposing the @option{--list-targets} and @option{--target} options."
msgstr "支持交叉编译的命令提供 @option{--list-targets} 和 @option{--target} 选项。"

#. type: Plain text
#: guix-git/doc/guix.texi:17050
#, fuzzy
msgid "The @option{--list-targets} option lists all the supported targets that can be passed as an argument to @option{--target}."
msgstr "@option{--list-targets} 选项列出所有可以作为参数传递给 @option{--target} 的支持目标。"

#. type: example
#: guix-git/doc/guix.texi:17054
#, fuzzy, no-wrap
msgid ""
"$ guix build --list-targets\n"
"The available targets are:\n"
"\n"
msgstr ""
"$ guix build --list-targets\n"
"可用的目标有:\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:17071
#, fuzzy, no-wrap
msgid ""
"   - aarch64-linux-gnu\n"
"   - arm-linux-gnueabihf\n"
"   - avr\n"
"   - i586-pc-gnu\n"
"   - i686-linux-gnu\n"
"   - i686-w64-mingw32\n"
"   - loongarch64-linux-gnu\n"
"   - mips64el-linux-gnu\n"
"   - or1k-elf\n"
"   - powerpc-linux-gnu\n"
"   - powerpc64le-linux-gnu\n"
"   - riscv64-linux-gnu\n"
"   - x86_64-linux-gnu\n"
"   - x86_64-linux-gnux32\n"
"   - x86_64-w64-mingw32\n"
"   - xtensa-ath9k-elf\n"
msgstr ""
"   - aarch64-linux-gnu\n"
"   - arm-linux-gnueabihf\n"
"   - avr\n"
"   - i586-pc-gnu\n"
"   - i686-linux-gnu\n"
"   - i686-w64-mingw32\n"
"   - loongarch64-linux-gnu\n"
"   - mips64el-linux-gnu\n"
"   - or1k-elf\n"
"   - powerpc-linux-gnu\n"
"   - powerpc64le-linux-gnu\n"
"   - riscv64-linux-gnu\n"
"   - x86_64-linux-gnu\n"
"   - x86_64-linux-gnux32\n"
"   - x86_64-w64-mingw32\n"
"   - xtensa-ath9k-elf\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17075
#, fuzzy
msgid "Targets are specified as GNU triplets (@pxref{Specifying Target Triplets, GNU configuration triplets,, autoconf, Autoconf})."
msgstr "目标被指定为 GNU 三元组 (@pxref{Specifying Target Triplets, GNU configuration triplets,, autoconf, Autoconf})。"

#. type: Plain text
#: guix-git/doc/guix.texi:17079
#, fuzzy
msgid "Those triplets are passed to GCC and the other underlying compilers possibly involved when building a package, a system image or any other GNU Guix output."
msgstr "这些三元组会传递给 GCC 和其他可能参与构建包、系统映像或任何其他 GNU Guix 输出的底层编译器。"

#. type: example
#: guix-git/doc/guix.texi:17083
#, fuzzy, no-wrap
msgid ""
"$ guix build --target=aarch64-linux-gnu hello\n"
"/gnu/store/9926by9qrxa91ijkhw9ndgwp4bn24g9h-hello-2.12\n"
"\n"
msgstr ""
"$ guix build --target=aarch64-linux-gnu hello\n"
"/gnu/store/9926by9qrxa91ijkhw9ndgwp4bn24g9h-hello-2.12\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:17087
#, fuzzy, no-wrap
msgid ""
"$ file /gnu/store/9926by9qrxa91ijkhw9ndgwp4bn24g9h-hello-2.12/bin/hello\n"
"/gnu/store/9926by9qrxa91ijkhw9ndgwp4bn24g9h-hello-2.12/bin/hello: ELF\n"
"64-bit LSB executable, ARM aarch64 @dots{}\n"
msgstr ""
"$ file /gnu/store/9926by9qrxa91ijkhw9ndgwp4bn24g9h-hello-2.12/bin/hello\n"
"/gnu/store/9926by9qrxa91ijkhw9ndgwp4bn24g9h-hello-2.12/bin/hello: ELF\n"
"64位 LSB 可执行文件, ARM aarch64 @dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17093
#, fuzzy
msgid "The major benefit of cross-compilation is that there are no performance penalty compared to emulation using QEMU.  There are however higher risks that some packages fail to cross-compile because fewer users are using this mechanism extensively."
msgstr "交叉编译的主要好处是与使用 QEMU 的仿真相比,没有性能损失。然而,由于使用这种机制的用户较少,某些包可能无法成功交叉编译的风险更高。"

#. type: Plain text
#: guix-git/doc/guix.texi:17099
#, fuzzy
msgid "The commands that support impersonating a specific system have the @option{--list-systems} and @option{--system} options."
msgstr "支持模拟特定系统的命令有 @option{--list-systems} 和 @option{--system} 选项。"

#. type: Plain text
#: guix-git/doc/guix.texi:17102
#, fuzzy
msgid "The @option{--list-systems} option lists all the supported systems that can be passed as an argument to @option{--system}."
msgstr "@option{--list-systems} 选项列出所有可以作为参数传递给 @option{--system} 的受支持系统。"

#. type: example
#: guix-git/doc/guix.texi:17106
#, fuzzy, no-wrap
msgid ""
"$ guix build --list-systems\n"
"The available systems are:\n"
"\n"
msgstr ""
"$ guix build --list-systems\n"
"可用的系统有:\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:17116
#, fuzzy, no-wrap
msgid ""
"   - x86_64-linux [current]\n"
"   - aarch64-linux\n"
"   - armhf-linux\n"
"   - i586-gnu\n"
"   - i686-linux\n"
"   - mips64el-linux\n"
"   - powerpc-linux\n"
"   - powerpc64le-linux\n"
"   - riscv64-linux\n"
"\n"
msgstr ""
"   - x86_64-linux [当前]\n"
"   - aarch64-linux\n"
"   - armhf-linux\n"
"   - i586-gnu\n"
"   - i686-linux\n"
"   - mips64el-linux\n"
"   - powerpc-linux\n"
"   - powerpc64le-linux\n"
"   - riscv64-linux\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:17119
#, fuzzy, no-wrap
msgid ""
"$ guix build --system=i686-linux hello\n"
"/gnu/store/cc0km35s8x2z4pmwkrqqjx46i8b1i3gm-hello-2.12\n"
"\n"
msgstr ""
"$ guix build --system=i686-linux hello\n"
"/gnu/store/cc0km35s8x2z4pmwkrqqjx46i8b1i3gm-hello-2.12\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:17123
#, fuzzy, no-wrap
msgid ""
"$ file /gnu/store/cc0km35s8x2z4pmwkrqqjx46i8b1i3gm-hello-2.12/bin/hello\n"
"/gnu/store/cc0km35s8x2z4pmwkrqqjx46i8b1i3gm-hello-2.12/bin/hello: ELF\n"
"32-bit LSB executable, Intel 80386 @dots{}\n"
msgstr ""
"$ file /gnu/store/cc0km35s8x2z4pmwkrqqjx46i8b1i3gm-hello-2.12/bin/hello\n"
"/gnu/store/cc0km35s8x2z4pmwkrqqjx46i8b1i3gm-hello-2.12/bin/hello: ELF\n"
"32位 LSB 可执行文件, Intel 80386 @dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17127
#, fuzzy
msgid "In the above example, the current system is @var{x86_64-linux}.  The @var{hello} package is however built for the @var{i686-linux} system."
msgstr "在上述示例中,当前系统是 @var{x86_64-linux}。然而,@var{hello} 包是为 @var{i686-linux} 系统构建的。"

#. type: Plain text
#: guix-git/doc/guix.texi:17131
#, fuzzy
msgid "This is possible because the @var{i686} CPU instruction set is a subset of the @var{x86_64}, hence @var{i686} targeting binaries can be run on @var{x86_64}."
msgstr "这是可能的,因为 @var{i686} CPU 指令集是 @var{x86_64} 的一个子集,因此 @var{i686} 目标的二进制文件可以在 @var{x86_64} 上运行。"

#. type: Plain text
#: guix-git/doc/guix.texi:17136
#, fuzzy
msgid "Still in the context of the previous example, if picking the @var{aarch64-linux} system and the @command{guix build --system=aarch64-linux hello} has to build some derivations, an extra step might be needed."
msgstr "仍然在前一个示例的上下文中,如果选择 @var{aarch64-linux} 系统并且 @command{guix build --system=aarch64-linux hello} 需要构建一些派生项,可能需要额外的步骤。"

#. type: Plain text
#: guix-git/doc/guix.texi:17144
#, fuzzy
msgid "The @var{aarch64-linux} targeting binaries cannot directly be run on a @var{x86_64-linux} system.  An emulation layer is requested.  The GNU Guix daemon can take advantage of the Linux kernel @uref{https://en.wikipedia.org/wiki/Binfmt_misc,binfmt_misc} mechanism for that.  In short, the Linux kernel can defer the execution of a binary targeting a foreign platform, here @var{aarch64-linux}, to a userspace program, usually an emulator."
msgstr "@var{aarch64-linux} 目标的二进制文件不能直接在 @var{x86_64-linux} 系统上运行。需要一个仿真层。GNU Guix 守护进程可以利用 Linux 内核的 @uref{https://en.wikipedia.org/wiki/Binfmt_misc,binfmt_misc} 机制来实现这一点。简而言之,Linux 内核可以将针对外部平台(这里是 @var{aarch64-linux})的二进制文件的执行推迟到用户空间程序,通常是一个仿真器。"

#. type: Plain text
#: guix-git/doc/guix.texi:17150
#, fuzzy
msgid "There is a service that registers QEMU as a backend for the @code{binfmt_misc} mechanism (@pxref{Virtualization Services, @code{qemu-binfmt-service-type}}).  On Debian based foreign distributions, the alternative would be the @code{qemu-user-static} package."
msgstr "有一个服务将 QEMU 注册为 @code{binfmt_misc} 机制的后端(@pxref{Virtualization Services, @code{qemu-binfmt-service-type}})。在基于 Debian 的外部发行版中,替代方案是 @code{qemu-user-static} 包。"

#. type: Plain text
#: guix-git/doc/guix.texi:17153
#, fuzzy
msgid "If the @code{binfmt_misc} mechanism is not setup correctly, the building will fail this way:"
msgstr "如果 @code{binfmt_misc} 机制没有正确设置,构建将以这种方式失败:"

#. type: example
#: guix-git/doc/guix.texi:17161
#, fuzzy, no-wrap
msgid ""
"$ guix build --system=armhf-linux hello --check\n"
"@dots{}\n"
"@ unsupported-platform /gnu/store/jjn969pijv7hff62025yxpfmc8zy0aq0-hello-2.12.drv aarch64-linux\n"
"while setting up the build environment: a `aarch64-linux' is required to\n"
"build `/gnu/store/jjn969pijv7hff62025yxpfmc8zy0aq0-hello-2.12.drv', but\n"
"I am a `x86_64-linux'@dots{}\n"
msgstr ""
"$ guix build --system=armhf-linux hello --check\n"
"@dots{}\n"
"@ unsupported-platform /gnu/store/jjn969pijv7hff62025yxpfmc8zy0aq0-hello-2.12.drv aarch64-linux\n"
"在设置构建环境时:需要 `aarch64-linux' 来构建 `/gnu/store/jjn969pijv7hff62025yxpfmc8zy0aq0-hello-2.12.drv',但我却是 `x86_64-linux'@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17165
#, fuzzy
msgid "whereas, with the @code{binfmt_misc} mechanism correctly linked with QEMU, one can expect to see:"
msgstr "而且,当 @code{binfmt_misc} 机制与 QEMU 正确链接时,可以期待看到:"

#. type: example
#: guix-git/doc/guix.texi:17169
#, fuzzy, no-wrap
msgid ""
"$ guix build --system=armhf-linux hello --check\n"
"/gnu/store/13xz4nghg39wpymivlwghy08yzj97hlj-hello-2.12\n"
msgstr ""
"$ guix build --system=armhf-linux hello --check\n"
"/gnu/store/13xz4nghg39wpymivlwghy08yzj97hlj-hello-2.12\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17175
#, fuzzy
msgid "The main advantage of native building compared to cross-compiling, is that more packages are likely to build correctly.  However it comes at a price: compilation backed by QEMU is @emph{way slower} than cross-compilation, because every instruction needs to be emulated."
msgstr "与交叉编译相比,本地构建的主要优势在于更多的软件包可能会正确构建。然而,这也有代价:由 QEMU 支持的编译速度 @emph{慢得多},因为每条指令都需要被仿真。"

#. type: Plain text
#: guix-git/doc/guix.texi:17181
#, fuzzy
msgid "The availability of substitutes for the architecture targeted by the @code{--system} option can mitigate this problem.  An other way to work around it is to install GNU Guix on a machine whose CPU supports the targeted instruction set, and set it up as an offload machine (@pxref{Daemon Offload Setup})."
msgstr "针对 @code{--system} 选项所针对的架构的替代品的可用性可以缓解这个问题。另一种解决方法是在支持目标指令集的机器上安装 GNU Guix,并将其设置为卸载机器(@pxref{Daemon Offload Setup})。"

#. type: cindex
#: guix-git/doc/guix.texi:17185
#, fuzzy, no-wrap
msgid "system configuration"
msgstr "系统配置"

#. type: Plain text
#: guix-git/doc/guix.texi:17191
#, fuzzy
msgid "Guix System supports a consistent whole-system configuration mechanism.  By that we mean that all aspects of the global system configuration---such as the available system services, timezone and locale settings, user accounts---are declared in a single place.  Such a @dfn{system configuration} can be @dfn{instantiated}---i.e., effected."
msgstr "Guix 系统支持一致的全系统配置机制。我们所说的意思是,所有全局系统配置的方面——例如可用的系统服务、时区和区域设置、用户帐户——都在一个地方声明。这样的 @dfn{系统配置} 可以被 @dfn{实例化}——即,生效。"

#. type: Plain text
#: guix-git/doc/guix.texi:17201
#, fuzzy
msgid "One of the advantages of putting all the system configuration under the control of Guix is that it supports transactional system upgrades, and makes it possible to roll back to a previous system instantiation, should something go wrong with the new one (@pxref{Features}).  Another advantage is that it makes it easy to replicate the exact same configuration across different machines, or at different points in time, without having to resort to additional administration tools layered on top of the own tools of the system."
msgstr "将所有系统配置置于 Guix 控制之下的一个优势是,它支持事务性系统升级,并使得在新系统出现问题时能够回滚到先前的系统实例 (@pxref{Features})。另一个优势是,它使得在不同机器或不同时间点复制完全相同的配置变得容易,而无需依赖于额外的管理工具来叠加在系统自身的工具之上。"

#. type: Plain text
#: guix-git/doc/guix.texi:17206
#, fuzzy
msgid "This section describes this mechanism.  First we focus on the system administrator's viewpoint---explaining how the system is configured and instantiated.  Then we show how this mechanism can be extended, for instance to support new system services."
msgstr "本节描述了这一机制。首先,我们关注系统管理员的观点——解释系统是如何配置和实例化的。然后,我们展示如何扩展这一机制,例如支持新的系统服务。"

#. type: cindex
#: guix-git/doc/guix.texi:17232
#, fuzzy, no-wrap
msgid "system configuration file"
msgstr "系统配置"

#. type: cindex
#: guix-git/doc/guix.texi:17233
#, fuzzy, no-wrap
msgid "configuration file, of the system"
msgstr "管理操作系统配置。"

#. type: Plain text
#: guix-git/doc/guix.texi:17243
#, fuzzy
msgid "You're reading this section probably because you have just installed Guix System (@pxref{System Installation}) and would like to know where to go from here.  If you're already familiar with GNU/Linux system administration, the way Guix System is configured is very different from what you're used to: you won't install a system service by running @command{guix install}, you won't configure services by modifying files under @file{/etc}, and you won't create user accounts by invoking @command{useradd}; instead, all these aspects are spelled out in a @dfn{system configuration file}."
msgstr "您阅读本节可能是因为您刚刚安装了 Guix 系统 (@pxref{System Installation}),并想知道接下来该去哪里。如果您已经熟悉 GNU/Linux 系统管理,Guix 系统的配置方式与您习惯的方式非常不同:您不会通过运行 @command{guix install} 来安装系统服务,您不会通过修改 @file{/etc} 下的文件来配置服务,也不会通过调用 @command{useradd} 来创建用户帐户;相反,所有这些方面都在 @dfn{系统配置文件} 中明确说明。"

#. type: Plain text
#: guix-git/doc/guix.texi:17247
#, fuzzy
msgid "The first step with Guix System is thus to write the @dfn{system configuration file}; luckily, system installation already generated one for you and stored it under @file{/etc/config.scm}."
msgstr "因此,使用 Guix 系统的第一步是编写 @dfn{系统配置文件};幸运的是,系统安装已经为您生成了一个,并将其存储在 @file{/etc/config.scm} 下。"

#. type: quotation
#: guix-git/doc/guix.texi:17253
#, fuzzy
msgid "You can store your system configuration file anywhere you like---it doesn't have to be at @file{/etc/config.scm}.  It's a good idea to keep it under version control, for instance in a @uref{https://git-scm.com/book/en/, Git repository}."
msgstr "您可以将系统配置文件存储在您喜欢的任何地方——它不必位于 @file{/etc/config.scm}。将其放在版本控制下是个好主意,例如在 @uref{https://git-scm.com/book/en/, Git 仓库} 中。"

#. type: Plain text
#: guix-git/doc/guix.texi:17258
#, fuzzy
msgid "The @emph{entire} configuration of the system---user accounts, system services, timezone, locale settings---is declared in this file, which follows this template:"
msgstr "系统的@emph{整个}配置---用户帐户、系统服务、时区、区域设置---都在这个文件中声明,该文件遵循以下模板:"

#. type: lisp
#: guix-git/doc/guix.texi:17263
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu))\n"
"(use-package-modules @dots{})\n"
"(use-service-modules @dots{})\n"
"\n"
msgstr ""
"(use-modules (gnu))\n"
"(use-package-modules @dots{})\n"
"(use-service-modules @dots{})\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:17273
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  (host-name @dots{})\n"
"  (timezone @dots{})\n"
"  (locale @dots{})\n"
"  (bootloader @dots{})\n"
"  (file-systems @dots{})\n"
"  (users @dots{})\n"
"  (packages @dots{})\n"
"  (services @dots{}))\n"
msgstr ""
"(operating-system\n"
"  (host-name @dots{})\n"
"  (timezone @dots{})\n"
"  (locale @dots{})\n"
"  (bootloader @dots{})\n"
"  (file-systems @dots{})\n"
"  (users @dots{})\n"
"  (packages @dots{})\n"
"  (services @dots{}))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17281
#, fuzzy
msgid "This configuration file is in fact a Scheme program; the first lines pull in modules providing variables you might need in the rest of the file---e.g., packages, services, etc.  The @code{operating-system} form declares the system configuration as a @dfn{record} with a number of @dfn{fields}.  @xref{Using the Configuration System}, to view complete examples and learn what to put in there."
msgstr "这个配置文件实际上是一个Scheme程序;前几行引入了提供你在文件其余部分可能需要的变量的模块---例如,软件包、服务等。@code{operating-system}形式将系统配置声明为一个@dfn{记录},具有多个@dfn{字段}。@xref{使用配置系统},查看完整示例并了解该放入什么。"

#. type: Plain text
#: guix-git/doc/guix.texi:17286
#, fuzzy
msgid "The second step, once you have this configuration file, is to test it.  Of course, you can skip this step if you're feeling lucky---you choose! To do that, pass your configuration file to @command{guix system vm} (no need to be root, you can do that as a regular user):"
msgstr "第二步,一旦你有了这个配置文件,就是测试它。当然,如果你觉得运气不错,可以跳过这一步---你自己选择!要做到这一点,将你的配置文件传递给@command{guix system vm}(不需要是root用户,你可以作为普通用户执行):"

#. type: example
#: guix-git/doc/guix.texi:17289
#, fuzzy, no-wrap
msgid "guix system vm /etc/config.scm\n"
msgstr "guix package --list-available\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17295
#, fuzzy
msgid "This command returns the name of a shell script that starts a virtual machine (VM) running the system @emph{as described in the configuration file}:"
msgstr "该命令返回一个启动虚拟机(VM)的shell脚本的名称,该虚拟机运行的系统@emph{如配置文件中所描述的}:"

#. type: example
#: guix-git/doc/guix.texi:17298
#, fuzzy, no-wrap
msgid "/gnu/store/@dots{}-run-vm.sh\n"
msgstr "/gnu/store/@dots{}-run-vm.sh\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17305
#, fuzzy
msgid "In this VM, you can log in as @code{root} with no password.  That's a good way to check that your configuration file is correct and that it gives the expected result, without touching your system.  @xref{Invoking guix system}, for more information."
msgstr "在这个VM中,你可以以@code{root}身份登录,无需密码。这是检查你的配置文件是否正确并且给出预期结果的好方法,而不触及你的系统。@xref{调用guix系统},获取更多信息。"

#. type: quotation
#: guix-git/doc/guix.texi:17313
#, fuzzy
msgid "When using @command{guix system vm}, aspects tied to your hardware such as file systems and mapped devices are overridden because they cannot be meaningfully tested in the VM@.  Other aspects such as static network configuration (@pxref{Networking Setup, @code{static-networking-service-type}}) are @emph{not} overridden but they may not work inside the VM@."
msgstr "使用@command{guix system vm}时,与硬件相关的方面,如文件系统和映射设备被覆盖,因为它们无法在VM中有意义地测试@。其他方面,如静态网络配置(@pxref{网络设置,@code{static-networking-service-type}})@emph{不会}被覆盖,但它们可能在VM中无法正常工作@。"

#. type: cindex
#: guix-git/doc/guix.texi:17315 guix-git/doc/guix.texi:17725
#, fuzzy, no-wrap
msgid "system instantiation"
msgstr "系统安装"

#. type: cindex
#: guix-git/doc/guix.texi:17316 guix-git/doc/guix.texi:17726
#, fuzzy, no-wrap
msgid "reconfiguring the system"
msgstr "配置操作系统。"

#. type: Plain text
#: guix-git/doc/guix.texi:17320
#, fuzzy
msgid "The third step, once you're happy with your configuration, is to @dfn{instantiate} it---make this configuration effective on your system.  To do that, run:"
msgstr "第三步,一旦你对配置满意,就是@dfn{实例化}它---使这个配置在你的系统上生效。要做到这一点,运行:"

#. type: cindex
#: guix-git/doc/guix.texi:17325
#, fuzzy, no-wrap
msgid "upgrading system services"
msgstr "指定系统服务。"

#. type: cindex
#: guix-git/doc/guix.texi:17326
#, fuzzy, no-wrap
msgid "system services, upgrading"
msgstr "授权substitute服务器。"

#. type: Plain text
#: guix-git/doc/guix.texi:17334
#, fuzzy
msgid "This operation is @dfn{transactional}: either it succeeds and you end up with an upgraded system, or it fails and nothing has changed.  Note that it does @emph{not} restart system services that were already running.  Thus, to upgrade those services, you have to reboot or to explicitly restart them; for example, to restart the secure shell (SSH) daemon, you would run:"
msgstr "此操作是 @dfn{事务性的}:要么成功并升级系统,要么失败且没有任何变化。请注意,它不会 @emph{重新启动} 已经运行的系统服务。因此,要升级这些服务,您必须重启或显式重启它们;例如,要重启安全外壳(SSH)守护进程,您可以运行:"

#. type: example
#: guix-git/doc/guix.texi:17337
#, fuzzy, no-wrap
msgid "sudo herd restart sshd\n"
msgstr "sudo herd restart sshd\n"

#. type: quotation
#: guix-git/doc/guix.texi:17343
#, fuzzy
msgid "System services are managed by the Shepherd (@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual}).  The @code{herd} command lets you inspect, start, and stop services.  To view the status of services, run:"
msgstr "系统服务由 Shepherd 管理(@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual})。@code{herd} 命令让您检查、启动和停止服务。要查看服务的状态,请运行:"

#. type: example
#: guix-git/doc/guix.texi:17346
#, fuzzy, no-wrap
msgid "sudo herd status\n"
msgstr "guix install emacs-guix\n"

#. type: quotation
#: guix-git/doc/guix.texi:17350
#, fuzzy
msgid "To view detailed information about a given service, add its name to the command:"
msgstr "要查看有关特定服务的详细信息,请将其名称添加到命令中:"

#. type: example
#: guix-git/doc/guix.texi:17353
#, fuzzy, no-wrap
msgid "sudo herd status sshd\n"
msgstr "sudo herd status sshd\n"

#. type: quotation
#: guix-git/doc/guix.texi:17356
#, fuzzy
msgid "@xref{Services}, for more information."
msgstr "@xref{Invoking guix pack},了解这个方便的工具。"

#. type: cindex
#: guix-git/doc/guix.texi:17358
#, fuzzy, no-wrap
msgid "provenance, of the system"
msgstr "配置操作系统。"

#. type: Plain text
#: guix-git/doc/guix.texi:17361
#, fuzzy
msgid "The system records its @dfn{provenance}---the configuration file and channels that were used to deploy it.  You can view it like so:"
msgstr "系统记录其 @dfn{来源}——用于部署的配置文件和通道。您可以这样查看:"

#. type: example
#: guix-git/doc/guix.texi:17364 guix-git/doc/guix.texi:44546
#, no-wrap
msgid "guix system describe\n"
msgstr "guix system describe\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17368
#, fuzzy
msgid "Additionally, @command{guix system reconfigure} preserves previous system generations, which you can list:"
msgstr "此外,@command{guix system reconfigure} 保留以前的系统代,您可以列出它们:"

#. type: example
#: guix-git/doc/guix.texi:17371
#, fuzzy, no-wrap
msgid "guix system list-generations\n"
msgstr "guix package --list-available\n"

#. type: cindex
#: guix-git/doc/guix.texi:17374
#, fuzzy, no-wrap
msgid "roll back, for the system"
msgstr "回滚,系统"

#. type: Plain text
#: guix-git/doc/guix.texi:17381
#, fuzzy
msgid "Crucially, that means that you can always @emph{roll back} to an earlier generation should something go wrong! When you eventually reboot, you'll notice a sub-menu in the bootloader that reads ``Old system generations'': it's what allows you to boot @emph{an older generation of your system}, should the latest generation be ``broken'' or otherwise unsatisfying.  You can also ``permanently'' roll back, like so:"
msgstr "关键是,这意味着如果出现问题,您始终可以 @emph{回滚} 到早期的代!当您最终重启时,您会注意到引导加载程序中有一个子菜单,显示“旧系统代”:这使您能够引导 @emph{您系统的旧代},如果最新的代“损坏”或其他不令人满意。您还可以“永久”回滚,如下所示:"

#. type: example
#: guix-git/doc/guix.texi:17384
#, fuzzy, no-wrap
msgid "sudo guix system roll-back\n"
msgstr "sudo guix system roll-back\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17389
#, fuzzy
msgid "Alternatively, you can use @command{guix system switch-generation} to switch to a specific generation."
msgstr "或者,您可以使用 @command{guix system switch-generation} 切换到特定的代。"

#. type: Plain text
#: guix-git/doc/guix.texi:17394
#, fuzzy
msgid "Once in a while, you'll want to delete old generations that you do not need anymore to allow @dfn{garbage collection} to free space (@pxref{Invoking guix gc}).  For example, to remove generations older than 4 months, run:"
msgstr "偶尔,您会想要删除不再需要的旧代,以允许 @dfn{垃圾收集} 释放空间(@pxref{Invoking guix gc})。例如,要删除超过 4 个月的代,请运行:"

#. type: example
#: guix-git/doc/guix.texi:17397
#, fuzzy, no-wrap
msgid "sudo guix system delete-generations 4m\n"
msgstr "guix package --list-available\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17403
#, fuzzy
msgid "From there on, anytime you want to change something in the system configuration, be it adding a user account or changing parameters of a service, you will first update your configuration file and then run @command{guix system reconfigure} as shown above."
msgstr "从那时起,每当您想要更改系统配置中的某些内容,无论是添加用户帐户还是更改服务的参数,您都将首先更新配置文件,然后运行如上所示的 @command{guix system reconfigure}。"

#. type: cindex
#: guix-git/doc/guix.texi:17403
#, fuzzy, no-wrap
msgid "upgrade, of the system"
msgstr "升级,系统"

#. type: Plain text
#: guix-git/doc/guix.texi:17406
#, fuzzy
msgid "Likewise, to @emph{upgrade} system software, you first fetch an up-to-date Guix and then reconfigure your system with that new Guix:"
msgstr "同样,要@emph{升级}系统软件,您首先需要获取最新的Guix,然后使用该新Guix重新配置您的系统:"

#. type: Plain text
#: guix-git/doc/guix.texi:17415
#, fuzzy
msgid "We recommend doing that regularly so that your system includes the latest security updates (@pxref{Security Updates})."
msgstr "这构造了系统的一个新的generation,包含最新的包和服务(@pxref{Invoking guix system})。我们建议经常这样做,使得你的系统拥有最新的安全更新(@pxref{Security Updates})。"

#. type: cindex
#: guix-git/doc/guix.texi:17418
#, fuzzy, no-wrap
msgid "sudo vs. @command{guix pull}"
msgstr "sudo与@command{guix pull}"

#. type: quotation
#: guix-git/doc/guix.texi:17421
#, fuzzy
msgid "@command{sudo guix} runs your user's @command{guix} command and @emph{not} root's, because @command{sudo} leaves @env{PATH} unchanged."
msgstr "@command{sudo guix}运行的是您用户的@command{guix}命令,而@emph{不是}root的,因为@command{sudo}保持@env{PATH}不变。"

#. type: quotation
#: guix-git/doc/guix.texi:17426
#, fuzzy
msgid "The difference matters here, because @command{guix pull} updates the @command{guix} command and package definitions only for the user it is run as.  This means that if you choose to use @command{guix system reconfigure} in root's login shell, you'll need to @command{guix pull} separately."
msgstr "这里的区别很重要,因为@command{guix pull}仅为运行它的用户更新@command{guix}命令和软件包定义。这意味着如果您选择在root的登录shell中使用@command{guix system reconfigure},您需要单独@command{guix pull}。"

#. type: Plain text
#: guix-git/doc/guix.texi:17431
#, fuzzy
msgid "That's it! If you're getting started with Guix entirely, @pxref{Getting Started}.  The next sections dive in more detail into the crux of the matter: system configuration."
msgstr "就这样!如果您完全是从头开始使用Guix,请参考@pxref{Getting Started}。接下来的部分将更详细地探讨问题的核心:系统配置。"

#. type: Plain text
#: guix-git/doc/guix.texi:17439
#, fuzzy
msgid "The previous section showed the overall workflow you would follow when administering a Guix System machine (@pxref{Getting Started with the System}).  Let's now see in more detail what goes into the system configuration file."
msgstr "上一节展示了您在管理Guix系统机器时会遵循的整体工作流程(@pxref{Getting Started with the System})。现在让我们更详细地看看系统配置文件的内容。"

#. type: Plain text
#: guix-git/doc/guix.texi:17446
#, fuzzy
msgid "The operating system is configured by providing an @code{operating-system} declaration in a file that can then be passed to the @command{guix system} command (@pxref{Invoking guix system}), as we've seen before.  A simple setup, with the default Linux-Libre kernel, initial RAM disk, and a couple of system services added to those provided by default looks like this:"
msgstr "操作系统的配置来源于文件中可对接@command{guix system}命令(@pxref{Invoking guix system})的@code{operating-system} declaration。一个简单的,有着默认的系统服务、Linux-Libre内核,初始化内存盘(initrd)和启动引导器的设置如下:"

#. type: code{#1}
#: guix-git/doc/guix.texi:17447 guix-git/doc/guix.texi:45245
#: guix-git/doc/guix.texi:50326
#, fuzzy, no-wrap
msgid "operating-system"
msgstr "操作系统"

#. type: include
#: guix-git/doc/guix.texi:17449
#, fuzzy, no-wrap
msgid "os-config-bare-bones.texi"
msgstr "os-config-bare-bones.texi"

#. type: Plain text
#: guix-git/doc/guix.texi:17461
#, fuzzy
msgid "The configuration is declarative.  It is code in the Scheme programming language; the whole @code{(operating-system @dots{})} expression produces a @dfn{record} with a number of @dfn{fields}.  Some of the fields defined above, such as @code{host-name} and @code{bootloader}, are mandatory.  Others, such as @code{packages} and @code{services}, can be omitted, in which case they get a default value.  @xref{operating-system Reference}, for details about all the available fields."
msgstr "这个例子是self-describing的。像上述的一些定义的字段如@code{host-name}和@code{bootloader},是强制存在的。其他的,像@code{packages}和@code{services},当其值为默认时是可以忽略的。"

#. type: Plain text
#: guix-git/doc/guix.texi:17463
#, fuzzy
msgid "Below we discuss the meaning of some of the most important fields."
msgstr "下面我们讨论一些最重要字段的含义。"

#. type: quotation
#: guix-git/doc/guix.texi:17468
#, fuzzy
msgid "The configuration file is a Scheme program and you might get the syntax or semantics wrong as you get started.  Syntactic issues such as misplaced parentheses can often be identified by reformatting your file:"
msgstr "配置文件是一个Scheme程序,您在开始时可能会弄错语法或语义。语法问题,例如括号放错位置,通常可以通过重新格式化文件来识别:"

#. type: example
#: guix-git/doc/guix.texi:17471
#, fuzzy, no-wrap
msgid "guix style -f config.scm\n"
msgstr "guix package --list-available\n"

#. type: quotation
#: guix-git/doc/guix.texi:17477
#, fuzzy
msgid "The Cookbook has a short section to get started with the Scheme programming language that explains the fundamentals, which you will find helpful when hacking your configuration.  @xref{A Scheme Crash Course,,, guix-cookbook, GNU Guix Cookbook}."
msgstr "《烹饪书》有一个简短的部分来帮助您入门Scheme编程语言,解释了基础知识,这在您修改配置时会很有帮助。@xref{A Scheme Crash Course,,, guix-cookbook, GNU Guix Cookbook}。"

#. type: unnumberedsubsec
#: guix-git/doc/guix.texi:17479
#, fuzzy, no-wrap
msgid "Bootloader"
msgstr "引导加载程序"

#. type: cindex
#: guix-git/doc/guix.texi:17481
#, fuzzy, no-wrap
msgid "legacy boot, on Intel machines"
msgstr "在Intel机器上的传统引导"

#. type: cindex
#: guix-git/doc/guix.texi:17482
#, fuzzy, no-wrap
msgid "BIOS boot, on Intel machines"
msgstr "在Intel机器上的BIOS引导"

#. type: cindex
#: guix-git/doc/guix.texi:17483
#, fuzzy, no-wrap
msgid "UEFI boot"
msgstr "UEFI引导"

#. type: cindex
#: guix-git/doc/guix.texi:17484
#, fuzzy, no-wrap
msgid "EFI boot"
msgstr "EFI引导"

#. type: Plain text
#: guix-git/doc/guix.texi:17490
#, fuzzy
msgid "The @code{bootloader} field describes the method that will be used to boot your system.  Machines based on Intel processors can boot in ``legacy'' BIOS mode, as in the example above.  However, more recent machines rely instead on the @dfn{Unified Extensible Firmware Interface} (UEFI) to boot.  In that case, the @code{bootloader} field should contain something along these lines:"
msgstr "@code{bootloader}字段描述将用于引导您的系统的方法。基于Intel处理器的机器可以以“传统”BIOS模式引导,如上面的示例所示。然而,较新的机器则依赖于@dfn{统一可扩展固件接口}(UEFI)进行引导。在这种情况下,@code{bootloader}字段应包含类似以下内容:"

#. type: lisp
#: guix-git/doc/guix.texi:17495
#, fuzzy, no-wrap
msgid ""
"(bootloader-configuration\n"
"  (bootloader grub-efi-bootloader)\n"
"  (targets '(\"/boot/efi\")))\n"
msgstr ""
"(bootloader-configuration\n"
"  (bootloader grub-efi-bootloader)\n"
"  (targets '(\"/boot/efi\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17499
#, fuzzy
msgid "@xref{Bootloader Configuration}, for more information on the available configuration options."
msgstr "@xref{引导加载程序配置},有关可用配置选项的更多信息。"

#. type: unnumberedsubsec
#: guix-git/doc/guix.texi:17500
#, fuzzy, no-wrap
msgid "Globally-Visible Packages"
msgstr "全局可见的包"

#. type: vindex
#: guix-git/doc/guix.texi:17502
#, fuzzy, no-wrap
msgid "%base-packages"
msgstr "%base-packages"

#. type: Plain text
#: guix-git/doc/guix.texi:17515
msgid "The @code{packages} field lists packages that will be globally visible on the system, for all user accounts---i.e., in every user's @env{PATH} environment variable---in addition to the per-user profiles (@pxref{Invoking guix package}).  The @code{%base-packages} variable provides all the tools one would expect for basic user and administrator tasks---including the GNU Core Utilities, the GNU Networking Utilities, the @command{mg} lightweight text editor, @command{find}, @command{grep}, etc.  The example above adds GNU@tie{}Screen to those, taken from the @code{(gnu packages screen)} module (@pxref{Package Modules}).  The @code{(list package output)} syntax can be used to add a specific output of a package:"
msgstr "@code{packages}字段列出了会在系统中为所有用户可见的包--换句话说,在每个用户的@env{PATH}环境变量中---额外地还在每个用户的profiles中(@pxref{Invoking guix package})。@code{%base-packages}变量提供了基础的用户和管理工作中会用到的所有工具--包括GNU Core Utilities,GNU Networking Utilities,@command{mg} lightweight text editor,@command{find},@command{grep}等等。上面的示例由@code{(gnu packages screen)}模块(@pxref{Package Modules})将GNU@tie{}Screen加入其中。可以使用@code{(list package output)}语法来添加软件包的特定输出:"

#. type: lisp
#: guix-git/doc/guix.texi:17519
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu packages))\n"
"(use-modules (gnu packages dns))\n"
"\n"
msgstr ""
"(use-modules (gnu packages))\n"
"(use-modules (gnu packages dns))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:17524
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; ...\n"
"  (packages (cons (list isc-bind \"utils\")\n"
"                  %base-packages)))\n"
msgstr ""
"(operating-system\n"
"  ;; ...\n"
"  (packages (cons (list isc-bind \"utils\")\n"
"                  %base-packages)))\n"

#. type: findex
#: guix-git/doc/guix.texi:17526
#, fuzzy, no-wrap
msgid "specification->package"
msgstr "规范->包"

#. type: Plain text
#: guix-git/doc/guix.texi:17535
msgid "Referring to packages by variable name, like @code{isc-bind} above, has the advantage of being unambiguous; it also allows typos and such to be diagnosed right away as ``unbound variables''.  The downside is that one needs to know which module defines which package, and to augment the @code{use-package-modules} line accordingly.  To avoid that, one can use the @code{specification->package} procedure of the @code{(gnu packages)} module, which returns the best package for a given name or name and version:"
msgstr "像上面的@code{isc-bind}这样通过变量名引用软件包的优点是明确无歧义,同时也可以立即将打字错误等问题诊断为“未绑定变量”。缺点是需要知道哪个模块定义了哪个软件包,并相应地增加@code{use-package-modules}的行数。为避免这种情况,可以使用@code{(gnu packages)}模块的@code{specification->package}步骤,该过程返回对应给定名称或及版本的最佳软件包:"

#. type: lisp
#: guix-git/doc/guix.texi:17538 guix-git/doc/guix.texi:17554
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu packages))\n"
"\n"
msgstr ""
"(use-modules (gnu packages))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:17544
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; ...\n"
"  (packages (append (map specification->package\n"
"                         '(\"tcpdump\" \"htop\" \"gnupg@@2.0\"))\n"
"                    %base-packages)))\n"
msgstr ""
"(operating-system\n"
"  ;; ...\n"
"  (packages (append (map specification->package\n"
"                         '(\"tcpdump\" \"htop\" \"gnupg@@2.0\"))\n"
"                    %base-packages)))\n"

#. type: findex
#: guix-git/doc/guix.texi:17546
#, no-wrap
msgid "specifications->packages"
msgstr "specifications->packages"

#. type: Plain text
#: guix-git/doc/guix.texi:17551
#, fuzzy
msgid "When a package has more than one output it can be a challenge to refer to a specific output instead of just to the standard @code{out} output.  For these situations one can use the @code{specifications->packages} procedure from the @code{(gnu packages)} module.  For example:"
msgstr "当一个包有多个输出时,引用特定输出而不仅仅是标准的 @code{out} 输出可能会很有挑战性。对于这些情况,可以使用来自 @code{(gnu packages)} 模块的 @code{specifications->packages} 过程。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:17560
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; ...\n"
"  (packages (append (specifications->packages\n"
"                      '(\"git\" \"git:send-email\"))\n"
"                    %base-packages)))\n"
"\n"
msgstr ""
"(operating-system\n"
"  ;; ...\n"
"  (packages (append (specifications->packages\n"
"                      '(\"git\" \"git:send-email\"))\n"
"                    %base-packages)))\n"
"\n"

#. type: unnumberedsubsec
#: guix-git/doc/guix.texi:17563
#, fuzzy, no-wrap
msgid "System Services"
msgstr "系统服务"

#. type: cindex
#: guix-git/doc/guix.texi:17565 guix-git/doc/guix.texi:43742
#: guix-git/doc/guix.texi:45615
#, fuzzy, no-wrap
msgid "services"
msgstr "服务"

#. type: defvar
#: guix-git/doc/guix.texi:17566 guix-git/doc/guix.texi:19292
#, fuzzy, no-wrap
msgid "%base-services"
msgstr "%base-services"

#. type: Plain text
#: guix-git/doc/guix.texi:17576
#, fuzzy
msgid "The @code{services} field lists @dfn{system services} to be made available when the system starts (@pxref{Services}).  The @code{operating-system} declaration above specifies that, in addition to the basic services, we want the OpenSSH secure shell daemon listening on port 2222 (@pxref{Networking Services, @code{openssh-service-type}}).  Under the hood, @code{openssh-service-type} arranges so that @command{sshd} is started with the right command-line options, possibly with supporting configuration files generated as needed (@pxref{Defining Services})."
msgstr "@code{services}字段列出了在系统启动(@pxref{Services})时要提供的@dfn{system services}。之前@code{operating-system} declaration除了基本服务之外,还特别明确我们还希望OpenSSH安全shell守护程序在端口2222上监听(@pxref{Networking Services, @code{openssh-service-type}})。在底层,@code{openssh-service-type}会安排@command{sshd}使用正确的命令行选项启动,可能会根据需要生成支持的配置文件(@pxref{Defining Services})。"

#. type: cindex
#: guix-git/doc/guix.texi:17577
#, fuzzy, no-wrap
msgid "customization, of services"
msgstr "服务的自定义"

#. type: findex
#: guix-git/doc/guix.texi:17578
#, fuzzy, no-wrap
msgid "modify-services"
msgstr "修改服务"

#. type: Plain text
#: guix-git/doc/guix.texi:17582
#, fuzzy
msgid "Occasionally, instead of using the base services as is, you will want to customize them.  To do this, use @code{modify-services} (@pxref{Service Reference, @code{modify-services}}) to modify the list."
msgstr "有时,您可能希望自定义基础服务,而不是直接使用它们。为此,请使用 @code{modify-services} (@pxref{服务参考, @code{modify-services}}) 来修改列表。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:17588
#, fuzzy
msgid "auto-login to TTY"
msgstr "自动登录到 TTY"

#. type: Plain text
#: guix-git/doc/guix.texi:17588
#, fuzzy
msgid "For example, suppose you want to modify @code{guix-daemon} and Mingetty (the console log-in) in the @code{%base-services} list (@pxref{Base Services, @code{%base-services}}).  To do that, you can write the following in your operating system declaration:"
msgstr "例如,假设您想要修改 @code{guix-daemon} 和 @code{mingetty}(控制台登录)在 @code{%base-services} 列表中 (@pxref{基础服务, @code{%base-services}})。为此,您可以在操作系统声明中写入以下内容:"

#. type: lisp
#: guix-git/doc/guix.texi:17605
#, fuzzy, no-wrap
msgid ""
"(define %my-services\n"
"  ;; My very own list of services.\n"
"  (modify-services %base-services\n"
"    (guix-service-type config =>\n"
"                       (guix-configuration\n"
"                        (inherit config)\n"
"                        ;; Fetch substitutes from example.org.\n"
"                        (substitute-urls\n"
"                          (list \"https://example.org/guix\"\n"
"                                \"https://ci.guix.gnu.org\"))))\n"
"    (mingetty-service-type config =>\n"
"                           (mingetty-configuration\n"
"                            (inherit config)\n"
"                            ;; Automatically log in as \"guest\".\n"
"                            (auto-login \"guest\")))))\n"
"\n"
msgstr ""
"(define %my-services\n"
"  ;; 我自己的一组服务。\n"
"  (modify-services %base-services\n"
"    (guix-service-type config =>\n"
"                       (guix-configuration\n"
"                        (inherit config)\n"
"                        ;; 从 example.org 获取替代品。\n"
"                        (substitute-urls\n"
"                          (list \"https://example.org/guix\"\n"
"                                \"https://ci.guix.gnu.org\"))))\n"
"    (mingetty-service-type config =>\n"
"                           (mingetty-configuration\n"
"                            (inherit config)\n"
"                            ;; 自动以“guest”身份登录。\n"
"                            (auto-login \"guest\")))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:17609
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services %my-services))\n"
msgstr ""
"(操作系统\n"
"  ;; @dots{}\n"
"  (服务 %my-services))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17622
#, fuzzy
msgid "This changes the configuration---i.e., the service parameters---of the @code{guix-service-type} instance, and that of all the @code{mingetty-service-type} instances in the @code{%base-services} list (@pxref{Auto-Login to a Specific TTY, see the cookbook for how to auto-login one user to a specific TTY,, guix-cookbook, GNU Guix Cookbook})).  Observe how this is accomplished: first, we arrange for the original configuration to be bound to the identifier @code{config} in the @var{body}, and then we write the @var{body} so that it evaluates to the desired configuration.  In particular, notice how we use @code{inherit} to create a new configuration which has the same values as the old configuration, but with a few modifications."
msgstr "这将更改配置---即,@code{guix-service-type} 实例的服务参数,以及 @code{%base-services} 列表中所有 @code{mingetty-service-type} 实例的服务参数 (@pxref{自动登录到特定 TTY,参见食谱以了解如何将一个用户自动登录到特定 TTY,, guix-cookbook, GNU Guix 食谱})). 请观察这是如何完成的:首先,我们安排将原始配置绑定到 @var{body} 中的标识符 @code{config},然后我们编写 @var{body} 使其评估为所需的配置。特别注意,我们如何使用 @code{inherit} 创建一个新配置,该配置具有与旧配置相同的值,但有一些修改。"

#. type: Plain text
#: guix-git/doc/guix.texi:17629
#, fuzzy
msgid "The configuration for a typical ``desktop'' usage, with an encrypted root partition, a swap file on the root partition, the X11 display server, GNOME and Xfce (users can choose which of these desktop environments to use at the log-in screen by pressing @kbd{F1}), network management, power management, and more, would look like this:"
msgstr "典型“桌面”使用的配置,具有加密的根分区、根分区上的交换文件、X11 显示服务器、GNOME 和 Xfce(用户可以通过按 @kbd{F1} 在登录屏幕上选择使用这些桌面环境中的哪一个)、网络管理、电源管理等,可能如下所示:"

#. type: include
#: guix-git/doc/guix.texi:17631
#, fuzzy, no-wrap
msgid "os-config-desktop.texi"
msgstr "os-config-desktop.texi"

#. type: Plain text
#: guix-git/doc/guix.texi:17636
#, fuzzy
msgid "A graphical system with a choice of lightweight window managers instead of full-blown desktop environments would look like this:"
msgstr "一个图形系统,选择轻量级窗口管理器而不是完整的桌面环境,可能如下所示:"

#. type: include
#: guix-git/doc/guix.texi:17638
#, fuzzy, no-wrap
msgid "os-config-lightweight-desktop.texi"
msgstr "os-config-lightweight-desktop.texi"

#. type: Plain text
#: guix-git/doc/guix.texi:17644
#, fuzzy
msgid "This example refers to the @file{/boot/efi} file system by its UUID, @code{1234-ABCD}.  Replace this UUID with the right UUID on your system, as returned by the @command{blkid} command."
msgstr "此示例通过其 UUID @code{1234-ABCD} 引用 @file{/boot/efi} 文件系统。请将此 UUID 替换为您系统上的正确 UUID,使用 @command{blkid} 命令返回的 UUID。"

#. type: Plain text
#: guix-git/doc/guix.texi:17647
#, fuzzy
msgid "@xref{Desktop Services}, for the exact list of services provided by @code{%desktop-services}."
msgstr "@xref{桌面服务},以获取 @code{%desktop-services} 提供的确切服务列表。"

#. type: Plain text
#: guix-git/doc/guix.texi:17654
#, fuzzy
msgid "Again, @code{%desktop-services} is just a list of service objects.  If you want to remove services from there, you can do so using the procedures for list filtering (@pxref{SRFI-1 Filtering and Partitioning,,, guile, GNU Guile Reference Manual}).  For instance, the following expression returns a list that contains all the services in @code{%desktop-services} minus the Avahi service:"
msgstr "再次强调,@code{%desktop-services} 只是服务对象的列表。如果您想从中删除服务,可以使用列表过滤的过程来实现 (@pxref{SRFI-1 过滤和分区,,, guile, GNU Guile 参考手册})。例如,以下表达式返回一个列表,其中包含 @code{%desktop-services} 中的所有服务,减去 Avahi 服务:"

#. type: lisp
#: guix-git/doc/guix.texi:17659
#, fuzzy, no-wrap
msgid ""
"(remove (lambda (service)\n"
"          (eq? (service-kind service) avahi-service-type))\n"
"        %desktop-services)\n"
msgstr ""
"(remove (lambda (service)\n"
"          (eq? (service-kind service) avahi-service-type))\n"
"        %desktop-services)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17662
#, fuzzy
msgid "Alternatively, the @code{modify-services} macro can be used:"
msgstr "或者,可以使用 @code{modify-services} 宏:"

#. type: lisp
#: guix-git/doc/guix.texi:17666
#, fuzzy, no-wrap
msgid ""
"(modify-services %desktop-services\n"
"  (delete avahi-service-type))\n"
msgstr ""
"(modify-services %desktop-services\n"
"  (delete avahi-service-type))\n"

#. type: unnumberedsubsec
#: guix-git/doc/guix.texi:17668
#, fuzzy, no-wrap
msgid "Inspecting Services"
msgstr "打印服务"

#. type: cindex
#: guix-git/doc/guix.texi:17670
#, fuzzy, no-wrap
msgid "troubleshooting, for system services"
msgstr "故障排除,针对系统服务"

#. type: cindex
#: guix-git/doc/guix.texi:17671
#, fuzzy, no-wrap
msgid "inspecting system services"
msgstr "指定系统服务。"

#. type: cindex
#: guix-git/doc/guix.texi:17672
#, fuzzy, no-wrap
msgid "system services, inspecting"
msgstr "邮件服务"

#. type: Plain text
#: guix-git/doc/guix.texi:17676
#, fuzzy
msgid "As you work on your system configuration, you might wonder why some system service doesn't show up or why the system is not as you expected.  There are several ways to inspect and troubleshoot problems."
msgstr "在您处理系统配置时,您可能会想知道为什么某些系统服务没有显示,或者为什么系统没有如您所预期的那样。 有几种方法可以检查和排除问题。"

#. type: cindex
#: guix-git/doc/guix.texi:17677
#, fuzzy, no-wrap
msgid "dependency graph, of Shepherd services"
msgstr "管理操作系统配置。"

#. type: Plain text
#: guix-git/doc/guix.texi:17680
#, fuzzy
msgid "First, you can inspect the dependency graph of Shepherd services like so:"
msgstr "首先,您可以像这样检查 Shepherd 服务的依赖图:"

#. type: example
#: guix-git/doc/guix.texi:17684
#, fuzzy, no-wrap
msgid ""
"guix system shepherd-graph /etc/config.scm | \\\n"
"  guix shell xdot -- xdot -\n"
msgstr ""
"guix system shepherd-graph /etc/config.scm | \\\n"
"  guix shell xdot -- xdot -\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17691
#, fuzzy
msgid "This lets you visualize the Shepherd services as defined in @file{/etc/config.scm}.  Each box is a service as would be shown by @command{sudo herd status} on the running system, and each arrow denotes a dependency (in the sense that if service @var{A} depends on @var{B}, then @var{B} must be started before @var{A})."
msgstr "这让您可视化在 @file{/etc/config.scm} 中定义的 Shepherd 服务。 每个框都是一个服务,就像在运行系统上通过 @command{sudo herd status} 显示的那样,每个箭头表示一个依赖关系(在这种意义上,如果服务 @var{A} 依赖于 @var{B},那么 @var{B} 必须在 @var{A} 之前启动)。"

#. type: cindex
#: guix-git/doc/guix.texi:17692
#, fuzzy, no-wrap
msgid "extension graph, of services"
msgstr "配置操作系统。"

#. type: Plain text
#: guix-git/doc/guix.texi:17696
#, fuzzy
msgid "Not all ``services'' are Shepherd services though, since Guix System uses a broader definition of the term (@pxref{Services}).  To visualize system services and their relations at a higher level, run:"
msgstr "不过,并非所有的“服务”都是 Shepherd 服务,因为 Guix 系统使用了更广泛的术语定义(@pxref{Services})。 要在更高的层次上可视化系统服务及其关系,请运行:"

#. type: example
#: guix-git/doc/guix.texi:17700
#, fuzzy, no-wrap
msgid ""
"guix system extension-graph /etc/config.scm | \\\n"
"  guix shell xdot -- xdot -\n"
msgstr ""
"guix system extension-graph /etc/config.scm | \\\n"
"  guix shell xdot -- xdot -\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17706
#, fuzzy
msgid "This lets you view the @dfn{service extension graph}: how services ``extend'' each other, for instance by contributing to their configuration.  @xref{Service Composition}, to understand the meaning of this graph."
msgstr "这让您查看 @dfn{服务扩展图}:服务如何“扩展”彼此,例如通过贡献其配置。 @xref{Service Composition},以理解此图的含义。"

#. type: Plain text
#: guix-git/doc/guix.texi:17710
#, fuzzy
msgid "Last, you may also find it useful to inspect your system configuration at the REPL (@pxref{Using Guix Interactively}).  Here is an example session:"
msgstr "最后,您可能还会发现检查 REPL 中的系统配置很有用(@pxref{Using Guix Interactively})。 这是一个示例会话:"

#. type: example
#: guix-git/doc/guix.texi:17718
#, fuzzy, no-wrap
msgid ""
"$ guix repl\n"
"scheme@@(guix-user)> ,use (gnu)\n"
"scheme@@(guix-user)> (define os (load \"config.scm\"))\n"
"scheme@@(guix-user)> ,pp (map service-kind (operating-system-services os))\n"
"$1 = (#<service-type localed cabba93>\n"
"      @dots{})\n"
msgstr ""
"$ guix repl\n"
"scheme@@(guix-user)> ,use (gnu)\n"
"scheme@@(guix-user)> (define os (load \"config.scm\"))\n"
"scheme@@(guix-user)> ,pp (map service-kind (operating-system-services os))\n"
"$1 = (#<service-type localed cabba93>\n"
"      @dots{})\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17722
#, fuzzy
msgid "@xref{Service Reference}, to learn about the Scheme interface to manipulate and inspect services."
msgstr "@xref{Service Reference},以了解操作和检查服务的 Scheme 接口。"

#. type: unnumberedsubsec
#: guix-git/doc/guix.texi:17723
#, fuzzy, no-wrap
msgid "Instantiating the System"
msgstr "实例化系统"

#. type: Plain text
#: guix-git/doc/guix.texi:17732
#, fuzzy
msgid "Assuming the @code{operating-system} declaration is stored in the @file{config.scm} file, the @command{sudo guix system reconfigure config.scm} command instantiates that configuration, and makes it the default boot entry.  @xref{Getting Started with the System}, for an overview."
msgstr "假设 @code{operating-system} 声明存储在 @file{config.scm} 文件中,@command{sudo guix system reconfigure config.scm} 命令实例化该配置,并使其成为默认启动项。 @xref{Getting Started with the System},以获取概述。"

#. type: Plain text
#: guix-git/doc/guix.texi:17740
#, fuzzy
msgid "The normal way to change the system configuration is by updating this file and re-running @command{guix system reconfigure}.  One should never have to touch files in @file{/etc} or to run commands that modify the system state such as @command{useradd} or @command{grub-install}.  In fact, you must avoid that since that would not only void your warranty but also prevent you from rolling back to previous versions of your system, should you ever need to."
msgstr "更改系统配置的正常方式是更新此文件并重新运行 @command{guix system reconfigure}。 绝不要触碰 @file{/etc} 中的文件或运行会修改系统状态的命令,例如 @command{useradd} 或 @command{grub-install}。 实际上,您必须避免这样做,因为这不仅会使您的保修失效,还会阻止您在需要时回滚到系统的先前版本。"

#. type: unnumberedsubsec
#: guix-git/doc/guix.texi:17741
#, fuzzy, no-wrap
msgid "The Programming Interface"
msgstr "编程接口"

#. type: Plain text
#: guix-git/doc/guix.texi:17746
#, fuzzy
msgid "At the Scheme level, the bulk of an @code{operating-system} declaration is instantiated with the following monadic procedure (@pxref{The Store Monad}):"
msgstr "在 Scheme 级别,@code{operating-system} 声明的大部分是通过以下单子过程实例化的 (@pxref{The Store Monad}):"

#. type: deffn
#: guix-git/doc/guix.texi:17747
#, fuzzy, no-wrap
msgid "{Monadic Procedure} operating-system-derivation os"
msgstr "{单子过程} operating-system-derivation os"

#. type: deffn
#: guix-git/doc/guix.texi:17750
#, fuzzy
msgid "Return a derivation that builds @var{os}, an @code{operating-system} object (@pxref{Derivations})."
msgstr "返回一个构建 @var{os} 的派生对象,一个 @code{operating-system} 对象 (@pxref{Derivations})。"

#. type: deffn
#: guix-git/doc/guix.texi:17754
#, fuzzy
msgid "The output of the derivation is a single directory that refers to all the packages, configuration files, and other supporting files needed to instantiate @var{os}."
msgstr "派生的输出是一个单一目录,引用了实例化 @var{os} 所需的所有软件包、配置文件和其他支持文件。"

#. type: Plain text
#: guix-git/doc/guix.texi:17759
#, fuzzy
msgid "This procedure is provided by the @code{(gnu system)} module.  Along with @code{(gnu services)} (@pxref{Services}), this module contains the guts of Guix System.  Make sure to visit it!"
msgstr "此过程由 @code{(gnu system)} 模块提供。 结合 @code{(gnu services)} (@pxref{Services}),此模块包含了 Guix 系统的核心。 确保访问它!"

#. type: section
#: guix-git/doc/guix.texi:17762
#, fuzzy, no-wrap
msgid "@code{operating-system} Reference"
msgstr "@code{operating-system} 参考"

#. type: Plain text
#: guix-git/doc/guix.texi:17767
#, fuzzy
msgid "This section summarizes all the options available in @code{operating-system} declarations (@pxref{Using the Configuration System})."
msgstr "本节总结了 @code{operating-system} 声明中可用的所有选项 (@pxref{Using the Configuration System})。"

#. type: deftp
#: guix-git/doc/guix.texi:17768
#, fuzzy, no-wrap
msgid "{Data Type} operating-system"
msgstr "{数据类型} operating-system"

#. type: deftp
#: guix-git/doc/guix.texi:17772
#, fuzzy
msgid "This is the data type representing an operating system configuration.  By that, we mean all the global system configuration, not per-user configuration (@pxref{Using the Configuration System})."
msgstr "这是表示操作系统配置的数据类型。 我们所指的是所有全局系统配置,而不是每个用户的配置 (@pxref{Using the Configuration System})。"

#. type: item
#: guix-git/doc/guix.texi:17774
#, fuzzy, no-wrap
msgid "@code{kernel} (default: @code{linux-libre})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:17780
#, fuzzy
msgid "The package object of the operating system kernel to use@footnote{Currently only the Linux-libre kernel is fully supported.  Using GNU@tie{}mach with the GNU@tie{}Hurd is experimental and only available when building a virtual machine disk image.}."
msgstr "要使用的操作系统内核的软件包对象@footnote{目前仅完全支持 Linux-libre 内核。 使用 GNU@tie{}mach 与 GNU@tie{}Hurd 是实验性的,仅在构建虚拟机磁盘映像时可用}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:17781 guix-git/doc/guix.texi:38361
#, fuzzy, no-wrap
msgid "hurd"
msgstr "hurd"

#. type: item
#: guix-git/doc/guix.texi:17782
#, fuzzy, no-wrap
msgid "@code{hurd} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:17787
#, fuzzy
msgid "The package object of the Hurd to be started by the kernel.  When this field is set, produce a GNU/Hurd operating system.  In that case, @code{kernel} must also be set to the @code{gnumach} package---the microkernel the Hurd runs on."
msgstr "由内核启动的 Hurd 的软件包对象。 当此字段被设置时,生成一个 GNU/Hurd 操作系统。 在这种情况下,@code{kernel} 也必须设置为 @code{gnumach} 软件包——Hurd 运行的微内核。"

#. type: quotation
#: guix-git/doc/guix.texi:17790
#, fuzzy
msgid "This feature is experimental and only supported for disk images."
msgstr "此功能是实验性的,仅支持磁盘映像。"

#. type: item
#: guix-git/doc/guix.texi:17792
#, fuzzy, no-wrap
msgid "@code{kernel-loadable-modules} (default: '())"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:17795
#, fuzzy
msgid "A list of objects (usually packages) to collect loadable kernel modules from--e.g. @code{(list ddcci-driver-linux)}."
msgstr "一个对象列表(通常是包),用于收集可加载的内核模块——例如 @code{(list ddcci-driver-linux)}。"

#. type: item
#: guix-git/doc/guix.texi:17796
#, fuzzy, no-wrap
msgid "@code{kernel-arguments} (default: @code{%default-kernel-arguments})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:17799
#, fuzzy
msgid "List of strings or gexps representing additional arguments to pass on the command-line of the kernel---e.g., @code{(\"console=ttyS0\")}."
msgstr "字符串或 gexp 的列表,表示要传递给内核命令行的附加参数——例如 @code{(\"console=ttyS0\")}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:17800 guix-git/doc/guix.texi:43986
#: guix-git/doc/guix.texi:44005
#, fuzzy, no-wrap
msgid "bootloader"
msgstr "引导加载程序"

#. type: table
#: guix-git/doc/guix.texi:17802
#, fuzzy
msgid "The system bootloader configuration object.  @xref{Bootloader Configuration}."
msgstr "系统引导加载程序配置对象。 @xref{Bootloader Configuration}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:17803 guix-git/doc/guix.texi:22970
#: guix-git/doc/guix.texi:44277 guix-git/doc/guix.texi:50411
#, fuzzy, no-wrap
msgid "label"
msgstr "标签"

#. type: table
#: guix-git/doc/guix.texi:17806
#, fuzzy
msgid "This is the label (a string) as it appears in the bootloader's menu entry.  The default label includes the kernel name and version."
msgstr "这是在引导加载程序菜单项中显示的标签(字符串)。默认标签包括内核名称和版本。"

#. type: item
#: guix-git/doc/guix.texi:17807 guix-git/doc/guix.texi:19763
#: guix-git/doc/guix.texi:24581 guix-git/doc/guix.texi:44149
#, fuzzy, no-wrap
msgid "@code{keyboard-layout} (default: @code{#f})"
msgstr "@code{keyboard-layout}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:17812
#, fuzzy
msgid "This field specifies the keyboard layout to use in the console.  It can be either @code{#f}, in which case the default keyboard layout is used (usually US English), or a @code{<keyboard-layout>} record. @xref{Keyboard Layout}, for more information."
msgstr "此字段指定在控制台中使用的键盘布局。可以是 @code{#f},在这种情况下使用默认键盘布局(通常是美国英语),或者是 @code{<keyboard-layout>} 记录。有关更多信息,请参见 @xref{Keyboard Layout}。"

#. type: table
#: guix-git/doc/guix.texi:17817
#, fuzzy
msgid "This keyboard layout is in effect as soon as the kernel has booted.  For instance, it is the keyboard layout in effect when you type a passphrase if your root file system is on a @code{luks-device-mapping} mapped device (@pxref{Mapped Devices})."
msgstr "此键盘布局在内核启动后立即生效。例如,当您输入密码短语时,如果您的根文件系统位于 @code{luks-device-mapping} 映射设备上,则这是生效的键盘布局(@pxref{Mapped Devices})。"

#. type: quotation
#: guix-git/doc/guix.texi:17824
#, fuzzy
msgid "This does @emph{not} specify the keyboard layout used by the bootloader, nor that used by the graphical display server.  @xref{Bootloader Configuration}, for information on how to specify the bootloader's keyboard layout.  @xref{X Window}, for information on how to specify the keyboard layout used by the X Window System."
msgstr "这并不 @emph{不} 指定引导加载程序使用的键盘布局,也不指定图形显示服务器使用的键盘布局。有关如何指定引导加载程序的键盘布局的信息,请参见 @xref{Bootloader Configuration}。有关如何指定 X Window 系统使用的键盘布局的信息,请参见 @xref{X Window}。"

#. type: item
#: guix-git/doc/guix.texi:17826
#, fuzzy, no-wrap
msgid "@code{initrd-modules} (default: @code{%base-initrd-modules})"
msgstr "@code{initrd-modules}(默认:@code{%base-initrd-modules})"

#. type: cindex
#: guix-git/doc/guix.texi:17827 guix-git/doc/guix.texi:43779
#: guix-git/doc/guix.texi:43912
#, fuzzy, no-wrap
msgid "initrd"
msgstr "initrd"

#. type: cindex
#: guix-git/doc/guix.texi:17828 guix-git/doc/guix.texi:43780
#: guix-git/doc/guix.texi:43913
#, fuzzy, no-wrap
msgid "initial RAM disk"
msgstr "初始 RAM 磁盘"

#. type: table
#: guix-git/doc/guix.texi:17831
#, fuzzy
msgid "The list of Linux kernel modules that need to be available in the initial RAM disk.  @xref{Initial RAM Disk}."
msgstr "需要在初始 RAM 磁盘中可用的 Linux 内核模块列表。 @xref{Initial RAM Disk}。"

#. type: item
#: guix-git/doc/guix.texi:17832
#, fuzzy, no-wrap
msgid "@code{initrd} (default: @code{base-initrd})"
msgstr "@code{initrd}(默认:@code{base-initrd})"

#. type: table
#: guix-git/doc/guix.texi:17836
#, fuzzy
msgid "A procedure that returns an initial RAM disk for the Linux kernel.  This field is provided to support low-level customization and should rarely be needed for casual use.  @xref{Initial RAM Disk}."
msgstr "返回 Linux 内核的初始 RAM 磁盘的过程。此字段用于支持低级自定义,通常不需要用于日常使用。 @xref{Initial RAM Disk}。"

#. type: item
#: guix-git/doc/guix.texi:17837
#, fuzzy, no-wrap
msgid "@code{firmware} (default: @code{%base-firmware})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: cindex
#: guix-git/doc/guix.texi:17838
#, fuzzy, no-wrap
msgid "firmware"
msgstr "固件"

#. type: table
#: guix-git/doc/guix.texi:17840
#, fuzzy
msgid "List of firmware packages loadable by the operating system kernel."
msgstr "操作系统内核可加载的固件包列表。"

#. type: table
#: guix-git/doc/guix.texi:17845
#, fuzzy
msgid "The default includes firmware needed for Atheros- and Broadcom-based WiFi devices (Linux-libre modules @code{ath9k} and @code{b43-open}, respectively).  @xref{Hardware Considerations}, for more info on supported hardware."
msgstr "默认包括 Atheros 和 Broadcom 基于 WiFi 设备所需的固件(Linux-libre 模块 @code{ath9k} 和 @code{b43-open},分别)。有关支持的硬件的更多信息,请参见 @xref{Hardware Considerations}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:17846 guix-git/doc/guix.texi:45264
#, fuzzy, no-wrap
msgid "host-name"
msgstr "主机名"

#. type: table
#: guix-git/doc/guix.texi:17848
#, fuzzy
msgid "The host name."
msgstr "主机名。"

#. type: item
#: guix-git/doc/guix.texi:17849
#, fuzzy, no-wrap
msgid "@code{mapped-devices} (default: @code{'()})"
msgstr "@code{mapped-devices}(默认:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:17851
#, fuzzy
msgid "A list of mapped devices.  @xref{Mapped Devices}."
msgstr "映射设备的列表。 @xref{Mapped Devices}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:17852
#, fuzzy, no-wrap
msgid "file-systems"
msgstr "文件系统"

#. type: table
#: guix-git/doc/guix.texi:17854
#, fuzzy
msgid "A list of file systems.  @xref{File Systems}."
msgstr "文件系统的列表。 @xref{File Systems}。"

#. type: item
#: guix-git/doc/guix.texi:17855
#, fuzzy, no-wrap
msgid "@code{swap-devices} (default: @code{'()})"
msgstr "@code{swap-devices}(默认:@code{'()})"

#. type: cindex
#: guix-git/doc/guix.texi:17856
#, fuzzy, no-wrap
msgid "swap devices"
msgstr "交换设备"

#. type: table
#: guix-git/doc/guix.texi:17858
#, fuzzy
msgid "A list of swap spaces.  @xref{Swap Space}."
msgstr "交换空间的列表。 @xref{Swap Space}。"

#. type: item
#: guix-git/doc/guix.texi:17859
#, fuzzy, no-wrap
msgid "@code{users} (default: @code{%base-user-accounts})"
msgstr "@code{users}(默认:@code{%base-user-accounts})"

#. type: itemx
#: guix-git/doc/guix.texi:17860
#, fuzzy, no-wrap
msgid "@code{groups} (default: @code{%base-groups})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:17862
#, fuzzy
msgid "List of user accounts and groups.  @xref{User Accounts}."
msgstr "用户账户和组的列表。 @xref{User Accounts}。"

#. type: table
#: guix-git/doc/guix.texi:17865
#, fuzzy
msgid "If the @code{users} list lacks a user account with UID@tie{}0, a ``root'' account with UID@tie{}0 is automatically added."
msgstr "如果@code{users}列表中缺少UID@tie{}0的用户账户,将自动添加一个UID@tie{}0的“root”账户。"

#. type: item
#: guix-git/doc/guix.texi:17866
#, fuzzy, no-wrap
msgid "@code{skeletons} (default: @code{(default-skeletons)})"
msgstr "@code{skeletons}(默认:@code{(default-skeletons)})"

#. type: table
#: guix-git/doc/guix.texi:17870
#, fuzzy
msgid "A list of target file name/file-like object tuples (@pxref{G-Expressions, file-like objects}).  These are the skeleton files that will be added to the home directory of newly-created user accounts."
msgstr "目标文件名/文件对象元组的列表(@pxref{G-Expressions, file-like objects})。这些是将添加到新创建用户账户的主目录中的骨架文件。"

#. type: table
#: guix-git/doc/guix.texi:17872
#, fuzzy
msgid "For instance, a valid value may look like this:"
msgstr "例如,一个有效的值可能看起来像这样:"

#. type: lisp
#: guix-git/doc/guix.texi:17878
#, fuzzy, no-wrap
msgid ""
"`((\".bashrc\" ,(plain-file \"bashrc\" \"echo Hello\\n\"))\n"
"  (\".guile\" ,(plain-file \"guile\"\n"
"                         \"(use-modules (ice-9 readline))\n"
"                          (activate-readline)\")))\n"
msgstr ""
"`((\".bashrc\" ,(plain-file \"bashrc\" \"echo Hello\\n\"))\n"
"  (\".guile\" ,(plain-file \"guile\"\n"
"                         \"(use-modules (ice-9 readline))\n"
"                          (activate-readline)\")))\n"

#. type: item
#: guix-git/doc/guix.texi:17880
#, fuzzy, no-wrap
msgid "@code{issue} (default: @code{%default-issue})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:17883
#, fuzzy
msgid "A string denoting the contents of the @file{/etc/issue} file, which is displayed when users log in on a text console."
msgstr "一个字符串,表示@file{/etc/issue}文件的内容,该文件在用户登录文本控制台时显示。"

#. type: item
#: guix-git/doc/guix.texi:17884
#, fuzzy, no-wrap
msgid "@code{packages} (default: @code{%base-packages})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:17888
#, fuzzy
msgid "A list of packages to be installed in the global profile, which is accessible at @file{/run/current-system/profile}.  Each element is either a package variable or a package/output tuple.  Here's a simple example of both:"
msgstr "要安装在全局配置文件中的软件包列表,该配置文件可在@file{/run/current-system/profile}访问。每个元素都是一个软件包变量或软件包/输出元组。以下是两者的简单示例:"

#. type: lisp
#: guix-git/doc/guix.texi:17893
#, fuzzy, no-wrap
msgid ""
"(cons* git                     ; the default \"out\" output\n"
"       (list git \"send-email\") ; another output of git\n"
"       %base-packages)         ; the default set\n"
msgstr ""
"(cons* git                     ; 默认的“out”输出\n"
"       (list git \"send-email\") ; git的另一个输出\n"
"       %base-packages)         ; 默认集合\n"

#. type: table
#: guix-git/doc/guix.texi:17898
#, fuzzy
msgid "The default set includes core utilities and it is good practice to install non-core utilities in user profiles (@pxref{Invoking guix package})."
msgstr "默认集合包括核心实用程序,建议在用户配置文件中安装非核心实用程序(@pxref{Invoking guix package})。"

#. type: item
#: guix-git/doc/guix.texi:17899
#, fuzzy, no-wrap
msgid "@code{timezone} (default: @code{\"Etc/UTC\"})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:17901
#, fuzzy
msgid "A timezone identifying string---e.g., @code{\"Europe/Paris\"}."
msgstr "一个标识时区的字符串——例如,@code{\"Europe/Paris\"}。"

#. type: table
#: guix-git/doc/guix.texi:17905
#, fuzzy
msgid "You can run the @command{tzselect} command to find out which timezone string corresponds to your region.  Choosing an invalid timezone name causes @command{guix system} to fail."
msgstr "您可以运行@command{tzselect}命令来找出哪个时区字符串对应于您的区域。选择无效的时区名称会导致@command{guix system}失败。"

#. type: item
#: guix-git/doc/guix.texi:17906 guix-git/doc/guix.texi:27115
#, fuzzy, no-wrap
msgid "@code{locale} (default: @code{\"en_US.utf8\"})"
msgstr "@code{locale}(默认:@code{\"en_US.utf8\"})"

#. type: table
#: guix-git/doc/guix.texi:17909
#, fuzzy
msgid "The name of the default locale (@pxref{Locale Names,,, libc, The GNU C Library Reference Manual}).  @xref{Locales}, for more information."
msgstr "默认区域的名称(@pxref{Locale Names,,, libc, The GNU C Library Reference Manual})。有关更多信息,请参见@xref{Locales}。"

#. type: item
#: guix-git/doc/guix.texi:17910
#, fuzzy, no-wrap
msgid "@code{locale-definitions} (default: @code{%default-locale-definitions})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:17913
#, fuzzy
msgid "The list of locale definitions to be compiled and that may be used at run time.  @xref{Locales}."
msgstr "要编译的区域定义列表,可在运行时使用。 @xref{Locales}。"

#. type: item
#: guix-git/doc/guix.texi:17914
#, fuzzy, no-wrap
msgid "@code{locale-libcs} (default: @code{(list @var{glibc})})"
msgstr "@code{locale-libcs}(默认:@code{(list @var{glibc})})"

#. type: table
#: guix-git/doc/guix.texi:17918
#, fuzzy
msgid "The list of GNU@tie{}libc packages whose locale data and tools are used to build the locale definitions.  @xref{Locales}, for compatibility considerations that justify this option."
msgstr "GNU@tie{}libc软件包的列表,其区域数据和工具用于构建区域定义。 @xref{Locales},有关证明此选项合理性的兼容性考虑。"

#. type: item
#: guix-git/doc/guix.texi:17919
#, fuzzy, no-wrap
msgid "@code{name-service-switch} (default: @code{%default-nss})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:17923
#, fuzzy
msgid "Configuration of the libc name service switch (NSS)---a @code{<name-service-switch>} object.  @xref{Name Service Switch}, for details."
msgstr "libc名称服务开关(NSS)的配置---一个@code{<name-service-switch>}对象。 @xref{Name Service Switch},详细信息。"

#. type: item
#: guix-git/doc/guix.texi:17924
#, fuzzy, no-wrap
msgid "@code{services} (default: @code{%base-services})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:17926
#, fuzzy
msgid "A list of service objects denoting system services.  @xref{Services}."
msgstr "表示系统服务的服务对象列表。 @xref{Services}。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:17928
#, fuzzy
msgid "operating-system-essential-services"
msgstr "操作系统参考"

#. type: cindex
#: guix-git/doc/guix.texi:17928
#, fuzzy, no-wrap
msgid "essential services"
msgstr "基本服务"

#. type: item
#: guix-git/doc/guix.texi:17929
#, fuzzy, no-wrap
msgid "@code{essential-services} (default: ...)"
msgstr "@code{essential-services}(默认:...)"

#. type: table
#: guix-git/doc/guix.texi:17935
#, fuzzy
msgid "The list of ``essential services''---i.e., things like instances of @code{system-service-type} (@pxref{Service Reference}) and @code{host-name-service-type}, which are derived from the operating system definition itself.  As a user you should @emph{never} need to touch this field."
msgstr "``基本服务''的列表---即,像@code{system-service-type}(@pxref{Service Reference})和@code{host-name-service-type}的实例,这些实例源自操作系统定义本身。 作为用户,您应该@emph{永远}不需要触及此字段。"

#. type: item
#: guix-git/doc/guix.texi:17936
#, fuzzy, no-wrap
msgid "@code{pam-services} (default: @code{(base-pam-services)})"
msgstr "@code{pam-services}(默认:@code{(base-pam-services)})"

#. type: cindex
#: guix-git/doc/guix.texi:17937
#, fuzzy, no-wrap
msgid "PAM"
msgstr "PAM"

#. type: cindex
#: guix-git/doc/guix.texi:17938
#, fuzzy, no-wrap
msgid "pluggable authentication modules"
msgstr "可插拔身份验证模块"

#. type: table
#: guix-git/doc/guix.texi:17941
#, fuzzy
msgid "Linux @dfn{pluggable authentication module} (PAM) services."
msgstr "Linux @dfn{可插拔身份验证模块}(PAM)服务。"

#. type: item
#: guix-git/doc/guix.texi:17942
#, fuzzy, no-wrap
msgid "@code{privileged-programs} (default: @code{%default-privileged-programs})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:17945
#, fuzzy
msgid "List of @code{<privileged-program>}.  @xref{Privileged Programs}, for more information."
msgstr "@code{<privileged-program>}的列表。 @xref{Privileged Programs},获取更多信息。"

#. type: item
#: guix-git/doc/guix.texi:17946
#, fuzzy, no-wrap
msgid "@code{sudoers-file} (default: @code{%sudoers-specification})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: cindex
#: guix-git/doc/guix.texi:17947
#, fuzzy, no-wrap
msgid "sudoers file"
msgstr "sudoers文件"

#. type: table
#: guix-git/doc/guix.texi:17950
#, fuzzy
msgid "The contents of the @file{/etc/sudoers} file as a file-like object (@pxref{G-Expressions, @code{local-file} and @code{plain-file}})."
msgstr "@file{/etc/sudoers}文件的内容作为文件对象(@pxref{G-Expressions, @code{local-file}和@code{plain-file}})。"

#. type: table
#: guix-git/doc/guix.texi:17955
#, fuzzy
msgid "This file specifies which users can use the @command{sudo} command, what they are allowed to do, and what privileges they may gain.  The default is that only @code{root} and members of the @code{wheel} group may use @code{sudo}."
msgstr "该文件指定哪些用户可以使用@command{sudo}命令,他们被允许做什么,以及他们可能获得什么特权。 默认情况下,只有@code{root}和@code{wheel}组的成员可以使用@code{sudo}。"

#. type: defmac
#: guix-git/doc/guix.texi:17958
#, fuzzy, no-wrap
msgid "this-operating-system"
msgstr "操作系统参考"

#. type: defmac
#: guix-git/doc/guix.texi:17961
#, fuzzy
msgid "When used in the @emph{lexical scope} of an operating system field definition, this identifier resolves to the operating system being defined."
msgstr "在操作系统字段定义的@emph{词法范围}中使用时,此标识符解析为正在定义的操作系统。"

#. type: defmac
#: guix-git/doc/guix.texi:17964
#, fuzzy
msgid "The example below shows how to refer to the operating system being defined in the definition of the @code{label} field:"
msgstr "下面的示例展示了如何在@code{label}字段的定义中引用正在定义的操作系统:"

#. type: lisp
#: guix-git/doc/guix.texi:17967
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu) (guix))\n"
"\n"
msgstr ""
"(use-modules (gnu) (guix))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:17972
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; ...\n"
"  (label (package-full-name\n"
"          (operating-system-kernel this-operating-system))))\n"
msgstr ""
"(operating-system\n"
"  ;; ...\n"
"  (label (package-full-name\n"
"          (operating-system-kernel this-operating-system))))\n"

#. type: defmac
#: guix-git/doc/guix.texi:17976
#, fuzzy
msgid "It is an error to refer to @code{this-operating-system} outside an operating system definition."
msgstr "在操作系统定义之外引用@code{this-operating-system}是错误的。"

#. type: Plain text
#: guix-git/doc/guix.texi:17987
#, fuzzy
msgid "The list of file systems to be mounted is specified in the @code{file-systems} field of the operating system declaration (@pxref{Using the Configuration System}).  Each file system is declared using the @code{file-system} form, like this:"
msgstr "要挂载的文件系统列表在操作系统声明的@code{file-systems}字段中指定(@pxref{Using the Configuration System})。 每个文件系统使用@code{file-system}形式声明,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:17993
#, fuzzy, no-wrap
msgid ""
"(file-system\n"
"  (mount-point \"/home\")\n"
"  (device \"/dev/sda3\")\n"
"  (type \"ext4\"))\n"
msgstr ""
"(文件系统\n"
"  (挂载点 \"/home\")\n"
"  (设备 \"/dev/sda3\")\n"
"  (类型 \"ext4\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:17997
#, fuzzy
msgid "As usual, some of the fields are mandatory---those shown in the example above---while others can be omitted.  These are described below."
msgstr "与往常一样,一些字段是必填的——如上例所示——而其他字段可以省略。 这些将在下面描述。"

#. type: deftp
#: guix-git/doc/guix.texi:17998
#, fuzzy, no-wrap
msgid "{Data Type} file-system"
msgstr "{数据类型} 文件系统"

#. type: deftp
#: guix-git/doc/guix.texi:18001
#, fuzzy
msgid "Objects of this type represent file systems to be mounted.  They contain the following members:"
msgstr "此类型的对象表示要挂载的文件系统。 它们包含以下成员:"

#. type: code{#1}
#: guix-git/doc/guix.texi:18003 guix-git/doc/guix.texi:18407
#: guix-git/doc/guix.texi:21457 guix-git/doc/guix.texi:41345
#, fuzzy, no-wrap
msgid "type"
msgstr "类型"

#. type: table
#: guix-git/doc/guix.texi:18006
#, fuzzy
msgid "This is a string specifying the type of the file system---e.g., @code{\"ext4\"}."
msgstr "这是一个字符串,指定文件系统的类型——例如,@code{\"ext4\"}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:18007
#, fuzzy, no-wrap
msgid "mount-point"
msgstr "挂载点"

#. type: table
#: guix-git/doc/guix.texi:18009
#, fuzzy
msgid "This designates the place where the file system is to be mounted."
msgstr "这指定了文件系统要挂载的位置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:18010 guix-git/doc/guix.texi:21403
#: guix-git/doc/guix.texi:23077
#, fuzzy, no-wrap
msgid "device"
msgstr "设备"

#. type: table
#: guix-git/doc/guix.texi:18020
#, fuzzy
msgid "This names the ``source'' of the file system.  It can be one of three things: a file system label, a file system UUID, or the name of a @file{/dev} node.  Labels and UUIDs offer a way to refer to file systems without having to hard-code their actual device name@footnote{Note that, while it is tempting to use @file{/dev/disk/by-uuid} and similar device names to achieve the same result, this is not recommended: These special device nodes are created by the udev daemon and may be unavailable at the time the device is mounted.}."
msgstr "这指定了文件系统的“源”。 它可以是三种事物之一:文件系统标签、文件系统 UUID 或 @file{/dev} 节点的名称。 标签和 UUID 提供了一种引用文件系统的方法,而无需硬编码其实际设备名称@footnote{请注意,虽然使用 @file{/dev/disk/by-uuid} 和类似设备名称来实现相同的结果是很诱人的,但这并不推荐:这些特殊设备节点是由 udev 守护进程创建的,可能在设备挂载时不可用。}。"

#. type: findex
#: guix-git/doc/guix.texi:18021
#, fuzzy, no-wrap
msgid "file-system-label"
msgstr "文件系统标签"

#. type: table
#: guix-git/doc/guix.texi:18026
#, fuzzy
msgid "File system labels are created using the @code{file-system-label} procedure, UUIDs are created using @code{uuid}, and @file{/dev} nodes are plain strings.  Here's an example of a file system referred to by its label, as shown by the @command{e2label} command:"
msgstr "文件系统标签是使用 @code{file-system-label} 过程创建的,UUID 是使用 @code{uuid} 创建的,而 @file{/dev} 节点是普通字符串。 这是一个通过其标签引用的文件系统的示例,如 @command{e2label} 命令所示:"

#. type: lisp
#: guix-git/doc/guix.texi:18032
#, fuzzy, no-wrap
msgid ""
"(file-system\n"
"  (mount-point \"/home\")\n"
"  (type \"ext4\")\n"
"  (device (file-system-label \"my-home\")))\n"
msgstr ""
"(文件系统\n"
"  (挂载点 \"/home\")\n"
"  (类型 \"ext4\")\n"
"  (设备 (文件系统标签 \"my-home\")))\n"

#. type: code{#1}
#: guix-git/doc/guix.texi:18034 guix-git/doc/guix.texi:41066
#: guix-git/doc/guix.texi:41082
#, fuzzy, no-wrap
msgid "uuid"
msgstr "uuid"

#. type: table
#: guix-git/doc/guix.texi:18042
#, fuzzy
msgid "UUIDs are converted from their string representation (as shown by the @command{tune2fs -l} command) using the @code{uuid} form@footnote{The @code{uuid} form expects 16-byte UUIDs as defined in @uref{https://tools.ietf.org/html/rfc4122, RFC@tie{}4122}.  This is the form of UUID used by the ext2 family of file systems and others, but it is different from ``UUIDs'' found in FAT file systems, for instance.}, like this:"
msgstr "UUID 是从其字符串表示形式转换而来的(如 @command{tune2fs -l} 命令所示),使用 @code{uuid} 形式@footnote{@code{uuid} 形式期望 16 字节的 UUID,如 @uref{https://tools.ietf.org/html/rfc4122, RFC@tie{}4122} 中定义的那样。 这是 ext2 系列文件系统和其他文件系统使用的 UUID 形式,但与 FAT 文件系统中找到的“UUID”不同。},如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:18048
#, fuzzy, no-wrap
msgid ""
"(file-system\n"
"  (mount-point \"/home\")\n"
"  (type \"ext4\")\n"
"  (device (uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")))\n"
msgstr ""
"(文件系统\n"
"  (挂载点 \"/home\")\n"
"  (类型 \"ext4\")\n"
"  (设备 (uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")))\n"

#. type: table
#: guix-git/doc/guix.texi:18056
#, fuzzy
msgid "When the source of a file system is a mapped device (@pxref{Mapped Devices}), its @code{device} field @emph{must} refer to the mapped device name---e.g., @file{\"/dev/mapper/root-partition\"}.  This is required so that the system knows that mounting the file system depends on having the corresponding device mapping established."
msgstr "当文件系统的源是映射设备时(@pxref{映射设备}),其 @code{device} 字段 @emph{必须} 指向映射设备名称——例如,@file{\"/dev/mapper/root-partition\"}。 这是必需的,以便系统知道挂载文件系统依赖于建立相应的设备映射。"

#. type: item
#: guix-git/doc/guix.texi:18057 guix-git/doc/guix.texi:50420
#, fuzzy, no-wrap
msgid "@code{flags} (default: @code{'()})"
msgstr "@code{flags}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:18069
#, fuzzy
msgid "This is a list of symbols denoting mount flags.  Recognized flags include @code{read-only}, @code{bind-mount}, @code{no-dev} (disallow access to special files), @code{no-suid} (ignore setuid and setgid bits), @code{no-atime} (do not update file access times), @code{no-diratime} (likewise for directories only), @code{strict-atime} (update file access time), @code{lazy-time} (only update time on the in-memory version of the file inode), @code{no-exec} (disallow program execution), and @code{shared} (make the mount shared).  @xref{Mount-Unmount-Remount,,, libc, The GNU C Library Reference Manual}, for more information on these flags."
msgstr "这是一个符号列表,表示挂载标志。已识别的标志包括 @code{read-only}、@code{bind-mount}、@code{no-dev}(禁止访问特殊文件)、@code{no-suid}(忽略 setuid 和 setgid 位)、@code{no-atime}(不更新文件访问时间)、@code{no-diratime}(仅对目录执行同样操作)、@code{strict-atime}(更新文件访问时间)、@code{lazy-time}(仅在文件 inode 的内存版本上更新时间)、@code{no-exec}(禁止程序执行)和 @code{shared}(使挂载共享)。有关这些标志的更多信息,请参见 @xref{Mount-Unmount-Remount,,, libc, The GNU C Library Reference Manual}。"

#. type: item
#: guix-git/doc/guix.texi:18070
#, fuzzy, no-wrap
msgid "@code{options} (default: @code{#f})"
msgstr "@code{options}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:18074
#, fuzzy
msgid "This is either @code{#f}, or a string denoting mount options passed to the file system driver.  @xref{Mount-Unmount-Remount,,, libc, The GNU C Library Reference Manual}, for details."
msgstr "这可以是 @code{#f},也可以是表示传递给文件系统驱动程序的挂载选项的字符串。有关详细信息,请参见 @xref{Mount-Unmount-Remount,,, libc, The GNU C Library Reference Manual}。"

#. type: table
#: guix-git/doc/guix.texi:18078
#, fuzzy
msgid "Run @command{man 8 mount} for options for various file systems, but beware that what it lists as file-system-independent ``mount options'' are in fact flags, and belong in the @code{flags} field described above."
msgstr "运行 @command{man 8 mount} 以获取各种文件系统的选项,但请注意,它列出的文件系统独立的“挂载选项”实际上是标志,属于上述 @code{flags} 字段。"

#. type: table
#: guix-git/doc/guix.texi:18083
#, fuzzy
msgid "The @code{file-system-options->alist} and @code{alist->file-system-options} procedures from @code{(gnu system file-systems)} can be used to convert file system options given as an association list to the string representation, and vice-versa."
msgstr "来自 @code{(gnu system file-systems)} 的 @code{file-system-options->alist} 和 @code{alist->file-system-options} 过程可用于将作为关联列表给出的文件系统选项转换为字符串表示形式,反之亦然。"

#. type: item
#: guix-git/doc/guix.texi:18084
#, fuzzy, no-wrap
msgid "@code{mount?} (default: @code{#t})"
msgstr "@code{mount?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:18089
#, fuzzy
msgid "This value indicates whether to automatically mount the file system when the system is brought up.  When set to @code{#f}, the file system gets an entry in @file{/etc/fstab} (read by the @command{mount} command) but is not automatically mounted."
msgstr "该值指示在系统启动时是否自动挂载文件系统。当设置为 @code{#f} 时,文件系统在 @file{/etc/fstab} 中有一个条目(由 @command{mount} 命令读取),但不会自动挂载。"

#. type: item
#: guix-git/doc/guix.texi:18090
#, fuzzy, no-wrap
msgid "@code{needed-for-boot?} (default: @code{#f})"
msgstr "@code{needed-for-boot?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:18095
#, fuzzy
msgid "This Boolean value indicates whether the file system is needed when booting.  If that is true, then the file system is mounted when the initial RAM disk (initrd) is loaded.  This is always the case, for instance, for the root file system."
msgstr "该布尔值指示在启动时是否需要该文件系统。如果为真,则在加载初始 RAM 磁盘(initrd)时挂载该文件系统。例如,对于根文件系统,这始终是正确的。"

#. type: item
#: guix-git/doc/guix.texi:18096
#, fuzzy, no-wrap
msgid "@code{check?} (default: @code{#t})"
msgstr "@code{check?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:18100
#, fuzzy
msgid "This Boolean indicates whether the file system should be checked for errors before being mounted.  How and when this happens can be further adjusted with the following options."
msgstr "该布尔值指示在挂载之前是否应检查文件系统是否存在错误。如何以及何时发生此操作可以通过以下选项进一步调整。"

#. type: item
#: guix-git/doc/guix.texi:18101
#, fuzzy, no-wrap
msgid "@code{skip-check-if-clean?} (default: @code{#t})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:18106
#, fuzzy
msgid "When true, this Boolean indicates that a file system check triggered by @code{check?} may exit early if the file system is marked as ``clean'', meaning that it was previously correctly unmounted and should not contain errors."
msgstr "当为真时,此布尔值表示由 @code{check?} 触发的文件系统检查可以在文件系统标记为“干净”的情况下提前退出,这意味着它之前已正确卸载且不应包含错误。"

#. type: table
#: guix-git/doc/guix.texi:18110
#, fuzzy
msgid "Setting this to false will always force a full consistency check when @code{check?} is true.  This may take a very long time and is not recommended on healthy systems---in fact, it may reduce reliability!"
msgstr "将此设置为假将始终在 @code{check?} 为真时强制进行完整一致性检查。这可能需要很长时间,并且不建议在健康系统上使用——实际上,这可能会降低可靠性!"

#. type: table
#: guix-git/doc/guix.texi:18114
#, fuzzy
msgid "Conversely, some primitive file systems like @code{fat} do not keep track of clean shutdowns and will perform a full scan regardless of the value of this option."
msgstr "相反,一些原始文件系统如 @code{fat} 不会跟踪干净的关闭,并且无论此选项的值如何,都会执行完整扫描。"

#. type: item
#: guix-git/doc/guix.texi:18115
#, fuzzy, no-wrap
msgid "@code{repair} (default: @code{'preen})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:18118
#, fuzzy
msgid "When @code{check?} finds errors, it can (try to) repair them and continue booting.  This option controls when and how to do so."
msgstr "当 @code{check?} 发现错误时,它可以(尝试)修复这些错误并继续启动。此选项控制何时以及如何执行此操作。"

#. type: table
#: guix-git/doc/guix.texi:18122
#, fuzzy
msgid "If false, try not to modify the file system at all.  Checking certain file systems like @code{jfs} may still write to the device to replay the journal.  No repairs will be attempted."
msgstr "如果为假,请尽量不要修改文件系统。检查某些文件系统如 @code{jfs} 可能仍会写入设备以重放日志。不会尝试进行修复。"

#. type: table
#: guix-git/doc/guix.texi:18125
#, fuzzy
msgid "If @code{#t}, try to repair any errors found and assume ``yes'' to all questions.  This will fix the most errors, but may be risky."
msgstr "如果 @code{#t},尝试修复发现的任何错误,并对所有问题假设“是”。这将修复大多数错误,但可能存在风险。"

#. type: table
#: guix-git/doc/guix.texi:18129
#, fuzzy
msgid "If @code{'preen}, repair only errors that are safe to fix without human interaction.  What that means is left up to the developers of each file system and may be equivalent to ``none'' or ``all''."
msgstr "如果 @code{'preen},仅修复可以在没有人工干预的情况下安全修复的错误。这意味着什么由每个文件系统的开发者决定,可能等同于“无”或“全部”。"

#. type: item
#: guix-git/doc/guix.texi:18130
#, fuzzy, no-wrap
msgid "@code{create-mount-point?} (default: @code{#f})"
msgstr "@code{create-mount-point?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:18132
#, fuzzy
msgid "When true, the mount point is created if it does not exist yet."
msgstr "当为真时,如果挂载点尚不存在,则会创建该挂载点。"

#. type: item
#: guix-git/doc/guix.texi:18133
#, fuzzy, no-wrap
msgid "@code{mount-may-fail?} (default: @code{#f})"
msgstr "@code{max-journal-usage}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:18138
#, fuzzy
msgid "When true, this indicates that mounting this file system can fail but that should not be considered an error.  This is useful in unusual cases; an example of this is @code{efivarfs}, a file system that can only be mounted on EFI/UEFI systems."
msgstr "当为真时,这表示挂载此文件系统可能会失败,但不应视为错误。这在不寻常的情况下很有用;一个例子是 @code{efivarfs},这是一个只能在 EFI/UEFI 系统上挂载的文件系统。"

#. type: table
#: guix-git/doc/guix.texi:18143
#, fuzzy
msgid "This is a list of @code{<file-system>} or @code{<mapped-device>} objects representing file systems that must be mounted or mapped devices that must be opened before (and unmounted or closed after) this one."
msgstr "这是一个 @code{<file-system>} 或 @code{<mapped-device>} 对象的列表,表示必须在此文件系统之前挂载的文件系统或必须打开的映射设备(并在此之后卸载或关闭)。"

#. type: table
#: guix-git/doc/guix.texi:18147
#, fuzzy
msgid "As an example, consider a hierarchy of mounts: @file{/sys/fs/cgroup} is a dependency of @file{/sys/fs/cgroup/cpu} and @file{/sys/fs/cgroup/memory}."
msgstr "作为一个例子,考虑一个挂载层次结构:@file{/sys/fs/cgroup} 是 @file{/sys/fs/cgroup/cpu} 和 @file{/sys/fs/cgroup/memory} 的依赖项。"

#. type: table
#: guix-git/doc/guix.texi:18150
#, fuzzy
msgid "Another example is a file system that depends on a mapped device, for example for an encrypted partition (@pxref{Mapped Devices})."
msgstr "另一个例子是依赖于映射设备的文件系统,例如用于加密分区的文件系统(@pxref{Mapped Devices})。"

#. type: item
#: guix-git/doc/guix.texi:18151
#, fuzzy, no-wrap
msgid "@code{shepherd-requirements} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:18154
#, fuzzy
msgid "This is a list of symbols denoting Shepherd requirements that must be met before mounting the file system."
msgstr "这是一个符号列表,表示在挂载文件系统之前必须满足的 Shepherd 要求。"

#. type: table
#: guix-git/doc/guix.texi:18157
#, fuzzy
msgid "As an example, an NFS file system would typically have a requirement for @code{networking}."
msgstr "例如,NFS 文件系统通常会有 @code{networking} 的要求。"

#. type: table
#: guix-git/doc/guix.texi:18164
#, fuzzy
msgid "Typically, file systems are mounted before most other Shepherd services are started.  However, file systems with a non-empty shepherd-requirements field are mounted after Shepherd services have begun.  Any Shepherd service that depends on a file system with a non-empty shepherd-requirements field must depend on it directly and not on the generic symbol @code{file-systems}."
msgstr "通常,文件系统在大多数其他 Shepherd 服务启动之前被挂载。然而,具有非空 shepherd-requirements 字段的文件系统在 Shepherd 服务开始后挂载。任何依赖于具有非空 shepherd-requirements 字段的文件系统的 Shepherd 服务必须直接依赖于它,而不是依赖于通用符号 @code{file-systems}。"

#. type: deffn
#: guix-git/doc/guix.texi:18167
#, fuzzy, no-wrap
msgid "{Procedure} file-system-label str"
msgstr "网络文件系统"

#. type: deffn
#: guix-git/doc/guix.texi:18170
#, fuzzy
msgid "This procedure returns an opaque file system label from @var{str}, a string:"
msgstr "此过程从 @var{str} 返回一个不透明的文件系统标签,该字符串:"

#. type: lisp
#: guix-git/doc/guix.texi:18174
#, fuzzy, no-wrap
msgid ""
"(file-system-label \"home\")\n"
"@result{} #<file-system-label \"home\">\n"
msgstr ""
"(file-system-label \"home\")\n"
"@result{} #<file-system-label \"home\">\n"

#. type: deffn
#: guix-git/doc/guix.texi:18178
#, fuzzy
msgid "File system labels are used to refer to file systems by label rather than by device name.  See above for examples."
msgstr "文件系统标签用于通过标签而不是设备名称来引用文件系统。请参见上面的示例。"

#. type: Plain text
#: guix-git/doc/guix.texi:18182
#, fuzzy
msgid "The @code{(gnu system file-systems)} exports the following useful variables."
msgstr "@code{(gnu system file-systems)} 导出以下有用的变量。"

#. type: defvar
#: guix-git/doc/guix.texi:18183
#, fuzzy, no-wrap
msgid "%base-file-systems"
msgstr "网络文件系统"

#. type: defvar
#: guix-git/doc/guix.texi:18188
#, fuzzy
msgid "These are essential file systems that are required on normal systems, such as @code{%pseudo-terminal-file-system} and @code{%immutable-store} (see below).  Operating system declarations should always contain at least these."
msgstr "这些是正常系统上所需的基本文件系统,例如 @code{%pseudo-terminal-file-system} 和 @code{%immutable-store}(见下文)。操作系统声明应始终至少包含这些。"

#. type: defvar
#: guix-git/doc/guix.texi:18190
#, fuzzy, no-wrap
msgid "%pseudo-terminal-file-system"
msgstr "%pseudo-terminal-file-system"

#. type: defvar
#: guix-git/doc/guix.texi:18196
#, fuzzy
msgid "This is the file system to be mounted as @file{/dev/pts}.  It supports @dfn{pseudo-terminals} created @i{via} @code{openpty} and similar functions (@pxref{Pseudo-Terminals,,, libc, The GNU C Library Reference Manual}).  Pseudo-terminals are used by terminal emulators such as @command{xterm}."
msgstr "这是要挂载为 @file{/dev/pts} 的文件系统。它支持通过 @i{via} @code{openpty} 和类似函数创建的 @dfn{伪终端}(@pxref{伪终端,,, libc, GNU C 库参考手册})。伪终端被终端仿真器如 @command{xterm} 使用。"

#. type: defvar
#: guix-git/doc/guix.texi:18198
#, fuzzy, no-wrap
msgid "%shared-memory-file-system"
msgstr "%shared-memory-file-system"

#. type: defvar
#: guix-git/doc/guix.texi:18202
#, fuzzy
msgid "This file system is mounted as @file{/dev/shm} and is used to support memory sharing across processes (@pxref{Memory-mapped I/O, @code{shm_open},, libc, The GNU C Library Reference Manual})."
msgstr "该文件系统挂载为 @file{/dev/shm},用于支持进程间的内存共享(@pxref{内存映射 I/O, @code{shm_open},, libc, GNU C 库参考手册})。"

#. type: defvar
#: guix-git/doc/guix.texi:18204
#, fuzzy, no-wrap
msgid "%immutable-store"
msgstr "%immutable-store"

#. type: defvar
#: guix-git/doc/guix.texi:18209
#, fuzzy
msgid "This file system performs a read-only ``bind mount'' of @file{/gnu/store}, making it read-only for all the users including @code{root}.  This prevents against accidental modification by software running as @code{root} or by system administrators."
msgstr "该文件系统对 @file{/gnu/store} 执行只读的“绑定挂载”,使其对所有用户(包括 @code{root})只读。这防止了以 @code{root} 身份运行的软件或系统管理员意外修改。"

#. type: defvar
#: guix-git/doc/guix.texi:18212
#, fuzzy
msgid "The daemon itself is still able to write to the store: it remounts it read-write in its own ``name space.''"
msgstr "守护进程本身仍然能够写入存储:它在自己的“命名空间”中重新挂载为可读写。"

#. type: defvar
#: guix-git/doc/guix.texi:18214
#, fuzzy, no-wrap
msgid "%binary-format-file-system"
msgstr "%binary-format-file-system"

#. type: defvar
#: guix-git/doc/guix.texi:18218
#, fuzzy
msgid "The @code{binfmt_misc} file system, which allows handling of arbitrary executable file types to be delegated to user space.  This requires the @code{binfmt.ko} kernel module to be loaded."
msgstr "@code{binfmt_misc} 文件系统,允许将任意可执行文件类型的处理委托给用户空间。这需要加载 @code{binfmt.ko} 内核模块。"

#. type: defvar
#: guix-git/doc/guix.texi:18220
#, fuzzy, no-wrap
msgid "%fuse-control-file-system"
msgstr "%fuse-control-file-system"

#. type: defvar
#: guix-git/doc/guix.texi:18224
#, fuzzy
msgid "The @code{fusectl} file system, which allows unprivileged users to mount and unmount user-space FUSE file systems.  This requires the @code{fuse.ko} kernel module to be loaded."
msgstr "@code{fusectl} 文件系统,允许非特权用户挂载和卸载用户空间的 FUSE 文件系统。这需要加载 @code{fuse.ko} 内核模块。"

#. type: Plain text
#: guix-git/doc/guix.texi:18228
#, fuzzy
msgid "The @code{(gnu system uuid)} module provides tools to deal with file system ``unique identifiers'' (UUIDs)."
msgstr "@code{(gnu system uuid)} 模块提供处理文件系统“唯一标识符”(UUID)的工具。"

#. type: deffn
#: guix-git/doc/guix.texi:18229
#, fuzzy, no-wrap
msgid "{Procedure} uuid str [type]"
msgstr "{Procedure} uuid str [type]"

#. type: deffn
#: guix-git/doc/guix.texi:18232
#, fuzzy
msgid "Return an opaque UUID (unique identifier) object of the given @var{type} (a symbol) by parsing @var{str} (a string):"
msgstr "通过解析 @var{str}(字符串)返回给定 @var{type}(符号)的不透明 UUID(唯一标识符)对象:"

#. type: lisp
#: guix-git/doc/guix.texi:18236
#, fuzzy, no-wrap
msgid ""
"(uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")\n"
"@result{} #<<uuid> type: dce bv: @dots{}>\n"
"\n"
msgstr ""
"(uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")\n"
"@result{} #<<uuid> type: dce bv: @dots{}>\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:18239
#, fuzzy, no-wrap
msgid ""
"(uuid \"1234-ABCD\" 'fat)\n"
"@result{} #<<uuid> type: fat bv: @dots{}>\n"
msgstr ""
"(uuid \"1234-ABCD\" 'fat)\n"
"@result{} #<<uuid> type: fat bv: @dots{}>\n"

#. type: deffn
#: guix-git/doc/guix.texi:18243
#, fuzzy
msgid "@var{type} may be one of @code{dce}, @code{iso9660}, @code{fat}, @code{ntfs}, or one of the commonly found synonyms for these."
msgstr "@var{type} 可以是 @code{dce}、@code{iso9660}、@code{fat}、@code{ntfs} 或这些的常见同义词之一。"

#. type: deffn
#: guix-git/doc/guix.texi:18246
#, fuzzy
msgid "UUIDs are another way to unambiguously refer to file systems in operating system configuration.  See the examples above."
msgstr "UUID 是在操作系统配置中明确引用文件系统的另一种方式。请参见上面的示例。"

#. type: Plain text
#: guix-git/doc/guix.texi:18260
#, fuzzy
msgid "The Btrfs has special features, such as subvolumes, that merit being explained in more details.  The following section attempts to cover basic as well as complex uses of a Btrfs file system with the Guix System."
msgstr "Btrfs 具有特殊功能,例如子卷,值得更详细地解释。以下部分尝试涵盖 Guix 系统中 Btrfs 文件系统的基本和复杂用法。"

#. type: Plain text
#: guix-git/doc/guix.texi:18263
#, fuzzy
msgid "In its simplest usage, a Btrfs file system can be described, for example, by:"
msgstr "在最简单的用法中,Btrfs 文件系统可以通过以下方式描述:"

#. type: lisp
#: guix-git/doc/guix.texi:18269
#, fuzzy, no-wrap
msgid ""
"(file-system\n"
"  (mount-point \"/home\")\n"
"  (type \"btrfs\")\n"
"  (device (file-system-label \"my-home\")))\n"
msgstr ""
"(file-system\n"
"  (mount-point \"/home\")\n"
"  (type \"btrfs\")\n"
"  (device (file-system-label \"my-home\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18275
#, fuzzy
msgid "The example below is more complex, as it makes use of a Btrfs subvolume, named @code{rootfs}.  The parent Btrfs file system is labeled @code{my-btrfs-pool}, and is located on an encrypted device (hence the dependency on @code{mapped-devices}):"
msgstr "下面的示例更复杂,因为它使用了名为 @code{rootfs} 的 Btrfs 子卷。父 Btrfs 文件系统标记为 @code{my-btrfs-pool},并位于加密设备上(因此依赖于 @code{mapped-devices}):"

#. type: lisp
#: guix-git/doc/guix.texi:18283
#, fuzzy, no-wrap
msgid ""
"(file-system\n"
"  (device (file-system-label \"my-btrfs-pool\"))\n"
"  (mount-point \"/\")\n"
"  (type \"btrfs\")\n"
"  (options \"subvol=rootfs\")\n"
"  (dependencies mapped-devices))\n"
msgstr ""
"(file-system\n"
"  (device (file-system-label \"my-btrfs-pool\"))\n"
"  (mount-point \"/\")\n"
"  (type \"btrfs\")\n"
"  (options \"subvol=rootfs\")\n"
"  (dependencies mapped-devices))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18294
#, fuzzy
msgid "Some bootloaders, for example GRUB, only mount a Btrfs partition at its top level during the early boot, and rely on their configuration to refer to the correct subvolume path within that top level.  The bootloaders operating in this way typically produce their configuration on a running system where the Btrfs partitions are already mounted and where the subvolume information is readily available.  As an example, @command{grub-mkconfig}, the configuration generator command shipped with GRUB, reads @file{/proc/self/mountinfo} to determine the top-level path of a subvolume."
msgstr "一些引导加载程序,例如 GRUB,仅在早期启动时在其顶层挂载 Btrfs 分区,并依赖其配置引用该顶层内的正确子卷路径。以这种方式操作的引导加载程序通常在 Btrfs 分区已挂载且子卷信息随时可用的运行系统上生成其配置。例如,@command{grub-mkconfig},与 GRUB 一起提供的配置生成命令,读取 @file{/proc/self/mountinfo} 以确定子卷的顶层路径。"

#. type: Plain text
#: guix-git/doc/guix.texi:18302
#, fuzzy
msgid "The Guix System produces a bootloader configuration using the operating system configuration as its sole input; it is therefore necessary to extract the subvolume name on which @file{/gnu/store} lives (if any)  from that operating system configuration.  To better illustrate, consider a subvolume named 'rootfs' which contains the root file system data.  In such situation, the GRUB bootloader would only see the top level of the root Btrfs partition, e.g.:"
msgstr "Guix 系统使用操作系统配置作为唯一输入生成引导加载程序配置;因此,有必要从该操作系统配置中提取 @file{/gnu/store} 所在的子卷名称(如果有的话)。为了更好地说明,考虑一个名为 'rootfs' 的子卷,它包含根文件系统数据。在这种情况下,GRUB 引导加载程序只会看到根 Btrfs 分区的顶层,例如:"

#. type: example
#: guix-git/doc/guix.texi:18309
#, fuzzy, no-wrap
msgid ""
"/                   (top level)\n"
"├── rootfs          (subvolume directory)\n"
"    ├── gnu         (normal directory)\n"
"        ├── store   (normal directory)\n"
"[...]\n"
msgstr ""
"/                   (顶层)\n"
"├── rootfs          (子卷目录)\n"
"    ├── gnu         (普通目录)\n"
"        ├── store   (普通目录)\n"
"[...]\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18314
#, fuzzy
msgid "Thus, the subvolume name must be prepended to the @file{/gnu/store} path of the kernel, initrd binaries and any other files referred to in the GRUB configuration that must be found during the early boot."
msgstr "因此,子卷名称必须添加到内核、initrd 二进制文件和 GRUB 配置中提到的任何其他文件的 @file{/gnu/store} 路径中,这些文件必须在早期引导期间找到。"

#. type: Plain text
#: guix-git/doc/guix.texi:18317
#, fuzzy
msgid "The next example shows a nested hierarchy of subvolumes and directories:"
msgstr "下一个示例显示了子卷和目录的嵌套层次结构:"

#. type: example
#: guix-git/doc/guix.texi:18324
#, fuzzy, no-wrap
msgid ""
"/                   (top level)\n"
"├── rootfs          (subvolume)\n"
"    ├── gnu         (normal directory)\n"
"        ├── store   (subvolume)\n"
"[...]\n"
msgstr ""
"/                   (顶层)\n"
"├── rootfs          (子卷)\n"
"    ├── gnu         (普通目录)\n"
"        ├── store   (子卷)\n"
"[...]\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18331
#, fuzzy
msgid "This scenario would work without mounting the 'store' subvolume.  Mounting 'rootfs' is sufficient, since the subvolume name matches its intended mount point in the file system hierarchy.  Alternatively, the 'store' subvolume could be referred to by setting the @code{subvol} option to either @code{/rootfs/gnu/store} or @code{rootfs/gnu/store}."
msgstr "在这种情况下,'store' 子卷无需挂载。挂载 'rootfs' 就足够了,因为子卷名称与其在文件系统层次结构中的预期挂载点匹配。或者,可以通过将 @code{subvol} 选项设置为 @code{/rootfs/gnu/store} 或 @code{rootfs/gnu/store} 来引用 'store' 子卷。"

#. type: Plain text
#: guix-git/doc/guix.texi:18333
#, fuzzy
msgid "Finally, a more contrived example of nested subvolumes:"
msgstr "最后,一个更复杂的嵌套子卷示例:"

#. type: example
#: guix-git/doc/guix.texi:18340
#, fuzzy, no-wrap
msgid ""
"/                           (top level)\n"
"├── root-snapshots          (subvolume)\n"
"    ├── root-current        (subvolume)\n"
"        ├── guix-store      (subvolume)\n"
"[...]\n"
msgstr ""
"/                           (顶层)\n"
"├── root-snapshots          (子卷)\n"
"    ├── root-current        (子卷)\n"
"        ├── guix-store      (子卷)\n"
"[...]\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18347
#, fuzzy
msgid "Here, the 'guix-store' subvolume doesn't match its intended mount point, so it is necessary to mount it.  The subvolume must be fully specified, by passing its file name to the @code{subvol} option.  To illustrate, the 'guix-store' subvolume could be mounted on @file{/gnu/store} by using a file system declaration such as:"
msgstr "在这里,'guix-store' 子卷与其预期的挂载点不匹配,因此有必要挂载它。必须完全指定子卷,通过将其文件名传递给 @code{subvol} 选项。为了说明,可以通过使用如下文件系统声明将 'guix-store' 子卷挂载到 @file{/gnu/store}:"

#. type: lisp
#: guix-git/doc/guix.texi:18355
#, fuzzy, no-wrap
msgid ""
"(file-system\n"
"  (device (file-system-label \"btrfs-pool-1\"))\n"
"  (mount-point \"/gnu/store\")\n"
"  (type \"btrfs\")\n"
"  (options \"subvol=root-snapshots/root-current/guix-store,\\\n"
"compress-force=zstd,space_cache=v2\"))\n"
msgstr ""
"(file-system\n"
"  (device (file-system-label \"btrfs-pool-1\"))\n"
"  (mount-point \"/gnu/store\")\n"
"  (type \"btrfs\")\n"
"  (options \"subvol=root-snapshots/root-current/guix-store,\\\n"
"compress-force=zstd,space_cache=v2\"))\n"

#. type: cindex
#: guix-git/doc/guix.texi:18360
#, fuzzy, no-wrap
msgid "device mapping"
msgstr "设备映射"

#. type: cindex
#: guix-git/doc/guix.texi:18361
#, fuzzy, no-wrap
msgid "mapped devices"
msgstr "映射设备"

#. type: Plain text
#: guix-git/doc/guix.texi:18378
#, fuzzy
msgid "The Linux kernel has a notion of @dfn{device mapping}: a block device, such as a hard disk partition, can be @dfn{mapped} into another device, usually in @code{/dev/mapper/}, with additional processing over the data that flows through it@footnote{Note that the GNU@tie{}Hurd makes no difference between the concept of a ``mapped device'' and that of a file system: both boil down to @emph{translating} input/output operations made on a file to operations on its backing store.  Thus, the Hurd implements mapped devices, like file systems, using the generic @dfn{translator} mechanism (@pxref{Translators,,, hurd, The GNU Hurd Reference Manual}).}.  A typical example is encryption device mapping: all writes to the mapped device are encrypted, and all reads are deciphered, transparently.  Guix extends this notion by considering any device or set of devices that are @dfn{transformed} in some way to create a new device; for instance, RAID devices are obtained by @dfn{assembling} several other devices, such as hard disks or partitions, into a new one that behaves as one partition."
msgstr "Linux 内核有一个 @dfn{设备映射} 的概念:块设备,例如硬盘分区,可以被 @dfn{映射} 到另一个设备,通常在 @code{/dev/mapper/} 中,对流经它的数据进行额外处理@footnote{请注意,GNU@tie{}Hurd 在“映射设备”和文件系统的概念之间没有区别:两者归结为 @emph{翻译} 对文件进行的输入/输出操作为对其后备存储的操作。因此,Hurd 使用通用的 @dfn{翻译器} 机制实现映射设备,就像文件系统一样 (@pxref{Translators,,, hurd, The GNU Hurd Reference Manual})。}。一个典型的例子是加密设备映射:对映射设备的所有写入都被加密,所有读取都被透明解密。Guix 通过考虑以某种方式 @dfn{转换} 的任何设备或设备集合来扩展这一概念,以创建一个新设备;例如,RAID 设备是通过 @dfn{组装} 几个其他设备(如硬盘或分区)获得的,形成一个表现为一个分区的新设备。"

#. type: Plain text
#: guix-git/doc/guix.texi:18381
#, fuzzy
msgid "Mapped devices are declared using the @code{mapped-device} form, defined as follows; for examples, see below."
msgstr "映射设备使用 @code{mapped-device} 形式声明,定义如下;有关示例,请参见下文。"

#. type: deftp
#: guix-git/doc/guix.texi:18382
#, fuzzy, no-wrap
msgid "{Data Type} mapped-device"
msgstr "{数据类型} 映射设备"

#. type: deftp
#: guix-git/doc/guix.texi:18385
#, fuzzy
msgid "Objects of this type represent device mappings that will be made when the system boots up."
msgstr "此类型的对象表示在系统启动时将进行的设备映射。"

#. type: table
#: guix-git/doc/guix.texi:18392
#, fuzzy
msgid "This is either a string specifying the name of the block device to be mapped, such as @code{\"/dev/sda3\"}, or a list of such strings when several devices need to be assembled for creating a new one.  In case of LVM this is a string specifying name of the volume group to be mapped."
msgstr "这可以是一个字符串,指定要映射的块设备的名称,例如 @code{\"/dev/sda3\"},或者当需要组装多个设备以创建一个新设备时,可以是这些字符串的列表。在 LVM 的情况下,这是一个指定要映射的卷组名称的字符串。"

#. type: code{#1}
#: guix-git/doc/guix.texi:18393 guix-git/doc/guix.texi:18585
#: guix-git/doc/guix.texi:50135
#, fuzzy, no-wrap
msgid "target"
msgstr "目标"

#. type: table
#: guix-git/doc/guix.texi:18402
#, fuzzy
msgid "This string specifies the name of the resulting mapped device.  For kernel mappers such as encrypted devices of type @code{luks-device-mapping}, specifying @code{\"my-partition\"} leads to the creation of the @code{\"/dev/mapper/my-partition\"} device.  For RAID devices of type @code{raid-device-mapping}, the full device name such as @code{\"/dev/md0\"} needs to be given.  LVM logical volumes of type @code{lvm-device-mapping} need to be specified as @code{\"VGNAME-LVNAME\"}."
msgstr "该字符串指定结果映射设备的名称。对于内核映射器,例如 @code{luks-device-mapping} 类型的加密设备,指定 @code{\"my-partition\"} 会导致创建 @code{\"/dev/mapper/my-partition\"} 设备。对于 @code{raid-device-mapping} 类型的 RAID 设备,需要提供完整的设备名称,例如 @code{\"/dev/md0\"}。LVM 逻辑卷的 @code{lvm-device-mapping} 类型需要指定为 @code{\"VGNAME-LVNAME\"}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:18403 guix-git/doc/guix.texi:44120
#, fuzzy, no-wrap
msgid "targets"
msgstr "目标"

#. type: table
#: guix-git/doc/guix.texi:18406
#, fuzzy
msgid "This list of strings specifies names of the resulting mapped devices in case there are several.  The format is identical to @var{target}."
msgstr "此字符串列表指定了结果映射设备的名称(如果有多个)。格式与 @var{target} 相同。"

#. type: table
#: guix-git/doc/guix.texi:18410
#, fuzzy
msgid "This must be a @code{mapped-device-kind} object, which specifies how @var{source} is mapped to @var{target}."
msgstr "这必须是一个 @code{mapped-device-kind} 对象,它指定了 @var{source} 如何映射到 @var{target}。"

#. type: defvar
#: guix-git/doc/guix.texi:18413
#, fuzzy, no-wrap
msgid "luks-device-mapping"
msgstr "luks-device-mapping"

#. type: defvar
#: guix-git/doc/guix.texi:18417
#, fuzzy
msgid "This defines LUKS block device encryption using the @command{cryptsetup} command from the package with the same name.  It relies on the @code{dm-crypt} Linux kernel module."
msgstr "这定义了使用来自同名软件包的 @command{cryptsetup} 命令进行的 LUKS 块设备加密。它依赖于 @code{dm-crypt} Linux 内核模块。"

#. type: deffn
#: guix-git/doc/guix.texi:18419
#, fuzzy, no-wrap
msgid "{Procedure} luks-device-mapping-with-options [#:key-file]"
msgstr "{Procedure} luks-device-mapping-with-options [#:key-file]"

#. type: deffn
#: guix-git/doc/guix.texi:18424
#, fuzzy
msgid "Return a @code{luks-device-mapping} object, which defines LUKS block device encryption using the @command{cryptsetup} command from the package with the same name.  It relies on the @code{dm-crypt} Linux kernel module."
msgstr "返回一个 @code{luks-device-mapping} 对象,它定义了使用来自同名软件包的 @command{cryptsetup} 命令进行的 LUKS 块设备加密。它依赖于 @code{dm-crypt} Linux 内核模块。"

#. type: deffn
#: guix-git/doc/guix.texi:18431
#, fuzzy
msgid "If @code{key-file} is provided, unlocking is first attempted using that key file.  This has an advantage of not requiring a password entry, so it can be used (for example) to unlock RAID arrays automatically on boot.  If key file unlock fails, password unlock is attempted as well.  Key file is not stored in the store and needs to be available at the given location at the time of the unlock attempt."
msgstr "如果提供了 @code{key-file},则首先尝试使用该密钥文件解锁。这具有不需要输入密码的优点,因此可以用于(例如)在启动时自动解锁 RAID 阵列。如果密钥文件解锁失败,也会尝试密码解锁。密钥文件不会存储在存储中,并且在解锁尝试时需要在给定位置可用。"

#. type: lisp
#: guix-git/doc/guix.texi:18440
#, fuzzy, no-wrap
msgid ""
";; Following definition would be equivalent to running:\n"
";;   cryptsetup open --key-file /crypto.key /dev/sdb1 data\n"
"(mapped-device\n"
" (source \"/dev/sdb1)\n"
" (target \"data)\n"
" (type (luks-device-mapping-with-options\n"
"        #:key-file \"/crypto.key\")))\n"
msgstr ""
";; 以下定义相当于运行:\n"
";;   cryptsetup open --key-file /crypto.key /dev/sdb1 data\n"
"(mapped-device\n"
" (source \"/dev/sdb1)\n"
" (target \"data)\n"
" (type (luks-device-mapping-with-options\n"
"        #:key-file \"/crypto.key\")))\n"

#. type: defvar
#: guix-git/doc/guix.texi:18443
#, fuzzy, no-wrap
msgid "raid-device-mapping"
msgstr "raid-device-mapping"

#. type: defvar
#: guix-git/doc/guix.texi:18448
#, fuzzy
msgid "This defines a RAID device, which is assembled using the @code{mdadm} command from the package with the same name.  It requires a Linux kernel module for the appropriate RAID level to be loaded, such as @code{raid456} for RAID-4, RAID-5 or RAID-6, or @code{raid10} for RAID-10."
msgstr "这定义了一个 RAID 设备,它使用来自同名软件包的 @code{mdadm} 命令进行组装。它需要加载适当 RAID 级别的 Linux 内核模块,例如 RAID-4、RAID-5 或 RAID-6 的 @code{raid456},或 RAID-10 的 @code{raid10}。"

#. type: cindex
#: guix-git/doc/guix.texi:18450
#, fuzzy, no-wrap
msgid "LVM, logical volume manager"
msgstr "LVM,逻辑卷管理器"

#. type: defvar
#: guix-git/doc/guix.texi:18451
#, fuzzy, no-wrap
msgid "lvm-device-mapping"
msgstr "lvm-device-mapping"

#. type: defvar
#: guix-git/doc/guix.texi:18456
#, fuzzy
msgid "This defines one or more logical volumes for the Linux @uref{https://www.sourceware.org/lvm2/, Logical Volume Manager (LVM)}.  The volume group is activated by the @command{vgchange} command from the @code{lvm2} package."
msgstr "这定义了一个或多个 Linux @uref{https://www.sourceware.org/lvm2/, 逻辑卷管理器 (LVM)} 的逻辑卷。卷组由来自 @code{lvm2} 软件包的 @command{vgchange} 命令激活。"

#. type: cindex
#: guix-git/doc/guix.texi:18458
#, fuzzy, no-wrap
msgid "disk encryption"
msgstr "磁盘加密"

#. type: cindex
#: guix-git/doc/guix.texi:18459
#, fuzzy, no-wrap
msgid "LUKS"
msgstr "LUKS"

#. type: Plain text
#: guix-git/doc/guix.texi:18467
#, fuzzy
msgid "The following example specifies a mapping from @file{/dev/sda3} to @file{/dev/mapper/home} using LUKS---the @url{https://gitlab.com/cryptsetup/cryptsetup,Linux Unified Key Setup}, a standard mechanism for disk encryption.  The @file{/dev/mapper/home} device can then be used as the @code{device} of a @code{file-system} declaration (@pxref{File Systems})."
msgstr "以下示例指定了使用 LUKS 将 @file{/dev/sda3} 映射到 @file{/dev/mapper/home}——LUKS 是一种标准的磁盘加密机制 @url{https://gitlab.com/cryptsetup/cryptsetup, Linux Unified Key Setup}。然后可以将 @file{/dev/mapper/home} 设备用作 @code{file-system} 声明的 @code{device}(@pxref{文件系统})。"

#. type: lisp
#: guix-git/doc/guix.texi:18473
#, fuzzy, no-wrap
msgid ""
"(mapped-device\n"
"  (source \"/dev/sda3\")\n"
"  (target \"home\")\n"
"  (type luks-device-mapping))\n"
msgstr ""
"(映射设备\n"
"  (源 \"/dev/sda3\")\n"
"  (目标 \"home\")\n"
"  (类型 luks-device-mapping))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18478
#, fuzzy
msgid "Alternatively, to become independent of device numbering, one may obtain the LUKS UUID (@dfn{unique identifier}) of the source device by a command like:"
msgstr "或者,为了不依赖设备编号,可以通过类似以下命令获取源设备的 LUKS UUID (@dfn{唯一标识符}):"

#. type: example
#: guix-git/doc/guix.texi:18481
#, fuzzy, no-wrap
msgid "cryptsetup luksUUID /dev/sda3\n"
msgstr "cryptsetup luksUUID /dev/sda3\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18484
#, fuzzy
msgid "and use it as follows:"
msgstr "并按如下方式使用它:"

#. type: lisp
#: guix-git/doc/guix.texi:18490
#, fuzzy, no-wrap
msgid ""
"(mapped-device\n"
"  (source (uuid \"cb67fc72-0d54-4c88-9d4b-b225f30b0f44\"))\n"
"  (target \"home\")\n"
"  (type luks-device-mapping))\n"
msgstr ""
"(映射设备\n"
"  (源 (uuid \"cb67fc72-0d54-4c88-9d4b-b225f30b0f44\"))\n"
"  (目标 \"home\")\n"
"  (类型 luks-device-mapping))\n"

#. type: cindex
#: guix-git/doc/guix.texi:18492
#, fuzzy, no-wrap
msgid "swap encryption"
msgstr "交换加密"

#. type: Plain text
#: guix-git/doc/guix.texi:18499
#, fuzzy
msgid "It is also desirable to encrypt swap space, since swap space may contain sensitive data.  One way to accomplish that is to use a swap file in a file system on a device mapped via LUKS encryption.  In this way, the swap file is encrypted because the entire device is encrypted.  @xref{Swap Space}, or @xref{Preparing for Installation,,Disk Partitioning}, for an example."
msgstr "加密交换空间也是可取的,因为交换空间可能包含敏感数据。实现这一点的一种方法是在通过 LUKS 加密映射的设备上的文件系统中使用交换文件。通过这种方式,交换文件被加密,因为整个设备都是加密的。有关示例,请参见 @xref{交换空间} 或 @xref{准备安装,,磁盘分区}。"

#. type: Plain text
#: guix-git/doc/guix.texi:18502
#, fuzzy
msgid "A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1} may be declared as follows:"
msgstr "由分区 @file{/dev/sda1} 和 @file{/dev/sdb1} 形成的 RAID 设备可以如下声明:"

#. type: lisp
#: guix-git/doc/guix.texi:18508
#, fuzzy, no-wrap
msgid ""
"(mapped-device\n"
"  (source (list \"/dev/sda1\" \"/dev/sdb1\"))\n"
"  (target \"/dev/md0\")\n"
"  (type raid-device-mapping))\n"
msgstr ""
"(映射设备\n"
"  (源 (列表 \"/dev/sda1\" \"/dev/sdb1\"))\n"
"  (目标 \"/dev/md0\")\n"
"  (类型 raid-device-mapping))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18515
#, fuzzy
msgid "The @file{/dev/md0} device can then be used as the @code{device} of a @code{file-system} declaration (@pxref{File Systems}).  Note that the RAID level need not be given; it is chosen during the initial creation and formatting of the RAID device and is determined automatically later."
msgstr "然后可以将 @file{/dev/md0} 设备用作 @code{file-system} 声明的 @code{device} (@pxref{文件系统})。请注意,RAID 级别不需要给出;它是在 RAID 设备的初始创建和格式化过程中选择的,并在后续自动确定。"

#. type: Plain text
#: guix-git/doc/guix.texi:18518
#, fuzzy
msgid "LVM logical volumes ``alpha'' and ``beta'' from volume group ``vg0'' can be declared as follows:"
msgstr "来自卷组 ``vg0'' 的 LVM 逻辑卷 ``alpha'' 和 ``beta'' 可以如下声明:"

#. type: lisp
#: guix-git/doc/guix.texi:18524
#, fuzzy, no-wrap
msgid ""
"(mapped-device\n"
"  (source \"vg0\")\n"
"  (targets (list \"vg0-alpha\" \"vg0-beta\"))\n"
"  (type lvm-device-mapping))\n"
msgstr ""
"(映射设备\n"
"  (源 \"vg0\")\n"
"  (目标 (列表 \"vg0-alpha\" \"vg0-beta\"))\n"
"  (类型 lvm-device-mapping))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18529
#, fuzzy
msgid "Devices @file{/dev/mapper/vg0-alpha} and @file{/dev/mapper/vg0-beta} can then be used as the @code{device} of a @code{file-system} declaration (@pxref{File Systems})."
msgstr "设备 @file{/dev/mapper/vg0-alpha} 和 @file{/dev/mapper/vg0-beta} 然后可以用作 @code{file-system} 声明的 @code{device} (@pxref{文件系统})。"

#. type: cindex
#: guix-git/doc/guix.texi:18532
#, fuzzy, no-wrap
msgid "swap space"
msgstr "交换空间"

#. type: Plain text
#: guix-git/doc/guix.texi:18542
#, fuzzy
msgid "Swap space, as it is commonly called, is a disk area specifically designated for paging: the process in charge of memory management (the Linux kernel or Hurd's default pager) can decide that some memory pages stored in RAM which belong to a running program but are unused should be stored on disk instead.  It unloads those from the RAM, freeing up precious fast memory, and writes them to the swap space.  If the program tries to access that very page, the memory management process loads it back into memory for the program to use."
msgstr "交换空间,通常称为交换空间,是专门用于分页的磁盘区域:负责内存管理的进程(Linux 内核或 Hurd 的默认分页器)可以决定某些存储在 RAM 中但未使用的内存页面应该存储在磁盘上。它将这些页面从 RAM 中卸载,释放出宝贵的快速内存,并将它们写入交换空间。如果程序尝试访问该页面,内存管理进程会将其加载回内存供程序使用。"

#. type: Plain text
#: guix-git/doc/guix.texi:18548
#, fuzzy
msgid "A common misconception about swap is that it is only useful when small amounts of RAM are available to the system.  However, it should be noted that kernels often use all available RAM for disk access caching to make I/O faster, and thus paging out unused portions of program memory will expand the RAM available for such caching."
msgstr "关于交换的一个常见误解是,它仅在系统可用的RAM较少时才有用。然而,应该注意的是,内核通常会使用所有可用的RAM进行磁盘访问缓存,以加快I/O速度,因此将未使用的程序内存分页出去将扩大可用于此类缓存的RAM。"

#. type: Plain text
#: guix-git/doc/guix.texi:18552
#, fuzzy
msgid "For a more detailed description of how memory is managed from the viewpoint of a monolithic kernel, @pxref{Memory Concepts,,, libc, The GNU C Library Reference Manual}."
msgstr "有关从单体内核的角度管理内存的更详细描述,请参见@pxref{Memory Concepts,,, libc, The GNU C Library Reference Manual}。"

#. type: Plain text
#: guix-git/doc/guix.texi:18561
#, fuzzy
msgid "The Linux kernel has support for swap partitions and swap files: the former uses a whole disk partition for paging, whereas the second uses a file on a file system for that (the file system driver needs to support it).  On a comparable setup, both have the same performance, so one should consider ease of use when deciding between them.  Partitions are ``simpler'' and do not need file system support, but need to be allocated at disk formatting time (logical volumes notwithstanding), whereas files can be allocated and deallocated at any time."
msgstr "Linux内核支持交换分区和交换文件:前者使用整个磁盘分区进行分页,而后者使用文件系统上的文件进行分页(文件系统驱动程序需要支持它)。在可比的设置下,两者的性能相同,因此在选择它们之间时应考虑易用性。分区“更简单”,不需要文件系统支持,但需要在磁盘格式化时分配(逻辑卷除外),而文件可以在任何时候分配和释放。"

#. type: cindex
#: guix-git/doc/guix.texi:18562
#, fuzzy, no-wrap
msgid "hibernation"
msgstr "验证substitute"

#. type: cindex
#: guix-git/doc/guix.texi:18563
#, fuzzy, no-wrap
msgid "suspend to disk"
msgstr "挂起到磁盘"

#. type: Plain text
#: guix-git/doc/guix.texi:18574
#, fuzzy
msgid "Swap space is also required to put the system into @dfn{hibernation} (also called @dfn{suspend to disk}), whereby memory is dumped to swap before shutdown so it can be restored when the machine is eventually restarted.  Hibernation uses at most half the size of the RAM in the configured swap space.  The Linux kernel needs to know about the swap space to be used to resume from hibernation on boot (@i{via} a kernel argument).  When using a swap file, its offset in the device holding it also needs to be given to the kernel; that value has to be updated if the file is initialized again as swap---e.g., because its size was changed."
msgstr "交换空间还需要将系统置于@dfn{休眠}(也称为@dfn{挂起到磁盘}),在此过程中,内存在关机前被转储到交换中,以便在机器最终重新启动时恢复。休眠使用的交换空间最多为配置的RAM大小的一半。Linux内核需要知道在启动时恢复休眠所使用的交换空间(@i{通过}内核参数)。使用交换文件时,还需要将其在持有设备中的偏移量提供给内核;如果文件再次初始化为交换,该值必须更新,例如,因为其大小已更改。"

#. type: Plain text
#: guix-git/doc/guix.texi:18579
#, fuzzy
msgid "Note that swap space is not zeroed on shutdown, so sensitive data (such as passwords) may linger on it if it was paged out.  As such, you should consider having your swap reside on an encrypted device (@pxref{Mapped Devices})."
msgstr "请注意,交换空间在关机时不会被清零,因此敏感数据(例如密码)可能会在其上残留,如果它被分页出去。因此,您应该考虑将交换空间放在加密设备上(@pxref{Mapped Devices})。"

#. type: deftp
#: guix-git/doc/guix.texi:18580
#, fuzzy, no-wrap
msgid "{Data Type} swap-space"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:18583
#, fuzzy
msgid "Objects of this type represent swap spaces.  They contain the following members:"
msgstr "此类型的对象表示交换空间。它们包含以下成员:"

#. type: table
#: guix-git/doc/guix.texi:18589
#, fuzzy
msgid "The device or file to use, either a UUID, a @code{file-system-label} or a string, as in the definition of a @code{file-system} (@pxref{File Systems})."
msgstr "要使用的设备或文件,可以是UUID、@code{file-system-label}或字符串,如@code{file-system}的定义中所示(@pxref{File Systems})。"

#. type: table
#: guix-git/doc/guix.texi:18596
#, fuzzy
msgid "A list of @code{file-system} or @code{mapped-device} objects, upon which the availability of the space depends.  Note that just like for @code{file-system} objects, dependencies which are needed for boot and mounted in early userspace are not managed by the Shepherd, and so automatically filtered out for you."
msgstr "一系列 @code{file-system} 或 @code{mapped-device} 对象,空间的可用性依赖于这些对象。请注意,就像 @code{file-system} 对象一样,启动和早期用户空间所需的依赖项不由 Shepherd 管理,因此会自动为您过滤掉。"

#. type: item
#: guix-git/doc/guix.texi:18597
#, fuzzy, no-wrap
msgid "@code{priority} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:18604
#, fuzzy
msgid "Only supported by the Linux kernel.  Either @code{#f} to disable swap priority, or an integer between 0 and 32767.  The kernel will first use swap spaces of higher priority when paging, and use same priority spaces on a round-robin basis.  The kernel will use swap spaces without a set priority after prioritized spaces, and in the order that they appeared in (not round-robin)."
msgstr "仅支持 Linux 内核。要么是 @code{#f} 来禁用交换优先级,要么是 0 到 32767 之间的整数。内核在分页时将首先使用优先级更高的交换空间,并以轮询方式使用相同优先级的空间。内核将在优先空间之后使用没有设置优先级的交换空间,并按照它们出现的顺序(而不是轮询)使用。"

#. type: item
#: guix-git/doc/guix.texi:18605
#, fuzzy, no-wrap
msgid "@code{discard?} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:18609
#, fuzzy
msgid "Only supported by the Linux kernel.  When true, the kernel will notify the disk controller of discarded pages, for example with the TRIM operation on Solid State Drives."
msgstr "仅支持 Linux 内核。当为真时,内核将通知磁盘控制器丢弃的页面,例如在固态硬盘上的 TRIM 操作。"

#. type: Plain text
#: guix-git/doc/guix.texi:18614
#, fuzzy
msgid "Here are some examples:"
msgstr "以下是一些示例:"

#. type: lisp
#: guix-git/doc/guix.texi:18617
#, fuzzy, no-wrap
msgid "(swap-space (target (uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")))\n"
msgstr "(swap-space (target (uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18622
#, fuzzy
msgid "Use the swap partition with the given UUID@.  You can learn the UUID of a Linux swap partition by running @command{swaplabel @var{device}}, where @var{device} is the @file{/dev} file name of that partition."
msgstr "使用给定 UUID@ 的交换分区。您可以通过运行 @command{swaplabel @var{device}} 来了解 Linux 交换分区的 UUID,其中 @var{device} 是该分区的 @file{/dev} 文件名。"

#. type: lisp
#: guix-git/doc/guix.texi:18627
#, fuzzy, no-wrap
msgid ""
"(swap-space\n"
"  (target (file-system-label \"swap\"))\n"
"  (dependencies mapped-devices))\n"
msgstr "(swap-space (target (file-system-label \"swap\")) (dependencies mapped-devices))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18633
#, fuzzy
msgid "Use the partition with label @code{swap}, which can be found after all the @var{mapped-devices} mapped devices have been opened.  Again, the @command{swaplabel} command allows you to view and change the label of a Linux swap partition."
msgstr "使用标签为 @code{swap} 的分区,该标签可以在所有 @var{mapped-devices} 映射设备打开后找到。同样,@command{swaplabel} 命令允许您查看和更改 Linux 交换分区的标签。"

#. type: Plain text
#: guix-git/doc/guix.texi:18636
#, fuzzy
msgid "Here's a more involved example with the corresponding @code{file-systems} part of an @code{operating-system} declaration."
msgstr "这是一个更复杂的示例,包含相应的 @code{file-systems} 部分的 @code{operating-system} 声明。"

#. type: lisp
#: guix-git/doc/guix.texi:18647
#, fuzzy, no-wrap
msgid ""
"(file-systems\n"
"  (list (file-system\n"
"          (device (file-system-label \"root\"))\n"
"          (mount-point \"/\")\n"
"          (type \"ext4\"))\n"
"        (file-system\n"
"          (device (file-system-label \"btrfs\"))\n"
"          (mount-point \"/btrfs\")\n"
"          (type \"btrfs\"))))\n"
"\n"
msgstr ""
"(file-systems (list (file-system (device (file-system-label \"root\")) (mount-point \"/\") (type \"ext4\")) (file-system (device (file-system-label \"btrfs\")) (mount-point \"/btrfs\") (type \"btrfs\"))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:18654
#, fuzzy, no-wrap
msgid ""
"(swap-devices\n"
"  (list\n"
"    (swap-space\n"
"      (target \"/btrfs/swapfile\")\n"
"      (dependencies (filter (file-system-mount-point-predicate \"/btrfs\")\n"
"                            file-systems)))))\n"
msgstr "(swap-devices (list (swap-space (target \"/btrfs/swapfile\") (dependencies (filter (file-system-mount-point-predicate \"/btrfs\") file-systems)))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18659
#, fuzzy
msgid "Use the file @file{/btrfs/swapfile} as swap space, which depends on the file system mounted at @file{/btrfs}.  Note how we use Guile's filter to select the file system in an elegant fashion!"
msgstr "将文件 @file{/btrfs/swapfile} 用作交换空间,这取决于挂载在 @file{/btrfs} 的文件系统。 注意我们如何优雅地使用 Guile 的过滤器来选择文件系统!"

#. type: lisp
#: guix-git/doc/guix.texi:18666
#, fuzzy, no-wrap
msgid ""
"(swap-devices\n"
"  (list\n"
"    (swap-space\n"
"      (target \"/dev/mapper/my-swap\")\n"
"      (dependencies mapped-devices))))\n"
"\n"
msgstr ""
"(swap-devices\n"
"  (list\n"
"    (swap-space\n"
"      (target \"/dev/mapper/my-swap\")\n"
"      (dependencies mapped-devices))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:18670
#, no-wrap
msgid ""
"(kernel-arguments\n"
"  (cons* \"resume=/dev/mapper/my-swap\"\n"
"         %default-kernel-arguments))\n"
msgstr ""
"(kernel-arguments\n"
"  (cons* \"resume=/dev/mapper/my-swap\"\n"
"         %default-kernel-arguments))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18677
#, fuzzy
msgid "The above snippet of an @code{operating-system} declaration enables the mapped device @file{/dev/mapper/my-swap} (which may be part of an encrypted device) as swap space, and tells the kernel to use it for hibernation via the @code{resume} kernel argument (@pxref{operating-system Reference}, @code{kernel-arguments})."
msgstr "上述 @code{operating-system} 声明的代码片段启用映射设备 @file{/dev/mapper/my-swap}(可能是加密设备的一部分)作为交换空间,并告诉内核通过 @code{resume} 内核参数(@pxref{operating-system Reference}, @code{kernel-arguments})使用它进行休眠。"

#. type: lisp
#: guix-git/doc/guix.texi:18685
#, fuzzy, no-wrap
msgid ""
"(swap-devices\n"
"  (list\n"
"    (swap-space\n"
"      (target \"/swapfile\")\n"
"      (dependencies (filter (file-system-mount-point-predicate \"/\")\n"
"                            file-systems)))))\n"
"\n"
msgstr ""
"(swap-devices\n"
"  (list\n"
"    (swap-space\n"
"      (target \"/swapfile\")\n"
"      (dependencies (filter (file-system-mount-point-predicate \"/\")\n"
"                            file-systems)))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:18690
#, fuzzy, no-wrap
msgid ""
"(kernel-arguments\n"
"  (cons* \"resume=/dev/sda3\"        ;device that holds /swapfile\n"
"         \"resume_offset=92514304\"  ;offset of /swapfile on device\n"
"         %default-kernel-arguments))\n"
msgstr ""
"(kernel-arguments\n"
"  (cons* \"resume=/dev/mapper/my-swap\"\n"
"         %default-kernel-arguments))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18700
#, fuzzy
msgid "This other snippet of @code{operating-system} enables the swap file @file{/swapfile} for hibernation by telling the kernel about the partition containing it (@code{resume} argument) and its offset on that partition (@code{resume_offset} argument).  The latter value can be found in the output of the command @command{filefrag -e} as the first number right under the @code{physical_offset} column header (the second command extracts its value directly):"
msgstr "这个 @code{operating-system} 的其他代码片段通过告诉内核包含交换文件 @file{/swapfile} 的分区(@code{resume} 参数)及其在该分区上的偏移量(@code{resume_offset} 参数)来启用交换文件以进行休眠。 后者的值可以在命令 @command{filefrag -e} 的输出中找到,作为 @code{physical_offset} 列标题下的第一个数字(第二个命令直接提取其值):"

#. type: smallexample
#: guix-git/doc/guix.texi:18710
#, fuzzy, no-wrap
msgid ""
"$ sudo filefrag -e /swapfile\n"
"Filesystem type is: ef53\n"
"File size of /swapfile is 2463842304 (601524 blocks of 4096 bytes)\n"
" ext:     logical_offset:        physical_offset: length:   expected: flags:\n"
"   0:        0..    2047:   92514304..  92516351:   2048:\n"
"@dots{}\n"
"$ sudo filefrag -e /swapfile | grep '^ *0:' | cut -d: -f3 | cut -d. -f1\n"
"   92514304\n"
msgstr ""
"$ sudo filefrag -e /swapfile\n"
"文件系统类型为: ef53\n"
"/swapfile 的文件大小为 2463842304(601524 个 4096 字节的块)\n"
" ext:     logical_offset:        physical_offset: length:   expected: flags:\n"
"   0:        0..    2047:   92514304..  92516351:   2048:\n"
"@dots{}\n"
"$ sudo filefrag -e /swapfile | grep '^ *0:' | cut -d: -f3 | cut -d. -f1\n"
"   92514304\n"

#. type: cindex
#: guix-git/doc/guix.texi:18715
#, fuzzy, no-wrap
msgid "users"
msgstr "用户"

#. type: cindex
#: guix-git/doc/guix.texi:18716
#, fuzzy, no-wrap
msgid "accounts"
msgstr "账户"

#. type: cindex
#: guix-git/doc/guix.texi:18717
#, fuzzy, no-wrap
msgid "user accounts"
msgstr "用户账户"

#. type: Plain text
#: guix-git/doc/guix.texi:18721
#, fuzzy
msgid "User accounts and groups are entirely managed through the @code{operating-system} declaration.  They are specified with the @code{user-account} and @code{user-group} forms:"
msgstr "用户账户和组完全通过 @code{operating-system} 声明进行管理。 它们通过 @code{user-account} 和 @code{user-group} 形式指定:"

#. type: lisp
#: guix-git/doc/guix.texi:18731
#, fuzzy, no-wrap
msgid ""
"(user-account\n"
"  (name \"alice\")\n"
"  (group \"users\")\n"
"  (supplementary-groups '(\"wheel\"   ;allow use of sudo, etc.\n"
"                          \"audio\"   ;sound card\n"
"                          \"video\"   ;video devices such as webcams\n"
"                          \"cdrom\")) ;the good ol' CD-ROM\n"
"  (comment \"Bob's sister\"))\n"
msgstr ""
"(user-account\n"
"  (name \"alice\")\n"
"  (group \"users\")\n"
"  (supplementary-groups '(\"wheel\"   ;允许使用 sudo 等\n"
"                          \"audio\"   ;声卡\n"
"                          \"video\"   ;视频设备,如网络摄像头\n"
"                          \"cdrom\")) ;老式 CD-ROM\n"
"  (comment \"Bob 的妹妹\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18735
#, fuzzy
msgid "Here's a user account that uses a different shell and a custom home directory (the default would be @file{\"/home/bob\"}):"
msgstr "这是一个使用不同 shell 和自定义主目录的用户帐户(默认值为 @file{\"/home/bob\"}):"

#. type: lisp
#: guix-git/doc/guix.texi:18743
#, fuzzy, no-wrap
msgid ""
"(user-account\n"
"  (name \"bob\")\n"
"  (group \"users\")\n"
"  (comment \"Alice's bro\")\n"
"  (shell (file-append zsh \"/bin/zsh\"))\n"
"  (home-directory \"/home/robert\"))\n"
msgstr ""
"(user-account\n"
"  (name \"bob\")\n"
"  (group \"users\")\n"
"  (comment \"Alice's bro\")\n"
"  (shell (file-append zsh \"/bin/zsh\"))\n"
"  (home-directory \"/home/robert\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18752
#, fuzzy
msgid "When booting or upon completion of @command{guix system reconfigure}, the system ensures that only the user accounts and groups specified in the @code{operating-system} declaration exist, and with the specified properties.  Thus, account or group creations or modifications made by directly invoking commands such as @command{useradd} are lost upon reconfiguration or reboot.  This ensures that the system remains exactly as declared."
msgstr "在启动或完成 @command{guix system reconfigure} 时,系统确保仅存在 @code{operating-system} 声明中指定的用户帐户和组,并具有指定的属性。因此,通过直接调用 @command{useradd} 等命令创建或修改的帐户或组在重新配置或重启时会丢失。这确保系统保持与声明完全一致。"

#. type: deftp
#: guix-git/doc/guix.texi:18753
#, fuzzy, no-wrap
msgid "{Data Type} user-account"
msgstr "{数据类型} 用户帐户"

#. type: deftp
#: guix-git/doc/guix.texi:18756
#, fuzzy
msgid "Objects of this type represent user accounts.  The following members may be specified:"
msgstr "此类型的对象表示用户帐户。可以指定以下成员:"

#. type: table
#: guix-git/doc/guix.texi:18760
#, fuzzy
msgid "The name of the user account."
msgstr "用户帐户的名称。"

#. type: itemx
#: guix-git/doc/guix.texi:18761 guix-git/doc/guix.texi:43733
#, fuzzy, no-wrap
msgid "group"
msgstr "组"

#. type: cindex
#: guix-git/doc/guix.texi:18762 guix-git/doc/guix.texi:18846
#, fuzzy, no-wrap
msgid "groups"
msgstr "组"

#. type: table
#: guix-git/doc/guix.texi:18765
#, fuzzy
msgid "This is the name (a string) or identifier (a number) of the user group this account belongs to."
msgstr "这是该帐户所属用户组的名称(字符串)或标识符(数字)。"

#. type: item
#: guix-git/doc/guix.texi:18766
#, fuzzy, no-wrap
msgid "@code{supplementary-groups} (default: @code{'()})"
msgstr "@code{supplementary-groups}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:18769
#, fuzzy
msgid "Optionally, this can be defined as a list of group names that this account belongs to."
msgstr "可选地,可以将其定义为该帐户所属的组名称列表。"

#. type: item
#: guix-git/doc/guix.texi:18770 guix-git/doc/guix.texi:27174
#, fuzzy, no-wrap
msgid "@code{uid} (default: @code{#f})"
msgstr "@code{uid}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:18774
#, fuzzy
msgid "This is the user ID for this account (a number), or @code{#f}.  In the latter case, a number is automatically chosen by the system when the account is created."
msgstr "这是该帐户的用户 ID(数字),或 @code{#f}。在后者情况下,系统在创建帐户时会自动选择一个数字。"

#. type: item
#: guix-git/doc/guix.texi:18775 guix-git/doc/guix.texi:22724
#, fuzzy, no-wrap
msgid "@code{comment} (default: @code{\"\"})"
msgstr "@code{comment}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:18777
#, fuzzy
msgid "A comment about the account, such as the account owner's full name."
msgstr "关于帐户的评论,例如帐户所有者的全名。"

#. type: table
#: guix-git/doc/guix.texi:18782
#, fuzzy
msgid "Note that, for non-system accounts, users are free to change their real name as it appears in @file{/etc/passwd} using the @command{chfn} command.  When they do, their choice prevails over the system administrator's choice; reconfiguring does @emph{not} change their name."
msgstr "请注意,对于非系统帐户,用户可以使用 @command{chfn} 命令自由更改其在 @file{/etc/passwd} 中显示的真实姓名。当他们这样做时,他们的选择优先于系统管理员的选择;重新配置不会 @emph{不} 更改他们的姓名。"

#. type: code{#1}
#: guix-git/doc/guix.texi:18783
#, fuzzy, no-wrap
msgid "home-directory"
msgstr "主目录"

#. type: table
#: guix-git/doc/guix.texi:18785
#, fuzzy
msgid "This is the name of the home directory for the account."
msgstr "这是该帐户的主目录名称。"

#. type: item
#: guix-git/doc/guix.texi:18786
#, fuzzy, no-wrap
msgid "@code{create-home-directory?} (default: @code{#t})"
msgstr "@code{create-home-directory?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:18789
#, fuzzy
msgid "Indicates whether the home directory of this account should be created if it does not exist yet."
msgstr "指示如果该帐户的主目录尚不存在,是否应创建该主目录。"

#. type: item
#: guix-git/doc/guix.texi:18790
#, fuzzy, no-wrap
msgid "@code{shell} (default: Bash)"
msgstr "@code{shell}(默认值:Bash)"

#. type: table
#: guix-git/doc/guix.texi:18794
#, fuzzy
msgid "This is a G-expression denoting the file name of a program to be used as the shell (@pxref{G-Expressions}).  For example, you would refer to the Bash executable like this:"
msgstr "这是一个 G 表达式,表示用作 shell 的程序的文件名 (@pxref{G-Expressions})。例如,您可以这样引用 Bash 可执行文件:"

#. type: lisp
#: guix-git/doc/guix.texi:18797
#, fuzzy, no-wrap
msgid "(file-append bash \"/bin/bash\")\n"
msgstr "(file-append bash \"/bin/bash\")\n"

#. type: table
#: guix-git/doc/guix.texi:18801
#, fuzzy
msgid "... and to the Zsh executable like that:"
msgstr "... 并将其指向 Zsh 可执行文件,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:18804
#, fuzzy, no-wrap
msgid "(file-append zsh \"/bin/zsh\")\n"
msgstr "(file-append zsh \"/bin/zsh\")\n"

#. type: item
#: guix-git/doc/guix.texi:18806 guix-git/doc/guix.texi:18864
#, fuzzy, no-wrap
msgid "@code{system?} (default: @code{#f})"
msgstr "@code{system?} (默认值: @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:18810
#, fuzzy
msgid "This Boolean value indicates whether the account is a ``system'' account.  System accounts are sometimes treated specially; for instance, graphical login managers do not list them."
msgstr "这个布尔值指示该账户是否为“系统”账户。系统账户有时会被特殊处理;例如,图形登录管理器不会列出它们。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:18812
#, fuzzy
msgid "user-account-password"
msgstr "用户账户密码"

#. type: cindex
#: guix-git/doc/guix.texi:18812
#, fuzzy, no-wrap
msgid "password, for user accounts"
msgstr "用户账户的密码"

#. type: table
#: guix-git/doc/guix.texi:18819
#, fuzzy
msgid "You would normally leave this field to @code{#f}, initialize user passwords as @code{root} with the @command{passwd} command, and then let users change it with @command{passwd}.  Passwords set with @command{passwd} are of course preserved across reboot and reconfiguration."
msgstr "您通常会将此字段留空为 @code{#f},将用户密码初始化为 @code{root},使用 @command{passwd} 命令,然后让用户使用 @command{passwd} 更改它。使用 @command{passwd} 设置的密码在重启和重新配置时当然会被保留。"

#. type: table
#: guix-git/doc/guix.texi:18823
#, fuzzy
msgid "If you @emph{do} want to set an initial password for an account, then this field must contain the encrypted password, as a string.  You can use the @code{crypt} procedure for this purpose:"
msgstr "如果您确实想为账户设置初始密码,则此字段必须包含加密密码,作为字符串。您可以使用 @code{crypt} 过程来实现:"

#. type: lisp
#: guix-git/doc/guix.texi:18828
#, fuzzy, no-wrap
msgid ""
"(user-account\n"
"  (name \"charlie\")\n"
"  (group \"users\")\n"
"\n"
msgstr ""
"(user-account\n"
"  (name \"charlie\")\n"
"  (group \"users\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:18831
#, fuzzy, no-wrap
msgid ""
"  ;; Specify a SHA-512-hashed initial password.\n"
"  (password (crypt \"InitialPassword!\" \"$6$abc\")))\n"
msgstr ""
"  ;; 指定一个 SHA-512 哈希的初始密码。\n"
"  (password (crypt \"InitialPassword!\" \"$6$abc\")))\n"

#. type: quotation
#: guix-git/doc/guix.texi:18837
#, fuzzy
msgid "The hash of this initial password will be available in a file in @file{/gnu/store}, readable by all the users, so this method must be used with care."
msgstr "此初始密码的哈希将保存在 @file{/gnu/store} 中的一个文件中,所有用户均可读取,因此此方法必须谨慎使用。"

#. type: table
#: guix-git/doc/guix.texi:18842
#, fuzzy
msgid "@xref{Passphrase Storage,,, libc, The GNU C Library Reference Manual}, for more information on password encryption, and @ref{Encryption,,, guile, GNU Guile Reference Manual}, for information on Guile's @code{crypt} procedure."
msgstr "@xref{Passphrase Storage,,, libc, The GNU C Library Reference Manual},有关密码加密的更多信息,以及 @ref{Encryption,,, guile, GNU Guile Reference Manual},有关 Guile 的 @code{crypt} 过程的信息。"

#. type: Plain text
#: guix-git/doc/guix.texi:18848
#, fuzzy
msgid "User group declarations are even simpler:"
msgstr "用户组声明甚至更简单:"

#. type: lisp
#: guix-git/doc/guix.texi:18851
#, fuzzy, no-wrap
msgid "(user-group (name \"students\"))\n"
msgstr "(user-group (name \"students\"))\n"

#. type: deftp
#: guix-git/doc/guix.texi:18853
#, fuzzy, no-wrap
msgid "{Data Type} user-group"
msgstr "{数据类型} 用户组"

#. type: deftp
#: guix-git/doc/guix.texi:18855
#, fuzzy
msgid "This type is for, well, user groups.  There are just a few fields:"
msgstr "此类型是,嗯,用户组。只有几个字段:"

#. type: table
#: guix-git/doc/guix.texi:18859
#, fuzzy
msgid "The name of the group."
msgstr "组的名称。"

#. type: item
#: guix-git/doc/guix.texi:18860 guix-git/doc/guix.texi:38502
#, fuzzy, no-wrap
msgid "@code{id} (default: @code{#f})"
msgstr "@code{id} (默认值: @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:18863
#, fuzzy
msgid "The group identifier (a number).  If @code{#f}, a new number is automatically allocated when the group is created."
msgstr "组标识符(一个数字)。如果 @code{#f},则在创建组时会自动分配一个新数字。"

#. type: table
#: guix-git/doc/guix.texi:18867
#, fuzzy
msgid "This Boolean value indicates whether the group is a ``system'' group.  System groups have low numerical IDs."
msgstr "这个布尔值指示该组是否为“系统”组。系统组具有较低的数字 ID。"

#. type: table
#: guix-git/doc/guix.texi:18871
#, fuzzy
msgid "What, user groups can have a password? Well, apparently yes.  Unless @code{#f}, this field specifies the password of the group."
msgstr "什么,用户组可以有密码?好吧,显然可以。除非 @code{#f},否则此字段指定该组的密码。"

#. type: Plain text
#: guix-git/doc/guix.texi:18877
#, fuzzy
msgid "For convenience, a variable lists all the basic user groups one may expect:"
msgstr "为了方便,变量列出了用户可能期望的所有基本用户组:"

#. type: defvar
#: guix-git/doc/guix.texi:18878
#, fuzzy, no-wrap
msgid "%base-groups"
msgstr "%base-groups"

#. type: defvar
#: guix-git/doc/guix.texi:18883
#, fuzzy
msgid "This is the list of basic user groups that users and/or packages expect to be present on the system.  This includes groups such as ``root'', ``wheel'', and ``users'', as well as groups used to control access to specific devices such as ``audio'', ``disk'', and ``cdrom''."
msgstr "这是用户和/或软件包期望在系统上存在的基本用户组的列表。这包括“root”、“wheel”和“users”等组,以及用于控制对特定设备(如“audio”、“disk”和“cdrom”)访问的组。"

#. type: defvar
#: guix-git/doc/guix.texi:18885
#, fuzzy, no-wrap
msgid "%base-user-accounts"
msgstr "用户帐号"

#. type: defvar
#: guix-git/doc/guix.texi:18888
#, fuzzy
msgid "This is the list of basic system accounts that programs may expect to find on a GNU/Linux system, such as the ``nobody'' account."
msgstr "这是程序可能期望在GNU/Linux系统上找到的基本系统账户列表,例如“nobody”账户。"

#. type: defvar
#: guix-git/doc/guix.texi:18891
#, fuzzy
msgid "Note that the ``root'' account is not included here.  It is a special-case and is automatically added whether or not it is specified."
msgstr "请注意,“root”账户不包括在此。它是一个特殊情况,无论是否指定,都会自动添加。"

#. type: cindex
#: guix-git/doc/guix.texi:18893
#, fuzzy, no-wrap
msgid "containers, subordinate IDs"
msgstr "容器,子用户ID"

#. type: Plain text
#: guix-git/doc/guix.texi:18899
#, fuzzy
msgid "The Linux kernel also implements @dfn{subordinate user and group IDs}, or ``subids'', which are used to map the ID of a user and group to several IDs inside separate name spaces---inside ``containers''.  @xref{subordinate-user-group-ids, the subordinate user and group ID service}, for information on how to configure it."
msgstr "Linux内核还实现了@dfn{子用户和组ID},或称“subids”,用于将用户和组的ID映射到多个ID,位于不同的命名空间内——在“容器”内。有关如何配置它的信息,请参见@xref{子用户组ID,子用户和组ID服务}。"

#. type: cindex
#: guix-git/doc/guix.texi:18904
#, fuzzy, no-wrap
msgid "keymap"
msgstr "键盘映射"

#. type: Plain text
#: guix-git/doc/guix.texi:18912
#, fuzzy
msgid "To specify what each key of your keyboard does, you need to tell the operating system what @dfn{keyboard layout} you want to use.  The default, when nothing is specified, is the US English QWERTY layout for 105-key PC keyboards.  However, German speakers will usually prefer the German QWERTZ layout, French speakers will want the AZERTY layout, and so on; hackers might prefer Dvorak or bépo, and they might even want to further customize the effect of some of the keys.  This section explains how to get that done."
msgstr "要指定键盘的每个键的功能,您需要告诉操作系统您想使用什么@dfn{键盘布局}。默认情况下,当未指定时,是105键PC键盘的美国英语QWERTY布局。然而,德语使用者通常会更喜欢德语QWERTZ布局,法语使用者会想要AZERTY布局,等等;黑客可能更喜欢Dvorak或bépo,他们甚至可能想进一步自定义某些键的效果。本节解释如何完成这一点。"

#. type: cindex
#: guix-git/doc/guix.texi:18913
#, fuzzy, no-wrap
msgid "keyboard layout, definition"
msgstr "键盘布局,定义"

#. type: Plain text
#: guix-git/doc/guix.texi:18915
#, fuzzy
msgid "There are three components that will want to know about your keyboard layout:"
msgstr "有三个组件需要了解您的键盘布局:"

#. type: itemize
#: guix-git/doc/guix.texi:18922
#, fuzzy
msgid "The @emph{bootloader} may want to know what keyboard layout you want to use (@pxref{Bootloader Configuration, @code{keyboard-layout}}).  This is useful if you want, for instance, to make sure that you can type the passphrase of your encrypted root partition using the right layout."
msgstr "@emph{引导加载程序}可能想知道您想使用什么键盘布局(@pxref{引导加载程序配置,@code{keyboard-layout}})。如果您想确保能够使用正确的布局输入加密根分区的密码短语,这将非常有用。"

#. type: itemize
#: guix-git/doc/guix.texi:18927
#, fuzzy
msgid "The @emph{operating system kernel}, Linux, will need that so that the console is properly configured (@pxref{operating-system Reference, @code{keyboard-layout}})."
msgstr "@emph{操作系统内核}Linux需要这个,以便控制台能够正确配置(@pxref{操作系统参考,@code{keyboard-layout}})。"

#. type: itemize
#: guix-git/doc/guix.texi:18931
#, fuzzy
msgid "The @emph{graphical display server}, usually Xorg, also has its own idea of the keyboard layout (@pxref{X Window, @code{keyboard-layout}})."
msgstr "@emph{图形显示服务器},通常是Xorg,也有自己对键盘布局的理解(@pxref{X窗口,@code{keyboard-layout}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:18935
#, fuzzy
msgid "Guix allows you to configure all three separately but, fortunately, it allows you to share the same keyboard layout for all three components."
msgstr "Guix允许您单独配置所有三个组件,但幸运的是,它允许您为所有三个组件共享相同的键盘布局。"

#. type: cindex
#: guix-git/doc/guix.texi:18936
#, fuzzy, no-wrap
msgid "XKB, keyboard layouts"
msgstr "XKB,键盘布局"

#. type: Plain text
#: guix-git/doc/guix.texi:18944
#, fuzzy
msgid "Keyboard layouts are represented by records created by the @code{keyboard-layout} procedure of @code{(gnu system keyboard)}.  Following the X Keyboard extension (XKB), each layout has four attributes: a name (often a language code such as ``fi'' for Finnish or ``jp'' for Japanese), an optional variant name, an optional keyboard model name, and a possibly empty list of additional options.  In most cases the layout name is all you care about."
msgstr "键盘布局由@code{(gnu system keyboard)}的@code{keyboard-layout}过程创建的记录表示。根据X键盘扩展(XKB),每个布局有四个属性:一个名称(通常是语言代码,例如“fi”表示芬兰语或“jp”表示日语),一个可选的变体名称,一个可选的键盘模型名称,以及一个可能为空的附加选项列表。在大多数情况下,布局名称就是您关心的全部。"

#. type: deffn
#: guix-git/doc/guix.texi:18945
#, fuzzy, no-wrap
msgid "{Procedure} keyboard-layout name [variant] [#:model] [#:options '()]"
msgstr "{Procedure} 键盘布局名称 [变体] [#:模型] [#:选项 '()]"

#. type: deffn
#: guix-git/doc/guix.texi:18947
#, fuzzy
msgid "Return a new keyboard layout with the given @var{name} and @var{variant}."
msgstr "返回一个新的键盘布局,使用给定的 @var{name} 和 @var{variant}。"

#. type: deffn
#: guix-git/doc/guix.texi:18951
#, fuzzy
msgid "@var{name} must be a string such as @code{\"fr\"}; @var{variant} must be a string such as @code{\"bepo\"} or @code{\"nodeadkeys\"}.  See the @code{xkeyboard-config} package for valid options."
msgstr "@var{name} 必须是一个字符串,例如 @code{\"fr\"};@var{variant} 必须是一个字符串,例如 @code{\"bepo\"} 或 @code{\"nodeadkeys\"}。有关有效选项,请参见 @code{xkeyboard-config} 包。"

#. type: Plain text
#: guix-git/doc/guix.texi:18954
#, fuzzy
msgid "Here are a few examples:"
msgstr "以下是一些示例:"

#. type: lisp
#: guix-git/doc/guix.texi:18959
#, fuzzy, no-wrap
msgid ""
";; The German QWERTZ layout.  Here we assume a standard\n"
";; \"pc105\" keyboard model.\n"
"(keyboard-layout \"de\")\n"
"\n"
msgstr ""
";; 德国 QWERTZ 布局。这里我们假设使用标准\n"
";; \"pc105\" 键盘模型。\n"
"(keyboard-layout \"de\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:18962
#, fuzzy, no-wrap
msgid ""
";; The bépo variant of the French layout.\n"
"(keyboard-layout \"fr\" \"bepo\")\n"
"\n"
msgstr ""
";; 法国布局的 bépo 变体。\n"
"(keyboard-layout \"fr\" \"bepo\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:18965
#, fuzzy, no-wrap
msgid ""
";; The Catalan layout.\n"
"(keyboard-layout \"es\" \"cat\")\n"
"\n"
msgstr ""
";; 加泰罗尼亚布局。\n"
"(keyboard-layout \"es\" \"cat\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:18968
#, fuzzy, no-wrap
msgid ""
";; Arabic layout with \"Alt-Shift\" to switch to US layout.\n"
"(keyboard-layout \"ar,us\" #:options '(\"grp:alt_shift_toggle\"))\n"
"\n"
msgstr ""
";; 阿拉伯布局,使用 \"Alt-Shift\" 切换到美国布局。\n"
"(keyboard-layout \"ar,us\" #:options '(\"grp:alt_shift_toggle\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:18975
#, fuzzy, no-wrap
msgid ""
";; The Latin American Spanish layout.  In addition, the\n"
";; \"Caps Lock\" key is used as an additional \"Ctrl\" key,\n"
";; and the \"Menu\" key is used as a \"Compose\" key to enter\n"
";; accented letters.\n"
"(keyboard-layout \"latam\"\n"
"                 #:options '(\"ctrl:nocaps\" \"compose:menu\"))\n"
"\n"
msgstr ""
";; 拉丁美洲西班牙语布局。此外,\n"
";; \"Caps Lock\" 键用作额外的 \"Ctrl\" 键,\n"
";; \"Menu\" 键用作 \"Compose\" 键以输入\n"
";; 重音字母。\n"
"(keyboard-layout \"latam\"\n"
"                 #:options '(\"ctrl:nocaps\" \"compose:menu\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:18978
#, fuzzy, no-wrap
msgid ""
";; The Russian layout for a ThinkPad keyboard.\n"
"(keyboard-layout \"ru\" #:model \"thinkpad\")\n"
"\n"
msgstr ""
";; ThinkPad 键盘的俄语布局。\n"
"(keyboard-layout \"ru\" #:model \"thinkpad\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:18983
#, fuzzy, no-wrap
msgid ""
";; The \"US international\" layout, which is the US layout plus\n"
";; dead keys to enter accented characters.  This is for an\n"
";; Apple MacBook keyboard.\n"
"(keyboard-layout \"us\" \"intl\" #:model \"macbook78\")\n"
msgstr ""
";; \"美国国际\" 布局,即美国布局加上\n"
";; 死键以输入重音字符。这是为\n"
";; 苹果 MacBook 键盘准备的。\n"
"(keyboard-layout \"us\" \"intl\" #:model \"macbook78\")\n"

#. type: Plain text
#: guix-git/doc/guix.texi:18987
#, fuzzy
msgid "See the @file{share/X11/xkb} directory of the @code{xkeyboard-config} package for a complete list of supported layouts, variants, and models."
msgstr "请查看 @code{xkeyboard-config} 包的 @file{share/X11/xkb} 目录,以获取支持的布局、变体和模型的完整列表。"

#. type: cindex
#: guix-git/doc/guix.texi:18988
#, fuzzy, no-wrap
msgid "keyboard layout, configuration"
msgstr "键盘布局,配置"

#. type: Plain text
#: guix-git/doc/guix.texi:18992
#, fuzzy
msgid "Let's say you want your system to use the Turkish keyboard layout throughout your system---bootloader, console, and Xorg.  Here's what your system configuration would look like:"
msgstr "假设您希望系统在整个系统中使用土耳其键盘布局——引导加载程序、控制台和 Xorg。您的系统配置将如下所示:"

#. type: findex
#: guix-git/doc/guix.texi:18993
#, fuzzy, no-wrap
msgid "set-xorg-configuration"
msgstr "set-xorg-configuration"

#. type: lisp
#: guix-git/doc/guix.texi:18997
#, fuzzy, no-wrap
msgid ""
";; Using the Turkish layout for the bootloader, the console,\n"
";; and for Xorg.\n"
"\n"
msgstr ""
";; 在引导加载程序、控制台和 Xorg 中使用土耳其布局。\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:19009
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; ...\n"
"  (keyboard-layout (keyboard-layout \"tr\"))  ;for the console\n"
"  (bootloader (bootloader-configuration\n"
"                (bootloader grub-efi-bootloader)\n"
"                (targets '(\"/boot/efi\"))\n"
"                (keyboard-layout keyboard-layout))) ;for GRUB\n"
"  (services (cons (set-xorg-configuration\n"
"                    (xorg-configuration             ;for Xorg\n"
"                      (keyboard-layout keyboard-layout)))\n"
"                  %desktop-services)))\n"
msgstr ""
"(operating-system\n"
"  ;; ...\n"
"  (keyboard-layout (keyboard-layout \"tr\"))  ;用于控制台\n"
"  (bootloader (bootloader-configuration\n"
"                (bootloader grub-efi-bootloader)\n"
"                (targets '(\"/boot/efi\"))\n"
"                (keyboard-layout keyboard-layout))) ;用于 GRUB\n"
"  (services (cons (set-xorg-configuration\n"
"                    (xorg-configuration             ;用于 Xorg\n"
"                      (keyboard-layout keyboard-layout)))\n"
"                  %desktop-services)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:19016
#, fuzzy
msgid "In the example above, for GRUB and for Xorg, we just refer to the @code{keyboard-layout} field defined above, but we could just as well refer to a different layout.  The @code{set-xorg-configuration} procedure communicates the desired Xorg configuration to the graphical log-in manager, by default GDM."
msgstr "在上面的示例中,对于 GRUB 和 Xorg,我们只是引用了上面定义的 @code{keyboard-layout} 字段,但我们也可以引用其他布局。"

#. type: Plain text
#: guix-git/doc/guix.texi:19019
#, fuzzy
msgid "We've discussed how to specify the @emph{default} keyboard layout of your system when it starts, but you can also adjust it at run time:"
msgstr "我们讨论了如何在系统启动时指定 @emph{默认} 键盘布局,但您也可以在运行时进行调整:"

#. type: itemize
#: guix-git/doc/guix.texi:19024
#, fuzzy
msgid "If you're using GNOME, its settings panel has a ``Region & Language'' entry where you can select one or more keyboard layouts."
msgstr "如果您使用 GNOME,它的设置面板中有一个“区域和语言”条目,您可以在其中选择一个或多个键盘布局。"

#. type: itemize
#: guix-git/doc/guix.texi:19029
#, fuzzy
msgid "Under Xorg, the @command{setxkbmap} command (from the same-named package)  allows you to change the current layout.  For example, this is how you would change the layout to US Dvorak:"
msgstr "在 Xorg 下,@command{setxkbmap} 命令(来自同名软件包)允许您更改当前布局。例如,这就是如何将布局更改为美国 Dvorak:"

#. type: example
#: guix-git/doc/guix.texi:19032
#, fuzzy, no-wrap
msgid "setxkbmap us dvorak\n"
msgstr "setxkbmap us dvorak\n"

#. type: itemize
#: guix-git/doc/guix.texi:19039
#, fuzzy
msgid "The @code{loadkeys} command changes the keyboard layout in effect in the Linux console.  However, note that @code{loadkeys} does @emph{not} use the XKB keyboard layout categorization described above.  The command below loads the French bépo layout:"
msgstr "@code{loadkeys} 命令更改 Linux 控制台中生效的键盘布局。然而,请注意,@code{loadkeys} 并不使用上面描述的 XKB 键盘布局分类。下面的命令加载法语 bépo 布局:"

#. type: example
#: guix-git/doc/guix.texi:19042
#, fuzzy, no-wrap
msgid "loadkeys fr-bepo\n"
msgstr "loadkeys fr-bepo\n"

#. type: cindex
#: guix-git/doc/guix.texi:19048
#, fuzzy, no-wrap
msgid "locale"
msgstr "区域设置"

#. type: Plain text
#: guix-git/doc/guix.texi:19055
#, fuzzy
msgid "A @dfn{locale} defines cultural conventions for a particular language and region of the world (@pxref{Locales,,, libc, The GNU C Library Reference Manual}).  Each locale has a name that typically has the form @code{@var{language}_@var{territory}.@var{codeset}}---e.g., @code{fr_LU.utf8} designates the locale for the French language, with cultural conventions from Luxembourg, and using the UTF-8 encoding."
msgstr "@dfn{locale} 定义了特定语言和地区的文化惯例(@pxref{Locales,,, libc, The GNU C Library Reference Manual})。每个区域设置都有一个名称,通常形式为 @code{@var{language}_@var{territory}.@var{codeset}}——例如,@code{fr_LU.utf8} 指定法语区域设置,具有来自卢森堡的文化惯例,并使用 UTF-8 编码。"

#. type: cindex
#: guix-git/doc/guix.texi:19056
#, fuzzy, no-wrap
msgid "locale definition"
msgstr "区域设置定义"

#. type: Plain text
#: guix-git/doc/guix.texi:19060
#, fuzzy
msgid "Usually, you will want to specify the default locale for the machine using the @code{locale} field of the @code{operating-system} declaration (@pxref{operating-system Reference, @code{locale}})."
msgstr "通常,您会希望使用 @code{operating-system} 声明的 @code{locale} 字段指定机器的默认区域设置(@pxref{operating-system Reference, @code{locale}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:19069
#, fuzzy
msgid "The selected locale is automatically added to the @dfn{locale definitions} known to the system if needed, with its codeset inferred from its name---e.g., @code{bo_CN.utf8} will be assumed to use the @code{UTF-8} codeset.  Additional locale definitions can be specified in the @code{locale-definitions} slot of @code{operating-system}---this is useful, for instance, if the codeset could not be inferred from the locale name.  The default set of locale definitions includes some widely used locales, but not all the available locales, in order to save space."
msgstr "如果需要,所选的区域设置会自动添加到系统已知的 @dfn{locale definitions} 中,其字符集从名称中推断——例如,@code{bo_CN.utf8} 将被假定使用 @code{UTF-8} 字符集。可以在 @code{operating-system} 的 @code{locale-definitions} 插槽中指定其他区域设置定义——例如,如果无法从区域设置名称推断字符集,这将很有用。默认的区域设置定义集包括一些广泛使用的区域设置,但并不包括所有可用的区域设置,以节省空间。"

#. type: Plain text
#: guix-git/doc/guix.texi:19072
#, fuzzy
msgid "For instance, to add the North Frisian locale for Germany, the value of that field may be:"
msgstr "例如,要为德国添加北弗里斯兰语区域设置,该字段的值可能是:"

#. type: lisp
#: guix-git/doc/guix.texi:19077
#, fuzzy, no-wrap
msgid ""
"(cons (locale-definition\n"
"        (name \"fy_DE.utf8\") (source \"fy_DE\"))\n"
"      %default-locale-definitions)\n"
msgstr ""
"(cons (locale-definition\n"
"        (name \"fy_DE.utf8\") (source \"fy_DE\"))\n"
"      %default-locale-definitions)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:19081
#, fuzzy
msgid "Likewise, to save space, one might want @code{locale-definitions} to list only the locales that are actually used, as in:"
msgstr "同样,为了节省空间,可能希望 @code{locale-definitions} 仅列出实际使用的区域设置,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:19086
#, fuzzy, no-wrap
msgid ""
"(list (locale-definition\n"
"        (name \"ja_JP.eucjp\") (source \"ja_JP\")\n"
"        (charset \"EUC-JP\")))\n"
msgstr ""
"(list (locale-definition\n"
"        (name \"ja_JP.eucjp\") (source \"ja_JP\")\n"
"        (charset \"EUC-JP\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:19095
#, fuzzy
msgid "The compiled locale definitions are available at @file{/run/current-system/locale/X.Y}, where @code{X.Y} is the libc version, which is the default location where the GNU@tie{}libc provided by Guix looks for locale data.  This can be overridden using the @env{LOCPATH} environment variable (@pxref{locales-and-locpath, @env{LOCPATH} and locale packages})."
msgstr "编译后的区域设置定义可在 @file{/run/current-system/locale/X.Y} 找到,其中 @code{X.Y} 是 libc 版本,这是 Guix 提供的 GNU@tie{}libc 查找区域数据的默认位置。可以使用 @env{LOCPATH} 环境变量覆盖此位置 (@pxref{locales-and-locpath, @env{LOCPATH} 和区域包})。"

#. type: Plain text
#: guix-git/doc/guix.texi:19098
#, fuzzy
msgid "The @code{locale-definition} form is provided by the @code{(gnu system locale)} module.  Details are given below."
msgstr "@code{locale-definition} 形式由 @code{(gnu system locale)} 模块提供。详细信息如下。"

#. type: deftp
#: guix-git/doc/guix.texi:19099
#, fuzzy, no-wrap
msgid "{Data Type} locale-definition"
msgstr "{数据类型} locale-definition"

#. type: deftp
#: guix-git/doc/guix.texi:19101
#, fuzzy
msgid "This is the data type of a locale definition."
msgstr "这是区域设置定义的数据类型。"

#. type: table
#: guix-git/doc/guix.texi:19107
#, fuzzy
msgid "The name of the locale.  @xref{Locale Names,,, libc, The GNU C Library Reference Manual}, for more information on locale names."
msgstr "区域设置的名称。有关区域设置名称的更多信息,请参见 @xref{Locale Names,,, libc, The GNU C Library Reference Manual}。"

#. type: table
#: guix-git/doc/guix.texi:19111
#, fuzzy
msgid "The name of the source for that locale.  This is typically the @code{@var{language}_@var{territory}} part of the locale name."
msgstr "该区域设置的来源名称。通常是区域设置名称中的 @code{@var{language}_@var{territory}} 部分。"

#. type: item
#: guix-git/doc/guix.texi:19112
#, fuzzy, no-wrap
msgid "@code{charset} (default: @code{\"UTF-8\"})"
msgstr "@code{charset}(默认值:@code{\"UTF-8\"})"

#. type: table
#: guix-git/doc/guix.texi:19116
#, fuzzy
msgid "The ``character set'' or ``code set'' for that locale, @uref{https://www.iana.org/assignments/character-sets, as defined by IANA}."
msgstr "该区域设置的“字符集”或“代码集”,@uref{https://www.iana.org/assignments/character-sets, 由 IANA 定义}。"

#. type: defvar
#: guix-git/doc/guix.texi:19120
#, fuzzy, no-wrap
msgid "%default-locale-definitions"
msgstr "更新软件包定义。"

#. type: defvar
#: guix-git/doc/guix.texi:19124
#, fuzzy
msgid "A list of commonly used UTF-8 locales, used as the default value of the @code{locale-definitions} field of @code{operating-system} declarations."
msgstr "常用的 UTF-8 区域设置列表,用作 @code{operating-system} 声明的 @code{locale-definitions} 字段的默认值。"

#. type: cindex
#: guix-git/doc/guix.texi:19125
#, fuzzy, no-wrap
msgid "locale name"
msgstr "区域设置名称"

#. type: cindex
#: guix-git/doc/guix.texi:19126
#, fuzzy, no-wrap
msgid "normalized codeset in locale names"
msgstr "区域设置名称中的标准化代码集"

#. type: defvar
#: guix-git/doc/guix.texi:19132
#, fuzzy
msgid "These locale definitions use the @dfn{normalized codeset} for the part that follows the dot in the name (@pxref{Using gettextized software, normalized codeset,, libc, The GNU C Library Reference Manual}).  So for instance it has @code{uk_UA.utf8} but @emph{not}, say, @code{uk_UA.UTF-8}."
msgstr "这些区域设置定义使用名称中点后部分的 @dfn{标准化代码集}(@pxref{Using gettextized software, normalized codeset,, libc, The GNU C Library Reference Manual})。例如,它有 @code{uk_UA.utf8},但 @emph{没有},例如 @code{uk_UA.UTF-8}。"

#. type: subsection
#: guix-git/doc/guix.texi:19134
#, fuzzy, no-wrap
msgid "Locale Data Compatibility Considerations"
msgstr "区域数据兼容性考虑"

#. type: cindex
#: guix-git/doc/guix.texi:19136
#, fuzzy, no-wrap
msgid "incompatibility, of locale data"
msgstr "区域数据的不兼容性"

#. type: Plain text
#: guix-git/doc/guix.texi:19143
#, fuzzy
msgid "@code{operating-system} declarations provide a @code{locale-libcs} field to specify the GNU@tie{}libc packages that are used to compile locale declarations (@pxref{operating-system Reference}).  ``Why would I care?'', you may ask.  Well, it turns out that the binary format of locale data is occasionally incompatible from one libc version to another."
msgstr "@code{operating-system} 声明提供 @code{locale-libcs} 字段,以指定用于编译区域声明的 GNU@tie{}libc 包(@pxref{operating-system Reference})。你可能会问:“我为什么要关心?”实际上,区域数据的二进制格式在不同的 libc 版本之间偶尔不兼容。"

#. type: Plain text
#: guix-git/doc/guix.texi:19155
#, fuzzy
msgid "For instance, a program linked against libc version 2.21 is unable to read locale data produced with libc 2.22; worse, that program @emph{aborts} instead of simply ignoring the incompatible locale data@footnote{Versions 2.23 and later of GNU@tie{}libc will simply skip the incompatible locale data, which is already an improvement.}.  Similarly, a program linked against libc 2.22 can read most, but not all, of the locale data from libc 2.21 (specifically, @env{LC_COLLATE} data is incompatible); thus calls to @code{setlocale} may fail, but programs will not abort."
msgstr "例如,链接到libc版本2.21的程序无法读取使用libc 2.22生成的区域数据;更糟糕的是,该程序@emph{中止}而不是简单地忽略不兼容的区域数据@footnote{GNU@tie{}libc的2.23及更高版本将简单跳过不兼容的区域数据,这已经是一个改进。}。类似地,链接到libc 2.22的程序可以读取大部分,但不是全部,来自libc 2.21的区域数据(具体来说,@env{LC_COLLATE}数据不兼容);因此,调用@code{setlocale}可能会失败,但程序不会中止。"

#. type: Plain text
#: guix-git/doc/guix.texi:19160
#, fuzzy
msgid "The ``problem'' with Guix is that users have a lot of freedom: They can choose whether and when to upgrade software in their profiles, and might be using a libc version different from the one the system administrator used to build the system-wide locale data."
msgstr "Guix的“问题”在于用户有很大的自由:他们可以选择是否以及何时在其配置文件中升级软件,并且可能使用与系统管理员用于构建系统范围区域数据的libc版本不同的libc版本。"

#. type: Plain text
#: guix-git/doc/guix.texi:19164
#, fuzzy
msgid "Fortunately, unprivileged users can also install their own locale data and define @env{GUIX_LOCPATH} accordingly (@pxref{locales-and-locpath, @env{GUIX_LOCPATH} and locale packages})."
msgstr "幸运的是,非特权用户也可以安装自己的区域数据并相应地定义@env{GUIX_LOCPATH}(@pxref{locales-and-locpath, @env{GUIX_LOCPATH}和区域包})。"

#. type: Plain text
#: guix-git/doc/guix.texi:19171
#, fuzzy
msgid "Still, it is best if the system-wide locale data at @file{/run/current-system/locale} is built for all the libc versions actually in use on the system, so that all the programs can access it---this is especially crucial on a multi-user system.  To do that, the administrator can specify several libc packages in the @code{locale-libcs} field of @code{operating-system}:"
msgstr "不过,最好是@file{/run/current-system/locale}中的系统范围区域数据是为系统上实际使用的所有libc版本构建的,以便所有程序都可以访问它——这在多用户系统上尤其重要。为此,管理员可以在@code{operating-system}的@code{locale-libcs}字段中指定多个libc包:"

#. type: lisp
#: guix-git/doc/guix.texi:19174
#, fuzzy, no-wrap
msgid ""
"(use-package-modules base)\n"
"\n"
msgstr ""
"(use-package-modules base)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:19178
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (locale-libcs (list glibc-2.21 (canonical-package glibc))))\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (locale-libcs (list glibc-2.21 (canonical-package glibc))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:19183
#, fuzzy
msgid "This example would lead to a system containing locale definitions for both libc 2.21 and the current version of libc in @file{/run/current-system/locale}."
msgstr "这个示例将导致系统包含libc 2.21和@file{/run/current-system/locale}中当前版本的libc的区域定义。"

#. type: cindex
#: guix-git/doc/guix.texi:19188
#, fuzzy, no-wrap
msgid "system services"
msgstr "系统服务"

#. type: Plain text
#: guix-git/doc/guix.texi:19194
#, fuzzy
msgid "An important part of preparing an @code{operating-system} declaration is listing @dfn{system services} and their configuration (@pxref{Using the Configuration System}).  System services are typically daemons launched when the system boots, or other actions needed at that time---e.g., configuring network access."
msgstr "准备@code{operating-system}声明的重要部分是列出@dfn{系统服务}及其配置(@pxref{Using the Configuration System})。系统服务通常是在系统启动时启动的守护进程,或在该时间所需的其他操作——例如,配置网络访问。"

#. type: Plain text
#: guix-git/doc/guix.texi:19201
#, fuzzy
msgid "Guix has a broad definition of ``service'' (@pxref{Service Composition}), but many services are managed by the GNU@tie{}Shepherd (@pxref{Shepherd Services}).  On a running system, the @command{herd} command allows you to list the available services, show their status, start and stop them, or do other specific operations (@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual}).  For example:"
msgstr "Guix对“服务”的定义很广泛(@pxref{Service Composition}),但许多服务由GNU@tie{}Shepherd管理(@pxref{Shepherd Services})。在运行的系统上,@command{herd}命令允许您列出可用服务,显示其状态,启动和停止它们,或执行其他特定操作(@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual})。例如:"

#. type: example
#: guix-git/doc/guix.texi:19204
#, fuzzy, no-wrap
msgid "# herd status\n"
msgstr "# herd 状态\n"

#. type: Plain text
#: guix-git/doc/guix.texi:19209
#, fuzzy
msgid "The above command, run as @code{root}, lists the currently defined services.  The @command{herd doc} command shows a synopsis of the given service and its associated actions:"
msgstr "上述命令以 @code{root} 身份运行,列出了当前定义的服务。 @command{herd doc} 命令显示给定服务及其相关操作的概要:"

#. type: example
#: guix-git/doc/guix.texi:19213
#, fuzzy, no-wrap
msgid ""
"# herd doc nscd\n"
"Run libc's name service cache daemon (nscd).\n"
"\n"
msgstr ""
"# herd doc nscd\n"
"运行 libc 的名称服务缓存守护进程 (nscd)。\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:19216
#, fuzzy, no-wrap
msgid ""
"# herd doc nscd action invalidate\n"
"invalidate: Invalidate the given cache--e.g., 'hosts' for host name lookups.\n"
msgstr ""
"# herd doc nscd action invalidate\n"
"invalidate: 使给定缓存失效——例如,对于主机名查找的 'hosts'。\n"

#. type: Plain text
#: guix-git/doc/guix.texi:19221
#, fuzzy
msgid "The @command{start}, @command{stop}, and @command{restart} sub-commands have the effect you would expect.  For instance, the commands below stop the nscd service and restart the Xorg display server:"
msgstr "@command{start}、@command{stop} 和 @command{restart} 子命令的效果如你所预期。例如,下面的命令停止 nscd 服务并重启 Xorg 显示服务器:"

#. type: example
#: guix-git/doc/guix.texi:19228
#, fuzzy, no-wrap
msgid ""
"# herd stop nscd\n"
"Service nscd has been stopped.\n"
"# herd restart xorg-server\n"
"Service xorg-server has been stopped.\n"
"Service xorg-server has been started.\n"
msgstr ""
"# herd stop nscd\n"
"服务 nscd 已停止。\n"
"# herd restart xorg-server\n"
"服务 xorg-server 已停止。\n"
"服务 xorg-server 已启动。\n"

#. type: cindex
#: guix-git/doc/guix.texi:19230
#, fuzzy, no-wrap
msgid "configuration, action for shepherd services"
msgstr "管理操作系统配置。"

#. type: cindex
#: guix-git/doc/guix.texi:19231
#, fuzzy, no-wrap
msgid "configuration file, of a shepherd service"
msgstr "管理操作系统配置。"

#. type: Plain text
#: guix-git/doc/guix.texi:19235
#, fuzzy
msgid "For some services, @command{herd configuration} returns the name of the service's configuration file, which can be handy to inspect its configuration:"
msgstr "对于某些服务,@command{herd configuration} 返回服务配置文件的名称,这在检查其配置时可能很方便:"

#. type: example
#: guix-git/doc/guix.texi:19239
#, fuzzy, no-wrap
msgid ""
"# herd configuration sshd\n"
"/gnu/store/@dots{}-sshd_config\n"
msgstr ""
"# herd configuration sshd\n"
"/gnu/store/@dots{}-sshd_config\n"

#. type: Plain text
#: guix-git/doc/guix.texi:19244
#, fuzzy
msgid "The following sections document the available services, starting with the core services, that may be used in an @code{operating-system} declaration."
msgstr "以下部分记录了可用服务,从核心服务开始,这些服务可以在 @code{operating-system} 声明中使用。"

#. type: Plain text
#: guix-git/doc/guix.texi:19291
#, fuzzy
msgid "The @code{(gnu services base)} module provides definitions for the basic services that one expects from the system.  The services exported by this module are listed below."
msgstr "@code{(gnu services base)} 模块提供了系统所期望的基本服务的定义。该模块导出的服务如下所示。"

#. type: defvar
#: guix-git/doc/guix.texi:19298
#, fuzzy
msgid "This variable contains a list of basic services (@pxref{Service Types and Services}, for more information on service objects) one would expect from the system: a login service (mingetty) on each tty, syslogd, the libc name service cache daemon (nscd), the udev device manager, and more."
msgstr "此变量包含系统所期望的基本服务的列表 (@pxref{Service Types and Services},有关服务对象的更多信息):每个 tty 上的登录服务 (mingetty)、syslogd、libc 名称服务缓存守护进程 (nscd)、udev 设备管理器等。"

#. type: defvar
#: guix-git/doc/guix.texi:19303
#, fuzzy
msgid "This is the default value of the @code{services} field of @code{operating-system} declarations.  Usually, when customizing a system, you will want to append services to @code{%base-services}, like this:"
msgstr "这是 @code{operating-system} 声明中 @code{services} 字段的默认值。通常,在自定义系统时,你会想要将服务附加到 @code{%base-services},如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:19308
#, fuzzy, no-wrap
msgid ""
"(append (list (service avahi-service-type)\n"
"              (service openssh-service-type))\n"
"        %base-services)\n"
msgstr ""
"(append (list (service avahi-service-type)\n"
"              (service openssh-service-type))\n"
"        %base-services)\n"

#. type: defvar
#: guix-git/doc/guix.texi:19311
#, fuzzy, no-wrap
msgid "special-files-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:19314
#, fuzzy
msgid "This is the service that sets up ``special files'' such as @file{/bin/sh}; an instance of it is part of @code{%base-services}."
msgstr "这是设置 ``特殊文件'' 的服务,例如 @file{/bin/sh};它的一个实例是 @code{%base-services} 的一部分。"

#. type: defvar
#: guix-git/doc/guix.texi:19318
#, fuzzy
msgid "The value associated with @code{special-files-service-type} services must be a list of two-element lists where the first element is the ``special file'' and the second element is its target.  By default it is:"
msgstr "与 @code{special-files-service-type} 服务关联的值必须是两个元素列表的列表,其中第一个元素是 ``特殊文件'',第二个元素是其目标。默认情况下,它是:"

#. type: file{#1}
#: guix-git/doc/guix.texi:19319
#, fuzzy, no-wrap
msgid "/bin/sh"
msgstr "/bin/sh"

#. type: cindex
#: guix-git/doc/guix.texi:19320
#, fuzzy, no-wrap
msgid "@file{sh}, in @file{/bin}"
msgstr "@file{sh}, 在 @file{/bin} 中"

#. type: lisp
#: guix-git/doc/guix.texi:19324
#, fuzzy, no-wrap
msgid ""
"`((\"/bin/sh\" ,(file-append bash \"/bin/sh\"))\n"
"  (\"/usr/bin/env\" ,(file-append coreutils \"/bin/env\")))\n"
msgstr ""
"`((\"/bin/sh\" ,(file-append bash \"/bin/sh\"))\n"
"  (\"/usr/bin/env\" ,(file-append coreutils \"/bin/env\")))\n"

#. type: file{#1}
#: guix-git/doc/guix.texi:19326
#, fuzzy, no-wrap
msgid "/usr/bin/env"
msgstr "/usr/bin/env"

#. type: cindex
#: guix-git/doc/guix.texi:19327
#, fuzzy, no-wrap
msgid "@file{env}, in @file{/usr/bin}"
msgstr "@file{env}, 在 @file{/usr/bin} 中"

#. type: defvar
#: guix-git/doc/guix.texi:19330
#, fuzzy
msgid "If you want to add, say, @code{/bin/bash} to your system, you can change it to:"
msgstr "如果你想将 @code{/bin/bash} 添加到你的系统中,可以将其更改为:"

#. type: lisp
#: guix-git/doc/guix.texi:19335
#, fuzzy, no-wrap
msgid ""
"`((\"/bin/sh\" ,(file-append bash \"/bin/sh\"))\n"
"  (\"/usr/bin/env\" ,(file-append coreutils \"/bin/env\"))\n"
"  (\"/bin/bash\" ,(file-append bash \"/bin/bash\")))\n"
msgstr ""
"`((\"/bin/sh\" ,(file-append bash \"/bin/sh\"))\n"
"  (\"/usr/bin/env\" ,(file-append coreutils \"/bin/env\"))\n"
"  (\"/bin/bash\" ,(file-append bash \"/bin/bash\")))\n"

#. type: defvar
#: guix-git/doc/guix.texi:19342
#, fuzzy
msgid "Since this is part of @code{%base-services}, you can use @code{modify-services} to customize the set of special files (@pxref{Service Reference, @code{modify-services}}).  But the simple way to add a special file is @i{via} the @code{extra-special-file} procedure (see below)."
msgstr "由于这是 @code{%base-services} 的一部分,你可以使用 @code{modify-services} 来自定义特殊文件的集合 (@pxref{Service Reference, @code{modify-services}})。 但是,添加特殊文件的简单方法是 @i{通过} @code{extra-special-file} 过程(见下文)。"

#. type: deffn
#: guix-git/doc/guix.texi:19344
#, fuzzy, no-wrap
msgid "{Procedure} extra-special-file file target"
msgstr "{过程} extra-special-file 文件 目标"

#. type: deffn
#: guix-git/doc/guix.texi:19346
#, fuzzy
msgid "Use @var{target} as the ``special file'' @var{file}."
msgstr "将 @var{target} 用作 ``特殊文件'' @var{file}。"

#. type: deffn
#: guix-git/doc/guix.texi:19350
#, fuzzy
msgid "For example, adding the following lines to the @code{services} field of your operating system declaration leads to a @file{/usr/bin/env} symlink:"
msgstr "例如,将以下行添加到操作系统声明的 @code{services} 字段会导致一个 @file{/usr/bin/env} 符号链接:"

#. type: lisp
#: guix-git/doc/guix.texi:19354
#, fuzzy, no-wrap
msgid ""
"(extra-special-file \"/usr/bin/env\"\n"
"                    (file-append coreutils \"/bin/env\"))\n"
msgstr ""
"(extra-special-file \"/usr/bin/env\"\n"
"                    (file-append coreutils \"/bin/env\"))\n"

#. type: deffn
#: guix-git/doc/guix.texi:19359
#, fuzzy
msgid "This procedure is meant for @code{/bin/sh}, @code{/usr/bin/env} and similar targets.  In particular, use for targets under @code{/etc} might not work as expected if the target is managed by Guix in other ways."
msgstr "该过程旨在用于 @code{/bin/sh}、@code{/usr/bin/env} 和类似目标。特别是,如果目标由 Guix 以其他方式管理,则在 @code{/etc} 下的目标可能无法按预期工作。"

#. type: defvar
#: guix-git/doc/guix.texi:19361
#, fuzzy, no-wrap
msgid "host-name-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:19365
#, fuzzy
msgid "Type of the service that sets the system host name, whose value is a string. This service is included in @code{operating-system} by default (@pxref{operating-system-essential-services,@code{essential-services}})."
msgstr "设置系统主机名的服务类型,其值为字符串。该服务默认包含在 @code{operating-system} 中 (@pxref{operating-system-essential-services,@code{essential-services}})。"

#. type: defvar
#: guix-git/doc/guix.texi:19367
#, fuzzy, no-wrap
msgid "console-font-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:19372
#, fuzzy
msgid "Install the given fonts on the specified ttys (fonts are per virtual console on the kernel Linux).  The value of this service is a list of tty/font pairs.  The font can be the name of a font provided by the @code{kbd} package or any valid argument to @command{setfont}, as in this example:"
msgstr "在指定的 ttys 上安装给定的字体(字体在 Linux 内核的每个虚拟控制台上)。该服务的值是 tty/font 对的列表。字体可以是 @code{kbd} 包提供的字体名称或 @command{setfont} 的任何有效参数,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:19381
#, fuzzy, no-wrap
msgid ""
"`((\"tty1\" . \"LatGrkCyr-8x16\")\n"
"  (\"tty2\" . ,(file-append\n"
"                font-tamzen\n"
"                \"/share/kbd/consolefonts/TamzenForPowerline10x20.psf\"))\n"
"  (\"tty3\" . ,(file-append\n"
"                font-terminus\n"
"                \"/share/consolefonts/ter-132n\"))) ; for HDPI\n"
msgstr ""
"`((\"tty1\" . \"LatGrkCyr-8x16\")\n"
"  (\"tty2\" . ,(file-append\n"
"                font-tamzen\n"
"                \"/share/kbd/consolefonts/TamzenForPowerline10x20.psf\"))\n"
"  (\"tty3\" . ,(file-append\n"
"                font-terminus\n"
"                \"/share/consolefonts/ter-132n\"))) ; 用于 HDPI\n"

#. type: defvar
#: guix-git/doc/guix.texi:19384
#, fuzzy, no-wrap
msgid "hosts-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:19388
#, fuzzy
msgid "Type of the service that populates the entries for (@file{/etc/hosts}).  This service type can be @emph{extended} by passing it a list of @code{host} records."
msgstr "填充 (@file{/etc/hosts}) 条目的服务类型。该服务类型可以通过传递 @code{host} 记录的列表来 @emph{扩展}。"

#. type: defvar
#: guix-git/doc/guix.texi:19390
#, fuzzy
msgid "The example below shows how to add two entries to @file{/etc/hosts}:"
msgstr "下面的示例展示了如何向 @file{/etc/hosts} 添加两个条目:"

#.  The domain names below SHOULD NOT be translated.
#. type: lisp
#: guix-git/doc/guix.texi:19401
#, fuzzy, no-wrap
msgid ""
"(simple-service 'add-extra-hosts\n"
"                hosts-service-type\n"
"                (list (host \"192.0.2.1\" \"example.com\"\n"
"                            '(\"example.net\" \"example.org\"))\n"
"                      (host \"2001:db8::1\" \"example.com\"\n"
"                            '(\"example.net\" \"example.org\"))))\n"
msgstr ""
"(simple-service 'add-extra-hosts\n"
"                hosts-service-type\n"
"                (list (host \"192.0.2.1\" \"example.com\"\n"
"                            '(\"example.net\" \"example.org\"))\n"
"                      (host \"2001:db8::1\" \"example.com\"\n"
"                            '(\"example.net\" \"example.org\"))))\n"

#. type: cindex
#: guix-git/doc/guix.texi:19404
#, fuzzy, no-wrap
msgid "@file{/etc/hosts} default entries"
msgstr "@file{/etc/hosts} 默认条目"

#. type: quotation
#: guix-git/doc/guix.texi:19406
#, fuzzy
msgid "By default @file{/etc/hosts} comes with the following entries:"
msgstr "默认情况下,@file{/etc/hosts} 包含以下条目:"

#. type: example
#: guix-git/doc/guix.texi:19409
#, fuzzy, no-wrap
msgid ""
"127.0.0.1 localhost @var{host-name}\n"
"::1       localhost @var{host-name}\n"
msgstr ""
"127.0.0.1 localhost @var{host-name}\n"
"::1       localhost @var{host-name}\n"

#. type: quotation
#: guix-git/doc/guix.texi:19415
#, fuzzy
msgid "For most setups this is what you want though if you find yourself in the situation where you want to change the default entries, you can do so in @code{operating-system} via @code{modify-services} (@pxref{Service Reference,@code{modify-services}})."
msgstr "对于大多数设置,这就是您想要的,尽管如果您发现自己处于想要更改默认条目的情况,可以通过 @code{modify-services} 在 @code{operating-system} 中进行更改 (@pxref{Service Reference,@code{modify-services}})。"

#. type: quotation
#: guix-git/doc/guix.texi:19418
#, fuzzy
msgid "The following example shows how to unset @var{host-name} from being an alias of @code{localhost}."
msgstr "以下示例展示了如何取消 @var{host-name} 作为 @code{localhost} 的别名。"

#. type: lisp
#: guix-git/doc/guix.texi:19421 guix-git/doc/guix.texi:20846
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:19428
#, fuzzy, no-wrap
msgid ""
"  (essential-services\n"
"   (modify-services\n"
"     (operating-system-default-essential-services this-operating-system)\n"
"     (hosts-service-type config => (list\n"
"                                     (host \"127.0.0.1\" \"localhost\")\n"
"                                     (host \"::1\"       \"localhost\"))))))\n"
msgstr ""
"  (essential-services\n"
"   (modify-services\n"
"     (operating-system-default-essential-services this-operating-system)\n"
"     (hosts-service-type config => (list\n"
"                                     (host \"127.0.0.1\" \"localhost\")\n"
"                                     (host \"::1\"       \"localhost\"))))))\n"

#. type: deffn
#: guix-git/doc/guix.texi:19433
#, fuzzy, no-wrap
msgid "{Procedure} host @var{address} @var{canonical-name} [@var{aliases}]"
msgstr "{Procedure} host @var{address} @var{canonical-name} [@var{aliases}]"

#. type: deffn
#: guix-git/doc/guix.texi:19436
#, fuzzy
msgid "Return a new record for the host at @var{address} with the given @var{canonical-name} and possibly @var{aliases}."
msgstr "返回一个新的记录,表示位于 @var{address} 的主机,具有给定的 @var{canonical-name} 和可能的 @var{aliases}。"

#. type: deffn
#: guix-git/doc/guix.texi:19440
#, fuzzy
msgid "@var{address} must be a string denoting a valid IPv4 or IPv6 address, and @var{canonical-name} and the strings listed in @var{aliases} must be valid host names."
msgstr "@var{address} 必须是一个字符串,表示有效的 IPv4 或 IPv6 地址,@var{canonical-name} 和 @var{aliases} 中列出的字符串必须是有效的主机名。"

#. type: defvar
#: guix-git/doc/guix.texi:19442
#, fuzzy, no-wrap
msgid "login-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:19445
#, fuzzy
msgid "Type of the service that provides a console login service, whose value is a @code{<login-configuration>} object."
msgstr "提供控制台登录服务的服务类型,其值为 @code{<login-configuration>} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:19447
#, fuzzy, no-wrap
msgid "{Data Type} login-configuration"
msgstr "{数据类型} login-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:19450
#, fuzzy
msgid "Data type representing the configuration of login, which specifies the @acronym{MOTD, message of the day}, among other things."
msgstr "管理操作系统配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:19453 guix-git/doc/guix.texi:20568
#, fuzzy, no-wrap
msgid "motd"
msgstr "motd"

#. type: cindex
#: guix-git/doc/guix.texi:19454
#, fuzzy, no-wrap
msgid "message of the day"
msgstr "每日消息"

#. type: table
#: guix-git/doc/guix.texi:19456 guix-git/doc/guix.texi:20570
#, fuzzy
msgid "A file-like object containing the ``message of the day''."
msgstr "一个类似文件的对象,包含“每日消息”。"

#. type: item
#: guix-git/doc/guix.texi:19457 guix-git/doc/guix.texi:20571
#: guix-git/doc/guix.texi:24170
#, fuzzy, no-wrap
msgid "@code{allow-empty-passwords?} (default: @code{#t})"
msgstr "@code{allow-empty-passwords?}(默认:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:19460 guix-git/doc/guix.texi:20574
#, fuzzy
msgid "Allow empty passwords by default so that first-time users can log in when the 'root' account has just been created."
msgstr "默认允许空密码,以便首次使用的用户在刚创建 'root' 账户时可以登录。"

#. type: defvar
#: guix-git/doc/guix.texi:19464
#, fuzzy, no-wrap
msgid "mingetty-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:19468
#, fuzzy
msgid "Type of the service that runs Mingetty, an implementation of the virtual console log-in.  The value for this service is a @code{<mingetty-configuration>} object."
msgstr "运行 Mingetty 的服务类型,Mingetty 是虚拟控制台登录的实现。该服务的值为 @code{<mingetty-configuration>} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:19470
#, fuzzy, no-wrap
msgid "{Data Type} mingetty-configuration"
msgstr "{数据类型} mingetty-配置"

#. type: deftp
#: guix-git/doc/guix.texi:19473
#, fuzzy
msgid "Data type representing the configuration of Mingetty, which specifies the tty to run, among other things."
msgstr "管理操作系统配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:19475 guix-git/doc/guix.texi:19559
#: guix-git/doc/guix.texi:41786
#, fuzzy, no-wrap
msgid "tty"
msgstr "tty"

#. type: table
#: guix-git/doc/guix.texi:19477
#, fuzzy
msgid "The name of the console this Mingetty runs on---e.g., @code{\"tty1\"}."
msgstr "此 Mingetty 运行的控制台名称---例如,@code{\"tty1\"}。"

#. type: item
#: guix-git/doc/guix.texi:19478 guix-git/doc/guix.texi:19588
#: guix-git/doc/guix.texi:19750
#, fuzzy, no-wrap
msgid "@code{auto-login} (default: @code{#f})"
msgstr "@code{自动登录}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19482
#, fuzzy
msgid "When true, this field must be a string denoting the user name under which the system automatically logs in.  When it is @code{#f}, a user name and password must be entered to log in."
msgstr "当为真时,此字段必须是一个字符串,表示系统自动登录的用户名。当为 @code{#f} 时,必须输入用户名和密码才能登录。"

#. type: item
#: guix-git/doc/guix.texi:19483
#, fuzzy, no-wrap
msgid "@code{login-program} (default: @code{#f})"
msgstr "@code{登录程序}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19487
#, fuzzy
msgid "This must be either @code{#f}, in which case the default log-in program is used (@command{login} from the Shadow tool suite), or a gexp denoting the name of the log-in program."
msgstr "这必须是 @code{#f},在这种情况下使用默认的登录程序(来自 Shadow 工具套件的 @command{login}),或者是一个表示登录程序名称的 gexp。"

#. type: item
#: guix-git/doc/guix.texi:19488
#, fuzzy, no-wrap
msgid "@code{login-pause?} (default: @code{#f})"
msgstr "@code{登录暂停?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19491
#, fuzzy
msgid "When set to @code{#t} in conjunction with @var{auto-login}, the user will have to press a key before the log-in shell is launched."
msgstr "当与 @var{自动登录} 一起设置为 @code{#t} 时,用户必须按下一个键才能启动登录 shell。"

#. type: item
#: guix-git/doc/guix.texi:19492
#, fuzzy, no-wrap
msgid "@code{clear-on-logout?} (default: @code{#t})"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19496
#, fuzzy
msgid "When set to @code{#t}, the screen will be cleared before showing the login prompt.  The field name is bit unfortunate, since it controls clearing also before the initial login, not just after a logout."
msgstr "当设置为 @code{#t} 时,屏幕将在显示登录提示之前被清除。字段名称有点不幸,因为它还控制在初始登录之前的清除,而不仅仅是在注销之后。"

#. type: item
#: guix-git/doc/guix.texi:19497 guix-git/doc/guix.texi:19710
#, fuzzy, no-wrap
msgid "@code{delay} (default: @code{#f})"
msgstr "@code{延迟}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19499
#, fuzzy
msgid "When set to a number, sleep that many seconds after startup."
msgstr "当设置为一个数字时,启动后睡眠那么多秒。"

#. type: item
#: guix-git/doc/guix.texi:19500
#, fuzzy, no-wrap
msgid "@code{print-issue} (default: @code{#t})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19504
#, fuzzy
msgid "When set to @code{#t}, write out a new line and the content of @file{/etc/issue}.  Value of @code{'no-nl} can be used to suppress the new line."
msgstr "当设置为 @code{#t} 时,写出一个新行和 @file{/etc/issue} 的内容。可以使用 @code{'no-nl} 的值来抑制新行。"

#. type: item
#: guix-git/doc/guix.texi:19505
#, fuzzy, no-wrap
msgid "@code{print-hostname} (default: @code{#t})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:19509
#, fuzzy
msgid "When set to @code{#t}, print the host name before the login prompt.  The host name is printed up to the first dot.  Can be set to @code{'long} to print the full host name."
msgstr "当设置为 @code{#t} 时,在登录提示之前打印主机名。主机名打印到第一个点为止。可以设置为 @code{'long} 以打印完整的主机名。"

#. type: item
#: guix-git/doc/guix.texi:19510 guix-git/doc/guix.texi:19714
#, fuzzy, no-wrap
msgid "@code{nice} (default: @code{#f})"
msgstr "@code{nice}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19512
#, fuzzy
msgid "When set to a number, change the process priority using @code{nice}."
msgstr "当设置为一个数字时,使用 @code{nice} 更改进程优先级。"

#. type: item
#: guix-git/doc/guix.texi:19513
#, fuzzy, no-wrap
msgid "@code{working-directory} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19516
#, fuzzy
msgid "When set to a string, change into that directory before calling the login program."
msgstr "当设置为一个字符串时,在调用登录程序之前切换到该目录。"

#. type: item
#: guix-git/doc/guix.texi:19517
#, fuzzy, no-wrap
msgid "@code{root-directory} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19520
#, fuzzy
msgid "When set to a string, use this directory at the process's root directory."
msgstr "当设置为一个字符串时,在进程的根目录使用该目录。"

#. type: code{#1}
#: guix-git/doc/guix.texi:19521
#, fuzzy, no-wrap
msgid "shepherd-requirement"
msgstr "需求"

#. type: table
#: guix-git/doc/guix.texi:19524
#, fuzzy
msgid "List of shepherd requirements.  Unless you know what you are doing, it is recommended to extend the default list instead of overriding it."
msgstr "牧羊人要求列表。除非你知道自己在做什么,否则建议扩展默认列表,而不是覆盖它。"

#. type: table
#: guix-git/doc/guix.texi:19527
#, fuzzy
msgid "As an example, when using auto-login on a system with elogind, it is necessary to wait on the @code{'dbus-system} service:"
msgstr "例如,在使用 elogind 的系统上使用自动登录时,必须等待 @code{'dbus-system} 服务:"

#. type: lisp
#: guix-git/doc/guix.texi:19539
#, fuzzy, no-wrap
msgid ""
"(modify-services %base-services\n"
"  (mingetty-service-type config =>\n"
"                         (mingetty-configuration\n"
"                          (inherit config)\n"
"                          ;; Automatically log in as \"guest\".\n"
"                          (auto-login \"guest\")\n"
"                          (shepherd-requirement\n"
"                           (cons 'dbus-system\n"
"                                 (mingetty-configuration-shepherd-requirement\n"
"                                  config))))))\n"
msgstr ""
"(modify-services %base-services\n"
"  (mingetty-service-type config =>\n"
"                         (mingetty-配置\n"
"                          (继承 config)\n"
"                          ;; 自动以 \"guest\" 登录。\n"
"                          (自动登录 \"guest\")\n"
"                          (牧羊人要求\n"
"                           (cons 'dbus-system\n"
"                                 (mingetty-配置-牧羊人要求\n"
"                                  config))))))\n"

#. type: item
#: guix-git/doc/guix.texi:19541
#, fuzzy, no-wrap
msgid "@code{mingetty} (default: @var{mingetty})"
msgstr "@code{mingetty}(默认值:@var{mingetty})"

#. type: table
#: guix-git/doc/guix.texi:19543
#, fuzzy
msgid "The Mingetty package to use."
msgstr "要使用的 Mingetty 包。"

#. type: defvar
#: guix-git/doc/guix.texi:19547
#, fuzzy, no-wrap
msgid "agetty-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:19551
#, fuzzy
msgid "Type of the service that runs agetty, which implements virtual and serial console log-in.  The value for this service is a @code{<agetty-configuration>} object."
msgstr "运行 agetty 的服务类型,它实现了虚拟和串行控制台登录。该服务的值是一个 @code{<agetty-configuration>} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:19553
#, fuzzy, no-wrap
msgid "{Data Type} agetty-configuration"
msgstr "{数据类型} agetty-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:19557
#, fuzzy
msgid "Data type representing the configuration of agetty, which specifies the tty to run, among other things@footnote{See the @code{agetty(8)} man page for more information.}."
msgstr "表示 agetty 配置的数据类型,指定要运行的 tty,以及其他内容@footnote{有关更多信息,请参见 @code{agetty(8)} 手册页。}。"

#. type: table
#: guix-git/doc/guix.texi:19563
#, fuzzy
msgid "The name of the console this agetty runs on, as a string---e.g., @code{\"ttyS0\"}.  This argument is optional, it will default to a reasonable default serial port used by the kernel Linux."
msgstr "此 agetty 运行的控制台名称,作为字符串---例如,@code{\"ttyS0\"}。此参数是可选的,默认为内核 Linux 使用的合理默认串行端口。"

#. type: table
#: guix-git/doc/guix.texi:19567
#, fuzzy
msgid "For this, if there is a value for an option @code{agetty.tty} in the kernel command line, agetty will extract the device name of the serial port from it and use that."
msgstr "为此,如果内核命令行中有选项 @code{agetty.tty} 的值,agetty 将从中提取串行端口的设备名称并使用它。"

#. type: table
#: guix-git/doc/guix.texi:19571
#, fuzzy
msgid "If not and if there is a value for an option @code{console} with a tty in the Linux command line, agetty will extract the device name of the serial port from it and use that."
msgstr "如果没有,并且如果 Linux 命令行中有选项 @code{console} 的值且包含 tty,agetty 将从中提取串行端口的设备名称并使用它。"

#. type: table
#: guix-git/doc/guix.texi:19575
#, fuzzy
msgid "In both cases, agetty will leave the other serial device settings (baud rate etc.)@: alone---in the hope that Linux pinned them to the correct values."
msgstr "在这两种情况下,agetty 将保持其他串行设备设置(波特率等)@: 不变---希望 Linux 将它们固定为正确的值。"

#. type: item
#: guix-git/doc/guix.texi:19576 guix-git/doc/guix.texi:41972
#, fuzzy, no-wrap
msgid "@code{baud-rate} (default: @code{#f})"
msgstr "@code{波特率}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19579
#, fuzzy
msgid "A string containing a comma-separated list of one or more baud rates, in descending order."
msgstr "包含一个或多个波特率的字符串,以逗号分隔,按降序排列。"

#. type: item
#: guix-git/doc/guix.texi:19580
#, fuzzy, no-wrap
msgid "@code{term} (default: @code{#f})"
msgstr "@code{终端}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19583
#, fuzzy
msgid "A string containing the value used for the @env{TERM} environment variable."
msgstr "包含用于 @env{TERM} 环境变量的值的字符串。"

#. type: item
#: guix-git/doc/guix.texi:19584
#, fuzzy, no-wrap
msgid "@code{eight-bits?} (default: @code{#f})"
msgstr "@code{八位?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19587
#, fuzzy
msgid "When @code{#t}, the tty is assumed to be 8-bit clean, and parity detection is disabled."
msgstr "当 @code{#t} 时,假定 tty 是 8 位干净的,并且禁用奇偶校验检测。"

#. type: table
#: guix-git/doc/guix.texi:19591 guix-git/doc/guix.texi:19753
#, fuzzy
msgid "When passed a login name, as a string, the specified user will be logged in automatically without prompting for their login name or password."
msgstr "当传递一个登录名作为字符串时,指定的用户将自动登录,而无需提示其登录名或密码。"

#. type: item
#: guix-git/doc/guix.texi:19592
#, fuzzy, no-wrap
msgid "@code{no-reset?} (default: @code{#f})"
msgstr "@code{不重置?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19594
#, fuzzy
msgid "When @code{#t}, don't reset terminal cflags (control modes)."
msgstr "当 @code{#t} 时,不重置终端 cflags(控制模式)。"

#. type: item
#: guix-git/doc/guix.texi:19595
#, fuzzy, no-wrap
msgid "@code{host} (default: @code{#f})"
msgstr "@code{主机}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19598
#, fuzzy
msgid "This accepts a string containing the ``login_host'', which will be written into the @file{/var/run/utmpx} file."
msgstr "接受一个包含 ``login_host'' 的字符串,该字符串将写入 @file{/var/run/utmpx} 文件。"

#. type: item
#: guix-git/doc/guix.texi:19599
#, fuzzy, no-wrap
msgid "@code{remote?} (default: @code{#f})"
msgstr "@code{远程?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19603
#, fuzzy
msgid "When set to @code{#t} in conjunction with @var{host}, this will add an @code{-r} fakehost option to the command line of the login program specified in @var{login-program}."
msgstr "当与 @var{host} 一起设置为 @code{#t} 时,这将向 @var{login-program} 中指定的登录程序的命令行添加 @code{-r} fakehost 选项。"

#. type: item
#: guix-git/doc/guix.texi:19604
#, fuzzy, no-wrap
msgid "@code{flow-control?} (default: @code{#f})"
msgstr "@code{flow-control?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19606
#, fuzzy
msgid "When set to @code{#t}, enable hardware (RTS/CTS) flow control."
msgstr "当设置为@code{#t}时,启用硬件(RTS/CTS)流控制。"

#. type: item
#: guix-git/doc/guix.texi:19607
#, fuzzy, no-wrap
msgid "@code{no-issue?} (default: @code{#f})"
msgstr "@code{no-issue?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19610
#, fuzzy
msgid "When set to @code{#t}, the contents of the @file{/etc/issue} file will not be displayed before presenting the login prompt."
msgstr "当设置为@code{#t}时,在显示登录提示之前将不显示@file{/etc/issue}文件的内容。"

#. type: item
#: guix-git/doc/guix.texi:19611
#, fuzzy, no-wrap
msgid "@code{init-string} (default: @code{#f})"
msgstr "@code{init-string}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19614
#, fuzzy
msgid "This accepts a string that will be sent to the tty or modem before sending anything else.  It can be used to initialize a modem."
msgstr "此选项接受一个字符串,该字符串将在发送其他内容之前发送到tty或调制解调器。它可用于初始化调制解调器。"

#. type: item
#: guix-git/doc/guix.texi:19615
#, fuzzy, no-wrap
msgid "@code{no-clear?} (default: @code{#f})"
msgstr "@code{no-clear?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19618
#, fuzzy
msgid "When set to @code{#t}, agetty will not clear the screen before showing the login prompt."
msgstr "当设置为@code{#t}时,agetty在显示登录提示之前不会清除屏幕。"

#. type: item
#: guix-git/doc/guix.texi:19619
#, fuzzy, no-wrap
msgid "@code{login-program} (default: (file-append shadow \"/bin/login\"))"
msgstr "@code{login-program}(默认值:(file-append shadow \"/bin/login\"))"

#. type: table
#: guix-git/doc/guix.texi:19623
#, fuzzy
msgid "This must be either a gexp denoting the name of a log-in program, or unset, in which case the default value is the @command{login} from the Shadow tool suite."
msgstr "这必须是一个gexp,表示登录程序的名称,或者未设置,在这种情况下,默认值是来自Shadow工具套件的@command{login}。"

#. type: item
#: guix-git/doc/guix.texi:19624
#, fuzzy, no-wrap
msgid "@code{local-line} (default: @code{#f})"
msgstr "@code{local-line}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19628
#, fuzzy
msgid "Control the CLOCAL line flag.  This accepts one of three symbols as arguments, @code{'auto}, @code{'always}, or @code{'never}.  If @code{#f}, the default value chosen by agetty is @code{'auto}."
msgstr "控制CLOCAL线路标志。此选项接受三个符号之一作为参数,@code{'auto}、@code{'always}或@code{'never}。如果@code{#f},agetty选择的默认值是@code{'auto}。"

#. type: item
#: guix-git/doc/guix.texi:19629
#, fuzzy, no-wrap
msgid "@code{extract-baud?} (default: @code{#f})"
msgstr "@code{extract-baud?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19632
#, fuzzy
msgid "When set to @code{#t}, instruct agetty to try to extract the baud rate from the status messages produced by certain types of modems."
msgstr "当设置为@code{#t}时,指示agetty尝试从某些类型调制解调器生成的状态消息中提取波特率。"

#. type: item
#: guix-git/doc/guix.texi:19633
#, fuzzy, no-wrap
msgid "@code{skip-login?} (default: @code{#f})"
msgstr "@code{skip-login?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19637
#, fuzzy
msgid "When set to @code{#t}, do not prompt the user for a login name.  This can be used with @var{login-program} field to use non-standard login systems."
msgstr "当设置为@code{#t}时,不提示用户输入登录名。可以与@var{login-program}字段一起使用,以使用非标准登录系统。"

#. type: item
#: guix-git/doc/guix.texi:19638
#, fuzzy, no-wrap
msgid "@code{no-newline?} (default: @code{#f})"
msgstr "@code{no-newline?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19641
#, fuzzy
msgid "When set to @code{#t}, do not print a newline before printing the @file{/etc/issue} file."
msgstr "当设置为@code{#t}时,在打印@file{/etc/issue}文件之前不打印换行符。"

#. type: item
#: guix-git/doc/guix.texi:19643
#, fuzzy, no-wrap
msgid "@code{login-options} (default: @code{#f})"
msgstr "@code{login-options}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19648
#, fuzzy
msgid "This option accepts a string containing options that are passed to the login program.  When used with the @var{login-program}, be aware that a malicious user could try to enter a login name containing embedded options that could be parsed by the login program."
msgstr "此选项接受一个包含传递给登录程序的选项的字符串。与@var{login-program}一起使用时,请注意,恶意用户可能会尝试输入包含嵌入选项的登录名,这些选项可能会被登录程序解析。"

#. type: item
#: guix-git/doc/guix.texi:19649
#, fuzzy, no-wrap
msgid "@code{login-pause} (default: @code{#f})"
msgstr "@code{login-pause}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19653
#, fuzzy
msgid "When set to @code{#t}, wait for any key before showing the login prompt.  This can be used in conjunction with @var{auto-login} to save memory by lazily spawning shells."
msgstr "当设置为@code{#t}时,在显示登录提示之前等待任何键。可以与@var{auto-login}结合使用,以通过懒惰地生成shell来节省内存。"

#. type: item
#: guix-git/doc/guix.texi:19654 guix-git/doc/guix.texi:35900
#, fuzzy, no-wrap
msgid "@code{chroot} (default: @code{#f})"
msgstr "@code{chroot}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19657
#, fuzzy
msgid "Change root to the specified directory.  This option accepts a directory path as a string."
msgstr "将根目录更改为指定的目录。此选项接受一个目录路径作为字符串。"

#. type: item
#: guix-git/doc/guix.texi:19658
#, fuzzy, no-wrap
msgid "@code{hangup?} (default: @code{#f})"
msgstr "@code{hangup?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19661
#, fuzzy
msgid "Use the Linux system call @code{vhangup} to do a virtual hangup of the specified terminal."
msgstr "使用Linux系统调用@code{vhangup}对指定终端进行虚拟挂断。"

#. type: item
#: guix-git/doc/guix.texi:19662
#, fuzzy, no-wrap
msgid "@code{keep-baud?} (default: @code{#f})"
msgstr "@code{keep-baud?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19666
#, fuzzy
msgid "When set to @code{#t}, try to keep the existing baud rate.  The baud rates from @var{baud-rate} are used when agetty receives a @key{BREAK} character."
msgstr "当设置为@code{#t}时,尝试保持现有的波特率。当agetty接收到@key{BREAK}字符时,将使用来自@var{baud-rate}的波特率。"

#. type: item
#: guix-git/doc/guix.texi:19667
#, fuzzy, no-wrap
msgid "@code{timeout} (default: @code{#f})"
msgstr "@code{timeout}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19670
#, fuzzy
msgid "When set to an integer value, terminate if no user name could be read within @var{timeout} seconds."
msgstr "当设置为整数值时,如果在@var{timeout}秒内无法读取用户名,则终止。"

#. type: item
#: guix-git/doc/guix.texi:19671
#, fuzzy, no-wrap
msgid "@code{detect-case?} (default: @code{#f})"
msgstr "@code{detect-case?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19677
#, fuzzy
msgid "When set to @code{#t}, turn on support for detecting an uppercase-only terminal.  This setting will detect a login name containing only uppercase letters as indicating an uppercase-only terminal and turn on some upper-to-lower case conversions.  Note that this will not support Unicode characters."
msgstr "当设置为@code{#t}时,开启对仅大写终端的检测支持。此设置将检测仅包含大写字母的登录名,并将其视为指示仅大写终端,并开启一些大写到小写的转换。请注意,这不支持Unicode字符。"

#. type: item
#: guix-git/doc/guix.texi:19678
#, fuzzy, no-wrap
msgid "@code{wait-cr?} (default: @code{#f})"
msgstr "@code{wait-cr?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19683
#, fuzzy
msgid "When set to @code{#t}, wait for the user or modem to send a carriage-return or linefeed character before displaying @file{/etc/issue} or login prompt.  This is typically used with the @var{init-string} option."
msgstr "当设置为@code{#t}时,在显示@file{/etc/issue}或登录提示符之前,等待用户或调制解调器发送回车或换行字符。通常与@var{init-string}选项一起使用。"

#. type: item
#: guix-git/doc/guix.texi:19684
#, fuzzy, no-wrap
msgid "@code{no-hints?} (default: @code{#f})"
msgstr "@code{no-hints?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19687
#, fuzzy
msgid "When set to @code{#t}, do not print hints about Num, Caps, and Scroll locks."
msgstr "当设置为@code{#t}时,不打印关于Num、Caps和Scroll锁的提示。"

#. type: item
#: guix-git/doc/guix.texi:19688
#, fuzzy, no-wrap
msgid "@code{no-hostname?} (default: @code{#f})"
msgstr "@code{no-hostname?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19691
#, fuzzy
msgid "By default, the hostname is printed.  When this option is set to @code{#t}, no hostname will be shown at all."
msgstr "默认情况下,会打印主机名。当此选项设置为@code{#t}时,将完全不显示主机名。"

#. type: item
#: guix-git/doc/guix.texi:19692
#, fuzzy, no-wrap
msgid "@code{long-hostname?} (default: @code{#f})"
msgstr "@code{long-hostname?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19696
#, fuzzy
msgid "By default, the hostname is only printed until the first dot.  When this option is set to @code{#t}, the fully qualified hostname by @code{gethostname} or @code{getaddrinfo} is shown."
msgstr "默认情况下,主机名仅打印到第一个点为止。当此选项设置为@code{#t}时,将显示由@code{gethostname}或@code{getaddrinfo}返回的完全合格主机名。"

#. type: item
#: guix-git/doc/guix.texi:19697
#, fuzzy, no-wrap
msgid "@code{erase-characters} (default: @code{#f})"
msgstr "@code{erase-characters}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19700
#, fuzzy
msgid "This option accepts a string of additional characters that should be interpreted as backspace when the user types their login name."
msgstr "此选项接受一串额外的字符,当用户输入其登录名时,应将其解释为退格。"

#. type: item
#: guix-git/doc/guix.texi:19701
#, fuzzy, no-wrap
msgid "@code{kill-characters} (default: @code{#f})"
msgstr "@code{kill-characters}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19705
#, fuzzy
msgid "This option accepts a string that should be interpreted to mean ``ignore all previous characters'' (also called a ``kill'' character) when the user types their login name."
msgstr "此选项接受一串字符,当用户输入其登录名时,应将其解释为“忽略所有先前字符”(也称为“杀死”字符)。"

#. type: item
#: guix-git/doc/guix.texi:19706
#, fuzzy, no-wrap
msgid "@code{chdir} (default: @code{#f})"
msgstr "@code{chdir}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19709
#, fuzzy
msgid "This option accepts, as a string, a directory path that will be changed to before login."
msgstr "此选项接受一个字符串,表示在登录之前将要更改的目录路径。"

#. type: table
#: guix-git/doc/guix.texi:19713
#, fuzzy
msgid "This options accepts, as an integer, the number of seconds to sleep before opening the tty and displaying the login prompt."
msgstr "此选项接受一个整数,表示在打开tty并显示登录提示之前要休眠的秒数。"

#. type: table
#: guix-git/doc/guix.texi:19717
#, fuzzy
msgid "This option accepts, as an integer, the nice value with which to run the @command{login} program."
msgstr "此选项接受一个整数,表示运行@command{login}程序的优先级值。"

#. type: item
#: guix-git/doc/guix.texi:19718 guix-git/doc/guix.texi:19915
#: guix-git/doc/guix.texi:20070 guix-git/doc/guix.texi:21945
#: guix-git/doc/guix.texi:31499 guix-git/doc/guix.texi:33380
#: guix-git/doc/guix.texi:34936 guix-git/doc/guix.texi:36064
#: guix-git/doc/guix.texi:39334 guix-git/doc/guix.texi:42933
#: guix-git/doc/guix.texi:48452 guix-git/doc/guix.texi:49147
#: guix-git/doc/guix.texi:49183
#, fuzzy, no-wrap
msgid "@code{extra-options} (default: @code{'()})"
msgstr "@code{extra-options}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:19721
#, fuzzy
msgid "This option provides an ``escape hatch'' for the user to provide arbitrary command-line arguments to @command{agetty} as a list of strings."
msgstr "此选项为用户提供了一个“逃生口”,可以将任意命令行参数作为字符串列表提供给@command{agetty}。"

#. type: item
#: guix-git/doc/guix.texi:19722 guix-git/doc/guix.texi:21560
#: guix-git/doc/guix.texi:21696 guix-git/doc/guix.texi:28889
#: guix-git/doc/guix.texi:33000
#, fuzzy, no-wrap
msgid "@code{shepherd-requirement} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:19725
#, fuzzy
msgid "The option can be used to provides extra shepherd requirements (for example @code{'syslogd}) to the respective @code{'term-}* shepherd service."
msgstr "该选项可用于提供额外的shepherd要求(例如@code{'syslogd})给相应的@code{'term-}* shepherd服务。"

#. type: defvar
#: guix-git/doc/guix.texi:19729
#, fuzzy, no-wrap
msgid "kmscon-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:19733
#, fuzzy
msgid "Type of the service that runs @uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon}, which implements virtual console log-in.  The value for this service is a @code{<kmscon-configuration>} object."
msgstr "运行@uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon}的服务类型,该服务实现虚拟控制台登录。该服务的值是一个@code{<kmscon-configuration>}对象。"

#. type: deftp
#: guix-git/doc/guix.texi:19735
#, fuzzy, no-wrap
msgid "{Data Type} kmscon-configuration"
msgstr "{数据类型} kmscon-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:19738
#, fuzzy
msgid "Data type representing the configuration of Kmscon, which specifies the tty to run, among other things."
msgstr "管理操作系统配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:19740
#, fuzzy, no-wrap
msgid "virtual-terminal"
msgstr "虚拟终端"

#. type: table
#: guix-git/doc/guix.texi:19742
#, fuzzy
msgid "The name of the console this Kmscon runs on---e.g., @code{\"tty1\"}."
msgstr "此Kmscon运行的控制台名称——例如,@code{\"tty1\"}。"

#. type: item
#: guix-git/doc/guix.texi:19743
#, fuzzy, no-wrap
msgid "@code{login-program} (default: @code{#~(string-append #$shadow \"/bin/login\")})"
msgstr "@code{login-program}(默认值:@code{#~(string-append #$shadow \"/bin/login\")})"

#. type: table
#: guix-git/doc/guix.texi:19746
#, fuzzy
msgid "A gexp denoting the name of the log-in program.  The default log-in program is @command{login} from the Shadow tool suite."
msgstr "一个gexp,表示登录程序的名称。默认的登录程序是来自Shadow工具套件的@command{login}。"

#. type: item
#: guix-git/doc/guix.texi:19747
#, fuzzy, no-wrap
msgid "@code{login-arguments} (default: @code{'(\"-p\")})"
msgstr "@code{login-arguments}(默认值:@code{'(\"-p\")})"

#. type: table
#: guix-git/doc/guix.texi:19749
#, fuzzy
msgid "A list of arguments to pass to @command{login}."
msgstr "要传递给@command{login}的参数列表。"

#. type: item
#: guix-git/doc/guix.texi:19754
#, fuzzy, no-wrap
msgid "@code{hardware-acceleration?} (default: #f)"
msgstr "@code{hardware-acceleration?}(默认值:#f)"

#. type: table
#: guix-git/doc/guix.texi:19756
#, fuzzy
msgid "Whether to use hardware acceleration."
msgstr "是否使用硬件加速。"

#. type: item
#: guix-git/doc/guix.texi:19757
#, fuzzy, no-wrap
msgid "@code{font-engine} (default: @code{\"pango\"})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19759
#, fuzzy
msgid "Font engine used in Kmscon."
msgstr "Kmscon中使用的字体引擎。"

#. type: item
#: guix-git/doc/guix.texi:19760
#, fuzzy, no-wrap
msgid "@code{font-size} (default: @code{12})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19762
#, fuzzy
msgid "Font size used in Kmscon."
msgstr "Kmscon中使用的字体大小。"

#. type: table
#: guix-git/doc/guix.texi:19766
#, fuzzy
msgid "If this is @code{#f}, Kmscon uses the default keyboard layout---usually US English (``qwerty'') for a 105-key PC keyboard."
msgstr "如果这是@code{#f},Kmscon将使用默认的键盘布局——通常是105键PC键盘的美国英语(“qwerty”)。"

#. type: table
#: guix-git/doc/guix.texi:19770
#, fuzzy
msgid "Otherwise this must be a @code{keyboard-layout} object specifying the keyboard layout.  @xref{Keyboard Layout}, for more information on how to specify the keyboard layout."
msgstr "否则,这必须是一个@code{keyboard-layout}对象,指定键盘布局。有关如何指定键盘布局的更多信息,请参见@xref{Keyboard Layout}。"

#. type: item
#: guix-git/doc/guix.texi:19771
#, fuzzy, no-wrap
msgid "@code{kmscon} (default: @var{kmscon})"
msgstr "@code{kmscon}(默认值:@var{kmscon})"

#. type: table
#: guix-git/doc/guix.texi:19773
#, fuzzy
msgid "The Kmscon package to use."
msgstr "要使用的Kmscon包。"

#. type: defvar
#: guix-git/doc/guix.texi:19778
#, fuzzy, no-wrap
msgid "nscd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:19781
#, fuzzy
msgid "Type of the service that runs the libc @abbr{nscd, name service cache daemon}, whose value is an @code{<nscd-configuration>} object."
msgstr "管理操作系统配置。"

#. type: defvar
#: guix-git/doc/guix.texi:19783
#, fuzzy
msgid "For convenience, the Shepherd service for nscd provides the following actions:"
msgstr "为了方便,nscd的Shepherd服务提供以下操作:"

#. type: item
#: guix-git/doc/guix.texi:19785
#, fuzzy, no-wrap
msgid "invalidate"
msgstr "使失效"

#. type: cindex
#: guix-git/doc/guix.texi:19786
#, fuzzy, no-wrap
msgid "nscd, cache invalidation"
msgstr "nscd,缓存失效"

#. type: cindex
#: guix-git/doc/guix.texi:19787
#, fuzzy, no-wrap
msgid "cache invalidation, nscd"
msgstr "缓存失效,nscd"

#. type: table
#: guix-git/doc/guix.texi:19789
#, fuzzy
msgid "This invalidate the given cache.  For instance, running:"
msgstr "这使得给定的缓存失效。例如,运行:"

#. type: example
#: guix-git/doc/guix.texi:19792
#, fuzzy, no-wrap
msgid "herd invalidate nscd hosts\n"
msgstr "herd invalidate nscd hosts\n"

#. type: table
#: guix-git/doc/guix.texi:19796
#, fuzzy
msgid "invalidates the host name lookup cache of nscd."
msgstr "使nscd的主机名查找缓存失效。"

#. type: item
#: guix-git/doc/guix.texi:19797
#, fuzzy, no-wrap
msgid "statistics"
msgstr "统计"

#. type: table
#: guix-git/doc/guix.texi:19800
#, fuzzy
msgid "Running @command{herd statistics nscd} displays information about nscd usage and caches."
msgstr "运行 @command{herd statistics nscd} 显示有关 nscd 使用情况和缓存的信息。"

#. type: deftp
#: guix-git/doc/guix.texi:19803
#, fuzzy, no-wrap
msgid "{Data Type} nscd-configuration"
msgstr "{数据类型} nscd-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:19806
#, fuzzy
msgid "Data type representing the @abbr{nscd, name service cache daemon} configuration."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:19809
#, fuzzy, no-wrap
msgid "@code{name-services} (default: @code{'()})"
msgstr "@code{name-services} (默认: @code{'()})"

#. type: table
#: guix-git/doc/guix.texi:19812
#, fuzzy
msgid "List of packages denoting @dfn{name services} that must be visible to the nscd---e.g., @code{(list @var{nss-mdns})}."
msgstr "表示必须对 nscd 可见的 @dfn{name services} 的软件包列表---例如,@code{(list @var{nss-mdns})}。"

#. type: item
#: guix-git/doc/guix.texi:19813
#, fuzzy, no-wrap
msgid "@code{glibc} (default: @var{glibc})"
msgstr "@code{glibc} (默认: @var{glibc})"

#. type: table
#: guix-git/doc/guix.texi:19816
#, fuzzy
msgid "Package object denoting the GNU C Library providing the @command{nscd} command."
msgstr "表示提供 @command{nscd} 命令的 GNU C 库的软件包对象。"

#. type: item
#: guix-git/doc/guix.texi:19817 guix-git/doc/guix.texi:41976
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{#f})"
msgstr "@code{log-file} (默认: @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:19822
#, fuzzy
msgid "Name of the nscd log file.  Debugging output goes to that file when @code{debug-level} is strictly positive, or to standard error if it is @code{#f}.  Regular messages are written to syslog when @code{debug-level} is zero, regardless of the value of @code{log-file}."
msgstr "nscd 日志文件的名称。当 @code{debug-level} 严格为正时,调试输出将写入该文件,或者如果它是 @code{#f},则写入标准错误。常规消息在 @code{debug-level} 为零时写入 syslog,无论 @code{log-file} 的值如何。"

#. type: item
#: guix-git/doc/guix.texi:19823
#, fuzzy, no-wrap
msgid "@code{debug-level} (default: @code{0})"
msgstr "@code{debug-level} (默认: @code{0})"

#. type: table
#: guix-git/doc/guix.texi:19826
#, fuzzy
msgid "Integer denoting the debugging levels.  Higher numbers mean that more debugging output is logged."
msgstr "表示调试级别的整数。更高的数字意味着记录更多的调试输出。"

#. type: item
#: guix-git/doc/guix.texi:19827
#, fuzzy, no-wrap
msgid "@code{caches} (default: @code{%nscd-default-caches})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:19830
#, fuzzy
msgid "List of @code{<nscd-cache>} objects denoting things to be cached; see below."
msgstr "表示要缓存的 @code{<nscd-cache>} 对象的列表;见下文。"

#. type: deftp
#: guix-git/doc/guix.texi:19834
#, fuzzy, no-wrap
msgid "{Data Type} nscd-cache"
msgstr "{数据类型} nscd-cache"

#. type: deftp
#: guix-git/doc/guix.texi:19836
#, fuzzy
msgid "Data type representing a cache database of nscd and its parameters."
msgstr "表示 nscd 的缓存数据库及其参数的数据类型。"

#. type: cindex
#: guix-git/doc/guix.texi:19839 guix-git/doc/guix.texi:27067
#, fuzzy, no-wrap
msgid "database"
msgstr "数据库"

#. type: table
#: guix-git/doc/guix.texi:19844
#, fuzzy
msgid "This is a symbol representing the name of the database to be cached.  Valid values are @code{passwd}, @code{group}, @code{hosts}, and @code{services}, which designate the corresponding NSS database (@pxref{NSS Basics,,, libc, The GNU C Library Reference Manual})."
msgstr "这是一个表示要缓存的数据库名称的符号。有效值为 @code{passwd}、@code{group}、@code{hosts} 和 @code{services},它们指定相应的 NSS 数据库 (@pxref{NSS Basics,,, libc, The GNU C Library Reference Manual})。"

#. type: code{#1}
#: guix-git/doc/guix.texi:19845
#, fuzzy, no-wrap
msgid "positive-time-to-live"
msgstr "正向生存时间"

#. type: itemx
#: guix-git/doc/guix.texi:19846
#, fuzzy, no-wrap
msgid "@code{negative-time-to-live} (default: @code{20})"
msgstr "@code{negative-time-to-live} (默认: @code{20})"

#. type: table
#: guix-git/doc/guix.texi:19849
#, fuzzy
msgid "A number representing the number of seconds during which a positive or negative lookup result remains in cache."
msgstr "一个数字,表示正向或负向查找结果在缓存中保持的秒数。"

#. type: item
#: guix-git/doc/guix.texi:19850
#, fuzzy, no-wrap
msgid "@code{check-files?} (default: @code{#t})"
msgstr "@code{check-files?} (默认: @code{#t})"

#. type: table
#: guix-git/doc/guix.texi:19853
#, fuzzy
msgid "Whether to check for updates of the files corresponding to @var{database}."
msgstr "是否检查与 @var{database} 对应的文件的更新。"

#. type: table
#: guix-git/doc/guix.texi:19857
#, fuzzy
msgid "For instance, when @var{database} is @code{hosts}, setting this flag instructs nscd to check for updates in @file{/etc/hosts} and to take them into account."
msgstr "例如,当 @var{database} 为 @code{hosts} 时,设置此标志指示 nscd 检查 @file{/etc/hosts} 中的更新并考虑它们。"

#. type: item
#: guix-git/doc/guix.texi:19858
#, fuzzy, no-wrap
msgid "@code{persistent?} (default: @code{#t})"
msgstr "@code{persistent?} (默认: @code{#t})"

#. type: table
#: guix-git/doc/guix.texi:19860
#, fuzzy
msgid "Whether the cache should be stored persistently on disk."
msgstr "缓存是否应持久存储在磁盘上。"

#. type: item
#: guix-git/doc/guix.texi:19861
#, fuzzy, no-wrap
msgid "@code{shared?} (default: @code{#t})"
msgstr "@code{shared?} (默认: @code{#t})"

#. type: table
#: guix-git/doc/guix.texi:19863
#, fuzzy
msgid "Whether the cache should be shared among users."
msgstr "缓存是否应在用户之间共享。"

#. type: item
#: guix-git/doc/guix.texi:19864
#, fuzzy, no-wrap
msgid "@code{max-database-size} (default: 32@tie{}MiB)"
msgstr "@code{max-database-size} (默认: 32@tie{}MiB)"

#. type: table
#: guix-git/doc/guix.texi:19866
#, fuzzy
msgid "Maximum size in bytes of the database cache."
msgstr "数据库缓存的最大字节大小。"

#. type: defvar
#: guix-git/doc/guix.texi:19873
#, fuzzy, no-wrap
msgid "%nscd-default-caches"
msgstr "%nscd-default-caches"

#. type: defvar
#: guix-git/doc/guix.texi:19876
#, fuzzy
msgid "List of @code{<nscd-cache>} objects used by default by @code{nscd-configuration} (see above)."
msgstr "默认情况下由 @code{nscd-configuration} 使用的 @code{<nscd-cache>} 对象列表(见上文)。"

#. type: defvar
#: guix-git/doc/guix.texi:19882
#, fuzzy
msgid "It enables persistent and aggressive caching of service and host name lookups.  The latter provides better host name lookup performance, resilience in the face of unreliable name servers, and also better privacy---often the result of host name lookups is in local cache, so external name servers do not even need to be queried."
msgstr "它启用服务和主机名查找的持久和积极缓存。后者提供更好的主机名查找性能,在面对不可靠的名称服务器时具有更强的韧性,并且还提供更好的隐私——主机名查找的结果通常在本地缓存中,因此不需要查询外部名称服务器。"

#. type: cindex
#: guix-git/doc/guix.texi:19884
#, fuzzy, no-wrap
msgid "syslog"
msgstr "syslog"

#. type: cindex
#: guix-git/doc/guix.texi:19885 guix-git/doc/guix.texi:20976
#, fuzzy, no-wrap
msgid "logging"
msgstr "日志记录"

#. type: defvar
#: guix-git/doc/guix.texi:19886
#, fuzzy, no-wrap
msgid "syslog-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:19889
#, fuzzy
msgid "Type of the service that runs the syslog daemon, whose value is a @code{<syslog-configuration>} object."
msgstr "运行 syslog 守护进程的服务类型,其值是一个 @code{<syslog-configuration>} 对象。"

#. type: Plain text
#: guix-git/doc/guix.texi:19895
#, fuzzy
msgid "To have a modified @code{syslog-configuration} come into effect after reconfiguring your system, the @samp{reload} action should be preferred to restarting the service, as many services such as the login manager depend on it and would be restarted as well:"
msgstr "要使修改后的 @code{syslog-configuration} 在重新配置系统后生效,应该优先选择 @samp{reload} 操作,而不是重新启动服务,因为许多服务(例如登录管理器)依赖于它,并且也会被重新启动:"

#. type: example
#: guix-git/doc/guix.texi:19898
#, fuzzy, no-wrap
msgid "# herd reload syslog\n"
msgstr "# herd reload syslog\n"

#. type: Plain text
#: guix-git/doc/guix.texi:19902
#, fuzzy
msgid "which will cause the running @command{syslogd} process to reload its configuration."
msgstr "这将导致正在运行的 @command{syslogd} 进程重新加载其配置。"

#. type: deftp
#: guix-git/doc/guix.texi:19903
#, fuzzy, no-wrap
msgid "{Data Type} syslog-configuration"
msgstr "{数据类型} syslog-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:19905
#, fuzzy
msgid "Data type representing the configuration of the syslog daemon."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:19907
#, fuzzy, no-wrap
msgid "@code{syslogd} (default: @code{#~(string-append #$inetutils \"/libexec/syslogd\")})"
msgstr "@code{syslogd}(默认:@code{#~(string-append #$inetutils \"/libexec/syslogd\")})"

#. type: table
#: guix-git/doc/guix.texi:19909
#, fuzzy
msgid "The syslog daemon to use."
msgstr "要使用的 syslog 守护进程。"

#. type: item
#: guix-git/doc/guix.texi:19910
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{%default-syslog.conf})"
msgstr "@code{config-file}(默认:@code{%default-syslog.conf})"

#. type: table
#: guix-git/doc/guix.texi:19914
#, fuzzy
msgid "The syslog configuration file to use.  @xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more information on the configuration file syntax."
msgstr "要使用的 syslog 配置文件。有关配置文件语法的更多信息,请参见 @xref{syslogd invocation,,, inetutils, GNU Inetutils}。"

#. type: table
#: guix-git/doc/guix.texi:19917
#, fuzzy
msgid "List of extra command-line options for @command{syslog}."
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: defvar
#: guix-git/doc/guix.texi:19921
#, fuzzy, no-wrap
msgid "guix-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:19925
#, fuzzy
msgid "This is the type of the service that runs the build daemon, @command{guix-daemon} (@pxref{Invoking guix-daemon}).  Its value must be a @code{guix-configuration} record as described below."
msgstr "这是运行构建守护进程 @command{guix-daemon}(@pxref{Invoking guix-daemon})的服务类型。其值必须是一个 @code{guix-configuration} 记录,如下所述。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:19928
#, fuzzy
msgid "guix-configuration-type"
msgstr "guix-configuration-type"

#. type: deftp
#: guix-git/doc/guix.texi:19928
#, fuzzy, no-wrap
msgid "{Data Type} guix-configuration"
msgstr "{数据类型} guix-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:19931
#, fuzzy
msgid "This data type represents the configuration of the Guix build daemon.  @xref{Invoking guix-daemon}, for more information."
msgstr "此数据类型表示 Guix 构建守护进程的配置。有关更多信息,请参见 @xref{Invoking guix-daemon}。"

#. type: item
#: guix-git/doc/guix.texi:19933
#, fuzzy, no-wrap
msgid "@code{guix} (default: @var{guix})"
msgstr "@code{guix}(默认:@var{guix})"

#. type: table
#: guix-git/doc/guix.texi:19936
#, fuzzy
msgid "The Guix package to use.  @xref{Customizing the System-Wide Guix} to learn how to provide a package with a pre-configured set of channels."
msgstr "要使用的 Guix 包。请参见 @xref{Customizing the System-Wide Guix} 了解如何提供具有预配置通道集的包。"

#. type: item
#: guix-git/doc/guix.texi:19937
#, fuzzy, no-wrap
msgid "@code{build-group} (default: @code{\"guixbuild\"})"
msgstr "@code{build-group}(默认:@code{\"guixbuild\"})"

#. type: table
#: guix-git/doc/guix.texi:19939
#, fuzzy
msgid "Name of the group for build user accounts."
msgstr "构建用户帐户的组名。"

#. type: item
#: guix-git/doc/guix.texi:19940
#, fuzzy, no-wrap
msgid "@code{build-accounts} (default: @code{10})"
msgstr "@code{build-accounts}(默认:@code{10})"

#. type: table
#: guix-git/doc/guix.texi:19942
#, fuzzy
msgid "Number of build user accounts to create."
msgstr "要创建的构建用户帐户数量。"

#. type: item
#: guix-git/doc/guix.texi:19943
#, fuzzy, no-wrap
msgid "@code{chroot?} (default: @code{'default})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:19949
msgid "The value should be one of @code{#t} or @code{#f}, in which case chroot is enabled or disabled, respectively; or it should be @code{'default}, which amounts to @code{#f} in Docker containers (so that they can be run in non-privileged mode)  or @code{#t} otherwise."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:19950
#, fuzzy, no-wrap
msgid "@code{authorize-key?} (default: @code{#t})"
msgstr "@code{authorize-key?}(默认:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:19957
#, fuzzy
msgid "Whether to authorize the substitute keys listed in @code{authorized-keys}---by default that of @code{@value{SUBSTITUTE-SERVER-1}} and @code{@value{SUBSTITUTE-SERVER-2}} (@pxref{Substitutes})."
msgstr "是否授权在 @code{authorized-keys} 中列出的替代密钥——默认情况下是 @code{@value{SUBSTITUTE-SERVER-1}} 和 @code{@value{SUBSTITUTE-SERVER-2}}(@pxref{Substitutes})。"

#. type: table
#: guix-git/doc/guix.texi:19963
#, fuzzy
msgid "When @code{authorize-key?} is true, @file{/etc/guix/acl} cannot be changed by invoking @command{guix archive --authorize}.  You must instead adjust @code{guix-configuration} as you wish and reconfigure the system.  This ensures that your operating system configuration file is self-contained."
msgstr "当 @code{authorize-key?} 为真时,无法通过调用 @command{guix archive --authorize} 来更改 @file{/etc/guix/acl}。您必须根据需要调整 @code{guix-configuration} 并重新配置系统。这确保您的操作系统配置文件是自包含的。"

#. type: quotation
#: guix-git/doc/guix.texi:19970
#, fuzzy
msgid "When booting or reconfiguring to a system where @code{authorize-key?} is true, the existing @file{/etc/guix/acl} file is backed up as @file{/etc/guix/acl.bak} if it was determined to be a manually modified file.  This is to facilitate migration from earlier versions, which allowed for in-place modifications to @file{/etc/guix/acl}."
msgstr "在启动或重新配置到 @code{authorize-key?} 为真的系统时,如果确定现有的 @file{/etc/guix/acl} 文件是手动修改的文件,则会将其备份为 @file{/etc/guix/acl.bak}。这是为了方便从早期版本迁移,这些版本允许对 @file{/etc/guix/acl} 进行就地修改。"

#. type: vindex
#: guix-git/doc/guix.texi:19972
#, fuzzy, no-wrap
msgid "%default-authorized-guix-keys"
msgstr "%default-authorized-guix-keys"

#. type: item
#: guix-git/doc/guix.texi:19973
#, fuzzy, no-wrap
msgid "@code{authorized-keys} (default: @code{%default-authorized-guix-keys})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:19979
#, fuzzy
msgid "The list of authorized key files for archive imports, as a list of string-valued gexps (@pxref{Invoking guix archive}).  By default, it contains that of @code{@value{SUBSTITUTE-SERVER-1}} and @code{@value{SUBSTITUTE-SERVER-2}} (@pxref{Substitutes}).  See @code{substitute-urls} below for an example on how to change it."
msgstr "用于归档导入的授权密钥文件列表,作为字符串值 gexps 的列表(@pxref{Invoking guix archive})。默认情况下,它包含 @code{@value{SUBSTITUTE-SERVER-1}} 和 @code{@value{SUBSTITUTE-SERVER-2}} 的内容(@pxref{Substitutes})。请参见下面的 @code{substitute-urls} 示例,了解如何更改它。"

#. type: item
#: guix-git/doc/guix.texi:19980
#, fuzzy, no-wrap
msgid "@code{use-substitutes?} (default: @code{#t})"
msgstr "@code{use-substitutes?}(默认:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:19982
#, fuzzy
msgid "Whether to use substitutes."
msgstr "是否使用替代品。"

#. type: item
#: guix-git/doc/guix.texi:19983 guix-git/doc/guix.texi:36168
#, fuzzy, no-wrap
msgid "@code{substitute-urls} (default: @code{%default-substitute-urls})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:19985 guix-git/doc/guix.texi:36170
#, fuzzy
msgid "The list of URLs where to look for substitutes by default."
msgstr "默认情况下查找替代品的 URL 列表。"

#. type: table
#: guix-git/doc/guix.texi:19992
#, fuzzy
msgid "Suppose you would like to fetch substitutes from @code{guix.example.org} in addition to @code{@value{SUBSTITUTE-SERVER-1}}.  You will need to do two things: (1) add @code{guix.example.org} to @code{substitute-urls}, and (2) authorize its signing key, having done appropriate checks (@pxref{Substitute Server Authorization}).  The configuration below does exactly that:"
msgstr "假设您希望从 @code{guix.example.org} 获取替代品,除了 @code{@value{SUBSTITUTE-SERVER-1}}。您需要做两件事:(1)将 @code{guix.example.org} 添加到 @code{substitute-urls},并(2)授权其签名密钥,经过适当的检查(@pxref{Substitute Server Authorization})。下面的配置正是这样做的:"

#. type: lisp
#: guix-git/doc/guix.texi:20001
#, fuzzy, no-wrap
msgid ""
"(guix-configuration\n"
"  (substitute-urls\n"
"   (append (list \"https://guix.example.org\")\n"
"           %default-substitute-urls))\n"
"  (authorized-keys\n"
"   (append (list (local-file \"./guix.example.org-key.pub\"))\n"
"           %default-authorized-guix-keys)))\n"
msgstr ""
"(guix-configuration\n"
"  (substitute-urls\n"
"   (append (list \"https://guix.example.org\")\n"
"           %default-substitute-urls))\n"
"  (authorized-keys\n"
"   (append (list (local-file \"./guix.example.org-key.pub\"))\n"
"           %default-authorized-guix-keys)))\n"

#. type: table
#: guix-git/doc/guix.texi:20006
#, fuzzy
msgid "This example assumes that the file @file{./guix.example.org-key.pub} contains the public key that @code{guix.example.org} uses to sign substitutes."
msgstr "此示例假设文件 @file{./guix.example.org-key.pub} 包含 @code{guix.example.org} 用于签署替代品的公钥。"

#. type: item
#: guix-git/doc/guix.texi:20007
#, fuzzy, no-wrap
msgid "@code{generate-substitute-key?} (default: @code{#t})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:20011
#, fuzzy
msgid "Whether to generate a @dfn{substitute key pair} under @file{/etc/guix/signing-key.pub} and @file{/etc/guix/signing-key.sec} if there is not already one."
msgstr "如果尚未生成 @file{/etc/guix/signing-key.pub} 和 @file{/etc/guix/signing-key.sec} 下的 @dfn{substitute key pair},是否生成它。"

#. type: table
#: guix-git/doc/guix.texi:20018
#, fuzzy
msgid "This key pair is used when exporting store items, for instance with @command{guix publish} (@pxref{Invoking guix publish}) or @command{guix archive} (@pxref{Invoking guix archive}).  Generating a key pair takes a few seconds when enough entropy is available and is only done once; you might want to turn it off for instance in a virtual machine that does not need it and where the extra boot time is a problem."
msgstr "此密钥对用于导出商店项目,例如使用 @command{guix publish} (@pxref{Invoking guix publish}) 或 @command{guix archive} (@pxref{Invoking guix archive})。生成密钥对在有足够熵的情况下需要几秒钟,并且只需执行一次;您可能希望在不需要它的虚拟机中关闭它,因为额外的启动时间可能是个问题。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:20020
#, fuzzy
msgid "guix-configuration-channels"
msgstr "系统配置"

#. type: item
#: guix-git/doc/guix.texi:20020
#, fuzzy, no-wrap
msgid "@code{channels} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20024
#, fuzzy
msgid "List of channels to be specified in @file{/etc/guix/channels.scm}, which is what @command{guix pull} uses by default (@pxref{Invoking guix pull})."
msgstr "使profile出现在@file{~root/.config/guix/current},这是@command{guix pull}安装更新的位置(@pxref{Invoking guix pull}):"

#. type: quotation
#: guix-git/doc/guix.texi:20031
#, fuzzy
msgid "When reconfiguring a system, the existing @file{/etc/guix/channels.scm} file is backed up as @file{/etc/guix/channels.scm.bak} if it was determined to be a manually modified file.  This is to facilitate migration from earlier versions, which allowed for in-place modifications to @file{/etc/guix/channels.scm}."
msgstr "在重新配置系统时,如果确定现有的 @file{/etc/guix/channels.scm} 文件是手动修改的文件,则会将其备份为 @file{/etc/guix/channels.scm.bak}。这是为了方便从早期版本迁移,这些版本允许对 @file{/etc/guix/channels.scm} 进行就地修改。"

#. type: item
#: guix-git/doc/guix.texi:20033
#, fuzzy, no-wrap
msgid "@code{max-silent-time} (default: @code{3600})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: itemx
#: guix-git/doc/guix.texi:20034
#, fuzzy, no-wrap
msgid "@code{timeout} (default: @code{(* 3600 24)})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20038
#, fuzzy
msgid "The number of seconds of silence and the number of seconds of activity, respectively, after which a build process times out.  A value of zero disables the timeout."
msgstr "静默的秒数和活动的秒数,分别是在此之后构建过程超时。值为零将禁用超时。"

#. type: item
#: guix-git/doc/guix.texi:20039
#, fuzzy, no-wrap
msgid "@code{log-compression} (default: @code{'gzip})"
msgstr "@code{compression-level}(默认值:@code{3})"

#. type: table
#: guix-git/doc/guix.texi:20042
#, fuzzy
msgid "The type of compression used for build logs---one of @code{gzip}, @code{bzip2}, or @code{none}."
msgstr "用于构建日志的压缩类型——可以是 @code{gzip}、@code{bzip2} 或 @code{none} 之一。"

#. type: item
#: guix-git/doc/guix.texi:20043
#, fuzzy, no-wrap
msgid "@code{discover?} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:20048
#, fuzzy
msgid "guix-configuration-build-machines"
msgstr "系统配置"

#. type: item
#: guix-git/doc/guix.texi:20048
#, fuzzy, no-wrap
msgid "@code{build-machines} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:20052
#, fuzzy
msgid "This field must be either @code{#f} or a list of gexps evaluating to a @code{build-machine} record or to a list of @code{build-machine} records (@pxref{Daemon Offload Setup})."
msgstr "此字段必须是 @code{#f} 或一个评估为 @code{build-machine} 记录的 gexp 列表,或者是 @code{build-machine} 记录的列表 (@pxref{Daemon Offload Setup})。"

#. type: table
#: guix-git/doc/guix.texi:20059
#, fuzzy
msgid "When it is @code{#f}, the @file{/etc/guix/machines.scm} file is left untouched.  Otherwise, the list of of gexps is written to @file{/etc/guix/machines.scm}; if a previously-existing file is found, it is backed up as @file{/etc/guix/machines.scm.bak}.  This allows you to declare build machines for offloading directly in the operating system declaration, like so:"
msgstr "当它是 @code{#f} 时,@file{/etc/guix/machines.scm} 文件将保持不变。否则,gexp 列表将写入 @file{/etc/guix/machines.scm};如果发现先前存在的文件,则将其备份为 @file{/etc/guix/machines.scm.bak}。这允许您在操作系统声明中直接声明用于卸载的构建机器,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:20065
#, fuzzy, no-wrap
msgid ""
"(guix-configuration\n"
"  (build-machines\n"
"    (list #~(build-machine (name \"foo.example.org\") @dots{})\n"
"          #~(build-machine (name \"bar.example.org\") @dots{}))))\n"
msgstr ""
"(guix-configuration\n"
"  (build-machines\n"
"    (list #~(build-machine (name \"foo.example.org\") @dots{})\n"
"          #~(build-machine (name \"bar.example.org\") @dots{}))))\n"

#. type: table
#: guix-git/doc/guix.texi:20069
#, fuzzy
msgid "Additional build machines may be added @i{via} the @code{guix-extension} mechanism (see below)."
msgstr "可以通过 @i{via} @code{guix-extension} 机制添加额外的构建机器(见下文)。"

#. type: table
#: guix-git/doc/guix.texi:20072
#, fuzzy
msgid "List of extra command-line options for @command{guix-daemon}."
msgstr "@command{guix-daemon} 的额外命令行选项列表。"

#. type: item
#: guix-git/doc/guix.texi:20073
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{\"/var/log/guix-daemon.log\"})"
msgstr "@code{log-file}(默认值:@code{\"/var/log/guix-daemon.log\"})"

#. type: table
#: guix-git/doc/guix.texi:20076
#, fuzzy
msgid "File where @command{guix-daemon}'s standard output and standard error are written."
msgstr "@command{guix-daemon} 的标准输出和标准错误写入的文件。"

#. type: cindex
#: guix-git/doc/guix.texi:20077
#, fuzzy, no-wrap
msgid "HTTP proxy, for @code{guix-daemon}"
msgstr "HTTP 代理,用于 @code{guix-daemon}"

#. type: cindex
#: guix-git/doc/guix.texi:20078
#, fuzzy, no-wrap
msgid "proxy, for @code{guix-daemon} HTTP access"
msgstr "代理,用于 @code{guix-daemon} 的 HTTP 访问"

#. type: item
#: guix-git/doc/guix.texi:20079
#, fuzzy, no-wrap
msgid "@code{http-proxy} (default: @code{#f})"
msgstr "@code{http-proxy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20082
#, fuzzy
msgid "The URL of the HTTP and HTTPS proxy used for downloading fixed-output derivations and substitutes."
msgstr "用于下载固定输出派生和替代品的 HTTP 和 HTTPS 代理的 URL。"

#. type: table
#: guix-git/doc/guix.texi:20085
#, fuzzy
msgid "It is also possible to change the daemon's proxy at run time through the @code{set-http-proxy} action, which restarts it:"
msgstr "也可以通过 @code{set-http-proxy} 操作在运行时更改守护进程的代理,该操作会重启它:"

#. type: example
#: guix-git/doc/guix.texi:20088
#, fuzzy, no-wrap
msgid "herd set-http-proxy guix-daemon http://localhost:8118\n"
msgstr "herd set-http-proxy guix-daemon http://localhost:8118\n"

#. type: table
#: guix-git/doc/guix.texi:20091
#, fuzzy
msgid "To clear the proxy settings, run:"
msgstr "要清除代理设置,请运行:"

#. type: example
#: guix-git/doc/guix.texi:20094
#, no-wrap
msgid "herd set-http-proxy guix-daemon\n"
msgstr "herd set-http-proxy guix-daemon\n"

#. type: item
#: guix-git/doc/guix.texi:20096
#, fuzzy, no-wrap
msgid "@code{tmpdir} (default: @code{#f})"
msgstr "@code{tmpdir}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20098
#, fuzzy
msgid "A directory path where the @command{guix-daemon} will perform builds."
msgstr "@command{guix-daemon} 将执行构建的目录路径。"

#. type: item
#: guix-git/doc/guix.texi:20099
#, fuzzy, no-wrap
msgid "@code{environment} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20102
#, fuzzy
msgid "Environment variables to be set before starting the daemon, as a list of @code{key=value} strings."
msgstr "在启动守护进程之前要设置的环境变量,作为 @code{key=value} 字符串的列表。"

#. type: item
#: guix-git/doc/guix.texi:20103
#, fuzzy, no-wrap
msgid "@code{socket-directory-permissions} (default: @code{#o755})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20109
#, fuzzy
msgid "Permissions to set for the directory @file{/var/guix/daemon-socket}.  This, together with @code{socket-directory-group} and @code{socket-directory-user}, determines who can connect to the build daemon via its Unix socket.  TCP socket operation is unaffected by these."
msgstr "要为目录 @file{/var/guix/daemon-socket} 设置的权限。 这与 @code{socket-directory-group} 和 @code{socket-directory-user} 一起决定谁可以通过其 Unix 套接字连接到构建守护进程。 TCP 套接字操作不受这些影响。"

#. type: item
#: guix-git/doc/guix.texi:20110
#, fuzzy, no-wrap
msgid "@code{socket-directory-user} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: itemx
#: guix-git/doc/guix.texi:20111
#, fuzzy, no-wrap
msgid "@code{socket-directory-group} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20114
#, fuzzy
msgid "User and group owning the @file{/var/guix/daemon-socket} directory or @code{#f} to keep the user or group as root."
msgstr "拥有 @file{/var/guix/daemon-socket} 目录的用户和组,或 @code{#f} 以保持用户或组为 root。"

#. type: deftp
#: guix-git/doc/guix.texi:20118
#, fuzzy, no-wrap
msgid "{Data Type} guix-extension"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:20123
#, fuzzy
msgid "This data type represents the parameters of the Guix build daemon that are extendable. This is the type of the object that must be used within a guix service extension.  @xref{Service Composition}, for more information."
msgstr "此数据类型表示可扩展的 Guix 构建守护进程的参数。这是必须在 guix 服务扩展中使用的对象类型。有关更多信息,请参见 @xref{Service Composition}。"

#. type: item
#: guix-git/doc/guix.texi:20125 guix-git/doc/guix.texi:23338
#, fuzzy, no-wrap
msgid "@code{authorized-keys} (default: @code{'()})"
msgstr "@code{authorized-keys}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20127
#, fuzzy
msgid "A list of file-like objects where each element contains a public key."
msgstr "一个文件类对象的列表,其中每个元素包含一个公钥。"

#. type: item
#: guix-git/doc/guix.texi:20128
#, fuzzy, no-wrap
msgid "@code{substitute-urls} (default: @code{'()})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20130
#, fuzzy
msgid "A list of strings where each element is a substitute URL."
msgstr "一个字符串列表,其中每个元素是一个替代 URL。"

#. type: item
#: guix-git/doc/guix.texi:20131
#, fuzzy, no-wrap
msgid "@code{build-machines} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20135
#, fuzzy
msgid "A list of gexps that evaluate to @code{build-machine} records or to a list of @code{build-machine} records.  (@pxref{Daemon Offload Setup})."
msgstr "一个 gexp 列表,评估为 @code{build-machine} 记录或 @code{build-machine} 记录的列表。 (@pxref{Daemon Offload Setup})。"

#. type: table
#: guix-git/doc/guix.texi:20141
#, fuzzy
msgid "Using this field, a service may add new build machines to receive builds offloaded by the daemon.  This is useful for a service such as @code{hurd-vm-service-type}, which can make a GNU/Hurd virtual machine directly usable for offloading (@pxref{hurd-vm, @code{hurd-vm-service-type}})."
msgstr "使用此字段,服务可以添加新的构建机器以接收由守护进程卸载的构建。这对于像 @code{hurd-vm-service-type} 这样的服务非常有用,它可以使 GNU/Hurd 虚拟机直接可用于卸载(@pxref{hurd-vm, @code{hurd-vm-service-type}})。"

#. type: item
#: guix-git/doc/guix.texi:20142
#, fuzzy, no-wrap
msgid "@code{chroot-directories} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20144
#, fuzzy
msgid "A list of file-like objects or strings pointing to additional directories the build daemon can use."
msgstr "一个文件类对象或字符串的列表,指向构建守护进程可以使用的附加目录。"

#. type: defvar
#: guix-git/doc/guix.texi:20147
#, fuzzy, no-wrap
msgid "udev-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:20151
#, fuzzy
msgid "Type of the service that runs udev, a service which populates the @file{/dev} directory dynamically, whose value is a @code{<udev-configuration>} object."
msgstr "运行 udev 的服务类型,该服务动态填充 @file{/dev} 目录,其值为 @code{<udev-configuration>} 对象。"

#. type: defvar
#: guix-git/doc/guix.texi:20159
#, fuzzy
msgid "Since the file names for udev rules and hardware description files matter, the configuration items for rules and hardware cannot simply be plain file-like objects with the rules content, because the name would be ignored.  Instead, they are directory file-like objects that contain optional rules in @file{lib/udev/rules.d} and optional hardware files in @file{lib/udev/hwdb.d}.  This way, the service can be configured with whole packages from which to take rules and hwdb files."
msgstr "由于udev规则和硬件描述文件的文件名很重要,规则和硬件的配置项不能仅仅是包含规则内容的普通文件对象,因为名称会被忽略。相反,它们是目录文件对象,包含可选的规则在@file{lib/udev/rules.d}中,以及可选的硬件文件在@file{lib/udev/hwdb.d}中。这样,服务可以使用整个包进行配置,从中获取规则和hwdb文件。"

#. type: defvar
#: guix-git/doc/guix.texi:20165
#, fuzzy
msgid "The @code{udev-service-type} can be @emph{extended} with file-like directories that respect this hierarchy.  For convenience, the @code{udev-rule} and @code{file->udev-rule} can be used to construct udev rules, while @code{udev-hardware} and @code{file->udev-hardware} can be used to construct hardware description files."
msgstr "@code{udev-service-type}可以通过遵循此层次结构的类文件目录进行@emph{扩展}。为了方便,可以使用@code{udev-rule}和@code{file->udev-rule}来构造udev规则,而@code{udev-hardware}和@code{file->udev-hardware}可以用来构造硬件描述文件。"

#. type: defvar
#: guix-git/doc/guix.texi:20169
#, fuzzy
msgid "In an @code{operating-system} declaration, this service type can be @emph{extended} using procedures @code{udev-rules-service} and @code{udev-hardware-service}."
msgstr "在@code{operating-system}声明中,可以使用过程@code{udev-rules-service}和@code{udev-hardware-service}来@emph{扩展}此服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:20171
#, fuzzy, no-wrap
msgid "{Data Type} udev-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:20173
#, fuzzy
msgid "Data type representing the configuration of udev."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:20175
#, fuzzy, no-wrap
msgid "@code{udev} (default: @code{eudev}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:20180
#, fuzzy
msgid "Package object of the udev service.  This package is used at run-time, when compiled for the target system.  In order to generate the @file{hwdb.bin} hardware index, it is also used when generating the system definition, compiled for the current system."
msgstr "udev服务的包对象。该包在运行时使用,当为目标系统编译时。为了生成@file{hwdb.bin}硬件索引,它在为当前系统生成系统定义时也会使用。"

#. type: item
#: guix-git/doc/guix.texi:20181
#, fuzzy, no-wrap
msgid "@code{rules} (default: @var{'()}) (type: list-of-file-like)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:20183
#, fuzzy
msgid "List of file-like objects denoting udev rule files under a sub-directory."
msgstr "表示子目录下udev规则文件的类文件对象列表。"

#. type: item
#: guix-git/doc/guix.texi:20184
#, fuzzy, no-wrap
msgid "@code{hardware} (default: @var{'()}) (type: list-of-file-like)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:20187
#, fuzzy
msgid "List of file-like objects denoting udev hardware description files under a sub-directory."
msgstr "表示子目录下udev硬件描述文件的类文件对象列表。"

#. type: deffn
#: guix-git/doc/guix.texi:20191
#, fuzzy, no-wrap
msgid "{Procedure} udev-rule @var{file-name} @var{contents}"
msgstr "--log-compression=@var{type}"

#. type: deffn
#: guix-git/doc/guix.texi:20194
#, fuzzy
msgid "Return a udev-rule file named @var{file-name} containing the rules defined by the @var{contents} literal."
msgstr "返回一个名为@var{file-name}的udev规则文件,包含由@var{contents}文字定义的规则。"

#. type: deffn
#: guix-git/doc/guix.texi:20198
#, fuzzy
msgid "In the following example, a rule for a USB device is defined to be stored in the file @file{90-usb-thing.rules}.  The rule runs a script upon detecting a USB device with a given product identifier."
msgstr "在以下示例中,定义了一个USB设备的规则,存储在文件@file{90-usb-thing.rules}中。该规则在检测到具有给定产品标识符的USB设备时运行一个脚本。"

#. type: lisp
#: guix-git/doc/guix.texi:20206
#, fuzzy, no-wrap
msgid ""
"(define %example-udev-rule\n"
"  (udev-rule\n"
"    \"90-usb-thing.rules\"\n"
"    (string-append \"ACTION==\\\"add\\\", SUBSYSTEM==\\\"usb\\\", \"\n"
"                   \"ATTR@{product@}==\\\"Example\\\", \"\n"
"                   \"RUN+=\\\"/path/to/script\\\"\")))\n"
msgstr ""
"(define %example-udev-rule\n"
"  (udev-rule\n"
"    \"90-usb-thing.rules\"\n"
"    (string-append \"ACTION==\\\"add\\\", SUBSYSTEM==\\\"usb\\\", \"\n"
"                   \"ATTR@{product@}==\\\"Example\\\", \"\n"
"                   \"RUN+=\\\"/path/to/script\\\"\")))\n"

#. type: deffn
#: guix-git/doc/guix.texi:20209
#, fuzzy, no-wrap
msgid "{Procedure} udev-hardware @var{file-name} @var{contents}"
msgstr "--log-compression=@var{type}"

#. type: deffn
#: guix-git/doc/guix.texi:20212
#, fuzzy
msgid "Return a udev hardware description file named @var{file-name} containing the hardware information @var{contents}."
msgstr "返回一个名为@var{file-name}的udev硬件描述文件,包含硬件信息@var{contents}。"

#. type: deffn
#: guix-git/doc/guix.texi:20214
#, fuzzy, no-wrap
msgid "{Procedure} udev-rules-service @var{name} @var{rules} [#:groups '()]"
msgstr "{Procedure} udev-rules-service @var{name} @var{rules} [#:groups '()]"

#. type: deffn
#: guix-git/doc/guix.texi:20220
#, fuzzy
msgid "Return a service that extends @code{udev-service-type} with @var{rules} and @code{account-service-type} with @var{groups} as system groups.  This works by creating a singleton service type @code{@var{name}-udev-rules}, of which the returned service is an instance."
msgstr "返回一个服务,该服务通过 @var{rules} 扩展 @code{udev-service-type},并通过 @var{groups} 作为系统组扩展 @code{account-service-type}。这通过创建一个单例服务类型 @code{@var{name}-udev-rules} 来实现,返回的服务是该类型的一个实例。"

#. type: deffn
#: guix-git/doc/guix.texi:20223
#, fuzzy
msgid "Here we show how it can be used to extend @code{udev-service-type} with the previously defined rule @code{%example-udev-rule}."
msgstr "在这里,我们展示了如何使用之前定义的规则 @code{%example-udev-rule} 来扩展 @code{udev-service-type}。"

#. type: lisp
#: guix-git/doc/guix.texi:20230
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
" ;; @dots{}\n"
" (services\n"
"   (cons (udev-rules-service 'usb-thing %example-udev-rule)\n"
"         %desktop-services)))\n"
msgstr ""
"(operating-system\n"
" ;; @dots{}\n"
" (services\n"
"   (cons (udev-rules-service 'usb-thing %example-udev-rule)\n"
"         %desktop-services)))\n"

#. type: deffn
#: guix-git/doc/guix.texi:20233
#, fuzzy, no-wrap
msgid "{Procedure} udev-hardware-service @var{name} @var{hardware}"
msgstr "--log-compression=@var{type}"

#. type: deffn
#: guix-git/doc/guix.texi:20236
#, fuzzy
msgid "Return a service that extends @code{udev-service-type} with @var{hardware}.  The service name is @code{@var{name}-udev-hardware}."
msgstr "返回一个服务,该服务通过 @var{hardware} 扩展 @code{udev-service-type}。服务名称为 @code{@var{name}-udev-hardware}。"

#. type: deffn
#: guix-git/doc/guix.texi:20238
#, fuzzy, no-wrap
msgid "{Procedure} file->udev-rule @var{file-name} @var{file}"
msgstr "--log-compression=@var{type}"

#. type: deffn
#: guix-git/doc/guix.texi:20241
#, fuzzy
msgid "Return a udev-rule file named @var{file-name} containing the rules defined within @var{file}, a file-like object."
msgstr "返回一个名为 @var{file-name} 的 udev-rule 文件,其中包含在 @var{file} 中定义的规则,@var{file} 是一个类文件对象。"

#. type: deffn
#: guix-git/doc/guix.texi:20243
#, fuzzy
msgid "The following example showcases how we can use an existing rule file."
msgstr "以下示例展示了我们如何使用现有的规则文件。"

#. type: lisp
#: guix-git/doc/guix.texi:20248
#, fuzzy, no-wrap
msgid ""
"(use-modules (guix download)     ;for url-fetch\n"
"             (guix packages)     ;for origin\n"
"             @dots{})\n"
"\n"
msgstr ""
"(use-modules (guix download)     ;for url-fetch\n"
"             (guix packages)     ;for origin\n"
"             @dots{})\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:20259
#, fuzzy, no-wrap
msgid ""
"(define %android-udev-rules\n"
"  (file->udev-rule\n"
"    \"51-android-udev.rules\"\n"
"    (let ((version \"20170910\"))\n"
"      (origin\n"
"       (method url-fetch)\n"
"       (uri (string-append \"https://raw.githubusercontent.com/M0Rf30/\"\n"
"                           \"android-udev-rules/\" version \"/51-android.rules\"))\n"
"       (sha256\n"
"        (base32 \"0lmmagpyb6xsq6zcr2w1cyx9qmjqmajkvrdbhjx32gqf1d9is003\"))))))\n"
msgstr ""
"(define %android-udev-rules\n"
"  (file->udev-rule\n"
"    \"51-android-udev.rules\"\n"
"    (let ((version \"20170910\"))\n"
"      (origin\n"
"       (method url-fetch)\n"
"       (uri (string-append \"https://raw.githubusercontent.com/M0Rf30/\"\n"
"                           \"android-udev-rules/\" version \"/51-android.rules\"))\n"
"       (sha256\n"
"        (base32 \"0lmmagpyb6xsq6zcr2w1cyx9qmjqmajkvrdbhjx32gqf1d9is003\"))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:20267
#, fuzzy
msgid "Since guix package definitions can be included in @var{rules} in order to use all their rules under the @file{lib/udev/rules.d} sub-directory, then in lieu of the previous @var{file->udev-rule} example, we could have used the @var{android-udev-rules} package which exists in Guix in the @code{(gnu packages android)} module."
msgstr "由于 guix 包定义可以包含在 @var{rules} 中,以便在 @file{lib/udev/rules.d} 子目录下使用它们的所有规则,因此在之前的 @var{file->udev-rule} 示例中,我们可以使用在 Guix 中存在的 @var{android-udev-rules} 包,该包位于 @code{(gnu packages android)} 模块中。"

#. type: deffn
#: guix-git/doc/guix.texi:20268
#, fuzzy, no-wrap
msgid "{Procedure} file->udev-hardware @var{file-name} @var{file}"
msgstr "--log-compression=@var{type}"

#. type: deffn
#: guix-git/doc/guix.texi:20271
#, fuzzy
msgid "Return a udev hardware description file named @var{file-name} containing the rules defined within @var{file}, a file-like object."
msgstr "返回一个名为 @var{file-name} 的 udev 硬件描述文件,其中包含在 @var{file} 中定义的规则,@var{file} 是一个类文件对象。"

#. type: Plain text
#: guix-git/doc/guix.texi:20281
#, fuzzy
msgid "The following example shows how to use the @var{android-udev-rules} package so that the Android tool @command{adb} can detect devices without root privileges.  It also details how to create the @code{adbusers} group, which is required for the proper functioning of the rules defined within the @code{android-udev-rules} package.  To create such a group, we must define it both as part of the @code{supplementary-groups} of our @code{user-account} declaration, as well as in the @var{groups} of the @code{udev-rules-service} procedure."
msgstr "以下示例展示了如何使用 @var{android-udev-rules} 包,以便 Android 工具 @command{adb} 可以在没有 root 权限的情况下检测设备。它还详细说明了如何创建 @code{adbusers} 组,该组是 @code{android-udev-rules} 包中定义的规则正常工作的必要条件。要创建这样的组,我们必须将其定义为 @code{user-account} 声明的 @code{supplementary-groups} 的一部分,以及 @code{udev-rules-service} 过程的 @var{groups} 中。"

#. type: lisp
#: guix-git/doc/guix.texi:20286
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu packages android)  ;for android-udev-rules\n"
"             (gnu system shadow)     ;for user-group\n"
"             @dots{})\n"
"\n"
msgstr ""
"(使用模块 (gnu packages android)  ;用于 android-udev-rules\n"
"             (gnu system shadow)     ;用于用户组\n"
"             @dots{})\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:20299
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (users (cons (user-account\n"
"                ;; @dots{}\n"
"                (supplementary-groups\n"
"                 '(\"adbusers\"   ;for adb\n"
"                   \"wheel\" \"netdev\" \"audio\" \"video\")))))\n"
"  ;; @dots{}\n"
"  (services\n"
"    (cons (udev-rules-service 'android android-udev-rules\n"
"                              #:groups '(\"adbusers\"))\n"
"          %desktop-services)))\n"
msgstr ""
"(操作系统\n"
"  ;; @dots{}\n"
"  (用户 (cons (用户账户\n"
"                ;; @dots{}\n"
"                (补充组\n"
"                 '(\"adbusers\"   ;用于 adb\n"
"                   \"wheel\" \"netdev\" \"audio\" \"video\")))))\n"
"  ;; @dots{}\n"
"  (服务\n"
"    (cons (udev-rules-service 'android android-udev-rules\n"
"                              #:groups '(\"adbusers\"))\n"
"          %desktop-services)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:20301
#, fuzzy, no-wrap
msgid "urandom-seed-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:20306
#, fuzzy
msgid "Save some entropy in @code{%random-seed-file} to seed @file{/dev/urandom} when rebooting.  It also tries to seed @file{/dev/urandom} from @file{/dev/hwrng} while booting, if @file{/dev/hwrng} exists and is readable."
msgstr "在 @code{%random-seed-file} 中保存一些熵,以便在重启时为 @file{/dev/urandom} 提供种子。它还尝试在启动时从 @file{/dev/hwrng} 为 @file{/dev/urandom} 提供种子,如果 @file{/dev/hwrng} 存在且可读。"

#. type: defvar
#: guix-git/doc/guix.texi:20308
#, fuzzy, no-wrap
msgid "%random-seed-file"
msgstr "%random-seed-file"

#. type: defvar
#: guix-git/doc/guix.texi:20312
#, fuzzy
msgid "This is the name of the file where some random bytes are saved by @var{urandom-seed-service} to seed @file{/dev/urandom} when rebooting.  It defaults to @file{/var/lib/random-seed}."
msgstr "这是一个文件的名称,@var{urandom-seed-service} 将一些随机字节保存到该文件中,以便在重启时为 @file{/dev/urandom} 提供种子。默认值为 @file{/var/lib/random-seed}。"

#. type: cindex
#: guix-git/doc/guix.texi:20314
#, fuzzy, no-wrap
msgid "mouse"
msgstr "鼠标"

#. type: cindex
#: guix-git/doc/guix.texi:20315
#, fuzzy, no-wrap
msgid "gpm"
msgstr "gpm"

#. type: defvar
#: guix-git/doc/guix.texi:20316
#, fuzzy, no-wrap
msgid "gpm-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:20321
#, fuzzy
msgid "This is the type of the service that runs GPM, the @dfn{general-purpose mouse daemon}, which provides mouse support to the Linux console.  GPM allows users to use the mouse in the console, notably to select, copy, and paste text."
msgstr "这是运行 GPM 的服务类型,@dfn{通用鼠标守护进程},它为 Linux 控制台提供鼠标支持。GPM 允许用户在控制台中使用鼠标,特别是选择、复制和粘贴文本。"

#. type: defvar
#: guix-git/doc/guix.texi:20324
#, fuzzy
msgid "The value for services of this type must be a @code{gpm-configuration} (see below).  This service is not part of @code{%base-services}."
msgstr "此类型服务的值必须是 @code{gpm-configuration}(见下文)。该服务不是 @code{%base-services} 的一部分。"

#. type: deftp
#: guix-git/doc/guix.texi:20326
#, fuzzy, no-wrap
msgid "{Data Type} gpm-configuration"
msgstr "{数据类型} gpm-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:20328
#, fuzzy
msgid "Data type representing the configuration of GPM."
msgstr "表示 GPM 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:20330
#, fuzzy, no-wrap
msgid "@code{options} (default: @code{%default-gpm-options})"
msgstr "@code{options}(默认值:@code{%default-gpm-options})"

#. type: table
#: guix-git/doc/guix.texi:20335
#, fuzzy
msgid "Command-line options passed to @command{gpm}.  The default set of options instruct @command{gpm} to listen to mouse events on @file{/dev/input/mice}.  @xref{Command Line,,, gpm, gpm manual}, for more information."
msgstr "传递给 @command{gpm} 的命令行选项。默认选项集指示 @command{gpm} 监听 @file{/dev/input/mice} 上的鼠标事件。有关更多信息,请参见 @xref{命令行,,, gpm, gpm 手册}。"

#. type: item
#: guix-git/doc/guix.texi:20336
#, fuzzy, no-wrap
msgid "@code{gpm} (default: @code{gpm})"
msgstr "@code{gpm}(默认值:@code{gpm})"

#. type: table
#: guix-git/doc/guix.texi:20338
#, fuzzy
msgid "The GPM package to use."
msgstr "要使用的 GPM 包。"

#. type: defvar
#: guix-git/doc/guix.texi:20343
#, fuzzy, no-wrap
msgid "guix-publish-service-type"
msgstr "guix-publish-service-type"

#. type: defvar
#: guix-git/doc/guix.texi:20347
#, fuzzy
msgid "This is the service type for @command{guix publish} (@pxref{Invoking guix publish}).  Its value must be a @code{guix-publish-configuration} object, as described below."
msgstr "这是 @command{guix publish} 的服务类型(@pxref{调用 guix publish})。其值必须是 @code{guix-publish-configuration} 对象,如下所述。"

#. type: defvar
#: guix-git/doc/guix.texi:20351
#, fuzzy
msgid "This assumes that @file{/etc/guix} already contains a signing key pair as created by @command{guix archive --generate-key} (@pxref{Invoking guix archive}).  If that is not the case, the service will fail to start."
msgstr "这假设 @file{/etc/guix} 已经包含由 @command{guix archive --generate-key} 创建的签名密钥对(@pxref{调用 guix archive})。如果不是这种情况,服务将无法启动。"

#. type: deftp
#: guix-git/doc/guix.texi:20353
#, fuzzy, no-wrap
msgid "{Data Type} guix-publish-configuration"
msgstr "{数据类型} guix-publish-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:20356
#, fuzzy
msgid "Data type representing the configuration of the @code{guix publish} service."
msgstr "表示@code{guix publish}服务配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:20358
#, fuzzy, no-wrap
msgid "@code{guix} (default: @code{guix})"
msgstr "@code{guix}(默认:@code{guix})"

#. type: table
#: guix-git/doc/guix.texi:20360 guix-git/doc/guix.texi:27046
#, fuzzy
msgid "The Guix package to use."
msgstr "要使用的Guix包。"

#. type: item
#: guix-git/doc/guix.texi:20361 guix-git/doc/guix.texi:39192
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{80})"
msgstr "@code{port}(默认:@code{80})"

#. type: table
#: guix-git/doc/guix.texi:20363
#, fuzzy
msgid "The TCP port to listen for connections."
msgstr "用于监听连接的TCP端口。"

#. type: item
#: guix-git/doc/guix.texi:20364 guix-git/doc/guix.texi:36048
#: guix-git/doc/guix.texi:40594
#, fuzzy, no-wrap
msgid "@code{host} (default: @code{\"localhost\"})"
msgstr "@code{host}(默认:@code{\"localhost\"})"

#. type: table
#: guix-git/doc/guix.texi:20367
#, fuzzy
msgid "The host (and thus, network interface) to listen to.  Use @code{\"0.0.0.0\"} to listen on all the network interfaces."
msgstr "要监听的主机(因此也是网络接口)。使用@code{\"0.0.0.0\"}来监听所有网络接口。"

#. type: item
#: guix-git/doc/guix.texi:20368
#, fuzzy, no-wrap
msgid "@code{advertise?} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20371
#, fuzzy
msgid "When true, advertise the service on the local network @i{via} the DNS-SD protocol, using Avahi."
msgstr "当为真时,通过DNS-SD协议在本地网络上宣传该服务,使用Avahi。"

#. type: table
#: guix-git/doc/guix.texi:20375
#, fuzzy
msgid "This allows neighboring Guix devices with discovery on (see @code{guix-configuration} above) to discover this @command{guix publish} instance and to automatically download substitutes from it."
msgstr "这允许邻近的Guix设备(开启发现功能,见上面的@code{guix-configuration})发现此@command{guix publish}实例并自动从中下载替代品。"

#. type: item
#: guix-git/doc/guix.texi:20376
#, fuzzy, no-wrap
msgid "@code{compression} (default: @code{'((\"gzip\" 3) (\"zstd\" 3))})"
msgstr "@code{compression-level}(默认值:@code{3})"

#. type: table
#: guix-git/doc/guix.texi:20380
#, fuzzy
msgid "This is a list of compression method/level tuple used when compressing substitutes.  For example, to compress all substitutes with @emph{both} lzip at level 7 and gzip at level 9, write:"
msgstr "这是在压缩替代品时使用的压缩方法/级别元组的列表。例如,要使用@emph{两者} lzip(级别7)和gzip(级别9)压缩所有替代品,请写:"

#. type: lisp
#: guix-git/doc/guix.texi:20383
#, fuzzy, no-wrap
msgid "'((\"lzip\" 7) (\"gzip\" 9))\n"
msgstr "'((\"lzip\" 7) (\"gzip\" 9))\n"

#. type: table
#: guix-git/doc/guix.texi:20389
#, fuzzy
msgid "Level 9 achieves the best compression ratio at the expense of increased CPU usage, whereas level 1 achieves fast compression.  @xref{Invoking guix publish}, for more information on the available compression methods and the tradeoffs involved."
msgstr "级别9在增加CPU使用的情况下实现最佳压缩比,而级别1则实现快速压缩。有关可用压缩方法及其权衡的更多信息,请参见@xref{调用guix publish}。"

#. type: table
#: guix-git/doc/guix.texi:20391
#, fuzzy
msgid "An empty list disables compression altogether."
msgstr "空列表会完全禁用压缩。"

#. type: item
#: guix-git/doc/guix.texi:20392
#, fuzzy, no-wrap
msgid "@code{nar-path} (default: @code{\"nar\"})"
msgstr "@code{nar-path}(默认:@code{\"nar\"})"

#. type: table
#: guix-git/doc/guix.texi:20395
#, fuzzy
msgid "The URL path at which ``nars'' can be fetched.  @xref{Invoking guix publish, @option{--nar-path}}, for details."
msgstr "可以获取“nars”的URL路径。有关详细信息,请参见@xref{调用guix publish, @option{--nar-path}}。"

#. type: item
#: guix-git/doc/guix.texi:20396
#, fuzzy, no-wrap
msgid "@code{cache} (default: @code{#f})"
msgstr "@code{cache}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20402
#, fuzzy
msgid "When it is @code{#f}, disable caching and instead generate archives on demand.  Otherwise, this should be the name of a directory---e.g., @code{\"/var/cache/guix/publish\"}---where @command{guix publish} caches archives and meta-data ready to be sent.  @xref{Invoking guix publish, @option{--cache}}, for more information on the tradeoffs involved."
msgstr "当它是@code{#f}时,禁用缓存,而是按需生成档案。否则,这应该是一个目录的名称——例如,@code{\"/var/cache/guix/publish\"}——在该目录中,@command{guix publish}缓存准备发送的档案和元数据。有关涉及的权衡的更多信息,请参见@xref{调用guix publish, @option{--cache}}。"

#. type: item
#: guix-git/doc/guix.texi:20403 guix-git/doc/guix.texi:41348
#, fuzzy, no-wrap
msgid "@code{workers} (default: @code{#f})"
msgstr "@code{workers}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20407
#, fuzzy
msgid "When it is an integer, this is the number of worker threads used for caching; when @code{#f}, the number of processors is used.  @xref{Invoking guix publish, @option{--workers}}, for more information."
msgstr "当它是一个整数时,这是用于缓存的工作线程数;当@code{#f}时,使用处理器的数量。有关更多信息,请参见@xref{调用guix publish, @option{--workers}}。"

#. type: item
#: guix-git/doc/guix.texi:20408
#, fuzzy, no-wrap
msgid "@code{cache-bypass-threshold} (default: 10 MiB)"
msgstr "@code{cache-bypass-threshold}(默认:10 MiB)"

#. type: table
#: guix-git/doc/guix.texi:20413
#, fuzzy
msgid "When @code{cache} is true, this is the maximum size in bytes of a store item for which @command{guix publish} may bypass its cache in case of a cache miss.  @xref{Invoking guix publish, @option{--cache-bypass-threshold}}, for more information."
msgstr "当@code{cache}为真时,这是@command{guix publish}在缓存未命中时可以绕过其缓存的存储项的最大字节大小。有关更多信息,请参见@xref{调用guix publish, @option{--cache-bypass-threshold}}。"

#. type: item
#: guix-git/doc/guix.texi:20414 guix-git/doc/guix.texi:41293
#: guix-git/doc/guix.texi:41365
#, fuzzy, no-wrap
msgid "@code{ttl} (default: @code{#f})"
msgstr "@code{ttl}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20418
#, fuzzy
msgid "When it is an integer, this denotes the @dfn{time-to-live} in seconds of the published archives.  @xref{Invoking guix publish, @option{--ttl}}, for more information."
msgstr "当它是一个整数时,这表示发布档案的@dfn{生存时间}(以秒为单位)。有关更多信息,请参阅@xref{调用 guix publish, @option{--ttl}}。"

#. type: item
#: guix-git/doc/guix.texi:20419 guix-git/doc/guix.texi:41309
#, fuzzy, no-wrap
msgid "@code{negative-ttl} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20423
#, fuzzy
msgid "When it is an integer, this denotes the @dfn{time-to-live} in seconds for the negative lookups.  @xref{Invoking guix publish, @option{--negative-ttl}}, for more information."
msgstr "当它是一个整数时,这表示负查找的@dfn{生存时间}(以秒为单位)。有关更多信息,请参阅@xref{调用 guix publish, @option{--negative-ttl}}。"

#. type: defvar
#: guix-git/doc/guix.texi:20426
#, fuzzy, no-wrap
msgid "rngd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:20429
#, fuzzy
msgid "Type of the service that runs rng-tools rngd, whose value is an @code{<rngd-configuration>} object."
msgstr "运行rng-tools rngd的服务类型,其值是一个@code{<rngd-configuration>}对象。"

#. type: deftp
#: guix-git/doc/guix.texi:20431
#, fuzzy, no-wrap
msgid "{Data Type} rngd-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:20433
#, fuzzy
msgid "Data type representing the configuration of rngd."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:20435
#, fuzzy, no-wrap
msgid "@code{rng-tools} (default: @code{rng-tools}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:20437
#, fuzzy
msgid "Package object of the rng-tools rngd."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:20438
#, fuzzy, no-wrap
msgid "@code{device} (default: @var{\"/dev/hwrng\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:20441
#, fuzzy
msgid "Path of the device to add to the kernel's entropy pool.  The service will fail if @var{device} does not exist."
msgstr "要添加到内核熵池的设备路径。如果@var{device}不存在,服务将失败。"

#. type: cindex
#: guix-git/doc/guix.texi:20445
#, fuzzy, no-wrap
msgid "session limits"
msgstr "会话限制"

#. type: cindex
#: guix-git/doc/guix.texi:20446
#, fuzzy, no-wrap
msgid "ulimit"
msgstr "ulimit"

#. type: cindex
#: guix-git/doc/guix.texi:20447
#, fuzzy, no-wrap
msgid "priority"
msgstr "优先级"

#. type: cindex
#: guix-git/doc/guix.texi:20448
#, fuzzy, no-wrap
msgid "realtime"
msgstr "实时"

#. type: cindex
#: guix-git/doc/guix.texi:20449
#, fuzzy, no-wrap
msgid "jackd"
msgstr "jackd"

#. type: cindex
#: guix-git/doc/guix.texi:20450
#, fuzzy, no-wrap
msgid "nofile"
msgstr "nofile"

#. type: cindex
#: guix-git/doc/guix.texi:20451
#, fuzzy, no-wrap
msgid "open file descriptors"
msgstr "简介和描述"

#. type: defvar
#: guix-git/doc/guix.texi:20453
#, fuzzy, no-wrap
msgid "pam-limits-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:20460
#, fuzzy
msgid "Type of the service that installs a configuration file for the @uref{http://linux-pam.org/Linux-PAM-html/sag-pam_limits.html, @code{pam_limits} module}.  The value for this service type is a list of @code{pam-limits-entry} values, which can be used to specify @code{ulimit} limits and @code{nice} priority limits to user sessions.  By default, the value is the empty list."
msgstr "安装@uref{http://linux-pam.org/Linux-PAM-html/sag-pam_limits.html, @code{pam_limits}模块}配置文件的服务类型。该服务类型的值是@code{pam-limits-entry}值的列表,可用于指定用户会话的@code{ulimit}限制和@code{nice}优先级限制。默认值是空列表。"

#. type: defvar
#: guix-git/doc/guix.texi:20463
#, fuzzy
msgid "The following limits definition sets two hard and soft limits for all login sessions of users in the @code{realtime} group:"
msgstr "以下限制定义为@code{realtime}组中的所有登录会话设置两个硬限制和软限制:"

#. type: lisp
#: guix-git/doc/guix.texi:20469
#, fuzzy, no-wrap
msgid ""
"(service pam-limits-service-type\n"
"         (list\n"
"          (pam-limits-entry \"@@realtime\" 'both 'rtprio 99)\n"
"          (pam-limits-entry \"@@realtime\" 'both 'memlock 'unlimited)))\n"
msgstr ""
"(服务 pam-limits-service-type\n"
"         (列表\n"
"          (pam-limits-entry \"@@realtime\" 'both 'rtprio 99)\n"
"          (pam-limits-entry \"@@realtime\" 'both 'memlock 'unlimited)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:20475
#, fuzzy
msgid "The first entry increases the maximum realtime priority for non-privileged processes; the second entry lifts any restriction of the maximum address space that can be locked in memory.  These settings are commonly used for real-time audio systems."
msgstr "第一个条目增加了非特权进程的最大实时优先级;第二个条目解除对可以锁定在内存中的最大地址空间的任何限制。这些设置通常用于实时音频系统。"

#. type: defvar
#: guix-git/doc/guix.texi:20478
#, fuzzy
msgid "Another useful example is raising the maximum number of open file descriptors that can be used:"
msgstr "另一个有用的示例是提高可用的最大打开文件描述符数量:"

#. type: lisp
#: guix-git/doc/guix.texi:20483
#, fuzzy, no-wrap
msgid ""
"(service pam-limits-service-type\n"
"         (list\n"
"          (pam-limits-entry \"*\" 'both 'nofile 100000)))\n"
msgstr ""
"(service home-unclutter-service-type\n"
"         (home-unclutter-configuration\n"
"          (idle-timeout 2)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:20491
#, fuzzy
msgid "In the above example, the asterisk means the limit should apply to any user.  It is important to ensure the chosen value doesn't exceed the maximum system value visible in the @file{/proc/sys/fs/file-max} file, else the users would be prevented from login in.  For more information about the Pluggable Authentication Module (PAM) limits, refer to the @samp{pam_limits} man page from the @code{linux-pam} package."
msgstr "在上述示例中,星号表示限制应适用于任何用户。确保所选值不超过在@file{/proc/sys/fs/file-max}文件中可见的最大系统值是很重要的,否则用户将无法登录。有关可插拔身份验证模块(PAM)限制的更多信息,请参阅@code{linux-pam}包中的@samp{pam_limits}手册页。"

#. type: defvar
#: guix-git/doc/guix.texi:20493
#, fuzzy, no-wrap
msgid "greetd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:20497
#, fuzzy
msgid "@uref{https://git.sr.ht/~kennylevinsen/greetd, @code{greetd}} is a minimal and flexible login manager daemon, that makes no assumptions about what you want to launch."
msgstr "@uref{https://git.sr.ht/~kennylevinsen/greetd, @code{greetd}} 是一个最小且灵活的登录管理器守护进程,不对您想要启动的内容做出任何假设。"

#. type: defvar
#: guix-git/doc/guix.texi:20501
#, fuzzy
msgid "If you can run it from your shell in a TTY, greetd can start it. If it can be taught to speak a simple JSON-based IPC protocol, then it can be a geeter."
msgstr "如果您可以在 TTY 中从 shell 运行它,greetd 就可以启动它。如果它可以被教会说一种简单的基于 JSON 的 IPC 协议,那么它就可以成为一个 greeter。"

#. type: defvar
#: guix-git/doc/guix.texi:20504
#, fuzzy
msgid "@code{greetd-service-type} provides necessary infrastructure for logging in users, including:"
msgstr "@code{greetd-service-type} 提供了登录用户所需的基础设施,包括:"

#. type: itemize
#: guix-git/doc/guix.texi:20508
#, fuzzy
msgid "@code{greetd} PAM service"
msgstr "@code{greetd} PAM 服务"

#. type: itemize
#: guix-git/doc/guix.texi:20511
#, fuzzy
msgid "Special variation of @code{pam-mount} to mount @code{XDG_RUNTIME_DIR}"
msgstr "@code{pam-mount} 的特殊变体,用于挂载 @code{XDG_RUNTIME_DIR}"

#. type: defvar
#: guix-git/doc/guix.texi:20515
#, fuzzy
msgid "Here is an example of switching from @code{mingetty-service-type} to @code{greetd-service-type}, and how different terminals could be:"
msgstr "以下是从 @code{mingetty-service-type} 切换到 @code{greetd-service-type} 的示例,以及不同终端可能的样子:"

#. type: lisp
#: guix-git/doc/guix.texi:20561
#, fuzzy, no-wrap
msgid ""
"  (append\n"
"   (modify-services %base-services\n"
"     ;; greetd-service-type provides \"greetd\" PAM service\n"
"     (delete login-service-type)\n"
"     ;; and can be used in place of mingetty-service-type\n"
"     (delete mingetty-service-type))\n"
"   (list\n"
"    (service greetd-service-type\n"
"             (greetd-configuration\n"
"              (terminals\n"
"               (list\n"
"                ;; we can make any terminal active by default\n"
"                (greetd-terminal-configuration (terminal-vt \"1\") (terminal-switch #t))\n"
"                ;; we can make environment without XDG_RUNTIME_DIR set\n"
"                ;; even provide our own environment variables\n"
"                (greetd-terminal-configuration\n"
"                 (terminal-vt \"2\")\n"
"                 (default-session-command\n"
"                   (greetd-agreety-session\n"
"                    (command\n"
"                     (greetd-user-session\n"
"                      (extra-env '((\"MY_VAR\" . \"1\")))\n"
"                      (xdg-env? #f))))))\n"
"                ;; we can use different shell instead of default bash\n"
"                (greetd-terminal-configuration\n"
"                 (terminal-vt \"3\")\n"
"                 (default-session-command\n"
"                   (greetd-agreety-session\n"
"                    (command\n"
"                     (greetd-user-session\n"
"                      (command (file-append zsh \"/bin/zsh\"))\n"
"                      (command-args '(\"-l\"))\n"
"                      (extra-env '((\"MY_VAR\" . \"1\")))\n"
"                      (xdg-env? #f))))))\n"
"                ;; we can use any other executable command as greeter\n"
"                (greetd-terminal-configuration\n"
"                 (terminal-vt \"4\")\n"
"                 (default-session-command (program-file \"my-noop-greeter\" #~(exit))))\n"
"                (greetd-terminal-configuration (terminal-vt \"5\"))\n"
"                (greetd-terminal-configuration (terminal-vt \"6\"))))))\n"
"    ;; mingetty-service-type can be used in parallel\n"
"    ;; if needed to do so, do not (delete login-service-type)\n"
"    ;; as illustrated above\n"
"    #| (service mingetty-service-type (mingetty-configuration (tty \"tty8\"))) |#))\n"
msgstr ""
"  (append\n"
"   (modify-services %base-services\n"
"     ;; greetd-service-type 提供 \"greetd\" PAM 服务\n"
"     (delete login-service-type)\n"
"     ;; 并且可以替代 mingetty-service-type\n"
"     (delete mingetty-service-type))\n"
"   (list\n"
"    (service greetd-service-type\n"
"             (greetd-configuration\n"
"              (terminals\n"
"               (list\n"
"                ;; 我们可以默认使任何终端处于活动状态\n"
"                (greetd-terminal-configuration (terminal-vt \"1\") (terminal-switch #t))\n"
"                ;; 我们可以在没有设置 XDG_RUNTIME_DIR 的环境中\n"
"                ;; 甚至提供我们自己的环境变量\n"
"                (greetd-terminal-configuration\n"
"                 (terminal-vt \"2\")\n"
"                 (default-session-command\n"
"                   (greetd-agreety-session\n"
"                    (extra-env '((\"MY_VAR\" . \"1\")))\n"
"                    (xdg-env? #f))))\n"
"                ;; 我们可以使用不同的 shell 而不是默认的 bash\n"
"                (greetd-terminal-configuration\n"
"                 (terminal-vt \"3\")\n"
"                 (default-session-command\n"
"                   (greetd-agreety-session (command (file-append zsh \"/bin/zsh\")))))\n"
"                ;; 我们可以使用任何其他可执行命令作为 greeter\n"
"                (greetd-terminal-configuration\n"
"                 (terminal-vt \"4\")\n"
"                 (default-session-command (program-file \"my-noop-greeter\" #~(exit))))\n"
"                (greetd-terminal-configuration (terminal-vt \"5\"))\n"
"                (greetd-terminal-configuration (terminal-vt \"6\"))))))\n"
"    ;; mingetty-service-type 可以并行使用\n"
"    ;; 如果需要这样做,请不要 (delete login-service-type)\n"
"    ;; 如上所示\n"
"    #| (service mingetty-service-type (mingetty-configuration (tty \"tty8\"))) |#))\n"

#. type: deftp
#: guix-git/doc/guix.texi:20564
#, fuzzy, no-wrap
msgid "{Data Type} greetd-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:20566
#, fuzzy
msgid "Configuration record for the @code{greetd-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:20575
#, fuzzy, no-wrap
msgid "@code{terminals} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20578
#, fuzzy
msgid "List of @code{greetd-terminal-configuration} per terminal for which @code{greetd} should be started."
msgstr "每个终端的 @code{greetd-terminal-configuration} 列表,@code{greetd} 应该在这些终端上启动。"

#. type: item
#: guix-git/doc/guix.texi:20579
#, fuzzy, no-wrap
msgid "@code{greeter-supplementary-groups} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20581
#, fuzzy
msgid "List of groups which should be added to @code{greeter} user. For instance:"
msgstr "应该添加到 @code{greeter} 用户的组列表。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:20583
#, fuzzy, no-wrap
msgid "(greeter-supplementary-groups '(\"seat\" \"video\"))\n"
msgstr "(greeter-supplementary-groups '(\"seat\" \"video\"))\n"

#. type: table
#: guix-git/doc/guix.texi:20585
#, fuzzy
msgid "Note that this example will fail if @code{seat} group does not exist."
msgstr "请注意,如果 @code{seat} 组不存在,此示例将失败。"

#. type: deftp
#: guix-git/doc/guix.texi:20588
#, fuzzy, no-wrap
msgid "{Data Type} greetd-terminal-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:20590
#, fuzzy
msgid "Configuration record for per terminal greetd daemon service."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:20592
#, fuzzy, no-wrap
msgid "@code{greetd} (default: @code{greetd})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:20594
#, fuzzy
msgid "The greetd package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:20595
#, fuzzy, no-wrap
msgid "@code{extra-shepherd-requirement} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20600
#, fuzzy
msgid "This option can be used to provide a list of @emph{additional} symbols naming Shepherd services that this service will depend on, such as @code{'seatd} or @code{'elogind} when the terminal session is a graphical greeter."
msgstr "此选项可用于提供命名 Shepherd 服务的符号列表,该服务将依赖于这些服务,例如,如果您需要对加密 WiFi 或以太网网络进行身份验证访问,可以使用 @code{'wpa-supplicant} 或 @code{'iwd}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:20601
#, fuzzy, no-wrap
msgid "config-file-name"
msgstr "通道"

#. type: table
#: guix-git/doc/guix.texi:20604
#, fuzzy
msgid "Configuration file name to use for greetd daemon. Generally, autogenerated derivation based on @code{terminal-vt} value."
msgstr "用于 greetd 守护进程的配置文件名。通常是基于 @code{terminal-vt} 值的自动生成派生。"

#. type: code{#1}
#: guix-git/doc/guix.texi:20605
#, fuzzy, no-wrap
msgid "log-file-name"
msgstr "通道"

#. type: table
#: guix-git/doc/guix.texi:20608
#, fuzzy
msgid "Log file name to use for greetd daemon. Generally, autogenerated name based on @code{terminal-vt} value."
msgstr "用于 greetd 守护进程的日志文件名。通常是基于 @code{terminal-vt} 值的自动生成名称。"

#. type: item
#: guix-git/doc/guix.texi:20609
#, fuzzy, no-wrap
msgid "@code{terminal-vt} (default: @samp{\"7\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:20612
#, fuzzy
msgid "The VT to run on. Use of a specific VT with appropriate conflict avoidance is recommended."
msgstr "要运行的 VT。建议使用特定的 VT,并适当避免冲突。"

#. type: item
#: guix-git/doc/guix.texi:20613
#, fuzzy, no-wrap
msgid "@code{terminal-switch} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20615
#, fuzzy
msgid "Make this terminal active on start of @code{greetd}."
msgstr "在 @code{greetd} 启动时使此终端处于活动状态。"

#. type: item
#: guix-git/doc/guix.texi:20616
#, fuzzy, no-wrap
msgid "@code{source-profile?} (default: @code{#t})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:20619
#, fuzzy
msgid "Whether to source @file{/etc/profile} and @file{~/.profile}, when they exist."
msgstr "是否在存在时加载 @file{/etc/profile} 和 @file{~/.profile}。"

#. type: item
#: guix-git/doc/guix.texi:20620
#, fuzzy, no-wrap
msgid "@code{default-session-user} (default: @samp{\"greeter\"})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20622
#, fuzzy
msgid "The user to use for running the greeter."
msgstr "mcron服务。"

#. type: item
#: guix-git/doc/guix.texi:20623
#, fuzzy, no-wrap
msgid "@code{default-session-command} (default: @code{(greetd-agreety-session)})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:20627
#, fuzzy
msgid "Can be either @code{greetd-agreety-session}, @code{greetd-wlgreet-sway-session}, @code{greetd-gtkgreet-sway-session} or a file-like object to use as greeter."
msgstr "可以是 @code{greetd-agreety-session} 配置的实例,或用作 greeter 的 @code{gexp->script} 类对象。"

#. type: deftp
#: guix-git/doc/guix.texi:20631
#, fuzzy, no-wrap
msgid "{Data Type} greetd-user-session"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:20639
msgid "Configuration record for the user session command.  Greeters require the user command to be specified in some or another way.  @code{greetd-user-session} provides a common command for that.  Users should prefer POSIX shell commands like @command{bash}, which can start an actual user terminal shell, window manager or desktop environment with their own mechanism, for example via @file{~/.bashrc} in the case of Bash."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:20641
#, fuzzy, no-wrap
msgid "@code{command} (default: @code{(file-append bash \"/bin/bash\")})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20643
msgid "Command to be started by @command{agreety} on successful login."
msgstr "成功登录时由 @command{agreety} 启动的命令。"

#. type: item
#: guix-git/doc/guix.texi:20644
#, fuzzy, no-wrap
msgid "@code{command-args} (default: @code{'(\"-l\")})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20646
#, fuzzy
msgid "Command arguments to pass to command."
msgstr "传递给命令的命令参数。"

#. type: item
#: guix-git/doc/guix.texi:20647
#, fuzzy, no-wrap
msgid "@code{extra-env} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20649
#, fuzzy
msgid "Extra environment variables to set on login."
msgstr "构建环境"

#. type: item
#: guix-git/doc/guix.texi:20650
#, fuzzy, no-wrap
msgid "@code{xdg-session-type} (default: @code{\"tty\"})"
msgstr "@code{type}(默认值:@code{\"A\"})"

#. type: table
#: guix-git/doc/guix.texi:20654
msgid "Specify the value of @code{XDG_SESSION_TYPE}.  The user environment may adapt depending on its value (normally by using @file{.bashrc} or similar)."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:20655
#, fuzzy, no-wrap
msgid "@code{xdg-env?} (default: @code{#t})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20659
#, fuzzy
msgid "If true @code{XDG_RUNTIME_DIR} and @code{XDG_SESSION_TYPE} will be set before starting command.  One should note that, @code{extra-env} variables are set right after mentioned variables, so that they can be overridden."
msgstr "如果为真,@code{XDG_RUNTIME_DIR} 和 @code{XDG_SESSION_TYPE} 将在启动命令之前设置。需要注意的是,@code{extra-env} 变量在提到的变量之后立即设置,以便可以被覆盖。"

#. type: deftp
#: guix-git/doc/guix.texi:20663
#, fuzzy, no-wrap
msgid "{Data Type} greetd-agreety-session"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:20665
#, fuzzy
msgid "Configuration record for the agreety greetd greeter."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:20667
#, fuzzy, no-wrap
msgid "@code{agreety} (default: @code{greetd})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:20669
#, fuzzy
msgid "The package providing the @command{agreety} command."
msgstr "软件包管理命令。"

#. type: item
#: guix-git/doc/guix.texi:20670 guix-git/doc/guix.texi:20727
#: guix-git/doc/guix.texi:20790
#, fuzzy, no-wrap
msgid "@code{command} (default: @code{(greetd-user-session)})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:20673
#, fuzzy
msgid "Command to be started by @command{agreety} on successful login, an instance of @code{greetd-user-session}."
msgstr "成功登录时由 @command{/bin/agreety} 启动的命令。"

#. type: deftp
#: guix-git/doc/guix.texi:20677
#, fuzzy, no-wrap
msgid "{Data Type} greetd-wlgreet-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:20679
#, fuzzy
msgid "Generic configuration record for the wlgreet greetd greeter."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:20681
#, fuzzy, no-wrap
msgid "@code{output-mode} (default: @code{\"all\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:20683
#, fuzzy
msgid "Option to use for @code{outputMode} in the TOML configuration file."
msgstr "在 TOML 配置文件中使用的 @code{outputMode} 选项。"

#. type: item
#: guix-git/doc/guix.texi:20684
#, fuzzy, no-wrap
msgid "@code{scale} (default: @code{1})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20686
#, fuzzy
msgid "Option to use for @code{scale} in the TOML configuration file."
msgstr "在 TOML 配置文件中使用的 @code{scale} 选项。"

#. type: item
#: guix-git/doc/guix.texi:20687
#, fuzzy, no-wrap
msgid "@code{background} (default: @code{'(0 0 0 0.9)})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:20689
#, fuzzy
msgid "RGBA list to use as the background colour of the login prompt."
msgstr "用于登录提示的背景颜色的 RGBA 列表。"

#. type: item
#: guix-git/doc/guix.texi:20690
#, fuzzy, no-wrap
msgid "@code{headline} (default: @code{'(1 1 1 1)})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20692
#, fuzzy
msgid "RGBA list to use as the headline colour of the UI popup."
msgstr "用于 UI 弹出窗口的标题颜色的 RGBA 列表。"

#. type: item
#: guix-git/doc/guix.texi:20693
#, fuzzy, no-wrap
msgid "@code{prompt} (default: @code{'(1 1 1 1)})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:20695
#, fuzzy
msgid "RGBA list to use as the prompt colour of the UI popup."
msgstr "用于 UI 弹出窗口的提示颜色的 RGBA 列表。"

#. type: item
#: guix-git/doc/guix.texi:20696
#, fuzzy, no-wrap
msgid "@code{prompt-error} (default: @code{'(1 1 1 1)})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20698
#, fuzzy
msgid "RGBA list to use as the error colour of the UI popup."
msgstr "用于 UI 弹出窗口的错误颜色的 RGBA 列表。"

#. type: item
#: guix-git/doc/guix.texi:20699
#, fuzzy, no-wrap
msgid "@code{border} (default: @code{'(1 1 1 1)})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:20701
#, fuzzy
msgid "RGBA list to use as the border colour of the UI popup."
msgstr "用于 UI 弹出窗口的边框颜色的 RGBA 列表。"

#. type: deftp
#: guix-git/doc/guix.texi:20705
#, fuzzy, no-wrap
msgid "{Data Type} greetd-wlgreet-sway-session"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:20707
#, fuzzy
msgid "Sway-specific configuration record for the wlgreet greetd greeter."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:20709
#, fuzzy, no-wrap
msgid "@code{wlgreet-session} (default: @code{(greetd-wlgreet-session)})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:20712
#, fuzzy
msgid "A @code{greetd-wlgreet-session} record for generic wlgreet configuration, on top of the Sway-specific @code{greetd-wlgreet-sway-session}."
msgstr "用于通用 wlgreet 配置的 @code{greetd-wlgreet-session} 记录,基于 Sway 特定的 @code{greetd-wlgreet-sway-session}。"

#. type: item
#: guix-git/doc/guix.texi:20713 guix-git/doc/guix.texi:20777
#, fuzzy, no-wrap
msgid "@code{sway} (default: @code{sway})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20715
#, fuzzy
msgid "The package providing the @command{sway} command."
msgstr "软件包管理命令。"

#. type: item
#: guix-git/doc/guix.texi:20716
#, fuzzy, no-wrap
msgid "@code{sway-configuration} (default: #f)"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20719
#, fuzzy
msgid "File-like object providing an additional Sway configuration file to be prepended to the mandatory part of the configuration."
msgstr "提供额外 Sway 配置文件的类文件对象,该文件将在配置的强制部分之前添加。"

#. type: item
#: guix-git/doc/guix.texi:20720
#, fuzzy, no-wrap
msgid "@code{wlgreet} (default: @code{wlgreet})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:20722
#, fuzzy
msgid "The package providing the @command{wlgreet} command."
msgstr "软件包管理命令。"

#. type: item
#: guix-git/doc/guix.texi:20723
#, fuzzy, no-wrap
msgid "@code{wlgreet-configuration} (default: @code{(greetd-wlgreet-configuration)})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:20726
#, fuzzy
msgid "Configuration of @code{wlgreet} represented by @code{greetd-wlgreet-configuration}."
msgstr "与权限相关变量的配置。这应该是@code{radicale-rights-configuration}。"

#. type: table
#: guix-git/doc/guix.texi:20730
#, fuzzy
msgid "Command to be started by @command{wlgreet} on successful login, an instance of @code{greetd-user-session}."
msgstr "成功登录时由 @command{/bin/wlgreet} 启动的命令。"

#. type: deftp
#: guix-git/doc/guix.texi:20734
#, fuzzy
msgid "Here is an example of a greetd configuration that uses wlgreet and Sway:"
msgstr "这是一个使用 wlgreet 和 Sway 的 greetd 配置示例:"

#. type: lisp
#: guix-git/doc/guix.texi:20750
#, fuzzy, no-wrap
msgid ""
"  (greetd-configuration\n"
"   ;; The graphical greeter requires additional group membership.\n"
"   (greeter-supplementary-groups (list \"video\" \"input\" \"seat\"))\n"
"   (terminals\n"
"    (list (greetd-terminal-configuration\n"
"           ;; Sway requires seatd service.\n"
"           (extra-shepherd-requirement '(seatd))\n"
"           (terminal-vt \"1\")\n"
"           (terminal-switch #t)\n"
"           (default-session-command\n"
"            (greetd-wlgreet-sway-session\n"
"             (sway-configuration\n"
"              ;; Optional extra sway configuration.\n"
"              (local-file \"sway-greetd.conf\"))))))))\n"
msgstr ""
"  (greetd-configuration\n"
"   ;; 我们需要给 greeter 用户这些权限,否则\n"
"   ;; Sway 在启动时会崩溃。\n"
"   (greeter-supplementary-groups (list \"video\" \"input\" \"seat\"))\n"
"   (terminals\n"
"    (list (greetd-terminal-configuration\n"
"           (terminal-vt \"1\")\n"
"           (terminal-switch #t)\n"
"           (default-session-command\n"
"            (greetd-wlgreet-sway-session\n"
"             (sway-configuration\n"
"              (local-file \"sway-greetd.conf\"))))))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:20753
#, fuzzy, no-wrap
msgid "{Data Type} greetd-gtkgreet-sway-session"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:20756
#, fuzzy
msgid "Configuration record for the gtkgreet greetd greeter.  It can be used as follows:"
msgstr "管理操作系统配置。"

#. type: lisp
#: guix-git/doc/guix.texi:20774
#, fuzzy, no-wrap
msgid ""
"  (greetd-configuration\n"
"   ;; The graphical greeter requires additional groups membership.\n"
"   (greeter-supplementary-groups (list \"video\" \"input\" \"seat\"))\n"
"   (terminals\n"
"    (list (greetd-terminal-configuration\n"
"           ;; Sway requires the seatd service.\n"
"           (extra-shepherd-requirement '(seatd))\n"
"           (terminal-vt \"1\")\n"
"           (terminal-switch #t)\n"
"           (default-session-command\n"
"            (greetd-gtkgreet-sway-session\n"
"             (command\n"
"              (greetd-user-session\n"
"               ;; Optionally signal to .bashrc that we want the Wayland\n"
"               ;; compositor.\n"
"               (xdg-session-type \"wayland\")))))))))\n"
msgstr ""
"  (greetd-configuration\n"
"   ;; 我们需要给 greeter 用户这些权限,否则\n"
"   ;; Sway 在启动时会崩溃。\n"
"   (greeter-supplementary-groups (list \"video\" \"input\" \"seat\"))\n"
"   (terminals\n"
"    (list (greetd-terminal-configuration\n"
"           (terminal-vt \"1\")\n"
"           (terminal-switch #t)\n"
"           (default-session-command\n"
"            (greetd-wlgreet-sway-session\n"
"             (sway-configuration\n"
"              (local-file \"sway-greetd.conf\"))))))))\n"

#. type: table
#: guix-git/doc/guix.texi:20779
#, fuzzy
msgid "The package providing the @command{sway} and @command{swaymsg} commands."
msgstr "软件包管理命令。"

#. type: item
#: guix-git/doc/guix.texi:20780
#, fuzzy, no-wrap
msgid "@code{sway-configuration} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20783
msgid "Extra file-like configuration for sway to be included before executing the greeter."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:20784
#, fuzzy, no-wrap
msgid "@code{gtkgreet} (default: @code{gtkgreet})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:20786
#, fuzzy
msgid "The package providing the @command{gtkgreet} command."
msgstr "软件包管理命令。"

#. type: item
#: guix-git/doc/guix.texi:20787
#, fuzzy, no-wrap
msgid "@code{gtkgreet-style} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20789
msgid "Extra file-like CSS stylesheet to customize the GTK look."
msgstr ""

#. type: table
#: guix-git/doc/guix.texi:20793
#, fuzzy
msgid "The command to be started by @command{gtkgreet} on successful login, an instance of @code{greetd-user-session}."
msgstr "成功登录时由 @command{/bin/wlgreet} 启动的命令。"

#. type: cindex
#: guix-git/doc/guix.texi:20800 guix-git/doc/guix.texi:47940
#, fuzzy, no-wrap
msgid "cron"
msgstr "cron"

#. type: cindex
#: guix-git/doc/guix.texi:20801 guix-git/doc/guix.texi:47941
#, fuzzy, no-wrap
msgid "mcron"
msgstr "mcron"

#. type: cindex
#: guix-git/doc/guix.texi:20802 guix-git/doc/guix.texi:47942
#, fuzzy, no-wrap
msgid "scheduling jobs"
msgstr "调度作业"

#. type: Plain text
#: guix-git/doc/guix.texi:20809
#, fuzzy
msgid "The @code{(gnu services mcron)} module provides an interface to GNU@tie{}mcron, a daemon to run jobs at scheduled times (@pxref{Top,,, mcron, GNU@tie{}mcron}).  GNU@tie{}mcron is similar to the traditional Unix @command{cron} daemon; the main difference is that it is implemented in Guile Scheme, which provides a lot of flexibility when specifying the scheduling of jobs and their actions."
msgstr "@code{(gnu services mcron)}模块提供了一个与GNU@tie{}mcron的接口,这是一个在预定时间运行作业的守护进程(@pxref{Top,,, mcron, GNU@tie{}mcron})。GNU@tie{}mcron类似于传统的Unix @command{cron}守护进程;主要区别在于它是用Guile Scheme实现的,这在指定作业的调度及其操作时提供了很大的灵活性。"

#. type: Plain text
#: guix-git/doc/guix.texi:20817
#, fuzzy
msgid "The example below defines an operating system that runs the @command{updatedb} (@pxref{Invoking updatedb,,, find, Finding Files})  and the @command{guix gc} commands (@pxref{Invoking guix gc}) daily, as well as the @command{mkid} command on behalf of an unprivileged user (@pxref{mkid invocation,,, idutils, ID Database Utilities}).  It uses gexps to introduce job definitions that are passed to mcron (@pxref{G-Expressions})."
msgstr "下面的示例定义了一个操作系统,该系统每天运行@command{updatedb}(@pxref{Invoking updatedb,,, find, Finding Files})和@command{guix gc}命令(@pxref{Invoking guix gc}),并代表一个非特权用户运行@command{mkid}命令(@pxref{mkid invocation,,, idutils, ID Database Utilities})。它使用gexps引入作业定义,这些定义被传递给mcron(@pxref{G-Expressions})。"

#. type: lisp
#: guix-git/doc/guix.texi:20821
#, fuzzy, no-wrap
msgid ""
"(use-modules (guix) (gnu) (gnu services mcron))\n"
"(use-package-modules base idutils)\n"
"\n"
msgstr ""
"(use-modules (guix) (gnu) (gnu services mcron))\n"
"(use-package-modules base idutils)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:20830
#, fuzzy, no-wrap
msgid ""
"(define updatedb-job\n"
"  ;; Run 'updatedb' at 3AM every day.  Here we write the\n"
"  ;; job's action as a Scheme procedure.\n"
"  #~(job '(next-hour '(3))\n"
"         (lambda ()\n"
"           (system* (string-append #$findutils \"/bin/updatedb\")\n"
"                    \"--prunepaths=/tmp /var/tmp /gnu/store\"))\n"
"         \"updatedb\"))\n"
"\n"
msgstr ""
"(define updatedb-job\n"
"  ;; 每天凌晨3点运行'updatedb'。在这里我们将\n"
"  ;; 作业的操作写为一个Scheme过程。\n"
"  #~(job '(next-hour '(3))\n"
"         (lambda ()\n"
"           (system* (string-append #$findutils \"/bin/updatedb\")\n"
"                    \"--prunepaths=/tmp /var/tmp /gnu/store\"))\n"
"         \"updatedb\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:20836
#, fuzzy, no-wrap
msgid ""
"(define garbage-collector-job\n"
"  ;; Collect garbage 5 minutes after midnight every day.\n"
"  ;; The job's action is a shell command.\n"
"  #~(job \"5 0 * * *\"            ;Vixie cron syntax\n"
"         \"guix gc -F 1G\"))\n"
"\n"
msgstr ""
"(define garbage-collector-job\n"
"  ;; 每天午夜过5分钟收集垃圾。\n"
"  ;; 作业的操作是一个shell命令。\n"
"  #~(job \"5 0 * * *\"            ;Vixie cron语法\n"
"         \"guix gc -F 1G\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:20843
#, fuzzy, no-wrap
msgid ""
"(define idutils-job\n"
"  ;; Update the index database as user \"charlie\" at 12:15PM\n"
"  ;; and 19:15PM.  This runs from the user's home directory.\n"
"  #~(job '(next-minute-from (next-hour '(12 19)) '(15))\n"
"         (string-append #$idutils \"/bin/mkid src\")\n"
"         #:user \"charlie\"))\n"
"\n"
msgstr ""
"(define idutils-job\n"
"  ;; 在12:15PM和19:15PM以用户\"charlie\"的身份更新索引数据库。\n"
"  ;; 这从用户的主目录运行。\n"
"  #~(job '(next-minute-from (next-hour '(12 19)) '(15))\n"
"         (string-append #$idutils \"/bin/mkid src\")\n"
"         #:user \"charlie\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:20856
#, fuzzy, no-wrap
msgid ""
"  ;; %BASE-SERVICES already includes an instance of\n"
"  ;; 'mcron-service-type', which we extend with additional\n"
"  ;; jobs using 'simple-service'.\n"
"  (services (cons (simple-service 'my-cron-jobs\n"
"                                   mcron-service-type\n"
"                                   (list garbage-collector-job\n"
"                                         updatedb-job\n"
"                                         idutils-job))\n"
"                  %base-services)))\n"
msgstr ""
"  ;; %BASE-SERVICES已经包括了一个\n"
"  ;; 'mcron-service-type'的实例,我们使用'simple-service'扩展它\n"
"  ;; 以添加额外的作业。\n"
"  (services (cons (simple-service 'my-cron-jobs\n"
"                                   mcron-service-type\n"
"                                   (list garbage-collector-job\n"
"                                         updatedb-job\n"
"                                         idutils-job))\n"
"                  %base-services)))\n"

#. type: quotation
#: guix-git/doc/guix.texi:20864
#, fuzzy
msgid "When providing the action of a job specification as a procedure, you should provide an explicit name for the job via the optional 3rd argument as done in the @code{updatedb-job} example above.  Otherwise, the job would appear as ``Lambda function'' in the output of @command{herd schedule mcron}, which is not nearly descriptive enough!"
msgstr "在将工作规范的操作作为过程提供时,您应该通过可选的第三个参数提供工作的明确名称,如上面的@code{updatedb-job}示例所示。否则,工作将在@command{herd schedule mcron}的输出中显示为“Lambda function”,这并不够描述性!"

#. type: quotation
#: guix-git/doc/guix.texi:20870
#, fuzzy
msgid "Avoid calling the Guile procedures @code{execl}, @code{execle} or @code{execlp} inside a job specification, else mcron won't be able to output the completion status of the job."
msgstr "避免在工作规范中调用Guile过程@code{execl}、@code{execle}或@code{execlp},否则mcron将无法输出工作的完成状态。"

#. type: Plain text
#: guix-git/doc/guix.texi:20877
#, fuzzy
msgid "For more complex jobs defined in Scheme where you need control over the top level, for instance to introduce a @code{use-modules} form, you can move your code to a separate program using the @code{program-file} procedure of the @code{(guix gexp)} module (@pxref{G-Expressions}).  The example below illustrates that."
msgstr "对于在Scheme中定义的更复杂的工作,您需要控制顶层,例如引入@code{use-modules}形式,您可以使用@code{(guix gexp)}模块的@code{program-file}过程将代码移动到单独的程序中(@pxref{G-Expressions})。下面的示例说明了这一点。"

#. type: lisp
#: guix-git/doc/guix.texi:20893
#, fuzzy, no-wrap
msgid ""
"(define %battery-alert-job\n"
"  ;; Beep when the battery percentage falls below %MIN-LEVEL.\n"
"  #~(job\n"
"     '(next-minute (range 0 60 1))\n"
"     #$(program-file\n"
"        \"battery-alert.scm\"\n"
"        (with-imported-modules (source-module-closure\n"
"                                '((guix build utils)))\n"
"          #~(begin\n"
"              (use-modules (guix build utils)\n"
"                           (ice-9 popen)\n"
"                           (ice-9 regex)\n"
"                           (ice-9 textual-ports)\n"
"                           (srfi srfi-2))\n"
"\n"
msgstr ""
"(define %battery-alert-job\n"
"  ;; 当电池百分比低于%MIN-LEVEL时发出蜂鸣声。\n"
"  #~(job\n"
"     '(next-minute (range 0 60 1))\n"
"     #$(program-file\n"
"        \"battery-alert.scm\"\n"
"        (with-imported-modules (source-module-closure\n"
"                                '((guix build utils)))\n"
"          #~(begin\n"
"              (use-modules (guix build utils)\n"
"                           (ice-9 popen)\n"
"                           (ice-9 regex)\n"
"                           (ice-9 textual-ports)\n"
"                           (srfi srfi-2))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:20895
#, fuzzy, no-wrap
msgid ""
"              (define %min-level 20)\n"
"\n"
msgstr ""
"              (define %min-level 20)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:20906
#, fuzzy, no-wrap
msgid ""
"              (setenv \"LC_ALL\" \"C\")     ;ensure English output\n"
"              (and-let* ((input-pipe (open-pipe*\n"
"                                      OPEN_READ\n"
"                                      #$(file-append acpi \"/bin/acpi\")))\n"
"                         (output (get-string-all input-pipe))\n"
"                         (m (string-match \"Discharging, ([0-9]+)%\" output))\n"
"                         (level (string->number (match:substring m 1)))\n"
"                         ((< level %min-level)))\n"
"                (format #t \"warning: Battery level is low (~a%)~%\" level)\n"
"                (invoke #$(file-append beep \"/bin/beep\") \"-r5\")))))))\n"
msgstr ""
"              (setenv \"LC_ALL\" \"C\")     ;确保输出为英语\n"
"              (and-let* ((input-pipe (open-pipe*\n"
"                                      OPEN_READ\n"
"                                      #$(file-append acpi \"/bin/acpi\")))\n"
"                         (output (get-string-all input-pipe))\n"
"                         (m (string-match \"Discharging, ([0-9]+)%\" output))\n"
"                         (level (string->number (match:substring m 1)))\n"
"                         ((< level %min-level)))\n"
"                (format #t \"警告:电池电量低(~a%)~%\" level)\n"
"                (invoke #$(file-append beep \"/bin/beep\") \"-r5\")))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:20911
#, fuzzy
msgid "@xref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron}, for more information on mcron job specifications.  Below is the reference of the mcron service."
msgstr "@xref{Guile 语法, mcron 作业规范,, mcron, GNU@tie{}mcron},有关 mcron 作业规范的更多信息。以下是 mcron 服务的参考。"

#. type: Plain text
#: guix-git/doc/guix.texi:20914
#, fuzzy
msgid "On a running system, you can use the @code{schedule} action of the service to visualize the mcron jobs that will be executed next:"
msgstr "在运行的系统上,您可以使用服务的 @code{schedule} 操作来可视化将要执行的 mcron 作业:"

#. type: example
#: guix-git/doc/guix.texi:20917
#, fuzzy, no-wrap
msgid "# herd schedule mcron\n"
msgstr "# herd schedule mcron\n"

#. type: Plain text
#: guix-git/doc/guix.texi:20922
#, fuzzy
msgid "The example above lists the next five tasks that will be executed, but you can also specify the number of tasks to display:"
msgstr "上面的示例列出了将要执行的下五个任务,但您也可以指定要显示的任务数量:"

#. type: example
#: guix-git/doc/guix.texi:20925
#, fuzzy, no-wrap
msgid "# herd schedule mcron 10\n"
msgstr "# herd schedule mcron 10\n"

#. type: defvar
#: guix-git/doc/guix.texi:20927
#, fuzzy, no-wrap
msgid "mcron-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:20930
#, fuzzy
msgid "This is the type of the @code{mcron} service, whose value is an @code{mcron-configuration} object."
msgstr "这是 @code{mcron} 服务的类型,其值是 @code{mcron-configuration} 对象。"

#. type: defvar
#: guix-git/doc/guix.texi:20935 guix-git/doc/guix.texi:47961
#, fuzzy
msgid "This service type can be the target of a service extension that provides additional job specifications (@pxref{Service Composition}).  In other words, it is possible to define services that provide additional mcron jobs to run."
msgstr "此服务类型可以是提供额外作业规范的服务扩展的目标(@pxref{服务组合})。换句话说,可以定义提供额外 mcron 作业以运行的服务。"

#. type: deftp
#: guix-git/doc/guix.texi:20940
#, fuzzy, no-wrap
msgid "{Data Type} mcron-configuration"
msgstr "{数据类型} mcron-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:20942
#, fuzzy
msgid "Available @code{mcron-configuration} fields are:"
msgstr "可用的 @code{mcron-configuration} 字段包括:"

#. type: item
#: guix-git/doc/guix.texi:20944 guix-git/doc/guix.texi:47970
#, fuzzy, no-wrap
msgid "@code{mcron} (default: @code{mcron}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:20946 guix-git/doc/guix.texi:47972
#, fuzzy
msgid "The mcron package to use."
msgstr "要使用的 mcron 包。"

#. type: item
#: guix-git/doc/guix.texi:20947 guix-git/doc/guix.texi:47973
#, fuzzy, no-wrap
msgid "@code{jobs} (default: @code{'()}) (type: list-of-gexps)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:20951 guix-git/doc/guix.texi:47977
#, fuzzy
msgid "This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds to an mcron job specification (@pxref{Syntax, mcron job specifications,, mcron,GNU@tie{}mcron})."
msgstr "这是一个 gexp 列表(@pxref{G-表达式}),其中每个 gexp 对应于一个 mcron 作业规范(@pxref{语法, mcron 作业规范,, mcron,GNU@tie{}mcron})。"

#. type: item
#: guix-git/doc/guix.texi:20952 guix-git/doc/guix.texi:47978
#, fuzzy, no-wrap
msgid "@code{log?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20954 guix-git/doc/guix.texi:47980
#, fuzzy
msgid "Log messages to standard output."
msgstr "将日志消息记录到标准输出。"

#. type: item
#: guix-git/doc/guix.texi:20955
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{\"/var/log/mcron.log\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20957
#, fuzzy
msgid "Log file location."
msgstr "日志轮替"

#. type: item
#: guix-git/doc/guix.texi:20958 guix-git/doc/guix.texi:47981
#, fuzzy, no-wrap
msgid "@code{log-format} (default: @code{\"~1@@*~a ~a: ~a~%\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:20963
#, fuzzy
msgid "@code{(ice-9 format)} format string for log messages.  The default value produces messages like @samp{@var{pid} @var{name}: @var{message}} (@pxref{Invoking mcron, Invoking,, mcron,GNU@tie{}mcron}).  Each message is also prefixed by a timestamp by GNU Shepherd."
msgstr "@code{(ice-9 format)} 日志消息的格式字符串。默认值生成的消息类似于 @samp{@var{pid} @var{name}: @var{message}}(@pxref{调用 mcron, 调用,, mcron,GNU@tie{}mcron})。每条消息还由 GNU Shepherd 以时间戳为前缀。"

#. type: item
#: guix-git/doc/guix.texi:20964
#, fuzzy, no-wrap
msgid "@code{date-format} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:20966
#, fuzzy
msgid "@code{(srfi srfi-19)} format string for date."
msgstr "@code{(srfi srfi-19)} 日期的格式字符串。"

#. type: cindex
#: guix-git/doc/guix.texi:20974
#, fuzzy, no-wrap
msgid "rottlog"
msgstr "rottlog"

#. type: cindex
#: guix-git/doc/guix.texi:20975
#, fuzzy, no-wrap
msgid "log rotation"
msgstr "日志轮换"

#. type: Plain text
#: guix-git/doc/guix.texi:20983
#, fuzzy
msgid "Log files such as those found in @file{/var/log} tend to grow endlessly, so it's a good idea to @dfn{rotate} them once in a while---i.e., archive their contents in separate files, possibly compressed.  The @code{(gnu services admin)} module provides an interface to the log rotation service provided by the Shepherd (@pxref{Log Rotation,,, shepherd, The GNU Shepherd Manual})."
msgstr "如 @file{/var/log} 中的日志文件往往会无限增长,因此定期 @dfn{轮换} 它们是个好主意——即将其内容归档到单独的文件中,可能会压缩。@code{(gnu services admin)} 模块提供了一个接口,用于访问 Shepherd 提供的日志轮换服务(@pxref{日志轮换,,, shepherd, GNU Shepherd 手册})。"

#. type: Plain text
#: guix-git/doc/guix.texi:20992
#, fuzzy
msgid "This log rotation service is made available through @code{log-rotation-service-type}, which takes a @code{log-rotation-configuration} record has its value.  By default, this provides @code{log-rotation}, a Shepherd ``timed service'' that runs periodically---once a week by default.  It automatically knows about the log files produced by Shepherd services and can be taught about external log files.  You can inspect the service and see when it's going to run the usual way:"
msgstr "此日志轮换服务通过 @code{log-rotation-service-type} 提供,该类型的值是 @code{log-rotation-configuration} 记录。默认情况下,这提供了 @code{log-rotation},这是一个 Shepherd “定时服务”,默认每周运行一次。它自动了解由 Shepherd 服务生成的日志文件,并可以学习外部日志文件。您可以以通常的方式检查服务并查看它何时运行:"

#. type: example
#: guix-git/doc/guix.texi:20998
#, fuzzy, no-wrap
msgid ""
"$ sudo herd status log-rotation\n"
"Status of log-rotation:\n"
"  It is running since Mon 09 Dec 2024 03:27:47 PM CET (2 days ago).\n"
"  @dots{}\n"
"\n"
msgstr ""
"$ sudo herd status log-rotation\n"
"日志轮换的状态:\n"
"  自 2024年12月09日 星期一 03:27:47 PM CET(2天前)以来正在运行。\n"
"  @dots{}\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:21003
#, fuzzy, no-wrap
msgid ""
"Upcoming timer alarms:\n"
"  Sun 15 Dec 2024 10:00:00 PM CET (in 4 days)\n"
"  Sun 22 Dec 2024 10:00:00 PM CET (in 11 days)\n"
"  Sun 29 Dec 2024 10:00:00 PM CET (in 18 days)\n"
msgstr ""
"即将到来的定时器警报:\n"
"  2024年12月15日 星期日 10:00:00 PM CET(4天后)\n"
"  2024年12月22日 星期日 10:00:00 PM CET(11天后)\n"
"  2024年12月29日 星期日 10:00:00 PM CET(18天后)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:21008
#, fuzzy
msgid "You can also list files subject to rotation with @command{herd files log-rotation} and trigger rotation manually with @command{herd trigger log-rotation}."
msgstr "您还可以使用 @command{herd files log-rotation} 列出需要轮换的文件,并使用 @command{herd trigger log-rotation} 手动触发轮换。"

#. type: Plain text
#: guix-git/doc/guix.texi:21011
#, fuzzy
msgid "This service is part of @code{%base-services}, and thus enabled by default, with the default settings."
msgstr "此服务是 @code{%base-services} 的一部分,因此默认启用,并使用默认设置。"

#. type: defvar
#: guix-git/doc/guix.texi:21012
#, fuzzy, no-wrap
msgid "log-rotation-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:21015
#, fuzzy
msgid "This is the type of the log rotation service.  Its associated value must be a @code{log-rotation-configuration} record, as discussed below."
msgstr "管理操作系统配置。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:21019
#, fuzzy
msgid "log-rotation-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:21020
#, fuzzy, no-wrap
msgid "{Data Type} log-rotation-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:21022
#, fuzzy
msgid "Available @code{log-rotation-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:21024
#, fuzzy, no-wrap
msgid "@code{provision} (default: @code{(log-rotation)}) (type: list-of-symbols)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:21026
#, fuzzy
msgid "The name(s) of the log rotation Shepherd service."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:21027
#, fuzzy, no-wrap
msgid "@code{requirement} (default: @code{(user-processes)}) (type: list-of-symbols)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:21029
#, fuzzy
msgid "Dependencies of the log rotation Shepherd service."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:21030
#, fuzzy, no-wrap
msgid "@code{calendar-event} (type: gexp)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21034
#, fuzzy
msgid "Gexp containing the @dfn{calendar event} when log rotation occurs.  @xref{Timers,,,shepherd,The GNU Shepherd Manual}, for more information on calendar events."
msgstr "包含日志轮换发生时的 @dfn{日历事件} 的 Gexp。有关日历事件的更多信息,请参见 @xref{Timers,,,shepherd,The GNU Shepherd Manual}。"

#. type: item
#: guix-git/doc/guix.texi:21035
#, fuzzy, no-wrap
msgid "@code{external-log-files} (default: @code{()}) (type: list-of-strings)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21037
#, fuzzy
msgid "List of file names, external log files that should also be rotated."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:21038
#, fuzzy, no-wrap
msgid "@code{compression} (default: @code{zstd}) (type: symbol)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21041
#, fuzzy
msgid "The compression method used for rotated log files, one of @code{'none}, @code{'gzip}, and @code{'zstd}."
msgstr "用于轮换日志文件的压缩方法,选项包括 @code{'none}、@code{'gzip} 和 @code{'zstd}。"

#. type: item
#: guix-git/doc/guix.texi:21042
#, fuzzy, no-wrap
msgid "@code{expiry} (type: gexp-or-integer)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21044
#, fuzzy
msgid "Age in seconds after which a log file is deleted."
msgstr "日志文件被删除的秒数。"

#. type: item
#: guix-git/doc/guix.texi:21045
#, fuzzy, no-wrap
msgid "@code{size-threshold} (type: gexp-or-integer)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21047
#, fuzzy
msgid "Size in bytes below which a log file is @emph{not} rotated."
msgstr "小于此大小(字节)的日志文件 @emph{不会} 被轮换。"

#. type: subheading
#: guix-git/doc/guix.texi:21055
#, fuzzy, no-wrap
msgid "Rottlog"
msgstr "Rottlog"

#. type: Plain text
#: guix-git/doc/guix.texi:21060
#, fuzzy
msgid "An alternative log rotation service relying on GNU@tie{}Rot[t]log, a log rotation tool (@pxref{Top,,, rottlog, GNU Rot[t]log Manual}), is also provided."
msgstr "还提供了一种依赖于 GNU@tie{}Rot[t]log 的替代日志轮换服务,这是一个日志轮换工具(@pxref{Top,,, rottlog, GNU Rot[t]log Manual})。"

#. type: quotation
#: guix-git/doc/guix.texi:21066
#, fuzzy
msgid "The Rottlog service presented here is deprecated in favor of @code{log-rotation-service-type} (see above).  The @code{rottlog-service-type} variable and related tools will be removed after 2025-06-15."
msgstr "这里介绍的 Rottlog 服务已被 @code{log-rotation-service-type} 取代(见上文)。 @code{rottlog-service-type} 变量及相关工具将在 2025年06月15日 后被移除。"

#. type: Plain text
#: guix-git/doc/guix.texi:21071
#, fuzzy
msgid "The example below shows how to extend it with an additional @dfn{rotation}, should you need to do that (usually, services that produce log files already take care of that):"
msgstr "下面的示例展示了如何扩展它以添加额外的 @dfn{轮换},如果您需要这样做(通常,生成日志文件的服务已经处理了这个问题):"

#. type: lisp
#: guix-git/doc/guix.texi:21075
#, fuzzy, no-wrap
msgid ""
"(use-modules (guix) (gnu))\n"
"(use-service-modules admin)\n"
"\n"
msgstr ""
"(use-modules (guix) (gnu))\n"
"(use-service-modules admin)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:21079
#, fuzzy, no-wrap
msgid ""
"(define my-log-files\n"
"  ;; Log files that I want to rotate.\n"
"  '(\"/var/log/something.log\" \"/var/log/another.log\"))\n"
"\n"
msgstr ""
"(define my-log-files\n"
"  ;; 我想要轮换的日志文件。\n"
"  '(\"/var/log/something.log\" \"/var/log/another.log\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:21088
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services (cons (simple-service 'rotate-my-stuff\n"
"                                  rottlog-service-type\n"
"                                  (list (log-rotation\n"
"                                         (frequency 'daily)\n"
"                                         (files my-log-files))))\n"
"                  %base-services)))\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services (cons (simple-service 'rotate-my-stuff\n"
"                                  rottlog-service-type\n"
"                                  (list (log-rotation\n"
"                                         (frequency 'daily)\n"
"                                         (files my-log-files))))\n"
"                  %base-services)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:21090
#, fuzzy, no-wrap
msgid "rottlog-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:21093
#, fuzzy
msgid "This is the type of the Rottlog service, whose value is a @code{rottlog-configuration} object."
msgstr "这是 Rottlog 服务的类型,其值是一个 @code{rottlog-configuration} 对象。"

#. type: defvar
#: guix-git/doc/guix.texi:21096
#, fuzzy
msgid "Other services can extend this one with new @code{log-rotation} objects (see below), thereby augmenting the set of files to be rotated."
msgstr "其他服务可以通过新的 @code{log-rotation} 对象(见下文)扩展此服务,从而增加要旋转的文件集。"

#. type: defvar
#: guix-git/doc/guix.texi:21099
#, fuzzy
msgid "This service type can define mcron jobs (@pxref{Scheduled Job Execution}) to run the rottlog service."
msgstr "此服务类型可以定义 mcron 作业(@pxref{Scheduled Job Execution})以运行 rottlog 服务。"

#. type: deftp
#: guix-git/doc/guix.texi:21101
#, fuzzy, no-wrap
msgid "{Data Type} rottlog-configuration"
msgstr "{数据类型} rottlog-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:21103
#, fuzzy
msgid "Data type representing the configuration of rottlog."
msgstr "表示 rottlog 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:21105
#, fuzzy, no-wrap
msgid "@code{rottlog} (default: @code{rottlog})"
msgstr "@code{rottlog}(默认:@code{rottlog})"

#. type: table
#: guix-git/doc/guix.texi:21107
#, fuzzy
msgid "The Rottlog package to use."
msgstr "要使用的 Rottlog 包。"

#. type: item
#: guix-git/doc/guix.texi:21108
#, fuzzy, no-wrap
msgid "@code{rc-file} (default: @code{(file-append rottlog \"/etc/rc\")})"
msgstr "@code{rc-file}(默认:@code{(file-append rottlog \"/etc/rc\")})"

#. type: table
#: guix-git/doc/guix.texi:21111
#, fuzzy
msgid "The Rottlog configuration file to use (@pxref{Mandatory RC Variables,,, rottlog, GNU Rot[t]log Manual})."
msgstr "要使用的 Rottlog 配置文件(@pxref{Mandatory RC Variables,,, rottlog, GNU Rot[t]log Manual})。"

#. type: item
#: guix-git/doc/guix.texi:21112
#, fuzzy, no-wrap
msgid "@code{rotations} (default: @code{%default-rotations})"
msgstr "@code{rotations}(默认:@code{%default-rotations})"

#. type: table
#: guix-git/doc/guix.texi:21114
#, fuzzy
msgid "A list of @code{log-rotation} objects as defined below."
msgstr "如下面定义的 @code{log-rotation} 对象的列表。"

#. type: code{#1}
#: guix-git/doc/guix.texi:21115
#, fuzzy, no-wrap
msgid "jobs"
msgstr "作业"

#. type: table
#: guix-git/doc/guix.texi:21118
#, fuzzy
msgid "This is a list of gexps where each gexp corresponds to an mcron job specification (@pxref{Scheduled Job Execution})."
msgstr "这是一个 gexp 列表,其中每个 gexp 对应于一个 mcron 作业规范(@pxref{Scheduled Job Execution})。"

#. type: deftp
#: guix-git/doc/guix.texi:21121
#, fuzzy, no-wrap
msgid "{Data Type} log-rotation"
msgstr "{数据类型} log-rotation"

#. type: deftp
#: guix-git/doc/guix.texi:21123
#, fuzzy
msgid "Data type representing the rotation of a group of log files."
msgstr "表示一组日志文件旋转的数据类型。"

#. type: deftp
#: guix-git/doc/guix.texi:21127
#, fuzzy
msgid "Taking an example from the Rottlog manual (@pxref{Period Related File Examples,,, rottlog, GNU Rot[t]log Manual}), a log rotation might be defined like this:"
msgstr "从 Rottlog 手册中举个例子(@pxref{Period Related File Examples,,, rottlog, GNU Rot[t]log Manual}),日志旋转可能定义如下:"

#. type: lisp
#: guix-git/doc/guix.texi:21136
#, fuzzy, no-wrap
msgid ""
"(log-rotation\n"
"  (frequency 'daily)\n"
"  (files '(\"/var/log/apache/*\"))\n"
"  (options '(\"storedir apache-archives\"\n"
"             \"rotate 6\"\n"
"             \"notifempty\"\n"
"             \"nocompress\")))\n"
msgstr ""
"(log-rotation\n"
"  (frequency 'daily)\n"
"  (files '(\"/var/log/apache/*\"))\n"
"  (options '(\"storedir apache-archives\"\n"
"             \"rotate 6\"\n"
"             \"notifempty\"\n"
"             \"nocompress\")))\n"

#. type: deftp
#: guix-git/doc/guix.texi:21139
#, fuzzy
msgid "The list of fields is as follows:"
msgstr "字段列表如下:"

#. type: item
#: guix-git/doc/guix.texi:21141
#, fuzzy, no-wrap
msgid "@code{frequency} (default: @code{'weekly})"
msgstr "@code{frequency}(默认:@code{'weekly})"

#. type: table
#: guix-git/doc/guix.texi:21143
#, fuzzy
msgid "The log rotation frequency, a symbol."
msgstr "日志旋转频率,一个符号。"

#. type: table
#: guix-git/doc/guix.texi:21146
#, fuzzy
msgid "The list of files or file glob patterns to rotate."
msgstr "要旋转的文件或文件通配符模式列表。"

#. type: vindex
#: guix-git/doc/guix.texi:21147
#, fuzzy, no-wrap
msgid "%default-log-rotation-options"
msgstr "%default-log-rotation-options"

#. type: item
#: guix-git/doc/guix.texi:21148
#, fuzzy, no-wrap
msgid "@code{options} (default: @code{%default-log-rotation-options})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:21151
#, fuzzy
msgid "The list of rottlog options for this rotation (@pxref{Configuration parameters,,, rottlog, GNU Rot[t]log Manual})."
msgstr "此旋转的 rottlog 选项列表(@pxref{Configuration parameters,,, rottlog, GNU Rot[t]log Manual})。"

#. type: item
#: guix-git/doc/guix.texi:21152
#, fuzzy, no-wrap
msgid "@code{post-rotate} (default: @code{#f})"
msgstr "@code{post-rotate}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21154
#, fuzzy
msgid "Either @code{#f} or a gexp to execute once the rotation has completed."
msgstr "要么是 @code{#f},要么是旋转完成后要执行的 gexp。"

#. type: defvar
#: guix-git/doc/guix.texi:21157
#, fuzzy, no-wrap
msgid "%default-rotations"
msgstr "%default-rotations"

#. type: defvar
#: guix-git/doc/guix.texi:21160
#, fuzzy
msgid "Specifies weekly rotation of @code{%rotated-files} and of @file{/var/log/guix-daemon.log}."
msgstr "指定 @code{%rotated-files} 和 @file{/var/log/guix-daemon.log} 的每周旋转。"

#. type: defvar
#: guix-git/doc/guix.texi:21162
#, fuzzy, no-wrap
msgid "%rotated-files"
msgstr "%rotated-files"

#. type: defvar
#: guix-git/doc/guix.texi:21166
#, fuzzy
msgid "The list of syslog-controlled files to be rotated.  By default it is: @code{'(\"/var/log/messages\" \"/var/log/secure\" \"/var/log/debug\" \\ \"/var/log/maillog\")}."
msgstr "要旋转的 syslog 控制文件列表。默认情况下为:@code{'(\"/var/log/messages\" \"/var/log/secure\" \"/var/log/debug\" \\ \"/var/log/maillog\")}。"

#. type: Plain text
#: guix-git/doc/guix.texi:21174
#, fuzzy
msgid "Some log files just need to be deleted periodically once they are old, without any other criterion and without any archival step.  This is the case of build logs stored by @command{guix-daemon} under @file{/var/log/guix/drvs} (@pxref{Invoking guix-daemon}).  The @code{log-cleanup} service addresses this use case.  For example, @code{%base-services} (@pxref{Base Services}) includes the following:"
msgstr "某些日志文件只需在过期后定期删除,而不需要其他标准和归档步骤。这是 @command{guix-daemon} 在 @file{/var/log/guix/drvs} 下存储的构建日志的情况(@pxref{Invoking guix-daemon})。@code{log-cleanup} 服务解决了这个用例。例如,@code{%base-services}(@pxref{Base Services})包括以下内容:"

#. type: lisp
#: guix-git/doc/guix.texi:21180
#, fuzzy, no-wrap
msgid ""
";; Periodically delete old build logs.\n"
"(service log-cleanup-service-type\n"
"         (log-cleanup-configuration\n"
"          (directory \"/var/log/guix/drvs\")))\n"
msgstr ""
";; 定期删除旧的构建日志。\n"
"(service log-cleanup-service-type\n"
"         (log-cleanup-configuration\n"
"          (directory \"/var/log/guix/drvs\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:21183
#, fuzzy
msgid "That ensures build logs do not accumulate endlessly."
msgstr "这确保构建日志不会无休止地累积。"

#. type: defvar
#: guix-git/doc/guix.texi:21184
#, fuzzy, no-wrap
msgid "log-cleanup-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:21187
#, fuzzy
msgid "This is the type of the service to delete old logs.  Its value must be a @code{log-cleanup-configuration} record as described below."
msgstr "这是删除旧日志的服务类型。它的值必须是一个如下面所述的@code{log-cleanup-configuration}记录。"

#. type: deftp
#: guix-git/doc/guix.texi:21189
#, fuzzy, no-wrap
msgid "{Data Type} log-cleanup-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:21191
#, fuzzy
msgid "Data type representing the log cleanup configuration"
msgstr "管理操作系统配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:21193
#, no-wrap
msgid "directory"
msgstr "directory"

#. type: table
#: guix-git/doc/guix.texi:21195
#, fuzzy
msgid "Name of the directory containing log files."
msgstr "仓库的纯函数式接口。"

#. type: item
#: guix-git/doc/guix.texi:21196
#, fuzzy, no-wrap
msgid "@code{expiry} (default: @code{(* 6 30 24 3600)})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:21199
#, fuzzy
msgid "Age in seconds after which a file is subject to deletion (six months by default)."
msgstr "文件在经过多少秒后会被删除(默认六个月)。"

#. type: item
#: guix-git/doc/guix.texi:21200
#, fuzzy, no-wrap
msgid "@code{schedule} (default: @code{\"30 12 01,08,15,22 * *\"})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21204
#, fuzzy
msgid "Schedule of the log cleanup job written either as a string in traditional cron syntax or as a gexp representing a Shepherd calendar event (@pxref{Timers,,, shepherd, The GNU Shepherd Manual})."
msgstr "日志清理作业的调度,写成传统的cron语法字符串或作为表示Shepherd日历事件的gexp(@pxref{Timers,,, shepherd, The GNU Shepherd Manual})。"

#. type: cindex
#: guix-git/doc/guix.texi:21207
#, fuzzy, no-wrap
msgid "logging, anonymization"
msgstr "日志记录,匿名化"

#. type: subheading
#: guix-git/doc/guix.texi:21208
#, fuzzy, no-wrap
msgid "Anonip Service"
msgstr "声音服务"

#. type: Plain text
#: guix-git/doc/guix.texi:21213
#, fuzzy
msgid "Anonip is a privacy filter that removes IP address from web server logs.  This service creates a FIFO and filters any written lines with anonip before writing the filtered log to a target file."
msgstr "Anonip是一个隐私过滤器,能够从Web服务器日志中移除IP地址。该服务创建一个FIFO,并在将过滤后的日志写入目标文件之前,使用anonip过滤任何写入的行。"

#. type: Plain text
#: guix-git/doc/guix.texi:21217
#, fuzzy
msgid "The following example sets up the FIFO @file{/var/run/anonip/https.access.log} and writes the filtered log file @file{/var/log/anonip/https.access.log}."
msgstr "以下示例设置FIFO @file{/var/run/anonip/https.access.log}并将过滤后的日志文件写入@file{/var/log/anonip/https.access.log}。"

#. type: lisp
#: guix-git/doc/guix.texi:21223
#, fuzzy, no-wrap
msgid ""
"(service anonip-service-type\n"
"         (anonip-configuration\n"
"           (input  \"/var/run/anonip/https.access.log\")\n"
"           (output \"/var/log/anonip/https.access.log\")))\n"
msgstr ""
"(service anonip-service-type\n"
"         (anonip-configuration\n"
"           (input  \"/var/run/anonip/https.access.log\")\n"
"           (output \"/var/log/anonip/https.access.log\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:21228
#, fuzzy
msgid "Configure your web server to write its logs to the FIFO at @file{/var/run/anonip/https.access.log} and collect the anonymized log file at @file{/var/web-logs/https.access.log}."
msgstr "配置您的Web服务器,将其日志写入FIFO @file{/var/run/anonip/https.access.log},并在@file{/var/web-logs/https.access.log}收集匿名化的日志文件。"

#. type: deftp
#: guix-git/doc/guix.texi:21229
#, fuzzy, no-wrap
msgid "{Data Type} anonip-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:21232
#, fuzzy
msgid "This data type represents the configuration of anonip.  It has the following parameters:"
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:21234
#, fuzzy, no-wrap
msgid "@code{anonip} (default: @code{anonip})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:21236
#, fuzzy
msgid "The anonip package to use."
msgstr "软件包数据类型。"

#. type: code{#1}
#: guix-git/doc/guix.texi:21237
#, fuzzy, no-wrap
msgid "input"
msgstr "输入"

#. type: table
#: guix-git/doc/guix.texi:21240
#, fuzzy
msgid "The file name of the input log file to process.  The service creates a FIFO of this name.  The web server should write its logs to this FIFO."
msgstr "要处理的输入日志文件的文件名。该服务创建一个此名称的FIFO。Web服务器应将其日志写入此FIFO。"

#. type: code{#1}
#: guix-git/doc/guix.texi:21241
#, fuzzy, no-wrap
msgid "output"
msgstr "输出"

#. type: table
#: guix-git/doc/guix.texi:21243
#, fuzzy
msgid "The file name of the processed log file."
msgstr "远程机器的主机名。"

#. type: deftp
#: guix-git/doc/guix.texi:21246
#, fuzzy
msgid "The following optional settings may be provided:"
msgstr "下面这些命令行选项受支持:"

#. type: item
#: guix-git/doc/guix.texi:21248
#, no-wrap
msgid "debug?"
msgstr "debug?"

#. type: table
#: guix-git/doc/guix.texi:21250
#, fuzzy
msgid "Print debug messages when @code{#true}."
msgstr "当@code{#true}时打印调试消息。"

#. type: item
#: guix-git/doc/guix.texi:21251
#, fuzzy, no-wrap
msgid "skip-private?"
msgstr "skip-private?"

#. type: table
#: guix-git/doc/guix.texi:21253
#, fuzzy
msgid "When @code{#true} do not mask addresses in private ranges."
msgstr "当@code{#true}时,不对私有范围内的地址进行掩码处理。"

#. type: item
#: guix-git/doc/guix.texi:21254
#, fuzzy, no-wrap
msgid "column"
msgstr "列"

#. type: table
#: guix-git/doc/guix.texi:21257
#, fuzzy
msgid "A 1-based indexed column number.  Assume IP address is in the specified column (default is 1)."
msgstr "基于1的索引列号。假设IP地址在指定的列中(默认是1)。"

#. type: item
#: guix-git/doc/guix.texi:21258
#, fuzzy, no-wrap
msgid "replacement"
msgstr "替换"

#. type: table
#: guix-git/doc/guix.texi:21260
#, fuzzy
msgid "Replacement string in case address parsing fails, e.g. @code{\"0.0.0.0\"}."
msgstr "如果地址解析失败的替换字符串,例如@code{\"0.0.0.0\"}。"

#. type: item
#: guix-git/doc/guix.texi:21261
#, fuzzy, no-wrap
msgid "ipv4mask"
msgstr "ipv4mask"

#. type: table
#: guix-git/doc/guix.texi:21263
#, fuzzy
msgid "Number of bits to mask in IPv4 addresses."
msgstr "在IPv4地址中要掩码的位数。"

#. type: item
#: guix-git/doc/guix.texi:21264
#, fuzzy, no-wrap
msgid "ipv6mask"
msgstr "ipv6mask"

#. type: table
#: guix-git/doc/guix.texi:21266
#, fuzzy
msgid "Number of bits to mask in IPv6 addresses."
msgstr "在IPv6地址中要掩码的位数。"

#. type: item
#: guix-git/doc/guix.texi:21267
#, fuzzy, no-wrap
msgid "increment"
msgstr "需求"

#. type: table
#: guix-git/doc/guix.texi:21269
msgid "Increment the IP address by the given number.  By default this is zero."
msgstr "通过给定的数字递增 IP 地址。默认情况下,这个值为零。"

#. type: item
#: guix-git/doc/guix.texi:21270
#, fuzzy, no-wrap
msgid "delimiter"
msgstr "分隔符"

#. type: table
#: guix-git/doc/guix.texi:21272
#, fuzzy
msgid "Log delimiter string."
msgstr "日志分隔符字符串。"

#. type: item
#: guix-git/doc/guix.texi:21273
#, fuzzy, no-wrap
msgid "regex"
msgstr "正则表达式"

#. type: table
#: guix-git/doc/guix.texi:21275
#, fuzzy
msgid "Regular expression for detecting IP addresses.  Use this instead of @code{column}."
msgstr "用于检测IP地址的正则表达式。使用此项代替@code{column}。"

#. type: Plain text
#: guix-git/doc/guix.texi:21290
#, fuzzy
msgid "The @code{(gnu services networking)} module provides services to configure network interfaces and set up networking on your machine.  Those services provide different ways for you to set up your machine: by declaring a static network configuration, by running a Dynamic Host Configuration Protocol (DHCP) client, or by running daemons such as NetworkManager and Connman that automate the whole process, automatically adapt to connectivity changes, and provide a high-level user interface."
msgstr "@code{(gnu services networking)}模块提供服务以配置网络接口并在您的机器上设置网络。这些服务提供不同的方式来设置您的机器:通过声明静态网络配置,通过运行动态主机配置协议(DHCP)客户端,或通过运行如NetworkManager和Connman等守护进程来自动化整个过程,自动适应连接变化,并提供高级用户界面。"

#. type: Plain text
#: guix-git/doc/guix.texi:21296
#, fuzzy
msgid "On a laptop, NetworkManager and Connman are by far the most convenient options, which is why the default desktop services include NetworkManager (@pxref{Desktop Services, @code{%desktop-services}}).  For a server, or for a virtual machine or a container, static network configuration or a simple DHCP client are often more appropriate."
msgstr "在笔记本电脑上,NetworkManager 和 Connman 是最方便的选项,这就是为什么默认的桌面服务包括 NetworkManager(@pxref{Desktop Services, @code{%desktop-services}})。对于服务器、虚拟机或容器,静态网络配置或简单的 DHCP 客户端通常更为合适。"

#. type: Plain text
#: guix-git/doc/guix.texi:21299
#, fuzzy
msgid "This section describes the various network setup services available, starting with static network configuration."
msgstr "本节描述了各种可用的网络设置服务,从静态网络配置开始。"

#. type: defvar
#: guix-git/doc/guix.texi:21300
#, fuzzy, no-wrap
msgid "static-networking-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:21305
#, fuzzy
msgid "This is the type for statically-configured network interfaces.  Its value must be a list of @code{static-networking} records.  Each of them declares a set of @dfn{addresses}, @dfn{routes}, and @dfn{links}, as shown below."
msgstr "这是静态配置网络接口的类型。其值必须是一个 @code{static-networking} 记录的列表。每个记录声明了一组 @dfn{地址}、@dfn{路由} 和 @dfn{链接},如下所示。"

#. type: cindex
#: guix-git/doc/guix.texi:21306
#, fuzzy, no-wrap
msgid "network interface controller (NIC)"
msgstr "网络接口控制器 (NIC)"

#. type: cindex
#: guix-git/doc/guix.texi:21307
#, fuzzy, no-wrap
msgid "NIC, networking interface controller"
msgstr "NIC,网络接口控制器"

#. type: defvar
#: guix-git/doc/guix.texi:21310
#, fuzzy
msgid "Here is the simplest configuration, with only one network interface controller (NIC) and only IPv4 connectivity:"
msgstr "这是最简单的配置,仅有一个网络接口控制器 (NIC) 和仅 IPv4 连接:"

#. type: lisp
#: guix-git/doc/guix.texi:21324
#, fuzzy, no-wrap
msgid ""
";; Static networking for one NIC, IPv4-only.\n"
"(service static-networking-service-type\n"
"         (list (static-networking\n"
"                (addresses\n"
"                 (list (network-address\n"
"                        (device \"eno1\")\n"
"                        (value \"10.0.2.15/24\"))))\n"
"                (routes\n"
"                 (list (network-route\n"
"                        (destination \"default\")\n"
"                        (gateway \"10.0.2.2\"))))\n"
"                (name-servers '(\"10.0.2.3\")))))\n"
msgstr ""
";; 针对一个 NIC 的静态网络配置,仅支持 IPv4。\n"
"(service static-networking-service-type\n"
"         (list (static-networking\n"
"                (addresses\n"
"                 (list (network-address\n"
"                        (device \"eno1\")\n"
"                        (value \"10.0.2.15/24\"))))\n"
"                (routes\n"
"                 (list (network-route\n"
"                        (destination \"default\")\n"
"                        (gateway \"10.0.2.2\"))))\n"
"                (name-servers '(\"10.0.2.3\")))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:21333
#, fuzzy
msgid "The snippet above can be added to the @code{services} field of your operating system configuration (@pxref{Using the Configuration System}).  It will configure your machine to have 10.0.2.15 as its IP address, with a 24-bit netmask for the local network---meaning that any 10.0.2.@var{x} address is on the local area network (LAN).  Traffic to addresses outside the local network is routed @i{via} 10.0.2.2.  Host names are resolved by sending domain name system (DNS) queries to 10.0.2.3."
msgstr "上面的代码片段可以添加到您的操作系统配置的 @code{services} 字段中(@pxref{Using the Configuration System})。它将配置您的机器,使其 IP 地址为 10.0.2.15,局域网的子网掩码为 24 位——这意味着任何 10.0.2.@var{x} 地址都在局域网 (LAN) 内。流量到局域网外的地址通过 10.0.2.2 路由。主机名通过向 10.0.2.3 发送域名系统 (DNS) 查询来解析。"

#. type: deftp
#: guix-git/doc/guix.texi:21335
#, fuzzy, no-wrap
msgid "{Data Type} static-networking"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:21337
#, fuzzy
msgid "This is the data type representing a static network configuration."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:21341
#, fuzzy
msgid "As an example, here is how you would declare the configuration of a machine with a single network interface controller (NIC) available as @code{eno1}, and with one IPv4 and one IPv6 address:"
msgstr "作为示例,以下是如何声明一台具有单个网络接口控制器 (NIC) 的机器的配置,该控制器可用作 @code{eno1},并具有一个 IPv4 地址和一个 IPv6 地址:"

#. type: lisp
#: guix-git/doc/guix.texi:21358
#, fuzzy, no-wrap
msgid ""
";; Network configuration for one NIC, IPv4 + IPv6.\n"
"(static-networking\n"
" (addresses (list (network-address\n"
"                   (device \"eno1\")\n"
"                   (value \"10.0.2.15/24\"))\n"
"                  (network-address\n"
"                   (device \"eno1\")\n"
"                   (value \"2001:123:4567:101::1/64\"))))\n"
" (routes (list (network-route\n"
"                (destination \"default\")\n"
"                (gateway \"10.0.2.2\"))\n"
"               (network-route\n"
"                (destination \"default\")\n"
"                (gateway \"2020:321:4567:42::1\"))))\n"
" (name-servers '(\"10.0.2.3\")))\n"
msgstr ""
";; 一个NIC的网络配置,IPv4 + IPv6。\n"
"(static-networking\n"
" (addresses (list (network-address\n"
"                   (device \"eno1\")\n"
"                   (value \"10.0.2.15/24\"))\n"
"                  (network-address\n"
"                   (device \"eno1\")\n"
"                   (value \"2001:123:4567:101::1/64\"))))\n"
" (routes (list (network-route\n"
"                (destination \"default\")\n"
"                (gateway \"10.0.2.2\"))\n"
"               (network-route\n"
"                (destination \"default\")\n"
"                (gateway \"2020:321:4567:42::1\"))))\n"
" (name-servers '(\"10.0.2.3\")))\n"

#. type: deftp
#: guix-git/doc/guix.texi:21364
#, fuzzy
msgid "If you are familiar with the @command{ip} command of the @uref{https://wiki.linuxfoundation.org/networking/iproute2, @code{iproute2} package} found on Linux-based systems, the declaration above is equivalent to typing:"
msgstr "如果您熟悉Linux系统上@command{ip}命令的@uref{https://wiki.linuxfoundation.org/networking/iproute2,@code{iproute2}包},上述声明相当于输入:"

#. type: example
#: guix-git/doc/guix.texi:21370
#, fuzzy, no-wrap
msgid ""
"ip address add 10.0.2.15/24 dev eno1\n"
"ip address add 2001:123:4567:101::1/64 dev eno1\n"
"ip route add default via inet 10.0.2.2\n"
"ip route add default via inet6 2020:321:4567:42::1\n"
msgstr ""
"ip address add 10.0.2.15/24 dev eno1\n"
"ip address add 2001:123:4567:101::1/64 dev eno1\n"
"ip route add default via inet 10.0.2.2\n"
"ip route add default via inet6 2020:321:4567:42::1\n"

#. type: deftp
#: guix-git/doc/guix.texi:21375
#, fuzzy
msgid "Run @command{man 8 ip} for more info.  Venerable GNU/Linux users will certainly know how to do it with @command{ifconfig} and @command{route}, but we'll spare you that."
msgstr "运行@command{man 8 ip}以获取更多信息。资深的GNU/Linux用户肯定知道如何使用@command{ifconfig}和@command{route}来做到这一点,但我们就不多说了。"

#. type: deftp
#: guix-git/doc/guix.texi:21377
#, fuzzy
msgid "The available fields of this data type are as follows:"
msgstr "此数据类型的可用字段如下:"

#. type: code{#1}
#: guix-git/doc/guix.texi:21379
#, fuzzy, no-wrap
msgid "addresses"
msgstr "addresses"

#. type: itemx
#: guix-git/doc/guix.texi:21380
#, fuzzy, no-wrap
msgid "@code{links} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: itemx
#: guix-git/doc/guix.texi:21381
#, fuzzy, no-wrap
msgid "@code{routes} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:21384
#, fuzzy
msgid "The list of @code{network-address}, @code{network-link}, and @code{network-route} records for this network (see below)."
msgstr "此网络的@code{network-address}、@code{network-link}和@code{network-route}记录的列表(见下文)。"

#. type: item
#: guix-git/doc/guix.texi:21385
#, fuzzy, no-wrap
msgid "@code{name-servers} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:21388
#, fuzzy
msgid "The list of IP addresses (strings) of domain name servers.  These IP addresses go to @file{/etc/resolv.conf}."
msgstr "域名服务器的IP地址(字符串)列表。这些IP地址将写入@file{/etc/resolv.conf}。"

#. type: item
#: guix-git/doc/guix.texi:21389
#, fuzzy, no-wrap
msgid "@code{provision} (default: @code{'(networking)})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:21392
#, fuzzy
msgid "If true, this should be a list of symbols for the Shepherd service corresponding to this network configuration."
msgstr "如果为真,这应该是与此网络配置对应的Shepherd服务的符号列表。"

#. type: item
#: guix-git/doc/guix.texi:21393
#, fuzzy, no-wrap
msgid "@code{requirement} (default @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:21395
#, fuzzy
msgid "The list of Shepherd services depended on."
msgstr "依赖的Shepherd服务列表。"

#. type: deftp
#: guix-git/doc/guix.texi:21398
#, fuzzy, no-wrap
msgid "{Data Type} network-address"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:21401
#, fuzzy
msgid "This is the data type representing the IP address of a network interface."
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:21406
#, fuzzy
msgid "The name of the network interface for this address---e.g., @code{\"eno1\"}."
msgstr "此地址的网络接口名称---例如,@code{\"eno1\"}。"

#. type: item
#: guix-git/doc/guix.texi:21407
#, fuzzy, no-wrap
msgid "value"
msgstr "value"

#. type: table
#: guix-git/doc/guix.texi:21411
#, fuzzy
msgid "The actual IP address and network mask, in @uref{https://en.wikipedia.org/wiki/CIDR#CIDR_notation, @acronym{CIDR, Classless Inter-Domain Routing} notation}, as a string."
msgstr "实际的IP地址和网络掩码,采用@uref{https://en.wikipedia.org/wiki/CIDR#CIDR_notation,@acronym{CIDR, Classless Inter-Domain Routing}表示法},作为字符串。"

#. type: table
#: guix-git/doc/guix.texi:21415
#, fuzzy
msgid "For example, @code{\"10.0.2.15/24\"} denotes IPv4 address 10.0.2.15 on a 24-bit sub-network---all 10.0.2.@var{x} addresses are on the same local network."
msgstr "例如,@code{\"10.0.2.15/24\"}表示在24位子网中的IPv4地址10.0.2.15---所有10.0.2.@var{x}地址都在同一局域网内。"

#. type: item
#: guix-git/doc/guix.texi:21416
#, fuzzy, no-wrap
msgid "ipv6?"
msgstr "ipv6?"

#. type: table
#: guix-git/doc/guix.texi:21419
#, fuzzy
msgid "Whether @code{value} denotes an IPv6 address.  By default this is automatically determined."
msgstr "是否@code{value}表示IPv6地址。默认情况下,这会自动确定。"

#. type: deftp
#: guix-git/doc/guix.texi:21422
#, fuzzy, no-wrap
msgid "{Data Type} network-route"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:21424
#, fuzzy
msgid "This is the data type representing a network route."
msgstr "管理操作系统配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:21426
#, no-wrap
msgid "destination"
msgstr "destination"

#. type: table
#: guix-git/doc/guix.texi:21429
#, fuzzy
msgid "The route destination (a string), either an IP address and network mask or @code{\"default\"} to denote the default route."
msgstr "路由目标(字符串),可以是 IP 地址和网络掩码,或者 @code{\"default\"} 表示默认路由。"

#. type: item
#: guix-git/doc/guix.texi:21430
#, fuzzy, no-wrap
msgid "@code{source} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:21432
#, fuzzy
msgid "The route source."
msgstr "rottlog服务。"

#. type: item
#: guix-git/doc/guix.texi:21433 guix-git/doc/guix.texi:44306
#, fuzzy, no-wrap
msgid "@code{device} (default: @code{#f})"
msgstr "@code{device}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21435
#, fuzzy
msgid "The device used for this route---e.g., @code{\"eno2\"}."
msgstr "用于此路由的设备——例如,@code{\"eno2\"}。"

#. type: item
#: guix-git/doc/guix.texi:21436
#, fuzzy, no-wrap
msgid "@code{ipv6?} (default: auto)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21439
#, fuzzy
msgid "Whether this is an IPv6 route.  By default this is automatically determined based on @code{destination} or @code{gateway}."
msgstr "这是否是 IPv6 路由。默认情况下,这会根据 @code{destination} 或 @code{gateway} 自动确定。"

#. type: item
#: guix-git/doc/guix.texi:21440
#, fuzzy, no-wrap
msgid "@code{gateway} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21442
#, fuzzy
msgid "IP address (a string) through which traffic is routed."
msgstr "IP 地址(字符串),通过该地址路由流量。"

#. type: deftp
#: guix-git/doc/guix.texi:21445
#, fuzzy, no-wrap
msgid "{Data Type} network-link"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:21452
#, fuzzy
msgid "Data type for a network link (@pxref{Link,,, guile-netlink, Guile-Netlink Manual}).  During startup, network links are employed to construct or modify existing or virtual ethernet links.  These ethernet links can be identified by their @var{name} or @var{mac-address}.  If there is a need to create virtual interface, @var{name} and @var{type} fields are required."
msgstr "网络链接的数据类型(@pxref{Link,,, guile-netlink, Guile-Netlink Manual})。在启动期间,网络链接用于构建或修改现有或虚拟以太网链接。这些以太网链接可以通过它们的 @var{name} 或 @var{mac-address} 进行识别。如果需要创建虚拟接口,则需要 @var{name} 和 @var{type} 字段。"

#. type: table
#: guix-git/doc/guix.texi:21456
#, fuzzy
msgid "The name of the link---e.g., @code{\"v0p0\"} (default: @code{#f})."
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:21459
#, fuzzy
msgid "A symbol denoting the type of the link---e.g., @code{'veth} (default: @code{#f})."
msgstr "表示链接类型的符号——例如,@code{'veth}(默认值:@code{#f})。"

#. type: item
#: guix-git/doc/guix.texi:21460
#, fuzzy, no-wrap
msgid "mac-address"
msgstr "mac-address"

#. type: table
#: guix-git/doc/guix.texi:21462
#, fuzzy
msgid "The mac-address of the link---e.g., @code{\"98:11:22:33:44:55\"} (default: @code{#f})."
msgstr "链接的 mac-address——例如,@code{\"98:11:22:33:44:55\"}(默认值:@code{#f})。"

#. type: table
#: guix-git/doc/guix.texi:21465
#, fuzzy
msgid "List of arguments for this type of link."
msgstr "此类型链接的参数列表。"

#. type: Plain text
#: guix-git/doc/guix.texi:21477
#, fuzzy
msgid "Consider a scenario where a server equipped with a network interface which has multiple ports.  These ports are connected to a switch, which supports @uref{https://en.wikipedia.org/wiki/Link_aggregation, link aggregation} (also known as bonding or NIC teaming).  The switch uses port channels to consolidate multiple physical interfaces into one logical interface to provide higher bandwidth, load balancing, and link redundancy.  When a port is added to a LAG (or link aggregation group), it inherits the properties of the port-channel.  Some of these properties are VLAN membership, trunk status, and so on."
msgstr "考虑一个场景,其中一台服务器配备了具有多个端口的网络接口。这些端口连接到一个支持 @uref{https://en.wikipedia.org/wiki/Link_aggregation, 链接聚合}(也称为绑定或 NIC 团队)的交换机。交换机使用端口通道将多个物理接口合并为一个逻辑接口,以提供更高的带宽、负载均衡和链路冗余。当一个端口被添加到 LAG(或链接聚合组)时,它继承端口通道的属性。这些属性包括 VLAN 成员资格、干线状态等。"

#. type: Plain text
#: guix-git/doc/guix.texi:21482
#, fuzzy
msgid "@uref{https://en.wikipedia.org/wiki/Virtual_LAN, VLAN} (or virtual local area network) is a logical network that is isolated from other VLANs on the same physical network.  This can be used to segregate traffic, improve security, and simplify network management."
msgstr "@uref{https://en.wikipedia.org/wiki/Virtual_LAN, VLAN}(或虚拟局域网)是一个逻辑网络,与同一物理网络上的其他 VLAN 隔离。这可以用于隔离流量、提高安全性和简化网络管理。"

#. type: Plain text
#: guix-git/doc/guix.texi:21487
#, fuzzy
msgid "With all that in mind let's configure our static network for the server.  We will bond two existing interfaces together using 802.3ad schema and on top of it, build a VLAN interface with id 1055.  We assign a static ip to our new VLAN interface."
msgstr "考虑到这一切,让我们为服务器配置静态网络。我们将使用 802.3ad 模式将两个现有接口绑定在一起,并在其上构建一个 ID 为 1055 的 VLAN 接口。我们为新的 VLAN 接口分配一个静态 IP。"

#. type: lisp
#: guix-git/doc/guix.texi:21497
#, fuzzy, no-wrap
msgid ""
"(static-networking\n"
" (links (list (network-link\n"
"               (name \"bond0\")\n"
"               (type 'bond)\n"
"               (arguments '((mode . \"802.3ad\")\n"
"                            (miimon . 100)\n"
"                            (lacp-active . \"on\")\n"
"                            (lacp-rate . \"fast\"))))\n"
"\n"
msgstr ""
"(静态网络\n"
" (链接 (列表 (网络链接\n"
"               (名称 \"bond0\")\n"
"               (类型 'bond)\n"
"               (参数 '((模式 . \"802.3ad\")\n"
"                            (miimon . 100)\n"
"                            (lacp-active . \"开启\")\n"
"                            (lacp-rate . \"快速\"))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:21501
#, fuzzy, no-wrap
msgid ""
"              (network-link\n"
"               (mac-address \"98:11:22:33:44:55\")\n"
"               (arguments '((master . \"bond0\"))))\n"
"\n"
msgstr ""
"              (网络链接\n"
"               (mac-address \"98:11:22:33:44:55\")\n"
"               (参数 '((master . \"bond0\"))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:21505
#, fuzzy, no-wrap
msgid ""
"              (network-link\n"
"               (mac-address \"98:11:22:33:44:56\")\n"
"               (arguments '((master . \"bond0\"))))\n"
"\n"
msgstr ""
"              (网络链接\n"
"               (mac-address \"98:11:22:33:44:56\")\n"
"               (参数 '((master . \"bond0\"))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:21514
#, fuzzy, no-wrap
msgid ""
"              (network-link\n"
"               (name \"bond0.1055\")\n"
"               (type 'vlan)\n"
"               (arguments '((id . 1055)\n"
"                            (link . \"bond0\"))))))\n"
" (addresses (list (network-address\n"
"                   (value \"192.168.1.4/24\")\n"
"                   (device \"bond0.1055\")))))\n"
msgstr ""
"              (网络链接\n"
"               (名称 \"bond0.1055\")\n"
"               (类型 'vlan)\n"
"               (参数 '((id . 1055)\n"
"                            (link . \"bond0\"))))))\n"
" (地址 (列表 (网络地址\n"
"                   (值 \"192.168.1.4/24\")\n"
"                   (设备 \"bond0.1055\")))))\n"

#. type: cindex
#: guix-git/doc/guix.texi:21516
#, fuzzy, no-wrap
msgid "loopback device"
msgstr "回环设备"

#. type: defvar
#: guix-git/doc/guix.texi:21517
#, fuzzy, no-wrap
msgid "%loopback-static-networking"
msgstr "{数据类型} build-machine"

#. type: defvar
#: guix-git/doc/guix.texi:21521
#, fuzzy
msgid "This is the @code{static-networking} record representing the ``loopback device'', @code{lo}, for IP addresses 127.0.0.1 and ::1, and providing the @code{loopback} Shepherd service."
msgstr "这是 @code{static-networking} 记录,表示 ``回环设备'',@code{lo},用于 IP 地址 127.0.0.1 和 ::1,并提供 @code{loopback} Shepherd 服务。"

#. type: cindex
#: guix-git/doc/guix.texi:21523
#, fuzzy, no-wrap
msgid "networking, with QEMU"
msgstr "网络,使用 QEMU"

#. type: cindex
#: guix-git/doc/guix.texi:21524
#, fuzzy, no-wrap
msgid "QEMU, networking"
msgstr "QEMU,网络"

#. type: defvar
#: guix-git/doc/guix.texi:21525
#, fuzzy, no-wrap
msgid "%qemu-static-networking"
msgstr "手动安装"

#. type: defvar
#: guix-git/doc/guix.texi:21529
#, fuzzy
msgid "This is the @code{static-networking} record representing network setup when using QEMU's user-mode network stack on @code{eth0} (@pxref{Using the user mode network stack,,, qemu, QEMU Documentation})."
msgstr "这是 @code{static-networking} 记录,表示在 @code{eth0} 上使用 QEMU 的用户模式网络栈时的网络设置 (@pxref{使用用户模式网络栈,,, qemu, QEMU 文档})。"

#. type: cindex
#: guix-git/doc/guix.texi:21531
#, fuzzy, no-wrap
msgid "DHCP, networking service"
msgstr "DHCP,网络服务"

#. type: defvar
#: guix-git/doc/guix.texi:21532
#, fuzzy, no-wrap
msgid "dhcp-client-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:21535
#, fuzzy
msgid "This is the type of services that run @var{dhclient}, the ISC Dynamic Host Configuration Protocol (DHCP) client."
msgstr "这是运行 @var{dhclient} 的服务类型,即 ISC 动态主机配置协议 (DHCP) 客户端。"

#. type: deftp
#: guix-git/doc/guix.texi:21537
#, fuzzy, no-wrap
msgid "{Data Type} dhcp-client-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:21539
#, fuzzy
msgid "Data type representing the configuration of the ISC DHCP client service."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:21541 guix-git/doc/guix.texi:22039
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{isc-dhcp})"
msgstr "@code{package} (默认: @code{isc-dhcp})"

#. type: table
#: guix-git/doc/guix.texi:21543
#, fuzzy
msgid "The ISC DHCP client package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:21544
#, fuzzy, no-wrap
msgid "@code{interfaces} (default: @code{'all})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:21547
#, fuzzy
msgid "Either @code{'all} or the list of interface names that the ISC DHCP client should listen on---e.g., @code{'(\"eno1\")}."
msgstr "可以是 @code{'all} 或 ISC DHCP 客户端应监听的接口名称列表---例如,@code{'(\"eno1\")}。"

#. type: table
#: guix-git/doc/guix.texi:21551
#, fuzzy
msgid "When set to @code{'all}, the ISC DHCP client listens on all the available non-loopback interfaces that can be activated.  Otherwise the ISC DHCP client listens only on the specified interfaces."
msgstr "当设置为 @code{'all} 时,ISC DHCP 客户端会监听所有可激活的非回环接口。否则,ISC DHCP 客户端仅在指定的接口上监听。"

#. type: item
#: guix-git/doc/guix.texi:21552 guix-git/doc/guix.texi:21942
#: guix-git/doc/guix.texi:22044 guix-git/doc/guix.texi:28937
#: guix-git/doc/guix.texi:35850
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{#f})"
msgstr "@code{config-file} (默认: @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21554
#, fuzzy
msgid "The configuration file for the ISC DHCP client."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:21555 guix-git/doc/guix.texi:22049
#, fuzzy, no-wrap
msgid "@code{version} (default: @code{\"4\"})"
msgstr "@code{version} (默认: @code{\"4\"})"

#. type: table
#: guix-git/doc/guix.texi:21559
#, fuzzy
msgid "The DHCP protocol version to use, as a string.  Accepted values are @code{\"4\"} or @code{\"6\"} for DHCPv4 or DHCPv6, respectively, as well as @code{\"4o6\"}, for DHCPv4 over DHCPv6 (as specified by RFC 7341)."
msgstr "要使用的 DHCP 协议版本,作为字符串。接受的值为 @code{\"4\"} 或 @code{\"6\"},分别表示 DHCPv4 或 DHCPv6,以及 @code{\"4o6\"},表示 DHCPv4 通过 DHCPv6(如 RFC 7341 所指定)。"

#. type: itemx
#: guix-git/doc/guix.texi:21561
#, fuzzy, no-wrap
msgid "@code{shepherd-provision} (default: @code{'(networking)})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:21566 guix-git/doc/guix.texi:21598
#: guix-git/doc/guix.texi:21701
#, fuzzy
msgid "This option can be used to provide a list of symbols naming Shepherd services that this service will depend on, such as @code{'wpa-supplicant} or @code{'iwd} if you require authenticated access for encrypted WiFi or Ethernet networks."
msgstr "此选项可用于提供命名 Shepherd 服务的符号列表,该服务将依赖于这些服务,例如,如果您需要对加密 WiFi 或以太网网络进行身份验证访问,可以使用 @code{'wpa-supplicant} 或 @code{'iwd}。"

#. type: table
#: guix-git/doc/guix.texi:21571
#, fuzzy
msgid "Likewise, @code{shepherd-provision} is a list of Shepherd service names (symbols) provided by this service.  You might want to change the default value if you intend to run several ISC DHCP clients, only one of which provides the @code{networking} Shepherd service."
msgstr "同样,@code{shepherd-provision} 是此服务提供的 Shepherd 服务名称(符号)列表。如果您打算运行多个 ISC DHCP 客户端,而其中只有一个提供 @code{networking} Shepherd 服务,您可能想要更改默认值。"

#. type: cindex
#: guix-git/doc/guix.texi:21574
#, fuzzy, no-wrap
msgid "NetworkManager"
msgstr "NetworkManager"

#. type: defvar
#: guix-git/doc/guix.texi:21576
#, fuzzy, no-wrap
msgid "network-manager-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:21581
#, fuzzy
msgid "This is the service type for the @uref{https://wiki.gnome.org/Projects/NetworkManager, NetworkManager} service. The value for this service type is a @code{network-manager-configuration} record."
msgstr "这是 @uref{https://wiki.gnome.org/Projects/NetworkManager, NetworkManager} 服务的服务类型。此服务类型的值是 @code{network-manager-configuration} 记录。"

#. type: defvar
#: guix-git/doc/guix.texi:21584 guix-git/doc/guix.texi:21962
#: guix-git/doc/guix.texi:21991
#, fuzzy
msgid "This service is part of @code{%desktop-services} (@pxref{Desktop Services})."
msgstr "此服务是 @code{%desktop-services}(@pxref{Desktop Services})的一部分。"

#. type: deftp
#: guix-git/doc/guix.texi:21586
#, fuzzy, no-wrap
msgid "{Data Type} network-manager-configuration"
msgstr "{数据类型} network-manager-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:21588
#, fuzzy
msgid "Data type representing the configuration of NetworkManager."
msgstr "表示 NetworkManager 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:21590
#, fuzzy, no-wrap
msgid "@code{network-manager} (default: @code{network-manager})"
msgstr "@code{network-manager}(默认值:@code{network-manager})"

#. type: table
#: guix-git/doc/guix.texi:21592
#, fuzzy
msgid "The NetworkManager package to use."
msgstr "要使用的 NetworkManager 包。"

#. type: item
#: guix-git/doc/guix.texi:21593
#, fuzzy, no-wrap
msgid "@code{shepherd-requirement} (default: @code{'(wpa-supplicant)})"
msgstr "@code{features} (@code{'()})"

#. type: item
#: guix-git/doc/guix.texi:21599
#, fuzzy, no-wrap
msgid "@code{dns} (default: @code{\"default\"})"
msgstr "@code{dns}(默认值:@code{\"default\"})"

#. type: table
#: guix-git/doc/guix.texi:21602
#, fuzzy
msgid "Processing mode for DNS, which affects how NetworkManager uses the @code{resolv.conf} configuration file."
msgstr "DNS 的处理模式,影响 NetworkManager 如何使用 @code{resolv.conf} 配置文件。"

#. type: table
#: guix-git/doc/guix.texi:21607
#, fuzzy
msgid "NetworkManager will update @code{resolv.conf} to reflect the nameservers provided by currently active connections."
msgstr "NetworkManager 将更新 @code{resolv.conf} 以反映当前活动连接提供的名称服务器。"

#. type: item
#: guix-git/doc/guix.texi:21608
#, fuzzy, no-wrap
msgid "dnsmasq"
msgstr "dnsmasq"

#. type: table
#: guix-git/doc/guix.texi:21612
#, fuzzy
msgid "NetworkManager will run @code{dnsmasq} as a local caching nameserver, using a @dfn{conditional forwarding} configuration if you are connected to a VPN, and then update @code{resolv.conf} to point to the local nameserver."
msgstr "NetworkManager 将运行 @code{dnsmasq} 作为本地缓存名称服务器,如果您连接到 VPN,则使用 @dfn{条件转发} 配置,然后更新 @code{resolv.conf} 指向本地名称服务器。"

#. type: table
#: guix-git/doc/guix.texi:21618
#, fuzzy
msgid "With this setting, you can share your network connection.  For example when you want to share your network connection to another laptop @i{via} an Ethernet cable, you can open @command{nm-connection-editor} and configure the Wired connection's method for IPv4 and IPv6 to be ``Shared to other computers'' and reestablish the connection (or reboot)."
msgstr "通过此设置,您可以共享您的网络连接。例如,当您想通过以太网电缆将网络连接共享到另一台笔记本电脑时,您可以打开 @command{nm-connection-editor} 并将有线连接的 IPv4 和 IPv6 方法配置为“共享给其他计算机”,然后重新建立连接(或重启)。"

#. type: table
#: guix-git/doc/guix.texi:21625
#, fuzzy
msgid "You can also set up a @dfn{host-to-guest connection} to QEMU VMs (@pxref{Installing Guix in a VM}).  With a host-to-guest connection, you can e.g.@: access a Web server running on the VM (@pxref{Web Services}) from a Web browser on your host system, or connect to the VM @i{via} SSH (@pxref{Networking Services, @code{openssh-service-type}}).  To set up a host-to-guest connection, run this command once:"
msgstr "您还可以为 QEMU 虚拟机设置 @dfn{主机到来宾连接}(@pxref{Installing Guix in a VM})。通过主机到来宾连接,您可以例如从主机系统上的 Web 浏览器访问在虚拟机上运行的 Web 服务器(@pxref{Web Services}),或通过 SSH 连接到虚拟机(@pxref{Networking Services, @code{openssh-service-type}})。要设置主机到来宾连接,请运行此命令一次:"

#. type: example
#: guix-git/doc/guix.texi:21632
#, fuzzy, no-wrap
msgid ""
"nmcli connection add type tun \\\n"
" connection.interface-name tap0 \\\n"
" tun.mode tap tun.owner $(id -u) \\\n"
" ipv4.method shared \\\n"
" ipv4.addresses 172.28.112.1/24\n"
msgstr ""
"nmcli 连接添加类型 tun \\\n"
" connection.interface-name tap0 \\\n"
" tun.mode tap tun.owner $(id -u) \\\n"
" ipv4.method shared \\\n"
" ipv4.addresses 172.28.112.1/24\n"

#. type: table
#: guix-git/doc/guix.texi:21637
#, fuzzy
msgid "Then each time you launch your QEMU VM (@pxref{Running Guix in a VM}), pass @option{-nic tap,ifname=tap0,script=no,downscript=no} to @command{qemu-system-...}."
msgstr "然后每次启动您的 QEMU 虚拟机 (@pxref{在虚拟机中运行 Guix}),将 @option{-nic tap,ifname=tap0,script=no,downscript=no} 传递给 @command{qemu-system-...}。"

#. type: table
#: guix-git/doc/guix.texi:21640
#, fuzzy
msgid "NetworkManager will not modify @code{resolv.conf}."
msgstr "NetworkManager 不会修改 @code{resolv.conf}。"

#. type: item
#: guix-git/doc/guix.texi:21642
#, fuzzy, no-wrap
msgid "@code{vpn-plugins} (default: @code{'()})"
msgstr "@code{vpn-plugins}(默认:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:21646
#, fuzzy
msgid "This is the list of available plugins for virtual private networks (VPNs).  An example of this is the @code{network-manager-openvpn} package, which allows NetworkManager to manage VPNs @i{via} OpenVPN."
msgstr "这是可用于虚拟私人网络(VPN)的可用插件列表。一个例子是 @code{network-manager-openvpn} 包,它允许 NetworkManager 通过 OpenVPN 管理 VPN。"

#. type: item
#: guix-git/doc/guix.texi:21647
#, fuzzy, no-wrap
msgid "@code{extra-configuration-files} (default: @code{'()})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21655
msgid "A list of two-element lists; the first element of each list is a file name (as a string), and the second is a file-like object.  Used to specify configuration files which will be added to the @file{/etc/NetworkManager/conf.d}.  NetworkManager will read additional configuration from this directory.  For details on configuration file precedence and the configuration file format, see @samp{man 5 NetworkManager.conf}."
msgstr ""

#. type: table
#: guix-git/doc/guix.texi:21658
msgid "For example, to add two files named @file{001-basic.conf} and @file{002-unmanaged.conf}:"
msgstr ""

#. type: lisp
#: guix-git/doc/guix.texi:21668
#, no-wrap
msgid ""
"(service network-manager-service-type\n"
"         (network-manager-configuration\n"
"          (extra-configuration-files\n"
"           `((\"001-basic.conf\" ,(local-file \"basic.conf\"))\n"
"             (\"002-unmanaged.conf\" ,(plain-file \"constructed-unmanaged.conf\"\n"
"                                                \"\\\n"
"[keyfile]\n"
"unmanaged-devices=interface-name:wlo1_ap\\n\"))))))\n"
msgstr ""

#. type: cindex
#: guix-git/doc/guix.texi:21673
#, fuzzy, no-wrap
msgid "Connman"
msgstr "Connman"

#. type: defvar
#: guix-git/doc/guix.texi:21674
#, fuzzy, no-wrap
msgid "connman-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:21677
#, fuzzy
msgid "This is the service type to run @url{https://01.org/connman,Connman}, a network connection manager."
msgstr "这是运行 @url{https://01.org/connman,Connman} 的服务类型,一个网络连接管理器。"

#. type: defvar
#: guix-git/doc/guix.texi:21679
#, fuzzy
msgid "Its value must be a @code{connman-configuration} record as in this example:"
msgstr "{数据类型} build-machine"

#. type: lisp
#: guix-git/doc/guix.texi:21684
#, fuzzy, no-wrap
msgid ""
"(service connman-service-type\n"
"         (connman-configuration\n"
"           (disable-vpn? #t)))\n"
msgstr ""
"(服务 connman-service-type\n"
"         (connman-configuration\n"
"           (disable-vpn? #t)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:21687
#, fuzzy
msgid "See below for details about @code{connman-configuration}."
msgstr "有关 @code{connman-configuration} 的详细信息,请参见下文。"

#. type: deftp
#: guix-git/doc/guix.texi:21689
#, fuzzy, no-wrap
msgid "{Data Type} connman-configuration"
msgstr "{数据类型} connman-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:21691
#, fuzzy
msgid "Data Type representing the configuration of connman."
msgstr "表示 connman 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:21693
#, fuzzy, no-wrap
msgid "@code{connman} (default: @var{connman})"
msgstr "@code{connman}(默认:@var{connman})"

#. type: table
#: guix-git/doc/guix.texi:21695
#, fuzzy
msgid "The connman package to use."
msgstr "要使用的 connman 包。"

#. type: item
#: guix-git/doc/guix.texi:21702
#, fuzzy, no-wrap
msgid "@code{disable-vpn?} (default: @code{#f})"
msgstr "@code{disable-vpn?}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21704
#, fuzzy
msgid "When true, disable connman's vpn plugin."
msgstr "当为真时,禁用 connman 的 vpn 插件。"

#. type: item
#: guix-git/doc/guix.texi:21705
#, fuzzy, no-wrap
msgid "@code{general-configuration} (default: @code{(connman-general-configuration)})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:21708
#, fuzzy
msgid "Configuration serialized to @file{main.conf} and passed as @option{--config} to @command{connmand}."
msgstr "配置序列化到 @file{main.conf} 并作为 @option{--config} 传递给 @command{connmand}。"

#. type: deftp
#: guix-git/doc/guix.texi:21714
#, fuzzy, no-wrap
msgid "{Data Type} connman-general-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:21716
#, fuzzy
msgid "Available @code{connman-general-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:21718
#, fuzzy, no-wrap
msgid "@code{input-request-timeout} (type: maybe-number)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:21723
#, fuzzy
msgid "Set input request timeout.  Default is 120 seconds.  The request for inputs like passphrase will timeout after certain amount of time.  Use this setting to increase the value in case of different user interface designs."
msgstr "设置输入请求超时。默认是 120 秒。请求输入(如密码短语)将在一定时间后超时。使用此设置在不同用户界面设计的情况下增加值。"

#. type: item
#: guix-git/doc/guix.texi:21724
#, fuzzy, no-wrap
msgid "@code{browser-launch-timeout} (type: maybe-number)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:21729
#, fuzzy
msgid "Set browser launch timeout.  Default is 300 seconds.  The request for launching a browser for portal pages will timeout after certain amount of time.  Use this setting to increase the value in case of different user interface designs."
msgstr "设置浏览器启动超时。默认是 300 秒。请求启动浏览器以访问门户页面将在一定时间后超时。使用此设置在不同用户界面设计的情况下增加值。"

#. type: item
#: guix-git/doc/guix.texi:21730
#, fuzzy, no-wrap
msgid "@code{background-scanning?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21740
#, fuzzy
msgid "Enable background scanning.  Default is true.  If wifi is disconnected, the background scanning will follow a simple back off mechanism from 3s up to 5 minutes.  Then, it will stay in 5 minutes unless user specifically asks for scanning through a D-Bus call.  If so, the mechanism will start again from 3s.  This feature activates also the background scanning while being connected, which is required for roaming on wifi.  When @code{background-scanning?} is false, ConnMan will not perform any scan regardless of wifi is connected or not, unless it is requested by the user through a D-Bus call."
msgstr "启用后台扫描。默认为真。如果 WiFi 断开连接,后台扫描将遵循从 3 秒到 5 分钟的简单退避机制。然后,它将在 5 分钟内保持,除非用户通过 D-Bus 调用特别要求扫描。如果是这样,机制将从 3 秒重新开始。此功能还在连接时激活后台扫描,这是 WiFi 漫游所需的。当 @code{background-scanning?} 为假时,ConnMan 将不会执行任何扫描,无论 WiFi 是否连接,除非用户通过 D-Bus 调用请求。"

#. type: item
#: guix-git/doc/guix.texi:21741
#, fuzzy, no-wrap
msgid "@code{use-gateways-as-timeservers?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21744
#, fuzzy
msgid "Assume that service gateways also function as timeservers.  Default is false."
msgstr "假设服务网关也充当时间服务器。 默认值为 false。"

#. type: item
#: guix-git/doc/guix.texi:21745
#, fuzzy, no-wrap
msgid "@code{fallback-timeservers} (type: maybe-list)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21751
#, fuzzy
msgid "List of Fallback timeservers.  These timeservers are used for NTP sync when there are no timeservers set by the user or by the service, and when @code{use-gateways-as-timeservers?} is @code{#f}.  These can contain a mixed combination of fully qualified domain names, IPv4 and IPv6 addresses."
msgstr "备用时间服务器列表。 当用户或服务未设置时间服务器,并且 @code{use-gateways-as-timeservers?} 为 @code{#f} 时,这些时间服务器用于 NTP 同步。 这些可以包含完全合格的域名、IPv4 和 IPv6 地址的混合组合。"

#. type: item
#: guix-git/doc/guix.texi:21752
#, fuzzy, no-wrap
msgid "@code{fallback-nameservers} (type: maybe-list)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21756
#, fuzzy
msgid "List of fallback nameservers appended to the list of nameservers given by the service.  The nameserver entries must be in numeric format, host names are ignored."
msgstr "附加到服务提供的名称服务器列表的备用名称服务器列表。 名称服务器条目必须为数字格式,主机名将被忽略。"

#. type: item
#: guix-git/doc/guix.texi:21757
#, fuzzy, no-wrap
msgid "@code{default-auto-connect-technologies} (type: maybe-list)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21762
#, fuzzy
msgid "List of technologies that are marked autoconnectable by default.  The default value for this entry when empty is @code{\"ethernet\"}, @code{\"wifi\"}, @code{\"cellular\"}.  Services that are automatically connected must have been set up and saved to storage beforehand."
msgstr "默认标记为自动连接的技术列表。 当此条目为空时,默认值为 @code{\"ethernet\"}, @code{\"wifi\"}, @code{\"cellular\"}。 自动连接的服务必须事先设置并保存到存储中。"

#. type: item
#: guix-git/doc/guix.texi:21763
#, fuzzy, no-wrap
msgid "@code{default-favourite-technologies} (type: maybe-list)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21767
#, fuzzy
msgid "List of technologies that are marked favorite by default.  The default value for this entry when empty is @code{\"ethernet\"}.  Connects to services from this technology even if not setup and saved to storage."
msgstr "默认标记为最爱技术的列表。 当此条目为空时,默认值为 @code{\"ethernet\"}。 即使未设置并保存到存储中,也会连接到此技术的服务。"

#. type: item
#: guix-git/doc/guix.texi:21768
#, fuzzy, no-wrap
msgid "@code{always-connected-technologies} (type: maybe-list)"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:21773
#, fuzzy
msgid "List of technologies which are always connected regardless of preferred-technologies setting (@code{auto-connect?} @code{#t}).  The default value is empty and this feature is disabled unless explicitly enabled."
msgstr "无论首选技术设置如何,始终连接的技术列表(@code{auto-connect?} @code{#t})。 默认值为空,除非明确启用,否则此功能被禁用。"

#. type: item
#: guix-git/doc/guix.texi:21774
#, fuzzy, no-wrap
msgid "@code{preferred-technologies} (type: maybe-list)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21784
#, fuzzy
msgid "List of preferred technologies from the most preferred one to the least preferred one.  Services of the listed technology type will be tried one by one in the order given, until one of them gets connected or they are all tried.  A service of a preferred technology type in state 'ready' will get the default route when compared to another preferred type further down the list with state 'ready' or with a non-preferred type; a service of a preferred technology type in state 'online' will get the default route when compared to either a non-preferred type or a preferred type further down in the list."
msgstr "从最受欢迎到最不受欢迎的首选技术列表。 将按给定顺序逐一尝试列出的技术类型的服务,直到其中一个连接成功或全部尝试完毕。 与列表中状态为“准备就绪”的其他首选类型或非首选类型相比,状态为“准备就绪”的首选技术类型的服务将获得默认路由;与列表中状态为“在线”的首选技术类型相比,状态为“在线”的首选技术类型的服务将获得默认路由。"

#. type: item
#: guix-git/doc/guix.texi:21785
#, fuzzy, no-wrap
msgid "@code{network-interface-blacklist} (type: maybe-list)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21790
#, fuzzy
msgid "List of blacklisted network interfaces.  Found interfaces will be compared to the list and will not be handled by ConnMan, if their first characters match any of the list entries.  Default value is @code{\"vmnet\"}, @code{\"vboxnet\"}, @code{\"virbr\"}, @code{\"ifb\"}."
msgstr "黑名单网络接口列表。 找到的接口将与列表进行比较,如果它们的首字符与任何列表条目匹配,则 ConnMan 将不处理它们。 默认值为 @code{\"vmnet\"}, @code{\"vboxnet\"}, @code{\"virbr\"}, @code{\"ifb\"}。"

#. type: item
#: guix-git/doc/guix.texi:21791
#, fuzzy, no-wrap
msgid "@code{allow-hostname-updates?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21794
#, fuzzy
msgid "Allow ConnMan to change the system hostname.  This can happen for example if we receive DHCP hostname option.  Default value is @code{#t}."
msgstr "允许 ConnMan 更改系统主机名。这可能发生在我们收到 DHCP 主机名选项时,例如。默认值是 @code{#t}。"

#. type: item
#: guix-git/doc/guix.texi:21795
#, fuzzy, no-wrap
msgid "@code{allow-domainname-updates?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21799
#, fuzzy
msgid "Allow connman to change the system domainname.  This can happen for example if we receive DHCP domainname option.  Default value is @code{#t}."
msgstr "允许 connman 更改系统域名。这可能发生在我们收到 DHCP 域名选项时,例如。默认值是 @code{#t}。"

#. type: item
#: guix-git/doc/guix.texi:21800
#, fuzzy, no-wrap
msgid "@code{single-connected-technology?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21811
#, fuzzy
msgid "Keep only a single connected technology at any time.  When a new service is connected by the user or a better one is found according to preferred-technologies, the new service is kept connected and all the other previously connected services are disconnected.  With this setting it does not matter whether the previously connected services are in 'online' or 'ready' states, the newly connected service is the only one that will be kept connected.  A service connected by the user will be used until going out of network coverage.  With this setting enabled applications will notice more network breaks than normal.  Note this options can't be used with VPNs.  Default value is @code{#f}."
msgstr "始终只保持一个连接的技术。当用户连接新服务或根据首选技术找到更好的服务时,新服务将保持连接,所有其他先前连接的服务将被断开。使用此设置,无论先前连接的服务处于“在线”还是“就绪”状态,新连接的服务都是唯一保持连接的服务。用户连接的服务将一直使用,直到失去网络覆盖。启用此设置后,应用程序将比正常情况更频繁地注意到网络中断。请注意,此选项不能与 VPN 一起使用。默认值是 @code{#f}。"

#. type: item
#: guix-git/doc/guix.texi:21812
#, fuzzy, no-wrap
msgid "@code{tethering-technologies} (type: maybe-list)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21822
#, fuzzy
msgid "List of technologies that are allowed to enable tethering.  The default value is @code{\"wifi\"}, @code{\"bluetooth\"}, @code{\"gadget\"}.  Only those technologies listed here are used for tethering.  If one wants to tether ethernet, then add @code{\"ethernet\"} in the list.  Note that if ethernet tethering is enabled, then a DHCP server is started on all ethernet interfaces.  Tethered ethernet should never be connected to corporate or home network as it will disrupt normal operation of these networks.  Due to this ethernet is not tethered by default.  Do not activate ethernet tethering unless you really know what you are doing."
msgstr "允许启用共享的技术列表。默认值是 @code{\"wifi\"}, @code{\"bluetooth\"}, @code{\"gadget\"}。仅使用此处列出的技术进行共享。如果想要共享以太网,则在列表中添加 @code{\"ethernet\"}。请注意,如果启用以太网共享,则在所有以太网接口上启动 DHCP 服务器。共享的以太网不应连接到公司或家庭网络,因为这会干扰这些网络的正常操作。因此,默认情况下不共享以太网。除非您确实知道自己在做什么,否则请勿启用以太网共享。"

#. type: item
#: guix-git/doc/guix.texi:21823
#, fuzzy, no-wrap
msgid "@code{persistent-tethering-mode?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21827
#, fuzzy
msgid "Restore earlier tethering status when returning from offline mode, re-enabling a technology, and after restarts and reboots.  Default value is @code{#f}."
msgstr "从离线模式返回时、重新启用技术以及在重启和重启后恢复早期共享状态。默认值是 @code{#f}。"

#. type: item
#: guix-git/doc/guix.texi:21828
#, fuzzy, no-wrap
msgid "@code{enable-6to4?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21833
#, fuzzy
msgid "Automatically enable anycast 6to4 if possible.  This is not recommended, as the use of 6to4 will generally lead to a severe degradation of connection quality.  See RFC6343.  Default value is @code{#f} (as recommended by RFC6343 section 4.1)."
msgstr "如果可能,自动启用 anycast 6to4。这不推荐,因为使用 6to4 通常会导致连接质量严重下降。请参阅 RFC6343。默认值是 @code{#f}(如 RFC6343 第 4.1 节所推荐)。"

#. type: item
#: guix-git/doc/guix.texi:21834
#, fuzzy, no-wrap
msgid "@code{vendor-class-id} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21838
#, fuzzy
msgid "Set DHCP option 60 (Vendor Class ID) to the given string.  This option can be used by DHCP servers to identify specific clients without having to rely on MAC address ranges, etc."
msgstr "将 DHCP 选项 60(供应商类 ID)设置为给定字符串。此选项可被 DHCP 服务器用于识别特定客户端,而无需依赖 MAC 地址范围等。"

#. type: item
#: guix-git/doc/guix.texi:21839
#, fuzzy, no-wrap
msgid "@code{enable-online-check?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21846
#, fuzzy
msgid "Enable or disable use of HTTP GET as an online status check.  When a service is in a READY state, and is selected as default, ConnMan will issue an HTTP GET request to verify that end-to-end connectivity is successful.  Only then the service will be transitioned to ONLINE state.  If this setting is false, the default service will remain in READY state.  Default value is @code{#t}."
msgstr "启用或禁用使用 HTTP GET 作为在线状态检查。当服务处于 READY 状态并被选为默认时,ConnMan 将发出 HTTP GET 请求以验证端到端连接是否成功。只有在此情况下,服务才会转换为 ONLINE 状态。如果此设置为 false,默认服务将保持在 READY 状态。默认值为 @code{#t}。"

#. type: item
#: guix-git/doc/guix.texi:21847
#, fuzzy, no-wrap
msgid "@code{online-check-ipv4-url} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21851
#, fuzzy
msgid "IPv4 URL used during the online status check.  Please refer to the README for more detailed information.  Default value is @uref{http://ipv4.connman.net/online/status.html}."
msgstr "在在线状态检查期间使用的 IPv4 URL。有关更详细的信息,请参阅 README。默认值为 @uref{http://ipv4.connman.net/online/status.html}。"

#. type: item
#: guix-git/doc/guix.texi:21852
#, fuzzy, no-wrap
msgid "@code{online-check-ipv6-url} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21856
#, fuzzy
msgid "IPv6 URL used during the online status check.  Please refer to the README for more detailed information.  Default value is @uref{http://ipv6.connman.net/online/status.html}."
msgstr "在在线状态检查期间使用的 IPv6 URL。有关更详细的信息,请参阅 README。默认值为 @uref{http://ipv6.connman.net/online/status.html}。"

#. type: item
#: guix-git/doc/guix.texi:21857
#, fuzzy, no-wrap
msgid "@code{online-check-initial-interval} (type: maybe-number)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:21860 guix-git/doc/guix.texi:21864
#, fuzzy
msgid "Range of intervals between two online check requests.  Please refer to the README for more detailed information.  Default value is @samp{1}."
msgstr "两个在线检查请求之间的间隔范围。有关更详细的信息,请参阅 README。默认值为 @samp{1}。"

#. type: item
#: guix-git/doc/guix.texi:21861
#, fuzzy, no-wrap
msgid "@code{online-check-max-interval} (type: maybe-number)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:21865
#, fuzzy, no-wrap
msgid "@code{enable-online-to-ready-transition?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21876
#, fuzzy
msgid "WARNING: This is an experimental feature.  In addition to @code{enable-online-check} setting, enable or disable use of HTTP GET to detect the loss of end-to-end connectivity.  If this setting is @code{#f}, when the default service transitions to ONLINE state, the HTTP GET request is no more called until next cycle, initiated by a transition of the default service to DISCONNECT state.  If this setting is @code{#t}, the HTTP GET request keeps being called to guarantee that end-to-end connectivity is still successful.  If not, the default service will transition to READY state, enabling another service to become the default one, in replacement.  Default value is @code{#f}."
msgstr "警告:这是一个实验性功能。除了 @code{enable-online-check} 设置外,启用或禁用使用 HTTP GET 检测端到端连接丢失。如果此设置为 @code{#f},当默认服务转换为 ONLINE 状态时,HTTP GET 请求将不再被调用,直到下一个周期,由默认服务转换为 DISCONNECT 状态启动。如果此设置为 @code{#t},HTTP GET 请求将持续被调用,以确保端到端连接仍然成功。如果没有,默认服务将转换为 READY 状态,允许另一个服务成为默认服务以替代。默认值为 @code{#f}。"

#. type: item
#: guix-git/doc/guix.texi:21877
#, fuzzy, no-wrap
msgid "@code{auto-connect-roaming-services?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21881
#, fuzzy
msgid "Automatically connect roaming services.  This is not recommended unless you know you won't have any billing problem.  Default value is @code{#f}."
msgstr "自动连接漫游服务。除非您知道不会有任何计费问题,否则不推荐这样做。默认值为 @code{#f}。"

#. type: item
#: guix-git/doc/guix.texi:21882
#, fuzzy, no-wrap
msgid "@code{address-conflict-detection?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21891
#, fuzzy
msgid "Enable or disable the implementation of IPv4 address conflict detection according to RFC5227.  ConnMan will send probe ARP packets to see if an IPv4 address is already in use before assigning the address to an interface.  If an address conflict occurs for a statically configured address, an IPv4LL address will be chosen instead (according to RFC3927).  If an address conflict occurs for an address offered via DHCP, ConnMan sends a DHCP DECLINE once and for the second conflict resorts to finding an IPv4LL address.  Default value is @code{#f}."
msgstr "根据 RFC5227 启用或禁用 IPv4 地址冲突检测的实现。ConnMan 将发送探测 ARP 数据包以查看在将地址分配给接口之前,IPv4 地址是否已在使用。如果静态配置的地址发生地址冲突,将选择 IPv4LL 地址(根据 RFC3927)。如果通过 DHCP 提供的地址发生地址冲突,ConnMan 将发送一次 DHCP DECLINE,对于第二次冲突则转而寻找 IPv4LL 地址。默认值为 @code{#f}。"

#. type: item
#: guix-git/doc/guix.texi:21892
#, fuzzy, no-wrap
msgid "@code{localtime} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21894
#, fuzzy
msgid "Path to localtime file.  Defaults to @file{/etc/localtime}."
msgstr "本地时间文件的路径。默认为 @file{/etc/localtime}。"

#. type: item
#: guix-git/doc/guix.texi:21895
#, fuzzy, no-wrap
msgid "@code{regulatory-domain-follows-timezone?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:21901
#, fuzzy
msgid "Enable regulatory domain to be changed along timezone changes.  With this option set to true each time the timezone changes the first present ISO3166 country code is read from @file{/usr/share/zoneinfo/zone1970.tab} and set as regulatory domain value.  Default value is @code{#f}."
msgstr "启用在时区变化时更改监管域。将此选项设置为 true 时,每次时区变化时,都会从 @file{/usr/share/zoneinfo/zone1970.tab} 中读取第一个存在的 ISO3166 国家代码,并将其设置为监管域值。默认值为 @code{#f}。"

#. type: item
#: guix-git/doc/guix.texi:21902
#, fuzzy, no-wrap
msgid "@code{resolv-conf} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21908
#, fuzzy
msgid "Path to resolv.conf file.  If the file does not exist, but intermediate directories exist, it will be created.  If this option is not set, it tries to write into @file{/var/run/connman/resolv.conf} if it fails (@file{/var/run/connman} does not exist or is not writeable).  If you do not want to update resolv.conf, you can set @file{/dev/null}."
msgstr "resolv.conf 文件的路径。如果文件不存在,但中间目录存在,则会创建该文件。如果未设置此选项,它会尝试写入 @file{/var/run/connman/resolv.conf},如果失败(@file{/var/run/connman} 不存在或不可写)。如果您不想更新 resolv.conf,可以设置为 @file{/dev/null}。"

#. type: cindex
#: guix-git/doc/guix.texi:21913
#, fuzzy, no-wrap
msgid "WPA Supplicant"
msgstr "WPA Supplicant"

#. type: defvar
#: guix-git/doc/guix.texi:21914
#, fuzzy, no-wrap
msgid "wpa-supplicant-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:21918
#, fuzzy
msgid "This is the service type to run @url{https://w1.fi/wpa_supplicant/,WPA supplicant}, an authentication daemon required to authenticate against encrypted WiFi or ethernet networks."
msgstr "这是运行 @url{https://w1.fi/wpa_supplicant/,WPA supplicant} 的服务类型,这是一个身份验证守护进程,用于对加密的 WiFi 或以太网网络进行身份验证。"

#. type: deftp
#: guix-git/doc/guix.texi:21920
#, fuzzy, no-wrap
msgid "{Data Type} wpa-supplicant-configuration"
msgstr "{数据类型} wpa-supplicant-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:21922
#, fuzzy
msgid "Data type representing the configuration of WPA Supplicant."
msgstr "表示 WPA Supplicant 配置的数据类型。"

#. type: deftp
#: guix-git/doc/guix.texi:21924 guix-git/doc/guix.texi:40704
#, fuzzy
msgid "It takes the following parameters:"
msgstr "它接受以下参数:"

#. type: item
#: guix-git/doc/guix.texi:21926
#, fuzzy, no-wrap
msgid "@code{wpa-supplicant} (default: @code{wpa-supplicant})"
msgstr "@code{wpa-supplicant}(默认:@code{wpa-supplicant})"

#. type: table
#: guix-git/doc/guix.texi:21928
#, fuzzy
msgid "The WPA Supplicant package to use."
msgstr "要使用的 WPA Supplicant 包。"

#. type: item
#: guix-git/doc/guix.texi:21929
#, fuzzy, no-wrap
msgid "@code{requirement} (default: @code{'(user-processes loopback syslogd)}"
msgstr "@code{requirement}(默认:@code{'(user-processes loopback syslogd)}"

#. type: table
#: guix-git/doc/guix.texi:21931
#, fuzzy
msgid "List of services that should be started before WPA Supplicant starts."
msgstr "在 WPA Supplicant 启动之前应启动的服务列表。"

#. type: item
#: guix-git/doc/guix.texi:21932
#, fuzzy, no-wrap
msgid "@code{dbus?} (default: @code{#t})"
msgstr "@code{dbus?}(默认:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:21934
#, fuzzy
msgid "Whether to listen for requests on D-Bus."
msgstr "是否监听 D-Bus 上的请求。"

#. type: item
#: guix-git/doc/guix.texi:21935
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/var/run/wpa_supplicant.pid\"})"
msgstr "@code{pid-file}(默认:@code{\"/var/run/wpa_supplicant.pid\"})"

#. type: table
#: guix-git/doc/guix.texi:21937
#, fuzzy
msgid "Where to store the PID file."
msgstr "存储 PID 文件的位置。"

#. type: item
#: guix-git/doc/guix.texi:21938 guix-git/doc/guix.texi:38961
#: guix-git/doc/guix.texi:39103
#, fuzzy, no-wrap
msgid "@code{interface} (default: @code{#f})"
msgstr "@code{interface}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:21941
#, fuzzy
msgid "If this is set, it must specify the name of a network interface that WPA supplicant will control."
msgstr "如果设置了此项,则必须指定 WPA supplicant 将控制的网络接口的名称。"

#. type: table
#: guix-git/doc/guix.texi:21944
#, fuzzy
msgid "Optional configuration file to use."
msgstr "可选的配置文件。"

#. type: table
#: guix-git/doc/guix.texi:21947
#, fuzzy
msgid "List of additional command-line arguments to pass to the daemon."
msgstr "传递给守护进程的额外命令行参数列表。"

#. type: cindex
#: guix-git/doc/guix.texi:21950
#, fuzzy, no-wrap
msgid "ModemManager"
msgstr "ModemManager"

#. type: Plain text
#: guix-git/doc/guix.texi:21953
#, fuzzy
msgid "Some networking devices such as modems require special care, and this is what the services below focus on."
msgstr "某些网络设备,如调制解调器,需要特别处理,这就是下面服务的重点。"

#. type: defvar
#: guix-git/doc/guix.texi:21954
#, fuzzy, no-wrap
msgid "modem-manager-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:21959
#, fuzzy
msgid "This is the service type for the @uref{https://wiki.gnome.org/Projects/ModemManager, ModemManager} service.  The value for this service type is a @code{modem-manager-configuration} record."
msgstr "这是 @uref{https://wiki.gnome.org/Projects/ModemManager, ModemManager} 服务的服务类型。该服务类型的值是 @code{modem-manager-configuration} 记录。"

#. type: deftp
#: guix-git/doc/guix.texi:21964
#, fuzzy, no-wrap
msgid "{Data Type} modem-manager-configuration"
msgstr "{数据类型} modem-manager-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:21966
#, fuzzy
msgid "Data type representing the configuration of ModemManager."
msgstr "表示 ModemManager 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:21968
#, fuzzy, no-wrap
msgid "@code{modem-manager} (default: @code{modem-manager})"
msgstr "@code{modem-manager}(默认值:@code{modem-manager})"

#. type: table
#: guix-git/doc/guix.texi:21970
#, fuzzy
msgid "The ModemManager package to use."
msgstr "要使用的 ModemManager 包。"

#. type: cindex
#: guix-git/doc/guix.texi:21974
#, fuzzy, no-wrap
msgid "USB_ModeSwitch"
msgstr "USB_ModeSwitch"

#. type: cindex
#: guix-git/doc/guix.texi:21975
#, fuzzy, no-wrap
msgid "Modeswitching"
msgstr "模式切换"

#. type: defvar
#: guix-git/doc/guix.texi:21977
#, fuzzy, no-wrap
msgid "usb-modeswitch-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:21982
#, fuzzy
msgid "This is the service type for the @uref{https://www.draisberghof.de/usb_modeswitch/, USB_ModeSwitch} service.  The value for this service type is a @code{usb-modeswitch-configuration} record."
msgstr "这是 @uref{https://www.draisberghof.de/usb_modeswitch/, USB_ModeSwitch} 服务的服务类型。该服务类型的值是一个 @code{usb-modeswitch-configuration} 记录。"

#. type: defvar
#: guix-git/doc/guix.texi:21988
#, fuzzy
msgid "When plugged in, some USB modems (and other USB devices) initially present themselves as a read-only storage medium and not as a modem.  They need to be @dfn{modeswitched} before they are usable.  The USB_ModeSwitch service type installs udev rules to automatically modeswitch these devices when they are plugged in."
msgstr "插入时,一些 USB 调制解调器(和其他 USB 设备)最初会以只读存储介质的形式出现,而不是作为调制解调器。它们需要在可用之前进行 @dfn{模式切换}。USB_ModeSwitch 服务类型安装 udev 规则,以便在插入时自动模式切换这些设备。"

#. type: deftp
#: guix-git/doc/guix.texi:21993
#, fuzzy, no-wrap
msgid "{Data Type} usb-modeswitch-configuration"
msgstr "{数据类型} usb-modeswitch-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:21995
#, fuzzy
msgid "Data type representing the configuration of USB_ModeSwitch."
msgstr "表示 USB_ModeSwitch 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:21997
#, fuzzy, no-wrap
msgid "@code{usb-modeswitch} (default: @code{usb-modeswitch})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:21999
#, fuzzy
msgid "The USB_ModeSwitch package providing the binaries for modeswitching."
msgstr "提供模式切换二进制文件的 USB_ModeSwitch 包。"

#. type: item
#: guix-git/doc/guix.texi:22000
#, fuzzy, no-wrap
msgid "@code{usb-modeswitch-data} (default: @code{usb-modeswitch-data})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:22003
#, fuzzy
msgid "The package providing the device data and udev rules file used by USB_ModeSwitch."
msgstr "提供 USB_ModeSwitch 使用的设备数据和 udev 规则文件的包。"

#. type: item
#: guix-git/doc/guix.texi:22004
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{#~(string-append #$usb-modeswitch:dispatcher \"/etc/usb_modeswitch.conf\")})"
msgstr "@code{config-file}(默认值:@code{#~(string-append #$usb-modeswitch:dispatcher \"/etc/usb_modeswitch.conf\")})"

#. type: table
#: guix-git/doc/guix.texi:22009
#, fuzzy
msgid "Which config file to use for the USB_ModeSwitch dispatcher.  By default the config file shipped with USB_ModeSwitch is used which disables logging to @file{/var/log} among other default settings.  If set to @code{#f}, no config file is used."
msgstr "用于 USB_ModeSwitch 调度程序的配置文件。默认情况下,使用随 USB_ModeSwitch 附带的配置文件,该文件禁用 @file{/var/log} 的日志记录以及其他默认设置。如果设置为 @code{#f},则不使用配置文件。"

#. type: Plain text
#: guix-git/doc/guix.texi:22023
#, fuzzy
msgid "The @code{(gnu services networking)} module discussed in the previous section provides services for more advanced setups: providing a DHCP service for others to use, filtering packets with iptables or nftables, running a WiFi access point with @command{hostapd}, running the @command{inetd} ``superdaemon'', and more.  This section describes those."
msgstr "在上一节中讨论的 @code{(gnu services networking)} 模块提供了更高级设置的服务:为其他人提供 DHCP 服务,使用 iptables 或 nftables 过滤数据包,运行带有 @command{hostapd} 的 WiFi 接入点,运行 @command{inetd} “超级守护进程”等。 本节描述了这些。"

#. type: defvar
#: guix-git/doc/guix.texi:22024
#, fuzzy, no-wrap
msgid "dhcpd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22028
#, fuzzy
msgid "This type defines a service that runs a DHCP daemon.  To create a service of this type, you must supply a @code{<dhcpd-configuration>}.  For example:"
msgstr "此类型定义了运行 DHCP 守护进程的服务。要创建此类型的服务,必须提供 @code{<dhcpd-configuration>}。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:22034
#, fuzzy, no-wrap
msgid ""
"(service dhcpd-service-type\n"
"         (dhcpd-configuration\n"
"          (config-file (local-file \"my-dhcpd.conf\"))\n"
"          (interfaces '(\"enp0s25\"))))\n"
msgstr ""
"(service dhcpd-service-type\n"
"         (dhcpd-configuration\n"
"          (config-file (local-file \"my-dhcpd.conf\"))\n"
"          (interfaces '(\"enp0s25\"))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:22037
#, fuzzy, no-wrap
msgid "{Data Type} dhcpd-configuration"
msgstr "{数据类型} dhcpd-configuration"

#. type: table
#: guix-git/doc/guix.texi:22044
#, fuzzy
msgid "The package that provides the DHCP daemon.  This package is expected to provide the daemon at @file{sbin/dhcpd} relative to its output directory.  The default package is the @uref{https://www.isc.org/dhcp/, ISC's DHCP server}."
msgstr "提供 DHCP 守护进程的包。该包预计在其输出目录相对路径 @file{sbin/dhcpd} 提供守护进程。默认包是 @uref{https://www.isc.org/dhcp/, ISC 的 DHCP 服务器}。"

#. type: table
#: guix-git/doc/guix.texi:22049
#, fuzzy
msgid "The configuration file to use.  This is required.  It will be passed to @code{dhcpd} via its @code{-cf} option.  This may be any ``file-like'' object (@pxref{G-Expressions, file-like objects}).  See @code{man dhcpd.conf} for details on the configuration file syntax."
msgstr "要使用的配置文件。这是必需的。它将通过 @code{-cf} 选项传递给 @code{dhcpd}。这可以是任何“文件样”对象(@pxref{G-Expressions, file-like objects})。有关配置文件语法的详细信息,请参见 @code{man dhcpd.conf}。"

#. type: table
#: guix-git/doc/guix.texi:22054
#, fuzzy
msgid "The DHCP version to use.  The ISC DHCP server supports the values ``4'', ``6'', and ``4o6''.  These correspond to the @code{dhcpd} program options @code{-4}, @code{-6}, and @code{-4o6}.  See @code{man dhcpd} for details."
msgstr "要使用的 DHCP 版本。ISC DHCP 服务器支持值“4”、“6”和“4o6”。这些对应于 @code{dhcpd} 程序选项 @code{-4}、@code{-6} 和 @code{-4o6}。有关详细信息,请参见 @code{man dhcpd}。"

#. type: item
#: guix-git/doc/guix.texi:22054
#, fuzzy, no-wrap
msgid "@code{run-directory} (default: @code{\"/run/dhcpd\"})"
msgstr "@code{run-directory}(默认值:@code{\"/run/dhcpd\"})"

#. type: table
#: guix-git/doc/guix.texi:22057
#, fuzzy
msgid "The run directory to use.  At service activation time, this directory will be created if it does not exist."
msgstr "要使用的运行目录。在服务激活时,如果该目录不存在,将会创建它。"

#. type: item
#: guix-git/doc/guix.texi:22057
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/run/dhcpd/dhcpd.pid\"})"
msgstr "@code{pid-file}(默认值:@code{\"/run/dhcpd/dhcpd.pid\"})"

#. type: table
#: guix-git/doc/guix.texi:22060
#, fuzzy
msgid "The PID file to use.  This corresponds to the @code{-pf} option of @code{dhcpd}.  See @code{man dhcpd} for details."
msgstr "要使用的 PID 文件。这对应于 @code{dhcpd} 的 @code{-pf} 选项。有关详细信息,请参见 @code{man dhcpd}。"

#. type: item
#: guix-git/doc/guix.texi:22060
#, fuzzy, no-wrap
msgid "@code{interfaces} (default: @code{'()})"
msgstr "@code{interfaces}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:22066
#, fuzzy
msgid "The names of the network interfaces on which dhcpd should listen for broadcasts.  If this list is not empty, then its elements (which must be strings) will be appended to the @code{dhcpd} invocation when starting the daemon.  It may not be necessary to explicitly specify any interfaces here; see @code{man dhcpd} for details."
msgstr "dhcpd 应该监听广播的网络接口名称。如果此列表不为空,则其元素(必须是字符串)将在启动守护进程时附加到 @code{dhcpd} 调用中。可能不需要在此处显式指定任何接口;有关详细信息,请参见 @code{man dhcpd}。"

#. type: cindex
#: guix-git/doc/guix.texi:22069
#, fuzzy, no-wrap
msgid "hostapd service, for Wi-Fi access points"
msgstr "hostapd 服务,用于 Wi-Fi 接入点"

#. type: cindex
#: guix-git/doc/guix.texi:22070
#, fuzzy, no-wrap
msgid "Wi-Fi access points, hostapd service"
msgstr "Wi-Fi 接入点,hostapd 服务"

#. type: defvar
#: guix-git/doc/guix.texi:22071
#, fuzzy, no-wrap
msgid "hostapd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22076
#, fuzzy
msgid "This is the service type to run the @uref{https://w1.fi/hostapd/, hostapd} daemon to set up WiFi (IEEE 802.11) access points and authentication servers.  Its associated value must be a @code{hostapd-configuration} as shown below:"
msgstr "这是运行 @uref{https://w1.fi/hostapd/, hostapd} 守护进程以设置 WiFi(IEEE 802.11)接入点和认证服务器的服务类型。其关联值必须是如下所示的 @code{hostapd-configuration}:"

#. type: lisp
#: guix-git/doc/guix.texi:22084
#, fuzzy, no-wrap
msgid ""
";; Use wlan1 to run the access point for \"My Network\".\n"
"(service hostapd-service-type\n"
"         (hostapd-configuration\n"
"          (interface \"wlan1\")\n"
"          (ssid \"My Network\")\n"
"          (channel 12)))\n"
msgstr ""
";; 使用 wlan1 运行“我的网络”的接入点。\n"
"(service hostapd-service-type\n"
"         (hostapd-configuration\n"
"          (interface \"wlan1\")\n"
"          (ssid \"My Network\")\n"
"          (channel 12)))\n"

#. type: deftp
#: guix-git/doc/guix.texi:22087
#, fuzzy, no-wrap
msgid "{Data Type} hostapd-configuration"
msgstr "{数据类型} hostapd-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:22090
#, fuzzy
msgid "This data type represents the configuration of the hostapd service, with the following fields:"
msgstr "此数据类型表示 hostapd 服务的配置,具有以下字段:"

#. type: item
#: guix-git/doc/guix.texi:22092
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{hostapd})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:22094
#, fuzzy
msgid "The hostapd package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:22095
#, fuzzy, no-wrap
msgid "@code{interface} (default: @code{\"wlan0\"})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:22097
#, fuzzy
msgid "The network interface to run the WiFi access point."
msgstr "运行 WiFi 接入点的网络接口。"

#. type: code{#1}
#: guix-git/doc/guix.texi:22098
#, fuzzy, no-wrap
msgid "ssid"
msgstr "ssid"

#. type: table
#: guix-git/doc/guix.texi:22101
#, fuzzy
msgid "The SSID (@dfn{service set identifier}), a string that identifies this network."
msgstr "SSID(@dfn{服务集标识符),一个标识此网络的字符串。"

#. type: item
#: guix-git/doc/guix.texi:22102
#, fuzzy, no-wrap
msgid "@code{broadcast-ssid?} (default: @code{#t})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:22104
#, fuzzy
msgid "Whether to broadcast this SSID."
msgstr "是否广播此 SSID。"

#. type: item
#: guix-git/doc/guix.texi:22105
#, fuzzy, no-wrap
msgid "@code{channel} (default: @code{1})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22107
#, fuzzy
msgid "The WiFi channel to use."
msgstr "要使用的 WiFi 通道。"

#. type: item
#: guix-git/doc/guix.texi:22108
#, fuzzy, no-wrap
msgid "@code{driver} (default: @code{\"nl80211\"})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:22112
#, fuzzy
msgid "The driver interface type.  @code{\"nl80211\"} is used with all Linux mac80211 drivers.  Use @code{\"none\"} if building hostapd as a standalone RADIUS server that does not control any wireless/wired driver."
msgstr "驱动程序接口类型。 @code{\"nl80211\"} 与所有 Linux mac80211 驱动程序一起使用。如果将 hostapd 构建为不控制任何无线/有线驱动程序的独立 RADIUS 服务器,请使用 @code{\"none\"}。"

#. type: item
#: guix-git/doc/guix.texi:22113 guix-git/doc/guix.texi:30026
#: guix-git/doc/guix.texi:33573
#, fuzzy, no-wrap
msgid "@code{extra-settings} (default: @code{\"\"})"
msgstr "@code{extra-settings}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:22117
#, fuzzy
msgid "Extra settings to append as-is to the hostapd configuration file.  See @uref{https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf} for the configuration file reference."
msgstr "额外设置将原样附加到 hostapd 配置文件中。有关配置文件参考,请参见 @uref{https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf}。"

#. type: defvar
#: guix-git/doc/guix.texi:22120
#, fuzzy, no-wrap
msgid "simulated-wifi-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22127
#, fuzzy
msgid "This is the type of a service to simulate WiFi networking, which can be useful in virtual machines for testing purposes.  The service loads the Linux kernel @uref{https://www.kernel.org/doc/html/latest/networking/mac80211_hwsim/mac80211_hwsim.html, @code{mac80211_hwsim} module} and starts hostapd to create a pseudo WiFi network that can be seen on @code{wlan0}, by default."
msgstr "这是模拟 WiFi 网络的服务类型,这在虚拟机中进行测试时非常有用。该服务加载 Linux 内核 @uref{https://www.kernel.org/doc/html/latest/networking/mac80211_hwsim/mac80211_hwsim.html, @code{mac80211_hwsim} 模块} 并启动 hostapd 创建一个伪 WiFi 网络,默认情况下可以在 @code{wlan0} 上看到。"

#. type: defvar
#: guix-git/doc/guix.texi:22129
#, fuzzy
msgid "The service's value is a @code{hostapd-configuration} record."
msgstr "该服务的值是一个 @code{hostapd-configuration} 记录。"

#. type: cindex
#: guix-git/doc/guix.texi:22132
#, fuzzy, no-wrap
msgid "iptables"
msgstr "iptables"

#. type: defvar
#: guix-git/doc/guix.texi:22133
#, fuzzy, no-wrap
msgid "iptables-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22139
#, fuzzy
msgid "This is the service type to set up an iptables configuration.  iptables is a packet filtering framework supported by the Linux kernel.  This service supports configuring iptables for both IPv4 and IPv6.  A simple example configuration rejecting all incoming connections except those to the ssh port 22 is shown below."
msgstr "这是设置 iptables 配置的服务类型。 iptables 是一个由 Linux 内核支持的数据包过滤框架。该服务支持为 IPv4 和 IPv6 配置 iptables。下面是一个简单的示例配置,拒绝所有传入连接,除了对 ssh 端口 22 的连接。"

#. type: lisp
#: guix-git/doc/guix.texi:22161
#, fuzzy, no-wrap
msgid ""
"(service iptables-service-type\n"
"         (iptables-configuration\n"
"          (ipv4-rules (plain-file \"iptables.rules\" \"*filter\n"
":INPUT ACCEPT\n"
":FORWARD ACCEPT\n"
":OUTPUT ACCEPT\n"
"-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT\n"
"-A INPUT -p tcp --dport 22 -j ACCEPT\n"
"-A INPUT -j REJECT --reject-with icmp-port-unreachable\n"
"COMMIT\n"
"\"))\n"
"          (ipv6-rules (plain-file \"ip6tables.rules\" \"*filter\n"
":INPUT ACCEPT\n"
":FORWARD ACCEPT\n"
":OUTPUT ACCEPT\n"
"-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT\n"
"-A INPUT -p tcp --dport 22 -j ACCEPT\n"
"-A INPUT -j REJECT --reject-with icmp6-port-unreachable\n"
"COMMIT\n"
"\"))))\n"
msgstr ""
"(服务 iptables-service-type\n"
"         (iptables-configuration\n"
"          (ipv4-rules (plain-file \"iptables.rules\" \"*filter\n"
":INPUT ACCEPT\n"
":FORWARD ACCEPT\n"
":OUTPUT ACCEPT\n"
"-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT\n"
"-A INPUT -p tcp --dport 22 -j ACCEPT\n"
"-A INPUT -j REJECT --reject-with icmp-port-unreachable\n"
"COMMIT\n"
"\"))\n"
"          (ipv6-rules (plain-file \"ip6tables.rules\" \"*filter\n"
":INPUT ACCEPT\n"
":FORWARD ACCEPT\n"
":OUTPUT ACCEPT\n"
"-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT\n"
"-A INPUT -p tcp --dport 22 -j ACCEPT\n"
"-A INPUT -j REJECT --reject-with icmp6-port-unreachable\n"
"COMMIT\n"
"\"))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:22164
#, fuzzy, no-wrap
msgid "{Data Type} iptables-configuration"
msgstr "{数据类型} iptables-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:22166
#, fuzzy
msgid "The data type representing the configuration of iptables."
msgstr "表示 iptables 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:22168
#, fuzzy, no-wrap
msgid "@code{iptables} (default: @code{iptables})"
msgstr "@code{iptables}(默认值:@code{iptables})"

#. type: table
#: guix-git/doc/guix.texi:22171
#, fuzzy
msgid "The iptables package that provides @code{iptables-restore} and @code{ip6tables-restore}."
msgstr "提供 @code{iptables-restore} 和 @code{ip6tables-restore} 的 iptables 包。"

#. type: item
#: guix-git/doc/guix.texi:22171
#, fuzzy, no-wrap
msgid "@code{ipv4-rules} (default: @code{%iptables-accept-all-rules})"
msgstr "@code{ipv4-rules}(默认值:@code{%iptables-accept-all-rules})"

#. type: table
#: guix-git/doc/guix.texi:22175
#, fuzzy
msgid "The iptables rules to use.  It will be passed to @code{iptables-restore}.  This may be any ``file-like'' object (@pxref{G-Expressions, file-like objects})."
msgstr "要使用的iptables规则。它将传递给@code{iptables-restore}。这可以是任何“文件类似”对象(@pxref{G-Expressions, file-like objects})。"

#. type: item
#: guix-git/doc/guix.texi:22175
#, fuzzy, no-wrap
msgid "@code{ipv6-rules} (default: @code{%iptables-accept-all-rules})"
msgstr "@code{ipv6-rules}(默认值:@code{%iptables-accept-all-rules})"

#. type: table
#: guix-git/doc/guix.texi:22179
#, fuzzy
msgid "The ip6tables rules to use.  It will be passed to @code{ip6tables-restore}.  This may be any ``file-like'' object (@pxref{G-Expressions, file-like objects})."
msgstr "要使用的ip6tables规则。它将传递给@code{ip6tables-restore}。这可以是任何“文件类似”对象(@pxref{G-Expressions, file-like objects})。"

#. type: cindex
#: guix-git/doc/guix.texi:22182
#, fuzzy, no-wrap
msgid "nftables"
msgstr "nftables"

#. type: defvar
#: guix-git/doc/guix.texi:22183
#, fuzzy, no-wrap
msgid "nftables-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22191
#, fuzzy
msgid "This is the service type to set up a nftables configuration.  nftables is a netfilter project that aims to replace the existing iptables, ip6tables, arptables and ebtables framework.  It provides a new packet filtering framework, a new user-space utility @command{nft}, and a compatibility layer for iptables.  This service comes with a default ruleset @code{%default-nftables-ruleset} that rejecting all incoming connections except those to the ssh port 22.  To use it, simply write:"
msgstr "这是设置nftables配置的服务类型。nftables是一个netfilter项目,旨在替代现有的iptables、ip6tables、arptables和ebtables框架。它提供了一个新的数据包过滤框架,一个新的用户空间工具@command{nft},以及iptables的兼容层。该服务附带默认规则集@code{%default-nftables-ruleset},拒绝所有传入连接,除了ssh端口22的连接。要使用它,只需写:"

#. type: lisp
#: guix-git/doc/guix.texi:22194
#, fuzzy, no-wrap
msgid "(service nftables-service-type)\n"
msgstr "(service nftables-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:22197
#, fuzzy, no-wrap
msgid "{Data Type} nftables-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:22199
#, fuzzy
msgid "The data type representing the configuration of nftables."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:22201
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{nftables})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:22203
#, fuzzy
msgid "The nftables package that provides @command{nft}."
msgstr "提供@command{nft}的nftables软件包。"

#. type: item
#: guix-git/doc/guix.texi:22203
#, fuzzy, no-wrap
msgid "@code{ruleset} (default: @code{%default-nftables-ruleset})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:22206
#, fuzzy
msgid "The nftables ruleset to use.  This may be any ``file-like'' object (@pxref{G-Expressions, file-like objects})."
msgstr "要使用的nftables规则集。这可以是任何“文件类似”对象(@pxref{G-Expressions, file-like objects})。"

#. type: cindex
#: guix-git/doc/guix.texi:22209
#, fuzzy, no-wrap
msgid "NTP (Network Time Protocol), service"
msgstr "NTP(网络时间协议),服务"

#. type: cindex
#: guix-git/doc/guix.texi:22210
#, fuzzy, no-wrap
msgid "ntpd, service for the Network Time Protocol daemon"
msgstr "ntpd,网络时间协议守护进程的服务"

#. type: cindex
#: guix-git/doc/guix.texi:22211
#, fuzzy, no-wrap
msgid "real time clock"
msgstr "实时时钟"

#. type: defvar
#: guix-git/doc/guix.texi:22212
#, fuzzy, no-wrap
msgid "ntp-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22216
#, fuzzy
msgid "This is the type of the service running the @uref{https://www.ntp.org, Network Time Protocol (NTP)} daemon, @command{ntpd}.  The daemon will keep the system clock synchronized with that of the specified NTP servers."
msgstr "这是运行@uref{https://www.ntp.org, 网络时间协议(NTP)}守护进程@command{ntpd}的服务类型。该守护进程将保持系统时钟与指定NTP服务器的时钟同步。"

#. type: defvar
#: guix-git/doc/guix.texi:22219
#, fuzzy
msgid "The value of this service is an @code{ntpd-configuration} object, as described below."
msgstr "该服务的值是一个@code{ntpd-configuration}对象,如下所述。"

#. type: deftp
#: guix-git/doc/guix.texi:22221
#, fuzzy, no-wrap
msgid "{Data Type} ntp-configuration"
msgstr "{数据类型} ntp-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:22223
#, fuzzy
msgid "This is the data type for the NTP service configuration."
msgstr "这是NTP服务配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:22225
#, fuzzy, no-wrap
msgid "@code{servers} (default: @code{%ntp-servers})"
msgstr "@code{servers}(默认值:@code{%ntp-servers})"

#. type: table
#: guix-git/doc/guix.texi:22229
#, fuzzy
msgid "This is the list of servers (@code{<ntp-server>} records) with which @command{ntpd} will be synchronized.  See the @code{ntp-server} data type definition below."
msgstr "这是@command{ntpd}将与之同步的服务器列表(@code{<ntp-server>}记录)。请参见下面的@code{ntp-server}数据类型定义。"

#. type: item
#: guix-git/doc/guix.texi:22230
#, fuzzy, no-wrap
msgid "@code{allow-large-adjustment?} (default: @code{#t})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22233
#, fuzzy
msgid "This determines whether @command{ntpd} is allowed to make an initial adjustment of more than 1,000 seconds."
msgstr "这决定了@command{ntpd}是否被允许进行超过1,000秒的初始调整。"

#. type: item
#: guix-git/doc/guix.texi:22234
#, fuzzy, no-wrap
msgid "@code{ntp} (default: @code{ntp})"
msgstr "@code{ntp}(默认值:@code{ntp})"

#. type: table
#: guix-git/doc/guix.texi:22236
#, fuzzy
msgid "The NTP package to use."
msgstr "要使用的NTP软件包。"

#. type: defvar
#: guix-git/doc/guix.texi:22239
#, fuzzy, no-wrap
msgid "%ntp-servers"
msgstr "基础服务"

#. type: defvar
#: guix-git/doc/guix.texi:22242
#, fuzzy
msgid "List of host names used as the default NTP servers.  These are servers of the @uref{https://www.ntppool.org/en/, NTP Pool Project}."
msgstr "用作默认NTP服务器的主机名列表。这些是@uref{https://www.ntppool.org/en/, NTP池项目}的服务器。"

#. type: deftp
#: guix-git/doc/guix.texi:22244
#, fuzzy, no-wrap
msgid "{Data Type} ntp-server"
msgstr "{数据类型} ntp-server"

#. type: deftp
#: guix-git/doc/guix.texi:22246
#, fuzzy
msgid "The data type representing the configuration of a NTP server."
msgstr "表示NTP服务器配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:22248
#, fuzzy, no-wrap
msgid "@code{type} (default: @code{'server})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:22251
#, fuzzy
msgid "The type of the NTP server, given as a symbol.  One of @code{'pool}, @code{'server}, @code{'peer}, @code{'broadcast} or @code{'manycastclient}."
msgstr "NTP服务器的类型,以符号形式给出。可以是@code{'pool}、@code{'server}、@code{'peer}、@code{'broadcast}或@code{'manycastclient}之一。"

#. type: code{#1}
#: guix-git/doc/guix.texi:22252
#, fuzzy, no-wrap
msgid "address"
msgstr "地址"

#. type: table
#: guix-git/doc/guix.texi:22254
#, fuzzy
msgid "The address of the server, as a string."
msgstr "服务器的地址,作为字符串。"

#. type: code{#1}
#: guix-git/doc/guix.texi:22255 guix-git/doc/guix.texi:42033
#: guix-git/doc/guix.texi:42053
#, fuzzy, no-wrap
msgid "options"
msgstr "选项"

#. type: table
#: guix-git/doc/guix.texi:22260
#, fuzzy
msgid "NTPD options to use with that specific server, given as a list of option names and/or of option names and values tuples.  The following example define a server to use with the options @option{iburst} and @option{prefer}, as well as @option{version} 3 and a @option{maxpoll} time of 16 seconds."
msgstr "与特定服务器一起使用的NTPD选项,作为选项名称和/或选项名称和值元组的列表。以下示例定义了一个服务器,使用选项@option{iburst}和@option{prefer},以及@option{version} 3和@option{maxpoll}时间为16秒。"

#. type: example
#: guix-git/doc/guix.texi:22266
#, fuzzy, no-wrap
msgid ""
"(ntp-server\n"
" (type 'server)\n"
" (address \"some.ntp.server.org\")\n"
" (options `(iburst (version 3) (maxpoll 16) prefer))))\n"
msgstr ""
"(ntp-server\n"
" (type 'server)\n"
" (address \"some.ntp.server.org\")\n"
" (options `(iburst (version 3) (maxpoll 16) prefer))))\n"

#. type: cindex
#: guix-git/doc/guix.texi:22270
#, fuzzy, no-wrap
msgid "OpenNTPD"
msgstr "OpenNTPD"

#. type: defvar
#: guix-git/doc/guix.texi:22271
#, fuzzy, no-wrap
msgid "openntpd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22275
#, fuzzy
msgid "Run the @command{ntpd}, the Network Time Protocol (NTP) daemon, as implemented by @uref{http://www.openntpd.org, OpenNTPD}.  The daemon will keep the system clock synchronized with that of the given servers."
msgstr "运行@command{ntpd},即网络时间协议(NTP)守护进程,由@uref{http://www.openntpd.org, OpenNTPD}实现。该守护进程将保持系统时钟与给定服务器的时钟同步。"

#. type: lisp
#: guix-git/doc/guix.texi:22284
#, fuzzy, no-wrap
msgid ""
"(service\n"
" openntpd-service-type\n"
" (openntpd-configuration\n"
"  (listen-on '(\"127.0.0.1\" \"::1\"))\n"
"  (sensor '(\"udcf0 correction 70000\"))\n"
"  (constraint-from '(\"www.gnu.org\"))\n"
"  (constraints-from '(\"https://www.google.com/\"))))\n"
"\n"
msgstr ""
"(service\n"
" openntpd-service-type\n"
" (openntpd-configuration\n"
"  (listen-on '(\"127.0.0.1\" \"::1\"))\n"
"  (sensor '(\"udcf0 correction 70000\"))\n"
"  (constraint-from '(\"www.gnu.org\"))\n"
"  (constraints-from '(\"https://www.google.com/\"))))\n"
"\n"

#. type: defvar
#: guix-git/doc/guix.texi:22288
#, fuzzy, no-wrap
msgid "%openntpd-servers"
msgstr "%openntpd-servers"

#. type: defvar
#: guix-git/doc/guix.texi:22291
#, fuzzy
msgid "This variable is a list of the server addresses defined in @code{%ntp-servers}."
msgstr "此变量是@code{%ntp-servers}中定义的服务器地址的列表。"

#. type: deftp
#: guix-git/doc/guix.texi:22293
#, fuzzy, no-wrap
msgid "{Data Type} openntpd-configuration"
msgstr "{数据类型} openntpd-configuration"

#. type: item
#: guix-git/doc/guix.texi:22295
#, fuzzy, no-wrap
msgid "@code{openntpd} (default: @code{openntpd})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22297
#, fuzzy
msgid "The openntpd package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:22297
#, fuzzy, no-wrap
msgid "@code{listen-on} (default: @code{'(\"127.0.0.1\" \"::1\")})"
msgstr "@code{listen-on}(默认值:@code{'(\"127.0.0.1\" \"::1\")})"

#. type: table
#: guix-git/doc/guix.texi:22299
#, fuzzy
msgid "A list of local IP addresses or hostnames the ntpd daemon should listen on."
msgstr "ntpd守护进程应监听的本地IP地址或主机名的列表。"

#. type: item
#: guix-git/doc/guix.texi:22299
#, fuzzy, no-wrap
msgid "@code{query-from} (default: @code{'()})"
msgstr "@code{query-from}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:22301
#, fuzzy
msgid "A list of local IP address the ntpd daemon should use for outgoing queries."
msgstr "ntpd守护进程应用于发出查询的本地IP地址列表。"

#. type: item
#: guix-git/doc/guix.texi:22301
#, fuzzy, no-wrap
msgid "@code{sensor} (default: @code{'()})"
msgstr "@code{sensor}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:22306
#, fuzzy
msgid "Specify a list of timedelta sensor devices ntpd should use.  @code{ntpd} will listen to each sensor that actually exists and ignore non-existent ones.  See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} for more information."
msgstr "指定ntpd应使用的时间传感器设备列表。@code{ntpd}将监听每个实际存在的传感器,并忽略不存在的传感器。有关更多信息,请参见@uref{https://man.openbsd.org/ntpd.conf, 上游文档}。"

#. type: item
#: guix-git/doc/guix.texi:22306
#, fuzzy, no-wrap
msgid "@code{server} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:22308
#, fuzzy
msgid "Specify a list of IP addresses or hostnames of NTP servers to synchronize to."
msgstr "指定要同步的NTP服务器的IP地址或主机名列表。"

#. type: item
#: guix-git/doc/guix.texi:22308
#, fuzzy, no-wrap
msgid "@code{servers} (default: @code{%openntp-servers})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:22310
#, fuzzy
msgid "Specify a list of IP addresses or hostnames of NTP pools to synchronize to."
msgstr "指定要同步的NTP池的IP地址或主机名列表。"

#. type: item
#: guix-git/doc/guix.texi:22310
#, fuzzy, no-wrap
msgid "@code{constraint-from} (default: @code{'()})"
msgstr "@code{constraint-from}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:22317
#, fuzzy
msgid "@code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers via TLS.  This time information is not used for precision but acts as an authenticated constraint, thereby reducing the impact of unauthenticated NTP man-in-the-middle attacks.  Specify a list of URLs, IP addresses or hostnames of HTTPS servers to provide a constraint."
msgstr "@code{ntpd}可以配置为通过TLS从受信任的HTTPS服务器查询“日期”。此时间信息不用于精确度,而是作为经过身份验证的约束,从而减少未经身份验证的NTP中间人攻击的影响。指定提供约束的HTTPS服务器的URL、IP地址或主机名列表。"

#. type: item
#: guix-git/doc/guix.texi:22317
#, fuzzy, no-wrap
msgid "@code{constraints-from} (default: @code{'()})"
msgstr "@code{constraints-from}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:22321
#, fuzzy
msgid "As with constraint from, specify a list of URLs, IP addresses or hostnames of HTTPS servers to provide a constraint.  Should the hostname resolve to multiple IP addresses, @code{ntpd} will calculate a median constraint from all of them."
msgstr "与约束来源相同,指定一个 URL、IP 地址或 HTTPS 服务器的主机名列表以提供约束。如果主机名解析为多个 IP 地址,@code{ntpd} 将从所有这些地址计算中位数约束。"

#. type: cindex
#: guix-git/doc/guix.texi:22324
#, fuzzy, no-wrap
msgid "inetd"
msgstr "inetd"

#. type: defvar
#: guix-git/doc/guix.texi:22325
#, fuzzy, no-wrap
msgid "inetd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22330
#, fuzzy
msgid "This service runs the @command{inetd} (@pxref{inetd invocation,,, inetutils, GNU Inetutils}) daemon.  @command{inetd} listens for connections on internet sockets, and lazily starts the specified server program when a connection is made on one of these sockets."
msgstr "此服务运行 @command{inetd}(@pxref{inetd invocation,,, inetutils, GNU Inetutils})守护进程。@command{inetd} 监听互联网套接字上的连接,并在这些套接字上建立连接时懒惰地启动指定的服务器程序。"

#. type: defvar
#: guix-git/doc/guix.texi:22336
#, fuzzy
msgid "The value of this service is an @code{inetd-configuration} object.  The following example configures the @command{inetd} daemon to provide the built-in @command{echo} service, as well as an smtp service which forwards smtp traffic over ssh to a server @code{smtp-server} behind a gateway @code{hostname}:"
msgstr "此服务的值是一个 @code{inetd-configuration} 对象。以下示例配置 @command{inetd} 守护进程以提供内置的 @command{echo} 服务,以及一个将 SMTP 流量通过 SSH 转发到网关 @code{hostname} 后的服务器 @code{smtp-server} 的 SMTP 服务:"

#. type: lisp
#: guix-git/doc/guix.texi:22359
#, fuzzy, no-wrap
msgid ""
"(service\n"
" inetd-service-type\n"
" (inetd-configuration\n"
"  (entries (list\n"
"            (inetd-entry\n"
"             (name \"echo\")\n"
"             (socket-type 'stream)\n"
"             (protocol \"tcp\")\n"
"             (wait? #f)\n"
"             (user \"root\"))\n"
"            (inetd-entry\n"
"             (node \"127.0.0.1\")\n"
"             (name \"smtp\")\n"
"             (socket-type 'stream)\n"
"             (protocol \"tcp\")\n"
"             (wait? #f)\n"
"             (user \"root\")\n"
"             (program (file-append openssh \"/bin/ssh\"))\n"
"             (arguments\n"
"              '(\"ssh\" \"-qT\" \"-i\" \"/path/to/ssh_key\"\n"
"                \"-W\" \"smtp-server:25\" \"user@@hostname\")))))))\n"
msgstr ""
"(service\n"
" inetd-service-type\n"
" (inetd-configuration\n"
"  (entries (list\n"
"            (inetd-entry\n"
"             (name \"echo\")\n"
"             (socket-type 'stream)\n"
"             (protocol \"tcp\")\n"
"             (wait? #f)\n"
"             (user \"root\"))\n"
"            (inetd-entry\n"
"             (node \"127.0.0.1\")\n"
"             (name \"smtp\")\n"
"             (socket-type 'stream)\n"
"             (protocol \"tcp\")\n"
"             (wait? #f)\n"
"             (user \"root\")\n"
"             (program (file-append openssh \"/bin/ssh\"))\n"
"             (arguments\n"
"              '(\"ssh\" \"-qT\" \"-i\" \"/path/to/ssh_key\"\n"
"                \"-W\" \"smtp-server:25\" \"user@@hostname\")))))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:22362
#, fuzzy
msgid "See below for more details about @code{inetd-configuration}."
msgstr "有关 @code{inetd-configuration} 的更多详细信息,请参见下文。"

#. type: deftp
#: guix-git/doc/guix.texi:22364
#, fuzzy, no-wrap
msgid "{Data Type} inetd-configuration"
msgstr "{数据类型} inetd-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:22366
#, fuzzy
msgid "Data type representing the configuration of @command{inetd}."
msgstr "表示 @command{inetd} 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:22368
#, fuzzy, no-wrap
msgid "@code{program} (default: @code{(file-append inetutils \"/libexec/inetd\")})"
msgstr "@code{program}(默认值:@code{(file-append inetutils \"/libexec/inetd\")})"

#. type: table
#: guix-git/doc/guix.texi:22370
#, fuzzy
msgid "The @command{inetd} executable to use."
msgstr "要使用的 @command{inetd} 可执行文件。"

#. type: item
#: guix-git/doc/guix.texi:22371 guix-git/doc/guix.texi:34436
#, fuzzy, no-wrap
msgid "@code{entries} (default: @code{'()})"
msgstr "@code{entries}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:22374
#, fuzzy
msgid "A list of @command{inetd} service entries.  Each entry should be created by the @code{inetd-entry} constructor."
msgstr "@command{inetd} 服务条目的列表。每个条目应由 @code{inetd-entry} 构造函数创建。"

#. type: deftp
#: guix-git/doc/guix.texi:22377
#, fuzzy, no-wrap
msgid "{Data Type} inetd-entry"
msgstr "{数据类型} inetd-entry"

#. type: deftp
#: guix-git/doc/guix.texi:22381
#, fuzzy
msgid "Data type representing an entry in the @command{inetd} configuration.  Each entry corresponds to a socket where @command{inetd} will listen for requests."
msgstr "表示 @command{inetd} 配置中条目的数据类型。每个条目对应于 @command{inetd} 将监听请求的套接字。"

#. type: item
#: guix-git/doc/guix.texi:22383
#, fuzzy, no-wrap
msgid "@code{node} (default: @code{#f})"
msgstr "@code{node}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22388
#, fuzzy
msgid "Optional string, a comma-separated list of local addresses @command{inetd} should use when listening for this service.  @xref{Configuration file,,, inetutils, GNU Inetutils} for a complete description of all options."
msgstr "可选字符串,一个以逗号分隔的本地地址列表,@command{inetd} 在监听此服务时应使用。有关所有选项的完整描述,请参见 @xref{配置文件,,, inetutils, GNU Inetutils}。"

#. type: table
#: guix-git/doc/guix.texi:22390
#, fuzzy
msgid "A string, the name must correspond to an entry in @code{/etc/services}."
msgstr "一个字符串,名称必须对应于 @code{/etc/services} 中的条目。"

#. type: code{#1}
#: guix-git/doc/guix.texi:22390
#, fuzzy, no-wrap
msgid "socket-type"
msgstr "套接字类型"

#. type: table
#: guix-git/doc/guix.texi:22393
#, fuzzy
msgid "One of @code{'stream}, @code{'dgram}, @code{'raw}, @code{'rdm} or @code{'seqpacket}."
msgstr "可以是 @code{'stream}、@code{'dgram}、@code{'raw}、@code{'rdm} 或 @code{'seqpacket} 之一。"

#. type: code{#1}
#: guix-git/doc/guix.texi:22393
#, fuzzy, no-wrap
msgid "protocol"
msgstr "协议"

#. type: table
#: guix-git/doc/guix.texi:22395
#, fuzzy
msgid "A string, must correspond to an entry in @code{/etc/protocols}."
msgstr "一个字符串,必须对应于 @code{/etc/protocols} 中的条目。"

#. type: item
#: guix-git/doc/guix.texi:22395
#, fuzzy, no-wrap
msgid "@code{wait?} (default: @code{#t})"
msgstr "@code{wait?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:22398
#, fuzzy
msgid "Whether @command{inetd} should wait for the server to exit before listening to new service requests."
msgstr "@command{inetd} 是否应该在监听新的服务请求之前等待服务器退出。"

#. type: table
#: guix-git/doc/guix.texi:22403
#, fuzzy
msgid "A string containing the user (and, optionally, group) name of the user as whom the server should run.  The group name can be specified in a suffix, separated by a colon or period, i.e.@: @code{\"user\"}, @code{\"user:group\"} or @code{\"user.group\"}."
msgstr "一个字符串,包含用户(可选地,包含组)名称,服务器应以该用户身份运行。组名称可以在后缀中指定,用冒号或句点分隔,即:@code{\"user\"}、@code{\"user:group\"} 或 @code{\"user.group\"}。"

#. type: item
#: guix-git/doc/guix.texi:22403
#, fuzzy, no-wrap
msgid "@code{program} (default: @code{\"internal\"})"
msgstr "@code{program}(默认值:@code{\"internal\"})"

#. type: table
#: guix-git/doc/guix.texi:22406
#, fuzzy
msgid "The server program which will serve the requests, or @code{\"internal\"} if @command{inetd} should use a built-in service."
msgstr "将处理请求的服务器程序,或者如果 @command{inetd} 应使用内置服务,则为 @code{\"internal\"}。"

#. type: table
#: guix-git/doc/guix.texi:22411
#, fuzzy
msgid "A list strings or file-like objects, which are the server program's arguments, starting with the zeroth argument, i.e.@: the name of the program itself.  For @command{inetd}'s internal services, this entry must be @code{'()} or @code{'(\"internal\")}."
msgstr "一个字符串或类文件对象的列表,作为服务器程序的参数,从第零个参数开始,即:程序本身的名称。对于 @command{inetd} 的内置服务,此条目必须是 @code{'()} 或 @code{'(\"internal\")}。"

#. type: deftp
#: guix-git/doc/guix.texi:22415
#, fuzzy
msgid "@xref{Configuration file,,, inetutils, GNU Inetutils} for a more detailed discussion of each configuration field."
msgstr "@xref{配置文件,,, inetutils, GNU Inetutils} 以获取每个配置字段的更详细讨论。"

#. type: cindex
#: guix-git/doc/guix.texi:22417
#, fuzzy, no-wrap
msgid "opendht, distributed hash table network service"
msgstr "opendht,分布式哈希表网络服务"

#. type: cindex
#: guix-git/doc/guix.texi:22418
#, fuzzy, no-wrap
msgid "dhtproxy, for use with jami"
msgstr "dhtproxy,用于与 jami 一起使用"

#. type: defvar
#: guix-git/doc/guix.texi:22419
#, fuzzy, no-wrap
msgid "opendht-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22424
#, fuzzy
msgid "This is the type of the service running a @uref{https://opendht.net, OpenDHT} node, @command{dhtnode}.  The daemon can be used to host your own proxy service to the distributed hash table (DHT), for example to connect to with Jami, among other applications."
msgstr "这是运行 @uref{https://opendht.net, OpenDHT} 节点的服务类型,@command{dhtnode}。该守护进程可用于托管您自己的代理服务,以连接到分布式哈希表(DHT),例如与 Jami 及其他应用程序连接。"

#. type: quotation
#: guix-git/doc/guix.texi:22434
#, fuzzy
msgid "When using the OpenDHT proxy server, the IP addresses it ``sees'' from the clients should be addresses reachable from other peers.  In practice this means that a publicly reachable address is best suited for a proxy server, outside of your private network.  For example, hosting the proxy server on a IPv4 private local network and exposing it via port forwarding could work for external peers, but peers local to the proxy would have their private addresses shared with the external peers, leading to connectivity problems."
msgstr "使用 OpenDHT 代理服务器时,它从客户端“看到”的 IP 地址应为其他对等方可访问的地址。实际上,这意味着公开可访问的地址最适合用作代理服务器,位于您的私有网络之外。例如,在 IPv4 私有本地网络上托管代理服务器并通过端口转发将其公开可能适用于外部对等方,但与代理本地的对等方将共享其私有地址与外部对等方,从而导致连接问题。"

#. type: defvar
#: guix-git/doc/guix.texi:22438
#, fuzzy
msgid "The value of this service is a @code{opendht-configuration} object, as described below."
msgstr "该服务的值是一个 @code{opendht-configuration} 对象,如下所述。"

#. type: deftp
#: guix-git/doc/guix.texi:22443
#, fuzzy, no-wrap
msgid "{Data Type} opendht-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:22445
#, fuzzy
msgid "Available @code{opendht-configuration} fields are:"
msgstr "可用的 @code{opendht-configuration} 字段包括:"

#. type: item
#: guix-git/doc/guix.texi:22447
#, fuzzy, no-wrap
msgid "@code{opendht} (default: @code{opendht}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:22449
#, fuzzy
msgid "The @code{opendht} package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:22450
#, fuzzy, no-wrap
msgid "@code{peer-discovery?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22452
#, fuzzy
msgid "Whether to enable the multicast local peer discovery mechanism."
msgstr "是否启用多播本地对等发现机制。"

#. type: item
#: guix-git/doc/guix.texi:22453
#, fuzzy, no-wrap
msgid "@code{enable-logging?} (default: @code{#f}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:22456
#, fuzzy
msgid "Whether to enable logging messages to syslog.  It is disabled by default as it is rather verbose."
msgstr "是否启用日志消息记录到 syslog。默认情况下禁用,因为它相当冗长。"

#. type: item
#: guix-git/doc/guix.texi:22457 guix-git/doc/guix.texi:24404
#: guix-git/doc/guix.texi:29532 guix-git/doc/guix.texi:30226
#, fuzzy, no-wrap
msgid "@code{debug?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22460
#, fuzzy
msgid "Whether to enable debug-level logging messages.  This has no effect if logging is disabled."
msgstr "是否启用调试级别的日志消息。如果日志记录被禁用,则此项无效。"

#. type: item
#: guix-git/doc/guix.texi:22461
#, fuzzy, no-wrap
msgid "@code{bootstrap-host} (default: @code{\"bootstrap.jami.net:4222\"}) (type: maybe-string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:22468
#, fuzzy
msgid "The node host name that is used to make the first connection to the network.  A specific port value can be provided by appending the @code{:PORT} suffix.  By default, it uses the Jami bootstrap nodes, but any host can be specified here.  It's also possible to disable bootstrapping by explicitly setting this field to the @code{%unset-value} value."
msgstr "用于首次连接到网络的节点主机名。可以通过附加 @code{:PORT} 后缀提供特定的端口值。默认情况下,它使用 Jami 启动节点,但可以在此处指定任何主机。也可以通过将此字段显式设置为 @code{%unset-value} 值来禁用引导。"

#. type: item
#: guix-git/doc/guix.texi:22469
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{4222}) (type: maybe-number)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:22472
#, fuzzy
msgid "The UDP port to bind to.  When left unspecified, an available port is automatically selected."
msgstr "要绑定的 UDP 端口。当未指定时,将自动选择一个可用端口。"

#. type: item
#: guix-git/doc/guix.texi:22473
#, fuzzy, no-wrap
msgid "@code{proxy-server-port} (type: maybe-number)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:22475
#, fuzzy
msgid "Spawn a proxy server listening on the specified port."
msgstr "生成一个在指定端口上监听的代理服务器。"

#. type: item
#: guix-git/doc/guix.texi:22476
#, fuzzy, no-wrap
msgid "@code{proxy-server-port-tls} (type: maybe-number)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:22478
#, fuzzy
msgid "Spawn a proxy server listening to TLS connections on the specified port."
msgstr "生成一个在指定端口上监听 TLS 连接的代理服务器。"

#. type: cindex
#: guix-git/doc/guix.texi:22482
#, fuzzy, no-wrap
msgid "Tor"
msgstr "Tor"

#. type: defvar
#: guix-git/doc/guix.texi:22483
#, fuzzy, no-wrap
msgid "tor-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22488
#, fuzzy
msgid "Type for a service that runs the @uref{https://torproject.org, Tor} anonymous networking daemon.  The service is configured using a @code{<tor-configuration>} record.  By default, the Tor daemon runs as the @code{tor} unprivileged user, which is a member of the @code{tor} group."
msgstr "运行 @uref{https://torproject.org, Tor} 匿名网络守护进程的服务类型。该服务使用 @code{<tor-configuration>} 记录进行配置。默认情况下,Tor 守护进程以 @code{tor} 非特权用户身份运行,该用户是 @code{tor} 组的成员。"

#. type: cindex
#: guix-git/doc/guix.texi:22489
#, fuzzy, no-wrap
msgid "onion services, for Tor"
msgstr "监控服务。"

#. type: defvar
#: guix-git/doc/guix.texi:22493
#, fuzzy
msgid "Services of this type can be extended by other services to specify @dfn{onion services} (in addition to those already specified in @code{tor-configuration}) as in this example:"
msgstr "此类型的服务可以通过其他服务扩展,以指定 @dfn{洋葱服务}(除了在 @code{tor-configuration} 中已指定的服务),如下例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:22499
#, fuzzy, no-wrap
msgid ""
"(simple-service 'my-extra-onion-service tor-service-type\n"
"                (list (tor-onion-service-configuration\n"
"                        (name \"extra-onion-service\")\n"
"                        (mapping '((80 . \"127.0.0.1:8080\"))))))\n"
msgstr ""
"(simple-service 'my-extra-onion-service tor-service-type\n"
"                (list (tor-onion-service-configuration\n"
"                        (name \"extra-onion-service\")\n"
"                        (mapping '((80 . \"127.0.0.1:8080\"))))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:22502
#, fuzzy, no-wrap
msgid "{Data Type} tor-configuration"
msgstr "{数据类型} tor-configuration"

#. type: item
#: guix-git/doc/guix.texi:22504
#, fuzzy, no-wrap
msgid "@code{tor} (default: @code{tor})"
msgstr "@code{tor}(默认值:@code{tor})"

#. type: table
#: guix-git/doc/guix.texi:22509
#, fuzzy
msgid "The package that provides the Tor daemon.  This package is expected to provide the daemon at @file{bin/tor} relative to its output directory.  The default package is the @uref{https://www.torproject.org, Tor Project's} implementation."
msgstr "提供 Tor 守护进程的包。该包预计在其输出目录相对路径 @file{bin/tor} 提供守护进程。默认包是 @uref{https://www.torproject.org, Tor Project} 的实现。"

#. type: item
#: guix-git/doc/guix.texi:22510
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{(plain-file \"empty\" \"\")})"
msgstr "@code{config-file}(默认值:@code{(plain-file \"empty\" \"\")})"

#. type: table
#: guix-git/doc/guix.texi:22516
#, fuzzy
msgid "The configuration file to use.  It will be appended to a default configuration file, and the final configuration file will be passed to @code{tor} via its @code{-f} option.  This may be any ``file-like'' object (@pxref{G-Expressions, file-like objects}).  See @code{man tor} for details on the configuration file syntax."
msgstr "要使用的配置文件。它将附加到默认配置文件,最终的配置文件将通过 @code{-f} 选项传递给 @code{tor}。这可以是任何“文件样”对象(@pxref{G-Expressions, file-like objects})。有关配置文件语法的详细信息,请参见 @code{man tor}。"

#. type: item
#: guix-git/doc/guix.texi:22517
#, fuzzy, no-wrap
msgid "@code{hidden-services} (default: @code{'()})"
msgstr "@code{hidden-services}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:22522
#, fuzzy
msgid "The list of @code{<tor-onion-service-configuration>} records to use.  For any onion service you include in this list, appropriate configuration to enable the onion service will be automatically added to the default configuration file."
msgstr "要使用的@code{<tor-onion-service-configuration>}记录的列表。对于您在此列表中包含的任何洋葱服务,将自动将适当的配置添加到默认配置文件中,以启用该洋葱服务。"

#. type: item
#: guix-git/doc/guix.texi:22523
#, fuzzy, no-wrap
msgid "@code{socks-socket-type} (default: @code{'tcp})"
msgstr "@code{socks-socket-type}(默认值:@code{'tcp})"

#. type: table
#: guix-git/doc/guix.texi:22530
#, fuzzy
msgid "The default socket type that Tor should use for its SOCKS socket.  This must be either @code{'tcp} or @code{'unix}.  If it is @code{'tcp}, then by default Tor will listen on TCP port 9050 on the loopback interface (i.e., localhost).  If it is @code{'unix}, then Tor will listen on the UNIX domain socket @file{/var/run/tor/socks-sock}, which will be made writable by members of the @code{tor} group."
msgstr "Tor应使用的默认套接字类型。必须是@code{'tcp}或@code{'unix}。如果是@code{'tcp},则默认情况下,Tor将在回环接口(即localhost)上的TCP端口9050上监听。如果是@code{'unix},则Tor将在UNIX域套接字@file{/var/run/tor/socks-sock}上监听,该套接字将由@code{tor}组的成员写入。"

#. type: table
#: guix-git/doc/guix.texi:22535
#, fuzzy
msgid "If you want to customize the SOCKS socket in more detail, leave @code{socks-socket-type} at its default value of @code{'tcp} and use @code{config-file} to override the default by providing your own @code{SocksPort} option."
msgstr "如果您想更详细地自定义SOCKS套接字,请将@code{socks-socket-type}保留为默认值@code{'tcp},并使用@code{config-file}通过提供自己的@code{SocksPort}选项来覆盖默认值。"

#. type: item
#: guix-git/doc/guix.texi:22536
#, fuzzy, no-wrap
msgid "@code{control-socket?} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22542
#, fuzzy
msgid "Whether or not to provide a ``control socket'' by which Tor can be controlled to, for instance, dynamically instantiate tor onion services.  If @code{#t}, Tor will listen for control commands on the UNIX domain socket @file{/var/run/tor/control-sock}, which will be made writable by members of the @code{tor} group."
msgstr "是否提供“控制套接字”,通过该套接字可以控制Tor,例如动态实例化tor洋葱服务。如果@code{#t},则Tor将在UNIX域套接字@file{/var/run/tor/control-sock}上监听控制命令,该套接字将由@code{tor}组的成员写入。"

#. type: item
#: guix-git/doc/guix.texi:22543
#, fuzzy, no-wrap
msgid "@code{transport-plugins} (default: @code{'()})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:22548
#, fuzzy
msgid "The list of @code{<tor-transport-plugin>} records to use.  For any transport plugin you include in this list, appropriate configuration line to enable transport plugin will be automatically added to the default configuration file."
msgstr "要使用的@code{<tor-transport-plugin>}记录的列表。对于您在此列表中包含的任何传输插件,将自动将适当的配置行添加到默认配置文件中,以启用传输插件。"

#. type: cindex
#: guix-git/doc/guix.texi:22552
#, fuzzy, no-wrap
msgid "onion service, tor"
msgstr "监控服务。"

#. type: deftp
#: guix-git/doc/guix.texi:22553
#, fuzzy, no-wrap
msgid "{Data Type} tor-onion-service-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:22558
#, fuzzy
msgid "Data Type representing a Tor @dfn{Onion Service} configuration.  See @url{https://community.torproject.org/onion-services/, the Tor project's documentation} for more information.  Available @code{tor-onion-service-configuration} fields are:"
msgstr "表示Tor @dfn{洋葱服务}配置的数据类型。有关更多信息,请参见@url{https://community.torproject.org/onion-services/, Tor项目的文档}。可用的@code{tor-onion-service-configuration}字段包括:"

#. type: item
#: guix-git/doc/guix.texi:22560 guix-git/doc/guix.texi:24670
#: guix-git/doc/guix.texi:35024 guix-git/doc/guix.texi:37060
#: guix-git/doc/guix.texi:42729 guix-git/doc/guix.texi:43065
#: guix-git/doc/guix.texi:43079 guix-git/doc/guix.texi:43177
#: guix-git/doc/guix.texi:43341 guix-git/doc/guix.texi:48273
#: guix-git/doc/guix.texi:49053
#, fuzzy, no-wrap
msgid "@code{name} (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22565
#, fuzzy
msgid "Name for this Onion Service.  This creates a @file{/var/lib/tor/hidden-services/@var{name}} directory, where the @file{hostname} file contains the @indicateurl{.onion} host name for this Onion Service."
msgstr "此洋葱服务的名称。这将在@file{/var/lib/tor/hidden-services/@var{name}}目录中创建一个目录,其中@file{hostname}文件包含此洋葱服务的@indicateurl{.onion}主机名。"

#. type: item
#: guix-git/doc/guix.texi:22566
#, fuzzy, no-wrap
msgid "@code{mapping} (type: alist)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22568
#, fuzzy
msgid "Association list of port to address mappings.  The following example:"
msgstr "端口到地址映射的关联列表。以下示例:"

#. type: lisp
#: guix-git/doc/guix.texi:22571
#, fuzzy, no-wrap
msgid ""
"'((22 . \"127.0.0.1:22\")\n"
"  (80 . \"127.0.0.1:8080\"))\n"
msgstr "'((22 . \"127.0.0.1:22\") (80 . \"127.0.0.1:8080\"))\n"

#. type: table
#: guix-git/doc/guix.texi:22573
#, fuzzy
msgid "maps ports 22 and 80 of the Onion Service to the local ports 22 and 8080."
msgstr "将洋葱服务的端口 22 和 80 映射到本地端口 22 和 8080。"

#. type: cindex
#: guix-git/doc/guix.texi:22577
#, fuzzy, no-wrap
msgid "pluggable transports, tor"
msgstr "可插拔传输,tor"

#. type: deftp
#: guix-git/doc/guix.texi:22578
#, fuzzy, no-wrap
msgid "{Data Type} tor-transport-plugin"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:22587
#, fuzzy
msgid "Data type representing a Tor pluggable transport plugin in @code{tor-configuration}.  Plugguble transports are programs that disguise Tor traffic, which can be useful in case Tor is censored.  See the the Tor project's @url{https://tb-manual.torproject.org/circumvention/, documentation} and @url{https://spec.torproject.org/pt-spec/index.html, specification} for more information."
msgstr "数据类型表示 @code{tor-configuration} 中的 Tor 可插拔传输插件。可插拔传输是伪装 Tor 流量的程序,这在 Tor 被审查的情况下非常有用。有关更多信息,请参见 Tor 项目的 @url{https://tb-manual.torproject.org/circumvention/, 文档} 和 @url{https://spec.torproject.org/pt-spec/index.html, 规范}。"

#. type: deftp
#: guix-git/doc/guix.texi:22593
#, fuzzy
msgid "Each transport plugin corresponds either to @code{ClientTransportPlugin ...} or to @code{ServerTransportPlugin ...} line in the default configuration file, see @command{man tor}.  Available @code{tor-transport-plugin} fields are:"
msgstr "每个传输插件对应于默认配置文件中的 @code{ClientTransportPlugin ...} 或 @code{ServerTransportPlugin ...} 行,参见 @command{man tor}。可用的 @code{tor-transport-plugin} 字段包括:"

#. type: item
#: guix-git/doc/guix.texi:22595
#, fuzzy, no-wrap
msgid "@code{role} (default: @code{'client})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:22606
#, fuzzy
msgid "This must be either @code{'client} or @code{'server}.  Otherwise, an error is raised.  Set the @code{'server} value if you want to run a bridge to help censored users connect to the Tor network, see @url{https://community.torproject.org/relay/setup/bridge/, the Tor project's brige guide}.  Set the @code{'client} value if you want to connect to somebody else's bridge, see @url{https://bridges.torproject.org/, the Tor project's ``Get Bridges'' page}.  In both cases the required additional configuration should be provided via @code{#:config-file} option of @code{tor-configuration}."
msgstr "这必须是 @code{'client} 或 @code{'server}。否则,将引发错误。如果您想运行一个桥接以帮助被审查的用户连接到 Tor 网络,请设置 @code{'server} 值,参见 @url{https://community.torproject.org/relay/setup/bridge/, Tor 项目的桥接指南}。如果您想连接到其他人的桥接,请设置 @code{'client} 值,参见 @url{https://bridges.torproject.org/, Tor 项目的“获取桥接”页面}。在这两种情况下,所需的附加配置应通过 @code{tor-configuration} 的 @code{#:config-file} 选项提供。"

#. type: item
#: guix-git/doc/guix.texi:22606
#, fuzzy, no-wrap
msgid "@code{protocol} (default: @code{\"obfs4\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:22608
#, fuzzy
msgid "A string that specifies a pluggable transport protocol."
msgstr "一个指定可插拔传输协议的字符串。"

#. type: code{#1}
#: guix-git/doc/guix.texi:22608 guix-git/doc/guix.texi:43533
#, fuzzy, no-wrap
msgid "program"
msgstr "程序"

#. type: table
#: guix-git/doc/guix.texi:22614
#, fuzzy
msgid "This must be a ``file-like'' object or a string pointing to the pluggable transport plugin executable.  This option allows the Tor daemon run inside the container to access the executable and all the references (e.g. package dependencies) attached to it."
msgstr "这必须是一个“类文件”对象或指向可插拔传输插件可执行文件的字符串。此选项允许在容器内运行的 Tor 守护进程访问可执行文件及其所有引用(例如,包依赖项)。"

#. type: deftp
#: guix-git/doc/guix.texi:22622
#, fuzzy
msgid "Suppose you would like Tor daemon to use obfs4 type obfuscation and to connect to Tor network via obfs4 bridge (a nonpublic Tor relay with support for obfs4 type obfuscation). Then you may go to @url{https://bridges.torproject.org/, https://bridges.torproject.org/} and get there a couple of bridge lines (each starts with @code{obfs4 ...})  and use these lines in tor-service-type configuration as follows:"
msgstr "假设您希望 Tor 守护进程使用 obfs4 类型的混淆并通过 obfs4 桥接连接到 Tor 网络(一个支持 obfs4 类型混淆的非公开 Tor 中继)。然后,您可以访问 @url{https://bridges.torproject.org/, https://bridges.torproject.org/} 并获取几行桥接(每行以 @code{obfs4 ...} 开头),并在 tor-service-type 配置中使用这些行,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:22636
#, fuzzy, no-wrap
msgid ""
"(service tor-service-type\n"
"\t (tor-configuration\n"
"\t  (config-file (plain-file \"torrc\"\n"
"\t\t\t\t   \"\\\n"
"UseBridges 1\n"
"Bridge obfs4 ...\n"
"Bridge obfs4 ...\"))\n"
"\t  (transport-plugins\n"
"\t   (list (tor-transport-plugin\n"
"\t\t  (program\n"
"\t\t   (file-append\n"
"\t\t    go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird\n"
"\t\t    \"/bin/lyrebird\")))))))\n"
msgstr ""
"(服务 tor-service-type\n"
"\t (tor-configuration\n"
"\t  (config-file (plain-file \"torrc\"\n"
"\t\t\t\t   \"\\\n"
"使用桥接 1\n"
"桥接 obfs4 ...\n"
"桥接 obfs4 ...\"))\n"
"\t  (transport-plugins\n"
"\t   (list (tor-transport-plugin\n"
"\t\t  (program\n"
"\t\t   (file-append\n"
"\t\t    go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird\n"
"\t\t    \"/bin/lyrebird\")))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:22640
#, fuzzy
msgid "The @code{(gnu services rsync)} module provides the following services:"
msgstr "@code{(gnu services rsync)} 模块提供以下服务:"

#. type: Plain text
#: guix-git/doc/guix.texi:22644
#, fuzzy
msgid "You might want an rsync daemon if you have files that you want available so anyone (or just yourself) can download existing files or upload new files."
msgstr "如果您有希望让任何人(或仅仅是您自己)可以下载现有文件或上传新文件的文件,您可能需要一个 rsync 守护进程。"

#. type: defvar
#: guix-git/doc/guix.texi:22645
#, fuzzy, no-wrap
msgid "rsync-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22649
#, fuzzy
msgid "This is the service type for the @uref{https://rsync.samba.org, rsync} daemon, The value for this service type is a @command{rsync-configuration} record as in this example:"
msgstr "这是 @uref{https://rsync.samba.org, rsync} 守护进程的服务类型,该服务类型的值是一个 @command{rsync-configuration} 记录,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:22662
#, fuzzy, no-wrap
msgid ""
";; Export two directories over rsync.  By default rsync listens on\n"
";; all the network interfaces.\n"
"(service rsync-service-type\n"
"         (rsync-configuration\n"
"           (modules (list (rsync-module\n"
"                            (name \"music\")\n"
"                            (file-name \"/srv/zik\")\n"
"                            (read-only? #f))\n"
"                          (rsync-module\n"
"                            (name \"movies\")\n"
"                            (file-name \"/home/charlie/movies\"))))))\n"
msgstr ""
";; 通过 rsync 导出两个目录。 默认情况下,rsync 监听所有网络接口。\n"
"(服务 rsync-service-type\n"
"         (rsync-configuration\n"
"           (modules (list (rsync-module\n"
"                            (name \"music\")\n"
"                            (file-name \"/srv/zik\")\n"
"                            (read-only? #f))\n"
"                          (rsync-module\n"
"                            (name \"movies\")\n"
"                            (file-name \"/home/charlie/movies\"))))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:22665
#, fuzzy
msgid "See below for details about @code{rsync-configuration}."
msgstr "有关 @code{rsync-configuration} 的详细信息,请参见下文。"

#. type: deftp
#: guix-git/doc/guix.texi:22667
#, fuzzy, no-wrap
msgid "{Data Type} rsync-configuration"
msgstr "{数据类型} rsync-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:22669
#, fuzzy
msgid "Data type representing the configuration for @code{rsync-service}."
msgstr "表示 @code{rsync-service} 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:22671
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{rsync})"
msgstr "@code{package}(默认值:@var{rsync})"

#. type: table
#: guix-git/doc/guix.texi:22673
#, fuzzy
msgid "@code{rsync} package to use."
msgstr "要使用的 @code{rsync} 包。"

#. type: item
#: guix-git/doc/guix.texi:22674 guix-git/doc/guix.texi:39195
#, fuzzy, no-wrap
msgid "@code{address} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22677
#, fuzzy
msgid "IP address on which @command{rsync} listens for incoming connections.  If unspecified, it defaults to listening on all available addresses."
msgstr "@command{rsync} 监听传入连接的 IP 地址。如果未指定,默认监听所有可用地址。"

#. type: item
#: guix-git/doc/guix.texi:22678
#, fuzzy, no-wrap
msgid "@code{port-number} (default: @code{873})"
msgstr "@code{port-number}(默认值:@code{873})"

#. type: table
#: guix-git/doc/guix.texi:22682
#, fuzzy
msgid "TCP port on which @command{rsync} listens for incoming connections.  If port is less than @code{1024} @command{rsync} needs to be started as the @code{root} user and group."
msgstr "@command{rsync} 监听传入连接的 TCP 端口。如果端口小于 @code{1024},则 @command{rsync} 需要以 @code{root} 用户和组身份启动。"

#. type: item
#: guix-git/doc/guix.texi:22683
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/var/run/rsyncd/rsyncd.pid\"})"
msgstr "@code{pid-file}(默认值:@code{\"/var/run/rsyncd/rsyncd.pid\"})"

#. type: table
#: guix-git/doc/guix.texi:22685
#, fuzzy
msgid "Name of the file where @command{rsync} writes its PID."
msgstr "@command{rsync} 写入其 PID 的文件名。"

#. type: item
#: guix-git/doc/guix.texi:22686
#, fuzzy, no-wrap
msgid "@code{lock-file} (default: @code{\"/var/run/rsyncd/rsyncd.lock\"})"
msgstr "@code{lock-file}(默认值:@code{\"/var/run/rsyncd/rsyncd.lock\"})"

#. type: table
#: guix-git/doc/guix.texi:22688
#, fuzzy
msgid "Name of the file where @command{rsync} writes its lock file."
msgstr "@command{rsync} 写入其锁文件的文件名。"

#. type: item
#: guix-git/doc/guix.texi:22689
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{\"/var/log/rsyncd.log\"})"
msgstr "@code{log-file}(默认值:@code{\"/var/log/rsyncd.log\"})"

#. type: table
#: guix-git/doc/guix.texi:22691
#, fuzzy
msgid "Name of the file where @command{rsync} writes its log file."
msgstr "@command{rsync}写入其日志文件的文件名。"

#. type: item
#: guix-git/doc/guix.texi:22692 guix-git/doc/guix.texi:45274
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"root\"})"
msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#. type: table
#: guix-git/doc/guix.texi:22694
#, fuzzy
msgid "Owner of the @code{rsync} process."
msgstr "@code{rsync}进程的所有者。"

#. type: item
#: guix-git/doc/guix.texi:22695
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"root\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:22697
#, fuzzy
msgid "Group of the @code{rsync} process."
msgstr "@code{rsync}进程的组。"

#. type: item
#: guix-git/doc/guix.texi:22698
#, fuzzy, no-wrap
msgid "@code{uid} (default: @code{\"rsyncd\"})"
msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#. type: table
#: guix-git/doc/guix.texi:22701
#, fuzzy
msgid "User name or user ID that file transfers to and from that module should take place as when the daemon was run as @code{root}."
msgstr "文件传输到和从该模块进行的用户名称或用户ID,当守护进程以@code{root}身份运行时。"

#. type: item
#: guix-git/doc/guix.texi:22702
#, fuzzy, no-wrap
msgid "@code{gid} (default: @code{\"rsyncd\"})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:22704 guix-git/doc/guix.texi:23567
#, fuzzy
msgid "Group name or group ID that will be used when accessing the module."
msgstr "访问模块时将使用的组名称或组ID。"

#. type: item
#: guix-git/doc/guix.texi:22705 guix-git/doc/guix.texi:46247
#, fuzzy, no-wrap
msgid "@code{modules} (default: @code{%default-modules})"
msgstr "@code{modules}(默认值:@code{%default-modules})"

#. type: table
#: guix-git/doc/guix.texi:22708
#, fuzzy
msgid "List of ``modules''---i.e., directories exported over rsync.  Each element must be a @code{rsync-module} record, as described below."
msgstr "``模块''的列表---即,通过rsync导出的目录。每个元素必须是一个@code{rsync-module}记录,如下所述。"

#. type: deftp
#: guix-git/doc/guix.texi:22711
#, fuzzy, no-wrap
msgid "{Data Type} rsync-module"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:22714
#, fuzzy
msgid "This is the data type for rsync ``modules''.  A module is a directory exported over the rsync protocol.  The available fields are as follows:"
msgstr "这是rsync ``模块''的数据类型。模块是通过rsync协议导出的目录。可用字段如下:"

#. type: table
#: guix-git/doc/guix.texi:22720
#, fuzzy
msgid "The module name.  This is the name that shows up in URLs.  For example, if the module is called @code{music}, the corresponding URL will be @code{rsync://host.example.org/music}."
msgstr "模块名称。这是出现在URL中的名称。例如,如果模块名为@code{music},则相应的URL将是@code{rsync://host.example.org/music}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:22721
#, fuzzy, no-wrap
msgid "file-name"
msgstr "通道"

#. type: table
#: guix-git/doc/guix.texi:22723
#, fuzzy
msgid "Name of the directory being exported."
msgstr "仓库的纯函数式接口。"

#. type: table
#: guix-git/doc/guix.texi:22727
#, fuzzy
msgid "Comment associated with the module.  Client user interfaces may display it when they obtain the list of available modules."
msgstr "与模块相关的注释。客户端用户界面在获取可用模块列表时可能会显示它。"

#. type: item
#: guix-git/doc/guix.texi:22728
#, fuzzy, no-wrap
msgid "@code{read-only?} (default: @code{#t})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:22732
#, fuzzy
msgid "Whether or not client will be able to upload files.  If this is false, the uploads will be authorized if permissions on the daemon side permit it."
msgstr "客户端是否能够上传文件。如果为false,则如果守护进程端的权限允许,上传将被授权。"

#. type: item
#: guix-git/doc/guix.texi:22733
#, fuzzy, no-wrap
msgid "@code{chroot?} (default: @code{#t})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:22737
#, fuzzy
msgid "When this is true, the rsync daemon changes root to the module's directory before starting file transfers with the client.  This improves security, but requires rsync to run as root."
msgstr "当为true时,rsync守护进程在与客户端开始文件传输之前将根目录更改为模块的目录。这提高了安全性,但要求rsync以root身份运行。"

#. type: item
#: guix-git/doc/guix.texi:22738
#, fuzzy, no-wrap
msgid "@code{timeout} (default: @code{300})"
msgstr "@code{timeout}(默认值:@code{300})"

#. type: table
#: guix-git/doc/guix.texi:22741
#, fuzzy
msgid "Idle time in seconds after which the daemon closes a connection with the client."
msgstr "守护进程在关闭与客户端的连接之前的空闲时间(以秒为单位)。"

#. type: cindex
#: guix-git/doc/guix.texi:22744 guix-git/doc/guix.texi:49599
#, fuzzy, no-wrap
msgid "Syncthing, file synchronization service"
msgstr "Syncthing,文件同步服务"

#. type: cindex
#: guix-git/doc/guix.texi:22745 guix-git/doc/guix.texi:49600
#, fuzzy, no-wrap
msgid "backup service, Syncthing"
msgstr "备份服务,Syncthing"

#. type: Plain text
#: guix-git/doc/guix.texi:22747
#, fuzzy
msgid "The @code{(gnu services syncthing)} module provides the following services:"
msgstr "@code{(gnu services syncthing)}模块提供以下服务:"

#. type: cindex
#: guix-git/doc/guix.texi:22747
#, fuzzy, no-wrap
msgid "syncthing"
msgstr "syncthing"

#. type: Plain text
#: guix-git/doc/guix.texi:22752
#, fuzzy
msgid "You might want a Syncthing daemon if you have files between two or more computers and want to sync them in real time, safely protected from prying eyes."
msgstr "如果您在两台或多台计算机之间有文件,并希望实时同步它们,安全地保护它们不被窥探,您可能需要一个syncthing守护进程。"

#. type: defvar
#: guix-git/doc/guix.texi:22753
#, fuzzy, no-wrap
msgid "syncthing-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:22757
#, fuzzy
msgid "This is the service type for the @uref{https://syncthing.net/, syncthing} daemon, The value for this service type is a @command{syncthing-configuration} record as in this example:"
msgstr "这是@uref{https://syncthing.net/, syncthing}守护进程的服务类型,此服务类型的值是一个@syncthing-configuration记录,如下例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:22761
#, fuzzy, no-wrap
msgid ""
"(service syncthing-service-type\n"
"         (syncthing-configuration (user \"alice\")))\n"
msgstr ""
"(service syncthing-service-type\n"
"         (syncthing-configuration (user \"alice\")))\n"

#. type: quotation
#: guix-git/doc/guix.texi:22767
#, fuzzy
msgid "This service is also available for Guix Home, where it runs directly with your user privileges (@pxref{Networking Home Services, @code{home-syncthing-service-type}})."
msgstr "此服务也适用于 Guix Home,在那里它直接以您的用户权限运行(@pxref{Networking Home Services, @code{home-syncthing-service-type}})。"

#. type: defvar
#: guix-git/doc/guix.texi:22770
#, fuzzy
msgid "See below for details about @code{syncthing-configuration}."
msgstr "有关 @code{syncthing-configuration} 的详细信息,请参见下文。"

#. type: deftp
#: guix-git/doc/guix.texi:22772
#, fuzzy, no-wrap
msgid "{Data Type} syncthing-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:22774
#, fuzzy
msgid "Data type representing the configuration for @code{syncthing-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:22776
#, fuzzy, no-wrap
msgid "@code{syncthing} (default: @var{syncthing})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:22778
#, fuzzy
msgid "@code{syncthing} package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:22779
#, fuzzy, no-wrap
msgid "@code{arguments} (default: @var{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:22781
#, fuzzy
msgid "List of command-line arguments passing to @code{syncthing} binary."
msgstr "传递给 @code{syncthing} 二进制文件的命令行参数列表。"

#. type: item
#: guix-git/doc/guix.texi:22782
#, fuzzy, no-wrap
msgid "@code{logflags} (default: @var{0})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22785
#, fuzzy
msgid "Sum of logging flags, see @uref{https://docs.syncthing.net/users/syncthing.html#cmdoption-logflags, Syncthing documentation logflags}."
msgstr "日志标志的总和,请参见 @uref{https://docs.syncthing.net/users/syncthing.html#cmdoption-logflags, Syncthing 文档 logflags}。"

#. type: item
#: guix-git/doc/guix.texi:22786
#, fuzzy, no-wrap
msgid "@code{user} (default: @var{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22789
#, fuzzy
msgid "The user as which the Syncthing service is to be run.  This assumes that the specified user exists."
msgstr "要运行 Syncthing 服务的用户。这假设指定的用户存在。"

#. type: item
#: guix-git/doc/guix.texi:22790
#, fuzzy, no-wrap
msgid "@code{group} (default: @var{\"users\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:22793
#, fuzzy
msgid "The group as which the Syncthing service is to be run.  This assumes that the specified group exists."
msgstr "要运行 Syncthing 服务的组。这假设指定的组存在。"

#. type: item
#: guix-git/doc/guix.texi:22794
#, fuzzy, no-wrap
msgid "@code{home} (default: @var{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22797
#, fuzzy
msgid "Sets the @code{HOME} variable for the Syncthing daemon.  The default is @file{$HOME} of the specified Syncthing @code{user}."
msgstr "公共配置和数据目录。默认配置目录是指定的 Syncthing @code{user} 的 @file{$HOME}。"

#. type: item
#: guix-git/doc/guix.texi:22798
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @var{#f})"
msgstr "@code{config-file} (默认: @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22807
msgid "Either a file-like object that resolves to a Syncthing configuration XML file, or a @code{syncthing-config-file} record (see below).  If set to @code{#f}, Guix will not try to generate a config file, and Syncthing will generate a default configuration which will not be touched on reconfigure.  Specifying this in a system service moves Syncthing's common configuration and data directory (@code{--home} in @uref{https://docs.syncthing.net/users/syncthing.html}) to @file{/var/lib/syncthing-<user>}."
msgstr ""

#. type: Plain text
#: guix-git/doc/guix.texi:22823
msgid "This section documents a subset of the Syncthing configuration options—specifically those related to Guix or those affecting how your computer will connect to other computers over the network (such as Syncthing relays or discovery servers).  The configuration is fully documented in the upstream @uref{https://docs.syncthing.net/users/config.html, Syncthing config documentation}; camelCase there is converted to kebab-case here.  If you are migrating from a Syncthing-managed configuration to one managed by Guix, you can check what changes were introduced by @code{diff}ing the respective @file{config.xml} files.  Note that you will need to add whitespace with 4-space indentation to the file generated by Guix, using the @code{xmllint} program from the @code{libxml2} package like so:"
msgstr ""

#. type: example
#: guix-git/doc/guix.texi:22826
#, no-wrap
msgid "XMLLINT_INDENT=\"    \" xmllint --format /path/to/new/config.xml | diff /path/to/old/config.xml -\n"
msgstr ""

#. type: Plain text
#: guix-git/doc/guix.texi:22832
msgid "When generating a configuration file through Guix, you can still temporarily modify Syncthing from the GUI or through @code{introducer} and @code{autoAcceptFolders} mechanisms, but such changes will be reset on reconfigure."
msgstr ""

#. type: deftp
#: guix-git/doc/guix.texi:22833
#, fuzzy, no-wrap
msgid "{Data Type} syncthing-config-file"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:22836
#, fuzzy
msgid "Data type representing the configuration file read by the Syncthing daemon."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:22838
#, no-wrap
msgid "@code{folders} (default: @var{(list (syncthing-folder (id \"default\") (label \"Default Folder\") (path \"~/Sync\")))}"
msgstr ""

#. type: table
#: guix-git/doc/guix.texi:22841
msgid "The default here is the same as Syncthing's default.  The value should be a list of @code{syncthing-folder}s."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:22842
#, fuzzy, no-wrap
msgid "@code{devices} (default: @var{'()}"
msgstr "@code{handlers}(默认值:@var{'()})"

#. type: table
#: guix-git/doc/guix.texi:22851
msgid "This should be a list of @code{syncthing-device}s.  Guix will automatically add any devices specified in any `folders' to this list.  There are instances when you want to connect to a device despite not (initially) sharing any folders (such as a device with autoAcceptFolders).  In such instances, you should specify those devices here.  If multiple versions of the same device (as determined by comparing device ID) are discovered, the one in this list is prioritized.  Otherwise, the first instance in the first folder is used."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:22852
#, fuzzy, no-wrap
msgid "@code{gui-enabled} (default: @var{\"true\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:22856
msgid "By default, any user on the computer can access the GUI and make changes to Syncthing.  If you leave this enabled, you should probably set @code{gui-user} and @code{gui-password} (see below)."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:22857
#, fuzzy, no-wrap
msgid "@code{gui-tls} (default: @var{\"false\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:22858
#, fuzzy, no-wrap
msgid "@code{gui-debugging} (default: @var{\"false\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:22859
#, fuzzy, no-wrap
msgid "@code{gui-send-basic-auth-prompt} (default: @var{\"false\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:22860
#, fuzzy, no-wrap
msgid "@code{gui-address} (default: @var{\"127.0.0.1:8384\"})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: item
#: guix-git/doc/guix.texi:22861
#, fuzzy, no-wrap
msgid "@code{gui-user} (default: @var{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22862
#, fuzzy, no-wrap
msgid "@code{gui-password} (default: @var{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22865
msgid "A bcrypt hash of the GUI password.  Remember that this will be globally exposed in @file{/gnu/store}."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:22866
#, fuzzy, no-wrap
msgid "@code{gui-apikey} (default: @var{#f})"
msgstr "@code{admin-pubkey}(默认:@var{#f})"

#. type: table
#: guix-git/doc/guix.texi:22869
msgid "You must specify this to use the Syncthing REST interface.  This key is kept in @file{/gnu/store} and is accessible to all users of the system."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:22870
#, fuzzy, no-wrap
msgid "@code{gui-theme} (default: @var{\"default\"})"
msgstr "@code{theme}(默认值:@var{#f})"

#. type: item
#: guix-git/doc/guix.texi:22871
#, fuzzy, no-wrap
msgid "@code{ldap-enabled} (default: @var{#f})"
msgstr "@code{module}(默认值:@var{#f})"

#. type: item
#: guix-git/doc/guix.texi:22872
#, fuzzy, no-wrap
msgid "@code{ldap-address} (default: @var{\"\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22873
#, fuzzy, no-wrap
msgid "@code{ldap-bind-dn} (default: @var{\"\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22874
#, fuzzy, no-wrap
msgid "@code{ldap-transport} (default: @var{\"\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22875
#, fuzzy, no-wrap
msgid "@code{ldap-insecure-skip-verify} (default: @var{\"\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22876
#, fuzzy, no-wrap
msgid "@code{ldap-search-base-dn} (default: @var{\"\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:22877
#, fuzzy, no-wrap
msgid "@code{ldap-search-filter} (default: @var{\"\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22878
#, fuzzy, no-wrap
msgid "@code{listen-address} (default: @var{\"default\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22879
#, fuzzy, no-wrap
msgid "@code{global-announce-server} (default: @var{\"default\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22880
#, fuzzy, no-wrap
msgid "@code{global-announce-enabled} (default: @var{\"true\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:22883
msgid "Global discovery servers can be used to help connect devices at unknown IP addresses by storing the last known IP address."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:22884
#, fuzzy, no-wrap
msgid "@code{local-announce-enabled} (default: @var{\"true\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:22888
msgid "This makes devices find each other very easily on the same LAN.  Often, this will allow you to just plug an Ethernet between two devices, or connect one device to the other's hotspot and start syncing."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:22889
#, fuzzy, no-wrap
msgid "@code{local-announce-port} (default: @var{\"21027\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22890
#, fuzzy, no-wrap
msgid "@code{local-announce-mcaddr} (default: @var{\"[ff12::8384]:21027\"})"
msgstr "@code{locations}(默认:@code{'()})"

#. type: item
#: guix-git/doc/guix.texi:22891 guix-git/doc/guix.texi:23054
#, fuzzy, no-wrap
msgid "@code{max-send-kbps} (default: @var{\"0\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22892 guix-git/doc/guix.texi:23055
#, fuzzy, no-wrap
msgid "@code{max-recv-kbps} (default: @var{\"0\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22893
#, fuzzy, no-wrap
msgid "@code{reconnection-interval-s} (default: @var{\"60\"})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22894
#, fuzzy, no-wrap
msgid "@code{relays-enabled} (default: @var{\"true\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:22900
msgid "This option allows your Syncthing instance to use a global network of @uref{https://docs.syncthing.net/users/relaying.html, relays} to enable syncing between devices when all other methods fail.  As always, Syncthing traffic is encrypted in transport and the relays are unable to decrypt it."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:22901
#, fuzzy, no-wrap
msgid "@code{relay-reconnect-interval-m} (default: @var{\"10\"})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22902
#, fuzzy, no-wrap
msgid "@code{start-browser} (default: @var{\"true\"})"
msgstr "@code{upower}(默认:@var{upower})"

#. type: item
#: guix-git/doc/guix.texi:22903
#, fuzzy, no-wrap
msgid "@code{nat-enabled} (default: @var{\"true\"})"
msgstr "@code{thermald}(默认:@var{thermald})"

#. type: item
#: guix-git/doc/guix.texi:22904
#, fuzzy, no-wrap
msgid "@code{nat-lease-minutes} (default: @var{\"60\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22905
#, fuzzy, no-wrap
msgid "@code{nat-renewal-minutes} (default: @var{\"30\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22906
#, fuzzy, no-wrap
msgid "@code{nat-timeout-seconds} (default: @var{\"10\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22907
#, fuzzy, no-wrap
msgid "@code{ur-accepted} (default: @var{\"0\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:22912
msgid "Options whose names begin with `ur-' control usage reporting.  Set to -1 to disable, or to a positive value to enable.  The default (0) disables reporting, but causes a usage reporting consent prompt to be displayed in the Syncthing GUI."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:22913
#, fuzzy, no-wrap
msgid "@code{ur-seen} (default: @var{\"0\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22914
#, fuzzy, no-wrap
msgid "@code{ur-unique-id} (default: @var{\"\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:22915
#, fuzzy, no-wrap
msgid "@code{ur-url} (default: @var{\"https://data.syncthing.net/newdata\"})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: item
#: guix-git/doc/guix.texi:22916
#, fuzzy, no-wrap
msgid "@code{ur-post-insecurely} (default: @var{\"false\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22917
#, fuzzy, no-wrap
msgid "@code{ur-initial-delay-s} (default: @var{\"1800\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:22918
#, fuzzy, no-wrap
msgid "@code{auto-upgrade-interval-h} (default: @var{\"12\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: item
#: guix-git/doc/guix.texi:22919
#, fuzzy, no-wrap
msgid "@code{upgrade-to-pre-releases} (default: @var{\"false\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22920
#, fuzzy, no-wrap
msgid "@code{keep-temporaries-h} (default: @var{\"24\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22921
#, fuzzy, no-wrap
msgid "@code{cache-ignored-files} (default: @var{\"false\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: item
#: guix-git/doc/guix.texi:22922
#, fuzzy, no-wrap
msgid "@code{progress-update-interval-s} (default: @var{\"5\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22923
#, fuzzy, no-wrap
msgid "@code{limit-bandwidth-in-lan} (default: @var{\"false\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22924
#, fuzzy, no-wrap
msgid "@code{min-home-disk-free-unit} (default: @var{\"%\"})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22925
#, fuzzy, no-wrap
msgid "@code{min-home-disk-free} (default: @var{\"1\"})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22926
#, no-wrap
msgid "@code{releases-url} (default: @var{\"https://upgrades.syncthing.net/meta.json\"})"
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:22927
#, fuzzy, no-wrap
msgid "@code{overwrite-remote-device-names-on-connect} (default: @var{\"false\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22928
#, fuzzy, no-wrap
msgid "@code{temp-index-min-blocks} (default: @var{\"10\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22929
#, fuzzy, no-wrap
msgid "@code{unacked-notification-id} (default: @var{\"authenticationUserAndPassword\"})"
msgstr "@code{containerd}(默认值:@var{containerd})"

#. type: item
#: guix-git/doc/guix.texi:22930
#, fuzzy, no-wrap
msgid "@code{traffic-class} (default: @var{\"0\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22931
#, fuzzy, no-wrap
msgid "@code{set-low-priority} (default: @var{\"true\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22932
#, fuzzy, no-wrap
msgid "@code{max-folder-concurrency} (default: @var{\"0\"})"
msgstr "@code{module}(默认值:@var{#f})"

#. type: item
#: guix-git/doc/guix.texi:22933
#, fuzzy, no-wrap
msgid "@code{crash-reporting-url} (default: @var{\"https://crash.syncthing.net/newcrash\"})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: item
#: guix-git/doc/guix.texi:22934
#, fuzzy, no-wrap
msgid "@code{crash-reporting-enabled} (default: @var{\"true\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:22935
#, fuzzy, no-wrap
msgid "@code{stun-keepalive-start-s} (default: @var{\"180\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22936
#, fuzzy, no-wrap
msgid "@code{stun-keepalive-min-s} (default: @var{\"20\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22937
#, fuzzy, no-wrap
msgid "@code{stun-server} (default: @var{\"default\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22938
#, fuzzy, no-wrap
msgid "@code{database-tuning} (default: @var{\"auto\"})"
msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#. type: item
#: guix-git/doc/guix.texi:22939
#, fuzzy, no-wrap
msgid "@code{max-concurrent-incoming-request-kib} (default: @var{\"0\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22940
#, fuzzy, no-wrap
msgid "@code{announce-lan-addresses} (default: @var{\"true\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22941
#, fuzzy, no-wrap
msgid "@code{send-full-index-on-upgrade} (default: @var{\"false\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:22942
#, fuzzy, no-wrap
msgid "@code{connection-limit-enough} (default: @var{\"0\"})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22943
#, fuzzy, no-wrap
msgid "@code{connection-limit-max} (default: @var{\"0\"})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22944
#, fuzzy, no-wrap
msgid "@code{insecure-allow-old-tls-versions} (default: @var{\"false\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22945
#, fuzzy, no-wrap
msgid "@code{connection-priority-tcp-lan} (default: @var{\"10\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22946
#, fuzzy, no-wrap
msgid "@code{connection-priority-quic-lan} (default: @var{\"20\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22947
#, fuzzy, no-wrap
msgid "@code{connection-priority-tcp-wan} (default: @var{\"30\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22948
#, fuzzy, no-wrap
msgid "@code{connection-priority-quic-wan} (default: @var{\"40\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22949
#, fuzzy, no-wrap
msgid "@code{connection-priority-relay} (default: @var{\"50\"})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22950
#, fuzzy, no-wrap
msgid "@code{connection-priority-upgrade-threshold} (default: @var{\"0\"})"
msgstr "@code{features} (@code{'()})"

#. type: item
#: guix-git/doc/guix.texi:22951
#, fuzzy, no-wrap
msgid "@code{default-folder} (default: @var{(syncthing-folder (label \"\"))})"
msgstr "@code{default-user}(默认值:@code{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22952
#, fuzzy, no-wrap
msgid "@code{default-device} (default: @var{(syncthing-device (id \"\"))})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: item
#: guix-git/doc/guix.texi:22953
#, fuzzy, no-wrap
msgid "@code{default-ignores} (default: @var{\"\")})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:22959
msgid "Options whose names begin with `default-' above do not affect folders and devices added through the Guix configuration interface.  They will, however, affect folders and devices that are added through the Syncthing GUI, by an @code{introducer}, or a device with @code{auto-accept-folders}."
msgstr ""

#. type: deftp
#: guix-git/doc/guix.texi:22962
#, fuzzy, no-wrap
msgid "{Data Type} syncthing-folder"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:22964
#, fuzzy
msgid "Data type representing a folder to be synchronized."
msgstr "表示字典数据库的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:22966
#, fuzzy, no-wrap
msgid "@code{id} (default: @var{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:22969
msgid "This ID cannot match the ID of any other folder on this device.  If left unspecified, it will default to the label (see below)."
msgstr ""

#. type: table
#: guix-git/doc/guix.texi:22972
msgid "A human readable label for the folder."
msgstr ""

#. type: code{#1}
#: guix-git/doc/guix.texi:22973
#, no-wrap
msgid "path"
msgstr "path"

#. type: table
#: guix-git/doc/guix.texi:22975
#, fuzzy
msgid "The path at which to store this folder."
msgstr "存储数据的目录."

#. type: item
#: guix-git/doc/guix.texi:22976
#, fuzzy, no-wrap
msgid "@code{type} (default: @var{\"sendreceive\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: item
#: guix-git/doc/guix.texi:22977
#, fuzzy, no-wrap
msgid "@code{rescan-interval-s} (default: @var{\"3600\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22978
#, fuzzy, no-wrap
msgid "@code{fs-watcher-enabled} (default: @var{\"true\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:22979
#, fuzzy, no-wrap
msgid "@code{fs-watcher-delay-s} (default: @var{\"10\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22980
#, fuzzy, no-wrap
msgid "@code{ignore-perms} (default: @var{\"false\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:22981
#, fuzzy, no-wrap
msgid "@code{auto-normalize} (default: @var{\"true\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:22982
#, fuzzy, no-wrap
msgid "@code{devices} (default: @var{'()})"
msgstr "@code{handlers}(默认值:@var{'()})"

#. type: table
#: guix-git/doc/guix.texi:22987
msgid "This should be a list of other Syncthing devices.  You do not need to specify the current device.  Each device can be listed as a a @code{syncthing-device} record or a @code{syncthing-folder-device} record if you want files to be encrypted on disk.  See below."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:22988
#, fuzzy, no-wrap
msgid "@code{filesystem-type} (default: @var{\"basic\"})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22989
#, fuzzy, no-wrap
msgid "@code{min-disk-free-unit} (default: @var{\"%\"})"
msgstr "@code{admin-pubkey}(默认:@var{#f})"

#. type: item
#: guix-git/doc/guix.texi:22990
#, fuzzy, no-wrap
msgid "@code{min-disk-free} (default: @var{\"1\"})"
msgstr "@code{admin-pubkey}(默认:@var{#f})"

#. type: item
#: guix-git/doc/guix.texi:22991
#, fuzzy, no-wrap
msgid "@code{versioning-type} (default: @var{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22992
#, fuzzy, no-wrap
msgid "@code{versioning-fs-path} (default: @var{\"\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22993
#, fuzzy, no-wrap
msgid "@code{versioning-fs-type} (default: @var{\"basic\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:22994
#, fuzzy, no-wrap
msgid "@code{versioning-cleanup-interval-s} (default: @var{\"3600\"})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22995
#, fuzzy, no-wrap
msgid "@code{versioning-cleanout-days} (default: @var{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22996
#, fuzzy, no-wrap
msgid "@code{versioning-keep} (default: @var{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22997
#, fuzzy, no-wrap
msgid "@code{versioning-max-age} (default: @var{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22998
#, fuzzy, no-wrap
msgid "@code{versioning-command} (default: @var{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:22999
#, fuzzy, no-wrap
msgid "@code{copiers} (default: @var{\"0\"})"
msgstr "@code{complex?}(默认值:@var{#f})"

#. type: item
#: guix-git/doc/guix.texi:23000
#, fuzzy, no-wrap
msgid "@code{puller-max-pending-kib} (default: @var{\"0\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:23001
#, fuzzy, no-wrap
msgid "@code{hashers} (default: @var{\"0\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23002
#, fuzzy, no-wrap
msgid "@code{order} (default: @var{\"random\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:23003
#, fuzzy, no-wrap
msgid "@code{ignore-delete} (default: @var{\"false\"})"
msgstr "@code{module}(默认值:@var{#f})"

#. type: item
#: guix-git/doc/guix.texi:23004
#, fuzzy, no-wrap
msgid "@code{scan-progress-interval-s} (default: @var{\"0\"})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: item
#: guix-git/doc/guix.texi:23005
#, fuzzy, no-wrap
msgid "@code{puller-pause-s} (default: @var{\"0\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23006
#, fuzzy, no-wrap
msgid "@code{max-conflicts} (default: @var{\"10\"})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23007
#, fuzzy, no-wrap
msgid "@code{disable-sparse-files} (default: @var{\"false\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23008
#, fuzzy, no-wrap
msgid "@code{disable-temp-indexes} (default: @var{\"false\"})"
msgstr "@code{disable-vpn?}(默认:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23009 guix-git/doc/guix.texi:23052
#, fuzzy, no-wrap
msgid "@code{paused} (default: @var{\"false\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23010
#, fuzzy, no-wrap
msgid "@code{weak-hash-threshold-pct} (default: @var{\"25\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:23011
#, fuzzy, no-wrap
msgid "@code{marker-name} (default: @var{\".stfolder\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:23012
#, fuzzy, no-wrap
msgid "@code{copy-ownership-from-parent} (default: @var{\"false\"})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23013
#, fuzzy, no-wrap
msgid "@code{mod-time-window-s} (default: @var{\"0\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:23014
#, fuzzy, no-wrap
msgid "@code{max-concurrent-writes} (default: @var{\"2\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:23015
#, fuzzy, no-wrap
msgid "@code{disable-fsync} (default: @var{\"false\"})"
msgstr "@code{disable-vpn?}(默认:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23016
#, fuzzy, no-wrap
msgid "@code{block-pull-order} (default: @var{\"standard\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:23017
#, fuzzy, no-wrap
msgid "@code{copy-range-method} (default: @var{\"standard\"})"
msgstr "@code{containerd}(默认值:@var{containerd})"

#. type: item
#: guix-git/doc/guix.texi:23018
#, fuzzy, no-wrap
msgid "@code{case-sensitive-fs} (default: @var{\"false\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23019
#, fuzzy, no-wrap
msgid "@code{junctions-as-dirs} (default: @var{\"false\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23020
#, fuzzy, no-wrap
msgid "@code{sync-ownership} (default: @var{\"false\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23021
#, fuzzy, no-wrap
msgid "@code{send-ownership} (default: @var{\"false\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23022
#, fuzzy, no-wrap
msgid "@code{sync-xattrs} (default: @var{\"false\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23023
#, fuzzy, no-wrap
msgid "@code{send-xattrs} (default: @var{\"false\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23024
#, fuzzy, no-wrap
msgid "@code{xattr-filter-max-single-entry-size} (default: @var{\"1024\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:23025
#, fuzzy, no-wrap
msgid "@code{xattr-filter-max-total-size} (default: @var{\"4096\")})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: deftp
#: guix-git/doc/guix.texi:23029
#, fuzzy, no-wrap
msgid "{Data Type} syncthing-device"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:23031
#, fuzzy
msgid "Data type representing a device to synchronize folders with."
msgstr "表示字典处理程序(模块实例)的数据类型。"

#. type: code{#1}
#: guix-git/doc/guix.texi:23033
#, fuzzy, no-wrap
msgid "id"
msgstr "uuid"

#. type: table
#: guix-git/doc/guix.texi:23037
msgid "A long hash representing the keys generated by Syncthing on the first launch.  You can obtain this from the Syncthing GUI or by inspecting an existing Syncthing configuration file."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:23038
#, fuzzy, no-wrap
msgid "@code{name} (default: @var{\"\"})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23040
msgid "A human readable device name for viewing in the GUI or in Scheme."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:23041
#, fuzzy, no-wrap
msgid "@code{compression} (default: @var{\"metadata\"})"
msgstr "@code{compression-level}(默认值:@code{3})"

#. type: item
#: guix-git/doc/guix.texi:23042
#, fuzzy, no-wrap
msgid "@code{introducer} (default: @var{\"false\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:23043
#, fuzzy, no-wrap
msgid "@code{skip-introduction-removals} (default: @var{\"false\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: item
#: guix-git/doc/guix.texi:23044 guix-git/doc/guix.texi:23080
#, fuzzy, no-wrap
msgid "@code{introduced-by} (default: @var{\"\"})"
msgstr "@code{module}(默认值:@var{#f})"

#. type: item
#: guix-git/doc/guix.texi:23045
#, fuzzy, no-wrap
msgid "@code{addresses} (default: @var{'(\"dynamic\")})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:23051
msgid "List of addresses at which to search for this device.  When the special value ``dynamic'' is included, Syncthing will search for the device locally as well as via the Syncthing project's @uref{https://docs.syncthing.net/users/security.html#global-discovery, global discovery} servers."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:23053
#, fuzzy, no-wrap
msgid "@code{auto-accept-folders} (default: @var{\"false\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:23056
#, fuzzy, no-wrap
msgid "@code{max-request-kib} (default: @var{\"0\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23057
#, fuzzy, no-wrap
msgid "@code{untrusted} (default: @var{\"false\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:23058
#, fuzzy, no-wrap
msgid "@code{remote-gui-port} (default: @var{\"0\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:23059
#, fuzzy, no-wrap
msgid "@code{num-connections} (default: @var{\"0\")})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: deftp
#: guix-git/doc/guix.texi:23064
#, fuzzy, no-wrap
msgid "{Data Type} syncthing-folder-device"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:23067
msgid "This data type offers two folder-specific device options: @code{introduced-by} and @code{encryption-password}."
msgstr ""

#. type: deftp
#: guix-git/doc/guix.texi:23071
msgid "@code{syncthing-folder-device} corresponds to the @uref{https://docs.syncthing.net/users/config.html#config-option-folder.device, `device'} option in the upstream `folder' element."
msgstr ""

#. type: deftp
#: guix-git/doc/guix.texi:23075
msgid "If you don't need to use these options, then you can just use @code{syncthing-device} instead of @code{syncthing-folder-device} in the @code{devices} field of a @code{syncthing-folder} instance."
msgstr ""

#. type: table
#: guix-git/doc/guix.texi:23079
#, fuzzy
msgid "The @code{syncthing-device} for which this configuration applies."
msgstr "@code{ganeti} 服务接受以下配置选项:"

#. type: table
#: guix-git/doc/guix.texi:23086
msgid "The name of the device that \"introduced\" our device to the device sharing this folder.  This is only used when \"introduced\" devices are removed by the introducer.  See @uref{https://docs.syncthing.net/users/introducer.html, Syncthing introductions}."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:23087
#, fuzzy, no-wrap
msgid "@code{encryption-password} (default: @var{\"\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:23090
msgid "The password used to encrypt data that is synchronized to untrusted devices."
msgstr ""

#. type: table
#: guix-git/doc/guix.texi:23100
msgid "Beware: specifying this field will include this password as plain text (not encrypted) and globally visible in @file{/gnu/store/}.  If the encryption-password is non-empty, then it will be used as a password to encrypt file chunks as they are synchronized to untrusted devices.  For more information on syncing to devices you don't totally trust, see Syncthing's documentation on @uref{https://docs.syncthing.net/users/untrusted.html, Untrusted (Encrypted) Devices}.  Note that data transfer is always encrypted while in transport (\"end-to-end encryption\"), regardless of this setting."
msgstr ""

#. type: Plain text
#: guix-git/doc/guix.texi:23105
#, fuzzy
msgid "Here is a more complex example configuration for illustrative purposes:"
msgstr "下面给出了一个简单的示例配置。"

#. type: lisp
#: guix-git/doc/guix.texi:23129
#, fuzzy, no-wrap
msgid ""
"(service syncthing-service-type\n"
"         (let ((laptop (syncthing-device (id \"VHOD2D6-...-7XRMDEN\")))\n"
"               (desktop (syncthing-device (id \"64SAZ37-...-FZJ5GUA\")\n"
"                                          (addresses '(\"tcp://example.com\"))))\n"
"               (bob-desktop (syncthing-device (id \"KYIMEGO-...-FT77EAO\"))))\n"
"           (syncthing-configuration\n"
"            (user \"alice\")\n"
"            (config-file\n"
"             (syncthing-config-file\n"
"               (folders (list (syncthing-folder\n"
"                               (label \"some-files\")\n"
"                               (path \"~/data\")\n"
"                               (devices (list desktop laptop)))\n"
"                              (syncthing-folder\n"
"                               (label \"critical-files\")\n"
"                               (path \"~/secrets\")\n"
"                               (devices\n"
"                                (list desktop\n"
"                                      laptop\n"
"                                      (syncthing-folder-device\n"
"                                       (device bob-desktop)\n"
"                                       (encryption-password \"mypassword\"))))))))))))\n"
msgstr ""
"(操作系统  \n"
"  ;; @dots{}  \n"
"  (服务  \n"
"    (列表  \n"
"      (服务 subids-service-type  \n"
"               (subids-configuration  \n"
"                (add-root? #f)  \n"
"                (subgids  \n"
"                  (subid-range (name \"root\")  \n"
"                               (start 120000)  \n"
"                               (count 100)))  \n"
"                (subuids  \n"
"                  (subid-range (name \"root\")  \n"
"                               (start 120000)  \n"
"                               (count 100)))))  \n"
"      (simple-service 'alice-bob-subids  \n"
"                      subids-service-type  \n"
"                      (subids-extension  \n"
"                        (subgids  \n"
"                         (列表  \n"
"                          (subid-range (name \"alice\"))))  \n"
"                        (subuids  \n"
"                         (列表  \n"
"                          (subid-range (name \"alice\"))  \n"
"                          (subid-range (name \"bob\")  \n"
"                                       (start 100700)))))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:23133
#, fuzzy
msgid "Furthermore, @code{(gnu services ssh)} provides the following services."
msgstr "此外,@code{(gnu services ssh)} 提供以下服务。"

#. type: cindex
#: guix-git/doc/guix.texi:23133 guix-git/doc/guix.texi:23202
#: guix-git/doc/guix.texi:45547
#, fuzzy, no-wrap
msgid "SSH"
msgstr "SSH"

#. type: cindex
#: guix-git/doc/guix.texi:23134 guix-git/doc/guix.texi:23203
#: guix-git/doc/guix.texi:45548
#, fuzzy, no-wrap
msgid "SSH server"
msgstr "SSH 服务器"

#. type: defvar
#: guix-git/doc/guix.texi:23136
#, fuzzy, no-wrap
msgid "lsh-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23140
#, fuzzy
msgid "Type of the service that runs the GNU@tie{}lsh secure shell (SSH)  daemon, @command{lshd}.  The value for this service is a @code{<lsh-configuration>} object."
msgstr "运行 GNU@tie{}lsh 安全外壳(SSH)守护进程 @command{lshd} 的服务类型。此服务的值是一个 @code{<lsh-configuration>} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:23142
#, fuzzy, no-wrap
msgid "{Data Type} lsh-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:23144
#, fuzzy
msgid "Data type representing the configuration of @command{lshd}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:23146
#, fuzzy, no-wrap
msgid "@code{lsh} (default: @code{lsh}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:23148
#, fuzzy
msgid "The package object of the GNU@tie{}lsh secure shell (SSH) daemon."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:23149
#, fuzzy, no-wrap
msgid "@code{daemonic?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23151
#, fuzzy
msgid "Whether to detach from the controlling terminal."
msgstr "是否从控制终端分离。"

#. type: item
#: guix-git/doc/guix.texi:23152
#, fuzzy, no-wrap
msgid "@code{host-key} (default: @code{\"/etc/lsh/host-key\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:23155
#, fuzzy
msgid "File containing the @dfn{host key}.  This file must be readable by root only."
msgstr "包含 @dfn{主机密钥} 的文件。此文件必须仅由 root 可读。"

#. type: item
#: guix-git/doc/guix.texi:23156
#, fuzzy, no-wrap
msgid "@code{interfaces} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:23160
#, fuzzy
msgid "List of host names or addresses that @command{lshd} will listen on.  If empty, @command{lshd} listens for connections on all the network interfaces."
msgstr "@command{lshd} 将监听的主机名或地址列表。如果为空,@command{lshd} 将在所有网络接口上监听连接。"

#. type: item
#: guix-git/doc/guix.texi:23161
#, fuzzy, no-wrap
msgid "@code{port-number} (default: @code{22}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23163
#, fuzzy
msgid "Port to listen on."
msgstr "要监听的端口。"

#. type: item
#: guix-git/doc/guix.texi:23164 guix-git/doc/guix.texi:24401
#, fuzzy, no-wrap
msgid "@code{allow-empty-passwords?} (default: @code{#f}) (type: boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:23166
#, fuzzy
msgid "Whether to accept log-ins with empty passwords."
msgstr "是否接受空密码的登录。"

#. type: item
#: guix-git/doc/guix.texi:23167
#, fuzzy, no-wrap
msgid "@code{root-login?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23169
#, fuzzy
msgid "Whether to accept log-ins as root."
msgstr "是否接受以 root 身份登录。"

#. type: item
#: guix-git/doc/guix.texi:23170
#, fuzzy, no-wrap
msgid "@code{syslog-output?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23173
#, fuzzy
msgid "Whether to log @command{lshd} standard output to syslogd.  This will make the service depend on the existence of a syslogd service."
msgstr "是否将 @command{lshd} 的标准输出记录到 syslogd。这将使服务依赖于 syslogd 服务的存在。"

#. type: item
#: guix-git/doc/guix.texi:23174
#, fuzzy, no-wrap
msgid "@code{pid-file?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23177
#, fuzzy
msgid "When @code{#t}, @command{lshd} writes its PID to the file specified in @var{pid-file}."
msgstr "当 @code{#t} 时,@command{lshd} 将其 PID 写入 @var{pid-file} 中指定的文件。"

#. type: item
#: guix-git/doc/guix.texi:23178
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/var/run/lshd.pid\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23180
#, fuzzy
msgid "File that @command{lshd} will write its PID to."
msgstr "@command{lshd} 将其 PID 写入的文件。"

#. type: item
#: guix-git/doc/guix.texi:23181
#, fuzzy, no-wrap
msgid "@code{x11-forwarding?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23183
#, fuzzy
msgid "Whether to enable X11 forwarding."
msgstr "是否启用 X11 转发。"

#. type: item
#: guix-git/doc/guix.texi:23184
#, fuzzy, no-wrap
msgid "@code{tcp/ip-forwarding?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23186
#, fuzzy
msgid "Whether to enable TCP/IP forwarding."
msgstr "是否启用 TCP/IP 转发。"

#. type: item
#: guix-git/doc/guix.texi:23187
#, fuzzy, no-wrap
msgid "@code{password-authentication?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23189
#, fuzzy
msgid "Whether to accept log-ins using password authentication."
msgstr "是否接受使用密码认证的登录。"

#. type: item
#: guix-git/doc/guix.texi:23190
#, fuzzy, no-wrap
msgid "@code{public-key-authentication?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23192
#, fuzzy
msgid "Whether to accept log-ins using public key authentication."
msgstr "是否接受使用公钥认证的登录。"

#. type: item
#: guix-git/doc/guix.texi:23193
#, fuzzy, no-wrap
msgid "@code{initialize?} (default: @code{#t}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:23198
#, fuzzy
msgid "When @code{#f}, it is up to the user to initialize the randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to create a key pair with the private key stored in file @var{host-key} (@pxref{lshd basics,,, lsh, LSH Manual})."
msgstr "当 @code{#f} 时,由用户初始化随机数生成器(@pxref{lsh-make-seed,,, lsh, LSH Manual}),并创建一个密钥对,私钥存储在文件 @var{host-key} 中(@pxref{lshd basics,,, lsh, LSH Manual})。"

#. type: defvar
#: guix-git/doc/guix.texi:23204
#, fuzzy, no-wrap
msgid "openssh-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23208
#, fuzzy
msgid "This is the type for the @uref{http://www.openssh.org, OpenSSH} secure shell daemon, @command{sshd}.  Its value must be an @code{openssh-configuration} record as in this example:"
msgstr "这是@uref{http://www.openssh.org, OpenSSH}安全外壳守护进程@command{sshd}的类型。它的值必须是一个@code{openssh-configuration}记录,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:23217
#, fuzzy, no-wrap
msgid ""
"(service openssh-service-type\n"
"         (openssh-configuration\n"
"           (x11-forwarding? #t)\n"
"           (permit-root-login 'prohibit-password)\n"
"           (authorized-keys\n"
"             `((\"alice\" ,(local-file \"alice.pub\"))\n"
"               (\"bob\" ,(local-file \"bob.pub\"))))))\n"
msgstr ""
"(service openssh-service-type\n"
"         (openssh-configuration\n"
"           (x11-forwarding? #t)\n"
"           (permit-root-login 'prohibit-password)\n"
"           (authorized-keys\n"
"             `((\"alice\" ,(local-file \"alice.pub\"))\n"
"               (\"bob\" ,(local-file \"bob.pub\"))))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:23220
#, fuzzy
msgid "See below for details about @code{openssh-configuration}."
msgstr "有关@code{openssh-configuration}的详细信息,请参见下文。"

#. type: defvar
#: guix-git/doc/guix.texi:23223
#, fuzzy
msgid "This service can be extended with extra authorized keys, as in this example:"
msgstr "此服务可以通过额外的授权密钥进行扩展,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:23228
#, fuzzy, no-wrap
msgid ""
"(service-extension openssh-service-type\n"
"                   (const `((\"charlie\"\n"
"                             ,(local-file \"charlie.pub\")))))\n"
msgstr ""
"(service-extension openssh-service-type\n"
"                   (const `((\"charlie\"\n"
"                             ,(local-file \"charlie.pub\")))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:23231
#, fuzzy, no-wrap
msgid "{Data Type} openssh-configuration"
msgstr "{数据类型} openssh-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:23233
#, fuzzy
msgid "This is the configuration record for OpenSSH's @command{sshd}."
msgstr "这是OpenSSH的@command{sshd}的配置记录。"

#. type: item
#: guix-git/doc/guix.texi:23235
#, fuzzy, no-wrap
msgid "@code{openssh} (default @var{openssh})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:23237 guix-git/doc/guix.texi:48448
#, fuzzy
msgid "The OpenSSH package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:23238
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/var/run/sshd.pid\"})"
msgstr "@code{pid-file}(默认值:@code{\"/var/run/sshd.pid\"})"

#. type: table
#: guix-git/doc/guix.texi:23240
#, fuzzy
msgid "Name of the file where @command{sshd} writes its PID."
msgstr "@command{sshd}写入其PID的文件名称。"

#. type: item
#: guix-git/doc/guix.texi:23241
#, fuzzy, no-wrap
msgid "@code{port-number} (default: @code{22})"
msgstr "@code{port-number}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:23243
#, fuzzy
msgid "TCP port on which @command{sshd} listens for incoming connections."
msgstr "@command{sshd}监听传入连接的TCP端口。"

#. type: item
#: guix-git/doc/guix.texi:23244
#, fuzzy, no-wrap
msgid "@code{max-connections} (default: @code{200})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23249
#, fuzzy
msgid "Hard limit on the maximum number of simultaneous client connections, enforced by the inetd-style Shepherd service (@pxref{Service De- and Constructors, @code{make-inetd-constructor},, shepherd, The GNU Shepherd Manual})."
msgstr "同时客户端连接的最大数量的硬限制,由inetd风格的Shepherd服务强制执行(@pxref{服务去构造器和构造器,@code{make-inetd-constructor},, shepherd, GNU Shepherd手册})。"

#. type: item
#: guix-git/doc/guix.texi:23250
#, fuzzy, no-wrap
msgid "@code{permit-root-login} (default: @code{#f})"
msgstr "@code{permit-root-login}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23255
#, fuzzy
msgid "This field determines whether and when to allow logins as root.  If @code{#f}, root logins are disallowed; if @code{#t}, they are allowed.  If it's the symbol @code{'prohibit-password}, then root logins are permitted but not with password-based authentication."
msgstr "此字段决定是否以及何时允许以root身份登录。如果@code{#f},则不允许root登录;如果@code{#t},则允许。如果它是符号@code{'prohibit-password},则允许root登录,但不允许使用基于密码的身份验证。"

#. type: item
#: guix-git/doc/guix.texi:23256 guix-git/doc/guix.texi:23426
#, fuzzy, no-wrap
msgid "@code{allow-empty-passwords?} (default: @code{#f})"
msgstr "@code{allow-empty-passwords?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23259
#, fuzzy
msgid "When true, users with empty passwords may log in.  When false, they may not."
msgstr "为真时,具有空密码的用户可以登录。为假时,则不可以。"

#. type: item
#: guix-git/doc/guix.texi:23260 guix-git/doc/guix.texi:23429
#, fuzzy, no-wrap
msgid "@code{password-authentication?} (default: @code{#t})"
msgstr "@code{password-authentication?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:23263
#, fuzzy
msgid "When true, users may log in with their password.  When false, they have other authentication methods."
msgstr "为真时,用户可以使用其密码登录。为假时,他们有其他身份验证方法。"

#. type: item
#: guix-git/doc/guix.texi:23264
#, fuzzy, no-wrap
msgid "@code{public-key-authentication?} (default: @code{#t})"
msgstr "@code{public-key-authentication?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:23267
#, fuzzy
msgid "When true, users may log in using public key authentication.  When false, users have to use other authentication method."
msgstr "为真时,用户可以使用公钥身份验证登录。为假时,用户必须使用其他身份验证方法。"

#. type: table
#: guix-git/doc/guix.texi:23270
#, fuzzy
msgid "Authorized public keys are stored in @file{~/.ssh/authorized_keys}.  This is used only by protocol version 2."
msgstr "授权的公钥存储在 @file{~/.ssh/authorized_keys} 中。 这仅由协议版本 2 使用。"

#. type: item
#: guix-git/doc/guix.texi:23271
#, fuzzy, no-wrap
msgid "@code{x11-forwarding?} (default: @code{#f})"
msgstr "@code{x11-forwarding?} (默认: @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23275
#, fuzzy
msgid "When true, forwarding of X11 graphical client connections is enabled---in other words, @command{ssh} options @option{-X} and @option{-Y} will work."
msgstr "当为真时,启用 X11 图形客户端连接的转发——换句话说,@command{ssh} 选项 @option{-X} 和 @option{-Y} 将有效。"

#. type: item
#: guix-git/doc/guix.texi:23276
#, fuzzy, no-wrap
msgid "@code{allow-agent-forwarding?} (default: @code{#t})"
msgstr "@code{allow-agent-forwarding?} (默认: @code{#t})"

#. type: table
#: guix-git/doc/guix.texi:23278
#, fuzzy
msgid "Whether to allow agent forwarding."
msgstr "是否允许代理转发。"

#. type: item
#: guix-git/doc/guix.texi:23279
#, fuzzy, no-wrap
msgid "@code{allow-tcp-forwarding?} (default: @code{#t})"
msgstr "@code{allow-tcp-forwarding?} (默认: @code{#t})"

#. type: table
#: guix-git/doc/guix.texi:23281
#, fuzzy
msgid "Whether to allow TCP forwarding."
msgstr "是否允许 TCP 转发。"

#. type: item
#: guix-git/doc/guix.texi:23282
#, fuzzy, no-wrap
msgid "@code{gateway-ports?} (default: @code{#f})"
msgstr "@code{gateway-ports?} (默认: @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23284
#, fuzzy
msgid "Whether to allow gateway ports."
msgstr "是否允许网关端口。"

#. type: item
#: guix-git/doc/guix.texi:23285
#, fuzzy, no-wrap
msgid "@code{challenge-response-authentication?} (default: @code{#f})"
msgstr "@code{challenge-response-authentication?} (默认: @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23288
#, fuzzy
msgid "Specifies whether challenge response authentication is allowed (e.g.@: via PAM)."
msgstr "指定是否允许挑战响应认证(例如,通过 PAM)。"

#. type: item
#: guix-git/doc/guix.texi:23289
#, fuzzy, no-wrap
msgid "@code{use-pam?} (default: @code{#t})"
msgstr "@code{use-pam?} (默认: @code{#t})"

#. type: table
#: guix-git/doc/guix.texi:23295
#, fuzzy
msgid "Enables the Pluggable Authentication Module interface.  If set to @code{#t}, this will enable PAM authentication using @code{challenge-response-authentication?} and @code{password-authentication?}, in addition to PAM account and session module processing for all authentication types."
msgstr "启用可插拔认证模块接口。如果设置为 @code{#t},这将启用使用 @code{challenge-response-authentication?} 和 @code{password-authentication?} 的 PAM 认证,以及对所有认证类型的 PAM 账户和会话模块处理。"

#. type: table
#: guix-git/doc/guix.texi:23300
#, fuzzy
msgid "Because PAM challenge response authentication usually serves an equivalent role to password authentication, you should disable either @code{challenge-response-authentication?} or @code{password-authentication?}."
msgstr "由于 PAM 挑战响应认证通常与密码认证具有相同的作用,因此您应该禁用 @code{challenge-response-authentication?} 或 @code{password-authentication?} 中的一个。"

#. type: item
#: guix-git/doc/guix.texi:23301
#, fuzzy, no-wrap
msgid "@code{print-last-log?} (default: @code{#t})"
msgstr "@code{print-last-log?} (默认: @code{#t})"

#. type: table
#: guix-git/doc/guix.texi:23304
#, fuzzy
msgid "Specifies whether @command{sshd} should print the date and time of the last user login when a user logs in interactively."
msgstr "指定 @command{sshd} 是否应在用户交互式登录时打印最后一次用户登录的日期和时间。"

#. type: item
#: guix-git/doc/guix.texi:23305
#, fuzzy, no-wrap
msgid "@code{subsystems} (default: @code{'((\"sftp\" \"internal-sftp\"))})"
msgstr "@code{subsystems} (默认: @code{'((\"sftp\" \"internal-sftp\"))})"

#. type: table
#: guix-git/doc/guix.texi:23307
#, fuzzy
msgid "Configures external subsystems (e.g.@: file transfer daemon)."
msgstr "配置外部子系统(例如:文件传输守护进程)。"

#. type: table
#: guix-git/doc/guix.texi:23311
#, fuzzy
msgid "This is a list of two-element lists, each of which containing the subsystem name and a command (with optional arguments) to execute upon subsystem request."
msgstr "这是一个包含两个元素列表的列表,每个列表包含子系统名称和在子系统请求时要执行的命令(可选参数)。"

#. type: table
#: guix-git/doc/guix.texi:23314
#, fuzzy
msgid "The command @command{internal-sftp} implements an in-process SFTP server.  Alternatively, one can specify the @command{sftp-server} command:"
msgstr "命令 @command{internal-sftp} 实现了一个进程内 SFTP 服务器。或者,可以指定 @command{sftp-server} 命令:"

#. type: lisp
#: guix-git/doc/guix.texi:23319
#, fuzzy, no-wrap
msgid ""
"(service openssh-service-type\n"
"         (openssh-configuration\n"
"          (subsystems\n"
"           `((\"sftp\" ,(file-append openssh \"/libexec/sftp-server\"))))))\n"
msgstr ""
"(service openssh-service-type\n"
"         (openssh-configuration\n"
"          (subsystems\n"
"           `((\"sftp\" ,(file-append openssh \"/libexec/sftp-server\"))))))\n"

#. type: item
#: guix-git/doc/guix.texi:23321
#, fuzzy, no-wrap
msgid "@code{accepted-environment} (default: @code{'()})"
msgstr "@code{accepted-environment} (默认: @code{'()})"

#. type: table
#: guix-git/doc/guix.texi:23323
#, fuzzy
msgid "List of strings describing which environment variables may be exported."
msgstr "描述可以导出的环境变量的字符串列表。"

#. type: table
#: guix-git/doc/guix.texi:23326
#, fuzzy
msgid "Each string gets on its own line.  See the @code{AcceptEnv} option in @code{man sshd_config}."
msgstr "每个字符串单独占一行。请参阅 @code{AcceptEnv} 选项在 @code{man sshd_config} 中。"

#. type: table
#: guix-git/doc/guix.texi:23331
#, fuzzy
msgid "This example allows ssh-clients to export the @env{COLORTERM} variable.  It is set by terminal emulators, which support colors.  You can use it in your shell's resource file to enable colors for the prompt and commands if this variable is set."
msgstr "此示例允许 ssh 客户端导出 @env{COLORTERM} 变量。它由支持颜色的终端模拟器设置。您可以在 shell 的资源文件中使用它,以便在设置此变量时为提示符和命令启用颜色。"

#. type: lisp
#: guix-git/doc/guix.texi:23336
#, fuzzy, no-wrap
msgid ""
"(service openssh-service-type\n"
"         (openssh-configuration\n"
"           (accepted-environment '(\"COLORTERM\"))))\n"
msgstr ""
"(service openssh-service-type\n"
"         (openssh-configuration\n"
"           (accepted-environment '(\"COLORTERM\"))))\n"

#. type: cindex
#: guix-git/doc/guix.texi:23339
#, fuzzy, no-wrap
msgid "authorized keys, SSH"
msgstr "授权密钥,SSH"

#. type: cindex
#: guix-git/doc/guix.texi:23340
#, fuzzy, no-wrap
msgid "SSH authorized keys"
msgstr "SSH 授权密钥"

#. type: table
#: guix-git/doc/guix.texi:23344
#, fuzzy
msgid "This is the list of authorized keys.  Each element of the list is a user name followed by one or more file-like objects that represent SSH public keys.  For example:"
msgstr "这是授权密钥的列表。列表的每个元素是一个用户名,后面跟着一个或多个表示 SSH 公钥的文件对象。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:23351
#, fuzzy, no-wrap
msgid ""
"(openssh-configuration\n"
"  (authorized-keys\n"
"    `((\"rekado\" ,(local-file \"rekado.pub\"))\n"
"      (\"chris\" ,(local-file \"chris.pub\"))\n"
"      (\"root\" ,(local-file \"rekado.pub\") ,(local-file \"chris.pub\")))))\n"
msgstr ""
"(openssh-configuration\n"
"  (authorized-keys\n"
"    `((\"rekado\" ,(local-file \"rekado.pub\"))\n"
"      (\"chris\" ,(local-file \"chris.pub\"))\n"
"      (\"root\" ,(local-file \"rekado.pub\") ,(local-file \"chris.pub\")))))\n"

#. type: table
#: guix-git/doc/guix.texi:23356
#, fuzzy
msgid "registers the specified public keys for user accounts @code{rekado}, @code{chris}, and @code{root}."
msgstr "为用户账户 @code{rekado}、@code{chris} 和 @code{root} 注册指定的公钥。"

#. type: table
#: guix-git/doc/guix.texi:23359
#, fuzzy
msgid "Additional authorized keys can be specified @i{via} @code{service-extension}."
msgstr "可以通过 @i{via} @code{service-extension} 指定额外的授权密钥。"

#. type: table
#: guix-git/doc/guix.texi:23362
#, fuzzy
msgid "Note that this does @emph{not} interfere with the use of @file{~/.ssh/authorized_keys}."
msgstr "请注意,这并 @emph{不} 干扰 @file{~/.ssh/authorized_keys} 的使用。"

#. type: item
#: guix-git/doc/guix.texi:23363
#, fuzzy, no-wrap
msgid "@code{generate-host-keys?} (default: @code{#t})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:23366
#, fuzzy
msgid "Whether to generate host key pairs with @command{ssh-keygen -A} under @file{/etc/ssh} if there are none."
msgstr "如果没有主机密钥对,是否在 @file{/etc/ssh} 下使用 @command{ssh-keygen -A} 生成主机密钥对。"

#. type: table
#: guix-git/doc/guix.texi:23372
#, fuzzy
msgid "Generating key pairs takes a few seconds when enough entropy is available and is only done once.  You might want to turn it off for instance in a virtual machine that does not need it because host keys are provided in some other way, and where the extra boot time is a problem."
msgstr "生成密钥对在有足够熵的情况下需要几秒钟,并且只执行一次。您可能希望在不需要它的虚拟机中关闭它,因为主机密钥以其他方式提供,并且额外的启动时间是一个问题。"

#. type: item
#: guix-git/doc/guix.texi:23373 guix-git/doc/guix.texi:23775
#, fuzzy, no-wrap
msgid "@code{log-level} (default: @code{'info})"
msgstr "@code{log-level}(默认值:@code{'info})"

#. type: table
#: guix-git/doc/guix.texi:23377
#, fuzzy
msgid "This is a symbol specifying the logging level: @code{quiet}, @code{fatal}, @code{error}, @code{info}, @code{verbose}, @code{debug}, etc.  See the man page for @file{sshd_config} for the full list of level names."
msgstr "这是一个指定日志级别的符号:@code{quiet}、@code{fatal}、@code{error}、@code{info}、@code{verbose}、@code{debug} 等。有关级别名称的完整列表,请参阅 @file{sshd_config} 的手册页。"

#. type: item
#: guix-git/doc/guix.texi:23378 guix-git/doc/guix.texi:27356
#: guix-git/doc/guix.texi:33140
#, fuzzy, no-wrap
msgid "@code{extra-content} (default: @code{\"\"})"
msgstr "@code{extra-content}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:23383
#, fuzzy
msgid "This field can be used to append arbitrary text to the configuration file.  It is especially useful for elaborate configurations that cannot be expressed otherwise.  This configuration, for example, would generally disable root logins, but permit them from one specific IP address:"
msgstr "此字段可用于将任意文本附加到配置文件中。它对于无法以其他方式表达的复杂配置特别有用。例如,此配置通常会禁用 root 登录,但允许来自一个特定 IP 地址的登录:"

#. type: lisp
#: guix-git/doc/guix.texi:23389
#, fuzzy, no-wrap
msgid ""
"(openssh-configuration\n"
"  (extra-content \"\\\n"
"Match Address 192.168.0.1\n"
"  PermitRootLogin yes\"))\n"
msgstr ""
"(openssh-configuration\n"
"  (extra-content \"\\\n"
"匹配地址 192.168.0.1\n"
"  允许根登录 是\"))\n"

#. type: defvar
#: guix-git/doc/guix.texi:23394
#, fuzzy, no-wrap
msgid "dropbear-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23398
#, fuzzy
msgid "Type of the service that runs the @url{https://matt.ucc.asn.au/dropbear/dropbear.html, Dropbear SSH daemon}, whose value is a @code{<dropbear-configuration>} object."
msgstr "运行 @url{https://matt.ucc.asn.au/dropbear/dropbear.html, Dropbear SSH 守护进程} 的服务类型,其值为 @code{<dropbear-configuration>} 对象。"

#. type: defvar
#: guix-git/doc/guix.texi:23400
#, fuzzy
msgid "For example, to specify a Dropbear service listening on port 1234:"
msgstr "例如,要指定一个在端口 1234 上监听的 Dropbear 服务:"

#. type: lisp
#: guix-git/doc/guix.texi:23404
#, no-wrap
msgid ""
"(service dropbear-service-type (dropbear-configuration\n"
"                                 (port-number 1234)))\n"
msgstr ""
"(service dropbear-service-type (dropbear-configuration\n"
"                                 (port-number 1234)))\n"

#. type: deftp
#: guix-git/doc/guix.texi:23407
#, fuzzy, no-wrap
msgid "{Data Type} dropbear-configuration"
msgstr "{数据类型} dropbear-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:23409
#, fuzzy
msgid "This data type represents the configuration of a Dropbear SSH daemon."
msgstr "该数据类型表示 Dropbear SSH 守护进程的配置。"

#. type: item
#: guix-git/doc/guix.texi:23411
#, fuzzy, no-wrap
msgid "@code{dropbear} (default: @var{dropbear})"
msgstr "@code{dropbear} (默认值: @var{dropbear})"

#. type: table
#: guix-git/doc/guix.texi:23413
#, fuzzy
msgid "The Dropbear package to use."
msgstr "要使用的 Dropbear 包。"

#. type: item
#: guix-git/doc/guix.texi:23414
#, fuzzy, no-wrap
msgid "@code{port-number} (default: 22)"
msgstr "@code{port-number} (默认值: 22)"

#. type: table
#: guix-git/doc/guix.texi:23416
#, fuzzy
msgid "The TCP port where the daemon waits for incoming connections."
msgstr "守护进程等待传入连接的 TCP 端口。"

#. type: item
#: guix-git/doc/guix.texi:23417
#, fuzzy, no-wrap
msgid "@code{syslog-output?} (default: @code{#t})"
msgstr "@code{syslog-output?} (默认值: @code{#t})"

#. type: table
#: guix-git/doc/guix.texi:23419
#, fuzzy
msgid "Whether to enable syslog output."
msgstr "是否启用 syslog 输出。"

#. type: item
#: guix-git/doc/guix.texi:23420
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/var/run/dropbear.pid\"})"
msgstr "@code{pid-file} (默认值: @code{\"/var/run/dropbear.pid\"})"

#. type: table
#: guix-git/doc/guix.texi:23422
#, fuzzy
msgid "File name of the daemon's PID file."
msgstr "守护进程的 PID 文件名。"

#. type: item
#: guix-git/doc/guix.texi:23423
#, fuzzy, no-wrap
msgid "@code{root-login?} (default: @code{#f})"
msgstr "@code{root-login?} (默认值: @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23425
#, fuzzy
msgid "Whether to allow @code{root} logins."
msgstr "是否允许 @code{root} 登录。"

#. type: table
#: guix-git/doc/guix.texi:23428 guix-git/doc/guix.texi:24678
#, fuzzy
msgid "Whether to allow empty passwords."
msgstr "是否允许空密码。"

#. type: table
#: guix-git/doc/guix.texi:23431
#, fuzzy
msgid "Whether to enable password-based authentication."
msgstr "是否启用基于密码的身份验证。"

#. type: cindex
#: guix-git/doc/guix.texi:23434
#, fuzzy, no-wrap
msgid "AutoSSH"
msgstr "AutoSSH"

#. type: defvar
#: guix-git/doc/guix.texi:23435
#, fuzzy, no-wrap
msgid "autossh-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23443
#, fuzzy
msgid "This is the type for the @uref{https://www.harding.motd.ca/autossh, AutoSSH} program that runs a copy of @command{ssh} and monitors it, restarting it as necessary should it die or stop passing traffic.  AutoSSH can be run manually from the command-line by passing arguments to the binary @command{autossh} from the package @code{autossh}, but it can also be run as a Guix service.  This latter use case is documented here."
msgstr "这是 @uref{https://www.harding.motd.ca/autossh, AutoSSH} 程序的类型,该程序运行 @command{ssh} 的副本并监控它,必要时在其停止或不再传输流量时重新启动它。 AutoSSH 可以通过将参数传递给来自 @code{autossh} 包的二进制文件 @command{autossh} 手动从命令行运行,但它也可以作为 Guix 服务运行。 后者的用例在此处有文档。"

#. type: defvar
#: guix-git/doc/guix.texi:23447
#, fuzzy
msgid "AutoSSH can be used to forward local traffic to a remote machine using an SSH tunnel, and it respects the @file{~/.ssh/config} of the user it is run as."
msgstr "AutoSSH 可用于通过 SSH 隧道将本地流量转发到远程机器,并遵循运行它的用户的 @file{~/.ssh/config}。"

#. type: defvar
#: guix-git/doc/guix.texi:23452
#, fuzzy
msgid "For example, to specify a service running autossh as the user @code{pino} and forwarding all local connections to port @code{8081} to @code{remote:8081} using an SSH tunnel, add this call to the operating system's @code{services} field:"
msgstr "例如,要指定一个以用户 @code{pino} 运行的 autossh 服务,并将所有本地连接到端口 @code{8081} 转发到 @code{remote:8081},请将此调用添加到操作系统的 @code{services} 字段:"

#. type: lisp
#: guix-git/doc/guix.texi:23458
#, fuzzy, no-wrap
msgid ""
"(service autossh-service-type\n"
"         (autossh-configuration\n"
"          (user \"pino\")\n"
"          (ssh-options (list \"-T\" \"-N\" \"-L\" \"8081:localhost:8081\" \"remote.net\"))))\n"
msgstr ""
"(service autossh-service-type\n"
"         (autossh-configuration\n"
"          (user \"pino\")\n"
"          (ssh-options (list \"-T\" \"-N\" \"-L\" \"8081:localhost:8081\" \"remote.net\"))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:23461
#, fuzzy, no-wrap
msgid "{Data Type} autossh-configuration"
msgstr "{数据类型} autossh-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:23463
#, fuzzy
msgid "This data type represents the configuration of an AutoSSH service."
msgstr "该数据类型表示 AutoSSH 服务的配置。"

#. type: item
#: guix-git/doc/guix.texi:23466
#, fuzzy, no-wrap
msgid "@code{user} (default @code{\"autossh\"})"
msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#. type: table
#: guix-git/doc/guix.texi:23469
#, fuzzy
msgid "The user as which the AutoSSH service is to be run.  This assumes that the specified user exists."
msgstr "AutoSSH 服务将以指定用户身份运行。 这假设指定的用户存在。"

#. type: item
#: guix-git/doc/guix.texi:23470
#, fuzzy, no-wrap
msgid "@code{poll} (default @code{600})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:23472
#, fuzzy
msgid "Specifies the connection poll time in seconds."
msgstr "指定连接轮询时间(以秒为单位)。"

#. type: item
#: guix-git/doc/guix.texi:23473
#, fuzzy, no-wrap
msgid "@code{first-poll} (default @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23479
#, fuzzy
msgid "Specifies how many seconds AutoSSH waits before the first connection test.  After this first test, polling is resumed at the pace defined in @code{poll}.  When set to @code{#f}, the first poll is not treated specially and will also use the connection poll specified in @code{poll}."
msgstr "指定 AutoSSH 在第一次连接测试之前等待的秒数。在第一次测试之后,轮询将以 @code{poll} 中定义的速度恢复。当设置为 @code{#f} 时,第一次轮询不会被特别处理,也将使用 @code{poll} 中指定的连接轮询。"

#. type: item
#: guix-git/doc/guix.texi:23480
#, fuzzy, no-wrap
msgid "@code{gate-time} (default @code{30})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:23483
#, fuzzy
msgid "Specifies how many seconds an SSH connection must be active before it is considered successful."
msgstr "指定 SSH 连接必须保持活动状态的秒数,才能被视为成功。"

#. type: item
#: guix-git/doc/guix.texi:23484
#, fuzzy, no-wrap
msgid "@code{log-level} (default @code{1})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:23487
#, fuzzy
msgid "The log level, corresponding to the levels used by syslog---so @code{0} is the most silent while @code{7} is the chattiest."
msgstr "日志级别,对应于 syslog 使用的级别——因此 @code{0} 是最安静的,而 @code{7} 是最喧闹的。"

#. type: item
#: guix-git/doc/guix.texi:23488
#, fuzzy, no-wrap
msgid "@code{max-start} (default @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23491
#, fuzzy
msgid "The maximum number of times SSH may be (re)started before AutoSSH exits.  When set to @code{#f}, no maximum is configured and AutoSSH may restart indefinitely."
msgstr "SSH 可以(重新)启动的最大次数,超过此次数后 AutoSSH 将退出。当设置为 @code{#f} 时,没有配置最大值,AutoSSH 可以无限次重启。"

#. type: item
#: guix-git/doc/guix.texi:23492
#, fuzzy, no-wrap
msgid "@code{message} (default @code{\"\"})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:23494
#, fuzzy
msgid "The message to append to the echo message sent when testing connections."
msgstr "在测试连接时附加到回显消息的消息。"

#. type: item
#: guix-git/doc/guix.texi:23495
#, fuzzy, no-wrap
msgid "@code{port} (default @code{\"0\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:23505
#, fuzzy
msgid "The ports used for monitoring the connection.  When set to @code{\"0\"}, monitoring is disabled.  When set to @code{\"@var{n}\"} where @var{n} is a positive integer, ports @var{n} and @var{n}+1 are used for monitoring the connection, such that port @var{n} is the base monitoring port and @code{n+1} is the echo port.  When set to @code{\"@var{n}:@var{m}\"} where @var{n} and @var{m} are positive integers, the ports @var{n} and @var{m} are used for monitoring the connection, such that port @var{n} is the base monitoring port and @var{m} is the echo port."
msgstr "用于监控连接的端口。当设置为 @code{\"0\"} 时,监控被禁用。当设置为 @code{\"@var{n}\"},其中 @var{n} 是正整数时,端口 @var{n} 和 @var{n}+1 用于监控连接,其中端口 @var{n} 是基础监控端口,@code{n+1} 是回显端口。当设置为 @code{\"@var{n}:@var{m}\"},其中 @var{n} 和 @var{m} 是正整数时,端口 @var{n} 和 @var{m} 用于监控连接,其中端口 @var{n} 是基础监控端口,@var{m} 是回显端口。"

#. type: item
#: guix-git/doc/guix.texi:23506
#, fuzzy, no-wrap
msgid "@code{ssh-options} (default @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:23510
#, fuzzy
msgid "The list of command-line arguments to pass to @command{ssh} when it is run.  Options @option{-f} and @option{-M} are reserved for AutoSSH and may cause undefined behaviour."
msgstr "运行 @command{ssh} 时传递给它的命令行参数列表。选项 @option{-f} 和 @option{-M} 保留给 AutoSSH,可能会导致未定义的行为。"

#. type: cindex
#: guix-git/doc/guix.texi:23514
#, fuzzy, no-wrap
msgid "WebSSH"
msgstr "WebSSH"

#. type: defvar
#: guix-git/doc/guix.texi:23515
#, fuzzy, no-wrap
msgid "webssh-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23521
#, fuzzy
msgid "This is the type for the @uref{https://webssh.huashengdun.org/, WebSSH} program that runs a web SSH client.  WebSSH can be run manually from the command-line by passing arguments to the binary @command{wssh} from the package @code{webssh}, but it can also be run as a Guix service.  This latter use case is documented here."
msgstr "这是运行 Web SSH 客户端的 @uref{https://webssh.huashengdun.org/, WebSSH} 程序的类型。WebSSH 可以通过将参数传递给来自 @code{webssh} 包的二进制文件 @command{wssh} 手动从命令行运行,但它也可以作为 Guix 服务运行。后者的用例在此处有文档说明。"

#. type: defvar
#: guix-git/doc/guix.texi:23527
#, fuzzy
msgid "For example, to specify a service running WebSSH on loopback interface on port @code{8888} with reject policy with a list of allowed to connection hosts, and NGINX as a reverse-proxy to this service listening for HTTPS connection, add this call to the operating system's @code{services} field:"
msgstr "例如,要指定在端口 @code{8888} 上的回环接口上运行 WebSSH 的服务,具有拒绝策略和允许连接主机的列表,以及作为此服务的反向代理的 NGINX 监听 HTTPS 连接,请将此调用添加到操作系统的 @code{services} 字段:"

#. type: lisp
#: guix-git/doc/guix.texi:23535
#, fuzzy, no-wrap
msgid ""
"(service webssh-service-type\n"
"  (webssh-configuration (address \"127.0.0.1\")\n"
"                        (port 8888)\n"
"                        (policy 'reject)\n"
"                        (known-hosts '(\"localhost ecdsa-sha2-nistp256 AAAA…\"\n"
"                                       \"127.0.0.1 ecdsa-sha2-nistp256 AAAA…\"))))\n"
"\n"
msgstr ""
"(service webssh-service-type\n"
"  (webssh-configuration (address \"127.0.0.1\")\n"
"                        (port 8888)\n"
"                        (policy 'reject)\n"
"                        (known-hosts '(\"localhost ecdsa-sha2-nistp256 AAAA…\"\n"
"                                       \"127.0.0.1 ecdsa-sha2-nistp256 AAAA…\"))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:23551
#, fuzzy, no-wrap
msgid ""
"(service nginx-service-type\n"
"         (nginx-configuration\n"
"          (server-blocks\n"
"           (list\n"
"            (nginx-server-configuration\n"
"             (inherit %webssh-configuration-nginx)\n"
"             (server-name '(\"webssh.example.com\"))\n"
"             (listen '(\"443 ssl\"))\n"
"             (ssl-certificate (letsencrypt-certificate \"webssh.example.com\"))\n"
"             (ssl-certificate-key (letsencrypt-key \"webssh.example.com\"))\n"
"             (locations\n"
"              (cons (nginx-location-configuration\n"
"                     (uri \"/.well-known\")\n"
"                     (body '(\"root /var/www;\")))\n"
"                    (nginx-server-configuration-locations %webssh-configuration-nginx))))))))\n"
msgstr ""
"(service nginx-service-type\n"
"         (nginx-configuration\n"
"          (server-blocks\n"
"           (list\n"
"            (nginx-server-configuration\n"
"             (inherit %webssh-configuration-nginx)\n"
"             (server-name '(\"webssh.example.com\"))\n"
"             (listen '(\"443 ssl\"))\n"
"             (ssl-certificate (letsencrypt-certificate \"webssh.example.com\"))\n"
"             (ssl-certificate-key (letsencrypt-key \"webssh.example.com\"))\n"
"             (locations\n"
"              (cons (nginx-location-configuration\n"
"                     (uri \"/.well-known\")\n"
"                     (body '(\"root /var/www;\")))\n"
"                    (nginx-server-configuration-locations %webssh-configuration-nginx))))))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:23554
#, fuzzy, no-wrap
msgid "{Data Type} webssh-configuration"
msgstr "{数据类型} webssh-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:23556
#, fuzzy
msgid "Data type representing the configuration for @code{webssh-service}."
msgstr "表示@code{webssh-service}配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:23558
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{webssh})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:23560
#, fuzzy
msgid "@code{webssh} package to use."
msgstr "@code{webssh}包以使用。"

#. type: item
#: guix-git/doc/guix.texi:23561
#, fuzzy, no-wrap
msgid "@code{user-name} (default: @var{\"webssh\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:23564
#, fuzzy
msgid "User name or user ID that file transfers to and from that module should take place."
msgstr "文件传输到该模块和从该模块进行的用户名称或用户ID。"

#. type: item
#: guix-git/doc/guix.texi:23565
#, fuzzy, no-wrap
msgid "@code{group-name} (default: @var{\"webssh\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:23568
#, fuzzy, no-wrap
msgid "@code{address} (default: @var{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23570
#, fuzzy
msgid "IP address on which @command{webssh} listens for incoming connections."
msgstr "@command{webssh}监听传入连接的IP地址。"

#. type: item
#: guix-git/doc/guix.texi:23571
#, fuzzy, no-wrap
msgid "@code{port} (default: @var{8888})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:23573
#, fuzzy
msgid "TCP port on which @command{webssh} listens for incoming connections."
msgstr "@command{webssh}监听传入连接的TCP端口。"

#. type: item
#: guix-git/doc/guix.texi:23574
#, fuzzy, no-wrap
msgid "@code{policy} (default: @var{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23576
#, fuzzy
msgid "Connection policy.  @var{reject} policy requires to specify @var{known-hosts}."
msgstr "连接策略。@var{reject}策略要求指定@var{known-hosts}。"

#. type: item
#: guix-git/doc/guix.texi:23577
#, fuzzy, no-wrap
msgid "@code{known-hosts} (default: @var{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:23579
#, fuzzy
msgid "List of hosts which allowed for SSH connection from @command{webssh}."
msgstr "允许从@command{webssh}进行SSH连接的主机列表。"

#. type: item
#: guix-git/doc/guix.texi:23580
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @file{\"/var/log/webssh.log\"})"
msgstr "@code{private-key}(默认值:@file{~root/.ssh/id_rsa})"

#. type: table
#: guix-git/doc/guix.texi:23582
#, fuzzy
msgid "Name of the file where @command{webssh} writes its log file."
msgstr "@command{webssh}写入其日志文件的文件名。"

#. type: item
#: guix-git/doc/guix.texi:23583
#, fuzzy, no-wrap
msgid "@code{log-level} (default: @var{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23585
#, fuzzy
msgid "Logging level."
msgstr "日志级别。"

#. type: defvar
#: guix-git/doc/guix.texi:23589
#, fuzzy, no-wrap
msgid "block-facebook-hosts-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23596
#, fuzzy
msgid "This service type adds a list of known Facebook hosts to the @file{/etc/hosts} file.  (@pxref{Host Names,,, libc, The GNU C Library Reference Manual})  Each line contains an entry that maps a known server name of the Facebook on-line service---e.g., @code{www.facebook.com}---to unroutable IPv4 and IPv6 addresses."
msgstr "此服务类型将已知的Facebook主机列表添加到@file{/etc/hosts}文件中。(@pxref{主机名,,, libc, GNU C库参考手册}) 每行包含一个条目,将Facebook在线服务的已知服务器名称映射到不可路由的IPv4和IPv6地址,例如@code{www.facebook.com}。"

#. type: defvar
#: guix-git/doc/guix.texi:23599
#, fuzzy
msgid "This mechanism can prevent programs running locally, such as Web browsers, from accessing Facebook."
msgstr "此机制可以防止本地运行的程序(如Web浏览器)访问Facebook。"

#. type: Plain text
#: guix-git/doc/guix.texi:23602
#, fuzzy
msgid "The @code{(gnu services avahi)} provides the following definition."
msgstr "@code{(gnu services avahi)}提供以下定义。"

#. type: defvar
#: guix-git/doc/guix.texi:23603
#, fuzzy, no-wrap
msgid "avahi-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23608
#, fuzzy
msgid "This is the service that runs @command{avahi-daemon}, a system-wide mDNS/DNS-SD responder that allows for service discovery and ``zero-configuration'' host name lookups (see @uref{https://avahi.org/}).  Its value must be an @code{avahi-configuration} record---see below."
msgstr "这是运行 @command{avahi-daemon} 的服务,一个系统范围的 mDNS/DNS-SD 响应器,允许服务发现和“零配置”主机名查找(见 @uref{https://avahi.org/})。其值必须是一个 @code{avahi-configuration} 记录——见下文。"

#. type: defvar
#: guix-git/doc/guix.texi:23613
#, fuzzy
msgid "This service extends the name service cache daemon (nscd) so that it can resolve @code{.local} host names using @uref{https://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}.  @xref{Name Service Switch}, for information on host name resolution."
msgstr "该服务扩展了名称服务缓存守护进程(nscd),使其能够使用 @uref{https://0pointer.de/lennart/projects/nss-mdns/, nss-mdns} 解析 @code{.local} 主机名。有关主机名解析的信息,请参见 @xref{Name Service Switch}。"

#. type: defvar
#: guix-git/doc/guix.texi:23616
#, fuzzy
msgid "Additionally, add the @var{avahi} package to the system profile so that commands such as @command{avahi-browse} are directly usable."
msgstr "此外,将 @var{avahi} 包添加到系统配置文件中,以便可以直接使用 @command{avahi-browse} 等命令。"

#. type: deftp
#: guix-git/doc/guix.texi:23618
#, fuzzy, no-wrap
msgid "{Data Type} avahi-configuration"
msgstr "{数据类型} avahi-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:23620
#, fuzzy
msgid "Data type representation the configuration for Avahi."
msgstr "Avahi 配置的数据类型表示。"

#. type: item
#: guix-git/doc/guix.texi:23623 guix-git/doc/guix.texi:35921
#, fuzzy, no-wrap
msgid "@code{host-name} (default: @code{#f})"
msgstr "@code{host-name}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23626
#, fuzzy
msgid "If different from @code{#f}, use that as the host name to publish for this machine; otherwise, use the machine's actual host name."
msgstr "如果与 @code{#f} 不同,则使用该主机名作为此机器的发布主机名;否则,使用机器的实际主机名。"

#. type: item
#: guix-git/doc/guix.texi:23627 guix-git/doc/guix.texi:36129
#, fuzzy, no-wrap
msgid "@code{publish?} (default: @code{#t})"
msgstr "@code{publish?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:23630
#, fuzzy
msgid "When true, allow host names and services to be published (broadcast) over the network."
msgstr "当为真时,允许在网络上发布(广播)主机名和服务。"

#. type: item
#: guix-git/doc/guix.texi:23631
#, fuzzy, no-wrap
msgid "@code{publish-workstation?} (default: @code{#t})"
msgstr "@code{publish-workstation?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:23635
#, fuzzy
msgid "When true, @command{avahi-daemon} publishes the machine's host name and IP address via mDNS on the local network.  To view the host names published on your local network, you can run:"
msgstr "当为真时,@command{avahi-daemon} 通过 mDNS 在本地网络上发布机器的主机名和 IP 地址。要查看在本地网络上发布的主机名,可以运行:"

#. type: example
#: guix-git/doc/guix.texi:23638
#, fuzzy, no-wrap
msgid "avahi-browse _workstation._tcp\n"
msgstr "avahi-browse _workstation._tcp\n"

#. type: item
#: guix-git/doc/guix.texi:23640
#, fuzzy, no-wrap
msgid "@code{wide-area?} (default: @code{#f})"
msgstr "@code{wide-area?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23642
#, fuzzy
msgid "When true, DNS-SD over unicast DNS is enabled."
msgstr "当为真时,启用通过单播 DNS 的 DNS-SD。"

#. type: item
#: guix-git/doc/guix.texi:23643
#, fuzzy, no-wrap
msgid "@code{ipv4?} (default: @code{#t})"
msgstr "@code{ipv4?}(默认值:@code{#t})"

#. type: itemx
#: guix-git/doc/guix.texi:23644
#, fuzzy, no-wrap
msgid "@code{ipv6?} (default: @code{#t})"
msgstr "@code{ipv6?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:23646
#, fuzzy
msgid "These fields determine whether to use IPv4/IPv6 sockets."
msgstr "这些字段决定是否使用 IPv4/IPv6 套接字。"

#. type: item
#: guix-git/doc/guix.texi:23647
#, fuzzy, no-wrap
msgid "@code{domains-to-browse} (default: @code{'()})"
msgstr "@code{domains-to-browse}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:23649
#, fuzzy
msgid "This is a list of domains to browse."
msgstr "这是一个要浏览的域列表。"

#. type: defvar
#: guix-git/doc/guix.texi:23652
#, fuzzy, no-wrap
msgid "openvswitch-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23656
#, fuzzy
msgid "This is the type of the @uref{https://www.openvswitch.org, Open vSwitch} service, whose value should be an @code{openvswitch-configuration} object."
msgstr "这是 @uref{https://www.openvswitch.org, Open vSwitch} 服务的类型,其值应为 @code{openvswitch-configuration} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:23658
#, fuzzy, no-wrap
msgid "{Data Type} openvswitch-configuration"
msgstr "{数据类型} openvswitch-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:23662
#, fuzzy
msgid "Data type representing the configuration of Open vSwitch, a multilayer virtual switch which is designed to enable massive network automation through programmatic extension."
msgstr "表示 Open vSwitch 配置的数据类型,Open vSwitch 是一个多层虚拟交换机,旨在通过程序扩展实现大规模网络自动化。"

#. type: item
#: guix-git/doc/guix.texi:23664
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{openvswitch})"
msgstr "@code{package}(默认值:@var{openvswitch})"

#. type: table
#: guix-git/doc/guix.texi:23666
#, fuzzy
msgid "Package object of the Open vSwitch."
msgstr "Open vSwitch 的包对象。"

#. type: defvar
#: guix-git/doc/guix.texi:23670
#, fuzzy, no-wrap
msgid "pagekite-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23675
#, fuzzy
msgid "This is the service type for the @uref{https://pagekite.net, PageKite} service, a tunneling solution for making localhost servers publicly visible, even from behind restrictive firewalls or NAT without forwarded ports.  The value for this service type is a @code{pagekite-configuration} record."
msgstr "这是 @uref{https://pagekite.net, PageKite} 服务的服务类型,它是一种隧道解决方案,可以使本地主机服务器在限制性防火墙或 NAT 后公开可见,而无需转发端口。此服务类型的值是 @code{pagekite-configuration} 记录。"

#. type: defvar
#: guix-git/doc/guix.texi:23677
#, fuzzy
msgid "Here's an example exposing the local HTTP and SSH daemons:"
msgstr "这是一个暴露本地 HTTP 和 SSH 守护进程的示例:"

#. type: lisp
#: guix-git/doc/guix.texi:23684
#, fuzzy, no-wrap
msgid ""
"(service pagekite-service-type\n"
"         (pagekite-configuration\n"
"           (kites '(\"http:@@kitename:localhost:80:@@kitesecret\"\n"
"                    \"raw/22:@@kitename:localhost:22:@@kitesecret\"))\n"
"           (extra-file \"/etc/pagekite.rc\")))\n"
msgstr ""
"(service pagekite-service-type\n"
"         (pagekite-configuration\n"
"           (kites '(\"http:@@kitename:localhost:80:@@kitesecret\"\n"
"                    \"raw/22:@@kitename:localhost:22:@@kitesecret\"))\n"
"           (extra-file \"/etc/pagekite.rc\")))\n"

#. type: deftp
#: guix-git/doc/guix.texi:23687
#, fuzzy, no-wrap
msgid "{Data Type} pagekite-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:23689
#, fuzzy
msgid "Data type representing the configuration of PageKite."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:23691
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{pagekite})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:23693
#, fuzzy
msgid "Package object of PageKite."
msgstr "PageKite 的包对象。"

#. type: item
#: guix-git/doc/guix.texi:23694
#, fuzzy, no-wrap
msgid "@code{kitename} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23696
#, fuzzy
msgid "PageKite name for authenticating to the frontend server."
msgstr "用于向前端服务器进行身份验证的 PageKite 名称。"

#. type: item
#: guix-git/doc/guix.texi:23697
#, fuzzy, no-wrap
msgid "@code{kitesecret} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:23700
#, fuzzy
msgid "Shared secret for authenticating to the frontend server.  You should probably put this inside @code{extra-file} instead."
msgstr "用于向前端服务器进行身份验证的共享密钥。您可能应该将其放在 @code{extra-file} 中。"

#. type: item
#: guix-git/doc/guix.texi:23701
#, fuzzy, no-wrap
msgid "@code{frontend} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23704
#, fuzzy
msgid "Connect to the named PageKite frontend server instead of the @uref{https://pagekite.net,,pagekite.net} service."
msgstr "连接到命名的 PageKite 前端服务器,而不是 @uref{https://pagekite.net,,pagekite.net} 服务。"

#. type: item
#: guix-git/doc/guix.texi:23705
#, fuzzy, no-wrap
msgid "@code{kites} (default: @code{'(\"http:@@kitename:localhost:80:@@kitesecret\")})"
msgstr "@code{kites}(默认值:@code{'(\"http:@@kitename:localhost:80:@@kitesecret\")})"

#. type: table
#: guix-git/doc/guix.texi:23708
#, fuzzy
msgid "List of service kites to use.  Exposes HTTP on port 80 by default.  The format is @code{proto:kitename:host:port:secret}."
msgstr "要使用的服务 kites 列表。默认情况下在端口 80 上暴露 HTTP。格式为 @code{proto:kitename:host:port:secret}。"

#. type: item
#: guix-git/doc/guix.texi:23709
#, fuzzy, no-wrap
msgid "@code{extra-file} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23712
#, fuzzy
msgid "Extra configuration file to read, which you are expected to create manually.  Use this to add additional options and manage shared secrets out-of-band."
msgstr "要读取的额外配置文件,您需要手动创建。使用此文件添加额外选项并管理共享密钥。"

#. type: defvar
#: guix-git/doc/guix.texi:23716
#, fuzzy, no-wrap
msgid "yggdrasil-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23720
#, fuzzy
msgid "The service type for connecting to the @uref{https://yggdrasil-network.github.io/, Yggdrasil network}, an early-stage implementation of a fully end-to-end encrypted IPv6 network."
msgstr "连接到 @uref{https://yggdrasil-network.github.io/, Yggdrasil 网络} 的服务类型,这是一个完全端到端加密的 IPv6 网络的早期实现。"

#. type: quotation
#: guix-git/doc/guix.texi:23727
#, fuzzy
msgid "Yggdrasil provides name-independent routing with cryptographically generated addresses.  Static addressing means you can keep the same address as long as you want, even if you move to a new location, or generate a new address (by generating new keys) whenever you want.  @uref{https://yggdrasil-network.github.io/2018/07/28/addressing.html}"
msgstr "Yggdrasil 提供无名称独立路由和加密生成的地址。静态寻址意味着您可以保持相同的地址,只要您想,即使您搬到新位置,或者随时生成新地址(通过生成新密钥)。@uref{https://yggdrasil-network.github.io/2018/07/28/addressing.html}"

#. type: defvar
#: guix-git/doc/guix.texi:23731
#, fuzzy
msgid "Pass it a value of @code{yggdrasil-configuration} to connect it to public peers and/or local peers."
msgstr "传递一个 @code{yggdrasil-configuration} 的值,以将其连接到公共对等方和/或本地对等方。"

#. type: defvar
#: guix-git/doc/guix.texi:23735
#, fuzzy
msgid "Here is an example using public peers and a static address.  The static signing and encryption keys are defined in @file{/etc/yggdrasil-private.conf} (the default value for @code{config-file})."
msgstr "这是一个使用公共对等方和静态地址的示例。静态签名和加密密钥在 @file{/etc/yggdrasil-private.conf} 中定义(@code{config-file} 的默认值)。"

#. type: lisp
#: guix-git/doc/guix.texi:23747
#, fuzzy, no-wrap
msgid ""
";; part of the operating-system declaration\n"
"(service yggdrasil-service-type\n"
"              (yggdrasil-configuration\n"
"               (autoconf? #f) ;; use only the public peers\n"
"               (json-config\n"
"               ;; choose one from\n"
"               ;; https://github.com/yggdrasil-network/public-peers\n"
"                '((peers . #(\"tcp://1.2.3.4:1337\"))))\n"
"               ;; /etc/yggdrasil-private.conf is the default value for config-file\n"
"               ))\n"
msgstr ""
";; 操作系统声明的一部分\n"
"(service yggdrasil-service-type\n"
"              (yggdrasil-configuration\n"
"               (autoconf? #f) ;; 仅使用公共对等体\n"
"               (json-config\n"
"               ;; 从以下选项中选择\n"
"               ;; https://github.com/yggdrasil-network/public-peers\n"
"                '((peers . #(\"tcp://1.2.3.4:1337\"))))\n"
"               ;; /etc/yggdrasil-private.conf 是 config-file 的默认值\n"
"               ))\n"

#. type: example
#: guix-git/doc/guix.texi:23754
#, fuzzy, no-wrap
msgid ""
"# sample content for /etc/yggdrasil-private.conf\n"
"@{\n"
"  # Your private key. DO NOT share this with anyone!\n"
"  PrivateKey: 5c750...\n"
"@}\n"
msgstr ""
"# /etc/yggdrasil-private.conf 的示例内容\n"
"@{\n"
"  # 你的私钥。请勿与任何人分享!\n"
"  PrivateKey: 5c750...\n"
"@}\n"

#. type: deftp
#: guix-git/doc/guix.texi:23757
#, fuzzy, no-wrap
msgid "{Data Type} yggdrasil-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:23759
#, fuzzy
msgid "Data type representing the configuration of Yggdrasil."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:23761
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{yggdrasil})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:23763
#, fuzzy
msgid "Package object of Yggdrasil."
msgstr "Yggdrasil 的包对象。"

#. type: item
#: guix-git/doc/guix.texi:23764
#, fuzzy, no-wrap
msgid "@code{json-config} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:23770
#, fuzzy
msgid "Contents of @file{/etc/yggdrasil.conf}.  Will be merged with @file{/etc/yggdrasil-private.conf}.  Note that these settings are stored in the Guix store, which is readable to all users. @strong{Do not store your private keys in it}.  See the output of @code{yggdrasil -genconf} for a quick overview of valid keys and their default values."
msgstr "@file{/etc/yggdrasil.conf} 的内容。将与 @file{/etc/yggdrasil-private.conf} 合并。请注意,这些设置存储在 Guix 存储中,所有用户均可读取。@strong{请勿在其中存储你的私钥}。有关有效密钥及其默认值的快速概述,请参见 @code{yggdrasil -genconf} 的输出。"

#. type: item
#: guix-git/doc/guix.texi:23771
#, fuzzy, no-wrap
msgid "@code{autoconf?} (default: @code{#f})"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23774
#, fuzzy
msgid "Whether to use automatic mode.  Enabling it makes Yggdrasil use a dynamic IP and peer with IPv6 neighbors."
msgstr "是否使用自动模式。启用它会使 Yggdrasil 使用动态 IP 并与 IPv6 邻居对等。"

#. type: table
#: guix-git/doc/guix.texi:23777
#, fuzzy
msgid "How much detail to include in logs.  Use @code{'debug} for more detail."
msgstr "日志中包含多少细节。使用 @code{'debug} 获取更多细节。"

#. type: item
#: guix-git/doc/guix.texi:23778
#, fuzzy, no-wrap
msgid "@code{log-to} (default: @code{'stdout})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:23782
#, fuzzy
msgid "Where to send logs.  By default, the service logs standard output to @file{/var/log/yggdrasil.log}.  The alternative is @code{'syslog}, which sends output to the running syslog service."
msgstr "日志发送到哪里。默认情况下,服务将标准输出日志记录到 @file{/var/log/yggdrasil.log}。替代方案是 @code{'syslog},它将输出发送到正在运行的 syslog 服务。"

#. type: item
#: guix-git/doc/guix.texi:23783
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{\"/etc/yggdrasil-private.conf\"})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23790
#, fuzzy
msgid "What HJSON file to load sensitive data from.  This is where private keys should be stored, which are necessary to specify if you don't want a randomized address after each restart.  Use @code{#f} to disable.  Options defined in this file take precedence over @code{json-config}.  Use the output of @code{yggdrasil -genconf} as a starting point.  To configure a static address, delete everything except PrivateKey option."
msgstr "从哪个 HJSON 文件加载敏感数据。这是存储私钥的地方,如果你不想在每次重启后使用随机地址,则需要指定。使用 @code{#f} 禁用。此文件中定义的选项优先于 @code{json-config}。使用 @code{yggdrasil -genconf} 的输出作为起点。要配置静态地址,请删除除 PrivateKey 选项以外的所有内容。"

#. type: cindex
#: guix-git/doc/guix.texi:23794
#, fuzzy, no-wrap
msgid "IPFS"
msgstr "IPFS"

#. type: defvar
#: guix-git/doc/guix.texi:23795
#, fuzzy, no-wrap
msgid "ipfs-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23799
#, fuzzy
msgid "The service type for connecting to the @uref{https://ipfs.io,IPFS network}, a global, versioned, peer-to-peer file system. Pass it a @code{ipfs-configuration} to change the ports used for the gateway and API."
msgstr "连接到 @uref{https://ipfs.io,IPFS 网络} 的服务类型,这是一个全球版本化的对等文件系统。传递一个 @code{ipfs-configuration} 以更改网关和 API 使用的端口。"

#. type: defvar
#: guix-git/doc/guix.texi:23801
#, fuzzy
msgid "Here's an example configuration, using some non-standard ports:"
msgstr "这是一个示例配置,使用一些非标准端口:"

#. type: lisp
#: guix-git/doc/guix.texi:23807
#, fuzzy, no-wrap
msgid ""
"(service ipfs-service-type\n"
"         (ipfs-configuration\n"
"          (gateway \"/ip4/127.0.0.1/tcp/8880\")\n"
"          (api \"/ip4/127.0.0.1/tcp/8881\")))\n"
msgstr ""
"(服务 ipfs-service-type\n"
"         (ipfs-configuration\n"
"          (gateway \"/ip4/127.0.0.1/tcp/8880\")\n"
"          (api \"/ip4/127.0.0.1/tcp/8881\")))\n"

#. type: deftp
#: guix-git/doc/guix.texi:23810
#, fuzzy, no-wrap
msgid "{Data Type} ipfs-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:23812
#, fuzzy
msgid "Data type representing the configuration of IPFS."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:23814
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{go-ipfs})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:23816
#, fuzzy
msgid "Package object of IPFS."
msgstr "IPFS 的包对象。"

#. type: item
#: guix-git/doc/guix.texi:23817
#, fuzzy, no-wrap
msgid "@code{gateway} (default: @code{\"/ip4/127.0.0.1/tcp/8082\"})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:23819
#, fuzzy
msgid "Address of the gateway, in ‘multiaddress’ format."
msgstr "网关的地址,采用‘multiaddress’格式。"

#. type: item
#: guix-git/doc/guix.texi:23820
#, fuzzy, no-wrap
msgid "@code{api} (default: @code{\"/ip4/127.0.0.1/tcp/5001\"})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:23822
#, fuzzy
msgid "Address of the API endpoint, in ‘multiaddress’ format."
msgstr "API 端点的地址,采用‘multiaddress’格式。"

#. type: cindex
#: guix-git/doc/guix.texi:23825
#, fuzzy, no-wrap
msgid "keepalived"
msgstr "keepalived"

#. type: defvar
#: guix-git/doc/guix.texi:23826
#, fuzzy, no-wrap
msgid "keepalived-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23831
#, fuzzy
msgid "This is the type for the @uref{https://www.keepalived.org/, Keepalived} routing software, @command{keepalived}.  Its value must be an @code{keepalived-configuration} record as in this example for master machine:"
msgstr "这是 @uref{https://www.keepalived.org/, Keepalived} 路由软件的类型,@command{keepalived}。它的值必须是一个 @code{keepalived-configuration} 记录,如下例所示,适用于主机:"

#. type: lisp
#: guix-git/doc/guix.texi:23836
#, no-wrap
msgid ""
"(service keepalived-service-type\n"
"         (keepalived-configuration\n"
"           (config-file (local-file \"keepalived-master.conf\"))))\n"
msgstr ""
"(service keepalived-service-type\n"
"         (keepalived-configuration\n"
"           (config-file (local-file \"keepalived-master.conf\"))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:23839
#, fuzzy
msgid "where @file{keepalived-master.conf}:"
msgstr "其中 @file{keepalived-master.conf}:"

#. type: example
#: guix-git/doc/guix.texi:23851
#, fuzzy, no-wrap
msgid ""
"vrrp_instance my-group @{\n"
"  state MASTER\n"
"  interface enp9s0\n"
"  virtual_router_id 100\n"
"  priority 100\n"
"  unicast_peer @{ 10.0.0.2 @}\n"
"  virtual_ipaddress @{\n"
"    10.0.0.4/24\n"
"  @}\n"
"@}\n"
msgstr ""
"vrrp_instance my-group @{\n"
"  state MASTER\n"
"  interface enp9s0\n"
"  virtual_router_id 100\n"
"  priority 100\n"
"  unicast_peer @{ 10.0.0.2 @}\n"
"  virtual_ipaddress @{\n"
"    10.0.0.4/24\n"
"  @}\n"
"@}\n"

#. type: defvar
#: guix-git/doc/guix.texi:23854
#, fuzzy
msgid "and for backup machine:"
msgstr "以及备份机器:"

#. type: lisp
#: guix-git/doc/guix.texi:23859
#, no-wrap
msgid ""
"(service keepalived-service-type\n"
"         (keepalived-configuration\n"
"          (config-file (local-file \"keepalived-backup.conf\"))))\n"
msgstr ""
"(service keepalived-service-type\n"
"         (keepalived-configuration\n"
"          (config-file (local-file \"keepalived-backup.conf\"))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:23862
#, fuzzy
msgid "where @file{keepalived-backup.conf}:"
msgstr "其中 @file{keepalived-backup.conf}:"

#. type: example
#: guix-git/doc/guix.texi:23874
#, fuzzy, no-wrap
msgid ""
"vrrp_instance my-group @{\n"
"  state BACKUP\n"
"  interface enp9s0\n"
"  virtual_router_id 100\n"
"  priority 99\n"
"  unicast_peer @{ 10.0.0.3 @}\n"
"  virtual_ipaddress @{\n"
"    10.0.0.4/24\n"
"  @}\n"
"@}\n"
msgstr ""
"vrrp_instance my-group @{\n"
"  state BACKUP\n"
"  interface enp9s0\n"
"  virtual_router_id 100\n"
"  priority 99\n"
"  unicast_peer @{ 10.0.0.3 @}\n"
"  virtual_ipaddress @{\n"
"    10.0.0.4/24\n"
"  @}\n"
"@}\n"

#. type: cindex
#: guix-git/doc/guix.texi:23880
#, fuzzy, no-wrap
msgid "unattended upgrades"
msgstr "无人值守升级"

#. type: cindex
#: guix-git/doc/guix.texi:23881
#, fuzzy, no-wrap
msgid "upgrades, unattended"
msgstr "升级,无人值守"

#. type: Plain text
#: guix-git/doc/guix.texi:23886
#, fuzzy
msgid "The @code{(gnu services admin)} module provides a service to perform @emph{unattended upgrades}: periodically, the system automatically reconfigures itself from the latest Guix.  Guix System has several properties that make unattended upgrades safe:"
msgstr "@code{(gnu services admin)} 模块提供了一项服务来执行 @emph{无人值守升级}:系统定期自动从最新的 Guix 重新配置自己。Guix 系统具有几个使无人值守升级安全的特性:"

#. type: itemize
#: guix-git/doc/guix.texi:23891
#, fuzzy
msgid "upgrades are transactional (either the upgrade succeeds or it fails, but you cannot end up with an ``in-between'' system state);"
msgstr "升级是事务性的(要么升级成功,要么失败,但你不能处于“中间”系统状态);"

#. type: itemize
#: guix-git/doc/guix.texi:23895
#, fuzzy
msgid "the upgrade log is kept---you can view it with @command{guix system list-generations}---and you can roll back to any previous generation, should the upgraded system fail to behave as intended;"
msgstr "升级日志被保留——你可以通过 @command{guix system list-generations} 查看——如果升级后的系统未按预期运行,你可以回滚到任何先前的版本;"

#. type: itemize
#: guix-git/doc/guix.texi:23898
#, fuzzy
msgid "channel code is authenticated so you know you can only run genuine code (@pxref{Channels});"
msgstr "通道代码经过身份验证,因此你知道只能运行真实代码 (@pxref{Channels});"

#. type: itemize
#: guix-git/doc/guix.texi:23901
#, fuzzy
msgid "@command{guix system reconfigure} prevents downgrades, which makes it immune to @dfn{downgrade attacks}."
msgstr "@command{guix system reconfigure} 防止降级,这使其免受 @dfn{降级攻击}。"

#. type: Plain text
#: guix-git/doc/guix.texi:23906
#, fuzzy
msgid "To set up unattended upgrades, add an instance of @code{unattended-upgrade-service-type} like the one below to the list of your operating system services:"
msgstr "要设置无人值守升级,请将一个 @code{unattended-upgrade-service-type} 的实例添加到你的操作系统服务列表中,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:23909
#, fuzzy, no-wrap
msgid "(service unattended-upgrade-service-type)\n"
msgstr "(服务 unattended-upgrade-service-type)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:23916
#, fuzzy
msgid "The defaults above set up weekly upgrades: every Sunday at midnight.  You do not need to provide the operating system configuration file: it uses @file{/run/current-system/configuration.scm}, which ensures it always uses your latest configuration---@pxref{provenance-service-type}, for more information about this file."
msgstr "上述默认设置每周进行一次升级:每周日午夜。你不需要提供操作系统配置文件:它使用 @file{/run/current-system/configuration.scm},确保始终使用你的最新配置——@pxref{provenance-service-type},有关此文件的更多信息。"

#. type: Plain text
#: guix-git/doc/guix.texi:23922
#, fuzzy
msgid "There are several things that can be configured, in particular the periodicity and services (daemons) to be restarted upon completion.  When the upgrade is successful, the service takes care of deleting system generations older that some threshold, as per @command{guix system delete-generations}.  See the reference below for details."
msgstr "可以配置几个事项,特别是周期性和在完成后需要重启的服务(守护进程)。当升级成功时,该服务会负责删除超过某个阈值的系统代数,具体请参见 @command{guix system delete-generations}。有关详细信息,请参见下面的参考。"

#. type: Plain text
#: guix-git/doc/guix.texi:23926
#, fuzzy
msgid "To ensure that upgrades are actually happening, you can run @command{guix system describe}.  To investigate upgrade failures, visit the unattended upgrade log file (see below)."
msgstr "为了确保升级确实发生,您可以运行 @command{guix system describe}。要调查升级失败,请访问无人值守升级日志文件(见下文)。"

#. type: defvar
#: guix-git/doc/guix.texi:23927
#, fuzzy, no-wrap
msgid "unattended-upgrade-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:23931
#, fuzzy
msgid "This is the service type for unattended upgrades.  It sets up an mcron job (@pxref{Scheduled Job Execution}) that runs @command{guix system reconfigure} from the latest version of the specified channels."
msgstr "这是无人值守升级的服务类型。它设置了一个 mcron 任务(@pxref{Scheduled Job Execution}),该任务从指定通道的最新版本运行 @command{guix system reconfigure}。"

#. type: defvar
#: guix-git/doc/guix.texi:23934
#, fuzzy
msgid "Its value must be a @code{unattended-upgrade-configuration} record (see below)."
msgstr "其值必须是一个 @code{unattended-upgrade-configuration} 记录(见下文)。"

#. type: deftp
#: guix-git/doc/guix.texi:23936
#, fuzzy, no-wrap
msgid "{Data Type} unattended-upgrade-configuration"
msgstr "{数据类型} unattended-upgrade-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:23939
#, fuzzy
msgid "This data type represents the configuration of the unattended upgrade service.  The following fields are available:"
msgstr "该数据类型表示无人值守升级服务的配置。可用的字段如下:"

#. type: item
#: guix-git/doc/guix.texi:23941
#, fuzzy, no-wrap
msgid "@code{schedule} (default: @code{\"30 01 * * 0\"})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:23945
#, fuzzy
msgid "This is the schedule of upgrades, expressed as a string in traditional cron syntax or as a gexp evaluating to a Shepherd calendar event (@pxref{Timers,,, shepherd, The GNU Shepherd Manual})."
msgstr "这是升级的计划,以传统 cron 语法的字符串形式表示,或作为评估为 Shepherd 日历事件的 gexp(@pxref{Timers,,, shepherd, The GNU Shepherd Manual})。"

#. type: item
#: guix-git/doc/guix.texi:23946 guix-git/doc/guix.texi:27057
#, fuzzy, no-wrap
msgid "@code{channels} (default: @code{#~%default-channels})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23950
#, fuzzy
msgid "This gexp specifies the channels to use for the upgrade (@pxref{Channels}).  By default, the tip of the official @code{guix} channel is used."
msgstr "该 gexp 指定用于升级的通道(@pxref{Channels})。默认情况下,使用官方 @code{guix} 通道的最新版本。"

#. type: item
#: guix-git/doc/guix.texi:23951
#, fuzzy, no-wrap
msgid "@code{operating-system-file} (default: @code{\"/run/current-system/configuration.scm\"})"
msgstr "@code{operating-system-file}(默认值:@code{\"/run/current-system/configuration.scm\"})"

#. type: table
#: guix-git/doc/guix.texi:23954
#, fuzzy
msgid "This field specifies the operating system configuration file to use.  The default is to reuse the config file of the current configuration."
msgstr "该字段指定要使用的操作系统配置文件。默认情况下,重用当前配置的配置文件。"

#. type: table
#: guix-git/doc/guix.texi:23960
#, fuzzy
msgid "There are cases, though, where referring to @file{/run/current-system/configuration.scm} is not enough, for instance because that file refers to extra files (SSH public keys, extra configuration files, etc.) @i{via} @code{local-file} and similar constructs.  For those cases, we recommend something along these lines:"
msgstr "不过,有些情况下,仅引用 @file{/run/current-system/configuration.scm} 是不够的,例如因为该文件引用了额外的文件(SSH 公钥、额外的配置文件等) @i{通过} @code{local-file} 和类似的构造。对于这些情况,我们建议如下:"

#. type: lisp
#: guix-git/doc/guix.texi:23966
#, fuzzy, no-wrap
msgid ""
"(unattended-upgrade-configuration\n"
"  (operating-system-file\n"
"    (file-append (local-file \".\" \"config-dir\" #:recursive? #t)\n"
"                 \"/config.scm\")))\n"
msgstr ""
"(unattended-upgrade-configuration\n"
"  (operating-system-file\n"
"    (file-append (local-file \".\" \"config-dir\" #:recursive? #t)\n"
"                 \"/config.scm\")))\n"

#. type: table
#: guix-git/doc/guix.texi:23973
#, fuzzy
msgid "The effect here is to import all of the current directory into the store, and to refer to @file{config.scm} within that directory.  Therefore, uses of @code{local-file} within @file{config.scm} will work as expected.  @xref{G-Expressions}, for information about @code{local-file} and @code{file-append}."
msgstr "这里的效果是将当前目录中的所有内容导入存储,并在该目录中引用 @file{config.scm}。因此,在 @file{config.scm} 中使用 @code{local-file} 将按预期工作。有关 @code{local-file} 和 @code{file-append} 的信息,请参见 @xref{G-Expressions}。"

#. type: item
#: guix-git/doc/guix.texi:23974
#, fuzzy, no-wrap
msgid "@code{operating-system-expression} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23978
#, fuzzy
msgid "This field specifies an expression that evaluates to the operating system to use for the upgrade.  If no value is provided the @code{operating-system-file} field value is used."
msgstr "此字段指定一个表达式,该表达式计算出用于升级的操作系统。如果未提供值,则使用 @code{operating-system-file} 字段的值。"

#. type: lisp
#: guix-git/doc/guix.texi:23983
#, fuzzy, no-wrap
msgid ""
"(unattended-upgrade-configuration\n"
"  (operating-system-expression\n"
"    #~(@@ (guix system install) installation-os)))\n"
msgstr ""
"(unattended-upgrade-configuration\n"
"  (operating-system-expression\n"
"    #~(@@ (guix system install) installation-os)))\n"

#. type: item
#: guix-git/doc/guix.texi:23985
#, fuzzy, no-wrap
msgid "@code{reboot?} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:23988
#, fuzzy
msgid "This field specifies whether the system should reboot after completing an unattended upgrade."
msgstr "此字段指定系统在完成无人值守升级后是否应重启。"

#. type: table
#: guix-git/doc/guix.texi:23992
#, fuzzy
msgid "When @code{reboot?} is @code{#t}, services are not restarted before rebooting.  This means that the value for @code{services-to-restart} is ignored.  The updated services will be started after the system reboots."
msgstr "当 @code{reboot?} 为 @code{#t} 时,服务在重启之前不会被重新启动。这意味着 @code{services-to-restart} 的值将被忽略。更新的服务将在系统重启后启动。"

#. type: item
#: guix-git/doc/guix.texi:23993
#, fuzzy, no-wrap
msgid "@code{services-to-restart} (default: @code{'(unattended-upgrade)})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:23996
#, fuzzy
msgid "This field specifies the Shepherd services to restart when the upgrade completes."
msgstr "此字段指定在升级完成时要重新启动的 Shepherd 服务。"

#. type: table
#: guix-git/doc/guix.texi:24003
#, fuzzy
msgid "Those services are restarted right away upon completion, as with @command{herd restart}, which ensures that the latest version is running---remember that by default @command{guix system reconfigure} only restarts services that are not currently running, which is conservative: it minimizes disruption but leaves outdated services running."
msgstr "这些服务在完成后会立即重新启动,类似于 @command{herd restart},这确保了最新版本正在运行——请记住,默认情况下 @command{guix system reconfigure} 仅重新启动当前未运行的服务,这是一种保守的做法:它最小化了干扰,但会让过时的服务继续运行。"

#. type: table
#: guix-git/doc/guix.texi:24007
#, fuzzy
msgid "Use @command{herd status} to find out candidates for restarting.  @xref{Services}, for general information about services.  Common services to restart would include @code{ntpd} and @code{ssh-daemon}."
msgstr "使用 @command{herd status} 查找可以重新启动的候选服务。有关服务的一般信息,请参见 @xref{Services}。常见的重新启动服务包括 @code{ntpd} 和 @code{ssh-daemon}。"

#. type: table
#: guix-git/doc/guix.texi:24011
#, fuzzy
msgid "By default, the @code{unattended-upgrade} service is restarted.  This ensures that the latest version of the unattended upgrade job will be used next time."
msgstr "默认情况下,@code{unattended-upgrade} 服务会被重新启动。这确保下次将使用无人值守升级作业的最新版本。"

#. type: item
#: guix-git/doc/guix.texi:24012
#, fuzzy, no-wrap
msgid "@code{system-expiration} (default: @code{(* 3 30 24 3600)})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:24016
#, fuzzy
msgid "This is the expiration time in seconds for system generations.  System generations older that this amount of time are deleted with @command{guix system delete-generations} when an upgrade completes."
msgstr "这是系统代际的过期时间(以秒为单位)。超过此时间的系统代际将在升级完成时通过 @command{guix system delete-generations} 被删除。"

#. type: quotation
#: guix-git/doc/guix.texi:24021
#, fuzzy
msgid "The unattended upgrade service does not run the garbage collector.  You will probably want to set up your own mcron job to run @command{guix gc} periodically."
msgstr "无人值守升级服务不会运行垃圾收集器。您可能希望设置自己的 mcron 作业,以定期运行 @command{guix gc}。"

#. type: item
#: guix-git/doc/guix.texi:24023
#, fuzzy, no-wrap
msgid "@code{maximum-duration} (default: @code{3600})"
msgstr "@code{max-journal-depth}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24026
#, fuzzy
msgid "Maximum duration in seconds for the upgrade; past that time, the upgrade aborts."
msgstr "升级的最大持续时间(以秒为单位);超过该时间,升级将中止。"

#. type: table
#: guix-git/doc/guix.texi:24029
#, fuzzy
msgid "This is primarily useful to ensure the upgrade does not end up rebuilding or re-downloading ``the world''."
msgstr "这主要用于确保升级不会最终重建或重新下载“整个世界”。"

#. type: item
#: guix-git/doc/guix.texi:24030
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{\"/var/log/unattended-upgrade.log\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:24032
#, fuzzy
msgid "File where unattended upgrades are logged."
msgstr "无人值守升级的日志文件。"

#. type: cindex
#: guix-git/doc/guix.texi:24038
#, fuzzy, no-wrap
msgid "X11"
msgstr "X11"

#. type: cindex
#: guix-git/doc/guix.texi:24039
#, fuzzy, no-wrap
msgid "X Window System"
msgstr "X 窗口系统"

#. type: cindex
#: guix-git/doc/guix.texi:24040 guix-git/doc/guix.texi:24236
#, fuzzy, no-wrap
msgid "login manager"
msgstr "登录管理器"

#. type: Plain text
#: guix-git/doc/guix.texi:24045
#, fuzzy
msgid "Support for the X Window graphical display system---specifically Xorg---is provided by the @code{(gnu services xorg)} module.  Note that there is no @code{xorg-service} procedure.  Instead, the X server is started by the @dfn{login manager}, by default the GNOME Display Manager (GDM)."
msgstr "对 X 窗口图形显示系统——特别是 Xorg 的支持由 @code{(gnu services xorg)} 模块提供。请注意,没有 @code{xorg-service} 过程。相反,X 服务器由 @dfn{登录管理器} 启动,默认情况下是 GNOME 显示管理器 (GDM)。"

#. type: cindex
#: guix-git/doc/guix.texi:24046
#, fuzzy, no-wrap
msgid "GDM"
msgstr "GDM"

#. type: cindex
#: guix-git/doc/guix.texi:24047
#, fuzzy, no-wrap
msgid "GNOME, login manager"
msgstr "GNOME,登录管理器"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:24052
#, fuzzy
msgid "gdm"
msgstr "gdm"

#. type: Plain text
#: guix-git/doc/guix.texi:24052
#, fuzzy
msgid "GDM of course allows users to log in into window managers and desktop environments other than GNOME; for those using GNOME, GDM is required for features such as automatic screen locking."
msgstr "GDM当然允许用户登录到其他窗口管理器和桌面环境,而不仅仅是GNOME;对于使用GNOME的用户,GDM是实现自动屏幕锁定等功能所必需的。"

#. type: cindex
#: guix-git/doc/guix.texi:24053
#, fuzzy, no-wrap
msgid "window manager"
msgstr "窗口管理器"

#. type: Plain text
#: guix-git/doc/guix.texi:24058
#, fuzzy
msgid "To use X11, you must install at least one @dfn{window manager}---for example the @code{windowmaker} or @code{openbox} packages---preferably by adding it to the @code{packages} field of your operating system definition (@pxref{operating-system Reference, system-wide packages})."
msgstr "要使用X11,您必须至少安装一个@dfn{窗口管理器}——例如@code{windowmaker}或@code{openbox}软件包——最好将其添加到操作系统定义的@code{packages}字段中(@pxref{operating-system Reference, system-wide packages})。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:24064
#, fuzzy
msgid "wayland-gdm"
msgstr "wayland-gdm"

#. type: Plain text
#: guix-git/doc/guix.texi:24064
#, fuzzy
msgid "GDM also supports Wayland: it can itself use Wayland instead of X11 for its user interface, and it can also start Wayland sessions.  Wayland support is enabled by default.  To disable it, set @code{wayland?} to @code{#f} in @code{gdm-configuration}."
msgstr "GDM还支持Wayland:它可以使用Wayland而不是X11作为其用户界面,并且还可以启动Wayland会话。Wayland支持默认启用。要禁用它,请在@code{gdm-configuration}中将@code{wayland?}设置为@code{#f}。"

#. type: defvar
#: guix-git/doc/guix.texi:24065
#, fuzzy, no-wrap
msgid "gdm-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:24070
#, fuzzy
msgid "This is the type for the @uref{https://wiki.gnome.org/Projects/GDM/, GNOME Desktop Manager} (GDM), a program that manages graphical display servers and handles graphical user logins.  Its value must be a @code{gdm-configuration} (see below)."
msgstr "这是@uref{https://wiki.gnome.org/Projects/GDM/, GNOME桌面管理器}(GDM)的类型,一个管理图形显示服务器并处理图形用户登录的程序。其值必须是@code{gdm-configuration}(见下文)。"

#. type: cindex
#: guix-git/doc/guix.texi:24071
#, fuzzy, no-wrap
msgid "session types"
msgstr "会话类型"

#. type: defvar
#: guix-git/doc/guix.texi:24079
#, fuzzy
msgid "GDM looks for @dfn{session types} described by the @file{.desktop} files in @file{/run/current-system/profile/share/xsessions} (for X11 sessions) and @file{/run/current-system/profile/share/wayland-sessions} (for Wayland sessions) and allows users to choose a session from the log-in screen.  Packages such as @code{gnome}, @code{xfce}, @code{i3} and @code{sway} provide @file{.desktop} files; adding them to the system-wide set of packages automatically makes them available at the log-in screen."
msgstr "GDM查找由@file{.desktop}文件描述的@dfn{会话类型},这些文件位于@file{/run/current-system/profile/share/xsessions}(用于X11会话)和@file{/run/current-system/profile/share/wayland-sessions}(用于Wayland会话),并允许用户从登录屏幕中选择会话。像@code{gnome}、@code{xfce}、@code{i3}和@code{sway}这样的软件包提供@file{.desktop}文件;将它们添加到系统范围的软件包集合中会自动使它们在登录屏幕上可用。"

#. type: defvar
#: guix-git/doc/guix.texi:24083
#, fuzzy
msgid "In addition, @file{~/.xsession} files are honored.  When available, @file{~/.xsession} must be an executable that starts a window manager and/or other X clients."
msgstr "此外,@file{~/.xsession}文件会被尊重。当可用时,@file{~/.xsession}必须是一个可执行文件,用于启动窗口管理器和/或其他X客户端。"

#. type: deftp
#: guix-git/doc/guix.texi:24085
#, fuzzy, no-wrap
msgid "{Data Type} gdm-configuration"
msgstr "{数据类型} gdm-configuration"

#. type: item
#: guix-git/doc/guix.texi:24087 guix-git/doc/guix.texi:24181
#, fuzzy, no-wrap
msgid "@code{auto-login?} (default: @code{#f})"
msgstr "@code{auto-login?}(默认值:@code{#f})"

#. type: itemx
#: guix-git/doc/guix.texi:24088
#, fuzzy, no-wrap
msgid "@code{default-user} (default: @code{#f})"
msgstr "@code{default-user}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24090
#, fuzzy
msgid "When @code{auto-login?} is false, GDM presents a log-in screen."
msgstr "当@code{auto-login?}为假时,GDM会显示登录屏幕。"

#. type: table
#: guix-git/doc/guix.texi:24093
#, fuzzy
msgid "When @code{auto-login?} is true, GDM logs in directly as @code{default-user}."
msgstr "当@code{auto-login?}为真时,GDM会直接以@code{default-user}身份登录。"

#. type: item
#: guix-git/doc/guix.texi:24094
#, fuzzy, no-wrap
msgid "@code{auto-suspend?} (default @code{#t})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:24099
#, fuzzy
msgid "When true, GDM will automatically suspend to RAM when nobody is physically connected.  When a machine is used via remote desktop or SSH, this should be set to false to avoid GDM interrupting remote sessions or rendering the machine unavailable."
msgstr "当为真时,GDM将在没有人物理连接时自动挂起到RAM。当通过远程桌面或SSH使用机器时,应将其设置为假,以避免GDM中断远程会话或使机器不可用。"

#. type: item
#: guix-git/doc/guix.texi:24100 guix-git/doc/guix.texi:31394
#: guix-git/doc/guix.texi:33552 guix-git/doc/guix.texi:38981
#: guix-git/doc/guix.texi:39010 guix-git/doc/guix.texi:39039
#: guix-git/doc/guix.texi:39066 guix-git/doc/guix.texi:39121
#: guix-git/doc/guix.texi:39146 guix-git/doc/guix.texi:39173
#: guix-git/doc/guix.texi:39199 guix-git/doc/guix.texi:39241
#, fuzzy, no-wrap
msgid "@code{debug?} (default: @code{#f})"
msgstr "@code{debug?}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24102
#, fuzzy
msgid "When true, GDM writes debug messages to its log."
msgstr "当为真时,GDM会将调试消息写入其日志。"

#. type: item
#: guix-git/doc/guix.texi:24103
#, fuzzy, no-wrap
msgid "@code{gnome-shell-assets} (default: ...)"
msgstr "@code{gnome-shell-assets}(默认:...)"

#. type: table
#: guix-git/doc/guix.texi:24105
#, fuzzy
msgid "List of GNOME Shell assets needed by GDM: icon theme, fonts, etc."
msgstr "GDM所需的GNOME Shell资产列表:图标主题、字体等。"

#. type: item
#: guix-git/doc/guix.texi:24106
#, fuzzy, no-wrap
msgid "@code{xorg-configuration} (default: @code{(xorg-configuration)})"
msgstr "@code{xorg-configuration}(默认:@code{(xorg-configuration)})"

#. type: table
#: guix-git/doc/guix.texi:24108 guix-git/doc/guix.texi:24208
#: guix-git/doc/guix.texi:24318
#, fuzzy
msgid "Configuration of the Xorg graphical server."
msgstr "Xorg图形服务器的配置。"

#. type: item
#: guix-git/doc/guix.texi:24109
#, fuzzy, no-wrap
msgid "@code{x-session} (default: @code{(xinitrc)})"
msgstr "@code{compression-level}(默认值:@code{3})"

#. type: table
#: guix-git/doc/guix.texi:24111 guix-git/doc/guix.texi:24333
#, fuzzy
msgid "Script to run before starting a X session."
msgstr "在开始X会话之前运行的脚本。"

#. type: item
#: guix-git/doc/guix.texi:24112
#, fuzzy, no-wrap
msgid "@code{xdmcp?} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:24117
#, fuzzy
msgid "When true, enable the X Display Manager Control Protocol (XDMCP).  This should only be enabled in trusted environments, as the protocol is not secure.  When enabled, GDM listens for XDMCP queries on the UDP port 177."
msgstr "当为真时,启用X显示管理器控制协议(XDMCP)。这仅应在受信任的环境中启用,因为该协议不安全。启用后,GDM会在UDP端口177上监听XDMCP查询。"

#. type: item
#: guix-git/doc/guix.texi:24118
#, fuzzy, no-wrap
msgid "@code{dbus-daemon} (default: @code{dbus-daemon-wrapper})"
msgstr "@code{dbus-daemon}(默认:@code{dbus-daemon-wrapper})"

#. type: table
#: guix-git/doc/guix.texi:24120
#, fuzzy
msgid "File name of the @code{dbus-daemon} executable."
msgstr "@code{dbus-daemon}可执行文件的文件名。"

#. type: item
#: guix-git/doc/guix.texi:24121
#, fuzzy, no-wrap
msgid "@code{gdm} (default: @code{gdm})"
msgstr "@code{gdm}(默认:@code{gdm})"

#. type: table
#: guix-git/doc/guix.texi:24123
#, fuzzy
msgid "The GDM package to use."
msgstr "要使用的GDM包。"

#. type: item
#: guix-git/doc/guix.texi:24124
#, fuzzy, no-wrap
msgid "@code{wayland?} (default: @code{#t})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24126
#, fuzzy
msgid "When true, enables Wayland in GDM, necessary to use Wayland sessions."
msgstr "当为真时,在GDM中启用Wayland,这是使用Wayland会话所必需的。"

#. type: item
#: guix-git/doc/guix.texi:24127
#, fuzzy, no-wrap
msgid "@code{wayland-session} (default: @code{gdm-wayland-session-wrapper})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:24130
#, fuzzy
msgid "The Wayland session wrapper to use, needed to setup the environment."
msgstr "要使用的Wayland会话包装器,设置环境所需。"

#. type: defvar
#: guix-git/doc/guix.texi:24133
#, fuzzy, no-wrap
msgid "slim-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:24135
#, fuzzy
msgid "This is the type for the SLiM graphical login manager for X11."
msgstr "这是SLiM图形登录管理器用于X11的类型。"

#. type: defvar
#: guix-git/doc/guix.texi:24139
#, fuzzy
msgid "Like GDM, SLiM looks for session types described by @file{.desktop} files and allows users to choose a session from the log-in screen using @kbd{F1}.  It also honors @file{~/.xsession} files."
msgstr "与GDM类似,SLiM查找由@file{.desktop}文件描述的会话类型,并允许用户在登录屏幕上使用@kbd{F1}选择会话。它还会尊重@file{~/.xsession}文件。"

#. type: defvar
#: guix-git/doc/guix.texi:24146
#, fuzzy
msgid "Unlike GDM, SLiM does not spawn the user session on a different VT after logging in, which means that you can only start one graphical session.  If you want to be able to run multiple graphical sessions at the same time you have to add multiple SLiM services to your system services.  The following example shows how to replace the default GDM service with two SLiM services on tty7 and tty8."
msgstr "与GDM不同,SLiM在登录后不会在不同的VT上生成用户会话,这意味着您只能启动一个图形会话。如果您希望能够同时运行多个图形会话,则必须向系统服务添加多个SLiM服务。以下示例显示如何用两个SLiM服务替换默认的GDM服务,分别在tty7和tty8上。"

#. type: lisp
#: guix-git/doc/guix.texi:24151
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu services)\n"
"             (gnu services desktop)\n"
"             (gnu services xorg))\n"
"\n"
msgstr ""
"(use-modules (gnu services)\n"
"             (gnu services desktop)\n"
"             (gnu services xorg))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:24162
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; ...\n"
"  (services (cons* (service slim-service-type (slim-configuration\n"
"                                               (display \":0\")\n"
"                                               (vt \"vt7\")))\n"
"                   (service slim-service-type (slim-configuration\n"
"                                               (display \":1\")\n"
"                                               (vt \"vt8\")))\n"
"                   (modify-services %desktop-services\n"
"                     (delete gdm-service-type)))))\n"
msgstr ""
"(operating-system\n"
"  ;; ...\n"
"  (services (cons* (service slim-service-type (slim-configuration\n"
"                                               (display \":0\")\n"
"                                               (vt \"vt7\")))\n"
"                   (service slim-service-type (slim-configuration\n"
"                                               (display \":1\")\n"
"                                               (vt \"vt8\")))\n"
"                   (modify-services %desktop-services\n"
"                     (delete gdm-service-type)))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:24166
#, fuzzy, no-wrap
msgid "{Data Type} slim-configuration"
msgstr "{数据类型} slim-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:24168
#, fuzzy
msgid "Data type representing the configuration of @code{slim-service-type}."
msgstr "表示@code{slim-service-type}配置的数据类型。"

#. type: table
#: guix-git/doc/guix.texi:24172
#, fuzzy
msgid "Whether to allow logins with empty passwords."
msgstr "是否允许使用空密码登录。"

#. type: item
#: guix-git/doc/guix.texi:24173
#, fuzzy, no-wrap
msgid "@code{gnupg?} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24180
#, fuzzy
msgid "If enabled, @code{pam-gnupg} will attempt to automatically unlock the user's GPG keys with the login password via @code{gpg-agent}.  The keygrips of all keys to be unlocked should be written to @file{~/.pam-gnupg}, and can be queried with @code{gpg -K --with-keygrip}.  Presetting passphrases must be enabled by adding @code{allow-preset-passphrase} in @file{~/.gnupg/gpg-agent.conf}."
msgstr "如果启用,@code{pam-gnupg}将尝试通过@code{gpg-agent}使用登录密码自动解锁用户的GPG密钥。所有要解锁的密钥的密钥握手应写入@file{~/.pam-gnupg},并可以通过@code{gpg -K --with-keygrip}查询。必须通过在@file{~/.gnupg/gpg-agent.conf}中添加@code{allow-preset-passphrase}来启用预设密码。"

#. type: itemx
#: guix-git/doc/guix.texi:24182
#, fuzzy, no-wrap
msgid "@code{default-user} (default: @code{\"\"})"
msgstr "@code{default-user}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:24184
#, fuzzy
msgid "When @code{auto-login?} is false, SLiM presents a log-in screen."
msgstr "当@code{auto-login?}为假时,SLiM会显示登录界面。"

#. type: table
#: guix-git/doc/guix.texi:24187
#, fuzzy
msgid "When @code{auto-login?} is true, SLiM logs in directly as @code{default-user}."
msgstr "当@code{auto-login?}为真时,SLiM会直接以@code{default-user}身份登录。"

#. type: item
#: guix-git/doc/guix.texi:24188
#, fuzzy, no-wrap
msgid "@code{theme} (default: @code{%default-slim-theme})"
msgstr "@code{theme}(默认值:@code{%default-slim-theme})"

#. type: itemx
#: guix-git/doc/guix.texi:24189
#, fuzzy, no-wrap
msgid "@code{theme-name} (default: @code{%default-slim-theme-name})"
msgstr "@code{theme-name}(默认值:@code{%default-slim-theme-name})"

#. type: table
#: guix-git/doc/guix.texi:24191
#, fuzzy
msgid "The graphical theme to use and its name."
msgstr "要使用的图形主题及其名称。"

#. type: item
#: guix-git/doc/guix.texi:24192
#, fuzzy, no-wrap
msgid "@code{auto-login-session} (default: @code{#f})"
msgstr "@code{auto-login-session}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24195
#, fuzzy
msgid "If true, this must be the name of the executable to start as the default session---e.g., @code{(file-append windowmaker \"/bin/windowmaker\")}."
msgstr "如果为真,则必须是作为默认会话启动的可执行文件的名称——例如,@code{(file-append windowmaker \"/bin/windowmaker\")}。"

#. type: table
#: guix-git/doc/guix.texi:24199
#, fuzzy
msgid "If false, a session described by one of the available @file{.desktop} files in @code{/run/current-system/profile} and @code{~/.guix-profile} will be used."
msgstr "如果为假,将使用@code{/run/current-system/profile}和@code{~/.guix-profile}中可用的@file{.desktop}文件描述的会话。"

#. type: quotation
#: guix-git/doc/guix.texi:24204
#, fuzzy
msgid "You must install at least one window manager in the system profile or in your user profile.  Failing to do that, if @code{auto-login-session} is false, you will be unable to log in."
msgstr "您必须在系统配置或用户配置中安装至少一个窗口管理器。如果不这样做,如果@code{auto-login-session}为假,您将无法登录。"

#. type: item
#: guix-git/doc/guix.texi:24206 guix-git/doc/guix.texi:24316
#, fuzzy, no-wrap
msgid "@code{xorg-configuration} (default @code{(xorg-configuration)})"
msgstr "@code{xorg-configuration}(默认值@code{(xorg-configuration)})"

#. type: item
#: guix-git/doc/guix.texi:24209
#, no-wrap
msgid "@code{display} (default @code{\":0\"})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:24211
#, fuzzy
msgid "The display on which to start the Xorg graphical server."
msgstr "启动Xorg图形服务器的显示器。"

#. type: item
#: guix-git/doc/guix.texi:24212
#, no-wrap
msgid "@code{vt} (default @code{\"vt7\"})"
msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#. type: table
#: guix-git/doc/guix.texi:24214
#, fuzzy
msgid "The VT on which to start the Xorg graphical server."
msgstr "启动Xorg图形服务器的VT。"

#. type: item
#: guix-git/doc/guix.texi:24215
#, fuzzy, no-wrap
msgid "@code{xauth} (default: @code{xauth})"
msgstr "@code{xauth}(默认值:@code{xauth})"

#. type: table
#: guix-git/doc/guix.texi:24217
#, fuzzy
msgid "The XAuth package to use."
msgstr "要使用的XAuth软件包。"

#. type: item
#: guix-git/doc/guix.texi:24218
#, fuzzy, no-wrap
msgid "@code{shepherd} (default: @code{shepherd})"
msgstr "@code{shepherd}(默认值:@code{shepherd})"

#. type: table
#: guix-git/doc/guix.texi:24221
#, fuzzy
msgid "The Shepherd package used when invoking @command{halt} and @command{reboot}."
msgstr "在调用@command{halt}和@command{reboot}时使用的Shepherd软件包。"

#. type: item
#: guix-git/doc/guix.texi:24222
#, fuzzy, no-wrap
msgid "@code{sessreg} (default: @code{sessreg})"
msgstr "@code{sessreg}(默认值:@code{sessreg})"

#. type: table
#: guix-git/doc/guix.texi:24224
#, fuzzy
msgid "The sessreg package used in order to register the session."
msgstr "用于注册会话的sessreg软件包。"

#. type: item
#: guix-git/doc/guix.texi:24225
#, fuzzy, no-wrap
msgid "@code{slim} (default: @code{slim})"
msgstr "@code{slim}(默认值:@code{slim})"

#. type: table
#: guix-git/doc/guix.texi:24227
#, fuzzy
msgid "The SLiM package to use."
msgstr "要使用的SLiM软件包。"

#. type: defvar
#: guix-git/doc/guix.texi:24230
#, fuzzy, no-wrap
msgid "%default-theme"
msgstr "%default-theme"

#. type: defvarx
#: guix-git/doc/guix.texi:24231
#, fuzzy, no-wrap
msgid "%default-theme-name"
msgstr "仓库monad"

#. type: defvar
#: guix-git/doc/guix.texi:24233
#, fuzzy
msgid "The default SLiM theme and its name."
msgstr "默认SLiM主题及其名称。"

#. type: cindex
#: guix-git/doc/guix.texi:24237
#, fuzzy, no-wrap
msgid "X11 login"
msgstr "X11登录"

#. type: defvar
#: guix-git/doc/guix.texi:24238
#, fuzzy, no-wrap
msgid "sddm-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:24242
#, fuzzy
msgid "This is the type of the service to run the @uref{https://github.com/sddm/sddm,SDDM display manager}.  Its value must be a @code{sddm-configuration} record (see below)."
msgstr "这是运行@uref{https://github.com/sddm/sddm,SDDM显示管理器}的服务类型。其值必须是@code{sddm-configuration}记录(见下文)。"

#. type: defvar
#: guix-git/doc/guix.texi:24244
#, fuzzy
msgid "Here's an example use:"
msgstr "这是一个示例用法:"

#. type: lisp
#: guix-git/doc/guix.texi:24250
#, fuzzy, no-wrap
msgid ""
"(service sddm-service-type\n"
"         (sddm-configuration\n"
"           (auto-login-user \"alice\")\n"
"           (auto-login-session \"xfce.desktop\")))\n"
msgstr ""
"(service sddm-service-type\n"
"         (sddm-configuration\n"
"           (auto-login-user \"alice\")\n"
"           (auto-login-session \"xfce.desktop\")))\n"

#. type: deftp
#: guix-git/doc/guix.texi:24253
#, fuzzy, no-wrap
msgid "{Data Type} sddm-configuration"
msgstr "{数据类型} sddm-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:24256
#, fuzzy
msgid "This data type represents the configuration of the SDDM login manager.  The available fields are:"
msgstr "这个数据类型表示后台进程可以下发构建任务的构建机器。重要的项有:"

#. type: item
#: guix-git/doc/guix.texi:24258
#, fuzzy, no-wrap
msgid "@code{sddm} (default: @code{sddm})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:24260
#, fuzzy
msgid "The SDDM package to use."
msgstr "软件包数据类型。"

#. type: quotation
#: guix-git/doc/guix.texi:24264
msgid "sddm has Qt6 enabled by default. If you want to still use a Qt5 theme, you need to set it to @code{sddm-qt5}."
msgstr "SDDM 默认启用 Qt6。如果您还想使用 Qt5 主题,需要将字段设置为 @code{sddm-qt5}。"

#. type: item
#: guix-git/doc/guix.texi:24266
#, fuzzy, no-wrap
msgid "@code{display-server} (default: \"x11\")"
msgstr "@code{display-server} (默认: \"x11\")"

#. type: table
#: guix-git/doc/guix.texi:24269
#, fuzzy
msgid "Select display server to use for the greeter.  Valid values are @samp{\"x11\"} or @samp{\"wayland\"}."
msgstr "选择用于问候者的显示服务器。有效值为@samp{\"x11\"}或@samp{\"wayland\"}。"

#. type: item
#: guix-git/doc/guix.texi:24270
#, fuzzy, no-wrap
msgid "@code{numlock} (default: \"on\")"
msgstr "@code{numlock} (默认: \"on\")"

#. type: table
#: guix-git/doc/guix.texi:24272
#, fuzzy
msgid "Valid values are @samp{\"on\"}, @samp{\"off\"} or @samp{\"none\"}."
msgstr "有效值为@samp{\"on\"}, @samp{\"off\"}或@samp{\"none\"}。"

#. type: item
#: guix-git/doc/guix.texi:24273
#, fuzzy, no-wrap
msgid "@code{halt-command} (default @code{#~(string-append #$shepherd \"/sbin/halt\")})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:24275
#, fuzzy
msgid "Command to run when halting."
msgstr "停止时运行的命令。"

#. type: item
#: guix-git/doc/guix.texi:24276
#, fuzzy, no-wrap
msgid "@code{reboot-command} (default @code{#~(string-append #$shepherd \"/sbin/reboot\")})"
msgstr "@code{reboot-command} (默认 @code{#~(string-append #$shepherd \"/sbin/reboot\")})"

#. type: table
#: guix-git/doc/guix.texi:24278
#, fuzzy
msgid "Command to run when rebooting."
msgstr "重启时运行的命令。"

#. type: item
#: guix-git/doc/guix.texi:24279
#, fuzzy, no-wrap
msgid "@code{theme} (default \"maldives\")"
msgstr "@code{theme} (默认 \"maldives\")"

#. type: table
#: guix-git/doc/guix.texi:24282
#, fuzzy
msgid "Theme to use.  Default themes provided by SDDM are @samp{\"elarun\"}, @samp{\"maldives\"} or @samp{\"maya\"}."
msgstr "要使用的主题。SDDM提供的默认主题有@samp{\"elarun\"}, @samp{\"maldives\"}或@samp{\"maya\"}。"

#. type: item
#: guix-git/doc/guix.texi:24283
#, fuzzy, no-wrap
msgid "@code{themes-directory} (default \"/run/current-system/profile/share/sddm/themes\")"
msgstr "@code{themes-directory} (默认 \"/run/current-system/profile/share/sddm/themes\")"

#. type: table
#: guix-git/doc/guix.texi:24285
#, fuzzy
msgid "Directory to look for themes."
msgstr "查找主题的目录。"

#. type: item
#: guix-git/doc/guix.texi:24286
#, fuzzy, no-wrap
msgid "@code{faces-directory} (default \"/run/current-system/profile/share/sddm/faces\")"
msgstr "@code{faces-directory} (默认 \"/run/current-system/profile/share/sddm/faces\")"

#. type: table
#: guix-git/doc/guix.texi:24288
#, fuzzy
msgid "Directory to look for faces."
msgstr "查找头像的目录。"

#. type: item
#: guix-git/doc/guix.texi:24289
#, fuzzy, no-wrap
msgid "@code{default-path} (default \"/run/current-system/profile/bin\")"
msgstr "@code{default-path} (默认 \"/run/current-system/profile/bin\")"

#. type: table
#: guix-git/doc/guix.texi:24291
#, fuzzy
msgid "Default PATH to use."
msgstr "要使用的默认PATH。"

#. type: item
#: guix-git/doc/guix.texi:24292
#, fuzzy, no-wrap
msgid "@code{minimum-uid} (default: 1000)"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:24294
#, fuzzy
msgid "Minimum UID displayed in SDDM and allowed for log-in."
msgstr "在SDDM中显示的最小UID和允许登录的UID。"

#. type: item
#: guix-git/doc/guix.texi:24295
#, fuzzy, no-wrap
msgid "@code{maximum-uid} (default: 2000)"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24297
#, fuzzy
msgid "Maximum UID to display in SDDM."
msgstr "在SDDM中显示的最大UID。"

#. type: item
#: guix-git/doc/guix.texi:24298
#, fuzzy, no-wrap
msgid "@code{remember-last-user?} (default #t)"
msgstr "@code{remember-last-user?} (默认 #t)"

#. type: table
#: guix-git/doc/guix.texi:24300
#, fuzzy
msgid "Remember last user."
msgstr "记住最后一个用户。"

#. type: item
#: guix-git/doc/guix.texi:24301
#, fuzzy, no-wrap
msgid "@code{remember-last-session?} (default #t)"
msgstr "@code{remember-last-session?} (默认 #t)"

#. type: table
#: guix-git/doc/guix.texi:24303
#, fuzzy
msgid "Remember last session."
msgstr "记住最后一个会话。"

#. type: item
#: guix-git/doc/guix.texi:24304
#, fuzzy, no-wrap
msgid "@code{hide-users} (default \"\")"
msgstr "@code{hide-users} (默认 \"\")"

#. type: table
#: guix-git/doc/guix.texi:24306
#, fuzzy
msgid "Usernames to hide from SDDM greeter."
msgstr "要从SDDM问候者中隐藏的用户名。"

#. type: item
#: guix-git/doc/guix.texi:24307
#, fuzzy, no-wrap
msgid "@code{hide-shells} (default @code{#~(string-append #$shadow \"/sbin/nologin\")})"
msgstr "@code{hide-shells} (默认 @code{#~(string-append #$shadow \"/sbin/nologin\")})"

#. type: table
#: guix-git/doc/guix.texi:24309
#, fuzzy
msgid "Users with shells listed will be hidden from the SDDM greeter."
msgstr "列出的用户将从SDDM问候者中隐藏。"

#. type: item
#: guix-git/doc/guix.texi:24310
#, fuzzy, no-wrap
msgid "@code{session-command} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/wayland-session\")})"
msgstr "@code{session-command} (默认 @code{#~(string-append #$sddm \"/share/sddm/scripts/wayland-session\")})"

#. type: table
#: guix-git/doc/guix.texi:24312
#, fuzzy
msgid "Script to run before starting a wayland session."
msgstr "在启动wayland会话之前运行的脚本。"

#. type: item
#: guix-git/doc/guix.texi:24313
#, fuzzy, no-wrap
msgid "@code{sessions-directory} (default \"/run/current-system/profile/share/wayland-sessions\")"
msgstr "@code{sessions-directory} (默认 \"/run/current-system/profile/share/wayland-sessions\")"

#. type: table
#: guix-git/doc/guix.texi:24315
#, fuzzy
msgid "Directory to look for desktop files starting wayland sessions."
msgstr "查找启动wayland会话的桌面文件的目录。"

#. type: item
#: guix-git/doc/guix.texi:24319
#, fuzzy, no-wrap
msgid "@code{xauth-path} (default @code{#~(string-append #$xauth \"/bin/xauth\")})"
msgstr "@code{xauth-path} (默认 @code{#~(string-append #$xauth \"/bin/xauth\")})"

#. type: table
#: guix-git/doc/guix.texi:24321
#, fuzzy
msgid "Path to xauth."
msgstr "xauth的路径。"

#. type: item
#: guix-git/doc/guix.texi:24322
#, fuzzy, no-wrap
msgid "@code{xephyr-path} (default @code{#~(string-append #$xorg-server \"/bin/Xephyr\")})"
msgstr "@code{xephyr-path} (默认 @code{#~(string-append #$xorg-server \"/bin/Xephyr\")})"

#. type: table
#: guix-git/doc/guix.texi:24324
#, fuzzy
msgid "Path to Xephyr."
msgstr "Xephyr的路径。"

#. type: item
#: guix-git/doc/guix.texi:24325
#, fuzzy, no-wrap
msgid "@code{xdisplay-start} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/Xsetup\")})"
msgstr "@code{xdisplay-start} (默认 @code{#~(string-append #$sddm \"/share/sddm/scripts/Xsetup\")})"

#. type: table
#: guix-git/doc/guix.texi:24327
#, fuzzy
msgid "Script to run after starting xorg-server."
msgstr "在启动xorg-server后运行的脚本。"

#. type: item
#: guix-git/doc/guix.texi:24328
#, fuzzy, no-wrap
msgid "@code{xdisplay-stop} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/Xstop\")})"
msgstr "@code{xdisplay-stop}(默认值 @code{#~(string-append #$sddm \"/share/sddm/scripts/Xstop\")})"

#. type: table
#: guix-git/doc/guix.texi:24330
#, fuzzy
msgid "Script to run before stopping xorg-server."
msgstr "在停止 xorg-server 之前运行的脚本。"

#. type: item
#: guix-git/doc/guix.texi:24331
#, fuzzy, no-wrap
msgid "@code{xsession-command} (default: @code{xinitrc})"
msgstr "@code{xsession-command}(默认值:@code{xinitrc})"

#. type: item
#: guix-git/doc/guix.texi:24334
#, fuzzy, no-wrap
msgid "@code{xsessions-directory} (default: \"/run/current-system/profile/share/xsessions\")"
msgstr "@code{xsessions-directory}(默认值:\"/run/current-system/profile/share/xsessions\")"

#. type: table
#: guix-git/doc/guix.texi:24336
#, fuzzy
msgid "Directory to look for desktop files starting X sessions."
msgstr "查找启动 X 会话的桌面文件的目录。"

#. type: item
#: guix-git/doc/guix.texi:24337
#, fuzzy, no-wrap
msgid "@code{minimum-vt} (default: 7)"
msgstr "@code{minimum-vt}(默认值:7)"

#. type: table
#: guix-git/doc/guix.texi:24339
#, fuzzy
msgid "Minimum VT to use."
msgstr "使用的最小 VT。"

#. type: item
#: guix-git/doc/guix.texi:24340
#, fuzzy, no-wrap
msgid "@code{auto-login-user} (default \"\")"
msgstr "@code{auto-login-user}(默认值 \"\")"

#. type: table
#: guix-git/doc/guix.texi:24343
#, fuzzy
msgid "User account that will be automatically logged in.  Setting this to the empty string disables auto-login."
msgstr "将自动登录的用户帐户。将其设置为空字符串将禁用自动登录。"

#. type: item
#: guix-git/doc/guix.texi:24344
#, fuzzy, no-wrap
msgid "@code{auto-login-session} (default \"\")"
msgstr "@code{auto-login-session}(默认值 \"\")"

#. type: table
#: guix-git/doc/guix.texi:24346
#, fuzzy
msgid "The @file{.desktop} file name to use as the auto-login session, or the empty string."
msgstr "用作自动登录会话的 @file{.desktop} 文件名,或为空字符串。"

#. type: item
#: guix-git/doc/guix.texi:24347
#, fuzzy, no-wrap
msgid "@code{relogin?} (default #f)"
msgstr "@code{relogin?}(默认值 #f)"

#. type: table
#: guix-git/doc/guix.texi:24349
#, fuzzy
msgid "Relogin after logout."
msgstr "注销后重新登录。"

#. type: cindex
#: guix-git/doc/guix.texi:24353
#, fuzzy, no-wrap
msgid "lightdm, graphical login manager"
msgstr "lightdm,图形登录管理器"

#. type: cindex
#: guix-git/doc/guix.texi:24354
#, fuzzy, no-wrap
msgid "display manager, lightdm"
msgstr "显示管理器,lightdm"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:24356
#, fuzzy
msgid "lightdm"
msgstr "lightdm"

#. type: defvar
#: guix-git/doc/guix.texi:24356
#, fuzzy, no-wrap
msgid "lightdm-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:24364
#, fuzzy
msgid "This is the type of the service to run the @url{https://github.com/canonical/lightdm,LightDM display manager}.  Its value must be a @code{lightdm-configuration} record, which is documented below.  Among its distinguishing features are TigerVNC integration for easily remoting your desktop as well as support for the XDMCP protocol, which can be used by remote clients to start a session from the login manager."
msgstr "这是运行 @url{https://github.com/canonical/lightdm,LightDM 显示管理器} 的服务类型。其值必须是 @code{lightdm-configuration} 记录,下面有文档说明。其显著特点包括 TigerVNC 集成,便于远程访问桌面,以及支持 XDMCP 协议,远程客户端可以使用该协议从登录管理器启动会话。"

#. type: defvar
#: guix-git/doc/guix.texi:24366
#, fuzzy
msgid "In its most basic form, it can be used simply as:"
msgstr "在其最基本的形式中,可以简单地使用:"

#. type: lisp
#: guix-git/doc/guix.texi:24369
#, fuzzy, no-wrap
msgid "(service lightdm-service-type)\n"
msgstr "(service lightdm-service-type)\n"

#. type: defvar
#: guix-git/doc/guix.texi:24373
#, fuzzy
msgid "A more elaborate example making use of the VNC capabilities and enabling more features and verbose logs could look like:"
msgstr "一个更复杂的示例,利用 VNC 功能并启用更多功能和详细日志,可能如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:24387
#, fuzzy, no-wrap
msgid ""
"(service lightdm-service-type\n"
"         (lightdm-configuration\n"
"          (allow-empty-passwords? #t)\n"
"          (xdmcp? #t)\n"
"          (vnc-server? #t)\n"
"          (vnc-server-command\n"
"           (file-append tigervnc-server \"/bin/Xvnc\"\n"
"                        \"  -SecurityTypes None\"))\n"
"          (seats\n"
"           (list (lightdm-seat-configuration\n"
"                  (name \"*\")\n"
"                  (user-session \"ratpoison\"))))))\n"
msgstr ""
"(service lightdm-service-type\n"
"         (lightdm-configuration\n"
"          (allow-empty-passwords? #t)\n"
"          (xdmcp? #t)\n"
"          (vnc-server? #t)\n"
"          (vnc-server-command\n"
"           (file-append tigervnc-server \"/bin/Xvnc\"\n"
"                        \"  -SecurityTypes None\"))\n"
"          (seats\n"
"           (list (lightdm-seat-configuration\n"
"                  (name \"*\")\n"
"                  (user-session \"ratpoison\"))))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:24394
#, fuzzy, no-wrap
msgid "{Data Type} lightdm-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:24396
#, fuzzy
msgid "Available @code{lightdm-configuration} fields are:"
msgstr "可用的 @code{lightdm-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:24398
#, fuzzy, no-wrap
msgid "@code{lightdm} (default: @code{lightdm}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:24400
#, fuzzy
msgid "The lightdm package to use."
msgstr "软件包数据类型。"

#. type: table
#: guix-git/doc/guix.texi:24403
#, fuzzy
msgid "Whether users not having a password set can login."
msgstr "未设置密码的用户是否可以登录。"

#. type: table
#: guix-git/doc/guix.texi:24406
#, fuzzy
msgid "Enable verbose output."
msgstr "怎么开启或关闭substitute。"

#. type: item
#: guix-git/doc/guix.texi:24407
#, fuzzy, no-wrap
msgid "@code{xorg-configuration} (type: xorg-configuration)"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24411
#, fuzzy
msgid "The default Xorg server configuration to use to generate the Xorg server start script.  It can be refined per seat via the @code{xserver-command} of the @code{<lightdm-seat-configuration>} record, if desired."
msgstr "用于生成 Xorg 服务器启动脚本的默认 Xorg 服务器配置。如果需要,可以通过 @code{<lightdm-seat-configuration>} 记录的 @code{xserver-command} 针对每个座位进行细化。"

#. type: item
#: guix-git/doc/guix.texi:24412
#, fuzzy, no-wrap
msgid "@code{greeters} (type: list-of-greeter-configurations)"
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:24414
#, fuzzy
msgid "The LightDM greeter configurations specifying the greeters to use."
msgstr "指定要使用的 LightDM 欢迎器配置。"

#. type: item
#: guix-git/doc/guix.texi:24415
#, fuzzy, no-wrap
msgid "@code{seats} (type: list-of-seat-configurations)"
msgstr "{数据类型} build-machine"

#. type: table
#: guix-git/doc/guix.texi:24417
#, fuzzy
msgid "The seat configurations to use.  A LightDM seat is akin to a user."
msgstr "要使用的座位配置。LightDM 座位类似于用户。"

#. type: item
#: guix-git/doc/guix.texi:24418 guix-git/doc/guix.texi:35155
#, fuzzy, no-wrap
msgid "@code{xdmcp?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24420
#, fuzzy
msgid "Whether a XDMCP server should listen on port UDP 177."
msgstr "XDMCP 服务器是否应在 UDP 177 端口上监听。"

#. type: item
#: guix-git/doc/guix.texi:24421
#, fuzzy, no-wrap
msgid "@code{xdmcp-listen-address} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24424
#, fuzzy
msgid "The host or IP address the XDMCP server listens for incoming connections.  When unspecified, listen on for any hosts/IP addresses."
msgstr "XDMCP 服务器监听传入连接的主机或 IP 地址。当未指定时,监听所有主机/IP 地址。"

#. type: item
#: guix-git/doc/guix.texi:24425
#, fuzzy, no-wrap
msgid "@code{vnc-server?} (default: @code{#f}) (type: boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:24427
#, fuzzy
msgid "Whether a VNC server is started."
msgstr "是否启动 VNC 服务器。"

#. type: item
#: guix-git/doc/guix.texi:24428
#, fuzzy, no-wrap
msgid "@code{vnc-server-command} (type: file-like)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24432
#, fuzzy
msgid "The Xvnc command to use for the VNC server, it's possible to provide extra options not otherwise exposed along the command, for example to disable security:"
msgstr "用于 VNC 服务器的 Xvnc 命令,可以提供额外的选项,这些选项在命令中未公开,例如禁用安全性:"

#. type: lisp
#: guix-git/doc/guix.texi:24436
#, fuzzy, no-wrap
msgid ""
"(vnc-server-command (file-append tigervnc-server \"/bin/Xvnc\"\n"
"                                 \" -SecurityTypes None\" ))\n"
msgstr ""
"(vnc-server-command (file-append tigervnc-server \"/bin/Xvnc\"\n"
"                                 \" -SecurityTypes None\" ))\n"

#. type: table
#: guix-git/doc/guix.texi:24440
#, fuzzy
msgid "Or to set a PasswordFile for the classic (unsecure) VncAuth mechanism:"
msgstr "或者为经典(不安全)VncAuth 机制设置 PasswordFile:"

#. type: lisp
#: guix-git/doc/guix.texi:24444
#, fuzzy, no-wrap
msgid ""
"(vnc-server-command (file-append tigervnc-server \"/bin/Xvnc\"\n"
"                                 \" -PasswordFile /var/lib/lightdm/.vnc/passwd\"))\n"
msgstr ""
"(vnc-server-command (file-append tigervnc-server \"/bin/Xvnc\"\n"
"                                 \" -PasswordFile /var/lib/lightdm/.vnc/passwd\"))\n"

#. type: table
#: guix-git/doc/guix.texi:24450
#, fuzzy
msgid "The password file should be manually created using the @command{vncpasswd} command.  Note that LightDM will create new sessions for VNC users, which means they need to authenticate in the same way as local users would."
msgstr "密码文件应使用 @command{vncpasswd} 命令手动创建。请注意,LightDM 将为 VNC 用户创建新会话,这意味着他们需要以与本地用户相同的方式进行身份验证。"

#. type: item
#: guix-git/doc/guix.texi:24451
#, fuzzy, no-wrap
msgid "@code{vnc-server-listen-address} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24454
#, fuzzy
msgid "The host or IP address the VNC server listens for incoming connections.  When unspecified, listen for any hosts/IP addresses."
msgstr "VNC 服务器监听传入连接的主机或 IP 地址。当未指定时,监听所有主机/IP 地址。"

#. type: item
#: guix-git/doc/guix.texi:24455
#, fuzzy, no-wrap
msgid "@code{vnc-server-port} (default: @code{5900}) (type: number)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:24457
#, fuzzy
msgid "The TCP port the VNC server should listen to."
msgstr "VNC 服务器应监听的 TCP 端口。"

#. type: item
#: guix-git/doc/guix.texi:24458 guix-git/doc/guix.texi:24507
#: guix-git/doc/guix.texi:24545
#, fuzzy, no-wrap
msgid "@code{extra-config} (default: @code{'()}) (type: list-of-strings)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24460
#, fuzzy
msgid "Extra configuration values to append to the LightDM configuration file."
msgstr "要附加到 LightDM 配置文件的额外配置值。"

#. type: deftp
#: guix-git/doc/guix.texi:24468
#, fuzzy, no-wrap
msgid "{Data Type} lightdm-gtk-greeter-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:24470
#, fuzzy
msgid "Available @code{lightdm-gtk-greeter-configuration} fields are:"
msgstr "可用的 @code{lightdm-gtk-greeter-configuration} 字段包括:"

#. type: item
#: guix-git/doc/guix.texi:24472
#, fuzzy, no-wrap
msgid "@code{lightdm-gtk-greeter} (default: @code{lightdm-gtk-greeter}) (type: file-like)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24474
#, fuzzy
msgid "The lightdm-gtk-greeter package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:24475
#, fuzzy, no-wrap
msgid "@code{assets} (default: @code{(adwaita-icon-theme gnome-themes-extra hicolor-icon-theme)}) (type: list-of-file-likes)"
msgstr "@code{assets}(默认:@code{(adwaita-icon-theme gnome-themes-extra hicolor-icon-theme))}(类型:文件类列表)"

#. type: table
#: guix-git/doc/guix.texi:24478
#, fuzzy
msgid "The list of packages complementing the greeter, such as package providing icon themes."
msgstr "补充欢迎器的包列表,例如提供图标主题的包。"

#. type: item
#: guix-git/doc/guix.texi:24479
#, fuzzy, no-wrap
msgid "@code{theme-name} (default: @code{\"Adwaita\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24481
#, fuzzy
msgid "The name of the theme to use."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:24482
#, fuzzy, no-wrap
msgid "@code{icon-theme-name} (default: @code{\"Adwaita\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24484
#, fuzzy
msgid "The name of the icon theme to use."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:24485
#, fuzzy, no-wrap
msgid "@code{cursor-theme-name} (default: @code{\"Adwaita\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24487
#, fuzzy
msgid "The name of the cursor theme to use."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:24488
#, fuzzy, no-wrap
msgid "@code{cursor-theme-size} (default: @code{16}) (type: number)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:24490
#, fuzzy
msgid "The size to use for the cursor theme."
msgstr "mcron服务。"

#. type: item
#: guix-git/doc/guix.texi:24491
#, fuzzy, no-wrap
msgid "@code{allow-debugging?} (type: maybe-boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:24493
#, fuzzy
msgid "Set to #t to enable debug log level."
msgstr "设置为 #t 以启用调试日志级别。"

#. type: item
#: guix-git/doc/guix.texi:24494
#, fuzzy, no-wrap
msgid "@code{background} (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:24496
#, fuzzy
msgid "The background image to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:24497
#, fuzzy, no-wrap
msgid "@code{at-spi-enabled?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24500
#, fuzzy
msgid "Enable accessibility support through the Assistive Technology Service Provider Interface (AT-SPI)."
msgstr "通过辅助技术服务提供者接口(AT-SPI)启用无障碍支持。"

#. type: item
#: guix-git/doc/guix.texi:24501
#, fuzzy, no-wrap
msgid "@code{a11y-states} (default: @code{(contrast font keyboard reader)}) (type: list-of-a11y-states)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:24503
#, fuzzy
msgid "The accessibility features to enable, given as list of symbols."
msgstr "要启用的无障碍功能,以符号列表的形式给出。"

#. type: item
#: guix-git/doc/guix.texi:24504
#, fuzzy, no-wrap
msgid "@code{reader} (type: maybe-file-like)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24506
#, fuzzy
msgid "The command to use to launch a screen reader."
msgstr "用于启动屏幕阅读器的命令。"

#. type: table
#: guix-git/doc/guix.texi:24510
#, fuzzy
msgid "Extra configuration values to append to the LightDM GTK Greeter configuration file."
msgstr "要附加到 LightDM GTK 欢迎器配置文件的额外配置值。"

#. type: deftp
#: guix-git/doc/guix.texi:24517
#, fuzzy, no-wrap
msgid "{Data Type} lightdm-seat-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:24519
#, fuzzy
msgid "Available @code{lightdm-seat-configuration} fields are:"
msgstr "可用的 @code{lightdm-seat-configuration} 字段包括:"

#. type: item
#: guix-git/doc/guix.texi:24521
#, fuzzy, no-wrap
msgid "@code{name} (type: seat-name)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24524
#, fuzzy
msgid "The name of the seat.  An asterisk (*) can be used in the name to apply the seat configuration to all the seat names it matches."
msgstr "座位的名称。名称中可以使用星号(*)将座位配置应用于所有匹配的座位名称。"

#. type: item
#: guix-git/doc/guix.texi:24525
#, fuzzy, no-wrap
msgid "@code{user-session} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24528
#, fuzzy
msgid "The session to use by default.  The session name must be provided as a lowercase string, such as @code{\"gnome\"}, @code{\"ratpoison\"}, etc."
msgstr "默认使用的会话。会话名称必须作为小写字符串提供,例如 @code{\"gnome\"}, @code{\"ratpoison\"} 等。"

#. type: item
#: guix-git/doc/guix.texi:24529
#, fuzzy, no-wrap
msgid "@code{type} (default: @code{local}) (type: seat-type)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:24531
#, fuzzy
msgid "The type of the seat, either the @code{local} or @code{xremote} symbol."
msgstr "座位的类型,可以是 @code{local} 或 @code{xremote} 符号。"

#. type: item
#: guix-git/doc/guix.texi:24532
#, fuzzy, no-wrap
msgid "@code{autologin-user} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24534
#, fuzzy
msgid "The username to automatically log in with by default."
msgstr "默认情况下自动登录的用户名。"

#. type: item
#: guix-git/doc/guix.texi:24535
#, fuzzy, no-wrap
msgid "@code{greeter-session} (default: @code{lightdm-gtk-greeter}) (type: greeter-session)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24538
#, fuzzy
msgid "The greeter session to use, specified as a symbol.  Currently, only @code{lightdm-gtk-greeter} is supported."
msgstr "要使用的问候者会话,指定为符号。目前,仅支持 @code{lightdm-gtk-greeter}。"

#. type: item
#: guix-git/doc/guix.texi:24539
#, fuzzy, no-wrap
msgid "@code{xserver-command} (type: maybe-file-like)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24541
#, fuzzy
msgid "The Xorg server command to run."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:24542
#, fuzzy, no-wrap
msgid "@code{session-wrapper} (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:24544
#, fuzzy
msgid "The xinitrc session wrapper to use."
msgstr "软件包数据类型。"

#. type: table
#: guix-git/doc/guix.texi:24547
#, fuzzy
msgid "Extra configuration values to append to the seat configuration section."
msgstr "要附加到座位配置部分的额外配置值。"

#. type: cindex
#: guix-git/doc/guix.texi:24553
#, fuzzy, no-wrap
msgid "Xorg, configuration"
msgstr "Xorg,配置"

#. type: deftp
#: guix-git/doc/guix.texi:24554
#, fuzzy, no-wrap
msgid "{Data Type} xorg-configuration"
msgstr "{数据类型} xorg-配置"

#. type: deftp
#: guix-git/doc/guix.texi:24560
#, fuzzy
msgid "This data type represents the configuration of the Xorg graphical display server.  Note that there is no Xorg service; instead, the X server is started by a ``display manager'' such as GDM, SDDM, LightDM or SLiM@.  Thus, the configuration of these display managers aggregates an @code{xorg-configuration} record."
msgstr "该数据类型表示 Xorg 图形显示服务器的配置。请注意,没有 Xorg 服务;相反,X 服务器是由 ``显示管理器'' 启动的,例如 GDM、SDDM、LightDM 或 SLiM@。因此,这些显示管理器的配置聚合了一个 @code{xorg-configuration} 记录。"

#. type: item
#: guix-git/doc/guix.texi:24562
#, fuzzy, no-wrap
msgid "@code{modules} (default: @code{%default-xorg-modules})"
msgstr "@code{modules}(默认:@code{%default-xorg-modules})"

#. type: table
#: guix-git/doc/guix.texi:24565
msgid "This is a list of @dfn{module packages} loaded by the Xorg server---e.g., @code{xf86-video-vesa}, @code{xf86-input-libinput}, and so on."
msgstr "这是 Xorg 服务器加载的 @dfn{模块包} 列表——例如 @code{xf86-video-vesa}、@code{xf86-input-libinput} 等。"

#. type: item
#: guix-git/doc/guix.texi:24566
#, fuzzy, no-wrap
msgid "@code{fonts} (default: @code{%default-xorg-fonts})"
msgstr "@code{fonts}(默认:@code{%default-xorg-fonts})"

#. type: table
#: guix-git/doc/guix.texi:24568
#, fuzzy
msgid "This is a list of font directories to add to the server's @dfn{font path}."
msgstr "这是要添加到服务器 @dfn{字体路径} 的字体目录列表。"

#. type: item
#: guix-git/doc/guix.texi:24569
#, fuzzy, no-wrap
msgid "@code{drivers} (default: @code{'()})"
msgstr "@code{drivers}(默认:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:24573
#, fuzzy
msgid "This must be either the empty list, in which case Xorg chooses a graphics driver automatically, or a list of driver names that will be tried in this order---e.g., @code{'(\"modesetting\" \"vesa\")}."
msgstr "这必须是空列表,在这种情况下,Xorg 会自动选择图形驱动程序,或者是将按此顺序尝试的驱动程序名称列表——例如 @code{'(\"modesetting\" \"vesa\")}。"

#. type: item
#: guix-git/doc/guix.texi:24574
#, fuzzy, no-wrap
msgid "@code{resolutions} (default: @code{'()})"
msgstr "@code{resolutions}(默认:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:24578
#, fuzzy
msgid "When @code{resolutions} is the empty list, Xorg chooses an appropriate screen resolution.  Otherwise, it must be a list of resolutions---e.g., @code{'((1024 768) (640 480))}."
msgstr "当 @code{resolutions} 是空列表时,Xorg 会选择适当的屏幕分辨率。否则,它必须是一个分辨率列表——例如 @code{'((1024 768) (640 480))}。"

#. type: cindex
#: guix-git/doc/guix.texi:24579
#, fuzzy, no-wrap
msgid "keyboard layout, for Xorg"
msgstr "键盘布局,适用于 Xorg"

#. type: cindex
#: guix-git/doc/guix.texi:24580
#, fuzzy, no-wrap
msgid "keymap, for Xorg"
msgstr "键盘映射,适用于 Xorg"

#. type: table
#: guix-git/doc/guix.texi:24584
#, fuzzy
msgid "If this is @code{#f}, Xorg uses the default keyboard layout---usually US English (``qwerty'') for a 105-key PC keyboard."
msgstr "如果这是 @code{#f},Xorg 将使用默认键盘布局——通常是 105 键 PC 键盘的美国英语(``qwerty'')。"

#. type: table
#: guix-git/doc/guix.texi:24588
#, fuzzy
msgid "Otherwise this must be a @code{keyboard-layout} object specifying the keyboard layout in use when Xorg is running.  @xref{Keyboard Layout}, for more information on how to specify the keyboard layout."
msgstr "否则,这必须是一个 @code{keyboard-layout} 对象,指定 Xorg 运行时使用的键盘布局。有关如何指定键盘布局的更多信息,请参见 @xref{Keyboard Layout}。"

#. type: item
#: guix-git/doc/guix.texi:24589 guix-git/doc/guix.texi:27237
#: guix-git/doc/guix.texi:42928
#, fuzzy, no-wrap
msgid "@code{extra-config} (default: @code{'()})"
msgstr "@code{extra-config}(默认:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:24592 guix-git/doc/guix.texi:42932
#, fuzzy
msgid "This is a list of strings or objects appended to the configuration file.  It is used to pass extra text to be added verbatim to the configuration file."
msgstr "这是附加到配置文件的字符串或对象列表。它用于传递要逐字添加到配置文件的额外文本。"

#. type: item
#: guix-git/doc/guix.texi:24593
#, fuzzy, no-wrap
msgid "@code{server} (default: @code{xorg-server})"
msgstr "@code{server}(默认:@code{xorg-server})"

#. type: table
#: guix-git/doc/guix.texi:24595
#, fuzzy
msgid "This is the package providing the Xorg server."
msgstr "这是提供 Xorg 服务器的包。"

#. type: item
#: guix-git/doc/guix.texi:24596
#, fuzzy, no-wrap
msgid "@code{server-arguments} (default: @code{%default-xorg-server-arguments})"
msgstr "@code{server-arguments}(默认:@code{%default-xorg-server-arguments})"

#. type: table
#: guix-git/doc/guix.texi:24599
#, fuzzy
msgid "This is the list of command-line arguments to pass to the X server.  The default is @code{-nolisten tcp}."
msgstr "这是传递给 X 服务器的命令行参数列表。默认值是 @code{-nolisten tcp}。"

#. type: deffn
#: guix-git/doc/guix.texi:24602
#, fuzzy, no-wrap
msgid "{Procedure} set-xorg-configuration config [login-manager-service-type]"
msgstr "管理操作系统配置。"

#. type: deffn
#: guix-git/doc/guix.texi:24605
#, fuzzy
msgid "Tell the log-in manager (of type @var{login-manager-service-type}) to use @var{config}, an @code{<xorg-configuration>} record."
msgstr "告诉登录管理器(类型为 @var{login-manager-service-type})使用 @var{config},一个 @code{<xorg-configuration>} 记录。"

#. type: deffn
#: guix-git/doc/guix.texi:24609
#, fuzzy
msgid "Since the Xorg configuration is embedded in the log-in manager's configuration---e.g., @code{gdm-configuration}---this procedure provides a shorthand to set the Xorg configuration."
msgstr "由于 Xorg 配置嵌入在登录管理器的配置中——例如,@code{gdm-configuration}——此过程提供了一种简便的方法来设置 Xorg 配置。"

#. type: deffn
#: guix-git/doc/guix.texi:24611
#, fuzzy, no-wrap
msgid "{Procedure} xorg-start-command [config]"
msgstr "{Procedure} xorg-start-command [config]"

#. type: deffn
#: guix-git/doc/guix.texi:24615
#, fuzzy
msgid "Return a @code{startx} script in which the modules, fonts, etc. specified in @var{config}, are available.  The result should be used in place of @code{startx}."
msgstr "返回一个 @code{startx} 脚本,其中 @var{config} 中指定的模块、字体等可用。结果应替代 @code{startx} 使用。"

#. type: deffn
#: guix-git/doc/guix.texi:24617
#, fuzzy
msgid "Usually the X server is started by a login manager."
msgstr "通常,X 服务器是由登录管理器启动的。"

#. type: deffn
#: guix-git/doc/guix.texi:24619
#, fuzzy, no-wrap
msgid "{Procedure} xorg-start-command-xinit [config]"
msgstr "{Procedure} xorg-start-command-xinit [config]"

#. type: deffn
#: guix-git/doc/guix.texi:24628
#, fuzzy
msgid "Return a @code{startx} script in which the modules, fonts, etc. specified in @var{config} are available.  The result should be used in place of @code{startx} and should be invoked by the user from a tty after login.  Unlike @code{xorg-start-command}, this script calls xinit.  Therefore it works well when executed from a tty.  This script can be set up as @code{startx} using @code{startx-command-service-type} or @code{home-startx-command-service-type}.  If you are using a desktop environment, you are unlikely to need this procedure."
msgstr "返回一个 @code{startx} 脚本,其中 @var{config} 中指定的模块、字体等可用。结果应替代 @code{startx} 使用,并应由用户在登录后从 tty 调用。与 @code{xorg-start-command} 不同,此脚本调用 xinit。因此在从 tty 执行时效果良好。此脚本可以使用 @code{startx-command-service-type} 或 @code{home-startx-command-service-type} 设置为 @code{startx}。如果您使用桌面环境,则不太可能需要此过程。"

#. type: defvar
#: guix-git/doc/guix.texi:24631
#, fuzzy, no-wrap
msgid "screen-locker-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:24635
#, fuzzy
msgid "Type for a service that adds a package for a screen locker or screen saver to the set of privileged programs and/or add a PAM entry for it.  The value for this service is a @code{<screen-locker-configuration>} object."
msgstr "为服务类型添加一个包,用于将屏幕锁定器或屏幕保护程序添加到特权程序集,并/或为其添加 PAM 条目。此服务的值是一个 @code{<screen-locker-configuration>} 对象。"

#. type: defvar
#: guix-git/doc/guix.texi:24640
#, fuzzy
msgid "While the default behavior is to setup both a privileged program and PAM entry, these two methods are redundant.  Screen locker programs may not execute when PAM is configured and @code{setuid} is set on their executable.  In this case, @code{using-setuid?} can be set to @code{#f}."
msgstr "虽然默认行为是设置特权程序和 PAM 条目,但这两种方法是冗余的。当 PAM 配置并且 @code{setuid} 设置在其可执行文件上时,屏幕锁定程序可能无法执行。在这种情况下,可以将 @code{using-setuid?} 设置为 @code{#f}。"

#. type: defvar
#: guix-git/doc/guix.texi:24642
#, fuzzy
msgid "For example, to make XlockMore usable:"
msgstr "例如,使 XlockMore 可用:"

#. type: lisp
#: guix-git/doc/guix.texi:24648
#, fuzzy, no-wrap
msgid ""
"(service screen-locker-service-type\n"
"         (screen-locker-configuration\n"
"           (name \"xlock\")\n"
"           (program (file-append xlockmore \"/bin/xlock\"))))\n"
msgstr ""
"(service screen-locker-service-type\n"
"         (screen-locker-configuration\n"
"           \"xlock\" (file-append xlockmore \"/bin/xlock\") #f))\n"

#. type: defvar
#: guix-git/doc/guix.texi:24651
#, fuzzy
msgid "makes the good ol' XlockMore usable."
msgstr "使得老旧的 XlockMore 可用。"

#. type: defvar
#: guix-git/doc/guix.texi:24654
#, fuzzy
msgid "For example, swaylock fails to execute when compiled with PAM support and setuid enabled.  One can thus disable setuid:"
msgstr "例如,当使用 PAM 支持并启用 setuid 编译时,swaylock 无法执行。因此可以禁用 setuid:"

#. type: lisp
#: guix-git/doc/guix.texi:24662
#, fuzzy, no-wrap
msgid ""
"(service screen-locker-service-type\n"
"         (screen-locker-configuration\n"
"           (name \"swaylock\")\n"
"           (program (file-append swaylock \"/bin/swaylock\"))\n"
"           (using-pam? #t)\n"
"           (using-setuid? #f)))\n"
msgstr ""
"(service screen-locker-service-type\n"
"         (screen-locker-configuration\n"
"           \"xlock\" (file-append xlockmore \"/bin/xlock\") #f))\n"

#. type: deftp
#: guix-git/doc/guix.texi:24666
#, fuzzy, no-wrap
msgid "{Data Type} screen-locker-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:24668
#, fuzzy
msgid "Available @code{screen-locker-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: table
#: guix-git/doc/guix.texi:24672
#, fuzzy
msgid "Name of the screen locker."
msgstr "仓库的纯函数式接口。"

#. type: item
#: guix-git/doc/guix.texi:24673
#, fuzzy, no-wrap
msgid "@code{program} (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:24675
#, fuzzy
msgid "Path to the executable for the screen locker as a G-Expression."
msgstr "屏幕锁定程序的可执行文件路径作为 G 表达式。"

#. type: item
#: guix-git/doc/guix.texi:24676
#, fuzzy, no-wrap
msgid "@code{allow-empty-password?} (default: @code{#f}) (type: boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:24679
#, fuzzy, no-wrap
msgid "@code{using-pam?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:24681
#, fuzzy
msgid "Whether to setup PAM entry."
msgstr "是否设置 PAM 条目。"

#. type: item
#: guix-git/doc/guix.texi:24682
#, fuzzy, no-wrap
msgid "@code{using-setuid?} (default: @code{#t}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:24684
#, fuzzy
msgid "Whether to setup program as setuid binary."
msgstr "用片段,还是用构建阶段。"

#. type: defvar
#: guix-git/doc/guix.texi:24689
#, fuzzy, no-wrap
msgid "startx-command-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:24691
#, fuzzy
msgid "Add @command{startx} to the system profile putting it onto @env{PATH}."
msgstr "将 @command{startx} 添加到系统配置文件中,将其放入 @env{PATH}。"

#. type: defvar
#: guix-git/doc/guix.texi:24695 guix-git/doc/guix.texi:48743
#, fuzzy
msgid "The value for this service is a @code{<xorg-configuration>} object which is passed to the @code{xorg-start-command-xinit} procedure producing the @command{startx} used.  Default value is @code{(xorg-configuration)}."
msgstr "此服务的值是一个 @code{<xorg-configuration>} 对象,该对象传递给 @code{xorg-start-command-xinit} 过程,生成所使用的 @command{startx}。默认值是 @code{(xorg-configuration)}。"

#. type: cindex
#: guix-git/doc/guix.texi:24701
#, fuzzy, no-wrap
msgid "printer support with CUPS"
msgstr "CUPS 的打印机支持"

#. type: Plain text
#: guix-git/doc/guix.texi:24705
#, fuzzy
msgid "The @code{(gnu services cups)} module provides a Guix service definition for the CUPS printing service.  To add printer support to a Guix system, add a @code{cups-service} to the operating system definition:"
msgstr "@code{(gnu services cups)} 模块为 CUPS 打印服务提供了 Guix 服务定义。要向 Guix 系统添加打印机支持,请在操作系统定义中添加 @code{cups-service}:"

#. type: defvar
#: guix-git/doc/guix.texi:24706
#, fuzzy, no-wrap
msgid "cups-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:24710
#, fuzzy
msgid "The service type for the CUPS print server.  Its value should be a valid CUPS configuration (see below).  To use the default settings, simply write:"
msgstr "CUPS 打印服务器的服务类型。其值应为有效的 CUPS 配置(见下文)。要使用默认设置,只需写:"

#. type: lisp
#: guix-git/doc/guix.texi:24712
#, fuzzy, no-wrap
msgid "(service cups-service-type)\n"
msgstr "(service cups-service-type)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:24722
#, fuzzy
msgid "The CUPS configuration controls the basic things about your CUPS installation: what interfaces it listens on, what to do if a print job fails, how much logging to do, and so on.  To actually add a printer, you have to visit the @url{http://localhost:631} URL, or use a tool such as GNOME's printer configuration services.  By default, configuring a CUPS service will generate a self-signed certificate if needed, for secure connections to the print server."
msgstr "CUPS 配置控制您 CUPS 安装的基本内容:它监听的接口、打印作业失败时的处理方式、日志记录的多少等等。要实际添加打印机,您必须访问 @url{http://localhost:631} URL,或使用 GNOME 的打印机配置服务等工具。默认情况下,配置 CUPS 服务将生成自签名证书(如有需要),以便安全连接到打印服务器。"

#. type: Plain text
#: guix-git/doc/guix.texi:24728
#, fuzzy
msgid "Suppose you want to enable the Web interface of CUPS and also add support for Epson printers @i{via} the @code{epson-inkjet-printer-escpr} package and for HP printers @i{via} the @code{hplip-minimal} package.  You can do that directly, like this (you need to use the @code{(gnu packages cups)} module):"
msgstr "假设您想启用 CUPS 的 Web 界面,并且还想通过 @code{epson-inkjet-printer-escpr} 包添加对爱普生打印机的支持,以及通过 @code{hplip-minimal} 包添加对惠普打印机的支持。您可以直接这样做(您需要使用 @code{(gnu packages cups)} 模块):"

#. type: lisp
#: guix-git/doc/guix.texi:24735
#, fuzzy, no-wrap
msgid ""
"(service cups-service-type\n"
"         (cups-configuration\n"
"           (web-interface? #t)\n"
"           (extensions\n"
"             (list cups-filters epson-inkjet-printer-escpr hplip-minimal))))\n"
msgstr ""
"(service cups-service-type\n"
"         (cups-configuration\n"
"           (web-interface? #t)\n"
"           (extensions\n"
"             (list cups-filters epson-inkjet-printer-escpr hplip-minimal))))\n"

#. type: quotation
#: guix-git/doc/guix.texi:24741
#, fuzzy
msgid "If you wish to use the Qt5 based GUI which comes with the hplip package then it is suggested that you install the @code{hplip} package, either in your OS configuration file or as your user."
msgstr "如果您希望使用随 hplip 包提供的基于 Qt5 的 GUI,建议您安装 @code{hplip} 包,无论是在您的操作系统配置文件中还是作为您的用户。"

#. type: Plain text
#: guix-git/doc/guix.texi:24749
#, fuzzy
msgid "The available configuration parameters follow.  Each parameter definition is preceded by its type; for example, @samp{string-list foo} indicates that the @code{foo} parameter should be specified as a list of strings.  There is also a way to specify the configuration as a string, if you have an old @code{cupsd.conf} file that you want to port over from some other system; see the end for more details."
msgstr "可用的配置参数如下。每个参数定义前都有其类型;例如,@samp{string-list foo} 表示 @code{foo} 参数应作为字符串列表指定。如果您有一个旧的 @code{cupsd.conf} 文件,想要从其他系统移植过来,也有一种方法可以将配置指定为字符串;有关更多详细信息,请参见最后部分。"

#. type: Plain text
#: guix-git/doc/guix.texi:24760
#, fuzzy
msgid "Available @code{cups-configuration} fields are:"
msgstr "可用的 @code{cups-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:24761
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} package cups"
msgstr "{@code{cups-configuration} 参数} 包 cups"

#. type: deftypevr
#: guix-git/doc/guix.texi:24763 guix-git/doc/guix.texi:25498
#, fuzzy
msgid "The CUPS package."
msgstr "CUPS 包。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24765
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} package-list extensions (default: @code{(list brlaser cups-filters epson-inkjet-printer-escpr foomatic-filters hplip-minimal splix)})"
msgstr "{@code{cups-configuration} 参数} package-list 扩展 (默认: @code{(list brlaser cups-filters epson-inkjet-printer-escpr foomatic-filters hplip-minimal splix)})"

#. type: deftypevr
#: guix-git/doc/guix.texi:24767
#, fuzzy
msgid "Drivers and other extensions to the CUPS package."
msgstr "CUPS 包的驱动程序和其他扩展。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24769
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} files-configuration files-configuration"
msgstr "{@code{cups-configuration} 参数} files-configuration files-configuration"

#. type: deftypevr
#: guix-git/doc/guix.texi:24772
#, fuzzy
msgid "Configuration of where to write logs, what directories to use for print spools, and related privileged configuration parameters."
msgstr "配置日志写入位置、用于打印缓存的目录以及相关的特权配置参数。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24774
#, fuzzy
msgid "Available @code{files-configuration} fields are:"
msgstr "可用的 @code{files-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:24775
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} log-location access-log"
msgstr "{@code{files-configuration} 参数} log-location access-log"

#. type: deftypevr
#: guix-git/doc/guix.texi:24783
#, fuzzy
msgid "Defines the access log filename.  Specifying a blank filename disables access log generation.  The value @code{stderr} causes log entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run in the background.  The value @code{syslog} causes log entries to be sent to the system log daemon.  The server name may be included in filenames using the string @code{%s}, as in @code{/var/log/cups/%s-access_log}."
msgstr "定义访问日志文件名。指定空文件名会禁用访问日志生成。值 @code{stderr} 会在调度程序在前台运行时将日志条目发送到标准错误文件,或在后台运行时发送到系统日志守护进程。值 @code{syslog} 会将日志条目发送到系统日志守护进程。文件名中可以使用字符串 @code{%s} 包含服务器名称,如 @code{/var/log/cups/%s-access_log}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24785
#, fuzzy
msgid "Defaults to @samp{\"/var/log/cups/access_log\"}."
msgstr "默认为 @samp{\"/var/log/cups/access_log\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24787
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} file-name cache-dir"
msgstr "{@code{files-configuration} 参数} file-name cache-dir"

#. type: deftypevr
#: guix-git/doc/guix.texi:24789
#, fuzzy
msgid "Where CUPS should cache data."
msgstr "CUPS 应该缓存数据的位置。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24791
#, fuzzy
msgid "Defaults to @samp{\"/var/cache/cups\"}."
msgstr "默认为 @samp{\"/var/cache/cups\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24793
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} string config-file-perm"
msgstr "{@code{files-configuration} 参数} string config-file-perm"

#. type: deftypevr
#: guix-git/doc/guix.texi:24796
#, fuzzy
msgid "Specifies the permissions for all configuration files that the scheduler writes."
msgstr "指定调度程序写入的所有配置文件的权限。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24802
#, fuzzy
msgid "Note that the permissions for the printers.conf file are currently masked to only allow access from the scheduler user (typically root).  This is done because printer device URIs sometimes contain sensitive authentication information that should not be generally known on the system.  There is no way to disable this security feature."
msgstr "请注意,printers.conf 文件的权限当前被屏蔽,仅允许调度程序用户(通常是 root)访问。这是因为打印机设备 URI 有时包含敏感的身份验证信息,不应在系统上普遍知晓。没有办法禁用此安全功能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24804
#, fuzzy
msgid "Defaults to @samp{\"0640\"}."
msgstr "默认为 @samp{\"0640\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24806
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} log-location error-log"
msgstr "{@code{files-configuration} 参数} log-location error-log"

#. type: deftypevr
#: guix-git/doc/guix.texi:24814
#, fuzzy
msgid "Defines the error log filename.  Specifying a blank filename disables error log generation.  The value @code{stderr} causes log entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run in the background.  The value @code{syslog} causes log entries to be sent to the system log daemon.  The server name may be included in filenames using the string @code{%s}, as in @code{/var/log/cups/%s-error_log}."
msgstr "定义错误日志文件名。指定空文件名会禁用错误日志生成。值 @code{stderr} 会在调度程序在前台运行时将日志条目发送到标准错误文件,或在后台运行时发送到系统日志守护进程。值 @code{syslog} 会将日志条目发送到系统日志守护进程。文件名中可以使用字符串 @code{%s} 包含服务器名称,如 @code{/var/log/cups/%s-error_log}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24816
#, fuzzy
msgid "Defaults to @samp{\"/var/log/cups/error_log\"}."
msgstr "默认为 @samp{\"/var/log/cups/error_log\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24818
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} string fatal-errors"
msgstr "{@code{files-configuration} 参数} 字符串 fatal-errors"

#. type: deftypevr
#: guix-git/doc/guix.texi:24821
#, fuzzy
msgid "Specifies which errors are fatal, causing the scheduler to exit.  The kind strings are:"
msgstr "指定哪些错误是致命的,导致调度程序退出。错误类型字符串包括:"

#. type: table
#: guix-git/doc/guix.texi:24825
#, fuzzy
msgid "No errors are fatal."
msgstr "没有错误是致命的。"

#. type: table
#: guix-git/doc/guix.texi:24828
#, fuzzy
msgid "All of the errors below are fatal."
msgstr "以下所有错误都是致命的。"

#. type: item
#: guix-git/doc/guix.texi:24829
#, fuzzy, no-wrap
msgid "browse"
msgstr "浏览"

#. type: table
#: guix-git/doc/guix.texi:24832
#, fuzzy
msgid "Browsing initialization errors are fatal, for example failed connections to the DNS-SD daemon."
msgstr "浏览初始化错误是致命的,例如无法连接到 DNS-SD 守护进程。"

#. type: item
#: guix-git/doc/guix.texi:24833
#, fuzzy, no-wrap
msgid "config"
msgstr "配置"

#. type: table
#: guix-git/doc/guix.texi:24835
#, fuzzy
msgid "Configuration file syntax errors are fatal."
msgstr "配置文件语法错误是致命的。"

#. type: item
#: guix-git/doc/guix.texi:24836
#, fuzzy, no-wrap
msgid "listen"
msgstr "监听"

#. type: table
#: guix-git/doc/guix.texi:24839
#, fuzzy
msgid "Listen or Port errors are fatal, except for IPv6 failures on the loopback or @code{any} addresses."
msgstr "监听或端口错误是致命的,除了在回环或 @code{any} 地址上的 IPv6 失败。"

#. type: item
#: guix-git/doc/guix.texi:24840
#, fuzzy, no-wrap
msgid "log"
msgstr "日志"

#. type: table
#: guix-git/doc/guix.texi:24842
#, fuzzy
msgid "Log file creation or write errors are fatal."
msgstr "日志文件创建或写入错误是致命的。"

#. type: item
#: guix-git/doc/guix.texi:24843
#, fuzzy, no-wrap
msgid "permissions"
msgstr "权限"

#. type: table
#: guix-git/doc/guix.texi:24846
#, fuzzy
msgid "Bad startup file permissions are fatal, for example shared TLS certificate and key files with world-read permissions."
msgstr "启动文件权限错误是致命的,例如共享的 TLS 证书和密钥文件具有全局读取权限。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24849
#, fuzzy
msgid "Defaults to @samp{\"all -browse\"}."
msgstr "默认为 @samp{\"all -browse\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24851
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} boolean file-device?"
msgstr "{@code{files-configuration} 参数} 布尔值 file-device?"

#. type: deftypevr
#: guix-git/doc/guix.texi:24854
#, fuzzy
msgid "Specifies whether the file pseudo-device can be used for new printer queues.  The URI @uref{file:///dev/null} is always allowed."
msgstr "指定文件伪设备是否可以用于新的打印队列。URI @uref{file:///dev/null} 始终被允许。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24856 guix-git/doc/guix.texi:24932
#: guix-git/doc/guix.texi:24974 guix-git/doc/guix.texi:24993
#: guix-git/doc/guix.texi:24999 guix-git/doc/guix.texi:25087
#: guix-git/doc/guix.texi:25164 guix-git/doc/guix.texi:25472
#: guix-git/doc/guix.texi:25485 guix-git/doc/guix.texi:27540
#: guix-git/doc/guix.texi:29028 guix-git/doc/guix.texi:29134
#: guix-git/doc/guix.texi:29199 guix-git/doc/guix.texi:29208
#: guix-git/doc/guix.texi:30700 guix-git/doc/guix.texi:30744
#: guix-git/doc/guix.texi:30761 guix-git/doc/guix.texi:30769
#: guix-git/doc/guix.texi:30784 guix-git/doc/guix.texi:30802
#: guix-git/doc/guix.texi:30826 guix-git/doc/guix.texi:30879
#: guix-git/doc/guix.texi:31012 guix-git/doc/guix.texi:31046
#: guix-git/doc/guix.texi:31082 guix-git/doc/guix.texi:31098
#: guix-git/doc/guix.texi:31126 guix-git/doc/guix.texi:31187
#: guix-git/doc/guix.texi:31270 guix-git/doc/guix.texi:36465
#: guix-git/doc/guix.texi:36479 guix-git/doc/guix.texi:36679
#: guix-git/doc/guix.texi:36724 guix-git/doc/guix.texi:36811
#: guix-git/doc/guix.texi:37338 guix-git/doc/guix.texi:37371
#: guix-git/doc/guix.texi:37511 guix-git/doc/guix.texi:37522
#: guix-git/doc/guix.texi:37773 guix-git/doc/guix.texi:39612
#: guix-git/doc/guix.texi:39621 guix-git/doc/guix.texi:39629
#: guix-git/doc/guix.texi:39637 guix-git/doc/guix.texi:39653
#: guix-git/doc/guix.texi:39669 guix-git/doc/guix.texi:39677
#: guix-git/doc/guix.texi:39685 guix-git/doc/guix.texi:39694
#: guix-git/doc/guix.texi:39703 guix-git/doc/guix.texi:39719
#: guix-git/doc/guix.texi:39783 guix-git/doc/guix.texi:39889
#: guix-git/doc/guix.texi:39897 guix-git/doc/guix.texi:39905
#: guix-git/doc/guix.texi:39931 guix-git/doc/guix.texi:39985
#: guix-git/doc/guix.texi:40033 guix-git/doc/guix.texi:40234
#: guix-git/doc/guix.texi:40241
#, fuzzy
msgid "Defaults to @samp{#f}."
msgstr "默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24858
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} string group"
msgstr "{@code{files-configuration} 参数} 字符串 group"

#. type: deftypevr
#: guix-git/doc/guix.texi:24861
#, fuzzy
msgid "Specifies the group name or ID that will be used when executing external programs."
msgstr "指定在执行外部程序时将使用的组名或 ID。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24863 guix-git/doc/guix.texi:24949
#, fuzzy
msgid "Defaults to @samp{\"lp\"}."
msgstr "默认为 @samp{\"lp\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24865
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} string log-file-group"
msgstr "{@code{files-configuration} 参数} 字符串 log-file-group"

#. type: deftypevr
#: guix-git/doc/guix.texi:24867
#, fuzzy
msgid "Specifies the group name or ID that will be used for log files."
msgstr "指定将用于日志文件的组名或 ID。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24869
#, fuzzy
msgid "Defaults to @samp{\"lpadmin\"}."
msgstr "默认为 @samp{\"lpadmin\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24871
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} string log-file-perm"
msgstr "{@code{files-configuration} 参数} 字符串 log-file-perm"

#. type: deftypevr
#: guix-git/doc/guix.texi:24873
#, fuzzy
msgid "Specifies the permissions for all log files that the scheduler writes."
msgstr "指定调度程序写入的所有日志文件的权限。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24875
#, fuzzy
msgid "Defaults to @samp{\"0644\"}."
msgstr "默认为 @samp{\"0644\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24877
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} log-location page-log"
msgstr "{@code{files-configuration} 参数} log-location page-log"

#. type: deftypevr
#: guix-git/doc/guix.texi:24885
#, fuzzy
msgid "Defines the page log filename.  Specifying a blank filename disables page log generation.  The value @code{stderr} causes log entries to be sent to the standard error file when the scheduler is running in the foreground, or to the system log daemon when run in the background.  The value @code{syslog} causes log entries to be sent to the system log daemon.  The server name may be included in filenames using the string @code{%s}, as in @code{/var/log/cups/%s-page_log}."
msgstr "定义页面日志文件名。指定空文件名将禁用页面日志生成。值 @code{stderr} 会在调度程序在前台运行时将日志条目发送到标准错误文件,或在后台运行时发送到系统日志守护进程。值 @code{syslog} 会将日志条目发送到系统日志守护进程。服务器名称可以使用字符串 @code{%s} 包含在文件名中,如 @code{/var/log/cups/%s-page_log}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24887
#, fuzzy
msgid "Defaults to @samp{\"/var/log/cups/page_log\"}."
msgstr "默认为 @samp{\"/var/log/cups/page_log\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24889
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} string remote-root"
msgstr "{@code{files-configuration} 参数} 字符串 remote-root"

#. type: deftypevr
#: guix-git/doc/guix.texi:24892
#, fuzzy
msgid "Specifies the username that is associated with unauthenticated accesses by clients claiming to be the root user.  The default is @code{remroot}."
msgstr "指定与声称为根用户的客户端的未认证访问相关联的用户名。默认值为 @code{remroot}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24894
#, fuzzy
msgid "Defaults to @samp{\"remroot\"}."
msgstr "默认为 @samp{\"remroot\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24896
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} file-name request-root"
msgstr "{@code{files-configuration} 参数} 文件名 request-root"

#. type: deftypevr
#: guix-git/doc/guix.texi:24899
#, fuzzy
msgid "Specifies the directory that contains print jobs and other HTTP request data."
msgstr "指定包含打印作业和其他 HTTP 请求数据的目录。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24901
#, fuzzy
msgid "Defaults to @samp{\"/var/spool/cups\"}."
msgstr "默认为 @samp{\"/var/spool/cups\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24903
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} sandboxing sandboxing"
msgstr "{@code{files-configuration} 参数} sandboxing sandboxing"

#. type: deftypevr
#: guix-git/doc/guix.texi:24908
#, fuzzy
msgid "Specifies the level of security sandboxing that is applied to print filters, backends, and other child processes of the scheduler; either @code{relaxed} or @code{strict}.  This directive is currently only used/supported on macOS."
msgstr "指定应用于打印过滤器、后端和调度程序其他子进程的安全沙箱级别;可以是 @code{relaxed} 或 @code{strict}。此指令目前仅在 macOS 上使用/支持。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24910
#, fuzzy
msgid "Defaults to @samp{strict}."
msgstr "默认为 @samp{strict}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24912
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} file-name server-keychain"
msgstr "{@code{files-configuration} 参数} 文件名 server-keychain"

#. type: deftypevr
#: guix-git/doc/guix.texi:24917
#, fuzzy
msgid "Specifies the location of TLS certificates and private keys.  CUPS will look for public and private keys in this directory: @file{.crt} files for PEM-encoded certificates and corresponding @file{.key} files for PEM-encoded private keys."
msgstr "指定 TLS 证书和私钥的位置。CUPS 将在此目录中查找公钥和私钥:@file{.crt} 文件用于 PEM 编码的证书,相应的 @file{.key} 文件用于 PEM 编码的私钥。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24919
#, fuzzy
msgid "Defaults to @samp{\"/etc/cups/ssl\"}."
msgstr "默认为 @samp{\"/etc/cups/ssl\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24921
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} file-name server-root"
msgstr "{@code{files-configuration} 参数} 文件名 server-root"

#. type: deftypevr
#: guix-git/doc/guix.texi:24923
#, fuzzy
msgid "Specifies the directory containing the server configuration files."
msgstr "指定包含服务器配置文件的目录。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24925
#, fuzzy
msgid "Defaults to @samp{\"/etc/cups\"}."
msgstr "默认为 @samp{\"/etc/cups\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24927
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} boolean sync-on-close?"
msgstr "{@code{files-configuration} 参数} 布尔值 sync-on-close?"

#. type: deftypevr
#: guix-git/doc/guix.texi:24930
#, fuzzy
msgid "Specifies whether the scheduler calls fsync(2) after writing configuration or state files."
msgstr "指定调度程序在写入配置或状态文件后是否调用 fsync(2)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24934
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} space-separated-string-list system-group"
msgstr "{@code{files-configuration} 参数} 空格分隔字符串列表 system-group"

#. type: deftypevr
#: guix-git/doc/guix.texi:24936
#, fuzzy
msgid "Specifies the group(s) to use for @code{@@SYSTEM} group authentication."
msgstr "指定用于 @code{@@SYSTEM} 组身份验证的组。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24938
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} file-name temp-dir"
msgstr "{@code{files-configuration} 参数} 文件名 temp-dir"

#. type: deftypevr
#: guix-git/doc/guix.texi:24940
#, fuzzy
msgid "Specifies the directory where temporary files are stored."
msgstr "指定存储临时文件的目录。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24942
#, fuzzy
msgid "Defaults to @samp{\"/var/spool/cups/tmp\"}."
msgstr "默认为 @samp{\"/var/spool/cups/tmp\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24944
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} string user"
msgstr "{@code{files-configuration} 参数} 字符串 user"

#. type: deftypevr
#: guix-git/doc/guix.texi:24947
#, fuzzy
msgid "Specifies the user name or ID that is used when running external programs."
msgstr "指定在运行外部程序时使用的用户名或 ID。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24951
#, fuzzy, no-wrap
msgid "{@code{files-configuration} parameter} string set-env"
msgstr "{@code{files-configuration} 参数} 字符串 set-env"

#. type: deftypevr
#: guix-git/doc/guix.texi:24953
#, fuzzy
msgid "Set the specified environment variable to be passed to child processes."
msgstr "设置要传递给子进程的指定环境变量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24955
#, fuzzy
msgid "Defaults to @samp{\"variable value\"}."
msgstr "默认为 @samp{\"variable value\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24958
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} access-log-level access-log-level"
msgstr "{@code{cups-configuration} 参数} access-log-level access-log-level"

#. type: deftypevr
#: guix-git/doc/guix.texi:24965
#, fuzzy
msgid "Specifies the logging level for the AccessLog file.  The @code{config} level logs when printers and classes are added, deleted, or modified and when configuration files are accessed or updated.  The @code{actions} level logs when print jobs are submitted, held, released, modified, or canceled, and any of the conditions for @code{config}.  The @code{all} level logs all requests."
msgstr "指定 AccessLog 文件的日志级别。@code{config} 级别记录添加、删除或修改打印机和类时的日志,以及访问或更新配置文件时的日志。@code{actions} 级别记录提交、保留、释放、修改或取消打印作业时的日志,以及 @code{config} 的任何条件。@code{all} 级别记录所有请求。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24967
#, fuzzy
msgid "Defaults to @samp{actions}."
msgstr "默认为 @samp{actions}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24969
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} boolean auto-purge-jobs?"
msgstr "{@code{cups-configuration} 参数} 布尔值 auto-purge-jobs?"

#. type: deftypevr
#: guix-git/doc/guix.texi:24972
#, fuzzy
msgid "Specifies whether to purge job history data automatically when it is no longer required for quotas."
msgstr "指定是否在不再需要配额时自动清除作业历史数据。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24976
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} comma-separated-string-list browse-dns-sd-sub-types"
msgstr "{@code{cups-configuration} 参数} 逗号分隔字符串列表 browse-dns-sd-sub-types"

#. type: deftypevr
#: guix-git/doc/guix.texi:24978
#, fuzzy
msgid "Specifies a list of DNS-SD sub-types to advertise for each shared printer."
msgstr "指定要为每个共享打印机宣传的 DNS-SD 子类型列表。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24981
#, fuzzy
msgid "The default @samp{(list \"_cups\" \"_print\" \"_universal\")} tells clients that CUPS sharing, IPP Everywhere, AirPrint, and Mopria are supported."
msgstr "默认 @samp{(list \"_cups\" \"_print\" \"_universal\")} 告诉客户端支持 CUPS 共享、IPP Everywhere、AirPrint 和 Mopria。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24983
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} browse-local-protocols browse-local-protocols"
msgstr "{@code{cups-configuration} 参数} browse-local-protocols browse-local-protocols"

#. type: deftypevr
#: guix-git/doc/guix.texi:24985
#, fuzzy
msgid "Specifies which protocols to use for local printer sharing."
msgstr "指定用于本地打印机共享的协议。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24987
#, fuzzy
msgid "Defaults to @samp{dnssd}."
msgstr "默认为 @samp{dnssd}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24989
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} boolean browse-web-if?"
msgstr "{@code{cups-configuration} 参数} 布尔值 browse-web-if?"

#. type: deftypevr
#: guix-git/doc/guix.texi:24991
#, fuzzy
msgid "Specifies whether the CUPS web interface is advertised."
msgstr "指定是否宣传 CUPS Web 界面。"

#. type: deftypevr
#: guix-git/doc/guix.texi:24995
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} boolean browsing?"
msgstr "{@code{cups-configuration} 参数} 布尔值 browsing?"

#. type: deftypevr
#: guix-git/doc/guix.texi:24997
#, fuzzy
msgid "Specifies whether shared printers are advertised."
msgstr "指定是否宣传共享打印机。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25001
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} default-auth-type default-auth-type"
msgstr "{@code{cups-configuration} 参数} default-auth-type default-auth-type"

#. type: deftypevr
#: guix-git/doc/guix.texi:25003
#, fuzzy
msgid "Specifies the default type of authentication to use."
msgstr "指定要使用的默认身份验证类型。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25005
#, fuzzy
msgid "Defaults to @samp{Basic}."
msgstr "默认为 @samp{Basic}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25007
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} default-encryption default-encryption"
msgstr "{@code{cups-configuration} 参数} default-encryption default-encryption"

#. type: deftypevr
#: guix-git/doc/guix.texi:25009
#, fuzzy
msgid "Specifies whether encryption will be used for authenticated requests."
msgstr "指定是否对经过身份验证的请求使用加密。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25011
#, fuzzy
msgid "Defaults to @samp{Required}."
msgstr "默认为 @samp{Required}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25013
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} string default-language"
msgstr "{@code{cups-configuration} 参数} 字符串 default-language"

#. type: deftypevr
#: guix-git/doc/guix.texi:25015
#, fuzzy
msgid "Specifies the default language to use for text and web content."
msgstr "指定用于文本和 Web 内容的默认语言。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25017
#, fuzzy
msgid "Defaults to @samp{\"en\"}."
msgstr "默认为 @samp{\"en\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25019
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} string default-paper-size"
msgstr "{@code{cups-configuration} 参数} 字符串 default-paper-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:25024
#, fuzzy
msgid "Specifies the default paper size for new print queues.  @samp{\"Auto\"} uses a locale-specific default, while @samp{\"None\"} specifies there is no default paper size.  Specific size names are typically @samp{\"Letter\"} or @samp{\"A4\"}."
msgstr "指定新打印队列的默认纸张大小。 @samp{\"Auto\"} 使用特定于区域的默认值,而 @samp{\"None\"} 指定没有默认纸张大小。具体的大小名称通常是 @samp{\"Letter\"} 或 @samp{\"A4\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25026
#, fuzzy
msgid "Defaults to @samp{\"Auto\"}."
msgstr "默认为 @samp{\"Auto\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25028
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} string default-policy"
msgstr "{@code{cups-configuration} 参数} 字符串 default-policy"

#. type: deftypevr
#: guix-git/doc/guix.texi:25030
#, fuzzy
msgid "Specifies the default access policy to use."
msgstr "指定要使用的默认访问策略。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25032
#, fuzzy
msgid "Defaults to @samp{\"default\"}."
msgstr "默认为 @samp{\"default\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25034
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} boolean default-shared?"
msgstr "{@code{cups-configuration} 参数} 布尔值 default-shared?"

#. type: deftypevr
#: guix-git/doc/guix.texi:25036
#, fuzzy
msgid "Specifies whether local printers are shared by default."
msgstr "指定本地打印机是否默认共享。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25038 guix-git/doc/guix.texi:25118
#: guix-git/doc/guix.texi:25388 guix-git/doc/guix.texi:29125
#: guix-git/doc/guix.texi:29176 guix-git/doc/guix.texi:29183
#: guix-git/doc/guix.texi:30724 guix-git/doc/guix.texi:30912
#: guix-git/doc/guix.texi:31029 guix-git/doc/guix.texi:31065
#: guix-git/doc/guix.texi:31116 guix-git/doc/guix.texi:31135
#: guix-git/doc/guix.texi:31145 guix-git/doc/guix.texi:31155
#: guix-git/doc/guix.texi:31214 guix-git/doc/guix.texi:31236
#: guix-git/doc/guix.texi:31261 guix-git/doc/guix.texi:31287
#: guix-git/doc/guix.texi:31305 guix-git/doc/guix.texi:36332
#: guix-git/doc/guix.texi:36472 guix-git/doc/guix.texi:36686
#: guix-git/doc/guix.texi:36693 guix-git/doc/guix.texi:36715
#: guix-git/doc/guix.texi:36754 guix-git/doc/guix.texi:36774
#: guix-git/doc/guix.texi:36788 guix-git/doc/guix.texi:37326
#: guix-git/doc/guix.texi:39557 guix-git/doc/guix.texi:39645
#: guix-git/doc/guix.texi:39661 guix-git/doc/guix.texi:39711
#, fuzzy
msgid "Defaults to @samp{#t}."
msgstr "默认为 @samp{#t}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25040
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer dirty-clean-interval"
msgstr "{@code{cups-configuration} 参数} 非负整数 dirty-clean-interval"

#. type: deftypevr
#: guix-git/doc/guix.texi:25044
#, fuzzy
msgid "Specifies the delay for updating of configuration and state files, in seconds.  A value of 0 causes the update to happen as soon as possible, typically within a few milliseconds."
msgstr "指定配置和状态文件更新的延迟,单位为秒。值为0会导致更新尽快发生,通常在几毫秒内。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25046 guix-git/doc/guix.texi:25094
#: guix-git/doc/guix.texi:25103 guix-git/doc/guix.texi:25406
#: guix-git/doc/guix.texi:31074 guix-git/doc/guix.texi:31107
#, fuzzy
msgid "Defaults to @samp{30}."
msgstr "默认为 @samp{30}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25048
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} error-policy error-policy"
msgstr "{@code{cups-configuration} 参数} error-policy error-policy"

#. type: deftypevr
#: guix-git/doc/guix.texi:25054
#, fuzzy
msgid "Specifies what to do when an error occurs.  Possible values are @code{abort-job}, which will discard the failed print job; @code{retry-job}, which will retry the job at a later time; @code{retry-current-job}, which retries the failed job immediately; and @code{stop-printer}, which stops the printer."
msgstr "指定发生错误时的处理方式。可能的值有 @code{abort-job},这将丢弃失败的打印作业;@code{retry-job},这将在稍后时间重试作业;@code{retry-current-job},这将立即重试失败的作业;以及 @code{stop-printer},这将停止打印机。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25056
#, fuzzy
msgid "Defaults to @samp{stop-printer}."
msgstr "默认为 @samp{stop-printer}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25058
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer filter-limit"
msgstr "{@code{cups-configuration} 参数} 非负整数 filter-limit"

#. type: deftypevr
#: guix-git/doc/guix.texi:25066
#, fuzzy
msgid "Specifies the maximum cost of filters that are run concurrently, which can be used to minimize disk, memory, and CPU resource problems.  A limit of 0 disables filter limiting.  An average print to a non-PostScript printer needs a filter limit of about 200.  A PostScript printer needs about half that (100).  Setting the limit below these thresholds will effectively limit the scheduler to printing a single job at any time."
msgstr "指定同时运行的过滤器的最大成本,可用于最小化磁盘、内存和 CPU 资源问题。限制为0将禁用过滤器限制。对非 PostScript 打印机的平均打印需要约 200 的过滤器限制。PostScript 打印机需要大约一半(100)。将限制设置低于这些阈值将有效限制调度程序在任何时候只能打印一个作业。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25068 guix-git/doc/guix.texi:25076
#: guix-git/doc/guix.texi:25125 guix-git/doc/guix.texi:25230
#: guix-git/doc/guix.texi:25244 guix-git/doc/guix.texi:25251
#: guix-git/doc/guix.texi:25272 guix-git/doc/guix.texi:25280
#: guix-git/doc/guix.texi:25288 guix-git/doc/guix.texi:25296
#: guix-git/doc/guix.texi:27670 guix-git/doc/guix.texi:27686
#: guix-git/doc/guix.texi:28343 guix-git/doc/guix.texi:28355
#: guix-git/doc/guix.texi:29144 guix-git/doc/guix.texi:29153
#: guix-git/doc/guix.texi:29161 guix-git/doc/guix.texi:29169
#: guix-git/doc/guix.texi:36348 guix-git/doc/guix.texi:36701
#: guix-git/doc/guix.texi:39550 guix-git/doc/guix.texi:39850
#: guix-git/doc/guix.texi:40025
#, fuzzy
msgid "Defaults to @samp{0}."
msgstr "默认为 @samp{0}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25070
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer filter-nice"
msgstr "{@code{cups-configuration} 参数} 非负整数 filter-nice"

#. type: deftypevr
#: guix-git/doc/guix.texi:25074
#, fuzzy
msgid "Specifies the scheduling priority of filters that are run to print a job.  The nice value ranges from 0, the highest priority, to 19, the lowest priority."
msgstr "指定运行以打印作业的过滤器的调度优先级。nice 值范围从 0(最高优先级)到 19(最低优先级)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25078
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} host-name-lookups host-name-lookups"
msgstr "{@code{cups-configuration} 参数} host-name-lookups host-name-lookups"

#. type: deftypevr
#: guix-git/doc/guix.texi:25085
#, fuzzy
msgid "Specifies whether to do reverse lookups on connecting clients.  The @code{double} setting causes @code{cupsd} to verify that the hostname resolved from the address matches one of the addresses returned for that hostname.  Double lookups also prevent clients with unregistered addresses from connecting to your server.  Only set this option to @code{#t} or @code{double} if absolutely required."
msgstr "指定是否对连接的客户端进行反向查找。@code{double} 设置会导致 @code{cupsd} 验证从地址解析的主机名是否与该主机名返回的地址之一匹配。双重查找还会阻止未注册地址的客户端连接到您的服务器。仅在绝对必要时将此选项设置为 @code{#t} 或 @code{double}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25089
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer job-kill-delay"
msgstr "{@code{cups-configuration} 参数} 非负整数 job-kill-delay"

#. type: deftypevr
#: guix-git/doc/guix.texi:25092
#, fuzzy
msgid "Specifies the number of seconds to wait before killing the filters and backend associated with a canceled or held job."
msgstr "指定在取消或保留作业之前等待的秒数,以杀死与之关联的过滤器和后端。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25096
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer job-retry-interval"
msgstr "{@code{cups-configuration} 参数} 非负整数 job-retry-interval"

#. type: deftypevr
#: guix-git/doc/guix.texi:25101
#, fuzzy
msgid "Specifies the interval between retries of jobs in seconds.  This is typically used for fax queues but can also be used with normal print queues whose error policy is @code{retry-job} or @code{retry-current-job}."
msgstr "指定作业重试间隔(以秒为单位)。这通常用于传真队列,但也可以用于错误策略为@code{retry-job}或@code{retry-current-job}的普通打印队列。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25105
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer job-retry-limit"
msgstr "{@code{cups-configuration} 参数} 非负整数 job-retry-limit"

#. type: deftypevr
#: guix-git/doc/guix.texi:25110
#, fuzzy
msgid "Specifies the number of retries that are done for jobs.  This is typically used for fax queues but can also be used with normal print queues whose error policy is @code{retry-job} or @code{retry-current-job}."
msgstr "指定作业的重试次数。这通常用于传真队列,但也可以用于错误策略为@code{retry-job}或@code{retry-current-job}的普通打印队列。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25112 guix-git/doc/guix.texi:31038
#: guix-git/doc/guix.texi:37578 guix-git/doc/guix.texi:37598
#: guix-git/doc/guix.texi:37614 guix-git/doc/guix.texi:37628
#: guix-git/doc/guix.texi:37635 guix-git/doc/guix.texi:37642
#: guix-git/doc/guix.texi:37649 guix-git/doc/guix.texi:37809
#: guix-git/doc/guix.texi:37825 guix-git/doc/guix.texi:37832
#: guix-git/doc/guix.texi:37839 guix-git/doc/guix.texi:37850
#: guix-git/doc/guix.texi:39502 guix-git/doc/guix.texi:39510
#: guix-git/doc/guix.texi:39518 guix-git/doc/guix.texi:39542
#, fuzzy
msgid "Defaults to @samp{5}."
msgstr "默认为@samp{5}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25114
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} boolean keep-alive?"
msgstr "{@code{cups-configuration} 参数} 布尔值 keep-alive?"

#. type: deftypevr
#: guix-git/doc/guix.texi:25116
#, fuzzy
msgid "Specifies whether to support HTTP keep-alive connections."
msgstr "指定是否支持HTTP保持连接。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25120
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer limit-request-body"
msgstr "{@code{cups-configuration} 参数} 非负整数 limit-request-body"

#. type: deftypevr
#: guix-git/doc/guix.texi:25123
#, fuzzy
msgid "Specifies the maximum size of print files, IPP requests, and HTML form data.  A limit of 0 disables the limit check."
msgstr "指定打印文件、IPP请求和HTML表单数据的最大大小。限制为0将禁用限制检查。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25127
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} multiline-string-list listen"
msgstr "{@code{cups-configuration} 参数} 多行字符串列表 listen"

#. type: deftypevr
#: guix-git/doc/guix.texi:25134
#, fuzzy
msgid "Listens on the specified interfaces for connections.  Valid values are of the form @var{address}:@var{port}, where @var{address} is either an IPv6 address enclosed in brackets, an IPv4 address, or @code{*} to indicate all addresses.  Values can also be file names of local UNIX domain sockets.  The Listen directive is similar to the Port directive but allows you to restrict access to specific interfaces or networks."
msgstr "在指定接口上监听连接。有效值的形式为@var{address}:@var{port},其中@var{address}可以是用括号括起来的IPv6地址、IPv4地址,或@code{*}表示所有地址。值也可以是本地UNIX域套接字的文件名。Listen指令类似于Port指令,但允许您限制对特定接口或网络的访问。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25136
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} location-access-control-list location-access-controls"
msgstr "{@code{cups-configuration} 参数} 位置访问控制列表 location-access-controls"

#. type: deftypevr
#: guix-git/doc/guix.texi:25138
#, fuzzy
msgid "Specifies a set of additional access controls."
msgstr "指定一组额外的访问控制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25140
#, fuzzy
msgid "Available @code{location-access-controls} fields are:"
msgstr "可用的@code{location-access-controls}字段包括:"

#. type: deftypevr
#: guix-git/doc/guix.texi:25141
#, fuzzy, no-wrap
msgid "{@code{location-access-controls} parameter} file-name path"
msgstr "{@code{location-access-controls} 参数} 文件名 path"

#. type: deftypevr
#: guix-git/doc/guix.texi:25143
#, fuzzy
msgid "Specifies the URI path to which the access control applies."
msgstr "指定访问控制适用的URI路径。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25145
#, fuzzy, no-wrap
msgid "{@code{location-access-controls} parameter} access-control-list access-controls"
msgstr "{@code{location-access-controls} 参数} 访问控制列表 access-controls"

#. type: deftypevr
#: guix-git/doc/guix.texi:25148
#, fuzzy
msgid "Access controls for all access to this path, in the same format as the @code{access-controls} of @code{operation-access-control}."
msgstr "对该路径的所有访问控制,格式与@code{operation-access-control}的@code{access-controls}相同。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25150 guix-git/doc/guix.texi:25156
#: guix-git/doc/guix.texi:25170 guix-git/doc/guix.texi:25177
#: guix-git/doc/guix.texi:25310 guix-git/doc/guix.texi:25369
#: guix-git/doc/guix.texi:25451 guix-git/doc/guix.texi:25465
#: guix-git/doc/guix.texi:27550 guix-git/doc/guix.texi:27559
#: guix-git/doc/guix.texi:28829 guix-git/doc/guix.texi:29042
#: guix-git/doc/guix.texi:29070 guix-git/doc/guix.texi:29100
#: guix-git/doc/guix.texi:29215 guix-git/doc/guix.texi:29228
#: guix-git/doc/guix.texi:29235 guix-git/doc/guix.texi:31244
#: guix-git/doc/guix.texi:32319 guix-git/doc/guix.texi:32327
#: guix-git/doc/guix.texi:32572 guix-git/doc/guix.texi:37469
#: guix-git/doc/guix.texi:37529 guix-git/doc/guix.texi:37537
#: guix-git/doc/guix.texi:39565 guix-git/doc/guix.texi:39572
#: guix-git/doc/guix.texi:39914 guix-git/doc/guix.texi:39993
#: guix-git/doc/guix.texi:40087 guix-git/doc/guix.texi:40095
#: guix-git/doc/guix.texi:40131 guix-git/doc/guix.texi:40281
#: guix-git/doc/guix.texi:40332 guix-git/doc/guix.texi:40341
#, fuzzy
msgid "Defaults to @samp{'()}."
msgstr "默认为@samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25152
#, fuzzy, no-wrap
msgid "{@code{location-access-controls} parameter} method-access-control-list method-access-controls"
msgstr "{@code{location-access-controls} 参数} 方法访问控制列表 method-access-controls"

#. type: deftypevr
#: guix-git/doc/guix.texi:25154
#, fuzzy
msgid "Access controls for method-specific access to this path."
msgstr "对该路径的特定方法访问控制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25158
#, fuzzy
msgid "Available @code{method-access-controls} fields are:"
msgstr "可用的@code{method-access-controls}字段包括:"

#. type: deftypevr
#: guix-git/doc/guix.texi:25159
#, fuzzy, no-wrap
msgid "{@code{method-access-controls} parameter} boolean reverse?"
msgstr "{@code{method-access-controls} 参数} 布尔值 reverse?"

#. type: deftypevr
#: guix-git/doc/guix.texi:25162
#, fuzzy
msgid "If @code{#t}, apply access controls to all methods except the listed methods.  Otherwise apply to only the listed methods."
msgstr "如果 @code{#t},则将访问控制应用于除列出的方法之外的所有方法。否则,仅应用于列出的方法。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25166
#, fuzzy, no-wrap
msgid "{@code{method-access-controls} parameter} method-list methods"
msgstr "{@code{method-access-controls} 参数} 方法列表 methods"

#. type: deftypevr
#: guix-git/doc/guix.texi:25168
#, fuzzy
msgid "Methods to which this access control applies."
msgstr "此访问控制适用的方法。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25172
#, fuzzy, no-wrap
msgid "{@code{method-access-controls} parameter} access-control-list access-controls"
msgstr "{@code{method-access-controls} 参数} 访问控制列表 access-controls"

#. type: deftypevr
#: guix-git/doc/guix.texi:25175
#, fuzzy
msgid "Access control directives, as a list of strings.  Each string should be one directive, such as @samp{\"Order allow,deny\"}."
msgstr "访问控制指令,作为字符串列表。每个字符串应为一个指令,例如 @samp{\"Order allow,deny\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25181
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer log-debug-history"
msgstr "{@code{cups-configuration} 参数} 非负整数 log-debug-history"

#. type: deftypevr
#: guix-git/doc/guix.texi:25185
#, fuzzy
msgid "Specifies the number of debugging messages that are retained for logging if an error occurs in a print job.  Debug messages are logged regardless of the LogLevel setting."
msgstr "指定在打印作业发生错误时保留的调试消息数量。调试消息无论 LogLevel 设置如何都会被记录。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25187 guix-git/doc/guix.texi:25208
#: guix-git/doc/guix.texi:25215 guix-git/doc/guix.texi:28589
#: guix-git/doc/guix.texi:30776 guix-git/doc/guix.texi:30791
#, fuzzy
msgid "Defaults to @samp{100}."
msgstr "默认为 @samp{100}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25189
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} log-level log-level"
msgstr "{@code{cups-configuration} 参数} 日志级别 log-level"

#. type: deftypevr
#: guix-git/doc/guix.texi:25192
#, fuzzy
msgid "Specifies the level of logging for the ErrorLog file.  The value @code{none} stops all logging while @code{debug2} logs everything."
msgstr "指定 ErrorLog 文件的日志记录级别。值 @code{none} 停止所有日志记录,而 @code{debug2} 记录所有内容。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25194 guix-git/doc/guix.texi:31253
#, fuzzy
msgid "Defaults to @samp{info}."
msgstr "默认为 @samp{info}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25196
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} log-time-format log-time-format"
msgstr "{@code{cups-configuration} 参数} 日志时间格式 log-time-format"

#. type: deftypevr
#: guix-git/doc/guix.texi:25199
#, fuzzy
msgid "Specifies the format of the date and time in the log files.  The value @code{standard} logs whole seconds while @code{usecs} logs microseconds."
msgstr "指定日志文件中日期和时间的格式。值 @code{standard} 记录整秒,而 @code{usecs} 记录微秒。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25201
#, fuzzy
msgid "Defaults to @samp{standard}."
msgstr "默认为 @samp{standard}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25203
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-clients"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-clients"

#. type: deftypevr
#: guix-git/doc/guix.texi:25206
#, fuzzy
msgid "Specifies the maximum number of simultaneous clients that are allowed by the scheduler."
msgstr "指定调度程序允许的最大同时客户端数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25210
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-clients-per-host"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-clients-per-host"

#. type: deftypevr
#: guix-git/doc/guix.texi:25213
#, fuzzy
msgid "Specifies the maximum number of simultaneous clients that are allowed from a single address."
msgstr "指定来自单个地址的最大同时客户端数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25217
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-copies"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-copies"

#. type: deftypevr
#: guix-git/doc/guix.texi:25220
#, fuzzy
msgid "Specifies the maximum number of copies that a user can print of each job."
msgstr "指定用户可以打印的每个作业的最大副本数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25222
#, fuzzy
msgid "Defaults to @samp{9999}."
msgstr "默认为 @samp{9999}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25224
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-hold-time"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-hold-time"

#. type: deftypevr
#: guix-git/doc/guix.texi:25228
#, fuzzy
msgid "Specifies the maximum time a job may remain in the @code{indefinite} hold state before it is canceled.  A value of 0 disables cancellation of held jobs."
msgstr "指定作业在 @code{indefinite} 保留状态下可以保持的最长时间,超过该时间将被取消。值为 0 禁用对保留作业的取消。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25232
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-jobs"

#. type: deftypevr
#: guix-git/doc/guix.texi:25235
#, fuzzy
msgid "Specifies the maximum number of simultaneous jobs that are allowed.  Set to 0 to allow an unlimited number of jobs."
msgstr "指定允许的最大同时作业数量。设置为 0 以允许无限数量的作业。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25237
#, fuzzy
msgid "Defaults to @samp{500}."
msgstr "默认为 @samp{500}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25239
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs-per-printer"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-jobs-per-printer"

#. type: deftypevr
#: guix-git/doc/guix.texi:25242
#, fuzzy
msgid "Specifies the maximum number of simultaneous jobs that are allowed per printer.  A value of 0 allows up to @code{max-jobs} per printer."
msgstr "指定每个打印机允许的最大同时作业数。值为 0 允许每个打印机最多 @code{max-jobs}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25246
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs-per-user"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-jobs-per-user"

#. type: deftypevr
#: guix-git/doc/guix.texi:25249
#, fuzzy
msgid "Specifies the maximum number of simultaneous jobs that are allowed per user.  A value of 0 allows up to @code{max-jobs} per user."
msgstr "指定每个用户允许的最大同时作业数。值为 0 允许每个用户最多 @code{max-jobs}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25253
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-job-time"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-job-time"

#. type: deftypevr
#: guix-git/doc/guix.texi:25256
#, fuzzy
msgid "Specifies the maximum time a job may take to print before it is canceled, in seconds.  Set to 0 to disable cancellation of ``stuck'' jobs."
msgstr "指定作业在被取消之前可以打印的最大时间(以秒为单位)。设置为 0 以禁用取消“卡住”的作业。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25258
#, fuzzy
msgid "Defaults to @samp{10800}."
msgstr "默认为 @samp{10800}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25260
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-log-size"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-log-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:25263
#, fuzzy
msgid "Specifies the maximum size of the log files before they are rotated, in bytes.  The value 0 disables log rotation."
msgstr "指定日志文件在旋转之前的最大大小(以字节为单位)。值为 0 禁用日志旋转。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25265
#, fuzzy
msgid "Defaults to @samp{1048576}."
msgstr "默认为 @samp{1048576}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25267
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-subscriptions"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-subscriptions"

#. type: deftypevr
#: guix-git/doc/guix.texi:25270
#, fuzzy
msgid "Specifies the maximum number of simultaneous event subscriptions that are allowed.  Set to @samp{0} to allow an unlimited number of subscriptions."
msgstr "指定允许的最大同时事件订阅数。设置为 @samp{0} 以允许无限数量的订阅。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25274
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-subscriptions-per-job"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-subscriptions-per-job"

#. type: deftypevr
#: guix-git/doc/guix.texi:25278
#, fuzzy
msgid "Specifies the maximum number of simultaneous event subscriptions that are allowed per job.  A value of @samp{0} allows up to @code{max-subscriptions} per job."
msgstr "指定每个作业允许的最大同时事件订阅数。值为 @samp{0} 允许每个作业最多 @code{max-subscriptions}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25282
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-subscriptions-per-printer"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-subscriptions-per-printer"

#. type: deftypevr
#: guix-git/doc/guix.texi:25286
#, fuzzy
msgid "Specifies the maximum number of simultaneous event subscriptions that are allowed per printer.  A value of @samp{0} allows up to @code{max-subscriptions} per printer."
msgstr "指定每个打印机允许的最大同时事件订阅数。值为 @samp{0} 允许每个打印机最多 @code{max-subscriptions}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25290
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer max-subscriptions-per-user"
msgstr "{@code{cups-configuration} 参数} 非负整数 max-subscriptions-per-user"

#. type: deftypevr
#: guix-git/doc/guix.texi:25294
#, fuzzy
msgid "Specifies the maximum number of simultaneous event subscriptions that are allowed per user.  A value of @samp{0} allows up to @code{max-subscriptions} per user."
msgstr "指定每个用户允许的最大同时事件订阅数。值为 @samp{0} 允许每个用户最多 @code{max-subscriptions}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25298
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer multiple-operation-timeout"
msgstr "{@code{cups-configuration} 参数} 非负整数 multiple-operation-timeout"

#. type: deftypevr
#: guix-git/doc/guix.texi:25301
#, fuzzy
msgid "Specifies the maximum amount of time to allow between files in a multiple file print job, in seconds."
msgstr "指定在多个文件打印作业中允许的文件之间的最大时间(以秒为单位)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25303 guix-git/doc/guix.texi:25478
#, fuzzy
msgid "Defaults to @samp{900}."
msgstr "默认为 @samp{900}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25305
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} environment-variables environment-variables"
msgstr "{@code{cups-configuration} 参数} 环境变量 环境变量"

#. type: deftypevr
#: guix-git/doc/guix.texi:25308
#, fuzzy
msgid "Passes the specified environment variable(s) to child processes; a list of strings."
msgstr "将指定的环境变量传递给子进程;字符串列表。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25312
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} policy-configuration-list policies"
msgstr "{@code{cups-configuration} 参数} 策略配置列表 政策"

#. type: deftypevr
#: guix-git/doc/guix.texi:25314
#, fuzzy
msgid "Specifies named access control policies."
msgstr "指定命名的访问控制策略。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25316
#, fuzzy
msgid "Available @code{policy-configuration} fields are:"
msgstr "可用的 @code{policy-configuration} 字段包括:"

#. type: deftypevr
#: guix-git/doc/guix.texi:25317
#, fuzzy, no-wrap
msgid "{@code{policy-configuration} parameter} string name"
msgstr "{@code{policy-configuration} 参数} 字符串名称"

#. type: deftypevr
#: guix-git/doc/guix.texi:25319
#, fuzzy
msgid "Name of the policy."
msgstr "策略的名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25321
#, fuzzy, no-wrap
msgid "{@code{policy-configuration} parameter} string job-private-access"
msgstr "{@code{policy-configuration} 参数} 字符串作业私有访问"

#. type: deftypevr
#: guix-git/doc/guix.texi:25331
#, fuzzy
msgid "Specifies an access list for a job's private values.  @code{@@ACL} maps to the printer's requesting-user-name-allowed or requesting-user-name-denied values.  @code{@@OWNER} maps to the job's owner.  @code{@@SYSTEM} maps to the groups listed for the @code{system-group} field of the @code{files-configuration}, which is reified into the @code{cups-files.conf(5)} file.  Other possible elements of the access list include specific user names, and @code{@@@var{group}} to indicate members of a specific group.  The access list may also be simply @code{all} or @code{default}."
msgstr "指定作业私有值的访问列表。 @code{@@ACL} 映射到打印机的请求用户名称允许或请求用户名称拒绝值。 @code{@@OWNER} 映射到作业的所有者。 @code{@@SYSTEM} 映射到 @code{files-configuration} 的 @code{system-group} 字段中列出的组,该字段在 @code{cups-files.conf(5)} 文件中实现。 访问列表的其他可能元素包括特定用户名,以及 @code{@@@var{group}} 以指示特定组的成员。 访问列表也可以简单地是 @code{all} 或 @code{default}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25333 guix-git/doc/guix.texi:25355
#, fuzzy
msgid "Defaults to @samp{\"@@OWNER @@SYSTEM\"}."
msgstr "默认为 @samp{\"@@OWNER @@SYSTEM\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25335
#, fuzzy, no-wrap
msgid "{@code{policy-configuration} parameter} string job-private-values"
msgstr "{@code{policy-configuration} 参数} 字符串作业私有值"

#. type: deftypevr
#: guix-git/doc/guix.texi:25338 guix-git/doc/guix.texi:25360
#, fuzzy
msgid "Specifies the list of job values to make private, or @code{all}, @code{default}, or @code{none}."
msgstr "指定要私有化的作业值列表,或 @code{all}、@code{default} 或 @code{none}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25341
#, fuzzy
msgid "Defaults to @samp{\"job-name job-originating-host-name job-originating-user-name phone\"}."
msgstr "默认为 @samp{\"job-name job-originating-host-name job-originating-user-name phone\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25343
#, fuzzy, no-wrap
msgid "{@code{policy-configuration} parameter} string subscription-private-access"
msgstr "{@code{policy-configuration} 参数} 字符串订阅私有访问"

#. type: deftypevr
#: guix-git/doc/guix.texi:25353
#, fuzzy
msgid "Specifies an access list for a subscription's private values.  @code{@@ACL} maps to the printer's requesting-user-name-allowed or requesting-user-name-denied values.  @code{@@OWNER} maps to the job's owner.  @code{@@SYSTEM} maps to the groups listed for the @code{system-group} field of the @code{files-configuration}, which is reified into the @code{cups-files.conf(5)} file.  Other possible elements of the access list include specific user names, and @code{@@@var{group}} to indicate members of a specific group.  The access list may also be simply @code{all} or @code{default}."
msgstr "指定订阅私有值的访问列表。 @code{@@ACL} 映射到打印机的请求用户名称允许或请求用户名称拒绝值。 @code{@@OWNER} 映射到作业的所有者。 @code{@@SYSTEM} 映射到 @code{files-configuration} 的 @code{system-group} 字段中列出的组,该字段在 @code{cups-files.conf(5)} 文件中实现。 访问列表的其他可能元素包括特定用户名,以及 @code{@@@var{group}} 以指示特定组的成员。 访问列表也可以简单地是 @code{all} 或 @code{default}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25357
#, fuzzy, no-wrap
msgid "{@code{policy-configuration} parameter} string subscription-private-values"
msgstr "{@code{policy-configuration} 参数} 字符串订阅私有值"

#. type: deftypevr
#: guix-git/doc/guix.texi:25363
#, fuzzy
msgid "Defaults to @samp{\"notify-events notify-pull-method notify-recipient-uri notify-subscriber-user-name notify-user-data\"}."
msgstr "默认为 @samp{\"notify-events notify-pull-method notify-recipient-uri notify-subscriber-user-name notify-user-data\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25365
#, fuzzy, no-wrap
msgid "{@code{policy-configuration} parameter} operation-access-control-list access-controls"
msgstr "{@code{policy-configuration} 参数} 操作访问控制列表 access-controls"

#. type: deftypevr
#: guix-git/doc/guix.texi:25367
#, fuzzy
msgid "Access control by IPP operation."
msgstr "按IPP操作进行访问控制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25372
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-files"
msgstr "{@code{cups-configuration} 参数} 布尔值或非负整数 preserve-job-files"

#. type: deftypevr
#: guix-git/doc/guix.texi:25377
#, fuzzy
msgid "Specifies whether job files (documents) are preserved after a job is printed.  If a numeric value is specified, job files are preserved for the indicated number of seconds after printing.  Otherwise a boolean value applies indefinitely."
msgstr "指定在作业打印后是否保留作业文件(文档)。如果指定了数字值,则作业文件将在打印后保留指定的秒数。否则,布尔值将无限期适用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25379
#, fuzzy
msgid "Defaults to @samp{86400}."
msgstr "默认为 @samp{86400}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25381
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-history"
msgstr "{@code{cups-configuration} 参数} 布尔值或非负整数 preserve-job-history"

#. type: deftypevr
#: guix-git/doc/guix.texi:25386
#, fuzzy
msgid "Specifies whether the job history is preserved after a job is printed.  If a numeric value is specified, the job history is preserved for the indicated number of seconds after printing.  If @code{#t}, the job history is preserved until the MaxJobs limit is reached."
msgstr "指定在作业打印后是否保留作业历史记录。如果指定了数字值,则作业历史记录将在打印后保留指定的秒数。如果 @code{#t},则作业历史记录将保留直到达到 MaxJobs 限制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25390
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} comma-separated-string-list-or-#f ready-paper-sizes"
msgstr "{@code{cups-configuration} 参数} 逗号分隔字符串列表或-#f ready-paper-sizes"

#. type: deftypevr
#: guix-git/doc/guix.texi:25394
#, fuzzy
msgid "Specifies a list of potential paper sizes that are reported as ready, that is: loaded.  The actual list will contain only the sizes that each printer supports."
msgstr "指定报告为准备好的潜在纸张大小的列表,即:已加载。实际列表将仅包含每台打印机支持的大小。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25399
#, fuzzy
msgid "The default value of @code{#f} is a special case: CUPS will use @samp{(list \\\"Letter\\\" \\\"Legal\\\" \\\"Tabloid\\\" \\\"4x6\\\" \\\"Env10\\\")} if the default paper size is \\\"Letter\\\", and @samp{(list \\\"A3\\\" \\\"A4\\\" \\\"A5\\\" \\\"A6\\\" \\\"EnvDL\\\")} otherwise."
msgstr "@code{#f} 的默认值是一个特殊情况:如果默认纸张大小为“Letter”,CUPS 将使用 @samp{(list \\\"Letter\\\" \\\"Legal\\\" \\\"Tabloid\\\" \\\"4x6\\\" \\\"Env10\\\")},否则使用 @samp{(list \\\"A3\\\" \\\"A4\\\" \\\"A5\\\" \\\"A6\\\" \\\"EnvDL\\\")}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25401
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer reload-timeout"
msgstr "{@code{cups-configuration} 参数} 非负整数 reload-timeout"

#. type: deftypevr
#: guix-git/doc/guix.texi:25404
#, fuzzy
msgid "Specifies the amount of time to wait for job completion before restarting the scheduler."
msgstr "指定在重新启动调度程序之前等待作业完成的时间。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25408
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} string server-admin"
msgstr "{@code{cups-configuration} 参数} 字符串 server-admin"

#. type: deftypevr
#: guix-git/doc/guix.texi:25410
#, fuzzy
msgid "Specifies the email address of the server administrator."
msgstr "指定服务器管理员的电子邮件地址。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25412
#, fuzzy
msgid "Defaults to @samp{\"root@@localhost.localdomain\"}."
msgstr "默认为 @samp{\"root@@localhost.localdomain\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25414
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} host-name-list-or-* server-alias"
msgstr "{@code{cups-configuration} 参数} 主机名列表或 * server-alias"

#. type: deftypevr
#: guix-git/doc/guix.texi:25422
#, fuzzy
msgid "The ServerAlias directive is used for HTTP Host header validation when clients connect to the scheduler from external interfaces.  Using the special name @code{*} can expose your system to known browser-based DNS rebinding attacks, even when accessing sites through a firewall.  If the auto-discovery of alternate names does not work, we recommend listing each alternate name with a ServerAlias directive instead of using @code{*}."
msgstr "ServerAlias 指令用于在客户端从外部接口连接到调度程序时进行 HTTP Host 头验证。使用特殊名称 @code{*} 可能会使您的系统暴露于已知的基于浏览器的 DNS 重新绑定攻击,即使通过防火墙访问网站。如果自动发现替代名称不起作用,我们建议列出每个替代名称,并使用 ServerAlias 指令,而不是使用 @code{*}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25424
#, fuzzy
msgid "Defaults to @samp{*}."
msgstr "默认为 @samp{*}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25426
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} string server-name"
msgstr "{@code{cups-configuration} 参数} 字符串 server-name"

#. type: deftypevr
#: guix-git/doc/guix.texi:25428
#, fuzzy
msgid "Specifies the fully-qualified host name of the server."
msgstr "指定服务器的完全合格主机名。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25430
#, fuzzy
msgid "Defaults to @samp{\"localhost\"}."
msgstr "默认为 @samp{\"localhost\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25432
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} server-tokens server-tokens"
msgstr "{@code{cups-configuration} 参数} server-tokens server-tokens"

#. type: deftypevr
#: guix-git/doc/guix.texi:25440
#, fuzzy
msgid "Specifies what information is included in the Server header of HTTP responses.  @code{None} disables the Server header.  @code{ProductOnly} reports @code{CUPS}.  @code{Major} reports @code{CUPS 2}.  @code{Minor} reports @code{CUPS 2.0}.  @code{Minimal} reports @code{CUPS 2.0.0}.  @code{OS} reports @code{CUPS 2.0.0 (@var{uname})} where @var{uname} is the output of the @code{uname} command.  @code{Full} reports @code{CUPS 2.0.0 (@var{uname}) IPP/2.0}."
msgstr "指定包含在 HTTP 响应的 Server 头中的信息。 @code{None} 禁用 Server 头。 @code{ProductOnly} 报告 @code{CUPS}。 @code{Major} 报告 @code{CUPS 2}。 @code{Minor} 报告 @code{CUPS 2.0}。 @code{Minimal} 报告 @code{CUPS 2.0.0}。 @code{OS} 报告 @code{CUPS 2.0.0 (@var{uname})},其中 @var{uname} 是 @code{uname} 命令的输出。 @code{Full} 报告 @code{CUPS 2.0.0 (@var{uname}) IPP/2.0}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25442
#, fuzzy
msgid "Defaults to @samp{Minimal}."
msgstr "默认为 @samp{Minimal}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25444
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} multiline-string-list ssl-listen"
msgstr "{@code{cups-configuration} 参数} 多行字符串列表 ssl-listen"

#. type: deftypevr
#: guix-git/doc/guix.texi:25449
#, fuzzy
msgid "Listens on the specified interfaces for encrypted connections.  Valid values are of the form @var{address}:@var{port}, where @var{address} is either an IPv6 address enclosed in brackets, an IPv4 address, or @code{*} to indicate all addresses."
msgstr "在指定的接口上监听加密连接。有效值的形式为 @var{address}:@var{port},其中 @var{address} 可以是用括号括起来的 IPv6 地址、IPv4 地址,或 @code{*} 表示所有地址。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25453
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} ssl-options ssl-options"
msgstr "{@code{cups-configuration} 参数} ssl-options ssl-options"

#. type: deftypevr
#: guix-git/doc/guix.texi:25463
#, fuzzy
msgid "Sets encryption options.  By default, CUPS only supports encryption using TLS v1.0 or higher using known secure cipher suites.  Security is reduced when @code{Allow} options are used, and enhanced when @code{Deny} options are used.  The @code{AllowRC4} option enables the 128-bit RC4 cipher suites, which are required for some older clients.  The @code{AllowSSL3} option enables SSL v3.0, which is required for some older clients that do not support TLS v1.0.  The @code{DenyCBC} option disables all CBC cipher suites.  The @code{DenyTLS1.0} option disables TLS v1.0 support - this sets the minimum protocol version to TLS v1.1."
msgstr "设置加密选项。默认情况下,CUPS 仅支持使用 TLS v1.0 或更高版本的已知安全密码套件进行加密。当使用 @code{Allow} 选项时,安全性降低;而使用 @code{Deny} 选项时,安全性增强。 @code{AllowRC4} 选项启用 128 位 RC4 密码套件,这对于某些旧客户端是必需的。 @code{AllowSSL3} 选项启用 SSL v3.0,这对于某些不支持 TLS v1.0 的旧客户端是必需的。 @code{DenyCBC} 选项禁用所有 CBC 密码套件。 @code{DenyTLS1.0} 选项禁用 TLS v1.0 支持 - 这将最低协议版本设置为 TLS v1.1。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25467
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} boolean strict-conformance?"
msgstr "{@code{cups-configuration} 参数} 布尔值 strict-conformance?"

#. type: deftypevr
#: guix-git/doc/guix.texi:25470
#, fuzzy
msgid "Specifies whether the scheduler requires clients to strictly adhere to the IPP specifications."
msgstr "指定调度程序是否要求客户端严格遵守 IPP 规范。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25474
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} non-negative-integer timeout"
msgstr "{@code{cups-configuration} 参数} 非负整数 timeout"

#. type: deftypevr
#: guix-git/doc/guix.texi:25476
#, fuzzy
msgid "Specifies the HTTP request timeout, in seconds."
msgstr "指定 HTTP 请求超时时间(以秒为单位)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25481
#, fuzzy, no-wrap
msgid "{@code{cups-configuration} parameter} boolean web-interface?"
msgstr "{@code{cups-configuration} 参数} 布尔值 web-interface?"

#. type: deftypevr
#: guix-git/doc/guix.texi:25483
#, fuzzy
msgid "Specifies whether the web interface is enabled."
msgstr "指定是否启用网络界面。"

#. type: Plain text
#: guix-git/doc/guix.texi:25493
#, fuzzy
msgid "At this point you're probably thinking ``oh dear, Guix manual, I like you but you can stop already with the configuration options''.  Indeed.  However, one more point: it could be that you have an existing @code{cupsd.conf} that you want to use.  In that case, you can pass an @code{opaque-cups-configuration} as the configuration of a @code{cups-service-type}."
msgstr "在这一点上,你可能在想“哦,亲爱的,Guix 手册,我喜欢你,但你可以停止配置选项了”。确实如此。然而,还有一点:可能你有一个现有的 @code{cupsd.conf} 想要使用。在这种情况下,你可以将 @code{opaque-cups-configuration} 作为 @code{cups-service-type} 的配置传递。"

#. type: Plain text
#: guix-git/doc/guix.texi:25495
#, fuzzy
msgid "Available @code{opaque-cups-configuration} fields are:"
msgstr "可用的 @code{opaque-cups-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:25496
#, fuzzy, no-wrap
msgid "{@code{opaque-cups-configuration} parameter} package cups"
msgstr "{@code{opaque-cups-configuration} 参数} 包 cups"

#. type: deftypevr
#: guix-git/doc/guix.texi:25500
#, fuzzy, no-wrap
msgid "{@code{opaque-cups-configuration} parameter} string cupsd.conf"
msgstr "{@code{opaque-cups-configuration} 参数} 字符串 cupsd.conf"

#. type: deftypevr
#: guix-git/doc/guix.texi:25502
#, fuzzy
msgid "The contents of the @code{cupsd.conf}, as a string."
msgstr "@code{cupsd.conf} 的内容,作为字符串。"

#. type: deftypevr
#: guix-git/doc/guix.texi:25504
#, fuzzy, no-wrap
msgid "{@code{opaque-cups-configuration} parameter} string cups-files.conf"
msgstr "{@code{opaque-cups-configuration} 参数} 字符串 cups-files.conf"

#. type: deftypevr
#: guix-git/doc/guix.texi:25506
#, fuzzy
msgid "The contents of the @code{cups-files.conf} file, as a string."
msgstr "@code{cups-files.conf} 文件的内容,作为字符串。"

#. type: Plain text
#: guix-git/doc/guix.texi:25511
#, fuzzy
msgid "For example, if your @code{cupsd.conf} and @code{cups-files.conf} are in strings of the same name, you could instantiate a CUPS service like this:"
msgstr "例如,如果你的 @code{cupsd.conf} 和 @code{cups-files.conf} 的字符串名称相同,你可以像这样实例化一个 CUPS 服务:"

#. type: lisp
#: guix-git/doc/guix.texi:25517
#, fuzzy, no-wrap
msgid ""
"(service cups-service-type\n"
"         (opaque-cups-configuration\n"
"           (cupsd.conf cupsd.conf)\n"
"           (cups-files.conf cups-files.conf)))\n"
msgstr ""
"(service cups-service-type\n"
"         (opaque-cups-configuration\n"
"           (cupsd.conf cupsd.conf)\n"
"           (cups-files.conf cups-files.conf)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:25528
#, fuzzy
msgid "The @code{(gnu services desktop)} module provides services that are usually useful in the context of a ``desktop'' setup---that is, on a machine running a graphical display server, possibly with graphical user interfaces, etc.  It also defines services that provide specific desktop environments like GNOME, Xfce or MATE."
msgstr "@code{(gnu services desktop)} 模块提供的服务通常在“桌面”设置的上下文中非常有用——也就是说,在运行图形显示服务器的机器上,可能还有图形用户界面等。它还定义了提供特定桌面环境的服务,如 GNOME、Xfce 或 MATE。"

#. type: Plain text
#: guix-git/doc/guix.texi:25532
#, fuzzy
msgid "To simplify things, the module defines a variable containing the set of services that users typically expect on a machine with a graphical environment and networking:"
msgstr "为了简化问题,该模块定义了一个变量,包含用户通常期望在具有图形环境和网络的机器上提供的服务集:"

#. type: defvar
#: guix-git/doc/guix.texi:25533
#, fuzzy, no-wrap
msgid "%desktop-services"
msgstr "桌面服务"

#. type: defvar
#: guix-git/doc/guix.texi:25536
#, fuzzy
msgid "This is a list of services that builds upon @code{%base-services} and adds or adjusts services for a typical ``desktop'' setup."
msgstr "这是一个服务列表,基于 @code{%base-services} 并为典型的“桌面”设置添加或调整服务。"

#. type: defvar
#: guix-git/doc/guix.texi:25545
#, fuzzy
msgid "In particular, it adds a graphical login manager (@pxref{X Window, @code{gdm-service-type}}), screen lockers, a network management tool (@pxref{Networking Services, @code{network-manager-service-type}}) with modem support (@pxref{Networking Services, @code{modem-manager-service-type}}), energy and color management services, the @code{elogind} login and seat manager, the Polkit privilege service, the GeoClue location service, the AccountsService daemon that allows authorized users change system passwords, a NTP client (@pxref{Networking Services}) and the Avahi daemon."
msgstr "特别是,它添加了一个图形登录管理器 (@pxref{X Window, @code{gdm-service-type}})、屏幕锁定器、一个网络管理工具 (@pxref{Networking Services, @code{network-manager-service-type}}) 以及调制解调器支持 (@pxref{Networking Services, @code{modem-manager-service-type}})、能源和颜色管理服务、@code{elogind} 登录和座位管理器、Polkit 权限服务、GeoClue 位置服务、允许授权用户更改系统密码的 AccountsService 守护进程、NTP 客户端 (@pxref{Networking Services}) 和 Avahi 守护进程。"

#. type: Plain text
#: guix-git/doc/guix.texi:25550
#, fuzzy
msgid "The @code{%desktop-services} variable can be used as the @code{services} field of an @code{operating-system} declaration (@pxref{operating-system Reference, @code{services}})."
msgstr "@code{%desktop-services} 变量可以用作 @code{operating-system} 声明的 @code{services} 字段 (@pxref{operating-system Reference, @code{services}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:25553
#, fuzzy
msgid "Additionally, the following procedures add one (or more!) desktop environments to a system."
msgstr "此外,以下程序将一个(或多个!)桌面环境添加到系统中。"

#. type: item
#: guix-git/doc/guix.texi:25555
#, fuzzy, no-wrap
msgid "@code{gnome-desktop-service-type} adds GNOME,"
msgstr "邮件服务"

#. type: item
#: guix-git/doc/guix.texi:25556
#, fuzzy, no-wrap
msgid "@code{plasma-desktop-service-type} adds KDE Plasma,"
msgstr "邮件服务"

#. type: item
#: guix-git/doc/guix.texi:25557
#, fuzzy, no-wrap
msgid "@code{enlightenment-desktop-service-type} adds Enlightenment,"
msgstr "邮件服务"

#. type: item
#: guix-git/doc/guix.texi:25558
#, fuzzy, no-wrap
msgid "@code{lxqt-desktop-service-type} adds LXQt,"
msgstr "邮件服务"

#. type: item
#: guix-git/doc/guix.texi:25559
#, fuzzy, no-wrap
msgid "@code{mate-desktop-service-type} adds MATE, and"
msgstr "邮件服务"

#. type: item
#: guix-git/doc/guix.texi:25560
#, fuzzy, no-wrap
msgid "@code{xfce-desktop-service-type} adds Xfce."
msgstr "邮件服务"

#. type: Plain text
#: guix-git/doc/guix.texi:25566
#, fuzzy
msgid "These service types add ``metapackages'' such as @code{gnome} or @code{plasma} to the system profile, but most of them also set up other useful services that mere packages can't do."
msgstr "这些服务类型将 ``元包''(如 @code{gnome} 或 @code{plasma})添加到系统配置文件中,但它们中的大多数还会设置其他有用的服务,而仅仅是包无法做到。"

#. type: Plain text
#: guix-git/doc/guix.texi:25571
#, fuzzy
msgid "For example, they may elevate privileges on a limited number of special-purpose system interfaces and programs.  This allows backlight adjustment helpers, power management utilities, screen lockers, and other integrated functionality to work as expected."
msgstr "例如,它们可能会在有限数量的特殊用途系统接口和程序上提升权限。这使得背光调节助手、电源管理工具、屏幕锁定器和其他集成功能能够按预期工作。"

#. type: Plain text
#: guix-git/doc/guix.texi:25581
#, fuzzy
msgid "The desktop environments in Guix use the Xorg display server by default.  If you'd like to use the newer display server protocol called Wayland, you need to enable Wayland support in GDM (@pxref{wayland-gdm}).  Another solution is to use the @code{sddm-service} instead of GDM as the graphical login manager.  You should then select the ``GNOME (Wayland)'' session in SDDM@.  Alternatively you can also try starting GNOME on Wayland manually from a TTY with the command ``XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session``.  Currently only GNOME has support for Wayland."
msgstr "Guix 中的桌面环境默认使用 Xorg 显示服务器。如果您想使用名为 Wayland 的新显示服务器协议,则需要在 GDM 中启用 Wayland 支持 (@pxref{wayland-gdm})。另一种解决方案是使用 @code{sddm-service} 代替 GDM 作为图形登录管理器。然后,您应该在 SDDM@ 中选择 ``GNOME (Wayland)'' 会话。或者,您也可以尝试从 TTY 手动启动 GNOME on Wayland,命令为 ``XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session``。目前只有 GNOME 支持 Wayland。"

#. type: defvar
#: guix-git/doc/guix.texi:25582
#, fuzzy, no-wrap
msgid "gnome-desktop-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:25586
#, fuzzy
msgid "This is the type of the service that adds the @uref{https://www.gnome.org, GNOME} desktop environment.  Its value is a @code{gnome-desktop-configuration} object (see below)."
msgstr "这是添加 @uref{https://www.gnome.org, GNOME} 桌面环境的服务类型。它的值是一个 @code{gnome-desktop-configuration} 对象(见下文)。"

#. type: defvar
#: guix-git/doc/guix.texi:25589
#, fuzzy
msgid "This service adds the @code{gnome} package to the system profile, and extends polkit with the actions from @code{gnome-settings-daemon}."
msgstr "该服务将 @code{gnome} 包添加到系统配置文件,并通过 @code{gnome-settings-daemon} 的操作扩展 polkit。"

#. type: deftp
#: guix-git/doc/guix.texi:25591
#, fuzzy, no-wrap
msgid "{Data Type} gnome-desktop-configuration"
msgstr "{数据类型} gnome-desktop-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:25594
#, fuzzy
msgid "Configuration record for the GNOME desktop environment.  Available @code{gnome-desktop-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:25596
#, fuzzy, no-wrap
msgid "@code{core-services} (type: list-of-packages)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:25598
#, fuzzy
msgid "A list of packages that the GNOME Shell and applications may rely on."
msgstr "GNOME Shell 和应用程序可能依赖的包列表。"

#. type: item
#: guix-git/doc/guix.texi:25599
#, fuzzy, no-wrap
msgid "@code{shell} (type: list-of-packages)"
msgstr "{数据类型} build-machine"

#. type: table
#: guix-git/doc/guix.texi:25602
#, fuzzy
msgid "A list of packages that constitute the GNOME Shell, without applications."
msgstr "构成 GNOME Shell 的包列表,不包括应用程序。"

#. type: item
#: guix-git/doc/guix.texi:25603
#, fuzzy, no-wrap
msgid "@code{utilities} (type: list-of-packages)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:25605
#, fuzzy
msgid "A list of packages that serve as applications to use on top of the GNOME Shell."
msgstr "作为应用程序在 GNOME Shell 上使用的包列表。"

#. type: item
#: guix-git/doc/guix.texi:25606
#, fuzzy, no-wrap
msgid "@code{gnome} (type: maybe-package)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:25611
#, fuzzy
msgid "This field used to be the only configuration point and specified a GNOME meta-package to install system-wide.  Since the meta-package itself provides neither sources nor the actual packages and is only used to propagate them, this field is deprecated."
msgstr "该字段曾经是唯一的配置点,并指定了一个 GNOME 元包以进行系统范围的安装。由于元包本身既不提供源代码也不提供实际包,仅用于传播它们,因此该字段已被弃用。"

#. type: item
#: guix-git/doc/guix.texi:25612
#, fuzzy, no-wrap
msgid "@code{extra-packages} (type: list-of-packages)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:25617
#, fuzzy
msgid "A list of GNOME-adjacent packages to also include.  This field is intended for users to add their own packages to their GNOME experience.  Note, that it already includes some packages that are considered essential by some (most?) GNOME users."
msgstr "一份与GNOME相关的包列表,也包括在内。此字段旨在让用户将自己的包添加到GNOME体验中。请注意,它已经包含了一些被某些(大多数?)GNOME用户视为必需的包。"

#. type: item
#: guix-git/doc/guix.texi:25618
#, fuzzy, no-wrap
msgid "@code{udev-ignorelist} (default: @code{()}) (type: list-of-strings)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:25623
#, fuzzy
msgid "A list of regular expressions denoting udev rules or hardware file names provided by any package that should not be installed.  By default, every udev rule and hardware file specified by any package referenced in the other fields are installed."
msgstr "一份表示不应安装的任何包提供的udev规则或硬件文件名的正则表达式列表。默认情况下,其他字段中引用的任何包指定的每个udev规则和硬件文件都会被安装。"

#. type: item
#: guix-git/doc/guix.texi:25624
#, fuzzy, no-wrap
msgid "@code{polkit-ignorelist} (default: @code{()}) (type: list-of-strings)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:25628
#, fuzzy
msgid "A list of regular expressions denoting polkit rules provided by any package that should not be installed.  By default, every polkit rule added by any package referenced in the other fields are installed."
msgstr "一份表示不应安装的任何包提供的polkit规则的正则表达式列表。默认情况下,其他字段中引用的任何包添加的每个polkit规则都会被安装。"

#. type: defvar
#: guix-git/doc/guix.texi:25632
#, fuzzy, no-wrap
msgid "plasma-desktop-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:25636
#, fuzzy
msgid "This is the type of the service that adds the @uref{https://kde.org/plasma-desktop/, Plasma} desktop environment.  Its value is a @code{plasma-desktop-configuration} object (see below)."
msgstr "这是添加@uref{https://kde.org/plasma-desktop/, Plasma}桌面环境的服务类型。其值是一个@code{plasma-desktop-configuration}对象(见下文)。"

#. type: defvar
#: guix-git/doc/guix.texi:25638
#, fuzzy
msgid "This service adds the @code{plasma} package to the system profile."
msgstr "此服务将@code{plasma}包添加到系统配置文件中。"

#. type: deftp
#: guix-git/doc/guix.texi:25640
#, fuzzy, no-wrap
msgid "{Data Type} plasma-desktop-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:25642
#, fuzzy
msgid "Configuration record for the Plasma desktop environment."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:25644
#, fuzzy, no-wrap
msgid "@code{plasma} (default: @code{plasma})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:25646
#, fuzzy
msgid "The Plasma package to use."
msgstr "软件包数据类型。"

#. type: defvar
#: guix-git/doc/guix.texi:25649
#, fuzzy, no-wrap
msgid "xfce-desktop-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:25653
#, fuzzy
msgid "This is the type of a service to run the @uref{Xfce, https://xfce.org/} desktop environment.  Its value is an @code{xfce-desktop-configuration} object (see below)."
msgstr "这是运行@uref{Xfce, https://xfce.org/}桌面环境的服务类型。其值是一个@code{xfce-desktop-configuration}对象(见下文)。"

#. type: defvar
#: guix-git/doc/guix.texi:25658
#, fuzzy
msgid "This service adds the @code{xfce} package to the system profile, and extends polkit with the ability for @code{thunar} to manipulate the file system as root from within a user session, after the user has authenticated with the administrator's password."
msgstr "此服务将@code{xfce}包添加到系统配置文件中,并扩展polkit,使@code{thunar}能够在用户会话中以root身份操作文件系统,前提是用户已使用管理员密码进行身份验证。"

#. type: defvar
#: guix-git/doc/guix.texi:25664
#, fuzzy
msgid "Note that @code{xfce4-panel} and its plugin packages should be installed in the same profile to ensure compatibility.  When using this service, you should add extra plugins (@code{xfce4-whiskermenu-plugin}, @code{xfce4-weather-plugin}, etc.) to the @code{packages} field of your @code{operating-system}."
msgstr "请注意,@code{xfce4-panel}及其插件包应安装在同一配置文件中以确保兼容性。使用此服务时,您应将额外的插件(@code{xfce4-whiskermenu-plugin}、@code{xfce4-weather-plugin}等)添加到您的@code{operating-system}的@code{packages}字段中。"

#. type: deftp
#: guix-git/doc/guix.texi:25666
#, fuzzy, no-wrap
msgid "{Data Type} xfce-desktop-configuration"
msgstr "{数据类型} xfce-desktop-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:25668
#, fuzzy
msgid "Configuration record for the Xfce desktop environment."
msgstr "Xfce桌面环境的配置记录。"

#. type: item
#: guix-git/doc/guix.texi:25670
#, no-wrap
msgid "@code{xfce} (default: @code{xfce})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:25672
#, fuzzy
msgid "The Xfce package to use."
msgstr "要使用的Xfce包。"

#. type: defvar
#: guix-git/doc/guix.texi:25675
#, fuzzy, no-wrap
msgid "mate-desktop-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:25679
#, fuzzy
msgid "This is the type of the service that runs the @uref{https://mate-desktop.org/, MATE desktop environment}.  Its value is a @code{mate-desktop-configuration} object (see below)."
msgstr "这是运行@uref{https://mate-desktop.org/, MATE桌面环境}的服务类型。其值是一个@code{mate-desktop-configuration}对象(见下文)。"

#. type: defvar
#: guix-git/doc/guix.texi:25683
#, fuzzy
msgid "This service adds the @code{mate} package to the system profile, and extends polkit with the actions from @code{mate-settings-daemon}."
msgstr "此服务将@code{mate}包添加到系统配置文件中,并扩展polkit,包含来自@code{mate-settings-daemon}的操作。"

#. type: deftp
#: guix-git/doc/guix.texi:25685
#, fuzzy, no-wrap
msgid "{Data Type} mate-desktop-configuration"
msgstr "{数据类型} mate-desktop-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:25687
#, fuzzy
msgid "Configuration record for the MATE desktop environment."
msgstr "MATE桌面环境的配置记录。"

#. type: item
#: guix-git/doc/guix.texi:25689
#, no-wrap
msgid "@code{mate} (default: @code{mate})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:25691
#, fuzzy
msgid "The MATE package to use."
msgstr "要使用的MATE包。"

#. type: defvar
#: guix-git/doc/guix.texi:25694
#, fuzzy, no-wrap
msgid "lxqt-desktop-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:25698
#, fuzzy
msgid "This is the type of the service that runs the @uref{https://lxqt-project.org, LXQt desktop environment}.  Its value is a @code{lxqt-desktop-configuration} object (see below)."
msgstr "这是运行@uref{https://lxqt-project.org, LXQt桌面环境}的服务类型。它的值是一个@code{lxqt-desktop-configuration}对象(见下文)。"

#. type: defvar
#: guix-git/doc/guix.texi:25701
#, fuzzy
msgid "This service adds the @code{lxqt} package to the system profile."
msgstr "该服务将@code{lxqt}包添加到系统配置文件中。"

#. type: deftp
#: guix-git/doc/guix.texi:25703
#, fuzzy, no-wrap
msgid "{Data Type} lxqt-desktop-configuration"
msgstr "{数据类型} lxqt-desktop-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:25705
#, fuzzy
msgid "Configuration record for the LXQt desktop environment."
msgstr "LXQt桌面环境的配置记录。"

#. type: item
#: guix-git/doc/guix.texi:25707
#, fuzzy, no-wrap
msgid "@code{lxqt} (default: @code{lxqt})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:25709
#, fuzzy
msgid "The LXQT package to use."
msgstr "软件包数据类型。"

#. type: defvar
#: guix-git/doc/guix.texi:25712
#, fuzzy, no-wrap
msgid "sugar-desktop-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:25716
#, fuzzy
msgid "This is the type of the service that runs the @uref{https://www.sugarlabs.org, Sugar desktop environment}.  Its value is a @code{sugar-desktop-configuration} object (see below)."
msgstr "这是运行@uref{https://www.sugarlabs.org, Sugar桌面环境}的服务类型。它的值是一个@code{sugar-desktop-configuration}对象(见下文)。"

#. type: defvar
#: guix-git/doc/guix.texi:25720
#, fuzzy
msgid "This service adds the @code{sugar} package to the system profile, as well as any selected Sugar activities.  By default it only includes a minimal set of activities."
msgstr "该服务将@code{sugar}包添加到系统配置文件中,以及任何选定的Sugar活动。默认情况下,它仅包含一组最小的活动。"

#. type: deftp
#: guix-git/doc/guix.texi:25722
#, fuzzy, no-wrap
msgid "{Data Type} sugar-desktop-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:25724
#, fuzzy
msgid "Configuration record for the Sugar desktop environment."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:25726
#, fuzzy, no-wrap
msgid "@code{sugar} (default: @code{sugar})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:25728
#, fuzzy
msgid "The Sugar package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:25728
#, fuzzy, no-wrap
msgid "@code{gobject-introspection} (default: @code{gobject-introspection})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:25731
#, fuzzy
msgid "The @code{gobject-introspection} package to use.  This package is used to access libraries installed as dependencies of Sugar activities."
msgstr "要使用的@code{gobject-introspection}包。该包用于访问作为Sugar活动依赖项安装的库。"

#. type: item
#: guix-git/doc/guix.texi:25731
#, fuzzy, no-wrap
msgid "@code{activities} (default: @code{(list sugar-help-activity)})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:25733
#, fuzzy
msgid "A list of Sugar activities to install."
msgstr "要安装的Sugar活动列表。"

#. type: Plain text
#: guix-git/doc/guix.texi:25738
#, fuzzy
msgid "The following example configures the Sugar desktop environment with a number of useful activities:"
msgstr "以下示例配置了带有多个有用活动的Sugar桌面环境:"

#. type: lisp
#: guix-git/doc/guix.texi:25753
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu))\n"
"(use-package-modules sugar)\n"
"(use-service-modules desktop)\n"
"(operating-system\n"
"  ...\n"
"  (services (cons* (service sugar-desktop-service-type\n"
"                            (sugar-desktop-configuration\n"
"                              (activities (list sugar-browse-activity\n"
"                                                sugar-help-activity\n"
"                                                sugar-jukebox-activity\n"
"                                                sugar-typing-turtle-activity))))\n"
"                   %desktop-services))\n"
"  ...)\n"
msgstr ""
"(use-modules (gnu))\n"
"(use-package-modules sugar)\n"
"(use-service-modules desktop)\n"
"(operating-system\n"
"  ...\n"
"  (services (cons* (service sugar-desktop-service-type\n"
"                            (sugar-desktop-configuration\n"
"                              (activities (list sugar-browse-activity\n"
"                                                sugar-help-activity\n"
"                                                sugar-jukebox-activity\n"
"                                                sugar-typing-turtle-activity))))\n"
"                   %desktop-services))\n"
"  ...)\n"

#. type: defvar
#: guix-git/doc/guix.texi:25755
#, fuzzy, no-wrap
msgid "enlightenment-desktop-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:25758
#, fuzzy
msgid "Return a service that adds the @code{enlightenment} package to the system profile, and extends dbus with actions from @code{efl}."
msgstr "返回一个服务,将@code{enlightenment}包添加到系统配置文件中,并通过@code{efl}扩展dbus的操作。"

#. type: deftp
#: guix-git/doc/guix.texi:25760
#, fuzzy, no-wrap
msgid "{Data Type} enlightenment-desktop-service-configuration"
msgstr "{数据类型} enlightenment-desktop-service-configuration"

#. type: item
#: guix-git/doc/guix.texi:25762
#, no-wrap
msgid "@code{enlightenment} (default: @code{enlightenment})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:25764
#, fuzzy
msgid "The enlightenment package to use."
msgstr "要使用的enlightenment包。"

#. type: Plain text
#: guix-git/doc/guix.texi:25772
#, fuzzy
msgid "Because the GNOME, Xfce and MATE desktop services pull in so many packages, the default @code{%desktop-services} variable doesn't include any of them by default.  To add GNOME, Xfce or MATE, just @code{cons} them onto @code{%desktop-services} in the @code{services} field of your @code{operating-system}:"
msgstr "由于GNOME、Xfce和MATE桌面服务引入了许多包,默认的@code{%desktop-services}变量默认不包括它们。要添加GNOME、Xfce或MATE,只需在@code{operating-system}的@code{services}字段中将它们@code{cons}到@code{%desktop-services}中:"

#. type: lisp
#: guix-git/doc/guix.texi:25783
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu))\n"
"(use-service-modules desktop)\n"
"(operating-system\n"
"  ...\n"
"  ;; cons* adds items to the list given as its last argument.\n"
"  (services (cons* (service gnome-desktop-service-type)\n"
"                   (service xfce-desktop-service-type)\n"
"                   %desktop-services))\n"
"  ...)\n"
msgstr ""
"(use-modules (gnu))\n"
"(use-service-modules desktop)\n"
"(operating-system\n"
"  ...\n"
"  ;; cons* 将项目添加到作为其最后一个参数的列表中。\n"
"  (services (cons* (service gnome-desktop-service-type)\n"
"                   (service xfce-desktop-service)\n"
"                   %desktop-services))\n"
"  ...)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:25787
#, fuzzy
msgid "These desktop environments will then be available as options in the graphical login window."
msgstr "这些桌面环境将作为选项在图形登录窗口中可用。"

#. type: Plain text
#: guix-git/doc/guix.texi:25791
#, fuzzy
msgid "The actual service definitions included in @code{%desktop-services} and provided by @code{(gnu services dbus)} and @code{(gnu services desktop)} are described below."
msgstr "实际的服务定义包含在 @code{%desktop-services} 中,并由 @code{(gnu services dbus)} 和 @code{(gnu services desktop)} 提供,具体描述如下。"

#. type: defvar
#: guix-git/doc/guix.texi:25792
#, fuzzy, no-wrap
msgid "dbus-root-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:25797
#, fuzzy
msgid "Type for a service that runs the D-Bus ``system bus''.  @footnote{@uref{https://dbus.freedesktop.org/, D-Bus} is an inter-process communication facility.  Its system bus is used to allow system services to communicate and to be notified of system-wide events.}"
msgstr "运行 D-Bus ``系统总线'' 的服务类型。 @footnote{@uref{https://dbus.freedesktop.org/, D-Bus} 是一个进程间通信设施。它的系统总线用于允许系统服务进行通信并通知系统范围内的事件。}"

#. type: defvar
#: guix-git/doc/guix.texi:25799
#, fuzzy
msgid "The value for this service type is a @code{<dbus-configuration>} record."
msgstr "此服务类型的值是一个 @code{<dbus-configuration>} 记录。"

#. type: deftp
#: guix-git/doc/guix.texi:25801
#, fuzzy, no-wrap
msgid "{Data Type} dbus-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:25803
#, fuzzy
msgid "Data type representing the configuration for @code{dbus-root-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:25805
#, fuzzy, no-wrap
msgid "@code{dbus} (default: @code{dbus}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:25807
#, fuzzy
msgid "Package object for dbus."
msgstr "软件包模块"

#. type: item
#: guix-git/doc/guix.texi:25808
#, fuzzy, no-wrap
msgid "@code{services} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:25813
#, fuzzy
msgid "List of packages that provide an @file{etc/dbus-1/system.d} directory containing additional D-Bus configuration and policy files.  For example, to allow avahi-daemon to use the system bus, @var{services} must be equal to @code{(list avahi)}."
msgstr "提供 @file{etc/dbus-1/system.d} 目录的包列表,其中包含额外的 D-Bus 配置和策略文件。例如,要允许 avahi-daemon 使用系统总线,@var{services} 必须等于 @code{(list avahi)}。"

#. type: item
#: guix-git/doc/guix.texi:25814 guix-git/doc/guix.texi:43361
#: guix-git/doc/guix.texi:48397
#, fuzzy, no-wrap
msgid "@code{verbose?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:25820
#, fuzzy
msgid "When @code{#t}, D-Bus is launched with environment variable @samp{DBUS_VERBOSE} set to @samp{1}.  A verbose-enabled D-Bus package such as @code{dbus-verbose} should be provided to @var{dbus} in this scenario. The verbose output is logged to @file{/var/log/dbus-daemon.log}."
msgstr "当 @code{#t} 时,D-Bus 以环境变量 @samp{DBUS_VERBOSE} 设置为 @samp{1} 启动。在这种情况下,应向 @var{dbus} 提供一个启用详细输出的 D-Bus 包,例如 @code{dbus-verbose}。详细输出记录到 @file{/var/log/dbus-daemon.log}。"

#. type: subsubheading
#: guix-git/doc/guix.texi:25824
#, fuzzy, no-wrap
msgid "Elogind"
msgstr "Elogind"

#. type: Plain text
#: guix-git/doc/guix.texi:25830
#, fuzzy
msgid "@uref{https://github.com/elogind/elogind, Elogind} is a login and seat management daemon that also handles most system-level power events for a computer, for example suspending the system when a lid is closed, or shutting it down when the power button is pressed."
msgstr "@uref{https://github.com/elogind/elogind, Elogind} 是一个登录和座位管理守护进程,它还处理计算机的大多数系统级电源事件,例如在关闭盖子时挂起系统,或在按下电源按钮时关闭系统。"

#. type: Plain text
#: guix-git/doc/guix.texi:25834
#, fuzzy
msgid "It also provides a D-Bus interface that can be used to know which users are logged in, know what kind of sessions they have open, suspend the system, inhibit system suspend, reboot the system, and other tasks."
msgstr "它还提供一个 D-Bus 接口,可以用来了解哪些用户已登录,了解他们打开了什么类型的会话,挂起系统,禁止系统挂起,重启系统以及其他任务。"

#. type: defvar
#: guix-git/doc/guix.texi:25835
#, fuzzy, no-wrap
msgid "elogind-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:25839
#, fuzzy
msgid "Type of the service that runs @command{elogind}, a login and seat management daemon.  The value for this service is a @code{<elogind-configuration>} object."
msgstr "运行 @command{elogind} 的服务类型,一个登录和座位管理守护进程。此服务的值是一个 @code{<elogind-configuration>} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:25844
#, fuzzy, no-wrap
msgid "{Data Type} elogind-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:25846
#, fuzzy
msgid "Data type representing the configuration of @command{elogind}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:25848
#, fuzzy, no-wrap
msgid "@code{elogind} (default: @code{elogind}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:25850 guix-git/doc/guix.texi:25853
#: guix-git/doc/guix.texi:25856 guix-git/doc/guix.texi:25859
#: guix-git/doc/guix.texi:25862 guix-git/doc/guix.texi:25865
#: guix-git/doc/guix.texi:25868 guix-git/doc/guix.texi:25871
#: guix-git/doc/guix.texi:25874 guix-git/doc/guix.texi:25877
#: guix-git/doc/guix.texi:25880 guix-git/doc/guix.texi:25883
#: guix-git/doc/guix.texi:25886 guix-git/doc/guix.texi:25889
#: guix-git/doc/guix.texi:25892 guix-git/doc/guix.texi:25895
#: guix-git/doc/guix.texi:25898 guix-git/doc/guix.texi:25901
#: guix-git/doc/guix.texi:25904 guix-git/doc/guix.texi:25907
#: guix-git/doc/guix.texi:25910 guix-git/doc/guix.texi:25913
#: guix-git/doc/guix.texi:25916 guix-git/doc/guix.texi:25919
#: guix-git/doc/guix.texi:25922 guix-git/doc/guix.texi:25925
#: guix-git/doc/guix.texi:25928 guix-git/doc/guix.texi:25931
#: guix-git/doc/guix.texi:25934
#, fuzzy
msgid "..."
msgstr "..."

#. type: item
#: guix-git/doc/guix.texi:25851
#, fuzzy, no-wrap
msgid "@code{kill-user-processes?} (default: @code{#f}) (type: boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:25854
#, fuzzy, no-wrap
msgid "@code{kill-only-users} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: item
#: guix-git/doc/guix.texi:25857
#, fuzzy, no-wrap
msgid "@code{kill-exclude-users} (default: @code{'(\"root\")}) (type: list-of-string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:25860
#, fuzzy, no-wrap
msgid "@code{inhibit-delay-max-seconds} (default: @code{5}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:25863
#, fuzzy, no-wrap
msgid "@code{handle-power-key} (default: @code{'poweroff}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:25866
#, fuzzy, no-wrap
msgid "@code{handle-suspend-key} (default: @code{'suspend}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:25869
#, fuzzy, no-wrap
msgid "@code{handle-hibernate-key} (default: @code{'hibernate}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:25872
#, fuzzy, no-wrap
msgid "@code{handle-lid-switch} (default: @code{'suspend}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:25875
#, fuzzy, no-wrap
msgid "@code{handle-lid-switch-docked} (default: @code{'ignore}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:25878
#, fuzzy, no-wrap
msgid "@code{handle-lid-switch-external-power} (default: @code{*unspecified*}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:25881
#, fuzzy, no-wrap
msgid "@code{power-key-ignore-inhibited?} (default: @code{#f}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: item
#: guix-git/doc/guix.texi:25884
#, fuzzy, no-wrap
msgid "@code{suspend-key-ignore-inhibited?} (default: @code{#f}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: item
#: guix-git/doc/guix.texi:25887
#, fuzzy, no-wrap
msgid "@code{hibernate-key-ignore-inhibited?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:25890
#, fuzzy, no-wrap
msgid "@code{lid-switch-ignore-inhibited?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:25893
#, fuzzy, no-wrap
msgid "@code{holdoff-timeout-seconds} (default: @code{30}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:25896
#, fuzzy, no-wrap
msgid "@code{idle-action} (default: @code{'ignore}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: item
#: guix-git/doc/guix.texi:25899
#, fuzzy, no-wrap
msgid "@code{idle-action-seconds} (default: @code{(* 30 60)}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:25902
#, fuzzy, no-wrap
msgid "@code{runtime-directory-size-percent} (default: @code{10}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:25905
#, fuzzy, no-wrap
msgid "@code{runtime-directory-size} (default: @code{#f}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:25908
#, fuzzy, no-wrap
msgid "@code{remove-ipc?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:25911
#, fuzzy, no-wrap
msgid "@code{suspend-state} (default: @code{'(\"mem\" \"standby\" \"freeze\")}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: item
#: guix-git/doc/guix.texi:25914
#, fuzzy, no-wrap
msgid "@code{suspend-mode} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: item
#: guix-git/doc/guix.texi:25917
#, fuzzy, no-wrap
msgid "@code{hibernate-state} (default: @code{'(\"disk\")}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: item
#: guix-git/doc/guix.texi:25920
#, fuzzy, no-wrap
msgid "@code{hibernate-mode} (default: @code{'(\"platform\" \"shutdown\")}) (type: list)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: item
#: guix-git/doc/guix.texi:25923
#, fuzzy, no-wrap
msgid "@code{hybrid-sleep-state} (default: @code{'(\"disk\")}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: item
#: guix-git/doc/guix.texi:25926
#, fuzzy, no-wrap
msgid "@code{hybrid-sleep-mode} (default: @code{'(\"suspend\" \"platform\" \"shutdown\")}) (type: list)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: item
#: guix-git/doc/guix.texi:25929
#, fuzzy, no-wrap
msgid "@code{hibernate-delay-seconds} (default: @code{*unspecified*}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:25932
#, fuzzy, no-wrap
msgid "@code{suspend-estimation-seconds} (default: @code{*unspecified*}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:25935
#, fuzzy, no-wrap
msgid "@code{system-sleep-hook-files} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:25938
#, fuzzy
msgid "A list of executables (file-like objects) that will be installed into the @file{/etc/elogind/system-sleep/} hook directory. For example:"
msgstr "将安装到 @file{/etc/elogind/system-sleep/} 钩子目录中的可执行文件(类文件对象)列表。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:25943
#, fuzzy, no-wrap
msgid ""
"(elogind-configuration\n"
" (system-sleep-hook-files\n"
"  (list (local-file \"sleep-script\"))))\n"
msgstr ""
"(elogind-configuration\n"
" (system-sleep-hook-files\n"
"  (list (local-file \"sleep-script\"))))\n"

#. type: table
#: guix-git/doc/guix.texi:25946
#, fuzzy
msgid "See `Hook directories' in the @code{loginctl(1)} man page for more information."
msgstr "有关更多信息,请参见 @code{loginctl(1)} 手册页中的 `钩子目录`。"

#. type: item
#: guix-git/doc/guix.texi:25947
#, fuzzy, no-wrap
msgid "@code{system-shutdown-hook-files} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:25950
#, fuzzy
msgid "A list of executables (file-like objects) that will be installed into the @file{/etc/elogind/system-shutdown/} hook directory."
msgstr "将安装到 @file{/etc/elogind/system-shutdown/} 钩子目录中的可执行文件(类文件对象)列表。"

#. type: item
#: guix-git/doc/guix.texi:25951
#, fuzzy, no-wrap
msgid "@code{allow-power-off-interrupts?} (default: @code{#f}) (type: boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: itemx
#: guix-git/doc/guix.texi:25952
#, fuzzy, no-wrap
msgid "@code{allow-suspend-interrupts?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:25956
#, fuzzy
msgid "Whether the executables in elogind's hook directories (see above) can cause a power-off or suspend action to be cancelled (interrupted) by printing an appropriate error message to stdout."
msgstr "elogind 的钩子目录中的可执行文件(见上文)是否可以通过向 stdout 打印适当的错误消息来取消(中断)关机或挂起操作。"

#. type: item
#: guix-git/doc/guix.texi:25957
#, fuzzy, no-wrap
msgid "@code{broadcast-power-off-interrupts?} (default: @code{#t}) (type: boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: itemx
#: guix-git/doc/guix.texi:25958
#, fuzzy, no-wrap
msgid "@code{broadcast-suspend-interrupts?} (default: @code{#t}) (type: boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:25960
#, fuzzy
msgid "Whether an interrupt of a power-off or suspend action is broadcasted."
msgstr "关机或挂起操作的中断是否被广播。"

#. type: defvar
#: guix-git/doc/guix.texi:25964
#, fuzzy, no-wrap
msgid "accountsservice-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:25971
#, fuzzy
msgid "Type for the service that runs AccountsService, a system service that can list available accounts, change their passwords, and so on.  AccountsService integrates with PolicyKit to enable unprivileged users to acquire the capability to modify their system configuration.  See @url{https://www.freedesktop.org/wiki/Software/AccountsService/, AccountsService} for more information."
msgstr "运行 AccountsService 的服务类型,AccountsService 是一个可以列出可用帐户、修改其密码等的系统服务。AccountsService 与 PolicyKit 集成,使非特权用户能够获得修改其系统配置的能力。有关更多信息,请参见 @url{https://www.freedesktop.org/wiki/Software/AccountsService/, AccountsService}。"

#. type: defvar
#: guix-git/doc/guix.texi:25974
#, fuzzy
msgid "The value for this service is a file-like object, by default it is set to @code{accountsservice} (the package object for AccountsService)."
msgstr "此服务的值是一个类文件对象,默认设置为 @code{accountsservice}(AccountsService 的包对象)。"

#. type: defvar
#: guix-git/doc/guix.texi:25976
#, fuzzy, no-wrap
msgid "polkit-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:25984
#, fuzzy
msgid "Type for the service that runs the @url{https://www.freedesktop.org/wiki/Software/polkit/, Polkit privilege management service}, which allows system administrators to grant access to privileged operations in a structured way.  By querying the Polkit service, a privileged system component can know when it should grant additional capabilities to ordinary users.  For example, an ordinary user can be granted the capability to suspend the system if the user is logged in locally."
msgstr "运行 @url{https://www.freedesktop.org/wiki/Software/polkit/, Polkit 权限管理服务} 的服务类型,该服务允许系统管理员以结构化的方式授予对特权操作的访问权限。通过查询 Polkit 服务,特权系统组件可以知道何时应向普通用户授予额外的能力。例如,如果用户在本地登录,则可以授予普通用户挂起系统的能力。"

#. type: defvar
#: guix-git/doc/guix.texi:25986
#, fuzzy
msgid "The value for this service is a @code{<polkit-configuration>} object."
msgstr "此服务的值是一个 @code{<polkit-configuration>} 对象。"

#. type: defvar
#: guix-git/doc/guix.texi:25991
#, fuzzy, no-wrap
msgid "polkit-wheel-service"
msgstr "polkit-wheel-service"

#. type: defvar
#: guix-git/doc/guix.texi:25996
#, fuzzy
msgid "Service that adds the @code{wheel} group as admins to the Polkit service.  This makes it so that users in the @code{wheel} group are queried for their own passwords when performing administrative actions instead of @code{root}'s, similar to the behaviour used by @code{sudo}."
msgstr "将 @code{wheel} 组添加为 Polkit 服务管理员的服务。这使得 @code{wheel} 组中的用户在执行管理操作时被询问自己的密码,而不是 @code{root} 的密码,类似于 @code{sudo} 的行为。"

#. type: defvar
#: guix-git/doc/guix.texi:25998
#, fuzzy, no-wrap
msgid "upower-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26002
#, fuzzy
msgid "Service that runs @uref{https://upower.freedesktop.org/, @command{upowerd}}, a system-wide monitor for power consumption and battery levels, with the given configuration settings."
msgstr "运行 @uref{https://upower.freedesktop.org/, @command{upowerd}} 的服务,这是一个系统范围的电源消耗和电池电量监视器,具有给定的配置设置。"

#. type: defvar
#: guix-git/doc/guix.texi:26005
#, fuzzy
msgid "It implements the @code{org.freedesktop.UPower} D-Bus interface, and is notably used by GNOME."
msgstr "它实现了 @code{org.freedesktop.UPower} D-Bus 接口,并且被 GNOME 显著使用。"

#. type: deftp
#: guix-git/doc/guix.texi:26007
#, fuzzy, no-wrap
msgid "{Data Type} upower-configuration"
msgstr "{数据类型} upower-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:26009
#, fuzzy
msgid "Data type representation the configuration for UPower."
msgstr "UPower 的配置数据类型表示。"

#. type: item
#: guix-git/doc/guix.texi:26012
#, fuzzy, no-wrap
msgid "@code{upower} (default: @var{upower})"
msgstr "@code{upower}(默认:@var{upower})"

#. type: table
#: guix-git/doc/guix.texi:26014
#, fuzzy
msgid "Package to use for @code{upower}."
msgstr "用于 @code{upower} 的包。"

#. type: item
#: guix-git/doc/guix.texi:26015
#, fuzzy, no-wrap
msgid "@code{watts-up-pro?} (default: @code{#f})"
msgstr "@code{watts-up-pro?}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26017
#, fuzzy
msgid "Enable the Watts Up Pro device."
msgstr "启用 Watts Up Pro 设备。"

#. type: item
#: guix-git/doc/guix.texi:26018
#, fuzzy, no-wrap
msgid "@code{poll-batteries?} (default: @code{#t})"
msgstr "@code{poll-batteries?}(默认:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:26020
#, fuzzy
msgid "Enable polling the kernel for battery level changes."
msgstr "启用对内核电池电量变化的轮询。"

#. type: item
#: guix-git/doc/guix.texi:26021
#, fuzzy, no-wrap
msgid "@code{ignore-lid?} (default: @code{#f})"
msgstr "@code{ignore-lid?}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26023
#, fuzzy
msgid "Ignore the lid state, this can be useful if it's incorrect on a device."
msgstr "忽略盖子状态,如果设备上的状态不正确,这可能会很有用。"

#. type: item
#: guix-git/doc/guix.texi:26024
#, fuzzy, no-wrap
msgid "@code{use-percentage-for-policy?} (default: @code{#t})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:26028
#, fuzzy
msgid "Whether to use a policy based on battery percentage rather than on estimated time left.  A policy based on battery percentage is usually more reliable."
msgstr "是否使用基于电池百分比的策略,而不是基于剩余时间的估计。基于电池百分比的策略通常更可靠。"

#. type: item
#: guix-git/doc/guix.texi:26029
#, fuzzy, no-wrap
msgid "@code{percentage-low} (default: @code{20})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26032
#, fuzzy
msgid "When @code{use-percentage-for-policy?} is @code{#t}, this sets the percentage at which the battery is considered low."
msgstr "当 @code{use-percentage-for-policy?} 为 @code{#t} 时,这设置电池被认为低电量的百分比。"

#. type: item
#: guix-git/doc/guix.texi:26033
#, fuzzy, no-wrap
msgid "@code{percentage-critical} (default: @code{5})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26036
#, fuzzy
msgid "When @code{use-percentage-for-policy?} is @code{#t}, this sets the percentage at which the battery is considered critical."
msgstr "当 @code{use-percentage-for-policy?} 为 @code{#t} 时,这设置电池被认为是临界的百分比。"

#. type: item
#: guix-git/doc/guix.texi:26037
#, fuzzy, no-wrap
msgid "@code{percentage-action} (default: @code{2})"
msgstr "@code{percentage-action}(默认:@code{2})"

#. type: table
#: guix-git/doc/guix.texi:26040
#, fuzzy
msgid "When @code{use-percentage-for-policy?} is @code{#t}, this sets the percentage at which action will be taken."
msgstr "当 @code{use-percentage-for-policy?} 为 @code{#t} 时,这设置采取行动的百分比。"

#. type: item
#: guix-git/doc/guix.texi:26041
#, fuzzy, no-wrap
msgid "@code{time-low} (default: @code{1200})"
msgstr "@code{time-low}(默认:@code{1200})"

#. type: table
#: guix-git/doc/guix.texi:26044
#, fuzzy
msgid "When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining in seconds at which the battery is considered low."
msgstr "当 @code{use-time-for-policy?} 为 @code{#f} 时,这设置电池被认为低电量的剩余时间(以秒为单位)。"

#. type: item
#: guix-git/doc/guix.texi:26045
#, fuzzy, no-wrap
msgid "@code{time-critical} (default: @code{300})"
msgstr "@code{time-critical}(默认:@code{300})"

#. type: table
#: guix-git/doc/guix.texi:26048
#, fuzzy
msgid "When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining in seconds at which the battery is considered critical."
msgstr "当 @code{use-time-for-policy?} 为 @code{#f} 时,这设置电池被认为是临界的剩余时间(以秒为单位)。"

#. type: item
#: guix-git/doc/guix.texi:26049
#, fuzzy, no-wrap
msgid "@code{time-action} (default: @code{120})"
msgstr "@code{time-action}(默认:@code{120})"

#. type: table
#: guix-git/doc/guix.texi:26052
#, fuzzy
msgid "When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining in seconds at which action will be taken."
msgstr "当 @code{use-time-for-policy?} 为 @code{#f} 时,这设置采取行动的剩余时间(以秒为单位)。"

#. type: item
#: guix-git/doc/guix.texi:26053
#, fuzzy, no-wrap
msgid "@code{critical-power-action} (default: @code{'hybrid-sleep})"
msgstr "@code{critical-power-action}(默认:@code{'hybrid-sleep})"

#. type: table
#: guix-git/doc/guix.texi:26056
#, fuzzy
msgid "The action taken when @code{percentage-action} or @code{time-action} is reached (depending on the configuration of @code{use-percentage-for-policy?})."
msgstr "当达到 @code{percentage-action} 或 @code{time-action} 时采取的行动(取决于 @code{use-percentage-for-policy?} 的配置)。"

#. type: table
#: guix-git/doc/guix.texi:26058 guix-git/doc/guix.texi:26244
#: guix-git/doc/guix.texi:26276 guix-git/doc/guix.texi:26296
#: guix-git/doc/guix.texi:26517 guix-git/doc/guix.texi:26535
#: guix-git/doc/guix.texi:26566 guix-git/doc/guix.texi:26579
#: guix-git/doc/guix.texi:26629
#, fuzzy
msgid "Possible values are:"
msgstr "可能的值为:"

#. type: code{#1}
#: guix-git/doc/guix.texi:26062
#, fuzzy
msgid "'power-off"
msgstr "'关机"

#. type: code{#1}
#: guix-git/doc/guix.texi:26065
#, fuzzy
msgid "'hibernate"
msgstr "'休眠"

#. type: itemize
#: guix-git/doc/guix.texi:26068
#, fuzzy
msgid "@code{'hybrid-sleep}."
msgstr "@code{'hybrid-sleep}。"

#. type: defvar
#: guix-git/doc/guix.texi:26073
#, fuzzy, no-wrap
msgid "udisks-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26084
#, fuzzy
msgid "Type for the service that runs @uref{https://udisks.freedesktop.org/docs/latest/, UDisks}, a @dfn{disk management} daemon that provides user interfaces with notifications and ways to mount/unmount disks.  Programs that talk to UDisks include the @command{udisksctl} command, part of UDisks, and GNOME Disks.  Note that Udisks relies on the @command{mount} command, so it will only be able to use the file-system utilities installed in the system profile.  For example if you want to be able to mount NTFS file-systems in read and write fashion, you'll need to have @code{ntfs-3g} installed system-wide."
msgstr "用于运行 @uref{https://udisks.freedesktop.org/docs/latest/, UDisks} 的服务类型,这是一个 @dfn{磁盘管理} 守护进程,提供用户界面、通知以及挂载/卸载磁盘的方式。与 UDisks 通信的程序包括 @command{udisksctl} 命令(UDisks 的一部分)和 GNOME Disks。请注意,UDisks 依赖于 @command{mount} 命令,因此它只能使用系统配置文件中安装的文件系统工具。例如,如果您希望能够以读写方式挂载 NTFS 文件系统,则需要在系统范围内安装 @code{ntfs-3g}。"

#. type: defvar
#: guix-git/doc/guix.texi:26086
#, fuzzy
msgid "The value for this service is a @code{<udisks-configuration>} object."
msgstr "此服务的值是一个 @code{<udisks-configuration>} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:26088
#, fuzzy, no-wrap
msgid "{Data Type} udisks-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:26090
#, fuzzy
msgid "Data type representing the configuration for @code{udisks-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:26092
#, fuzzy, no-wrap
msgid "@code{udisks} (default: @code{udisks}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:26094
#, fuzzy
msgid "Package object for UDisks."
msgstr "UDisks 的包对象。"

#. type: defvar
#: guix-git/doc/guix.texi:26098
#, fuzzy, no-wrap
msgid "gvfs-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26103
#, fuzzy
msgid "Type for the service that provides virtual file systems for GIO applications, which enables support for @code{trash://}, @code{ftp://}, @code{sftp://} and many other location schemas in file managers like Nautilus (GNOME Files) and Thunar."
msgstr "提供虚拟文件系统的服务类型,供 GIO 应用程序使用,使文件管理器(如 Nautilus(GNOME 文件)和 Thunar)支持 @code{trash://}、@code{ftp://}、@code{sftp://} 以及许多其他位置方案。"

#. type: defvar
#: guix-git/doc/guix.texi:26105
#, fuzzy
msgid "The value for this service is a @code{<gvfs-configuration>} object."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:26107
#, fuzzy, no-wrap
msgid "{Data Type} gvfs-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:26109
#, fuzzy
msgid "Data type representing the configuration for @code{gvfs-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:26111
#, fuzzy, no-wrap
msgid "@code{gvfs} (default: @code{gvfs}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:26113
#, fuzzy
msgid "Package object for GVfs."
msgstr "软件包模块"

#. type: defvar
#: guix-git/doc/guix.texi:26117
#, fuzzy, no-wrap
msgid "colord-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26124
#, fuzzy
msgid "This is the type of the service that runs @command{colord}, a system service with a D-Bus interface to manage the color profiles of input and output devices such as screens and scanners.  It is notably used by the GNOME Color Manager graphical tool.  See @uref{https://www.freedesktop.org/software/colord/, the colord web site} for more information."
msgstr "这是运行 @command{colord} 的服务类型,这是一个具有 D-Bus 接口的系统服务,用于管理输入和输出设备(如屏幕和扫描仪)的颜色配置文件。它特别被 GNOME Color Manager 图形工具使用。有关更多信息,请参见 @uref{https://www.freedesktop.org/software/colord/, colord 网站}。"

#. type: cindex
#: guix-git/doc/guix.texi:26126
#, fuzzy, no-wrap
msgid "scanner access"
msgstr "扫描仪访问"

#. type: defvar
#: guix-git/doc/guix.texi:26127
#, fuzzy, no-wrap
msgid "sane-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26133
#, fuzzy
msgid "This service provides access to scanners @i{via} @uref{http://www.sane-project.org, SANE} by installing the necessary udev rules.  It is included in @code{%desktop-services} (@pxref{Desktop Services}) and relies by default on @code{sane-backends-minimal} package (see below) for hardware support."
msgstr "此服务通过安装必要的 udev 规则提供对扫描仪的访问 @i{通过} @uref{http://www.sane-project.org, SANE}。它包含在 @code{%desktop-services} (@pxref{Desktop Services}) 中,并默认依赖于 @code{sane-backends-minimal} 包(见下文)以提供硬件支持。"

#. type: defvar
#: guix-git/doc/guix.texi:26135
#, fuzzy, no-wrap
msgid "sane-backends-minimal"
msgstr "sane-backends-minimal"

#. type: defvar
#: guix-git/doc/guix.texi:26138
#, fuzzy
msgid "The default package which the @code{sane-service-type} installs.  It supports many recent scanners."
msgstr "@code{sane-service-type} 安装的默认包。它支持许多最近的扫描仪。"

#. type: defvar
#: guix-git/doc/guix.texi:26140
#, fuzzy, no-wrap
msgid "sane-backends"
msgstr "sane-backends"

#. type: defvar
#: guix-git/doc/guix.texi:26147
#, fuzzy
msgid "This package includes support for all scanners that @code{sane-backends-minimal} supports, plus older Hewlett-Packard scanners supported by @code{hplip} package.  In order to use this on a system which relies on @code{%desktop-services}, you may use @code{modify-services} (@pxref{Service Reference, @code{modify-services}}) as illustrated below:"
msgstr "此包包括对所有 @code{sane-backends-minimal} 支持的扫描仪的支持,以及由 @code{hplip} 包支持的旧款惠普扫描仪。为了在依赖 @code{%desktop-services} 的系统上使用此功能,您可以使用 @code{modify-services} (@pxref{Service Reference, @code{modify-services}}),如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:26156
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu))\n"
"(use-service-modules\n"
"  @dots{}\n"
"  desktop)\n"
"(use-package-modules\n"
"  @dots{}\n"
"  scanner)\n"
"\n"
msgstr ""
"(使用模块 (gnu))\n"
"(使用服务模块\n"
"  @dots{}\n"
"  桌面)\n"
"(使用软件包模块\n"
"  @dots{}\n"
"  扫描仪)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:26161
#, fuzzy, no-wrap
msgid ""
"(define %my-desktop-services\n"
"  ;; List of desktop services that supports a broader range of scanners.\n"
"  (modify-services %desktop-services\n"
"    (sane-service-type _ => sane-backends)))\n"
"\n"
msgstr ""
"(定义 %my-desktop-services\n"
"  ;; 支持更广泛扫描仪的桌面服务列表。\n"
"  (修改服务 %desktop-services\n"
"    (sane-service-type _ => sane-backends)))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:26165
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  @dots{}\n"
"  (services %my-desktop-services))\n"
msgstr ""
"(操作系统\n"
"  @dots{}\n"
"  (服务 %my-desktop-services))\n"

#. type: deffn
#: guix-git/doc/guix.texi:26168
#, fuzzy, no-wrap
msgid "{Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()]"
msgstr "{过程} geoclue-application 名称 [#:allowed? #t] [#:system? #f] [#:users '()]"

#. type: deffn
#: guix-git/doc/guix.texi:26177
#, fuzzy
msgid "Return a configuration allowing an application to access GeoClue location data.  @var{name} is the Desktop ID of the application, without the @code{.desktop} part.  If @var{allowed?} is true, the application will have access to location information by default.  The boolean @var{system?} value indicates whether an application is a system component or not.  Finally @var{users} is a list of UIDs of all users for which this application is allowed location info access.  An empty users list means that all users are allowed."
msgstr "返回一个配置,允许应用程序访问 GeoClue 位置数据。 @var{name} 是应用程序的桌面 ID,不包括 @code{.desktop} 部分。如果 @var{allowed?} 为真,则应用程序默认将访问位置信息。布尔值 @var{system?} 指示应用程序是否为系统组件。最后,@var{users} 是一个 UID 列表,表示允许该应用程序访问位置信息的所有用户。空用户列表意味着所有用户都被允许。"

#. type: defvar
#: guix-git/doc/guix.texi:26179
#, fuzzy, no-wrap
msgid "%standard-geoclue-applications"
msgstr "%standard-geoclue-applications"

#. type: defvar
#: guix-git/doc/guix.texi:26186
#, fuzzy
msgid "The standard list of well-known GeoClue application configurations, granting authority to the GNOME date-and-time utility to ask for the current location in order to set the time zone, and allowing the IceCat and Epiphany web browsers to request location information.  IceCat and Epiphany both query the user before allowing a web page to know the user's location."
msgstr "标准的知名 GeoClue 应用程序配置列表,授权 GNOME 日期和时间工具请求当前位置信息以设置时区,并允许 IceCat 和 Epiphany 网络浏览器请求位置信息。IceCat 和 Epiphany 在允许网页知道用户位置之前都会询问用户。"

#. type: defvar
#: guix-git/doc/guix.texi:26188
#, fuzzy, no-wrap
msgid "geoclue-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26194
#, fuzzy
msgid "Type for the service that runs the @url{https://wiki.freedesktop.org/www/Software/GeoClue/, GeoClue} location service.  This service provides a D-Bus interface to allow applications to request access to a user's physical location, and optionally to add information to online location databases."
msgstr "运行 @url{https://wiki.freedesktop.org/www/Software/GeoClue/, GeoClue} 位置服务的服务类型。该服务提供 D-Bus 接口,允许应用程序请求访问用户的物理位置,并可选择向在线位置数据库添加信息。"

#. type: defvar
#: guix-git/doc/guix.texi:26196
#, fuzzy
msgid "The value for this service is a @code{<geoclue-configuration>} object."
msgstr "该服务的值是一个 @code{<geoclue-configuration>} 对象。"

#. type: defvar
#: guix-git/doc/guix.texi:26201
#, fuzzy, no-wrap
msgid "bluetooth-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26206
#, fuzzy
msgid "This is the type for the @uref{https://bluez.org/, Linux Bluetooth Protocol Stack} (BlueZ) system, which generates the @file{/etc/bluetooth/main.conf} configuration file.  The value for this type is a @command{bluetooth-configuration} record as in this example:"
msgstr "这是 @uref{https://bluez.org/, Linux 蓝牙协议栈} (BlueZ) 系统的类型,它生成 @file{/etc/bluetooth/main.conf} 配置文件。该类型的值是一个 @command{bluetooth-configuration} 记录,如下例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:26209
#, fuzzy, no-wrap
msgid "(service bluetooth-service-type)\n"
msgstr "(服务 bluetooth-service-type)\n"

#. type: defvar
#: guix-git/doc/guix.texi:26212
#, fuzzy
msgid "See below for details about @code{bluetooth-configuration}."
msgstr "有关 @code{bluetooth-configuration} 的详细信息,请参见下文。"

#. type: deftp
#: guix-git/doc/guix.texi:26214
#, fuzzy, no-wrap
msgid "{Data Type} bluetooth-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:26216
#, fuzzy
msgid "Data type representing the configuration for @code{bluetooth-service}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:26218
#, fuzzy, no-wrap
msgid "@code{bluez} (default: @code{bluez})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:26220
#, fuzzy
msgid "@code{bluez} package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:26221
#, fuzzy, no-wrap
msgid "@code{name} (default: @code{\"BlueZ\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:26223
#, fuzzy
msgid "Default adapter name."
msgstr "仓库monad"

#. type: item
#: guix-git/doc/guix.texi:26224
#, fuzzy, no-wrap
msgid "@code{class} (default: @code{#x000000})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26226
#, fuzzy
msgid "Default device class. Only the major and minor device class bits are considered."
msgstr "默认设备类别。仅考虑主要和次要设备类别位。"

#. type: item
#: guix-git/doc/guix.texi:26227
#, fuzzy, no-wrap
msgid "@code{discoverable-timeout} (default: @code{180})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:26230
#, fuzzy
msgid "How long to stay in discoverable mode before going back to non-discoverable. The value is in seconds."
msgstr "在返回非可发现模式之前,保持可发现模式的时间。该值以秒为单位。"

#. type: item
#: guix-git/doc/guix.texi:26231
#, fuzzy, no-wrap
msgid "@code{always-pairable?} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26233
#, fuzzy
msgid "Always allow pairing even if there are no agents registered."
msgstr "即使没有注册代理,也始终允许配对。"

#. type: item
#: guix-git/doc/guix.texi:26234
#, fuzzy, no-wrap
msgid "@code{pairable-timeout} (default: @code{0})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:26237
#, fuzzy
msgid "How long to stay in pairable mode before going back to non-discoverable. The value is in seconds."
msgstr "在返回非可发现模式之前,保持可配对模式的时间。该值以秒为单位。"

#. type: item
#: guix-git/doc/guix.texi:26238
#, fuzzy, no-wrap
msgid "@code{device-id} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:26242
#, fuzzy
msgid "Use vendor id source (assigner), vendor, product and version information for DID profile support. The values are separated by \":\" and @var{assigner}, @var{VID}, @var{PID} and @var{version}."
msgstr "使用供应商 ID 源(分配者)、供应商、产品和版本信息以支持 DID 配置文件。值用 \":\" 分隔,@var{assigner}、@var{VID}、@var{PID} 和 @var{version}。"

#. type: itemize
#: guix-git/doc/guix.texi:26248
#, fuzzy
msgid "@code{#f} to disable it,"
msgstr "@code{#f} 禁用它,"

#. type: itemize
#: guix-git/doc/guix.texi:26252
#, fuzzy
msgid "@code{\"assigner:1234:5678:abcd\"}, where @var{assigner} is either @code{usb} (default)  or @code{bluetooth}."
msgstr "@code{\"assigner:1234:5678:abcd\"},其中 @var{assigner} 可以是 @code{usb}(默认)或 @code{bluetooth}。"

#. type: item
#: guix-git/doc/guix.texi:26255
#, fuzzy, no-wrap
msgid "@code{reverse-service-discovery?} (default: @code{#t})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:26261
#, fuzzy
msgid "Do reverse service discovery for previously unknown devices that connect to us. For BR/EDR this option is really only needed for qualification since the BITE tester doesn't like us doing reverse SDP for some test cases, for LE this disables the GATT client functionally so it can be used in system which can only operate as peripheral."
msgstr "对连接到我们的先前未知设备进行反向服务发现。对于 BR/EDR,此选项实际上仅在资格认证时需要,因为 BITE 测试器不喜欢我们在某些测试用例中进行反向 SDP,对于 LE,这会禁用 GATT 客户端功能,因此可以在只能作为外设操作的系统中使用。"

#. type: item
#: guix-git/doc/guix.texi:26262
#, fuzzy, no-wrap
msgid "@code{name-resolving?} (default: @code{#t})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26265
#, fuzzy
msgid "Enable name resolving after inquiry. Set it to @code{#f} if you don't need remote devices name and want shorter discovery cycle."
msgstr "在查询后启用名称解析。如果您不需要远程设备名称并希望缩短发现周期,请将其设置为 @code{#f}。"

#. type: item
#: guix-git/doc/guix.texi:26266
#, fuzzy, no-wrap
msgid "@code{debug-keys?} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26270
#, fuzzy
msgid "Enable runtime persistency of debug link keys. Default is false which makes debug link keys valid only for the duration of the connection that they were created for."
msgstr "启用调试链接密钥的运行时持久性。默认值为 false,这使得调试链接密钥仅在创建它们的连接持续期间有效。"

#. type: item
#: guix-git/doc/guix.texi:26271
#, fuzzy, no-wrap
msgid "@code{controller-mode} (default: @code{'dual})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26274
#, fuzzy
msgid "Restricts all controllers to the specified transport. @code{'dual} means both BR/EDR and LE are enabled (if supported by the hardware)."
msgstr "将所有控制器限制为指定的传输。@code{'dual} 表示同时启用 BR/EDR 和 LE(如果硬件支持)。"

#. type: code{#1}
#: guix-git/doc/guix.texi:26280
#, fuzzy
msgid "'dual"
msgstr "'dual"

#. type: code{#1}
#: guix-git/doc/guix.texi:26283
#, fuzzy
msgid "'bredr"
msgstr "'bredr"

#. type: code{#1}
#: guix-git/doc/guix.texi:26286
#, fuzzy
msgid "'le"
msgstr "'le"

#. type: item
#: guix-git/doc/guix.texi:26289
#, fuzzy, no-wrap
msgid "@code{multi-profile} (default: @code{'off})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26294
#, fuzzy
msgid "Enables Multi Profile Specification support. This allows to specify if system supports only Multiple Profiles Single Device (MPSD) configuration or both Multiple Profiles Single Device (MPSD) and Multiple Profiles Multiple Devices (MPMD) configurations."
msgstr "启用多配置文件规范支持。这允许指定系统是否仅支持多配置文件单设备(MPSD)配置或同时支持多配置文件单设备(MPSD)和多配置文件多设备(MPMD)配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:26300
#, fuzzy
msgid "'off"
msgstr "'off"

#. type: code{#1}
#: guix-git/doc/guix.texi:26303
#, fuzzy
msgid "'single"
msgstr "'single"

#. type: code{#1}
#: guix-git/doc/guix.texi:26306
#, fuzzy
msgid "'multiple"
msgstr "'multiple"

#. type: item
#: guix-git/doc/guix.texi:26309
#, fuzzy, no-wrap
msgid "@code{fast-connectable?} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26314
#, fuzzy
msgid "Permanently enables the Fast Connectable setting for adapters that support it. When enabled other devices can connect faster to us, however the tradeoff is increased power consumptions. This feature will fully work only on kernel version 4.1 and newer."
msgstr "永久启用支持快速连接的适配器的设置。当启用时,其他设备可以更快地连接到我们,但代价是增加了功耗。此功能仅在内核版本 4.1 及更高版本上完全有效。"

#. type: item
#: guix-git/doc/guix.texi:26315
#, fuzzy, no-wrap
msgid "@code{privacy} (default: @code{'off})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26317
#, fuzzy
msgid "Default privacy settings."
msgstr "默认隐私设置。"

#. type: itemize
#: guix-git/doc/guix.texi:26321
#, fuzzy
msgid "@code{'off}: Disable local privacy"
msgstr "@code{'off}: 禁用本地隐私"

#. type: itemize
#: guix-git/doc/guix.texi:26326
#, fuzzy
msgid "@code{'network/on}: A device will only accept advertising packets from peer devices that contain private addresses. It may not be compatible with some legacy devices since it requires the use of RPA(s) all the time"
msgstr "@code{'network/on}: 设备仅接受来自包含私有地址的对等设备的广告数据包。由于它始终需要使用 RPA,因此可能与某些旧设备不兼容"

#. type: itemize
#: guix-git/doc/guix.texi:26332
#, fuzzy
msgid "@code{'device}: A device in device privacy mode is only concerned about the privacy of the device and will accept advertising packets from peer devices that contain their Identity Address as well as ones that contain a private address, even if the peer device has distributed its IRK in the past"
msgstr "@code{'device}: 处于设备隐私模式的设备只关注设备的隐私,并将接受来自包含其身份地址的对等设备的广告数据包,以及包含私有地址的广告数据包,即使对等设备之前已分发其 IRK"

#. type: table
#: guix-git/doc/guix.texi:26336
#, fuzzy
msgid "and additionally, if @var{controller-mode} is set to @code{'dual}:"
msgstr "此外,如果 @var{controller-mode} 设置为 @code{'dual}:"

#. type: itemize
#: guix-git/doc/guix.texi:26342
#, fuzzy
msgid "@code{'limited-network}: Apply Limited Discoverable Mode to advertising, which follows the same policy as to BR/EDR that publishes the identity address when discoverable, and Network Privacy Mode for scanning"
msgstr "@code{'limited-network}: 将有限可发现模式应用于广告,这遵循与 BR/EDR 相同的策略,即在可发现时发布身份地址,并在扫描时使用网络隐私模式"

#. type: itemize
#: guix-git/doc/guix.texi:26347
#, fuzzy
msgid "@code{'limited-device}: Apply Limited Discoverable Mode to advertising, which follows the same policy as to BR/EDR that publishes the identity address when discoverable, and Device Privacy Mode for scanning."
msgstr "@code{'limited-device}: 将有限可发现模式应用于广告,这遵循与 BR/EDR 相同的策略,即在可发现时发布身份地址,并在扫描时使用设备隐私模式。"

#. type: item
#: guix-git/doc/guix.texi:26350
#, fuzzy, no-wrap
msgid "@code{just-works-repairing} (default: @code{'never})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:26352
#, fuzzy
msgid "Specify the policy to the JUST-WORKS repairing initiated by peer."
msgstr "指定由对等方发起的 JUST-WORKS 修复的策略。"

#. type: table
#: guix-git/doc/guix.texi:26354 guix-git/doc/guix.texi:26379
#: guix-git/doc/guix.texi:26596
#, fuzzy
msgid "Possible values:"
msgstr "可能的值:"

#. type: code{#1}
#: guix-git/doc/guix.texi:26357
#, fuzzy
msgid "'never"
msgstr "'never"

#. type: code{#1}
#: guix-git/doc/guix.texi:26360
#, fuzzy
msgid "'confirm"
msgstr "'confirm"

#. type: code{#1}
#: guix-git/doc/guix.texi:26363
#, fuzzy
msgid "'always"
msgstr "'always"

#. type: item
#: guix-git/doc/guix.texi:26366
#, fuzzy, no-wrap
msgid "@code{temporary-timeout} (default: @code{30})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26369
#, fuzzy
msgid "How long to keep temporary devices around. The value is in seconds. @code{0} disables the timer completely."
msgstr "保留临时设备的时间。该值以秒为单位。 @code{0} 完全禁用计时器。"

#. type: item
#: guix-git/doc/guix.texi:26370
#, fuzzy, no-wrap
msgid "@code{refresh-discovery?} (default: @code{#t})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:26373
#, fuzzy
msgid "Enables the device to issue an SDP request to update known services when profile is connected."
msgstr "启用设备在配置文件连接时发出 SDP 请求以更新已知服务。"

#. type: item
#: guix-git/doc/guix.texi:26374
#, fuzzy, no-wrap
msgid "@code{experimental} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26377
#, fuzzy
msgid "Enables experimental features and interfaces, alternatively a list of UUIDs can be given."
msgstr "启用实验性功能和接口,或者可以提供 UUID 列表。"

#. type: code{#1}
#: guix-git/doc/guix.texi:26383
#, fuzzy
msgid "#t"
msgstr "#t"

#. type: code{#1}
#: guix-git/doc/guix.texi:26386
#, fuzzy
msgid "#f"
msgstr "#f"

#. type: itemize
#: guix-git/doc/guix.texi:26389 guix-git/doc/guix.texi:26603
#, fuzzy
msgid "@code{(list (uuid <uuid-1>) (uuid <uuid-2>) ...)}."
msgstr "@code{(list (uuid <uuid-1>) (uuid <uuid-2>) ...)}。"

#. type: table
#: guix-git/doc/guix.texi:26392
#, fuzzy
msgid "List of possible UUIDs:"
msgstr "可能的 UUID 列表:"

#. type: itemize
#: guix-git/doc/guix.texi:26395
#, fuzzy
msgid "@code{d4992530-b9ec-469f-ab01-6c481c47da1c}: BlueZ Experimental Debug,"
msgstr "@code{d4992530-b9ec-469f-ab01-6c481c47da1c}: BlueZ 实验性调试,"

#. type: itemize
#: guix-git/doc/guix.texi:26398
#, fuzzy
msgid "@code{671b10b5-42c0-4696-9227-eb28d1b049d6}: BlueZ Experimental Simultaneous Central and Peripheral,"
msgstr "@code{671b10b5-42c0-4696-9227-eb28d1b049d6}: BlueZ 实验性同时中央和外设,"

#. type: itemize
#: guix-git/doc/guix.texi:26401
#, fuzzy
msgid "@code{15c0a148-c273-11ea-b3de-0242ac130004}: BlueZ Experimental LL privacy,"
msgstr "@code{15c0a148-c273-11ea-b3de-0242ac130004}: BlueZ 实验性 LL 隐私,"

#. type: itemize
#: guix-git/doc/guix.texi:26404
#, fuzzy
msgid "@code{330859bc-7506-492d-9370-9a6f0614037f}: BlueZ Experimental Bluetooth Quality Report,"
msgstr "@code{330859bc-7506-492d-9370-9a6f0614037f}: BlueZ 实验性蓝牙质量报告,"

#. type: itemize
#: guix-git/doc/guix.texi:26407
#, fuzzy
msgid "@code{a6695ace-ee7f-4fb9-881a-5fac66c629af}: BlueZ Experimental Offload Codecs."
msgstr "@code{a6695ace-ee7f-4fb9-881a-5fac66c629af}: BlueZ 实验性卸载编解码器。"

#. type: item
#: guix-git/doc/guix.texi:26409
#, fuzzy, no-wrap
msgid "@code{remote-name-request-retry-delay} (default: @code{300})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:26412
#, fuzzy
msgid "The duration to avoid retrying to resolve a peer's name, if the previous try failed."
msgstr "避免重试解析对等方名称的持续时间,如果上一次尝试失败。"

#. type: item
#: guix-git/doc/guix.texi:26413
#, fuzzy, no-wrap
msgid "@code{page-scan-type} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26415
#, fuzzy
msgid "BR/EDR Page scan activity type."
msgstr "BR/EDR 页面扫描活动类型。"

#. type: item
#: guix-git/doc/guix.texi:26416
#, fuzzy, no-wrap
msgid "@code{page-scan-interval} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26418
#, fuzzy
msgid "BR/EDR Page scan activity interval."
msgstr "BR/EDR 页面扫描活动间隔。"

#. type: item
#: guix-git/doc/guix.texi:26419
#, fuzzy, no-wrap
msgid "@code{page-scan-window} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:26421
#, fuzzy
msgid "BR/EDR Page scan activity window."
msgstr "BR/EDR 页面扫描活动窗口。"

#. type: item
#: guix-git/doc/guix.texi:26422
#, fuzzy, no-wrap
msgid "@code{inquiry-scan-type} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26424
#, fuzzy
msgid "BR/EDR Inquiry scan activity type."
msgstr "BR/EDR 查询扫描活动类型。"

#. type: item
#: guix-git/doc/guix.texi:26425
#, fuzzy, no-wrap
msgid "@code{inquiry-scan-interval} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26427
#, fuzzy
msgid "BR/EDR Inquiry scan activity interval."
msgstr "BR/EDR 查询扫描活动间隔。"

#. type: item
#: guix-git/doc/guix.texi:26428
#, fuzzy, no-wrap
msgid "@code{inquiry-scan-window} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26430
#, fuzzy
msgid "BR/EDR Inquiry scan activity window."
msgstr "BR/EDR 查询扫描活动窗口。"

#. type: item
#: guix-git/doc/guix.texi:26431
#, fuzzy, no-wrap
msgid "@code{link-supervision-timeout} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26433
#, fuzzy
msgid "BR/EDR Link supervision timeout."
msgstr "BR/EDR 链接监督超时。"

#. type: item
#: guix-git/doc/guix.texi:26434
#, fuzzy, no-wrap
msgid "@code{page-timeout} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26436
#, fuzzy
msgid "BR/EDR Page timeout."
msgstr "BR/EDR 页面超时。"

#. type: item
#: guix-git/doc/guix.texi:26437
#, fuzzy, no-wrap
msgid "@code{min-sniff-interval} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26439
#, fuzzy
msgid "BR/EDR minimum sniff interval."
msgstr "BR/EDR 最小嗅探间隔。"

#. type: item
#: guix-git/doc/guix.texi:26440
#, fuzzy, no-wrap
msgid "@code{max-sniff-interval} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26442
#, fuzzy
msgid "BR/EDR maximum sniff interval."
msgstr "BR/EDR 最大嗅探间隔。"

#. type: item
#: guix-git/doc/guix.texi:26443
#, fuzzy, no-wrap
msgid "@code{min-advertisement-interval} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26445
#, fuzzy
msgid "LE minimum advertisement interval (used for legacy advertisement only)."
msgstr "LE 最小广告间隔(仅用于传统广告)。"

#. type: item
#: guix-git/doc/guix.texi:26446
#, fuzzy, no-wrap
msgid "@code{max-advertisement-interval} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26448
#, fuzzy
msgid "LE maximum advertisement interval (used for legacy advertisement only)."
msgstr "LE 最大广告间隔(仅用于传统广告)。"

#. type: item
#: guix-git/doc/guix.texi:26449
#, fuzzy, no-wrap
msgid "@code{multi-advertisement-rotation-interval} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26451
#, fuzzy
msgid "LE multiple advertisement rotation interval."
msgstr "LE 多重广告轮换间隔。"

#. type: item
#: guix-git/doc/guix.texi:26452
#, fuzzy, no-wrap
msgid "@code{scan-interval-auto-connect} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26454
#, fuzzy
msgid "LE scanning interval used for passive scanning supporting auto connect."
msgstr "LE 扫描间隔,用于支持自动连接的被动扫描。"

#. type: item
#: guix-git/doc/guix.texi:26455
#, fuzzy, no-wrap
msgid "@code{scan-window-auto-connect} (default: @code{#f})"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26457
#, fuzzy
msgid "LE scanning window used for passive scanning supporting auto connect."
msgstr "LE 扫描窗口,用于支持自动连接的被动扫描。"

#. type: item
#: guix-git/doc/guix.texi:26458
#, fuzzy, no-wrap
msgid "@code{scan-interval-suspend} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:26460
#, fuzzy
msgid "LE scanning interval used for active scanning supporting wake from suspend."
msgstr "LE 扫描间隔,用于支持从挂起状态唤醒的主动扫描。"

#. type: item
#: guix-git/doc/guix.texi:26461
#, fuzzy, no-wrap
msgid "@code{scan-window-suspend} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26463
#, fuzzy
msgid "LE scanning window used for active scanning supporting wake from suspend."
msgstr "LE 扫描窗口,用于支持从挂起状态唤醒的主动扫描。"

#. type: item
#: guix-git/doc/guix.texi:26464
#, fuzzy, no-wrap
msgid "@code{scan-interval-discovery} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:26466
#, fuzzy
msgid "LE scanning interval used for active scanning supporting discovery."
msgstr "LE 扫描间隔,用于支持发现的主动扫描。"

#. type: item
#: guix-git/doc/guix.texi:26467
#, fuzzy, no-wrap
msgid "@code{scan-window-discovery} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:26469
#, fuzzy
msgid "LE scanning window used for active scanning supporting discovery."
msgstr "LE 扫描窗口,用于支持发现的主动扫描。"

#. type: item
#: guix-git/doc/guix.texi:26470
#, fuzzy, no-wrap
msgid "@code{scan-interval-adv-monitor} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:26472
#, fuzzy
msgid "LE scanning interval used for passive scanning supporting the advertisement monitor APIs."
msgstr "LE 扫描间隔,用于支持广告监控 API 的被动扫描。"

#. type: item
#: guix-git/doc/guix.texi:26473
#, fuzzy, no-wrap
msgid "@code{scan-window-adv-monitor} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26475
#, fuzzy
msgid "LE scanning window used for passive scanning supporting the advertisement monitor APIs."
msgstr "LE 扫描窗口,用于支持广告监控 API 的被动扫描。"

#. type: item
#: guix-git/doc/guix.texi:26476
#, fuzzy, no-wrap
msgid "@code{scan-interval-connect} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26478
#, fuzzy
msgid "LE scanning interval used for connection establishment."
msgstr "LE 扫描间隔,用于连接建立。"

#. type: item
#: guix-git/doc/guix.texi:26479
#, fuzzy, no-wrap
msgid "@code{scan-window-connect} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26481
#, fuzzy
msgid "LE scanning window used for connection establishment."
msgstr "LE 扫描窗口,用于连接建立。"

#. type: item
#: guix-git/doc/guix.texi:26482
#, fuzzy, no-wrap
msgid "@code{min-connection-interval} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26485
#, fuzzy
msgid "LE default minimum connection interval. This value is superseded by any specific value provided via the Load Connection Parameters interface."
msgstr "LE 默认最小连接间隔。此值被通过加载连接参数接口提供的任何特定值所取代。"

#. type: item
#: guix-git/doc/guix.texi:26486
#, fuzzy, no-wrap
msgid "@code{max-connection-interval} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26489
#, fuzzy
msgid "LE default maximum connection interval. This value is superseded by any specific value provided via the Load Connection Parameters interface."
msgstr "LE 默认最大连接间隔。此值被通过加载连接参数接口提供的任何特定值所取代。"

#. type: item
#: guix-git/doc/guix.texi:26490
#, fuzzy, no-wrap
msgid "@code{connection-latency} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26493
#, fuzzy
msgid "LE default connection latency. This value is superseded by any specific value provided via the Load Connection Parameters interface."
msgstr "LE 默认连接延迟。此值被通过加载连接参数接口提供的任何特定值所取代。"

#. type: item
#: guix-git/doc/guix.texi:26494
#, fuzzy, no-wrap
msgid "@code{connection-supervision-timeout} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26497
#, fuzzy
msgid "LE default connection supervision timeout. This value is superseded by any specific value provided via the Load Connection Parameters interface."
msgstr "LE 默认连接监督超时。此值被通过加载连接参数接口提供的任何特定值所取代。"

#. type: item
#: guix-git/doc/guix.texi:26498
#, fuzzy, no-wrap
msgid "@code{autoconnect-timeout} (default: @code{#f})"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26501
#, fuzzy
msgid "LE default autoconnect timeout. This value is superseded by any specific value provided via the Load Connection Parameters interface."
msgstr "LE 默认自动连接超时。此值被通过加载连接参数接口提供的任何特定值所取代。"

#. type: item
#: guix-git/doc/guix.texi:26502
#, fuzzy, no-wrap
msgid "@code{adv-mon-allowlist-scan-duration} (default: @code{300})"
msgstr "@code{max-journal-depth}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26505
#, fuzzy
msgid "Allowlist scan duration during interleaving scan. Only used when scanning for ADV monitors. The units are msec."
msgstr "在交错扫描期间的允许列表扫描持续时间。仅在扫描 ADV 监控器时使用。单位为毫秒。"

#. type: item
#: guix-git/doc/guix.texi:26506
#, fuzzy, no-wrap
msgid "@code{adv-mon-no-filter-scan-duration} (default: @code{500})"
msgstr "@code{max-journal-depth}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26509
#, fuzzy
msgid "No filter scan duration during interleaving scan. Only used when scanning for ADV monitors. The units are msec."
msgstr "在交错扫描期间没有过滤扫描持续时间。仅在扫描ADV监视器时使用。单位为毫秒。"

#. type: item
#: guix-git/doc/guix.texi:26510
#, fuzzy, no-wrap
msgid "@code{enable-adv-mon-interleave-scan?} (default: @code{#t})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:26512
#, fuzzy
msgid "Enable/Disable Advertisement Monitor interleave scan for power saving."
msgstr "启用/禁用广告监视器交错扫描以节省电力。"

#. type: item
#: guix-git/doc/guix.texi:26513
#, fuzzy, no-wrap
msgid "@code{cache} (default: @code{'always})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26515
#, fuzzy
msgid "GATT attribute cache."
msgstr "GATT属性缓存。"

#. type: itemize
#: guix-git/doc/guix.texi:26523
#, fuzzy
msgid "@code{'always}: Always cache attributes even for devices not paired, this is recommended as it is best for interoperability, with more consistent reconnection times and enables proper tracking of notifications for all devices"
msgstr "@code{'always}: 始终缓存属性,即使对于未配对的设备,这被推荐,因为它对互操作性最佳,具有更一致的重新连接时间,并能够正确跟踪所有设备的通知"

#. type: itemize
#: guix-git/doc/guix.texi:26526
#, fuzzy
msgid "@code{'yes}: Only cache attributes of paired devices"
msgstr "@code{'yes}: 仅缓存配对设备的属性"

#. type: itemize
#: guix-git/doc/guix.texi:26529
#, fuzzy
msgid "@code{'no}: Never cache attributes."
msgstr "@code{'no}: 从不缓存属性。"

#. type: item
#: guix-git/doc/guix.texi:26531
#, fuzzy, no-wrap
msgid "@code{key-size} (default: @code{0})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26533
#, fuzzy
msgid "Minimum required Encryption Key Size for accessing secured characteristics."
msgstr "访问安全特征所需的最小加密密钥大小。"

#. type: itemize
#: guix-git/doc/guix.texi:26538
#, fuzzy
msgid "@code{0}: Don't care"
msgstr "@code{0}: 不在乎"

#. type: code{#1}
#: guix-git/doc/guix.texi:26541
#, fuzzy
msgid "7 <= N <= 16"
msgstr "7 <= N <= 16"

#. type: item
#: guix-git/doc/guix.texi:26543
#, fuzzy, no-wrap
msgid "@code{exchange-mtu} (default: @code{517})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26545
#, fuzzy
msgid "Exchange MTU size. Possible values are:"
msgstr "交换MTU大小。可能的值为:"

#. type: code{#1}
#: guix-git/doc/guix.texi:26549
#, fuzzy
msgid "23 <= N <= 517"
msgstr "23 <= N <= 517"

#. type: item
#: guix-git/doc/guix.texi:26551
#, fuzzy, no-wrap
msgid "@code{att-channels} (default: @code{3})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26553
#, fuzzy
msgid "Number of ATT channels. Possible values are:"
msgstr "ATT通道的数量。可能的值为:"

#. type: itemize
#: guix-git/doc/guix.texi:26557
#, fuzzy
msgid "@code{1}: Disables EATT"
msgstr "@code{1}: 禁用EATT"

#. type: code{#1}
#: guix-git/doc/guix.texi:26560
#, fuzzy
msgid "2 <= N <= 5"
msgstr "2 <= N <= 5"

#. type: item
#: guix-git/doc/guix.texi:26562
#, fuzzy, no-wrap
msgid "@code{session-mode} (default: @code{'basic})"
msgstr "@code{compression-level}(默认值:@code{3})"

#. type: table
#: guix-git/doc/guix.texi:26564
#, fuzzy
msgid "AVDTP L2CAP signalling channel mode."
msgstr "AVDTP L2CAP信令通道模式。"

#. type: itemize
#: guix-git/doc/guix.texi:26570 guix-git/doc/guix.texi:26583
#, fuzzy
msgid "@code{'basic}: Use L2CAP basic mode"
msgstr "@code{'basic}: 使用L2CAP基本模式"

#. type: itemize
#: guix-git/doc/guix.texi:26573
#, fuzzy
msgid "@code{'ertm}: Use L2CAP enhanced retransmission mode."
msgstr "@code{'ertm}: 使用L2CAP增强重传模式。"

#. type: item
#: guix-git/doc/guix.texi:26575
#, fuzzy, no-wrap
msgid "@code{stream-mode} (default: @code{'basic})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26577
#, fuzzy
msgid "AVDTP L2CAP transport channel mode."
msgstr "AVDTP L2CAP传输通道模式。"

#. type: itemize
#: guix-git/doc/guix.texi:26586
#, fuzzy
msgid "@code{'streaming}: Use L2CAP streaming mode."
msgstr "@code{'streaming}: 使用L2CAP流模式。"

#. type: item
#: guix-git/doc/guix.texi:26588
#, fuzzy, no-wrap
msgid "@code{reconnect-uuids} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:26594
#, fuzzy
msgid "The ReconnectUUIDs defines the set of remote services that should try to be reconnected to in case of a link loss (link supervision timeout). The policy plugin should contain a sane set of values by default, but this list can be overridden here. By setting the list to empty the reconnection feature gets disabled."
msgstr "ReconnectUUIDs定义了在链接丢失(链接监督超时)情况下应尝试重新连接的远程服务集。策略插件应默认包含一组合理的值,但此列表可以在此处被覆盖。通过将列表设置为空,重新连接功能将被禁用。"

#. type: code{#1}
#: guix-git/doc/guix.texi:26600
#, fuzzy
msgid "'()"
msgstr "'()"

#. type: item
#: guix-git/doc/guix.texi:26605
#, fuzzy, no-wrap
msgid "@code{reconnect-attempts} (default: @code{7})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26608
#, fuzzy
msgid "Defines the number of attempts to reconnect after a link lost. Setting the value to 0 disables reconnecting feature."
msgstr "定义在链接丢失后重新连接的尝试次数。将值设置为0将禁用重新连接功能。"

#. type: item
#: guix-git/doc/guix.texi:26609
#, fuzzy, no-wrap
msgid "@code{reconnect-intervals} (default: @code{'(1 2 4 8 16 32 64)})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26613
#, fuzzy
msgid "Defines a list of intervals in seconds to use in between attempts. If the number of attempts defined in @var{reconnect-attempts} is bigger than the list of intervals the last interval is repeated until the last attempt."
msgstr "定义在尝试之间使用的秒数间隔列表。如果在@var{reconnect-attempts}中定义的尝试次数大于间隔列表,则最后一个间隔将重复,直到最后一次尝试。"

#. type: item
#: guix-git/doc/guix.texi:26614
#, fuzzy, no-wrap
msgid "@code{auto-enable?} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26617
#, fuzzy
msgid "Defines option to enable all controllers when they are found. This includes adapters present on start as well as adapters that are plugged in later on."
msgstr "定义在找到控制器时启用所有控制器的选项。这包括启动时存在的适配器以及后续插入的适配器。"

#. type: item
#: guix-git/doc/guix.texi:26618
#, fuzzy, no-wrap
msgid "@code{resume-delay} (default: @code{2})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26623
#, fuzzy
msgid "Audio devices that were disconnected due to suspend will be reconnected on resume. @var{resume-delay} determines the delay between when the controller resumes from suspend and a connection attempt is made. A longer delay is better for better co-existence with Wi-Fi. The value is in seconds."
msgstr "由于挂起而断开的音频设备将在恢复时重新连接。@var{resume-delay}确定控制器从挂起恢复到进行连接尝试之间的延迟。更长的延迟有助于与Wi-Fi更好地共存。该值以秒为单位。"

#. type: item
#: guix-git/doc/guix.texi:26624
#, fuzzy, no-wrap
msgid "@code{rssi-sampling-period} (default: @code{#xFF})"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26627
#, fuzzy
msgid "Default RSSI Sampling Period. This is used when a client registers an advertisement monitor and leaves the RSSISamplingPeriod unset."
msgstr "默认RSSI采样周期。当客户端注册广告监视器并且未设置RSSISamplingPeriod时使用。"

#. type: itemize
#: guix-git/doc/guix.texi:26632
#, fuzzy
msgid "@code{#x0}: Report all advertisements"
msgstr "@code{#x0}: 报告所有广告"

#. type: itemize
#: guix-git/doc/guix.texi:26635
#, fuzzy
msgid "@code{N = #xXX}: Report advertisements every N x 100 msec (range: #x01 to #xFE)"
msgstr "@code{N = #xXX}: 每N x 100毫秒报告广告(范围:#x01到#xFE)"

#. type: itemize
#: guix-git/doc/guix.texi:26638
#, fuzzy
msgid "@code{#xFF}: Report only one advertisement per device during monitoring period."
msgstr "@code{#xFF}: 在监视期间每个设备仅报告一个广告。"

#. type: defvar
#: guix-git/doc/guix.texi:26643
#, fuzzy, no-wrap
msgid "gnome-keyring-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26647
#, fuzzy
msgid "This is the type of the service that adds the @uref{https://wiki.gnome.org/Projects/GnomeKeyring, GNOME Keyring}.  Its value is a @code{gnome-keyring-configuration} object (see below)."
msgstr "这是添加@uref{https://wiki.gnome.org/Projects/GnomeKeyring, GNOME Keyring}的服务类型。其值是一个@code{gnome-keyring-configuration}对象(见下文)。"

#. type: defvar
#: guix-git/doc/guix.texi:26651
#, fuzzy
msgid "This service adds the @code{gnome-keyring} package to the system profile and extends PAM with entries using @code{pam_gnome_keyring.so}, unlocking a user's login keyring when they log in or setting its password with passwd."
msgstr "该服务将@code{gnome-keyring}包添加到系统配置文件,并使用@code{pam_gnome_keyring.so}扩展PAM,在用户登录时解锁其登录密钥环或使用passwd设置其密码。"

#. type: deftp
#: guix-git/doc/guix.texi:26653
#, fuzzy, no-wrap
msgid "{Data Type} gnome-keyring-configuration"
msgstr "{数据类型} gnome-keyring-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:26655
#, fuzzy
msgid "Configuration record for the GNOME Keyring service."
msgstr "GNOME Keyring服务的配置记录。"

#. type: item
#: guix-git/doc/guix.texi:26657
#, fuzzy, no-wrap
msgid "@code{keyring} (default: @code{gnome-keyring})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:26659
#, fuzzy
msgid "The GNOME keyring package to use."
msgstr "要使用的GNOME密钥环包。"

#. type: code{#1}
#: guix-git/doc/guix.texi:26660
#, fuzzy, no-wrap
msgid "pam-services"
msgstr "基础服务"

#. type: table
#: guix-git/doc/guix.texi:26665
#, fuzzy
msgid "A list of @code{(@var{service} . @var{kind})} pairs denoting PAM services to extend, where @var{service} is the name of an existing service to extend and @var{kind} is one of @code{login} or @code{passwd}."
msgstr "一对@code{(@var{service} . @var{kind})}的列表,表示要扩展的PAM服务,其中@var{service}是要扩展的现有服务的名称,@var{kind}是@code{login}或@code{passwd}之一。"

#. type: table
#: guix-git/doc/guix.texi:26671
#, fuzzy
msgid "If @code{login} is given, it adds an optional @code{pam_gnome_keyring.so} to the auth block without arguments and to the session block with @code{auto_start}.  If @code{passwd} is given, it adds an optional @code{pam_gnome_keyring.so} to the password block without arguments."
msgstr "如果给定@code{login},则在auth块中添加一个可选的@code{pam_gnome_keyring.so}(无参数),在session块中添加@code{auto_start}。如果给定@code{passwd},则在密码块中添加一个可选的@code{pam_gnome_keyring.so}(无参数)。"

#. type: table
#: guix-git/doc/guix.texi:26674
#, fuzzy
msgid "By default, this field contains ``gdm-password'' with the value @code{login} and ``passwd'' is with the value @code{passwd}."
msgstr "默认情况下,该字段包含``gdm-password'',其值为@code{login},而``passwd''的值为@code{passwd}。"

#. type: defvar
#: guix-git/doc/guix.texi:26677
#, fuzzy, no-wrap
msgid "seatd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26680
#, fuzzy
msgid "@uref{https://sr.ht/~kennylevinsen/seatd/, seatd} is a minimal seat management daemon."
msgstr "@uref{https://sr.ht/~kennylevinsen/seatd/, seatd}是一个最小的座位管理守护进程。"

#. type: defvar
#: guix-git/doc/guix.texi:26683
#, fuzzy
msgid "Seat management takes care of mediating access to shared devices (graphics, input), without requiring the applications needing access to be root."
msgstr "座位管理负责调解对共享设备(图形、输入)的访问,而不要求需要访问的应用程序为root。"

#. type: lisp
#: guix-git/doc/guix.texi:26689
#, fuzzy, no-wrap
msgid ""
"(append\n"
"  (list\n"
"   ;; make sure seatd is running\n"
"   (service seatd-service-type))\n"
"\n"
msgstr ""
"(附加\n"
"  (列表\n"
"   ;; 确保seatd正在运行\n"
"   (服务 seatd-service-type))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:26692
#, fuzzy, no-wrap
msgid ""
"  ;; normally one would want %base-services\n"
"  %base-services)\n"
"\n"
msgstr ""
"  ;; 通常人们希望 %base-services\n"
"  %base-services)\n"
"\n"

#. type: defvar
#: guix-git/doc/guix.texi:26701
#, fuzzy
msgid "@code{seatd} operates over a UNIX domain socket, with @code{libseat} providing the client side of the protocol.  Applications that acquire access to the shared resources via @code{seatd} (e.g. @code{sway})  need to be able to talk to this socket.  This can be achieved by adding the user they run under to the group owning @code{seatd}'s socket (usually ``seat''), like so:"
msgstr "@code{seatd}通过UNIX域套接字操作,@code{libseat}提供协议的客户端。通过@code{seatd}获取对共享资源访问的应用程序(例如@code{sway})需要能够与此套接字通信。这可以通过将它们运行的用户添加到拥有@code{seatd}套接字的组(通常是``seat'')来实现,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:26712
#, fuzzy, no-wrap
msgid ""
"(user-account\n"
"  (name \"alice\")\n"
"  (group \"users\")\n"
"  (supplementary-groups '(\"wheel\"   ; allow use of sudo, etc.\n"
"                          \"seat\"    ; seat management\n"
"                          \"audio\"   ; sound card\n"
"                          \"video\"   ; video devices such as webcams\n"
"                          \"cdrom\")) ; the good ol' CD-ROM\n"
"  (comment \"Bob's sister\"))\n"
msgstr ""
"(用户账户\n"
"  (名称 \"alice\")\n"
"  (组 \"users\")\n"
"  (补充组 '(\"wheel\"   ; 允许使用 sudo 等\n"
"                          \"seat\"    ; 座位管理\n"
"                          \"audio\"   ; 声卡\n"
"                          \"video\"   ; 视频设备,如网络摄像头\n"
"                          \"cdrom\")) ; 经典的 CD-ROM\n"
"  (备注 \"Bob 的妹妹\"))\n"

#. type: defvar
#: guix-git/doc/guix.texi:26717
#, fuzzy
msgid "Depending on your setup, you will have to not only add regular users, but also system users to this group.  For instance, some greetd greeters require graphics and therefore also need to negotiate with seatd."
msgstr "根据您的设置,您不仅需要添加常规用户,还需要将系统用户添加到此组中。例如,一些 greetd 欢迎程序需要图形,因此也需要与 seatd 协商。"

#. type: deftp
#: guix-git/doc/guix.texi:26720
#, fuzzy, no-wrap
msgid "{Data Type} seatd-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:26722
#, fuzzy
msgid "Configuration record for the seatd daemon service."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:26724
#, fuzzy, no-wrap
msgid "@code{seatd} (default: @code{seatd})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26726
#, fuzzy
msgid "The seatd package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:26727
#, fuzzy, no-wrap
msgid "@code{group} (default: @samp{\"seat\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:26729
#, fuzzy
msgid "Group to own the seatd socket."
msgstr "拥有 seatd 套接字的组。"

#. type: item
#: guix-git/doc/guix.texi:26730
#, fuzzy, no-wrap
msgid "@code{socket} (default: @samp{\"/run/seatd.sock\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:26732
#, fuzzy
msgid "Where to create the seatd socket."
msgstr "创建 seatd 套接字的位置。"

#. type: item
#: guix-git/doc/guix.texi:26733
#, fuzzy, no-wrap
msgid "@code{logfile} (default: @samp{\"/var/log/seatd.log\"})"
msgstr "@code{private-key}(默认值:@file{~root/.ssh/id_rsa})"

#. type: table
#: guix-git/doc/guix.texi:26735
#, fuzzy
msgid "Log file to write to."
msgstr "要写入的日志文件。"

#. type: item
#: guix-git/doc/guix.texi:26736
#, fuzzy, no-wrap
msgid "@code{loglevel} (default: @samp{\"error\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26739
#, fuzzy
msgid "Log level to output logs. Possible values: @samp{\"silent\"}, @samp{\"error\"}, @samp{\"info\"} and @samp{\"debug\"}."
msgstr "输出日志的日志级别。可能的值:@samp{\"silent\"}, @samp{\"error\"}, @samp{\"info\"} 和 @samp{\"debug\"}。"

#. type: cindex
#: guix-git/doc/guix.texi:26747
#, fuzzy, no-wrap
msgid "sound support"
msgstr "声音支持"

#. type: cindex
#: guix-git/doc/guix.texi:26748
#, fuzzy, no-wrap
msgid "ALSA"
msgstr "ALSA"

#. type: cindex
#: guix-git/doc/guix.texi:26749
#, fuzzy, no-wrap
msgid "PulseAudio, sound support"
msgstr "PulseAudio,声音支持"

#. type: Plain text
#: guix-git/doc/guix.texi:26754
#, fuzzy
msgid "The @code{(gnu services sound)} module provides a service to configure the Advanced Linux Sound Architecture (ALSA) system, which makes PulseAudio the preferred ALSA output driver."
msgstr "@code{(gnu services sound)} 模块提供了一项服务,用于配置高级 Linux 声音架构 (ALSA) 系统,使 PulseAudio 成为首选的 ALSA 输出驱动程序。"

#. type: defvar
#: guix-git/doc/guix.texi:26755
#, fuzzy, no-wrap
msgid "alsa-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26760
#, fuzzy
msgid "This is the type for the @uref{https://alsa-project.org/, Advanced Linux Sound Architecture} (ALSA) system, which generates the @file{/etc/asound.conf} configuration file.  The value for this type is a @command{alsa-configuration} record as in this example:"
msgstr "这是 @uref{https://alsa-project.org/, 高级 Linux 声音架构} (ALSA) 系统的类型,它生成 @file{/etc/asound.conf} 配置文件。该类型的值是一个 @command{alsa-configuration} 记录,如下例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:26763
#, fuzzy, no-wrap
msgid "(service alsa-service-type)\n"
msgstr "(服务 alsa-service-type)\n"

#. type: defvar
#: guix-git/doc/guix.texi:26766
#, fuzzy
msgid "See below for details about @code{alsa-configuration}."
msgstr "有关 @code{alsa-configuration} 的详细信息,请参见下文。"

#. type: deftp
#: guix-git/doc/guix.texi:26768
#, fuzzy, no-wrap
msgid "{Data Type} alsa-configuration"
msgstr "{数据类型} alsa-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:26770
#, fuzzy
msgid "Data type representing the configuration for @code{alsa-service}."
msgstr "表示 @code{alsa-service} 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:26772
#, fuzzy, no-wrap
msgid "@code{alsa-plugins} (default: @var{alsa-plugins})"
msgstr "@code{alsa-plugins} (默认值: @var{alsa-plugins})"

#. type: table
#: guix-git/doc/guix.texi:26774
#, fuzzy
msgid "@code{alsa-plugins} package to use."
msgstr "@code{alsa-plugins} 包要使用。"

#. type: item
#: guix-git/doc/guix.texi:26775
#, fuzzy, no-wrap
msgid "@code{pulseaudio?} (default: @var{#t})"
msgstr "@code{pulseaudio?} (默认值: @var{#t})"

#. type: table
#: guix-git/doc/guix.texi:26778
#, fuzzy
msgid "Whether ALSA applications should transparently be made to use the @uref{https://www.pulseaudio.org/, PulseAudio} sound server."
msgstr "是否应透明地使 ALSA 应用程序使用 @uref{https://www.pulseaudio.org/, PulseAudio} 声音服务器。"

#. type: table
#: guix-git/doc/guix.texi:26782
#, fuzzy
msgid "Using PulseAudio allows you to run several sound-producing applications at the same time and to individual control them @i{via} @command{pavucontrol}, among other things."
msgstr "使用 PulseAudio 允许您同时运行多个发声应用程序,并通过 @command{pavucontrol} 等方式单独控制它们。"

#. type: item
#: guix-git/doc/guix.texi:26783
#, fuzzy, no-wrap
msgid "@code{extra-options} (default: @var{\"\"})"
msgstr "@code{extra-options} (默认值: @var{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:26785
#, fuzzy
msgid "String to append to the @file{/etc/asound.conf} file."
msgstr "要附加到 @file{/etc/asound.conf} 文件的字符串。"

#. type: Plain text
#: guix-git/doc/guix.texi:26791
#, fuzzy
msgid "Individual users who want to override the system configuration of ALSA can do it with the @file{~/.asoundrc} file:"
msgstr "希望覆盖 ALSA 系统配置的个人用户可以使用 @file{~/.asoundrc} 文件进行设置:"

#. type: example
#: guix-git/doc/guix.texi:26797
#, fuzzy, no-wrap
msgid ""
"# In guix, we have to specify the absolute path for plugins.\n"
"pcm_type.jack @{\n"
"  lib \"/home/alice/.guix-profile/lib/alsa-lib/libasound_module_pcm_jack.so\"\n"
"@}\n"
"\n"
msgstr ""
"# 在 guix 中,我们必须为插件指定绝对路径。\n"
"pcm_type.jack @{\n"
"  lib \"/home/alice/.guix-profile/lib/alsa-lib/libasound_module_pcm_jack.so\"\n"
"@}\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:26806
#, fuzzy, no-wrap
msgid ""
"# Routing ALSA to jack:\n"
"# <http://jackaudio.org/faq/routing_alsa.html>.\n"
"pcm.rawjack @{\n"
"  type jack\n"
"  playback_ports @{\n"
"    0 system:playback_1\n"
"    1 system:playback_2\n"
"  @}\n"
"\n"
msgstr ""
"# 将 ALSA 路由到 jack:\n"
"# <http://jackaudio.org/faq/routing_alsa.html>。\n"
"pcm.rawjack @{\n"
"  type jack\n"
"  playback_ports @{\n"
"    0 system:playback_1\n"
"    1 system:playback_2\n"
"  @}\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:26812
#, fuzzy, no-wrap
msgid ""
"  capture_ports @{\n"
"    0 system:capture_1\n"
"    1 system:capture_2\n"
"  @}\n"
"@}\n"
"\n"
msgstr ""
"  capture_ports @{\n"
"    0 system:capture_1\n"
"    1 system:capture_2\n"
"  @}\n"
"@}\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:26819
#, fuzzy, no-wrap
msgid ""
"pcm.!default @{\n"
"  type plug\n"
"  slave @{\n"
"    pcm \"rawjack\"\n"
"  @}\n"
"@}\n"
msgstr ""
"pcm.!default @{\n"
"  type plug\n"
"  slave @{\n"
"    pcm \"rawjack\"\n"
"  @}\n"
"@}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:26823
#, fuzzy
msgid "See @uref{https://www.alsa-project.org/main/index.php/Asoundrc} for the details."
msgstr "有关详细信息,请参见 @uref{https://www.alsa-project.org/main/index.php/Asoundrc}。"

#. type: defvar
#: guix-git/doc/guix.texi:26824
#, fuzzy, no-wrap
msgid "pulseaudio-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26828
#, fuzzy
msgid "This is the type for the @uref{https://www.pulseaudio.org/, PulseAudio} sound server.  It exists to allow system overrides of the default settings via @code{pulseaudio-configuration}, see below."
msgstr "这是 @uref{https://www.pulseaudio.org/, PulseAudio} 声音服务器的类型。它的存在是为了允许通过 @code{pulseaudio-configuration} 系统覆盖默认设置,见下文。"

#. type: quotation
#: guix-git/doc/guix.texi:26834
#, fuzzy
msgid "This service overrides per-user configuration files.  If you want PulseAudio to honor configuration files in @file{~/.config/pulse}, you have to unset the environment variables @env{PULSE_CONFIG} and @env{PULSE_CLIENTCONFIG} in your @file{~/.bash_profile}."
msgstr "此服务覆盖每个用户的配置文件。如果您希望 PulseAudio 尊重 @file{~/.config/pulse} 中的配置文件,您必须在 @file{~/.bash_profile} 中取消设置环境变量 @env{PULSE_CONFIG} 和 @env{PULSE_CLIENTCONFIG}。"

#. type: quotation
#: guix-git/doc/guix.texi:26842
#, fuzzy
msgid "This service on its own does not ensure, that the @code{pulseaudio} package exists on your machine.  It merely adds configuration files for it, as detailed below.  In the (admittedly unlikely) case, that you find yourself without a @code{pulseaudio} package, consider enabling it through the @code{alsa-service-type} above."
msgstr "此服务本身并不确保您的机器上存在 @code{pulseaudio} 包。它仅添加配置文件,如下所述。在(诚然不太可能的)情况下,如果您发现自己没有 @code{pulseaudio} 包,请考虑通过上面的 @code{alsa-service-type} 启用它。"

#. type: deftp
#: guix-git/doc/guix.texi:26845
#, fuzzy, no-wrap
msgid "{Data Type} pulseaudio-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:26847
#, fuzzy
msgid "Data type representing the configuration for @code{pulseaudio-service}."
msgstr "表示 @code{pulseaudio-service} 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:26849
#, fuzzy, no-wrap
msgid "@code{client-conf} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:26854
#, fuzzy
msgid "List of settings to set in @file{client.conf}.  Accepts a list of strings or symbol-value pairs.  A string will be inserted as-is with a newline added.  A pair will be formatted as ``key = value'', again with a newline added."
msgstr "要在 @file{client.conf} 中设置的设置列表。接受字符串或符号-值对的列表。字符串将按原样插入,并添加换行符。对将格式化为 ``key = value'',同样添加换行符。"

#. type: item
#: guix-git/doc/guix.texi:26855
#, fuzzy, no-wrap
msgid "@code{daemon-conf} (default: @code{'((flat-volumes . no))})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:26858
#, fuzzy
msgid "List of settings to set in @file{daemon.conf}, formatted just like @var{client-conf}."
msgstr "要在 @file{daemon.conf} 中设置的设置列表,格式与 @var{client-conf} 相同。"

#. type: item
#: guix-git/doc/guix.texi:26859
#, fuzzy, no-wrap
msgid "@code{script-file} (default: @code{(file-append pulseaudio \"/etc/pulse/default.pa\")})"
msgstr "@code{script-file}(默认值:@code{(file-append pulseaudio \"/etc/pulse/default.pa\")})"

#. type: table
#: guix-git/doc/guix.texi:26864
#, fuzzy
msgid "Script file to use as @file{default.pa}.  In case the @code{extra-script-files} field below is used, an @code{.include} directive pointing to @file{/etc/pulse/default.pa.d} is appended to the provided script."
msgstr "用作 @file{default.pa} 的脚本文件。如果下面使用了 @code{extra-script-files} 字段,则会在提供的脚本后附加一个指向 @file{/etc/pulse/default.pa.d} 的 @code{.include} 指令。"

#. type: item
#: guix-git/doc/guix.texi:26865
#, fuzzy, no-wrap
msgid "@code{extra-script-files} (default: @code{'()})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26872
#, fuzzy
msgid "A list of file-like objects defining extra PulseAudio scripts to run at the initialization of the @command{pulseaudio} daemon, after the main @code{script-file}.  The scripts are deployed to the @file{/etc/pulse/default.pa.d} directory; they should have the @samp{.pa} file name extension.  For a reference of the available commands, refer to @command{man pulse-cli-syntax}."
msgstr "一组文件对象,定义在 @command{pulseaudio} 守护进程初始化时运行的额外 PulseAudio 脚本,位于主 @code{script-file} 之后。这些脚本被部署到 @file{/etc/pulse/default.pa.d} 目录;它们应具有 @samp{.pa} 文件名扩展名。有关可用命令的参考,请参阅 @command{man pulse-cli-syntax}。"

#. type: item
#: guix-git/doc/guix.texi:26873
#, fuzzy, no-wrap
msgid "@code{system-script-file} (default: @code{(file-append pulseaudio \"/etc/pulse/system.pa\")})"
msgstr "@code{system-script-file}(默认值:@code{(file-append pulseaudio \"/etc/pulse/system.pa\")})"

#. type: table
#: guix-git/doc/guix.texi:26875
#, fuzzy
msgid "Script file to use as @file{system.pa}."
msgstr "作为 @file{system.pa} 使用的脚本文件。"

#. type: deftp
#: guix-git/doc/guix.texi:26880
#, fuzzy
msgid "The example below sets the default PulseAudio card profile, the default sink and the default source to use for a old SoundBlaster Audigy sound card:"
msgstr "下面的示例设置了默认的 PulseAudio 卡配置、默认的输出设备和默认的输入设备,以供旧款 SoundBlaster Audigy 声卡使用:"

#. type: lisp
#: guix-git/doc/guix.texi:26889
#, fuzzy, no-wrap
msgid ""
"(pulseaudio-configuration\n"
" (extra-script-files\n"
"  (list (plain-file \"audigy.pa\"\n"
"                    (string-append \"\\\n"
"set-card-profile alsa_card.pci-0000_01_01.0 \\\n"
"  output:analog-surround-40+input:analog-mono\n"
"set-default-source alsa_input.pci-0000_01_01.0.analog-mono\n"
"set-default-sink alsa_output.pci-0000_01_01.0.analog-surround-40\\n\")))))\n"
msgstr ""
"(pulseaudio-configuration\n"
" (extra-script-files\n"
"  (list (plain-file \"audigy.pa\"\n"
"                    (string-append \"\\\n"
"set-card-profile alsa_card.pci-0000_01_01.0 \\\n"
"  output:analog-surround-40+input:analog-mono\n"
"set-default-source alsa_input.pci-0000_01_01.0.analog-mono\n"
"set-default-sink alsa_output.pci-0000_01_01.0.analog-surround-40\\n\")))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:26897
#, fuzzy
msgid "Note that @code{pulseaudio-service-type} is part of @code{%desktop-services}; if your operating system declaration was derived from one of the desktop templates, you'll want to adjust the above example to modify the existing @code{pulseaudio-service-type} via @code{modify-services} (@pxref{Service Reference, @code{modify-services}}), instead of defining a new one."
msgstr "请注意,@code{pulseaudio-service-type} 是 @code{%desktop-services} 的一部分;如果您的操作系统声明是从某个桌面模板派生的,您需要调整上述示例,以通过 @code{modify-services} 修改现有的 @code{pulseaudio-service-type}(@pxref{Service Reference, @code{modify-services}}),而不是定义一个新的。"

#. type: defvar
#: guix-git/doc/guix.texi:26900
#, fuzzy, no-wrap
msgid "ladspa-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26903
#, fuzzy
msgid "This service sets the @var{LADSPA_PATH} variable, so that programs, which respect it, e.g.@: PulseAudio, can load LADSPA plugins."
msgstr "该服务设置了 @var{LADSPA_PATH} 变量,以便尊重它的程序,例如 @: PulseAudio,可以加载 LADSPA 插件。"

#. type: defvar
#: guix-git/doc/guix.texi:26906
#, fuzzy
msgid "The following example will setup the service to enable modules from the @code{swh-plugins} package:"
msgstr "以下示例将设置服务以启用来自 @code{swh-plugins} 包的模块:"

#. type: lisp
#: guix-git/doc/guix.texi:26910
#, fuzzy, no-wrap
msgid ""
"(service ladspa-service-type\n"
"         (ladspa-configuration (plugins (list swh-plugins))))\n"
msgstr ""
"(service ladspa-service-type\n"
"         (ladspa-configuration (plugins (list swh-plugins))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:26914
#, fuzzy
msgid "See @uref{http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html} for the details."
msgstr "有关详细信息,请参见 @uref{http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html}。"

#. type: subsubheading
#: guix-git/doc/guix.texi:26917
#, fuzzy, no-wrap
msgid "Speaker Safety Daemon System Service"
msgstr "GSS守护进程服务"

#. type: Plain text
#: guix-git/doc/guix.texi:26923
msgid "@uref{https://github.com/AsahiLinux/speakersafetyd, Speaker Safety Daemon} is a user-space daemon that implements an analogue of the Texas Instruments Smart Amp speaker protection model.  It can be used to protect the speakers on Apple Silicon devices."
msgstr ""

#. type: defvar
#: guix-git/doc/guix.texi:26924
#, fuzzy, no-wrap
msgid "speakersafetyd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26927
#, fuzzy
msgid "This is the type for the @code{speakersafetyd} system service, whose value is a @command{speakersafetyd-configuration} record."
msgstr "这是 @code{ssh-agent} 家庭服务的类型,其值是 @code{home-ssh-agent-configuration} 对象。"

#. type: lisp
#: guix-git/doc/guix.texi:26930
#, fuzzy, no-wrap
msgid "(service speakersafetyd-service-type)\n"
msgstr "(服务 alsa-service-type)\n"

#. type: defvar
#: guix-git/doc/guix.texi:26933
#, fuzzy
msgid "See below for details about @code{speakersafetyd-configuration}."
msgstr "有关 @code{alsa-configuration} 的详细信息,请参见下文。"

#. type: deftp
#: guix-git/doc/guix.texi:26936
#, fuzzy, no-wrap
msgid "{Data Type} speakersafetyd-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:26938
#, fuzzy
msgid "Available @code{speakersafetyd-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:26940
#, fuzzy, no-wrap
msgid "@code{blackbox-directory} (default: @code{\"/var/lib/speakersafetyd/blackbox\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26945
msgid "The directory to which blackbox files are written when the speakers are getting too hot.  The blackbox files contain audio and debug information which the developers of @code{speakersafetyd} might ask for when reporting bugs."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:26946
#, fuzzy, no-wrap
msgid "@code{configuration-directory} (type: file-like)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:26949
msgid "The base directory as a G-expression (@pxref{G-Expressions}) that contains the configuration files of the speaker models."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:26950
#, fuzzy, no-wrap
msgid "@code{maximum-gain-reduction} (default: @code{7}) (type: integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:26952
msgid "Maximum gain reduction before panicking, useful for debugging."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:26953
#, fuzzy, no-wrap
msgid "@code{speakersafetyd} (default: @code{speakersafetyd}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:26955
#, fuzzy
msgid "The Speaker Safety Daemon package to use."
msgstr "要使用的Docker守护进程包。"

#. type: cindex
#: guix-git/doc/guix.texi:26964
#, fuzzy, no-wrap
msgid "searching for a file"
msgstr "代码格式化"

#. type: Plain text
#: guix-git/doc/guix.texi:26968
#, fuzzy
msgid "The services in this section populate @dfn{file databases} that let you search for files on your machine.  These services are provided by the @code{(gnu services admin)} module."
msgstr "本节中的服务填充 @dfn{文件数据库},使您能够在计算机上搜索文件。这些服务由 @code{(gnu services admin)} 模块提供。"

#. type: Plain text
#: guix-git/doc/guix.texi:26974
#, fuzzy
msgid "The first one, @code{file-database-service-type}, periodically runs the venerable @command{updatedb} command (@pxref{Invoking updatedb,,, find, GNU Findutils}).  That command populates a database of file names that you can then search with the @command{locate} command (@pxref{Invoing locate,,, find, GNU Findutils}), as in this example:"
msgstr "第一个服务,@code{file-database-service-type},定期运行久负盛名的 @command{updatedb} 命令(@pxref{Invoking updatedb,,, find, GNU Findutils})。该命令填充一个文件名数据库,您可以使用 @command{locate} 命令(@pxref{Invoing locate,,, find, GNU Findutils})进行搜索,如下例所示:"

#. type: example
#: guix-git/doc/guix.texi:26977
#, fuzzy, no-wrap
msgid "locate important-notes.txt\n"
msgstr "locate important-notes.txt\n"

#. type: Plain text
#: guix-git/doc/guix.texi:26981
#, fuzzy
msgid "You can enable this service with its default settings by adding this snippet to your operating system services:"
msgstr "您可以通过将此代码片段添加到操作系统服务中,以默认设置启用此服务:"

#. type: lisp
#: guix-git/doc/guix.texi:26984
#, fuzzy, no-wrap
msgid "(service file-database-service-type)\n"
msgstr "(service home-znc-service-type)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:26990
#, fuzzy
msgid "This updates the database once a week, excluding files from @file{/gnu/store}---these are more usefully handled by @command{guix locate} (@pxref{Invoking guix locate}).  You can of course provide a custom configuration, as described below."
msgstr "这会每周更新一次数据库,排除来自 @file{/gnu/store} 的文件——这些文件更适合由 @command{guix locate} 处理 (@pxref{Invoking guix locate})。当然,您可以提供自定义配置,如下所述。"

#. type: defvar
#: guix-git/doc/guix.texi:26991
#, fuzzy, no-wrap
msgid "file-database-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:26995
#, fuzzy
msgid "This is the type of the file database service, which runs @command{updatedb} periodically.  Its associated value must be a @code{file-database-configuration} record, as described below."
msgstr "这是文件数据库服务的类型,它定期运行 @command{updatedb}。其关联值必须是 @code{file-database-configuration} 记录,如下所述。"

#. type: deftp
#: guix-git/doc/guix.texi:26997
#, fuzzy, no-wrap
msgid "{Data Type} file-database-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:27000
#, fuzzy
msgid "Record type for the @code{file-database-service-type} configuration, with the following fields:"
msgstr "@code{file-database-service-type} 配置的记录类型,具有以下字段:"

#. type: item
#: guix-git/doc/guix.texi:27002
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{findutils})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:27005
#, fuzzy
msgid "The GNU@tie{}Findutils package from which the @command{updatedb} command is taken."
msgstr "软件包管理命令。"

#. type: item
#: guix-git/doc/guix.texi:27006
#, fuzzy, no-wrap
msgid "@code{schedule} (default: @code{%default-file-database-update-schedule})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:27009
#, fuzzy
msgid "String or G-exp denoting an mcron schedule for the periodic @command{updatedb} job (@pxref{Guile Syntax,,, mcron, GNU@tie{}mcron})."
msgstr "表示周期性 @command{updatedb} 作业的 mcron 调度的字符串或 G-exp (@pxref{Guile Syntax,,, mcron, GNU@tie{}mcron})。"

#. type: item
#: guix-git/doc/guix.texi:27010
#, fuzzy, no-wrap
msgid "@code{excluded-directories} (default @code{%default-file-database-excluded-directories})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:27016
#, fuzzy
msgid "List of regular expressions of directories to ignore when building the file database.  By default, this includes @file{/tmp} and @file{/gnu/store}; the latter should instead be indexed by @command{guix locate} (@pxref{Invoking guix locate}).  This list is passed to the @option{--prunepaths} option of @command{updatedb} (@pxref{Invoking updatedb,,, find, GNU@tie{}Findutils})."
msgstr "在构建文件数据库时要忽略的目录的正则表达式列表。默认情况下,这包括 @file{/tmp} 和 @file{/gnu/store};后者应由 @command{guix locate} 索引 (@pxref{Invoking guix locate})。此列表传递给 @command{updatedb} 的 @option{--prunepaths} 选项 (@pxref{Invoking updatedb,,, find, GNU@tie{}Findutils})。"

#. type: Plain text
#: guix-git/doc/guix.texi:27026
#, fuzzy
msgid "The second service, @code{package-database-service-type}, builds the database used by @command{guix locate}, which lets you search for packages that contain a given file (@pxref{Invoking guix locate}).  The service periodically updates a system-wide database, which will be readily available to anyone running @command{guix locate} on the system.  To use this service with its default settings, add this snippet to your service list:"
msgstr "第二个服务 @code{package-database-service-type} 构建了 @command{guix locate} 使用的数据库,允许您搜索包含给定文件的包 (@pxref{Invoking guix locate})。该服务定期更新系统范围的数据库,任何在系统上运行 @command{guix locate} 的人都可以轻松访问。要使用此服务的默认设置,请将此代码片段添加到您的服务列表中:"

#. type: lisp
#: guix-git/doc/guix.texi:27029
#, fuzzy, no-wrap
msgid "(service package-database-service-type)\n"
msgstr "(service home-znc-service-type)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:27032
#, fuzzy
msgid "This will run @command{guix locate --update} once a week."
msgstr "这将每周运行一次 @command{guix locate --update}。"

#. type: defvar
#: guix-git/doc/guix.texi:27033
#, fuzzy, no-wrap
msgid "package-database-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:27037
#, fuzzy
msgid "This is the service type for periodic @command{guix locate} updates (@pxref{Invoking guix locate}).  Its value must be a @code{package-database-configuration} record, as shown below."
msgstr "这是周期性 @command{guix locate} 更新的服务类型 (@pxref{Invoking guix locate})。其值必须是 @code{package-database-configuration} 记录,如下所示。"

#. type: deftp
#: guix-git/doc/guix.texi:27039
#, fuzzy, no-wrap
msgid "{Data Type} package-database-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:27042
#, fuzzy
msgid "Data type to configure periodic package database updates.  It has the following fields:"
msgstr "配置周期性包数据库更新的数据类型。它具有以下字段:"

#. type: item
#: guix-git/doc/guix.texi:27044
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{guix})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: item
#: guix-git/doc/guix.texi:27047
#, fuzzy, no-wrap
msgid "@code{schedule} (default: @code{%default-package-database-update-schedule})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:27051
#, fuzzy
msgid "String or G-exp denoting an mcron schedule for the periodic @command{guix locate --update} job (@pxref{Guile Syntax,,, mcron, GNU@tie{}mcron})."
msgstr "表示周期性 @command{guix locate --update} 作业的 mcron 调度的字符串或 G-exp (@pxref{Guile Syntax,,, mcron, GNU@tie{}mcron})。"

#. type: item
#: guix-git/doc/guix.texi:27052
#, fuzzy, no-wrap
msgid "@code{method} (default: @code{'store})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:27056
#, fuzzy
msgid "Indexing method for @command{guix locate}.  The default value, @code{'store}, yields a more complete database but is relatively expensive in terms of CPU and input/output."
msgstr "@command{guix locate} 的索引方法。默认值 @code{'store} 生成更完整的数据库,但在 CPU 和输入/输出方面相对昂贵。"

#. type: table
#: guix-git/doc/guix.texi:27060
#, fuzzy
msgid "G-exp denoting the channels to use when updating the database (@pxref{Channels})."
msgstr "G-exp 表示在更新数据库时使用的通道 (@pxref{Channels})."

#. type: cindex
#: guix-git/doc/guix.texi:27068
#, fuzzy, no-wrap
msgid "SQL"
msgstr "SQL"

#. type: Plain text
#: guix-git/doc/guix.texi:27070
#, fuzzy
msgid "The @code{(gnu services databases)} module provides the following services."
msgstr "@code{(gnu services databases)} 模块提供以下服务."

#. type: subsubheading
#: guix-git/doc/guix.texi:27071
#, fuzzy, no-wrap
msgid "PostgreSQL"
msgstr "PostgreSQL"

#. type: defvar
#: guix-git/doc/guix.texi:27073
#, fuzzy, no-wrap
msgid "postgresql-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:27078
#, fuzzy
msgid "The service type for the PostgreSQL database server.  Its value should be a valid @code{postgresql-configuration} object, documented below.  The following example describes a PostgreSQL service with the default configuration."
msgstr "PostgreSQL 数据库服务器的服务类型。其值应为有效的 @code{postgresql-configuration} 对象,下面有文档说明。以下示例描述了具有默认配置的 PostgreSQL 服务."

#. type: lisp
#: guix-git/doc/guix.texi:27083
#, fuzzy, no-wrap
msgid ""
"(service postgresql-service-type\n"
"         (postgresql-configuration\n"
"          (postgresql postgresql)))\n"
msgstr ""
"(service dovecot-service-type\n"
"         (dovecot-configuration\n"
"           (mail-location \"maildir:~/.mail\")))\n"

#. type: defvar
#: guix-git/doc/guix.texi:27089
#, fuzzy
msgid "If the services fails to start, it may be due to an incompatible cluster already present in @var{data-directory}.  Adjust it (or, if you don't need the cluster anymore, delete @var{data-directory}), then restart the service."
msgstr "如果服务无法启动,可能是由于 @var{data-directory} 中已存在不兼容的集群。调整它(或者,如果您不再需要该集群,请删除 @var{data-directory}),然后重新启动服务."

#. type: defvar
#: guix-git/doc/guix.texi:27096
#, fuzzy
msgid "Peer authentication is used by default and the @code{postgres} user account has no shell, which prevents the direct execution of @code{psql} commands as this user.  To use @code{psql}, you can temporarily log in as @code{postgres} using a shell, create a PostgreSQL superuser with the same name as one of the system users and then create the associated database."
msgstr "默认情况下使用对等身份验证,@code{postgres} 用户帐户没有 shell,这阻止了以该用户身份直接执行 @code{psql} 命令。要使用 @code{psql},您可以暂时以 shell 身份登录为 @code{postgres},创建一个与系统用户同名的 PostgreSQL 超级用户,然后创建相关数据库."

#. type: example
#: guix-git/doc/guix.texi:27101
#, fuzzy, no-wrap
msgid ""
"sudo -u postgres -s /bin/sh\n"
"createuser --interactive\n"
"createdb $MY_USER_LOGIN      # Replace appropriately.\n"
msgstr ""
"sudo -u postgres -s /bin/sh\n"
"createuser --interactive\n"
"createdb $MY_USER_LOGIN      # 适当替换.\n"

#. type: deftp
#: guix-git/doc/guix.texi:27104
#, fuzzy, no-wrap
msgid "{Data Type} postgresql-configuration"
msgstr "{数据类型} postgresql-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:27107
#, fuzzy
msgid "Data type representing the configuration for the @code{postgresql-service-type}."
msgstr "表示 @code{postgresql-service-type} 配置的数据类型."

#. type: code{#1}
#: guix-git/doc/guix.texi:27109
#, fuzzy, no-wrap
msgid "postgresql"
msgstr "邮件服务"

#. type: table
#: guix-git/doc/guix.texi:27111
#, fuzzy
msgid "PostgreSQL package to use for the service."
msgstr "用于该服务的 PostgreSQL 包."

#. type: item
#: guix-git/doc/guix.texi:27112
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{5432})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:27114
#, fuzzy
msgid "Port on which PostgreSQL should listen."
msgstr "PostgreSQL 应该监听的端口."

#. type: table
#: guix-git/doc/guix.texi:27117
#, fuzzy
msgid "Locale to use as the default when creating the database cluster."
msgstr "创建数据库集群时使用的默认区域设置."

#. type: item
#: guix-git/doc/guix.texi:27118
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{(postgresql-config-file)})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:27122
#, fuzzy
msgid "The configuration file to use when running PostgreSQL@.  The default behaviour uses the postgresql-config-file record with the default values for the fields."
msgstr "运行 PostgreSQL 时使用的配置文件。默认行为使用 postgresql-config-file 记录及其字段的默认值."

#. type: item
#: guix-git/doc/guix.texi:27123
#, fuzzy, no-wrap
msgid "@code{log-directory} (default: @code{\"/var/log/postgresql\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:27127
#, fuzzy
msgid "The directory where @command{pg_ctl} output will be written in a file named @code{\"pg_ctl.log\"}.  This file can be useful to debug PostgreSQL configuration errors for instance."
msgstr "@command{pg_ctl} 输出将写入名为 @code{\"pg_ctl.log\"} 的文件的目录。此文件在调试 PostgreSQL 配置错误时可能会很有用."

#. type: item
#: guix-git/doc/guix.texi:27128
#, fuzzy, no-wrap
msgid "@code{data-directory} (default: @code{\"/var/lib/postgresql/data\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:27130
#, fuzzy
msgid "Directory in which to store the data."
msgstr "存储数据的目录."

#. type: item
#: guix-git/doc/guix.texi:27131
#, fuzzy, no-wrap
msgid "@code{extension-packages} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: cindex
#: guix-git/doc/guix.texi:27132
#, fuzzy, no-wrap
msgid "postgresql extension-packages"
msgstr "postgresql 扩展包"

#. type: table
#: guix-git/doc/guix.texi:27137
#, fuzzy
msgid "Additional extensions are loaded from packages listed in @var{extension-packages}.  Extensions are available at runtime.  For instance, to create a geographic database using the @code{postgis} extension, a user can configure the postgresql-service as in this example:"
msgstr "从 @var{extension-packages} 中列出的包加载附加扩展。扩展在运行时可用。例如,要使用 @code{postgis} 扩展创建地理数据库,用户可以按以下示例配置 postgresql-service:"

#. type: cindex
#: guix-git/doc/guix.texi:27138
#, fuzzy, no-wrap
msgid "postgis"
msgstr "postgis"

#. type: lisp
#: guix-git/doc/guix.texi:27141
#, fuzzy, no-wrap
msgid ""
"(use-package-modules databases geo)\n"
"\n"
msgstr ""
"(use-package-modules 数据库 geo)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:27154
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ...\n"
"  ;; postgresql is required to run `psql' but postgis is not required for\n"
"  ;; proper operation.\n"
"  (packages (cons* postgresql %base-packages))\n"
"  (services\n"
"    (cons*\n"
"      (service postgresql-service-type\n"
"               (postgresql-configuration\n"
"                (postgresql postgresql)\n"
"                (extension-packages (list postgis))))\n"
"      %base-services)))\n"
msgstr ""
"(操作系统\n"
"  ...\n"
"  ;; postgresql 是运行 `psql` 所必需的,但 postgis 并不是正常操作所必需的。\n"
"  (packages (cons* postgresql %base-packages))\n"
"  (services\n"
"    (cons*\n"
"      (service postgresql-service-type\n"
"               (postgresql-configuration\n"
"                (postgresql postgresql)\n"
"                (extension-packages (list postgis))))\n"
"      %base-services)))\n"

#. type: table
#: guix-git/doc/guix.texi:27158
#, fuzzy
msgid "Then the extension becomes visible and you can initialise an empty geographic database in this way:"
msgstr "然后扩展变得可见,您可以通过以下方式初始化一个空的地理数据库:"

#. type: example
#: guix-git/doc/guix.texi:27165
#, fuzzy, no-wrap
msgid ""
"psql -U postgres\n"
"> create database postgistest;\n"
"> \\connect postgistest;\n"
"> create extension postgis;\n"
"> create extension postgis_topology;\n"
msgstr ""
"psql -U postgres\n"
"> create database postgistest;\n"
"> \\connect postgistest;\n"
"> create extension postgis;\n"
"> create extension postgis_topology;\n"

#. type: table
#: guix-git/doc/guix.texi:27170
#, fuzzy
msgid "There is no need to add this field for contrib extensions such as hstore or dblink as they are already loadable by postgresql.  This field is only required to add extensions provided by other packages."
msgstr "对于像 hstore 或 dblink 这样的 contrib 扩展,不需要添加此字段,因为它们已经可以被 postgresql 加载。此字段仅在添加其他包提供的扩展时需要。"

#. type: item
#: guix-git/doc/guix.texi:27171
#, fuzzy, no-wrap
msgid "@code{create-account?} (default: @code{#t})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:27173
#, fuzzy
msgid "Whether or not the @code{postgres} user and group should be created."
msgstr "是否应该创建 @code{postgres} 用户和组。"

#. type: table
#: guix-git/doc/guix.texi:27178
#, fuzzy
msgid "Explicitly specify the UID of the @code{postgres} daemon account.  You normally do not need to specify this, in which case a free UID will be automatically assigned."
msgstr "明确指定 @code{postgres} 守护进程帐户的 UID。通常情况下,您不需要指定此项,在这种情况下,将自动分配一个空闲的 UID。"

#. type: table
#: guix-git/doc/guix.texi:27181
#, fuzzy
msgid "One situation where this option might be useful is if the @var{data-directory} is located on a mounted network share."
msgstr "此选项可能有用的一种情况是 @var{data-directory} 位于挂载的网络共享上。"

#. type: item
#: guix-git/doc/guix.texi:27182
#, fuzzy, no-wrap
msgid "@code{gid} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:27184
#, fuzzy
msgid "Explicitly specify the GID of the @code{postgres} group."
msgstr "明确指定 @code{postgres} 组的 GID。"

#. type: deftp
#: guix-git/doc/guix.texi:27188
#, fuzzy, no-wrap
msgid "{Data Type} postgresql-config-file"
msgstr "{数据类型} postgresql-config-file"

#. type: deftp
#: guix-git/doc/guix.texi:27194
#, fuzzy
msgid "Data type representing the PostgreSQL configuration file.  As shown in the following example, this can be used to customize the configuration of PostgreSQL@.  Note that you can use any G-expression or filename in place of this record, if you already have a configuration file you'd like to use for example."
msgstr "表示 PostgreSQL 配置文件的数据类型。如以下示例所示,这可以用于自定义 PostgreSQL@ 的配置。请注意,如果您已经有一个想要使用的配置文件,可以在此记录的位置使用任何 G 表达式或文件名。"

#. type: lisp
#: guix-git/doc/guix.texi:27214
#, fuzzy, no-wrap
msgid ""
"(service postgresql-service-type\n"
"         (postgresql-configuration\n"
"          (config-file\n"
"           (postgresql-config-file\n"
"            (log-destination \"stderr\")\n"
"            (hba-file\n"
"             (plain-file \"pg_hba.conf\"\n"
"                         \"\n"
"local\tall\tall\t\t\ttrust\n"
"host\tall\tall\t127.0.0.1/32 \tmd5\n"
"host\tall\tall\t::1/128 \tmd5\"))\n"
"            (extra-config\n"
"             '((\"session_preload_libraries\"     \"auto_explain\")\n"
"               (\"random_page_cost\"              2)\n"
"               (\"auto_explain.log_min_duration\" \"100 ms\")\n"
"               (\"work_mem\"                      \"500 MB\")\n"
"               (\"logging_collector\"             #t)\n"
"               (\"log_directory\"                 \"/var/log/postgresql\")))))))\n"
msgstr ""
"(service postgresql-service-type\n"
"         (postgresql-configuration\n"
"          (config-file\n"
"           (postgresql-config-file\n"
"            (log-destination \"stderr\")\n"
"            (hba-file\n"
"             (plain-file \"pg_hba.conf\"\n"
"                         \"\n"
"local\tall\tall\t\t\ttrust\n"
"host\tall\tall\t127.0.0.1/32 \tmd5\n"
"host\tall\tall\t::1/128 \tmd5\"))\n"
"            (extra-config\n"
"             '((\"session_preload_libraries\"     \"auto_explain\")\n"
"               (\"random_page_cost\"              2)\n"
"               (\"auto_explain.log_min_duration\" \"100 ms\")\n"
"               (\"work_mem\"                      \"500 MB\")\n"
"               (\"logging_collector\"             #t)\n"
"               (\"log_directory\"                 \"/var/log/postgresql\")))))))\n"

#. type: item
#: guix-git/doc/guix.texi:27217
#, fuzzy, no-wrap
msgid "@code{log-destination} (default: @code{\"syslog\"})"
msgstr "@code{authentication-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:27220
#, fuzzy
msgid "The logging method to use for PostgreSQL@.  Multiple values are accepted, separated by commas."
msgstr "用于 PostgreSQL 的日志记录方法。接受多个值,以逗号分隔。"

#. type: item
#: guix-git/doc/guix.texi:27221
#, fuzzy, no-wrap
msgid "@code{hba-file} (default: @code{%default-postgres-hba})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:27224
#, fuzzy
msgid "Filename or G-expression for the host-based authentication configuration."
msgstr "用于基于主机的身份验证配置的文件名或 G 表达式。"

#. type: item
#: guix-git/doc/guix.texi:27225
#, fuzzy, no-wrap
msgid "@code{ident-file} (default: @code{%default-postgres-ident})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:27227
#, fuzzy
msgid "Filename or G-expression for the user name mapping configuration."
msgstr "用于用户名映射配置的文件名或 G 表达式。"

#. type: item
#: guix-git/doc/guix.texi:27228
#, fuzzy, no-wrap
msgid "@code{socket-directory} (default: @code{\"/var/run/postgresql\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:27233
#, fuzzy
msgid "Specifies the directory of the Unix-domain socket(s) on which PostgreSQL is to listen for connections from client applications. If set to @code{\"\"} PostgreSQL does not listen on any Unix-domain sockets, in which case only TCP/IP sockets can be used to connect to the server."
msgstr "指定 PostgreSQL 监听客户端应用程序连接的 Unix 域套接字的目录。如果设置为 @code{\"\"},则 PostgreSQL 不会在任何 Unix 域套接字上监听,此时只能使用 TCP/IP 套接字连接到服务器。"

#. type: table
#: guix-git/doc/guix.texi:27236
#, fuzzy
msgid "By default, the @code{#false} value means the PostgreSQL default value will be used, which is currently @samp{/tmp}."
msgstr "默认情况下,@code{#false} 值意味着将使用 PostgreSQL 的默认值,目前是 @samp{/tmp}。"

#. type: table
#: guix-git/doc/guix.texi:27241
#, fuzzy
msgid "List of additional keys and values to include in the PostgreSQL config file.  Each entry in the list should be a list where the first element is the key, and the remaining elements are the values."
msgstr "要包含在 PostgreSQL 配置文件中的附加键和值的列表。列表中的每个条目应为一个列表,其中第一个元素是键,其余元素是值。"

#. type: table
#: guix-git/doc/guix.texi:27247
#, fuzzy
msgid "The values can be numbers, booleans or strings and will be mapped to PostgreSQL parameters types @code{Boolean}, @code{String}, @code{Numeric}, @code{Numeric with Unit} and @code{Enumerated} described @uref{https://www.postgresql.org/docs/current/config-setting.html, here}."
msgstr "这些值可以是数字、布尔值或字符串,并将映射到 PostgreSQL 参数类型 @code{Boolean}、@code{String}、@code{Numeric}、@code{Numeric with Unit} 和 @code{Enumerated},具体描述见 @uref{https://www.postgresql.org/docs/current/config-setting.html, 这里}。"

#. type: defvar
#: guix-git/doc/guix.texi:27251
#, fuzzy, no-wrap
msgid "postgresql-role-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:27254
#, fuzzy
msgid "This service allows to create PostgreSQL roles and databases after PostgreSQL service start.  Here is an example of its use."
msgstr "此服务允许在 PostgreSQL 服务启动后创建 PostgreSQL 角色和数据库。以下是其使用示例。"

#. type: lisp
#: guix-git/doc/guix.texi:27262
#, fuzzy, no-wrap
msgid ""
"(service postgresql-role-service-type\n"
"            (postgresql-role-configuration\n"
"             (roles\n"
"              (list (postgresql-role\n"
"                     (name \"test\")\n"
"                     (create-database? #t))))))\n"
msgstr ""
"(service postgresql-role-service-type\n"
"            (postgresql-role-configuration\n"
"             (roles\n"
"              (list (postgresql-role\n"
"                     (name \"test\")\n"
"                     (create-database? #t))))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:27266
#, fuzzy
msgid "This service can be extended with extra roles, as in this example:"
msgstr "此服务可以通过额外角色进行扩展,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:27272
#, fuzzy, no-wrap
msgid ""
"(service-extension postgresql-role-service-type\n"
"                   (const (postgresql-role\n"
"                           (name \"alice\")\n"
"                           (create-database? #t))))\n"
msgstr ""
"(service-extension postgresql-role-service-type\n"
"                   (const (postgresql-role\n"
"                           (name \"alice\")\n"
"                           (create-database? #t))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:27275
#, fuzzy, no-wrap
msgid "{Data Type} postgresql-role"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:27281
#, fuzzy
msgid "PostgreSQL manages database access permissions using the concept of roles.  A role can be thought of as either a database user, or a group of database users, depending on how the role is set up.  Roles can own database objects (for example, tables) and can assign privileges on those objects to other roles to control who has access to which objects."
msgstr "PostgreSQL 使用角色的概念来管理数据库访问权限。角色可以被视为数据库用户或数据库用户组,具体取决于角色的设置。角色可以拥有数据库对象(例如,表),并可以将对这些对象的特权分配给其他角色,以控制谁可以访问哪些对象。"

#. type: table
#: guix-git/doc/guix.texi:27285
#, fuzzy
msgid "The role name."
msgstr "仓库monad"

#. type: item
#: guix-git/doc/guix.texi:27286
#, fuzzy, no-wrap
msgid "@code{permissions} (default: @code{'(createdb login)})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:27290
#, fuzzy
msgid "The role permissions list.  Supported permissions are @code{bypassrls}, @code{createdb}, @code{createrole}, @code{login}, @code{replication} and @code{superuser}."
msgstr "角色权限列表。支持的权限有 @code{bypassrls}、@code{createdb}、@code{createrole}、@code{login}、@code{replication} 和 @code{superuser}。"

#. type: item
#: guix-git/doc/guix.texi:27291
#, fuzzy, no-wrap
msgid "@code{create-database?} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:27293
#, fuzzy
msgid "whether to create a database with the same name as the role."
msgstr "是否创建与角色同名的数据库。"

#. type: item
#: guix-git/doc/guix.texi:27294
#, fuzzy, no-wrap
msgid "@code{encoding} (default: @code{\"UTF8\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:27296
#, fuzzy
msgid "The character set to use for storing text in the database."
msgstr "mcron服务。"

#. type: item
#: guix-git/doc/guix.texi:27297
#, fuzzy, no-wrap
msgid "@code{collation} (default: @code{\"en_US.utf8\"})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:27299
#, fuzzy
msgid "The string sort order locale setting."
msgstr "字符串排序顺序的区域设置。"

#. type: item
#: guix-git/doc/guix.texi:27300
#, fuzzy, no-wrap
msgid "@code{ctype} (default: @code{\"en_US.utf8\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:27302
#, fuzzy
msgid "The character classification locale setting."
msgstr "字符分类的区域设置。"

#. type: item
#: guix-git/doc/guix.texi:27303
#, fuzzy, no-wrap
msgid "@code{template} (default: @code{\"template1\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:27307
#, fuzzy
msgid "The default template to copy the new database from when creating it.  Use @code{\"template0\"} for a pristine database with no system-local modifications."
msgstr "创建新数据库时要复制的默认模板。使用 @code{\"template0\"} 来获取没有系统本地修改的干净数据库。"

#. type: deftp
#: guix-git/doc/guix.texi:27311
#, fuzzy, no-wrap
msgid "{Data Type} postgresql-role-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:27314
#, fuzzy
msgid "Data type representing the configuration of @var{postgresql-role-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:27316
#, fuzzy, no-wrap
msgid "@code{host} (default: @code{\"/var/run/postgresql\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:27318
#, fuzzy
msgid "The PostgreSQL host to connect to."
msgstr "要连接的 PostgreSQL 主机。"

#. type: item
#: guix-git/doc/guix.texi:27319
#, fuzzy, no-wrap
msgid "@code{log} (default: @code{\"/var/log/postgresql_roles.log\"})"
msgstr "@code{private-key}(默认值:@file{~root/.ssh/id_rsa})"

#. type: table
#: guix-git/doc/guix.texi:27321
#, fuzzy
msgid "File name of the log file."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:27322
#, fuzzy, no-wrap
msgid "@code{roles} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:27324
#, fuzzy
msgid "The initial PostgreSQL roles to create."
msgstr "要创建的初始 PostgreSQL 角色。"

#. type: subsubheading
#: guix-git/doc/guix.texi:27327
#, fuzzy, no-wrap
msgid "MariaDB/MySQL"
msgstr "MariaDB/MySQL"

#. type: defvar
#: guix-git/doc/guix.texi:27329
#, fuzzy, no-wrap
msgid "mysql-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:27333
#, fuzzy
msgid "This is the service type for a MySQL or MariaDB database server.  Its value is a @code{mysql-configuration} object that specifies which package to use, as well as various settings for the @command{mysqld} daemon."
msgstr "这是 MySQL 或 MariaDB 数据库服务器的服务类型。其值是一个 @code{mysql-configuration} 对象,指定要使用哪个包,以及 @command{mysqld} 守护进程的各种设置。"

#. type: deftp
#: guix-git/doc/guix.texi:27335
#, fuzzy, no-wrap
msgid "{Data Type} mysql-configuration"
msgstr "{数据类型} mysql-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:27337
#, fuzzy
msgid "Data type representing the configuration of @var{mysql-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:27339
#, fuzzy, no-wrap
msgid "@code{mysql} (default: @var{mariadb})"
msgstr "@code{mysql}(默认值:@var{mariadb})"

#. type: table
#: guix-git/doc/guix.texi:27342
#, fuzzy
msgid "Package object of the MySQL database server, can be either @var{mariadb} or @var{mysql}."
msgstr "MySQL 数据库服务器的包对象,可以是 @var{mariadb} 或 @var{mysql}。"

#. type: table
#: guix-git/doc/guix.texi:27345
#, fuzzy
msgid "For MySQL, a temporary root password will be displayed at activation time.  For MariaDB, the root password is empty."
msgstr "对于 MySQL,激活时将显示临时根密码。对于 MariaDB,根密码为空。"

#. type: item
#: guix-git/doc/guix.texi:27346 guix-git/doc/guix.texi:31455
#, fuzzy, no-wrap
msgid "@code{bind-address} (default: @code{\"127.0.0.1\"})"
msgstr "@code{bind-address}(默认值:@code{\"127.0.0.1\"})"

#. type: table
#: guix-git/doc/guix.texi:27349
#, fuzzy
msgid "The IP on which to listen for network connections.  Use @code{\"0.0.0.0\"} to bind to all available network interfaces."
msgstr "监听网络连接的 IP。使用 @code{\"0.0.0.0\"} 绑定到所有可用的网络接口。"

#. type: item
#: guix-git/doc/guix.texi:27350
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{3306})"
msgstr "@code{port}(默认值:@code{3306})"

#. type: table
#: guix-git/doc/guix.texi:27352
#, fuzzy
msgid "TCP port on which the database server listens for incoming connections."
msgstr "数据库服务器监听传入连接的 TCP 端口。"

#. type: item
#: guix-git/doc/guix.texi:27353
#, fuzzy, no-wrap
msgid "@code{socket} (default: @code{\"/run/mysqld/mysqld.sock\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:27355
#, fuzzy
msgid "Socket file to use for local (non-network) connections."
msgstr "用于本地(非网络)连接的套接字文件。"

#. type: table
#: guix-git/doc/guix.texi:27358
#, fuzzy
msgid "Additional settings for the @file{my.cnf} configuration file."
msgstr "@file{my.cnf} 配置文件的附加设置。"

#. type: item
#: guix-git/doc/guix.texi:27359
#, fuzzy, no-wrap
msgid "@code{extra-environment} (default: @code{#~'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:27361
#, fuzzy
msgid "List of environment variables passed to the @command{mysqld} process."
msgstr "传递给 @command{mysqld} 进程的环境变量列表。"

#. type: item
#: guix-git/doc/guix.texi:27362
#, fuzzy, no-wrap
msgid "@code{auto-upgrade?} (default: @code{#t})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:27367
#, fuzzy
msgid "Whether to automatically run @command{mysql_upgrade} after starting the service.  This is necessary to upgrade the @dfn{system schema} after ``major'' updates (such as switching from MariaDB 10.4 to 10.5), but can be disabled if you would rather do that manually."
msgstr "是否在启动服务后自动运行 @command{mysql_upgrade}。这在“重大”更新(例如从 MariaDB 10.4 切换到 10.5)后升级 @dfn{系统模式} 是必要的,但如果您更愿意手动执行,可以禁用此选项。"

#. type: subsubheading
#: guix-git/doc/guix.texi:27371
#, fuzzy, no-wrap
msgid "Memcached"
msgstr "Memcached"

#. type: defvar
#: guix-git/doc/guix.texi:27373
#, fuzzy, no-wrap
msgid "memcached-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:27377
#, fuzzy
msgid "This is the service type for the @uref{https://memcached.org/, Memcached} service, which provides a distributed in memory cache.  The value for the service type is a @code{memcached-configuration} object."
msgstr "这是 @uref{https://memcached.org/, Memcached} 服务的服务类型,该服务提供分布式内存缓存。服务类型的值是一个 @code{memcached-configuration} 对象。"

#. type: lisp
#: guix-git/doc/guix.texi:27381
#, fuzzy, no-wrap
msgid "(service memcached-service-type)\n"
msgstr "(服务 memcached-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:27383
#, fuzzy, no-wrap
msgid "{Data Type} memcached-configuration"
msgstr "{数据类型} memcached-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:27385
#, fuzzy
msgid "Data type representing the configuration of memcached."
msgstr "表示memcached配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:27387
#, fuzzy, no-wrap
msgid "@code{memcached} (default: @code{memcached})"
msgstr "@code{memcached}(默认值:@code{memcached})"

#. type: table
#: guix-git/doc/guix.texi:27389
#, fuzzy
msgid "The Memcached package to use."
msgstr "要使用的Memcached包。"

#. type: item
#: guix-git/doc/guix.texi:27390
#, fuzzy, no-wrap
msgid "@code{interfaces} (default: @code{'(\"0.0.0.0\")})"
msgstr "@code{interfaces}(默认值:@code{'(\"0.0.0.0\")})"

#. type: table
#: guix-git/doc/guix.texi:27392
#, fuzzy
msgid "Network interfaces on which to listen."
msgstr "要监听的网络接口。"

#. type: item
#: guix-git/doc/guix.texi:27393
#, fuzzy, no-wrap
msgid "@code{tcp-port} (default: @code{11211})"
msgstr "@code{tcp-port}(默认值:@code{11211})"

#. type: table
#: guix-git/doc/guix.texi:27395
#, fuzzy
msgid "Port on which to accept connections."
msgstr "接受连接的端口。"

#. type: item
#: guix-git/doc/guix.texi:27396
#, fuzzy, no-wrap
msgid "@code{udp-port} (default: @code{11211})"
msgstr "@code{udp-port}(默认值:@code{11211})"

#. type: table
#: guix-git/doc/guix.texi:27399
#, fuzzy
msgid "Port on which to accept UDP connections on, a value of 0 will disable listening on a UDP socket."
msgstr "接受UDP连接的端口,值为0将禁用在UDP套接字上的监听。"

#. type: item
#: guix-git/doc/guix.texi:27400
#, fuzzy, no-wrap
msgid "@code{additional-options} (default: @code{'()})"
msgstr "@code{additional-options}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:27402
#, fuzzy
msgid "Additional command line options to pass to @code{memcached}."
msgstr "传递给@code{memcached}的额外命令行选项。"

#. type: subsubheading
#: guix-git/doc/guix.texi:27405
#, fuzzy, no-wrap
msgid "Redis"
msgstr "Redis"

#. type: defvar
#: guix-git/doc/guix.texi:27407
#, fuzzy, no-wrap
msgid "redis-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:27410
#, fuzzy
msgid "This is the service type for the @uref{https://redis.io/, Redis} key/value store, whose value is a @code{redis-configuration} object."
msgstr "这是@uref{https://redis.io/, Redis}键/值存储的服务类型,其值是一个@code{redis-configuration}对象。"

#. type: deftp
#: guix-git/doc/guix.texi:27412
#, fuzzy, no-wrap
msgid "{Data Type} redis-configuration"
msgstr "{数据类型} redis-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:27414
#, fuzzy
msgid "Data type representing the configuration of redis."
msgstr "表示redis配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:27416
#, fuzzy, no-wrap
msgid "@code{redis} (default: @code{redis})"
msgstr "@code{redis}(默认值:@code{redis})"

#. type: table
#: guix-git/doc/guix.texi:27418
#, fuzzy
msgid "The Redis package to use."
msgstr "要使用的Redis包。"

#. type: item
#: guix-git/doc/guix.texi:27419
#, fuzzy, no-wrap
msgid "@code{bind} (default: @code{\"127.0.0.1\"})"
msgstr "@code{bind}(默认值:@code{\"127.0.0.1\"})"

#. type: table
#: guix-git/doc/guix.texi:27421
#, fuzzy
msgid "Network interface on which to listen."
msgstr "要监听的网络接口。"

#. type: item
#: guix-git/doc/guix.texi:27422
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{6379})"
msgstr "@code{port}(默认值:@code{6379})"

#. type: table
#: guix-git/doc/guix.texi:27425
#, fuzzy
msgid "Port on which to accept connections on, a value of 0 will disable listening on a TCP socket."
msgstr "接受连接的端口,值为0将禁用在TCP套接字上的监听。"

#. type: item
#: guix-git/doc/guix.texi:27426
#, fuzzy, no-wrap
msgid "@code{working-directory} (default: @code{\"/var/lib/redis\"})"
msgstr "@code{working-directory}(默认值:@code{\"/var/lib/redis\"})"

#. type: table
#: guix-git/doc/guix.texi:27428
#, fuzzy
msgid "Directory in which to store the database and related files."
msgstr "存储数据库和相关文件的目录。"

#. type: cindex
#: guix-git/doc/guix.texi:27434
#, fuzzy, no-wrap
msgid "mail"
msgstr "邮件"

#. type: cindex
#: guix-git/doc/guix.texi:27435 guix-git/doc/guix.texi:29493
#, fuzzy, no-wrap
msgid "email"
msgstr "电子邮件"

#. type: Plain text
#: guix-git/doc/guix.texi:27440
#, fuzzy
msgid "The @code{(gnu services mail)} module provides Guix service definitions for email services: IMAP, POP3, and LMTP servers, as well as mail transport agents (MTAs).  Lots of acronyms! These services are detailed in the subsections below."
msgstr "@code{(gnu services mail)}模块为电子邮件服务提供Guix服务定义:IMAP、POP3和LMTP服务器,以及邮件传输代理(MTA)。很多缩略词!这些服务在下面的子部分中详细说明。"

#. type: subsubheading
#: guix-git/doc/guix.texi:27441
#, fuzzy, no-wrap
msgid "Dovecot Service"
msgstr "Dovecot服务"

#. type: defvar
#: guix-git/doc/guix.texi:27443
#, fuzzy, no-wrap
msgid "dovecot-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:27446
#, fuzzy
msgid "Type for the service that runs the Dovecot IMAP/POP3/LMTP mail server, whose value is a @code{<dovecot-configuration>} object."
msgstr "运行Dovecot IMAP/POP3/LMTP邮件服务器的服务类型,其值是一个@code{<dovecot-configuration>}对象。"

#. type: Plain text
#: guix-git/doc/guix.texi:27456
#, fuzzy
msgid "By default, Dovecot does not need much configuration; the default configuration object created by @code{(dovecot-configuration)} will suffice if your mail is delivered to @code{~/Maildir}.  A self-signed certificate will be generated for TLS-protected connections, though Dovecot will also listen on cleartext ports by default.  There are a number of options, though, which mail administrators might need to change, and as is the case with other services, Guix allows the system administrator to specify these parameters via a uniform Scheme interface."
msgstr "默认情况下,Dovecot不需要太多配置;如果您的邮件发送到@code{~/Maildir},则由@code{(dovecot-configuration)}创建的默认配置对象就足够了。将为TLS保护的连接生成自签名证书,尽管Dovecot默认也会在明文端口上监听。不过,有一些选项,邮件管理员可能需要更改,正如其他服务的情况一样,Guix允许系统管理员通过统一的Scheme接口指定这些参数。"

#. type: Plain text
#: guix-git/doc/guix.texi:27459
#, fuzzy
msgid "For example, to specify that mail is located at @code{maildir~/.mail}, one would instantiate the Dovecot service like this:"
msgstr "例如,要指定邮件位于 @code{maildir~/.mail},可以像这样实例化 Dovecot 服务:"

#. type: lisp
#: guix-git/doc/guix.texi:27464
#, no-wrap
msgid ""
"(service dovecot-service-type\n"
"         (dovecot-configuration\n"
"           (mail-location \"maildir:~/.mail\")))\n"
msgstr ""
"(service dovecot-service-type\n"
"         (dovecot-configuration\n"
"           (mail-location \"maildir:~/.mail\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:27472
#, fuzzy
msgid "The available configuration parameters follow.  Each parameter definition is preceded by its type; for example, @samp{string-list foo} indicates that the @code{foo} parameter should be specified as a list of strings.  There is also a way to specify the configuration as a string, if you have an old @code{dovecot.conf} file that you want to port over from some other system; see the end for more details."
msgstr "可用的配置参数如下。每个参数定义前都有其类型;例如,@samp{string-list foo} 表示 @code{foo} 参数应指定为字符串列表。如果您有一个旧的 @code{dovecot.conf} 文件想要从其他系统迁移过来,还有一种方法可以将配置指定为字符串;有关更多详细信息,请参见最后部分。"

#. type: Plain text
#: guix-git/doc/guix.texi:27482
#, fuzzy
msgid "Available @code{dovecot-configuration} fields are:"
msgstr "可用的 @code{dovecot-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:27483
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} package dovecot"
msgstr "{@code{dovecot-configuration} 参数} 包 dovecot"

#. type: deftypevr
#: guix-git/doc/guix.texi:27485 guix-git/doc/guix.texi:28853
#, fuzzy
msgid "The dovecot package."
msgstr "dovecot 包。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27487
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} package-list extensions"
msgstr "{@code{dovecot-configuration} 参数} 包 dovecot"

#. type: deftypevr
#: guix-git/doc/guix.texi:27491
msgid "A list of additional Dovecot plugin packages to make available at runtime. During service activation, the @file{lib/dovecot} directory from each specified package is combined with Dovecot's core modules into a unified module directory."
msgstr ""

#. type: deftypevr
#: guix-git/doc/guix.texi:27493
#, fuzzy
msgid "For example, to enable Sieve filtering:"
msgstr "例如,使 XlockMore 可用:"

#. type: lisp
#: guix-git/doc/guix.texi:27496
#, no-wrap
msgid "(extensions (list dovecot-pigeonhole))\n"
msgstr ""

#. type: deftypevr
#: guix-git/doc/guix.texi:27502
msgid "Each package in the list must provide its modules at @file{lib/dovecot}, as this is where @code{make-dovecot-moduledir} expects to find its extensions. The service combines these directories to create a unified module structure."
msgstr ""

#. type: deftypevr
#: guix-git/doc/guix.texi:27504
msgid "The default value is an empty list, providing only core Dovecot functionality."
msgstr ""

#. type: deftypevr
#: guix-git/doc/guix.texi:27506
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} comma-separated-string-list listen"
msgstr "{@code{dovecot-configuration} 参数} 逗号分隔字符串列表 listen"

#. type: deftypevr
#: guix-git/doc/guix.texi:27512
#, fuzzy
msgid "A list of IPs or hosts where to listen for connections.  @samp{*} listens on all IPv4 interfaces, @samp{::} listens on all IPv6 interfaces.  If you want to specify non-default ports or anything more complex, customize the address and port fields of the @samp{inet-listener} of the specific services you are interested in."
msgstr "要监听连接的 IP 或主机列表。@samp{*} 在所有 IPv4 接口上监听,@samp{::} 在所有 IPv6 接口上监听。如果您想指定非默认端口或更复杂的内容,请自定义您感兴趣的特定服务的 @samp{inet-listener} 的地址和端口字段。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27514
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} protocol-configuration-list protocols"
msgstr "{@code{dovecot-configuration} 参数} 协议配置列表 protocols"

#. type: deftypevr
#: guix-git/doc/guix.texi:27517
#, fuzzy
msgid "List of protocols we want to serve.  Available protocols include @samp{imap}, @samp{pop3}, and @samp{lmtp}."
msgstr "我们希望提供的协议列表。可用的协议包括 @samp{imap}、@samp{pop3} 和 @samp{lmtp}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27519
#, fuzzy
msgid "Available @code{protocol-configuration} fields are:"
msgstr "可用的 @code{protocol-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:27520
#, fuzzy, no-wrap
msgid "{@code{protocol-configuration} parameter} string name"
msgstr "{@code{protocol-configuration} 参数} 字符串 name"

#. type: deftypevr
#: guix-git/doc/guix.texi:27522
#, fuzzy
msgid "The name of the protocol."
msgstr "协议的名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27524
#, fuzzy, no-wrap
msgid "{@code{protocol-configuration} parameter} string auth-socket-path"
msgstr "{@code{protocol-configuration} 参数} 字符串 auth-socket-path"

#. type: deftypevr
#: guix-git/doc/guix.texi:27528
#, fuzzy
msgid "UNIX socket path to the master authentication server to find users.  This is used by imap (for shared users) and lda.  It defaults to @samp{\"/var/run/dovecot/auth-userdb\"}."
msgstr "用于查找用户的主身份验证服务器的 UNIX 套接字路径。imap(用于共享用户)和 lda 使用此路径。默认值为 @samp{\"/var/run/dovecot/auth-userdb\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27530
#, fuzzy, no-wrap
msgid "{@code{protocol-configuration} parameter} boolean imap-metadata?"
msgstr "{@code{protocol-configuration} 参数} 布尔值 imap-metadata?"

#. type: deftypevr
#: guix-git/doc/guix.texi:27535
#, fuzzy
msgid "Whether to enable the @code{IMAP METADATA} extension as defined in @uref{https://tools.ietf.org/html/rfc5464,RFC@tie{}5464}, which provides a means for clients to set and retrieve per-mailbox, per-user metadata and annotations over IMAP."
msgstr "是否启用 @code{IMAP METADATA} 扩展,如 @uref{https://tools.ietf.org/html/rfc5464,RFC@tie{}5464} 中定义的那样,提供了一种让客户端设置和检索每个邮箱、每个用户的元数据和注释的方法。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27538
#, fuzzy
msgid "If this is @samp{#t}, you must also specify a dictionary @i{via} the @code{mail-attribute-dict} setting."
msgstr "如果这是 @samp{#t},您还必须通过 @code{mail-attribute-dict} 设置指定一个字典 @i{via}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27543
#, fuzzy, no-wrap
msgid "{@code{protocol-configuration} parameter} space-separated-string-list managesieve-notify-capabilities"
msgstr "{@code{protocol-configuration} 参数} 空格分隔字符串列表 managesieve-notify-capabilities"

#. type: deftypevr
#: guix-git/doc/guix.texi:27548
#, fuzzy
msgid "Which NOTIFY capabilities to report to clients that first connect to the ManageSieve service, before authentication.  These may differ from the capabilities offered to authenticated users.  If this field is left empty, report what the Sieve interpreter supports by default."
msgstr "在身份验证之前,向首次连接到 ManageSieve 服务的客户端报告哪些 NOTIFY 功能。这些可能与提供给经过身份验证的用户的功能不同。如果此字段留空,则报告 Sieve 解释器默认支持的内容。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27552
#, fuzzy, no-wrap
msgid "{@code{protocol-configuration} parameter} space-separated-string-list managesieve-sieve-capability"
msgstr "{@code{protocol-configuration} 参数} 空格分隔字符串列表 managesieve-sieve-capability"

#. type: deftypevr
#: guix-git/doc/guix.texi:27557
#, fuzzy
msgid "Which SIEVE capabilities to report to clients that first connect to the ManageSieve service, before authentication.  These may differ from the capabilities offered to authenticated users.  If this field is left empty, report what the Sieve interpreter supports by default."
msgstr "在身份验证之前,向首次连接到 ManageSieve 服务的客户端报告哪些 SIEVE 功能。这些可能与提供给经过身份验证的用户的功能不同。如果此字段留空,则报告 Sieve 解释器默认支持的内容。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27562
#, fuzzy, no-wrap
msgid "{@code{protocol-configuration} parameter} space-separated-string-list mail-plugins"
msgstr "{@code{protocol-configuration} 参数} 空格分隔字符串列表 mail-plugins"

#. type: deftypevr
#: guix-git/doc/guix.texi:27564
#, fuzzy
msgid "Space separated list of plugins to load."
msgstr "要加载的插件的空格分隔列表。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27566
#, fuzzy, no-wrap
msgid "{@code{protocol-configuration} parameter} non-negative-integer mail-max-userip-connections"
msgstr "{@code{protocol-configuration} 参数} 非负整数 mail-max-userip-connections"

#. type: deftypevr
#: guix-git/doc/guix.texi:27570
#, fuzzy
msgid "Maximum number of IMAP connections allowed for a user from each IP address.  NOTE: The username is compared case-sensitively.  Defaults to @samp{10}."
msgstr "每个 IP 地址允许的用户最大 IMAP 连接数。注意:用户名是区分大小写的。默认为 @samp{10}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27574
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} service-configuration-list services"
msgstr "{@code{dovecot-configuration} 参数} 服务配置列表 services"

#. type: deftypevr
#: guix-git/doc/guix.texi:27578
#, fuzzy
msgid "List of services to enable.  Available services include @samp{imap}, @samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and @samp{lmtp}."
msgstr "要启用的服务列表。可用的服务包括 @samp{imap}、@samp{imap-login}、@samp{pop3}、@samp{pop3-login}、@samp{auth} 和 @samp{lmtp}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27580
#, fuzzy
msgid "Available @code{service-configuration} fields are:"
msgstr "可用的 @code{service-configuration} 字段包括:"

#. type: deftypevr
#: guix-git/doc/guix.texi:27581
#, fuzzy, no-wrap
msgid "{@code{service-configuration} parameter} string kind"
msgstr "{@code{service-configuration} 参数} 字符串 kind"

#. type: deftypevr
#: guix-git/doc/guix.texi:27586
#, fuzzy
msgid "The service kind.  Valid values include @code{director}, @code{imap-login}, @code{pop3-login}, @code{lmtp}, @code{imap}, @code{pop3}, @code{auth}, @code{auth-worker}, @code{dict}, @code{tcpwrap}, @code{quota-warning}, or anything else."
msgstr "服务类型。有效值包括 @code{director}、@code{imap-login}、@code{pop3-login}、@code{lmtp}、@code{imap}、@code{pop3}、@code{auth}、@code{auth-worker}、@code{dict}、@code{tcpwrap}、@code{quota-warning} 或其他任何值。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27588
#, fuzzy, no-wrap
msgid "{@code{service-configuration} parameter} listener-configuration-list listeners"
msgstr "{@code{service-configuration} 参数} 监听器配置列表 listeners"

#. type: deftypevr
#: guix-git/doc/guix.texi:27593
#, fuzzy
msgid "Listeners for the service.  A listener is either a @code{unix-listener-configuration}, a @code{fifo-listener-configuration}, or an @code{inet-listener-configuration}.  Defaults to @samp{'()}."
msgstr "服务的监听器。监听器可以是 @code{unix-listener-configuration}、@code{fifo-listener-configuration} 或 @code{inet-listener-configuration}。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27595
#, fuzzy
msgid "Available @code{unix-listener-configuration} fields are:"
msgstr "可用的 @code{unix-listener-configuration} 字段包括:"

#. type: deftypevr
#: guix-git/doc/guix.texi:27596
#, fuzzy, no-wrap
msgid "{@code{unix-listener-configuration} parameter} string path"
msgstr "{@code{unix-listener-configuration} 参数} 字符串 path"

#. type: deftypevr
#: guix-git/doc/guix.texi:27599 guix-git/doc/guix.texi:27622
#, fuzzy
msgid "Path to the file, relative to @code{base-dir} field.  This is also used as the section name."
msgstr "文件的路径,相对于 @code{base-dir} 字段。这也用作节名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27601
#, fuzzy, no-wrap
msgid "{@code{unix-listener-configuration} parameter} string mode"
msgstr "{@code{unix-listener-configuration} 参数} 字符串模式"

#. type: deftypevr
#: guix-git/doc/guix.texi:27604 guix-git/doc/guix.texi:27627
#, fuzzy
msgid "The access mode for the socket.  Defaults to @samp{\"0600\"}."
msgstr "套接字的访问模式。默认为 @samp{\"0600\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27606
#, fuzzy, no-wrap
msgid "{@code{unix-listener-configuration} parameter} string user"
msgstr "{@code{unix-listener-configuration} 参数} 字符串用户"

#. type: deftypevr
#: guix-git/doc/guix.texi:27609 guix-git/doc/guix.texi:27632
#, fuzzy
msgid "The user to own the socket.  Defaults to @samp{\"\"}."
msgstr "拥有套接字的用户。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27611
#, fuzzy, no-wrap
msgid "{@code{unix-listener-configuration} parameter} string group"
msgstr "{@code{unix-listener-configuration} 参数} 字符串组"

#. type: deftypevr
#: guix-git/doc/guix.texi:27614 guix-git/doc/guix.texi:27637
#, fuzzy
msgid "The group to own the socket.  Defaults to @samp{\"\"}."
msgstr "拥有套接字的组。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27618
#, fuzzy
msgid "Available @code{fifo-listener-configuration} fields are:"
msgstr "可用的 @code{fifo-listener-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:27619
#, fuzzy, no-wrap
msgid "{@code{fifo-listener-configuration} parameter} string path"
msgstr "{@code{fifo-listener-configuration} 参数} 字符串路径"

#. type: deftypevr
#: guix-git/doc/guix.texi:27624
#, fuzzy, no-wrap
msgid "{@code{fifo-listener-configuration} parameter} string mode"
msgstr "{@code{fifo-listener-configuration} 参数} 字符串模式"

#. type: deftypevr
#: guix-git/doc/guix.texi:27629
#, fuzzy, no-wrap
msgid "{@code{fifo-listener-configuration} parameter} string user"
msgstr "{@code{fifo-listener-configuration} 参数} 字符串用户"

#. type: deftypevr
#: guix-git/doc/guix.texi:27634
#, fuzzy, no-wrap
msgid "{@code{fifo-listener-configuration} parameter} string group"
msgstr "{@code{fifo-listener-configuration} 参数} 字符串组"

#. type: deftypevr
#: guix-git/doc/guix.texi:27641
#, fuzzy
msgid "Available @code{inet-listener-configuration} fields are:"
msgstr "可用的 @code{inet-listener-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:27642
#, fuzzy, no-wrap
msgid "{@code{inet-listener-configuration} parameter} string protocol"
msgstr "{@code{inet-listener-configuration} 参数} 字符串协议"

#. type: deftypevr
#: guix-git/doc/guix.texi:27644
#, fuzzy
msgid "The protocol to listen for."
msgstr "要监听的协议。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27646
#, fuzzy, no-wrap
msgid "{@code{inet-listener-configuration} parameter} string address"
msgstr "{@code{inet-listener-configuration} 参数} 字符串地址"

#. type: deftypevr
#: guix-git/doc/guix.texi:27649
#, fuzzy
msgid "The address on which to listen, or empty for all addresses.  Defaults to @samp{\"\"}."
msgstr "要监听的地址,或为空以监听所有地址。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27651
#, fuzzy, no-wrap
msgid "{@code{inet-listener-configuration} parameter} non-negative-integer port"
msgstr "{@code{inet-listener-configuration} 参数} 非负整数端口"

#. type: deftypevr
#: guix-git/doc/guix.texi:27653
#, fuzzy
msgid "The port on which to listen."
msgstr "要监听的端口。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27655
#, fuzzy, no-wrap
msgid "{@code{inet-listener-configuration} parameter} boolean ssl?"
msgstr "{@code{inet-listener-configuration} 参数} 布尔值 ssl?"

#. type: deftypevr
#: guix-git/doc/guix.texi:27659
#, fuzzy
msgid "Whether to use SSL for this service; @samp{yes}, @samp{no}, or @samp{required}.  Defaults to @samp{#t}."
msgstr "是否为此服务使用 SSL;@samp{yes}、@samp{no} 或 @samp{required}。默认为 @samp{#t}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27663
#, fuzzy, no-wrap
msgid "{@code{service-configuration} parameter} non-negative-integer client-limit"
msgstr "{@code{service-configuration} 参数} 非负整数客户端限制"

#. type: deftypevr
#: guix-git/doc/guix.texi:27668
#, fuzzy
msgid "Maximum number of simultaneous client connections per process.  Once this number of connections is received, the next incoming connection will prompt Dovecot to spawn another process.  If set to 0, @code{default-client-limit} is used instead."
msgstr "每个进程的最大同时客户端连接数。一旦接收到这个连接数,下一次传入连接将提示 Dovecot 生成另一个进程。如果设置为 0,将使用 @code{default-client-limit}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27673
#, fuzzy, no-wrap
msgid "{@code{service-configuration} parameter} non-negative-integer service-count"
msgstr "{@code{service-configuration} 参数} 非负整数服务计数"

#. type: deftypevr
#: guix-git/doc/guix.texi:27678
#, fuzzy
msgid "Number of connections to handle before starting a new process.  Typically the only useful values are 0 (unlimited) or 1.  1 is more secure, but 0 is faster.  <doc/wiki/LoginProcess.txt>.  Defaults to @samp{1}."
msgstr "在启动新进程之前要处理的连接数。通常唯一有用的值是 0(无限制)或 1。1 更安全,但 0 更快。<doc/wiki/LoginProcess.txt>。默认为 @samp{1}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27681
#, fuzzy, no-wrap
msgid "{@code{service-configuration} parameter} non-negative-integer process-limit"
msgstr "{@code{service-configuration} 参数} 非负整数进程限制"

#. type: deftypevr
#: guix-git/doc/guix.texi:27684
#, fuzzy
msgid "Maximum number of processes that can exist for this service.  If set to 0, @code{default-process-limit} is used instead."
msgstr "此服务可以存在的最大进程数。如果设置为 0,将使用 @code{default-process-limit}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27689
#, fuzzy, no-wrap
msgid "{@code{service-configuration} parameter} non-negative-integer process-min-avail"
msgstr "{@code{service-configuration} 参数} 非负整数 process-min-avail"

#. type: deftypevr
#: guix-git/doc/guix.texi:27692
#, fuzzy
msgid "Number of processes to always keep waiting for more connections.  Defaults to @samp{0}."
msgstr "始终保持等待更多连接的进程数量。默认为 @samp{0}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27694
#, fuzzy, no-wrap
msgid "{@code{service-configuration} parameter} non-negative-integer vsz-limit"
msgstr "{@code{service-configuration} 参数} 非负整数 vsz-limit"

#. type: deftypevr
#: guix-git/doc/guix.texi:27698
#, fuzzy
msgid "If you set @samp{service-count 0}, you probably need to grow this.  Defaults to @samp{256000000}."
msgstr "如果您设置 @samp{service-count 0},您可能需要增加这个值。默认为 @samp{256000000}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27702
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} dict-configuration dict"
msgstr "{@code{dovecot-configuration} 参数} dict-configuration dict"

#. type: deftypevr
#: guix-git/doc/guix.texi:27705
#, fuzzy
msgid "Dict configuration, as created by the @code{dict-configuration} constructor."
msgstr "字典配置,由 @code{dict-configuration} 构造函数创建。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27707
#, fuzzy
msgid "Available @code{dict-configuration} fields are:"
msgstr "可用的 @code{dict-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:27708
#, fuzzy, no-wrap
msgid "{@code{dict-configuration} parameter} free-form-fields entries"
msgstr "{@code{dict-configuration} 参数} 自由格式字段 entries"

#. type: deftypevr
#: guix-git/doc/guix.texi:27711
#, fuzzy
msgid "A list of key-value pairs that this dict should hold.  Defaults to @samp{'()}."
msgstr "此字典应包含的键值对列表。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27715
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} passdb-configuration-list passdbs"
msgstr "{@code{dovecot-configuration} 参数} passdb-configuration-list passdbs"

#. type: deftypevr
#: guix-git/doc/guix.texi:27718
#, fuzzy
msgid "A list of passdb configurations, each one created by the @code{passdb-configuration} constructor."
msgstr "一组 passdb 配置,每个由 @code{passdb-configuration} 构造函数创建。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27720
#, fuzzy
msgid "Available @code{passdb-configuration} fields are:"
msgstr "可用的 @code{passdb-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:27721
#, fuzzy, no-wrap
msgid "{@code{passdb-configuration} parameter} string driver"
msgstr "{@code{passdb-configuration} 参数} 字符串 driver"

#. type: deftypevr
#: guix-git/doc/guix.texi:27726
#, fuzzy
msgid "The driver that the passdb should use.  Valid values include @samp{pam}, @samp{passwd}, @samp{shadow}, @samp{bsdauth}, and @samp{static}.  Defaults to @samp{\"pam\"}."
msgstr "passdb 应使用的驱动程序。有效值包括 @samp{pam}、@samp{passwd}、@samp{shadow}、@samp{bsdauth} 和 @samp{static}。默认为 @samp{\"pam\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27728
#, fuzzy, no-wrap
msgid "{@code{passdb-configuration} parameter} space-separated-string-list args"
msgstr "{@code{passdb-configuration} 参数} 空格分隔字符串列表 args"

#. type: deftypevr
#: guix-git/doc/guix.texi:27731
#, fuzzy
msgid "Space separated list of arguments to the passdb driver.  Defaults to @samp{\"\"}."
msgstr "传递给 passdb 驱动程序的空格分隔参数列表。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27735
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} userdb-configuration-list userdbs"
msgstr "{@code{dovecot-configuration} 参数} userdb-configuration-list userdbs"

#. type: deftypevr
#: guix-git/doc/guix.texi:27738
#, fuzzy
msgid "List of userdb configurations, each one created by the @code{userdb-configuration} constructor."
msgstr "一组 userdb 配置,每个由 @code{userdb-configuration} 构造函数创建。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27740
#, fuzzy
msgid "Available @code{userdb-configuration} fields are:"
msgstr "可用的 @code{userdb-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:27741
#, fuzzy, no-wrap
msgid "{@code{userdb-configuration} parameter} string driver"
msgstr "{@code{userdb-configuration} 参数} 字符串 driver"

#. type: deftypevr
#: guix-git/doc/guix.texi:27745
#, fuzzy
msgid "The driver that the userdb should use.  Valid values include @samp{passwd} and @samp{static}.  Defaults to @samp{\"passwd\"}."
msgstr "userdb 应使用的驱动程序。有效值包括 @samp{passwd} 和 @samp{static}。默认为 @samp{\"passwd\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27747
#, fuzzy, no-wrap
msgid "{@code{userdb-configuration} parameter} space-separated-string-list args"
msgstr "{@code{userdb-configuration} 参数} 空格分隔字符串列表 args"

#. type: deftypevr
#: guix-git/doc/guix.texi:27750
#, fuzzy
msgid "Space separated list of arguments to the userdb driver.  Defaults to @samp{\"\"}."
msgstr "传递给 userdb 驱动程序的空格分隔参数列表。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27752
#, fuzzy, no-wrap
msgid "{@code{userdb-configuration} parameter} free-form-args override-fields"
msgstr "{@code{userdb-configuration} 参数} 自由格式参数 override-fields"

#. type: deftypevr
#: guix-git/doc/guix.texi:27755
#, fuzzy
msgid "Override fields from passwd.  Defaults to @samp{'()}."
msgstr "覆盖来自 passwd 的字段。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27759
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} plugin-configuration plugin-configuration"
msgstr "{@code{dovecot-configuration} 参数} plugin-configuration plugin-configuration"

#. type: deftypevr
#: guix-git/doc/guix.texi:27762
#, fuzzy
msgid "Plug-in configuration, created by the @code{plugin-configuration} constructor."
msgstr "插件配置,由 @code{plugin-configuration} 构造函数创建。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27764
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} list-of-namespace-configuration namespaces"
msgstr "{@code{dovecot-configuration} 参数} 命名空间配置的列表"

#. type: deftypevr
#: guix-git/doc/guix.texi:27767
#, fuzzy
msgid "List of namespaces.  Each item in the list is created by the @code{namespace-configuration} constructor."
msgstr "命名空间列表。列表中的每个项目都是由 @code{namespace-configuration} 构造函数创建的。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27769
#, fuzzy
msgid "Available @code{namespace-configuration} fields are:"
msgstr "可用的 @code{namespace-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:27770
#, fuzzy, no-wrap
msgid "{@code{namespace-configuration} parameter} string name"
msgstr "{@code{namespace-configuration} 参数} 字符串名称"

#. type: deftypevr
#: guix-git/doc/guix.texi:27772
#, fuzzy
msgid "Name for this namespace."
msgstr "此命名空间的名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27774
#, fuzzy, no-wrap
msgid "{@code{namespace-configuration} parameter} string type"
msgstr "{@code{namespace-configuration} 参数} 字符串类型"

#. type: deftypevr
#: guix-git/doc/guix.texi:27777
#, fuzzy
msgid "Namespace type: @samp{private}, @samp{shared} or @samp{public}.  Defaults to @samp{\"private\"}."
msgstr "命名空间类型:@samp{private}、@samp{shared} 或 @samp{public}。默认为 @samp{\"private\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27779
#, fuzzy, no-wrap
msgid "{@code{namespace-configuration} parameter} string separator"
msgstr "{@code{namespace-configuration} 参数} 字符串分隔符"

#. type: deftypevr
#: guix-git/doc/guix.texi:27785
#, fuzzy
msgid "Hierarchy separator to use.  You should use the same separator for all namespaces or some clients get confused.  @samp{/} is usually a good one.  The default however depends on the underlying mail storage format.  Defaults to @samp{\"\"}."
msgstr "使用的层次分隔符。您应该对所有命名空间使用相同的分隔符,否则某些客户端会感到困惑。通常 @samp{/} 是一个不错的选择。然而,默认值取决于底层邮件存储格式。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27787
#, fuzzy, no-wrap
msgid "{@code{namespace-configuration} parameter} string prefix"
msgstr "{@code{namespace-configuration} 参数} 字符串前缀"

#. type: deftypevr
#: guix-git/doc/guix.texi:27791
#, fuzzy
msgid "Prefix required to access this namespace.  This needs to be different for all namespaces.  For example @samp{Public/}.  Defaults to @samp{\"\"}."
msgstr "访问此命名空间所需的前缀。所有命名空间的前缀需要不同。例如 @samp{Public/}。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27793
#, fuzzy, no-wrap
msgid "{@code{namespace-configuration} parameter} string location"
msgstr "{@code{namespace-configuration} 参数} 字符串位置"

#. type: deftypevr
#: guix-git/doc/guix.texi:27797
#, fuzzy
msgid "Physical location of the mailbox. This is in the same format as mail_location, which is also the default for it.  Defaults to @samp{\"\"}."
msgstr "邮箱的物理位置。这与 mail_location 的格式相同,mail_location 也是其默认值。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27799
#, fuzzy, no-wrap
msgid "{@code{namespace-configuration} parameter} boolean inbox?"
msgstr "{@code{namespace-configuration} 参数} 布尔值 收件箱?"

#. type: deftypevr
#: guix-git/doc/guix.texi:27803
#, fuzzy
msgid "There can be only one INBOX, and this setting defines which namespace has it.  Defaults to @samp{#f}."
msgstr "只能有一个 INBOX,此设置定义了哪个命名空间拥有它。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27805
#, fuzzy, no-wrap
msgid "{@code{namespace-configuration} parameter} boolean hidden?"
msgstr "{@code{namespace-configuration} 参数} 布尔值 隐藏?"

#. type: deftypevr
#: guix-git/doc/guix.texi:27813
#, fuzzy
msgid "If namespace is hidden, it's not advertised to clients via NAMESPACE extension.  You'll most likely also want to set @samp{list? #f}.  This is mostly useful when converting from another server with different namespaces which you want to deprecate but still keep working.  For example you can create hidden namespaces with prefixes @samp{~/mail/}, @samp{~%u/mail/} and @samp{mail/}.  Defaults to @samp{#f}."
msgstr "如果命名空间被隐藏,则不会通过 NAMESPACE 扩展向客户端宣传。您很可能还想设置 @samp{list? #f}。这在从具有不同命名空间的其他服务器转换时非常有用,您希望弃用这些命名空间但仍然保持其工作。例如,您可以创建带有前缀 @samp{~/mail/}、@samp{~%u/mail/} 和 @samp{mail/} 的隐藏命名空间。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27815
#, fuzzy, no-wrap
msgid "{@code{namespace-configuration} parameter} boolean list?"
msgstr "{@code{namespace-configuration} 参数} 布尔值 列表?"

#. type: deftypevr
#: guix-git/doc/guix.texi:27821
#, fuzzy
msgid "Show the mailboxes under this namespace with the LIST command.  This makes the namespace visible for clients that do not support the NAMESPACE extension.  The special @code{children} value lists child mailboxes, but hides the namespace prefix.  Defaults to @samp{#t}."
msgstr "使用 LIST 命令显示此命名空间下的邮箱。这使得命名空间对不支持 NAMESPACE 扩展的客户端可见。特殊的 @code{children} 值列出子邮箱,但隐藏命名空间前缀。默认为 @samp{#t}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27823
#, fuzzy, no-wrap
msgid "{@code{namespace-configuration} parameter} boolean subscriptions?"
msgstr "{@code{namespace-configuration} 参数} 布尔值订阅?"

#. type: deftypevr
#: guix-git/doc/guix.texi:27828
#, fuzzy
msgid "Namespace handles its own subscriptions.  If set to @code{#f}, the parent namespace handles them.  The empty prefix should always have this as @code{#t}).  Defaults to @samp{#t}."
msgstr "命名空间处理其自己的订阅。如果设置为 @code{#f},则父命名空间处理它们。空前缀应始终将其设置为 @code{#t})。默认为 @samp{#t}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27830
#, fuzzy, no-wrap
msgid "{@code{namespace-configuration} parameter} mailbox-configuration-list mailboxes"
msgstr "{@code{namespace-configuration} 参数} 邮箱配置列表 邮箱"

#. type: deftypevr
#: guix-git/doc/guix.texi:27833
#, fuzzy
msgid "List of predefined mailboxes in this namespace.  Defaults to @samp{'()}."
msgstr "此命名空间中预定义邮箱的列表。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27835
#, fuzzy
msgid "Available @code{mailbox-configuration} fields are:"
msgstr "可用的 @code{mailbox-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:27836
#, fuzzy, no-wrap
msgid "{@code{mailbox-configuration} parameter} string name"
msgstr "{@code{mailbox-configuration} 参数} 字符串 名称"

#. type: deftypevr
#: guix-git/doc/guix.texi:27838
#, fuzzy
msgid "Name for this mailbox."
msgstr "此邮箱的名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27840
#, fuzzy, no-wrap
msgid "{@code{mailbox-configuration} parameter} string auto"
msgstr "{@code{mailbox-configuration} 参数} 字符串 自动"

#. type: deftypevr
#: guix-git/doc/guix.texi:27844
#, fuzzy
msgid "@samp{create} will automatically create this mailbox.  @samp{subscribe} will both create and subscribe to the mailbox.  Defaults to @samp{\"no\"}."
msgstr "@samp{create} 将自动创建此邮箱。@samp{subscribe} 将同时创建并订阅该邮箱。默认为 @samp{\"no\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27846
#, fuzzy, no-wrap
msgid "{@code{mailbox-configuration} parameter} space-separated-string-list special-use"
msgstr "{@code{mailbox-configuration} 参数} 空格分隔字符串列表 特殊用途"

#. type: deftypevr
#: guix-git/doc/guix.texi:27851
#, fuzzy
msgid "List of IMAP @code{SPECIAL-USE} attributes as specified by RFC 6154.  Valid values are @code{\\All}, @code{\\Archive}, @code{\\Drafts}, @code{\\Flagged}, @code{\\Junk}, @code{\\Sent}, and @code{\\Trash}.  Defaults to @samp{'()}."
msgstr "IMAP @code{SPECIAL-USE} 属性的列表,按照 RFC 6154 规定。有效值为 @code{\\All}、@code{\\Archive}、@code{\\Drafts}、@code{\\Flagged}、@code{\\Junk}、@code{\\Sent} 和 @code{\\Trash}。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27857
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} file-name base-dir"
msgstr "{@code{dovecot-configuration} 参数} 文件名 基础目录"

#. type: deftypevr
#: guix-git/doc/guix.texi:27860
#, fuzzy
msgid "Base directory where to store runtime data.  Defaults to @samp{\"/var/run/dovecot/\"}."
msgstr "存储运行时数据的基础目录。默认为 @samp{\"/var/run/dovecot/\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27862
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string login-greeting"
msgstr "{@code{dovecot-configuration} 参数} 字符串 登录问候语"

#. type: deftypevr
#: guix-git/doc/guix.texi:27865
#, fuzzy
msgid "Greeting message for clients.  Defaults to @samp{\"Dovecot ready.\"}."
msgstr "客户端的问候消息。默认为 @samp{\"Dovecot ready.\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27867
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-trusted-networks"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔字符串列表 登录受信任网络"

#. type: deftypevr
#: guix-git/doc/guix.texi:27874
#, fuzzy
msgid "List of trusted network ranges.  Connections from these IPs are allowed to override their IP addresses and ports (for logging and for authentication checks).  @samp{disable-plaintext-auth} is also ignored for these networks.  Typically you would specify your IMAP proxy servers here.  Defaults to @samp{'()}."
msgstr "受信任网络范围的列表。来自这些 IP 的连接被允许覆盖其 IP 地址和端口(用于日志记录和身份验证检查)。@samp{disable-plaintext-auth} 对这些网络也会被忽略。通常,您会在此处指定您的 IMAP 代理服务器。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27876
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-access-sockets"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔字符串列表 登录访问套接字"

#. type: deftypevr
#: guix-git/doc/guix.texi:27879
#, fuzzy
msgid "List of login access check sockets (e.g.@: tcpwrap).  Defaults to @samp{'()}."
msgstr "登录访问检查套接字的列表(例如 @: tcpwrap)。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27881
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean verbose-proctitle?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 详细进程标题?"

#. type: deftypevr
#: guix-git/doc/guix.texi:27887
#, fuzzy
msgid "Show more verbose process titles (in ps).  Currently shows user name and IP address.  Useful for seeing who is actually using the IMAP processes (e.g.@: shared mailboxes or if the same uid is used for multiple accounts).  Defaults to @samp{#f}."
msgstr "显示更详细的进程标题(在 ps 中)。当前显示用户名和 IP 地址。对于查看谁实际使用 IMAP 进程(例如 @: 共享邮箱或如果同一 uid 用于多个帐户)非常有用。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27889
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean shutdown-clients?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 shutdown-clients?"

#. type: deftypevr
#: guix-git/doc/guix.texi:27895
#, fuzzy
msgid "Should all processes be killed when Dovecot master process shuts down.  Setting this to @code{#f} means that Dovecot can be upgraded without forcing existing client connections to close (although that could also be a problem if the upgrade is e.g.@: due to a security fix).  Defaults to @samp{#t}."
msgstr "当 Dovecot 主进程关闭时,是否应杀死所有进程。将此设置为 @code{#f} 意味着 Dovecot 可以在不强制关闭现有客户端连接的情况下进行升级(尽管如果升级是由于安全修复,这也可能是一个问题)。默认为 @samp{#t}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27897
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer doveadm-worker-count"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 doveadm-worker-count"

#. type: deftypevr
#: guix-git/doc/guix.texi:27901
#, fuzzy
msgid "If non-zero, run mail commands via this many connections to doveadm server, instead of running them directly in the same process.  Defaults to @samp{0}."
msgstr "如果非零,则通过这么多连接到 doveadm 服务器运行邮件命令,而不是直接在同一进程中运行。默认为 @samp{0}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27903
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string doveadm-socket-path"
msgstr "{@code{dovecot-configuration} 参数} 字符串 doveadm-socket-path"

#. type: deftypevr
#: guix-git/doc/guix.texi:27906
#, fuzzy
msgid "UNIX socket or host:port used for connecting to doveadm server.  Defaults to @samp{\"doveadm-server\"}."
msgstr "用于连接到 doveadm 服务器的 UNIX 套接字或主机:端口。默认为 @samp{\"doveadm-server\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27908
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list import-environment"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔字符串列表 import-environment"

#. type: deftypevr
#: guix-git/doc/guix.texi:27912
#, fuzzy
msgid "List of environment variables that are preserved on Dovecot startup and passed down to all of its child processes.  You can also give key=value pairs to always set specific settings."
msgstr "在 Dovecot 启动时保留并传递给所有子进程的环境变量列表。您还可以提供 key=value 对以始终设置特定设置。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27914
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean disable-plaintext-auth?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 disable-plaintext-auth?"

#. type: deftypevr
#: guix-git/doc/guix.texi:27921
#, fuzzy
msgid "Disable LOGIN command and all other plaintext authentications unless SSL/TLS is used (LOGINDISABLED capability).  Note that if the remote IP matches the local IP (i.e.@: you're connecting from the same computer), the connection is considered secure and plaintext authentication is allowed.  See also the @samp{ssl=required} setting.  Defaults to @samp{#t}."
msgstr "禁用 LOGIN 命令和所有其他明文身份验证,除非使用 SSL/TLS(LOGINDISABLED 功能)。请注意,如果远程 IP 与本地 IP 匹配(即:您是从同一计算机连接),则连接被视为安全,允许明文身份验证。另请参见 @samp{ssl=required} 设置。默认为 @samp{#t}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27923
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer auth-cache-size"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 auth-cache-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:27928
#, fuzzy
msgid "Authentication cache size (e.g.@: @samp{#e10e6}).  0 means it's disabled.  Note that bsdauth, PAM and vpopmail require @samp{cache-key} to be set for caching to be used.  Defaults to @samp{0}."
msgstr "身份验证缓存大小(例如:@samp{#e10e6})。0 表示禁用。请注意,bsdauth、PAM 和 vpopmail 需要设置 @samp{cache-key} 才能使用缓存。默认为 @samp{0}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27930
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-cache-ttl"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-cache-ttl"

#. type: deftypevr
#: guix-git/doc/guix.texi:27938
#, fuzzy
msgid "Time to live for cached data.  After TTL expires the cached record is no longer used, *except* if the main database lookup returns internal failure.  We also try to handle password changes automatically: If user's previous authentication was successful, but this one wasn't, the cache isn't used.  For now this works only with plaintext authentication.  Defaults to @samp{\"1 hour\"}."
msgstr "缓存数据的生存时间。TTL 过期后,缓存记录不再使用,*除非*主数据库查找返回内部故障。我们还尝试自动处理密码更改:如果用户的先前身份验证成功,但这次没有,则不使用缓存。目前这仅适用于明文身份验证。默认为 @samp{\"1 hour\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27940
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-cache-negative-ttl"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-cache-negative-ttl"

#. type: deftypevr
#: guix-git/doc/guix.texi:27944
#, fuzzy
msgid "TTL for negative hits (user not found, password mismatch).  0 disables caching them completely.  Defaults to @samp{\"1 hour\"}."
msgstr "负面命中的 TTL(用户未找到,密码不匹配)。 0 完全禁用缓存。 默认值为 @samp{\"1 小时\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27946
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list auth-realms"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔字符串列表 auth-realms"

#. type: deftypevr
#: guix-git/doc/guix.texi:27952
#, fuzzy
msgid "List of realms for SASL authentication mechanisms that need them.  You can leave it empty if you don't want to support multiple realms.  Many clients simply use the first one listed here, so keep the default realm first.  Defaults to @samp{'()}."
msgstr "需要的 SASL 认证机制的领域列表。如果您不想支持多个领域,可以留空。许多客户端仅使用此处列出的第一个,因此请将默认领域放在第一位。 默认值为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27954
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-default-realm"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-default-realm"

#. type: deftypevr
#: guix-git/doc/guix.texi:27959
#, fuzzy
msgid "Default realm/domain to use if none was specified.  This is used for both SASL realms and appending @@domain to username in plaintext logins.  Defaults to @samp{\"\"}."
msgstr "如果未指定,则使用默认领域/域。这用于 SASL 领域和在明文登录中将 @@domain 附加到用户名。 默认值为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27961
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-username-chars"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-username-chars"

#. type: deftypevr
#: guix-git/doc/guix.texi:27968
#, fuzzy
msgid "List of allowed characters in username.  If the user-given username contains a character not listed in here, the login automatically fails.  This is just an extra check to make sure user can't exploit any potential quote escaping vulnerabilities with SQL/LDAP databases.  If you want to allow all characters, set this value to empty.  Defaults to @samp{\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@@\"}."
msgstr "用户名中允许的字符列表。如果用户提供的用户名包含此处未列出的字符,则登录将自动失败。这只是一个额外的检查,以确保用户无法利用 SQL/LDAP 数据库中的任何潜在引号转义漏洞。如果您想允许所有字符,请将此值设置为空。 默认值为 @samp{\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@@\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27970
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-username-translation"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-username-translation"

#. type: deftypevr
#: guix-git/doc/guix.texi:27976
#, fuzzy
msgid "Username character translations before it's looked up from databases.  The value contains series of from -> to characters.  For example @samp{#@@/@@} means that @samp{#} and @samp{/} characters are translated to @samp{@@}.  Defaults to @samp{\"\"}."
msgstr "在从数据库查找之前的用户名字符翻译。该值包含从 -> 到字符的系列。例如 @samp{#@@/@@} 意味着 @samp{#} 和 @samp{/} 字符被翻译为 @samp{@@}。 默认值为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27978
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-username-format"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-username-format"

#. type: deftypevr
#: guix-git/doc/guix.texi:27985
#, fuzzy
msgid "Username formatting before it's looked up from databases.  You can use the standard variables here, e.g.@: %Lu would lowercase the username, %n would drop away the domain if it was given, or @samp{%n-AT-%d} would change the @samp{@@} into @samp{-AT-}.  This translation is done after @samp{auth-username-translation} changes.  Defaults to @samp{\"%Lu\"}."
msgstr "在从数据库查找之前的用户名格式。您可以在这里使用标准变量,例如:%Lu 将用户名转换为小写,%n 将删除给定的域,或 @samp{%n-AT-%d} 将 @samp{@@} 更改为 @samp{-AT-}。此翻译在 @samp{auth-username-translation} 更改之后进行。 默认值为 @samp{\"%Lu\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27987
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-master-user-separator"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-master-user-separator"

#. type: deftypevr
#: guix-git/doc/guix.texi:27995
#, fuzzy
msgid "If you want to allow master users to log in by specifying the master username within the normal username string (i.e.@: not using SASL mechanism's support for it), you can specify the separator character here.  The format is then <username><separator><master username>.  UW-IMAP uses @samp{*} as the separator, so that could be a good choice.  Defaults to @samp{\"\"}."
msgstr "如果您希望允许主用户通过在正常用户名字符串中指定主用户名(即.@: 不使用SASL机制的支持)进行登录,您可以在此处指定分隔符字符。格式为 <username><separator><master username>。 UW-IMAP 使用 @samp{*} 作为分隔符,因此这可能是一个不错的选择。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:27997
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-anonymous-username"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-anonymous-username"

#. type: deftypevr
#: guix-git/doc/guix.texi:28001
#, fuzzy
msgid "Username to use for users logging in with ANONYMOUS SASL mechanism.  Defaults to @samp{\"anonymous\"}."
msgstr "用于使用匿名SASL机制登录的用户的用户名。默认为 @samp{\"anonymous\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28003
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer auth-worker-max-count"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 auth-worker-max-count"

#. type: deftypevr
#: guix-git/doc/guix.texi:28008
#, fuzzy
msgid "Maximum number of dovecot-auth worker processes.  They're used to execute blocking passdb and userdb queries (e.g.@: MySQL and PAM).  They're automatically created and destroyed as needed.  Defaults to @samp{30}."
msgstr "dovecot-auth工作进程的最大数量。它们用于执行阻塞的passdb和userdb查询(例如.@: MySQL和PAM)。根据需要自动创建和销毁。默认为 @samp{30}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28010
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-gssapi-hostname"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-gssapi-hostname"

#. type: deftypevr
#: guix-git/doc/guix.texi:28015
#, fuzzy
msgid "Host name to use in GSSAPI principal names.  The default is to use the name returned by gethostname().  Use @samp{$ALL} (with quotes) to allow all keytab entries.  Defaults to @samp{\"\"}."
msgstr "在GSSAPI主体名称中使用的主机名。默认使用gethostname()返回的名称。使用 @samp{$ALL}(带引号)以允许所有keytab条目。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28017
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-krb5-keytab"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-krb5-keytab"

#. type: deftypevr
#: guix-git/doc/guix.texi:28023
#, fuzzy
msgid "Kerberos keytab to use for the GSSAPI mechanism.  Will use the system default (usually @file{/etc/krb5.keytab}) if not specified.  You may need to change the auth service to run as root to be able to read this file.  Defaults to @samp{\"\"}."
msgstr "用于GSSAPI机制的Kerberos keytab。如果未指定,将使用系统默认值(通常是 @file{/etc/krb5.keytab})。您可能需要更改身份验证服务以root身份运行,以便能够读取此文件。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28025
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean auth-use-winbind?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 auth-use-winbind?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28030
#, fuzzy
msgid "Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and @samp{ntlm-auth} helper.  <doc/wiki/Authentication/Mechanisms/Winbind.txt>.  Defaults to @samp{#f}."
msgstr "使用Samba的winbind守护进程和 @samp{ntlm-auth} 辅助程序进行NTLM和GSS-SPNEGO身份验证。 <doc/wiki/Authentication/Mechanisms/Winbind.txt>。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28032
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} file-name auth-winbind-helper-path"
msgstr "{@code{dovecot-configuration} 参数} 文件名 auth-winbind-helper-path"

#. type: deftypevr
#: guix-git/doc/guix.texi:28035
#, fuzzy
msgid "Path for Samba's @samp{ntlm-auth} helper binary.  Defaults to @samp{\"/usr/bin/ntlm_auth\"}."
msgstr "Samba的 @samp{ntlm-auth} 辅助程序二进制文件的路径。默认为 @samp{\"/usr/bin/ntlm_auth\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28037
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-failure-delay"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-failure-delay"

#. type: deftypevr
#: guix-git/doc/guix.texi:28040
#, fuzzy
msgid "Time to delay before replying to failed authentications.  Defaults to @samp{\"2 secs\"}."
msgstr "在回复失败的身份验证之前的延迟时间。默认为 @samp{\"2 secs\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28042
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean auth-ssl-require-client-cert?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 auth-ssl-require-client-cert?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28046
#, fuzzy
msgid "Require a valid SSL client certificate or the authentication fails.  Defaults to @samp{#f}."
msgstr "需要有效的SSL客户端证书,否则身份验证将失败。默认为@samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28048
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean auth-ssl-username-from-cert?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 auth-ssl-username-from-cert?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28053
#, fuzzy
msgid "Take the username from client's SSL certificate, using @code{X509_NAME_get_text_by_NID()} which returns the subject's DN's CommonName.  Defaults to @samp{#f}."
msgstr "从客户端的SSL证书中获取用户名,使用@code{X509_NAME_get_text_by_NID()},该函数返回主题的DN的CommonName。默认为@samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28055
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list auth-mechanisms"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔的字符串列表 auth-mechanisms"

#. type: deftypevr
#: guix-git/doc/guix.texi:28061
#, fuzzy
msgid "List of wanted authentication mechanisms.  Supported mechanisms are: @samp{plain}, @samp{login}, @samp{digest-md5}, @samp{cram-md5}, @samp{ntlm}, @samp{rpa}, @samp{apop}, @samp{anonymous}, @samp{gssapi}, @samp{otp}, @samp{skey}, and @samp{gss-spnego}.  See also the @samp{disable-plaintext-auth} setting."
msgstr "所需身份验证机制的列表。支持的机制包括:@samp{plain}、@samp{login}、@samp{digest-md5}、@samp{cram-md5}、@samp{ntlm}、@samp{rpa}、@samp{apop}、@samp{anonymous}、@samp{gssapi}、@samp{otp}、@samp{skey} 和 @samp{gss-spnego}。另请参见@samp{disable-plaintext-auth}设置。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28063
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list director-servers"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔的字符串列表 director-servers"

#. type: deftypevr
#: guix-git/doc/guix.texi:28068
#, fuzzy
msgid "List of IPs or hostnames to all director servers, including ourself.  Ports can be specified as ip:port.  The default port is the same as what director service's @samp{inet-listener} is using.  Defaults to @samp{'()}."
msgstr "所有导演服务器的IP或主机名列表,包括我们自己。端口可以指定为ip:port。默认端口与导演服务的@samp{inet-listener}使用的端口相同。默认为@samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28070
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list director-mail-servers"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔的字符串列表 director-mail-servers"

#. type: deftypevr
#: guix-git/doc/guix.texi:28074
#, fuzzy
msgid "List of IPs or hostnames to all backend mail servers.  Ranges are allowed too, like 10.0.0.10-10.0.0.30.  Defaults to @samp{'()}."
msgstr "所有后端邮件服务器的IP或主机名列表。也允许范围,例如10.0.0.10-10.0.0.30。默认为@samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28076
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string director-user-expire"
msgstr "{@code{dovecot-configuration} 参数} 字符串 director-user-expire"

#. type: deftypevr
#: guix-git/doc/guix.texi:28080
#, fuzzy
msgid "How long to redirect users to a specific server after it no longer has any connections.  Defaults to @samp{\"15 min\"}."
msgstr "在特定服务器不再有任何连接后,重定向用户的时间。默认为@samp{\"15 min\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28082
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string director-username-hash"
msgstr "{@code{dovecot-configuration} 参数} 字符串 director-username-hash"

#. type: deftypevr
#: guix-git/doc/guix.texi:28087
#, fuzzy
msgid "How the username is translated before being hashed.  Useful values include %Ln if user can log in with or without @@domain, %Ld if mailboxes are shared within domain.  Defaults to @samp{\"%Lu\"}."
msgstr "在哈希之前如何转换用户名。实用值包括%Ln(如果用户可以使用或不使用@@domain登录),%Ld(如果邮箱在域内共享)。默认为@samp{\"%Lu\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28089
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string log-path"
msgstr "{@code{dovecot-configuration} 参数} 字符串 log-path"

#. type: deftypevr
#: guix-git/doc/guix.texi:28093
#, fuzzy
msgid "Log file to use for error messages.  @samp{syslog} logs to syslog, @samp{/dev/stderr} logs to stderr.  Defaults to @samp{\"syslog\"}."
msgstr "用于错误消息的日志文件。@samp{syslog}记录到syslog,@samp{/dev/stderr}记录到stderr。默认为@samp{\"syslog\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28095
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string info-log-path"
msgstr "{@code{dovecot-configuration} 参数} 字符串 info-log-path"

#. type: deftypevr
#: guix-git/doc/guix.texi:28099
#, fuzzy
msgid "Log file to use for informational messages.  Defaults to @samp{log-path}.  Defaults to @samp{\"\"}."
msgstr "用于信息消息的日志文件。默认为@samp{log-path}。默认为@samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28101
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string debug-log-path"
msgstr "{@code{dovecot-configuration} 参数} 字符串 debug-log-path"

#. type: deftypevr
#: guix-git/doc/guix.texi:28105
#, fuzzy
msgid "Log file to use for debug messages.  Defaults to @samp{info-log-path}.  Defaults to @samp{\"\"}."
msgstr "用于调试消息的日志文件。默认为 @samp{info-log-path}。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28107
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string syslog-facility"
msgstr "{@code{dovecot-configuration} 参数} 字符串 syslog-facility"

#. type: deftypevr
#: guix-git/doc/guix.texi:28112
#, fuzzy
msgid "Syslog facility to use if you're logging to syslog.  Usually if you don't want to use @samp{mail}, you'll use local0..local7.  Also other standard facilities are supported.  Defaults to @samp{\"mail\"}."
msgstr "如果您要记录到 syslog,则使用的 syslog 设施。通常,如果您不想使用 @samp{mail},您将使用 local0..local7。还支持其他标准设施。默认为 @samp{\"mail\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28114
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean auth-verbose?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 auth-verbose?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28118
#, fuzzy
msgid "Log unsuccessful authentication attempts and the reasons why they failed.  Defaults to @samp{#f}."
msgstr "记录不成功的身份验证尝试及其失败原因。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28120
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string auth-verbose-passwords"
msgstr "{@code{dovecot-configuration} 参数} 字符串 auth-verbose-passwords"

#. type: deftypevr
#: guix-git/doc/guix.texi:28127
#, fuzzy
msgid "In case of password mismatches, log the attempted password.  Valid values are no, plain and sha1.  sha1 can be useful for detecting brute force password attempts vs.  user simply trying the same password over and over again.  You can also truncate the value to n chars by appending \":n\" (e.g.@: sha1:6).  Defaults to @samp{\"no\"}."
msgstr "在密码不匹配的情况下,记录尝试的密码。有效值为 no、plain 和 sha1。sha1 对于检测暴力破解密码尝试与用户简单地反复尝试相同密码非常有用。您还可以通过附加 \":n\" 来截断值到 n 个字符(例如:sha1:6)。默认为 @samp{\"no\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28129
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean auth-debug?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 auth-debug?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28133
#, fuzzy
msgid "Even more verbose logging for debugging purposes.  Shows for example SQL queries.  Defaults to @samp{#f}."
msgstr "用于调试目的的更详细日志记录。例如,显示 SQL 查询。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28135
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean auth-debug-passwords?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 auth-debug-passwords?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28140
#, fuzzy
msgid "In case of password mismatches, log the passwords and used scheme so the problem can be debugged.  Enabling this also enables @samp{auth-debug}.  Defaults to @samp{#f}."
msgstr "在密码不匹配的情况下,记录密码和使用的方案,以便可以调试问题。启用此选项还会启用 @samp{auth-debug}。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28142
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean mail-debug?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 mail-debug?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28146
#, fuzzy
msgid "Enable mail process debugging.  This can help you figure out why Dovecot isn't finding your mails.  Defaults to @samp{#f}."
msgstr "启用邮件进程调试。这可以帮助您找出 Dovecot 为什么找不到您的邮件。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28148
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean verbose-ssl?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 verbose-ssl?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28151
#, fuzzy
msgid "Show protocol level SSL errors.  Defaults to @samp{#f}."
msgstr "显示协议级别的 SSL 错误。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28153
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string log-timestamp"
msgstr "{@code{dovecot-configuration} 参数} 字符串 log-timestamp"

#. type: deftypevr
#: guix-git/doc/guix.texi:28157
#, fuzzy
msgid "Prefix for each line written to log file.  % codes are in strftime(3) format.  Defaults to @samp{\"\\\"%b %d %H:%M:%S \\\"\"}."
msgstr "写入日志文件的每一行的前缀。% 代码采用 strftime(3) 格式。默认为 @samp{\"\\\"%b %d %H:%M:%S \\\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28159
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-log-format-elements"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔的字符串列表 login-log-format-elements"

#. type: deftypevr
#: guix-git/doc/guix.texi:28163
#, fuzzy
msgid "List of elements we want to log.  The elements which have a non-empty variable value are joined together to form a comma-separated string."
msgstr "我们想要记录的元素列表。具有非空变量值的元素将连接在一起形成以逗号分隔的字符串。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28165
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string login-log-format"
msgstr "{@code{dovecot-configuration} 参数} 字符串 login-log-format"

#. type: deftypevr
#: guix-git/doc/guix.texi:28169
#, fuzzy
msgid "Login log format.  %s contains @samp{login-log-format-elements} string, %$ contains the data we want to log.  Defaults to @samp{\"%$: %s\"}."
msgstr "登录日志格式。 %s 包含 @samp{login-log-format-elements} 字符串,%$ 包含我们想要记录的数据。 默认值为 @samp{\"%$: %s\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28171
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-log-prefix"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-log-prefix"

#. type: deftypevr
#: guix-git/doc/guix.texi:28175
#, fuzzy
msgid "Log prefix for mail processes.  See doc/wiki/Variables.txt for list of possible variables you can use.  Defaults to @samp{\"\\\"%s(%u)<%@{pid@}><%@{session@}>: \\\"\"}."
msgstr "邮件进程的日志前缀。 请参见 doc/wiki/Variables.txt 以获取可以使用的变量列表。 默认值为 @samp{\"\\\"%s(%u)<%@{pid@}><%@{session@}>: \\\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28177
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string deliver-log-format"
msgstr "{@code{dovecot-configuration} 参数} 字符串 deliver-log-format"

#. type: deftypevr
#: guix-git/doc/guix.texi:28179
#, fuzzy
msgid "Format to use for logging mail deliveries.  You can use variables:"
msgstr "用于记录邮件投递的格式。 您可以使用变量:"

#. type: item
#: guix-git/doc/guix.texi:28180
#, fuzzy, no-wrap
msgid "%$"
msgstr "%$"

#. type: table
#: guix-git/doc/guix.texi:28182
#, fuzzy
msgid "Delivery status message (e.g.@: @samp{saved to INBOX})"
msgstr "投递状态消息(例如:@samp{保存到 INBOX})"

#. type: item
#: guix-git/doc/guix.texi:28182
#, fuzzy, no-wrap
msgid "%m"
msgstr "%m"

#. type: table
#: guix-git/doc/guix.texi:28184
#, fuzzy
msgid "Message-ID"
msgstr "消息-ID"

#. type: item
#: guix-git/doc/guix.texi:28184 guix-git/doc/guix.texi:28727
#, fuzzy, no-wrap
msgid "%s"
msgstr "%s"

#. type: table
#: guix-git/doc/guix.texi:28186
#, fuzzy
msgid "Subject"
msgstr "主题"

#. type: item
#: guix-git/doc/guix.texi:28186
#, fuzzy, no-wrap
msgid "%f"
msgstr "%f"

#. type: table
#: guix-git/doc/guix.texi:28188
#, fuzzy
msgid "From address"
msgstr "发件人地址"

#. type: item
#: guix-git/doc/guix.texi:28188
#, fuzzy, no-wrap
msgid "%p"
msgstr "%p"

#. type: table
#: guix-git/doc/guix.texi:28190
#, fuzzy
msgid "Physical size"
msgstr "物理大小"

#. type: item
#: guix-git/doc/guix.texi:28190
#, fuzzy, no-wrap
msgid "%w"
msgstr "%w"

#. type: table
#: guix-git/doc/guix.texi:28192
#, fuzzy
msgid "Virtual size."
msgstr "虚拟大小。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28194
#, fuzzy
msgid "Defaults to @samp{\"msgid=%m: %$\"}."
msgstr "默认值为 @samp{\"msgid=%m: %$\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28196
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-location"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-location"

#. type: deftypevr
#: guix-git/doc/guix.texi:28201
#, fuzzy
msgid "Location for users' mailboxes.  The default is empty, which means that Dovecot tries to find the mailboxes automatically.  This won't work if the user doesn't yet have any mail, so you should explicitly tell Dovecot the full location."
msgstr "用户邮箱的位置。 默认值为空,这意味着 Dovecot 会尝试自动查找邮箱。 如果用户尚未拥有任何邮件,这将不起作用,因此您应该明确告诉 Dovecot 完整位置。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28207
#, fuzzy
msgid "If you're using mbox, giving a path to the INBOX file (e.g.@: @file{/var/mail/%u}) isn't enough.  You'll also need to tell Dovecot where the other mailboxes are kept.  This is called the @emph{root mail directory}, and it must be the first path given in the @samp{mail-location} setting."
msgstr "如果您使用 mbox,提供 INBOX 文件的路径(例如:@file{/var/mail/%u})是不够的。 您还需要告诉 Dovecot 其他邮箱的位置。 这称为 @emph{根邮件目录},它必须是 @samp{mail-location} 设置中给出的第一个路径。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28209
#, fuzzy
msgid "There are a few special variables you can use, e.g.:"
msgstr "您可以使用一些特殊变量,例如:"

#. type: item
#: guix-git/doc/guix.texi:28211
#, fuzzy, no-wrap
msgid "%u"
msgstr "%u"

#. type: table
#: guix-git/doc/guix.texi:28213
#, fuzzy
msgid "username"
msgstr "用户名"

#. type: item
#: guix-git/doc/guix.texi:28213 guix-git/doc/guix.texi:28723
#, fuzzy, no-wrap
msgid "%n"
msgstr "%n"

#. type: table
#: guix-git/doc/guix.texi:28215
#, fuzzy
msgid "user part in user@@domain, same as %u if there's no domain"
msgstr "user@@domain 中的用户部分,如果没有域,则与 %u 相同"

#. type: item
#: guix-git/doc/guix.texi:28215
#, fuzzy, no-wrap
msgid "%d"
msgstr "%d"

#. type: table
#: guix-git/doc/guix.texi:28217
#, fuzzy
msgid "domain part in user@@domain, empty if there's no domain"
msgstr "user@@domain 中的域部分,如果没有域则为空"

#. type: item
#: guix-git/doc/guix.texi:28217
#, fuzzy, no-wrap
msgid "%h"
msgstr "%h"

#. type: table
#: guix-git/doc/guix.texi:28219
#, fuzzy
msgid "home directory"
msgstr "directory"

#. type: deftypevr
#: guix-git/doc/guix.texi:28222
#, fuzzy
msgid "See doc/wiki/Variables.txt for full list.  Some examples:"
msgstr "请参见 doc/wiki/Variables.txt 以获取完整列表。 一些示例:"

#. type: item
#: guix-git/doc/guix.texi:28223
#, fuzzy, no-wrap
msgid "maildir:~/Maildir"
msgstr "maildir:~/Maildir"

#. type: item
#: guix-git/doc/guix.texi:28224
#, fuzzy, no-wrap
msgid "mbox:~/mail:INBOX=/var/mail/%u"
msgstr "mbox:~/mail:INBOX=/var/mail/%u"

#. type: item
#: guix-git/doc/guix.texi:28225
#, fuzzy, no-wrap
msgid "mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%"
msgstr "mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%"

#. type: deftypevr
#: guix-git/doc/guix.texi:28228 guix-git/doc/guix.texi:28240
#: guix-git/doc/guix.texi:28268 guix-git/doc/guix.texi:29035
#: guix-git/doc/guix.texi:29049 guix-git/doc/guix.texi:29056
#: guix-git/doc/guix.texi:29063 guix-git/doc/guix.texi:29093
#: guix-git/doc/guix.texi:29191 guix-git/doc/guix.texi:37477
#: guix-git/doc/guix.texi:37485 guix-git/doc/guix.texi:37493
#: guix-git/doc/guix.texi:37501 guix-git/doc/guix.texi:37780
#: guix-git/doc/guix.texi:39455 guix-git/doc/guix.texi:39463
#: guix-git/doc/guix.texi:39471 guix-git/doc/guix.texi:39579
#: guix-git/doc/guix.texi:39604 guix-git/doc/guix.texi:39735
#: guix-git/doc/guix.texi:39743 guix-git/doc/guix.texi:39751
#: guix-git/doc/guix.texi:39759 guix-git/doc/guix.texi:39767
#: guix-git/doc/guix.texi:39775 guix-git/doc/guix.texi:39798
#: guix-git/doc/guix.texi:39806 guix-git/doc/guix.texi:39858
#: guix-git/doc/guix.texi:39874 guix-git/doc/guix.texi:39882
#: guix-git/doc/guix.texi:39922 guix-git/doc/guix.texi:39945
#: guix-git/doc/guix.texi:39967 guix-git/doc/guix.texi:39974
#: guix-git/doc/guix.texi:40009 guix-git/doc/guix.texi:40017
#: guix-git/doc/guix.texi:40041 guix-git/doc/guix.texi:40073
#: guix-git/doc/guix.texi:40102 guix-git/doc/guix.texi:40109
#: guix-git/doc/guix.texi:40116 guix-git/doc/guix.texi:40124
#: guix-git/doc/guix.texi:40138 guix-git/doc/guix.texi:40147
#: guix-git/doc/guix.texi:40157 guix-git/doc/guix.texi:40164
#: guix-git/doc/guix.texi:40171 guix-git/doc/guix.texi:40178
#: guix-git/doc/guix.texi:40249 guix-git/doc/guix.texi:40256
#: guix-git/doc/guix.texi:40263 guix-git/doc/guix.texi:40272
#: guix-git/doc/guix.texi:40288 guix-git/doc/guix.texi:40295
#: guix-git/doc/guix.texi:40302 guix-git/doc/guix.texi:40309
#: guix-git/doc/guix.texi:40317 guix-git/doc/guix.texi:40325
#, fuzzy
msgid "Defaults to @samp{\"\"}."
msgstr "默认值为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28230
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-uid"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-uid"

#. type: deftypevr
#: guix-git/doc/guix.texi:28235
#, fuzzy
msgid "System user and group used to access mails.  If you use multiple, userdb can override these by returning uid or gid fields.  You can use either numbers or names.  <doc/wiki/UserIds.txt>.  Defaults to @samp{\"\"}."
msgstr "用于访问邮件的系统用户和组。 如果您使用多个,userdb 可以通过返回 uid 或 gid 字段来覆盖这些。 您可以使用数字或名称。 <doc/wiki/UserIds.txt>。 默认值为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28237
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-gid"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-gid"

#. type: deftypevr
#: guix-git/doc/guix.texi:28242
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-privileged-group"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-privileged-group"

#. type: deftypevr
#: guix-git/doc/guix.texi:28248
#, fuzzy
msgid "Group to enable temporarily for privileged operations.  Currently this is used only with INBOX when either its initial creation or dotlocking fails.  Typically this is set to @samp{\"mail\"} to give access to @file{/var/mail}.  Defaults to @samp{\"\"}."
msgstr "用于临时启用特权操作的组。当前仅在 INBOX 的初始创建或点锁失败时使用。通常将其设置为 @samp{\"mail\"} 以访问 @file{/var/mail}。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28250
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-access-groups"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-access-groups"

#. type: deftypevr
#: guix-git/doc/guix.texi:28258
#, fuzzy
msgid "Grant access to these supplementary groups for mail processes.  Typically these are used to set up access to shared mailboxes.  Note that it may be dangerous to set these if users can create symlinks (e.g.@: if @samp{mail} group is set here, @code{ln -s /var/mail ~/mail/var} could allow a user to delete others' mailboxes, or @code{ln -s /secret/shared/box ~/mail/mybox} would allow reading it).  Defaults to @samp{\"\"}."
msgstr "授予邮件进程对这些附加组的访问权限。通常用于设置对共享邮箱的访问。请注意,如果用户可以创建符号链接,这可能是危险的(例如:如果在此处设置了 @samp{mail} 组,@code{ln -s /var/mail ~/mail/var} 可能允许用户删除其他人的邮箱,或者 @code{ln -s /secret/shared/box ~/mail/mybox} 将允许读取它)。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28260
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-attribute-dict"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-attribute-dict"

#. type: deftypevr
#: guix-git/doc/guix.texi:28263
#, fuzzy
msgid "The location of a dictionary used to store @code{IMAP METADATA} as defined by @uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}."
msgstr "用于存储 @code{IMAP METADATA} 的字典的位置,如 @uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464} 所定义。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28266
#, fuzzy
msgid "The IMAP METADATA commands are available only if the ``imap'' protocol configuration's @code{imap-metadata?} field is @samp{#t}."
msgstr "仅当 ``imap'' 协议配置的 @code{imap-metadata?} 字段为 @samp{#t} 时,IMAP METADATA 命令才可用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28271
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 mail-full-filesystem-access?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28277
#, fuzzy
msgid "Allow full file system access to clients.  There's no access checks other than what the operating system does for the active UID/GID@.  It works with both maildir and mboxes, allowing you to prefix mailboxes names with e.g.@: @file{/path/} or @file{~user/}.  Defaults to @samp{#f}."
msgstr "允许客户端完全访问文件系统。除了操作系统对活动 UID/GID@ 的检查外,没有其他访问检查。它适用于 maildir 和 mboxes,允许您在邮箱名称前加上例如: @file{/path/} 或 @file{~user/}。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28279
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean mmap-disable?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 mmap-disable?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28283
#, fuzzy
msgid "Don't use @code{mmap()} at all.  This is required if you store indexes to shared file systems (NFS or clustered file system).  Defaults to @samp{#f}."
msgstr "完全不使用 @code{mmap()}。如果您将索引存储到共享文件系统(NFS 或集群文件系统),则需要此设置。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28285
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean dotlock-use-excl?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 dotlock-use-excl?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28290
#, fuzzy
msgid "Rely on @samp{O_EXCL} to work when creating dotlock files.  NFS supports @samp{O_EXCL} since version 3, so this should be safe to use nowadays by default.  Defaults to @samp{#t}."
msgstr "在创建点锁文件时依赖 @samp{O_EXCL} 来工作。NFS 从版本 3 开始支持 @samp{O_EXCL},因此现在默认情况下使用应该是安全的。默认为 @samp{#t}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28292
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-fsync"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-fsync"

#. type: deftypevr
#: guix-git/doc/guix.texi:28294
#, fuzzy
msgid "When to use fsync() or fdatasync() calls:"
msgstr "何时使用 fsync() 或 fdatasync() 调用:"

#. type: item
#: guix-git/doc/guix.texi:28295
#, fuzzy, no-wrap
msgid "optimized"
msgstr "优化"

#. type: table
#: guix-git/doc/guix.texi:28297
#, fuzzy
msgid "Whenever necessary to avoid losing important data"
msgstr "在必要时以避免丢失重要数据"

#. type: table
#: guix-git/doc/guix.texi:28299
#, fuzzy
msgid "Useful with e.g.@: NFS when @code{write()}s are delayed"
msgstr "在例如 NFS 时有用,当 @code{write()} 被延迟"

#. type: table
#: guix-git/doc/guix.texi:28301
#, fuzzy
msgid "Never use it (best performance, but crashes can lose data)."
msgstr "永远不要使用它(最佳性能,但崩溃可能会丢失数据)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28303
#, fuzzy
msgid "Defaults to @samp{\"optimized\"}."
msgstr "默认为 @samp{\"optimized\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28305
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-storage?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 mail-nfs-storage?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28310
#, fuzzy
msgid "Mail storage exists in NFS@.  Set this to yes to make Dovecot flush NFS caches whenever needed.  If you're using only a single mail server this isn't needed.  Defaults to @samp{#f}."
msgstr "邮件存储存在于 NFS@。将此设置为是,以便 Dovecot 在需要时刷新 NFS 缓存。如果您只使用单个邮件服务器,则不需要此设置。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28312
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-index?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 mail-nfs-index?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28316
#, fuzzy
msgid "Mail index files also exist in NFS@.  Setting this to yes requires @samp{mmap-disable? #t} and @samp{fsync-disable? #f}.  Defaults to @samp{#f}."
msgstr "邮件索引文件也存在于 NFS@。将此设置为是需要 @samp{mmap-disable? #t} 和 @samp{fsync-disable? #f}。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28318
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string lock-method"
msgstr "{@code{dovecot-configuration} 参数} 字符串 lock-method"

#. type: deftypevr
#: guix-git/doc/guix.texi:28324
#, fuzzy
msgid "Locking method for index files.  Alternatives are fcntl, flock and dotlock.  Dotlocking uses some tricks which may create more disk I/O than other locking methods.  NFS users: flock doesn't work, remember to change @samp{mmap-disable}.  Defaults to @samp{\"fcntl\"}."
msgstr "索引文件的锁定方法。可选方案有 fcntl、flock 和 dotlock。Dotlocking 使用一些技巧,可能会比其他锁定方法产生更多的磁盘 I/O。NFS 用户:flock 不起作用,请记得更改 @samp{mmap-disable}。默认为 @samp{\"fcntl\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28326
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} file-name mail-temp-dir"
msgstr "{@code{dovecot-configuration} 参数} 文件名 mail-temp-dir"

#. type: deftypevr
#: guix-git/doc/guix.texi:28330
#, fuzzy
msgid "Directory in which LDA/LMTP temporarily stores incoming mails >128 kB.  Defaults to @samp{\"/tmp\"}."
msgstr "LDA/LMTP 临时存储大于 128 kB 的传入邮件的目录。默认为 @samp{\"/tmp\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28332
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer first-valid-uid"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 first-valid-uid"

#. type: deftypevr
#: guix-git/doc/guix.texi:28338
#, fuzzy
msgid "Valid UID range for users.  This is mostly to make sure that users can't log in as daemons or other system users.  Note that denying root logins is hardcoded to dovecot binary and can't be done even if @samp{first-valid-uid} is set to 0.  Defaults to @samp{500}."
msgstr "用户的有效 UID 范围。这主要是为了确保用户不能以守护进程或其他系统用户身份登录。请注意,拒绝 root 登录是硬编码到 dovecot 二进制文件中的,即使 @samp{first-valid-uid} 设置为 0 也无法做到。默认为 @samp{500}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28340
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-uid"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 last-valid-uid"

#. type: deftypevr
#: guix-git/doc/guix.texi:28345
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer first-valid-gid"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 first-valid-gid"

#. type: deftypevr
#: guix-git/doc/guix.texi:28350
#, fuzzy
msgid "Valid GID range for users.  Users having non-valid GID as primary group ID aren't allowed to log in.  If user belongs to supplementary groups with non-valid GIDs, those groups are not set.  Defaults to @samp{1}."
msgstr "用户的有效 GID 范围。作为主组 ID 的用户如果拥有无效 GID,则不允许登录。如果用户属于具有无效 GID 的附加组,则这些组不会被设置。默认为 @samp{1}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28352
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-gid"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 last-valid-gid"

#. type: deftypevr
#: guix-git/doc/guix.texi:28357
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-max-keyword-length"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 mail-max-keyword-length"

#. type: deftypevr
#: guix-git/doc/guix.texi:28361
#, fuzzy
msgid "Maximum allowed length for mail keyword name.  It's only forced when trying to create new keywords.  Defaults to @samp{50}."
msgstr "邮件关键字名称的最大允许长度。仅在尝试创建新关键字时强制执行。默认为 @samp{50}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28363
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} colon-separated-file-name-list valid-chroot-dirs"
msgstr "{@code{dovecot-configuration} 参数} 冒号分隔的文件名列表 valid-chroot-dirs"

#. type: deftypevr
#: guix-git/doc/guix.texi:28373
#, fuzzy
msgid "List of directories under which chrooting is allowed for mail processes (i.e.@: @file{/var/mail} will allow chrooting to @file{/var/mail/foo/bar} too).  This setting doesn't affect @samp{login-chroot} @samp{mail-chroot} or auth chroot settings.  If this setting is empty, @samp{/./} in home dirs are ignored.  WARNING: Never add directories here which local users can modify, that may lead to root exploit.  Usually this should be done only if you don't allow shell access for users.  <doc/wiki/Chrooting.txt>.  Defaults to @samp{'()}."
msgstr "允许邮件进程进行 chroot 的目录列表(即:@file{/var/mail} 也将允许 chroot 到 @file{/var/mail/foo/bar})。此设置不影响 @samp{login-chroot} @samp{mail-chroot} 或身份验证 chroot 设置。如果此设置为空,则家目录中的 @samp{/./} 将被忽略。警告:切勿在此添加本地用户可以修改的目录,这可能导致根权限漏洞。通常只有在不允许用户访问 shell 时才应这样做。<doc/wiki/Chrooting.txt>。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28375
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-chroot"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-chroot"

#. type: deftypevr
#: guix-git/doc/guix.texi:28384
#, fuzzy
msgid "Default chroot directory for mail processes.  This can be overridden for specific users in user database by giving @samp{/./} in user's home directory (e.g.@: @samp{/home/./user} chroots into @file{/home}).  Note that usually there is no real need to do chrooting, Dovecot doesn't allow users to access files outside their mail directory anyway.  If your home directories are prefixed with the chroot directory, append @samp{/.} to @samp{mail-chroot}.  <doc/wiki/Chrooting.txt>.  Defaults to @samp{\"\"}."
msgstr "邮件进程的默认 chroot 目录。可以通过在用户的家目录中给出 @samp{/./} 来为特定用户覆盖此设置(例如:@samp{/home/./user} chroot 到 @file{/home})。请注意,通常没有真正的必要进行 chroot,因为 Dovecot 不允许用户访问其邮件目录之外的文件。如果您的家目录以 chroot 目录为前缀,请将 @samp{/.} 附加到 @samp{mail-chroot}。<doc/wiki/Chrooting.txt>。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28386
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} file-name auth-socket-path"
msgstr "{@code{dovecot-configuration} 参数} 文件名 auth-socket-path"

#. type: deftypevr
#: guix-git/doc/guix.texi:28390
#, fuzzy
msgid "UNIX socket path to master authentication server to find users.  This is used by imap (for shared users) and lda.  Defaults to @samp{\"/var/run/dovecot/auth-userdb\"}."
msgstr "用于查找用户的主身份验证服务器的 UNIX 套接字路径。imap(用于共享用户)和 lda 使用此路径。默认为 @samp{\"/var/run/dovecot/auth-userdb\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28392
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} file-name mail-plugin-dir"
msgstr "{@code{dovecot-configuration} 参数} 文件名 mail-plugin-dir"

#. type: deftypevr
#: guix-git/doc/guix.texi:28395
#, fuzzy
msgid "Directory where to look up mail plugins.  Defaults to @samp{\"/usr/lib/dovecot\"}."
msgstr "查找邮件插件的目录。默认为 @samp{\"/usr/lib/dovecot\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28397
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mail-plugins"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔的字符串列表 mail-plugins"

#. type: deftypevr
#: guix-git/doc/guix.texi:28401
#, fuzzy
msgid "List of plugins to load for all services.  Plugins specific to IMAP, LDA, etc.@: are added to this list in their own .conf files.  Defaults to @samp{'()}."
msgstr "为所有服务加载的插件列表。特定于 IMAP、LDA 等的插件将以自己的 .conf 文件添加到此列表中。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28403
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-cache-min-mail-count"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 mail-cache-min-mail-count"

#. type: deftypevr
#: guix-git/doc/guix.texi:28408
#, fuzzy
msgid "The minimum number of mails in a mailbox before updates are done to cache file.  This allows optimizing Dovecot's behavior to do less disk writes at the cost of more disk reads.  Defaults to @samp{0}."
msgstr "邮箱中邮件的最小数量,更新缓存文件之前。此设置允许优化 Dovecot 的行为,以减少磁盘写入的次数,代价是增加磁盘读取的次数。默认为 @samp{0}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28410
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mailbox-idle-check-interval"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mailbox-idle-check-interval"

#. type: deftypevr
#: guix-git/doc/guix.texi:28417
#, fuzzy
msgid "When IDLE command is running, mailbox is checked once in a while to see if there are any new mails or other changes.  This setting defines the minimum time to wait between those checks.  Dovecot can also use dnotify, inotify and kqueue to find out immediately when changes occur.  Defaults to @samp{\"30 secs\"}."
msgstr "当 IDLE 命令运行时,邮箱会不时检查是否有新邮件或其他更改。此设置定义了在这些检查之间等待的最小时间。Dovecot 还可以使用 dnotify、inotify 和 kqueue 来立即发现更改。默认为 @samp{\"30 秒\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28419
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean mail-save-crlf?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 mail-save-crlf?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28426
#, fuzzy
msgid "Save mails with CR+LF instead of plain LF@.  This makes sending those mails take less CPU, especially with sendfile() syscall with Linux and FreeBSD@.  But it also creates a bit more disk I/O which may just make it slower.  Also note that if other software reads the mboxes/maildirs, they may handle the extra CRs wrong and cause problems.  Defaults to @samp{#f}."
msgstr "以 CR+LF 而不是普通 LF 保存邮件@。这使得发送这些邮件时 CPU 占用更少,特别是在使用 Linux 和 FreeBSD 的 sendfile() 系统调用时@。但这也会产生更多的磁盘 I/O,可能会使其变慢。还要注意,如果其他软件读取 mboxes/maildirs,它们可能会错误处理额外的 CR,从而导致问题。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28428
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean maildir-stat-dirs?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 maildir-stat-dirs?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28436
#, fuzzy
msgid "By default LIST command returns all entries in maildir beginning with a dot.  Enabling this option makes Dovecot return only entries which are directories.  This is done by stat()ing each entry, so it causes more disk I/O.  (For systems setting struct @samp{dirent->d_type} this check is free and it's done always regardless of this setting).  Defaults to @samp{#f}."
msgstr "默认情况下,LIST 命令返回以点开头的 maildir 中的所有条目。启用此选项会使 Dovecot 仅返回目录条目。这是通过 stat() 每个条目来完成的,因此会导致更多的磁盘 I/O。(对于设置 struct @samp{dirent->d_type} 的系统,此检查是免费的,并且无论此设置如何始终执行)。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28438
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean maildir-copy-with-hardlinks?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 maildir-copy-with-hardlinks?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28443
#, fuzzy
msgid "When copying a message, do it with hard links whenever possible.  This makes the performance much better, and it's unlikely to have any side effects.  Defaults to @samp{#t}."
msgstr "在复制消息时,尽可能使用硬链接。这会显著提高性能,并且不太可能产生任何副作用。默认为 @samp{#t}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28445
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean maildir-very-dirty-syncs?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 maildir-very-dirty-syncs?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28450
#, fuzzy
msgid "Assume Dovecot is the only MUA accessing Maildir: Scan cur/ directory only when its mtime changes unexpectedly or when we can't find the mail otherwise.  Defaults to @samp{#f}."
msgstr "假设 Dovecot 是唯一访问 Maildir 的 MUA:仅在 cur/ 目录的 mtime 意外更改时或无法找到邮件时扫描该目录。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28452
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mbox-read-locks"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔字符串列表 mbox-read-locks"

#. type: deftypevr
#: guix-git/doc/guix.texi:28455
#, fuzzy
msgid "Which locking methods to use for locking mbox.  There are four available:"
msgstr "用于锁定 mbox 的锁定方法。可用的有四种:"

#. type: item
#: guix-git/doc/guix.texi:28457
#, fuzzy, no-wrap
msgid "dotlock"
msgstr "dotlock"

#. type: table
#: guix-git/doc/guix.texi:28461
#, fuzzy
msgid "Create <mailbox>.lock file.  This is the oldest and most NFS-safe solution.  If you want to use /var/mail/ like directory, the users will need write access to that directory."
msgstr "创建 <mailbox>.lock 文件。这是最古老且最安全的 NFS 解决方案。如果您想使用 /var/mail/ 这样的目录,用户需要对该目录具有写入权限。"

#. type: item
#: guix-git/doc/guix.texi:28461
#, fuzzy, no-wrap
msgid "dotlock-try"
msgstr "dotlock-尝试"

#. type: table
#: guix-git/doc/guix.texi:28464
#, fuzzy
msgid "Same as dotlock, but if it fails because of permissions or because there isn't enough disk space, just skip it."
msgstr "与dotlock相同,但如果由于权限不足或磁盘空间不足而失败,则跳过它。"

#. type: item
#: guix-git/doc/guix.texi:28464
#, fuzzy, no-wrap
msgid "fcntl"
msgstr "fcntl"

#. type: table
#: guix-git/doc/guix.texi:28466
#, fuzzy
msgid "Use this if possible.  Works with NFS too if lockd is used."
msgstr "如果可能,请使用此选项。 如果使用lockd,它也适用于NFS。"

#. type: item
#: guix-git/doc/guix.texi:28466
#, fuzzy, no-wrap
msgid "flock"
msgstr "flock"

#. type: table
#: guix-git/doc/guix.texi:28468 guix-git/doc/guix.texi:28470
#, fuzzy
msgid "May not exist in all systems.  Doesn't work with NFS."
msgstr "可能并非所有系统都存在。 不适用于NFS。"

#. type: item
#: guix-git/doc/guix.texi:28468
#, fuzzy, no-wrap
msgid "lockf"
msgstr "lockf"

#. type: deftypevr
#: guix-git/doc/guix.texi:28476
#, fuzzy
msgid "You can use multiple locking methods; if you do the order they're declared in is important to avoid deadlocks if other MTAs/MUAs are using multiple locking methods as well.  Some operating systems don't allow using some of them simultaneously."
msgstr "您可以使用多种锁定方法; 如果使用,声明的顺序很重要,以避免死锁,尤其是当其他MTA/MUA也使用多种锁定方法时。 一些操作系统不允许同时使用某些方法。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28478
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mbox-write-locks"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔字符串列表 mbox-write-locks"

#. type: deftypevr
#: guix-git/doc/guix.texi:28482
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mbox-lock-timeout"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mbox-lock-timeout"

#. type: deftypevr
#: guix-git/doc/guix.texi:28485
#, fuzzy
msgid "Maximum time to wait for lock (all of them) before aborting.  Defaults to @samp{\"5 mins\"}."
msgstr "在放弃之前,等待锁定(所有锁定)的最大时间。 默认为@samp{\"5分钟\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28487
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mbox-dotlock-change-timeout"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mbox-dotlock-change-timeout"

#. type: deftypevr
#: guix-git/doc/guix.texi:28491
#, fuzzy
msgid "If dotlock exists but the mailbox isn't modified in any way, override the lock file after this much time.  Defaults to @samp{\"2 mins\"}."
msgstr "如果dotlock存在但邮箱没有以任何方式被修改,则在此时间后覆盖锁定文件。 默认为@samp{\"2分钟\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28493
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean mbox-dirty-syncs?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 mbox-dirty-syncs?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28504
#, fuzzy
msgid "When mbox changes unexpectedly we have to fully read it to find out what changed.  If the mbox is large this can take a long time.  Since the change is usually just a newly appended mail, it'd be faster to simply read the new mails.  If this setting is enabled, Dovecot does this but still safely fallbacks to re-reading the whole mbox file whenever something in mbox isn't how it's expected to be.  The only real downside to this setting is that if some other MUA changes message flags, Dovecot doesn't notice it immediately.  Note that a full sync is done with SELECT, EXAMINE, EXPUNGE and CHECK commands.  Defaults to @samp{#t}."
msgstr "当mbox意外更改时,我们必须完全读取它以找出更改了什么。 如果mbox很大,这可能需要很长时间。 由于更改通常只是新附加的邮件,因此简单地读取新邮件会更快。 如果启用此设置,Dovecot会这样做,但在mbox中的某些内容与预期不符时,仍会安全地回退到重新读取整个mbox文件。 此设置的唯一真正缺点是,如果其他MUA更改消息标志,Dovecot不会立即注意到。 请注意,使用SELECT、EXAMINE、EXPUNGE和CHECK命令会进行完全同步。 默认为@samp{#t}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28506
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean mbox-very-dirty-syncs?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 mbox-very-dirty-syncs?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28511
#, fuzzy
msgid "Like @samp{mbox-dirty-syncs}, but don't do full syncs even with SELECT, EXAMINE, EXPUNGE or CHECK commands.  If this is set, @samp{mbox-dirty-syncs} is ignored.  Defaults to @samp{#f}."
msgstr "像@samp{mbox-dirty-syncs}一样,但即使使用SELECT、EXAMINE、EXPUNGE或CHECK命令也不进行完全同步。 如果设置了此选项,则忽略@samp{mbox-dirty-syncs}。 默认为@samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28513
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean mbox-lazy-writes?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 mbox-lazy-writes?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28519
#, fuzzy
msgid "Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK commands and when closing the mailbox).  This is especially useful for POP3 where clients often delete all mails.  The downside is that our changes aren't immediately visible to other MUAs.  Defaults to @samp{#t}."
msgstr "延迟写入mbox头,直到进行完全写入同步(EXPUNGE和CHECK命令以及关闭邮箱时)。 这对于POP3尤其有用,因为客户端通常会删除所有邮件。 缺点是我们的更改对其他MUA不可立即见。 默认为@samp{#t}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28521
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer mbox-min-index-size"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 mbox-min-index-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:28526
#, fuzzy
msgid "If mbox size is smaller than this (e.g.@: 100k), don't write index files.  If an index file already exists it's still read, just not updated.  Defaults to @samp{0}."
msgstr "如果 mbox 大小小于此值(例如:100k),则不写入索引文件。如果索引文件已经存在,仍然会读取,只是不更新。默认为 @samp{0}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28528
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer mdbox-rotate-size"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 mdbox-rotate-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:28531
#, fuzzy
msgid "Maximum dbox file size until it's rotated.  Defaults to @samp{10000000}."
msgstr "最大 dbox 文件大小,直到其被旋转。默认为 @samp{10000000}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28533
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mdbox-rotate-interval"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mdbox-rotate-interval"

#. type: deftypevr
#: guix-git/doc/guix.texi:28538
#, fuzzy
msgid "Maximum dbox file age until it's rotated.  Typically in days.  Day begins from midnight, so 1d = today, 2d = yesterday, etc.  0 = check disabled.  Defaults to @samp{\"1d\"}."
msgstr "最大 dbox 文件年龄,直到其被旋转。通常以天为单位。天从午夜开始,因此 1d = 今天,2d = 昨天,等等。0 = 检查禁用。默认为 @samp{\"1d\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28540
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean mdbox-preallocate-space?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 mdbox-preallocate-space?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28545
#, fuzzy
msgid "When creating new mdbox files, immediately preallocate their size to @samp{mdbox-rotate-size}.  This setting currently works only in Linux with some file systems (ext4, xfs).  Defaults to @samp{#f}."
msgstr "创建新的 mdbox 文件时,立即将其大小预分配为 @samp{mdbox-rotate-size}。此设置目前仅在某些文件系统(ext4,xfs)的 Linux 中有效。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28547
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-attachment-dir"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-attachment-dir"

#. type: deftypevr
#: guix-git/doc/guix.texi:28551
#, fuzzy
msgid "sdbox and mdbox support saving mail attachments to external files, which also allows single instance storage for them.  Other backends don't support this for now."
msgstr "sdbox 和 mdbox 支持将邮件附件保存到外部文件,这也允许对它们进行单实例存储。其他后端目前不支持此功能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28553
#, fuzzy
msgid "WARNING: This feature hasn't been tested much yet.  Use at your own risk."
msgstr "警告:此功能尚未经过充分测试。请自行承担风险。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28556
#, fuzzy
msgid "Directory root where to store mail attachments.  Disabled, if empty.  Defaults to @samp{\"\"}."
msgstr "存储邮件附件的目录根。如果为空,则禁用。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28558
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-attachment-min-size"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 mail-attachment-min-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:28563
#, fuzzy
msgid "Attachments smaller than this aren't saved externally.  It's also possible to write a plugin to disable saving specific attachments externally.  Defaults to @samp{128000}."
msgstr "小于此值的附件不会被外部保存。也可以编写插件以禁用特定附件的外部保存。默认为 @samp{128000}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28565
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-attachment-fs"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-attachment-fs"

#. type: deftypevr
#: guix-git/doc/guix.texi:28567
#, fuzzy
msgid "File system backend to use for saving attachments:"
msgstr "用于保存附件的文件系统后端:"

#. type: item
#: guix-git/doc/guix.texi:28568
#, fuzzy, no-wrap
msgid "posix"
msgstr "posix"

#. type: table
#: guix-git/doc/guix.texi:28570
#, fuzzy
msgid "No SiS done by Dovecot (but this might help FS's own deduplication)"
msgstr "Dovecot 不执行 SiS(但这可能有助于文件系统自身的去重)"

#. type: item
#: guix-git/doc/guix.texi:28570
#, fuzzy, no-wrap
msgid "sis posix"
msgstr "sis posix"

#. type: table
#: guix-git/doc/guix.texi:28572
#, fuzzy
msgid "SiS with immediate byte-by-byte comparison during saving"
msgstr "在保存时进行即时字节逐字节比较的 SiS"

#. type: item
#: guix-git/doc/guix.texi:28572
#, fuzzy, no-wrap
msgid "sis-queue posix"
msgstr "sis-queue posix"

#. type: table
#: guix-git/doc/guix.texi:28574
#, fuzzy
msgid "SiS with delayed comparison and deduplication."
msgstr "进行延迟比较和去重的 SiS。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28576
#, fuzzy
msgid "Defaults to @samp{\"sis posix\"}."
msgstr "默认为 @samp{\"sis posix\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28578
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string mail-attachment-hash"
msgstr "{@code{dovecot-configuration} 参数} 字符串 mail-attachment-hash"

#. type: deftypevr
#: guix-git/doc/guix.texi:28584
#, fuzzy
msgid "Hash format to use in attachment filenames.  You can add any text and variables: @code{%@{md4@}}, @code{%@{md5@}}, @code{%@{sha1@}}, @code{%@{sha256@}}, @code{%@{sha512@}}, @code{%@{size@}}.  Variables can be truncated, e.g.@: @code{%@{sha256:80@}} returns only first 80 bits.  Defaults to @samp{\"%@{sha1@}\"}."
msgstr "在附件文件名中使用的哈希格式。您可以添加任何文本和变量:@code{%@{md4@}},@code{%@{md5@}},@code{%@{sha1@}},@code{%@{sha256@}},@code{%@{sha512@}},@code{%@{size@}}。变量可以被截断,例如:@code{%@{sha256:80@}} 仅返回前 80 位。默认为 @samp{\"%@{sha1@}\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28586
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-process-limit"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 默认进程限制"

#. type: deftypevr
#: guix-git/doc/guix.texi:28591
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-client-limit"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 默认客户端限制"

#. type: deftypevr
#: guix-git/doc/guix.texi:28594 guix-git/doc/guix.texi:37563
#, fuzzy
msgid "Defaults to @samp{1000}."
msgstr "默认为 @samp{1000}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28596
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-vsz-limit"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 默认虚拟内存大小限制"

#. type: deftypevr
#: guix-git/doc/guix.texi:28601
#, fuzzy
msgid "Default VSZ (virtual memory size) limit for service processes.  This is mainly intended to catch and kill processes that leak memory before they eat up everything.  Defaults to @samp{256000000}."
msgstr "服务进程的默认虚拟内存大小(VSZ)限制。这主要用于捕获并终止泄漏内存的进程,以防它们消耗所有资源。默认为 @samp{256000000}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28603
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string default-login-user"
msgstr "{@code{dovecot-configuration} 参数} 字符串 默认登录用户"

#. type: deftypevr
#: guix-git/doc/guix.texi:28608
#, fuzzy
msgid "Login user is internally used by login processes.  This is the most untrusted user in Dovecot system.  It shouldn't have access to anything at all.  Defaults to @samp{\"dovenull\"}."
msgstr "登录用户由登录进程内部使用。这是 Dovecot 系统中最不受信任的用户。它不应该有任何访问权限。默认为 @samp{\"dovenull\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28610
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string default-internal-user"
msgstr "{@code{dovecot-configuration} 参数} 字符串 默认内部用户"

#. type: deftypevr
#: guix-git/doc/guix.texi:28615
#, fuzzy
msgid "Internal user is used by unprivileged processes.  It should be separate from login user, so that login processes can't disturb other processes.  Defaults to @samp{\"dovecot\"}."
msgstr "内部用户由无特权进程使用。它应该与登录用户分开,以便登录进程无法干扰其他进程。默认为 @samp{\"dovecot\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28617
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string ssl?"
msgstr "{@code{dovecot-configuration} 参数} 字符串 ssl?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28620
#, fuzzy
msgid "SSL/TLS support: yes, no, required.  <doc/wiki/SSL.txt>.  Defaults to @samp{\"required\"}."
msgstr "SSL/TLS 支持:是,否,必需。 <doc/wiki/SSL.txt>。默认为 @samp{\"required\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28622
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string ssl-cert"
msgstr "{@code{dovecot-configuration} 参数} 字符串 ssl-cert"

#. type: deftypevr
#: guix-git/doc/guix.texi:28625
#, fuzzy
msgid "PEM encoded X.509 SSL/TLS certificate (public key).  Defaults to @samp{\"</etc/dovecot/default.pem\"}."
msgstr "PEM 编码的 X.509 SSL/TLS 证书(公钥)。默认为 @samp{\"</etc/dovecot/default.pem\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28627
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string ssl-key"
msgstr "{@code{dovecot-configuration} 参数} 字符串 ssl-key"

#. type: deftypevr
#: guix-git/doc/guix.texi:28632
#, fuzzy
msgid "PEM encoded SSL/TLS private key.  The key is opened before dropping root privileges, so keep the key file unreadable by anyone but root.  Defaults to @samp{\"</etc/dovecot/private/default.pem\"}."
msgstr "PEM 编码的 SSL/TLS 私钥。密钥在放弃 root 权限之前打开,因此请确保密钥文件对除 root 之外的任何人不可读。默认为 @samp{\"</etc/dovecot/private/default.pem\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28634
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string ssl-key-password"
msgstr "{@code{dovecot-configuration} 参数} 字符串 ssl-key-password"

#. type: deftypevr
#: guix-git/doc/guix.texi:28640
#, fuzzy
msgid "If key file is password protected, give the password here.  Alternatively give it when starting dovecot with -p parameter.  Since this file is often world-readable, you may want to place this setting instead to a different.  Defaults to @samp{\"\"}."
msgstr "如果密钥文件受密码保护,请在此处提供密码。或者在使用 -p 参数启动 dovecot 时提供。由于此文件通常是全局可读的,您可能希望将此设置放置到其他地方。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28642
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string ssl-ca"
msgstr "{@code{dovecot-configuration} 参数} 字符串 ssl-ca"

#. type: deftypevr
#: guix-git/doc/guix.texi:28648
#, fuzzy
msgid "PEM encoded trusted certificate authority.  Set this only if you intend to use @samp{ssl-verify-client-cert? #t}.  The file should contain the CA certificate(s) followed by the matching CRL(s).  (e.g.@: @samp{ssl-ca </etc/ssl/certs/ca.pem}).  Defaults to @samp{\"\"}."
msgstr "PEM 编码的受信任证书颁发机构。仅在您打算使用 @samp{ssl-verify-client-cert? #t} 时设置此项。该文件应包含 CA 证书及其匹配的 CRL(例如:@samp{ssl-ca </etc/ssl/certs/ca.pem})。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28650
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean ssl-require-crl?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 ssl-require-crl?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28653
#, fuzzy
msgid "Require that CRL check succeeds for client certificates.  Defaults to @samp{#t}."
msgstr "要求 CRL 检查成功才能使用客户端证书。默认为 @samp{#t}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28655
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean ssl-verify-client-cert?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 ssl-verify-client-cert?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28659
#, fuzzy
msgid "Request client to send a certificate.  If you also want to require it, set @samp{auth-ssl-require-client-cert? #t} in auth section.  Defaults to @samp{#f}."
msgstr "请求客户端发送证书。如果您还想要求它,请在身份验证部分设置 @samp{auth-ssl-require-client-cert? #t}。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28661
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string ssl-cert-username-field"
msgstr "{@code{dovecot-configuration} 参数} 字符串 ssl-cert-username-field"

#. type: deftypevr
#: guix-git/doc/guix.texi:28666
#, fuzzy
msgid "Which field from certificate to use for username.  commonName and x500UniqueIdentifier are the usual choices.  You'll also need to set @samp{auth-ssl-username-from-cert? #t}.  Defaults to @samp{\"commonName\"}."
msgstr "要用于用户名的证书字段。commonName 和 x500UniqueIdentifier 是通常的选择。您还需要设置 @samp{auth-ssl-username-from-cert? #t}。默认为 @samp{\"commonName\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28668
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string ssl-min-protocol"
msgstr "{@code{dovecot-configuration} 参数} 字符串 ssl-min-protocol"

#. type: deftypevr
#: guix-git/doc/guix.texi:28671
#, fuzzy
msgid "Minimum SSL protocol version to accept.  Defaults to @samp{\"TLSv1\"}."
msgstr "接受的最低 SSL 协议版本。默认为 @samp{\"TLSv1\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28673
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string ssl-cipher-list"
msgstr "{@code{dovecot-configuration} 参数} 字符串 ssl-cipher-list"

#. type: deftypevr
#: guix-git/doc/guix.texi:28676
#, fuzzy
msgid "SSL ciphers to use.  Defaults to @samp{\"ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@@STRENGTH\"}."
msgstr "要使用的 SSL 密码。默认为 @samp{\"ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@@STRENGTH\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28678
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string ssl-crypto-device"
msgstr "{@code{dovecot-configuration} 参数} 字符串 ssl-crypto-device"

#. type: deftypevr
#: guix-git/doc/guix.texi:28681
#, fuzzy
msgid "SSL crypto device to use, for valid values run \"openssl engine\".  Defaults to @samp{\"\"}."
msgstr "要使用的 SSL 加密设备,有效值请运行 \"openssl engine\"。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28683
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string postmaster-address"
msgstr "{@code{dovecot-configuration} 参数} 字符串 postmaster-address"

#. type: deftypevr
#: guix-git/doc/guix.texi:28687
#, fuzzy
msgid "Address to use when sending rejection mails.  %d expands to recipient domain.  Defaults to @samp{\"postmaster@@%d\"}."
msgstr "发送拒绝邮件时使用的地址。%d 展开为接收域。默认为 @samp{\"postmaster@@%d\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28689
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string hostname"
msgstr "{@code{dovecot-configuration} 参数} 字符串 hostname"

#. type: deftypevr
#: guix-git/doc/guix.texi:28693
#, fuzzy
msgid "Hostname to use in various parts of sent mails (e.g.@: in Message-Id)  and in LMTP replies.  Default is the system's real hostname@@domain.  Defaults to @samp{\"\"}."
msgstr "在发送邮件的各个部分(例如:在 Message-Id 中)和 LMTP 回复中使用的主机名。默认是系统的真实主机名@@域。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28695
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean quota-full-tempfail?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 quota-full-tempfail?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28699
#, fuzzy
msgid "If user is over quota, return with temporary failure instead of bouncing the mail.  Defaults to @samp{#f}."
msgstr "如果用户超出配额,则返回临时失败而不是退回邮件。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28701
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} file-name sendmail-path"
msgstr "{@code{dovecot-configuration} 参数} 文件名 sendmail-path"

#. type: deftypevr
#: guix-git/doc/guix.texi:28704
#, fuzzy
msgid "Binary to use for sending mails.  Defaults to @samp{\"/usr/sbin/sendmail\"}."
msgstr "用于发送邮件的二进制文件。默认为 @samp{\"/usr/sbin/sendmail\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28706
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string submission-host"
msgstr "{@code{dovecot-configuration} 参数} 字符串 submission-host"

#. type: deftypevr
#: guix-git/doc/guix.texi:28710
#, fuzzy
msgid "If non-empty, send mails via this SMTP host[:port] instead of sendmail.  Defaults to @samp{\"\"}."
msgstr "如果不为空,则通过此 SMTP 主机[:端口] 发送邮件,而不是使用 sendmail。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28712
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string rejection-subject"
msgstr "{@code{dovecot-configuration} 参数} 字符串 rejection-subject"

#. type: deftypevr
#: guix-git/doc/guix.texi:28716
#, fuzzy
msgid "Subject: header to use for rejection mails.  You can use the same variables as for @samp{rejection-reason} below.  Defaults to @samp{\"Rejected: %s\"}."
msgstr "用于拒绝邮件的主题:头。您可以使用与下面的 @samp{rejection-reason} 相同的变量。默认为 @samp{\"Rejected: %s\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28718
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string rejection-reason"
msgstr "{@code{dovecot-configuration} 参数} 字符串 rejection-reason"

#. type: deftypevr
#: guix-git/doc/guix.texi:28721
#, fuzzy
msgid "Human readable error message for rejection mails.  You can use variables:"
msgstr "拒绝邮件的人类可读错误消息。您可以使用变量:"

#. type: table
#: guix-git/doc/guix.texi:28725
#, fuzzy
msgid "CRLF"
msgstr "CRLF"

#. type: item
#: guix-git/doc/guix.texi:28725
#, fuzzy, no-wrap
msgid "%r"
msgstr "%r"

#. type: table
#: guix-git/doc/guix.texi:28727
#, fuzzy
msgid "reason"
msgstr "原因"

#. type: table
#: guix-git/doc/guix.texi:28729
#, fuzzy
msgid "original subject"
msgstr "原始主题"

#. type: item
#: guix-git/doc/guix.texi:28729
#, fuzzy, no-wrap
msgid "%t"
msgstr "%t"

#. type: table
#: guix-git/doc/guix.texi:28731
#, fuzzy
msgid "recipient"
msgstr "收件人"

#. type: deftypevr
#: guix-git/doc/guix.texi:28733
#, fuzzy
msgid "Defaults to @samp{\"Your message to <%t> was automatically rejected:%n%r\"}."
msgstr "默认为 @samp{\"Your message to <%t> was automatically rejected:%n%r\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28735
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string recipient-delimiter"
msgstr "{@code{dovecot-configuration} 参数} 字符串 recipient-delimiter"

#. type: deftypevr
#: guix-git/doc/guix.texi:28739
#, fuzzy
msgid "Delimiter character between local-part and detail in email address.  Defaults to @samp{\"+\"}."
msgstr "电子邮件地址中本地部分和详细信息之间的分隔符字符。默认为 @samp{\"+\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28741
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string lda-original-recipient-header"
msgstr "{@code{dovecot-configuration} 参数} 字符串 lda-original-recipient-header"

#. type: deftypevr
#: guix-git/doc/guix.texi:28747
#, fuzzy
msgid "Header where the original recipient address (SMTP's RCPT TO: address) is taken from if not available elsewhere.  With dovecot-lda -a parameter overrides this.  A commonly used header for this is X-Original-To.  Defaults to @samp{\"\"}."
msgstr "如果在其他地方不可用,则从中获取原始收件人地址(SMTP 的 RCPT TO: 地址)的头。使用 dovecot-lda -a 参数可以覆盖此设置。常用的头是 X-Original-To。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28749
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autocreate?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 lda-mailbox-autocreate?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28753
#, fuzzy
msgid "Should saving a mail to a nonexistent mailbox automatically create it?.  Defaults to @samp{#f}."
msgstr "将邮件保存到不存在的邮箱时,是否应自动创建它?默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28755
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autosubscribe?"
msgstr "{@code{dovecot-configuration} 参数} 布尔值 lda-mailbox-autosubscribe?"

#. type: deftypevr
#: guix-git/doc/guix.texi:28759
#, fuzzy
msgid "Should automatically created mailboxes be also automatically subscribed?.  Defaults to @samp{#f}."
msgstr "是否应自动订阅自动创建的邮箱?默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28761
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} non-negative-integer imap-max-line-length"
msgstr "{@code{dovecot-configuration} 参数} 非负整数 imap-max-line-length"

#. type: deftypevr
#: guix-git/doc/guix.texi:28767
#, fuzzy
msgid "Maximum IMAP command line length.  Some clients generate very long command lines with huge mailboxes, so you may need to raise this if you get \"Too long argument\" or \"IMAP command line too large\" errors often.  Defaults to @samp{64000}."
msgstr "最大 IMAP 命令行长度。一些客户端在处理巨大的邮箱时生成非常长的命令行,因此如果您经常收到“参数过长”或“IMAP 命令行过大”错误,您可能需要提高此值。默认为 @samp{64000}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28769
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string imap-logout-format"
msgstr "{@code{dovecot-configuration} 参数} 字符串 imap-logout-format"

#. type: deftypevr
#: guix-git/doc/guix.texi:28771
#, fuzzy
msgid "IMAP logout format string:"
msgstr "IMAP 登出格式字符串:"

#. type: item
#: guix-git/doc/guix.texi:28772
#, fuzzy, no-wrap
msgid "%i"
msgstr "%i"

#. type: table
#: guix-git/doc/guix.texi:28774
#, fuzzy
msgid "total number of bytes read from client"
msgstr "从客户端读取的总字节数"

#. type: item
#: guix-git/doc/guix.texi:28774
#, fuzzy, no-wrap
msgid "%o"
msgstr "%o"

#. type: table
#: guix-git/doc/guix.texi:28776
#, fuzzy
msgid "total number of bytes sent to client."
msgstr "发送到客户端的总字节数。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28779
#, fuzzy
msgid "See @file{doc/wiki/Variables.txt} for a list of all the variables you can use.  Defaults to @samp{\"in=%i out=%o deleted=%@{deleted@} expunged=%@{expunged@} trashed=%@{trashed@} hdr_count=%@{fetch_hdr_count@} hdr_bytes=%@{fetch_hdr_bytes@} body_count=%@{fetch_body_count@} body_bytes=%@{fetch_body_bytes@}\"}."
msgstr "有关您可以使用的所有变量的列表,请参见 @file{doc/wiki/Variables.txt}。默认为 @samp{\"in=%i out=%o deleted=%@{deleted@} expunged=%@{expunged@} trashed=%@{trashed@} hdr_count=%@{fetch_hdr_count@} hdr_bytes=%@{fetch_hdr_bytes@} body_count=%@{fetch_body_count@} body_bytes=%@{fetch_body_bytes@}\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28781
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string imap-capability"
msgstr "{@code{dovecot-configuration} 参数} 字符串 imap-capability"

#. type: deftypevr
#: guix-git/doc/guix.texi:28785
#, fuzzy
msgid "Override the IMAP CAPABILITY response.  If the value begins with '+', add the given capabilities on top of the defaults (e.g.@: +XFOO XBAR).  Defaults to @samp{\"\"}."
msgstr "覆盖 IMAP CAPABILITY 响应。如果值以 '+' 开头,则在默认值上添加给定的能力(例如: +XFOO XBAR)。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28787
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string imap-idle-notify-interval"
msgstr "{@code{dovecot-configuration} 参数} 字符串 imap-idle-notify-interval"

#. type: deftypevr
#: guix-git/doc/guix.texi:28791
#, fuzzy
msgid "How long to wait between \"OK Still here\" notifications when client is IDLEing.  Defaults to @samp{\"2 mins\"}."
msgstr "客户端处于空闲状态时,\"OK Still here\" 通知之间的等待时间。默认为 @samp{\"2 mins\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28793
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string imap-id-send"
msgstr "{@code{dovecot-configuration} 参数} 字符串 imap-id-send"

#. type: deftypevr
#: guix-git/doc/guix.texi:28799
#, fuzzy
msgid "ID field names and values to send to clients.  Using * as the value makes Dovecot use the default value.  The following fields have default values currently: name, version, os, os-version, support-url, support-email.  Defaults to @samp{\"\"}."
msgstr "要发送给客户端的 ID 字段名称和值。使用 * 作为值使 Dovecot 使用默认值。当前具有默认值的字段包括:name, version, os, os-version, support-url, support-email。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28801
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string imap-id-log"
msgstr "{@code{dovecot-configuration} 参数} 字符串 imap-id-log"

#. type: deftypevr
#: guix-git/doc/guix.texi:28804
#, fuzzy
msgid "ID fields sent by client to log.  * means everything.  Defaults to @samp{\"\"}."
msgstr "客户端发送的 ID 字段以进行日志记录。* 表示所有。默认为 @samp{\"\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28806
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} space-separated-string-list imap-client-workarounds"
msgstr "{@code{dovecot-configuration} 参数} 空格分隔字符串列表 imap-client-workarounds"

#. type: deftypevr
#: guix-git/doc/guix.texi:28808
#, fuzzy
msgid "Workarounds for various client bugs:"
msgstr "各种客户端错误的解决方法:"

#. type: item
#: guix-git/doc/guix.texi:28810
#, fuzzy, no-wrap
msgid "delay-newmail"
msgstr "delay-newmail"

#. type: table
#: guix-git/doc/guix.texi:28817
#, fuzzy
msgid "Send EXISTS/RECENT new mail notifications only when replying to NOOP and CHECK commands.  Some clients ignore them otherwise, for example OSX Mail (<v2.1).  Outlook Express breaks more badly though, without this it may show user \"Message no longer in server\" errors.  Note that OE6 still breaks even with this workaround if synchronization is set to \"Headers Only\"."
msgstr "仅在回复 NOOP 和 CHECK 命令时发送 EXISTS/RECENT 新邮件通知。某些客户端在其他情况下会忽略它们,例如 OSX Mail (<v2.1)。不过,Outlook Express 更严重地出现问题,如果没有这个,它可能会向用户显示“消息不再在服务器上”的错误。请注意,如果将同步设置为“仅标题”,OE6 仍然会出现问题,即使有此解决方法。"

#. type: item
#: guix-git/doc/guix.texi:28818
#, fuzzy, no-wrap
msgid "tb-extra-mailbox-sep"
msgstr "tb-extra-mailbox-sep"

#. type: table
#: guix-git/doc/guix.texi:28822
#, fuzzy
msgid "Thunderbird gets somehow confused with LAYOUT=fs (mbox and dbox) and adds extra @samp{/} suffixes to mailbox names.  This option causes Dovecot to ignore the extra @samp{/} instead of treating it as invalid mailbox name."
msgstr "Thunderbird 在 LAYOUT=fs(mbox 和 dbox)时会感到困惑,并向邮箱名称添加额外的 @samp{/} 后缀。此选项使 Dovecot 忽略额外的 @samp{/},而不是将其视为无效的邮箱名称。"

#. type: item
#: guix-git/doc/guix.texi:28823
#, fuzzy, no-wrap
msgid "tb-lsub-flags"
msgstr "tb-lsub-flags"

#. type: table
#: guix-git/doc/guix.texi:28827
#, fuzzy
msgid "Show \\Noselect flags for LSUB replies with LAYOUT=fs (e.g.@: mbox).  This makes Thunderbird realize they aren't selectable and show them greyed out, instead of only later giving \"not selectable\" popup error."
msgstr "对于 LAYOUT=fs(例如:mbox)的 LSUB 回复显示 \\Noselect 标志。这使得 Thunderbird 意识到它们不可选择,并将其显示为灰色,而不是稍后仅给出“不可选择”的弹出错误。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28831
#, fuzzy, no-wrap
msgid "{@code{dovecot-configuration} parameter} string imap-urlauth-host"
msgstr "{@code{dovecot-configuration} 参数} 字符串 imap-urlauth-host"

#. type: deftypevr
#: guix-git/doc/guix.texi:28834
#, fuzzy
msgid "Host allowed in URLAUTH URLs sent by client.  \"*\" allows all.  Defaults to @samp{\"\"}."
msgstr "客户端发送的 URLAUTH URL 中允许的主机。“*” 允许所有。默认为 @samp{\"\"}。"

#. type: Plain text
#: guix-git/doc/guix.texi:28842
#, fuzzy
msgid "Whew! Lots of configuration options.  The nice thing about it though is that Guix has a complete interface to Dovecot's configuration language.  This allows not only a nice way to declare configurations, but also offers reflective capabilities as well: users can write code to inspect and transform configurations from within Scheme."
msgstr "哇!有很多配置选项。不过,令人高兴的是,Guix 提供了一个完整的接口来使用 Dovecot 的配置语言。这不仅提供了一种声明配置的良好方式,还提供了反射能力:用户可以编写代码从 Scheme 内部检查和转换配置。"

#. type: Plain text
#: guix-git/doc/guix.texi:28848
#, fuzzy
msgid "However, it could be that you just want to get a @code{dovecot.conf} up and running.  In that case, you can pass an @code{opaque-dovecot-configuration} as the @code{#:config} parameter to @code{dovecot-service}.  As its name indicates, an opaque configuration does not have easy reflective capabilities."
msgstr "然而,您可能只是想让 @code{dovecot.conf} 正常运行。在这种情况下,您可以将 @code{opaque-dovecot-configuration} 作为 @code{#:config} 参数传递给 @code{dovecot-service}。顾名思义,opaque 配置没有简单的反射能力。"

#. type: Plain text
#: guix-git/doc/guix.texi:28850
#, fuzzy
msgid "Available @code{opaque-dovecot-configuration} fields are:"
msgstr "可用的 @code{opaque-dovecot-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:28851
#, fuzzy, no-wrap
msgid "{@code{opaque-dovecot-configuration} parameter} package dovecot"
msgstr "{@code{opaque-dovecot-configuration} 参数} 包 dovecot"

#. type: deftypevr
#: guix-git/doc/guix.texi:28855
#, fuzzy, no-wrap
msgid "{@code{opaque-dovecot-configuration} parameter} string string"
msgstr "{@code{opaque-dovecot-configuration} 参数} 字符串 字符串"

#. type: deftypevr
#: guix-git/doc/guix.texi:28857
#, fuzzy
msgid "The contents of the @code{dovecot.conf}, as a string."
msgstr "@code{dovecot.conf} 的内容,作为字符串。"

#. type: Plain text
#: guix-git/doc/guix.texi:28861
#, fuzzy
msgid "For example, if your @code{dovecot.conf} is just the empty string, you could instantiate a dovecot service like this:"
msgstr "例如,如果您的 @code{dovecot.conf} 只是空字符串,您可以像这样实例化一个 dovecot 服务:"

#. type: lisp
#: guix-git/doc/guix.texi:28866
#, fuzzy, no-wrap
msgid ""
"(dovecot-service #:config\n"
"                 (opaque-dovecot-configuration\n"
"                  (string \"\")))\n"
msgstr ""
"(dovecot-service #:config\n"
"                 (opaque-dovecot-configuration\n"
"                  (string \"\")))\n"

#. type: subsubheading
#: guix-git/doc/guix.texi:28868
#, fuzzy, no-wrap
msgid "OpenSMTPD Service"
msgstr "OpenSMTPD 服务"

#. type: defvar
#: guix-git/doc/guix.texi:28870
#, fuzzy, no-wrap
msgid "opensmtpd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:28874
#, fuzzy
msgid "This is the type of the @uref{https://www.opensmtpd.org, OpenSMTPD} service, whose value should be an @code{opensmtpd-configuration} object as in this example:"
msgstr "这是 @uref{https://www.opensmtpd.org, OpenSMTPD} 服务的类型,其值应为 @code{opensmtpd-configuration} 对象,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:28879
#, fuzzy, no-wrap
msgid ""
"(service opensmtpd-service-type\n"
"         (opensmtpd-configuration\n"
"           (config-file (local-file \"./my-smtpd.conf\"))))\n"
msgstr ""
"(service opensmtpd-service-type\n"
"         (opensmtpd-configuration\n"
"           (config-file (local-file \"./my-smtpd.conf\"))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:28882
#, fuzzy, no-wrap
msgid "{Data Type} opensmtpd-configuration"
msgstr "{数据类型} opensmtpd-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:28884
#, fuzzy
msgid "Data type representing the configuration of opensmtpd."
msgstr "表示 opensmtpd 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:28886
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{opensmtpd})"
msgstr "@code{package}(默认值:@var{opensmtpd})"

#. type: table
#: guix-git/doc/guix.texi:28888
#, fuzzy
msgid "Package object of the OpenSMTPD SMTP server."
msgstr "OpenSMTPD SMTP 服务器的包对象。"

#. type: table
#: guix-git/doc/guix.texi:28893
#, fuzzy
msgid "This option can be used to provide a list of symbols naming Shepherd services that this service will depend on, such as @code{'networking} if you want to configure OpenSMTPD to listen on non-loopback interfaces."
msgstr "此选项可用于提供一个符号列表,命名此服务所依赖的 Shepherd 服务,例如 @code{'networking},如果您想配置 OpenSMTPD 以在非回环接口上监听。"

#. type: item
#: guix-git/doc/guix.texi:28894
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{%default-opensmtpd-config-file})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:28899
#, fuzzy
msgid "File-like object of the OpenSMTPD configuration file to use.  By default it listens on the loopback network interface, and allows for mail from users and daemons on the local machine, as well as permitting email to remote servers.  Run @command{man smtpd.conf} for more information."
msgstr "要使用的 OpenSMTPD 配置文件的类文件对象。默认情况下,它在回环网络接口上监听,并允许来自本地机器的用户和守护进程的邮件,同时允许向远程服务器发送电子邮件。运行 @command{man smtpd.conf} 获取更多信息。"

#. type: item
#: guix-git/doc/guix.texi:28900
#, fuzzy, no-wrap
msgid "@code{setgid-commands?} (default: @code{#t})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:28905
#, fuzzy
msgid "Make the following commands setgid to @code{smtpq} so they can be executed: @command{smtpctl}, @command{sendmail}, @command{send-mail}, @command{makemap}, @command{mailq}, and @command{newaliases}.  @xref{Privileged Programs}, for more information on setgid programs."
msgstr "使以下命令设置为 setgid 到 @code{smtpq} 以便可以执行:@command{smtpctl}、@command{sendmail}、@command{send-mail}、@command{makemap}、@command{mailq} 和 @command{newaliases}。有关 setgid 程序的更多信息,请参见 @xref{特权程序}。"

#. type: subsubheading
#: guix-git/doc/guix.texi:28908
#, fuzzy, no-wrap
msgid "Exim Service"
msgstr "Exim 服务"

#. type: cindex
#: guix-git/doc/guix.texi:28910
#, fuzzy, no-wrap
msgid "mail transfer agent (MTA)"
msgstr "邮件传输代理 (MTA)"

#. type: cindex
#: guix-git/doc/guix.texi:28911
#, fuzzy, no-wrap
msgid "MTA (mail transfer agent)"
msgstr "MTA (邮件传输代理)"

#. type: cindex
#: guix-git/doc/guix.texi:28912
#, fuzzy, no-wrap
msgid "SMTP"
msgstr "SMTP"

#. type: defvar
#: guix-git/doc/guix.texi:28914
#, fuzzy, no-wrap
msgid "exim-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:28918
#, fuzzy
msgid "This is the type of the @uref{https://exim.org, Exim} mail transfer agent (MTA), whose value should be an @code{exim-configuration} object as in this example:"
msgstr "这是 @uref{https://exim.org, Exim} 邮件传输代理 (MTA) 的类型,其值应为 @code{exim-configuration} 对象,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:28923
#, fuzzy, no-wrap
msgid ""
"(service exim-service-type\n"
"         (exim-configuration\n"
"           (config-file (local-file \"./my-exim.conf\"))))\n"
msgstr ""
"(service exim-service-type\n"
"         (exim-configuration\n"
"           (config-file (local-file \"./my-exim.conf\"))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:28929
#, fuzzy
msgid "In order to use an @code{exim-service-type} service you must also have a @code{mail-aliases-service-type} service present in your @code{operating-system} (even if it has no aliases)."
msgstr "为了使用 @code{exim-service-type} 服务,您还必须在您的 @code{operating-system} 中有一个 @code{mail-aliases-service-type} 服务(即使它没有别名)。"

#. type: deftp
#: guix-git/doc/guix.texi:28930
#, fuzzy, no-wrap
msgid "{Data Type} exim-configuration"
msgstr "{数据类型} exim-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:28932
#, fuzzy
msgid "Data type representing the configuration of exim."
msgstr "表示 exim 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:28934
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{exim})"
msgstr "@code{package} (默认: @var{exim})"

#. type: table
#: guix-git/doc/guix.texi:28936
#, fuzzy
msgid "Package object of the Exim server."
msgstr "Exim 服务器的包对象。"

#. type: table
#: guix-git/doc/guix.texi:28943
#, fuzzy
msgid "File-like object of the Exim configuration file to use.  If its value is @code{#f} then use the default configuration file from the package provided in @code{package}.  The resulting configuration file is loaded after setting the @code{exim_user} and @code{exim_group} configuration variables."
msgstr "要使用的 Exim 配置文件的类文件对象。如果其值为 @code{#f},则使用 @code{package} 中提供的默认配置文件。设置 @code{exim_user} 和 @code{exim_group} 配置变量后,加载生成的配置文件。"

#. type: subsubheading
#: guix-git/doc/guix.texi:28947
#, fuzzy, no-wrap
msgid "Getmail service"
msgstr "邮件服务"

#. type: cindex
#: guix-git/doc/guix.texi:28949
#, fuzzy, no-wrap
msgid "IMAP"
msgstr "IMAP"

#. type: cindex
#: guix-git/doc/guix.texi:28950
#, fuzzy, no-wrap
msgid "POP"
msgstr "POP"

#. type: defvar
#: guix-git/doc/guix.texi:28952
#, fuzzy, no-wrap
msgid "getmail-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:28955
#, fuzzy
msgid "This is the type of the @uref{http://pyropus.ca/software/getmail/, Getmail} mail retriever, whose value should be a @code{getmail-configuration}."
msgstr "这是 @uref{http://pyropus.ca/software/getmail/, Getmail} 邮件检索器的类型,其值应为 @code{getmail-configuration}。"

#. type: Plain text
#: guix-git/doc/guix.texi:28958
#, fuzzy
msgid "Available @code{getmail-configuration} fields are:"
msgstr "可用的 @code{getmail-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:28959
#, fuzzy, no-wrap
msgid "{@code{getmail-configuration} parameter} symbol name"
msgstr "{@code{getmail-configuration} 参数} 符号名称"

#. type: deftypevr
#: guix-git/doc/guix.texi:28961
#, fuzzy
msgid "A symbol to identify the getmail service."
msgstr "用于标识 getmail 服务的符号。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28963
#, fuzzy
msgid "Defaults to @samp{\"unset\"}."
msgstr "默认为 @samp{\"unset\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28966
#, fuzzy, no-wrap
msgid "{@code{getmail-configuration} parameter} package package"
msgstr "{@code{getmail-configuration} 参数} 包包"

#. type: deftypevr
#: guix-git/doc/guix.texi:28968
#, fuzzy
msgid "The getmail package to use."
msgstr "软件包数据类型。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28971
#, fuzzy, no-wrap
msgid "{@code{getmail-configuration} parameter} string user"
msgstr "{@code{getmail-configuration} 参数} 字符串用户"

#. type: deftypevr
#: guix-git/doc/guix.texi:28973
#, fuzzy
msgid "The user to run getmail as."
msgstr "运行 getmail 的用户。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28975 guix-git/doc/guix.texi:28982
#, fuzzy
msgid "Defaults to @samp{\"getmail\"}."
msgstr "默认为 @samp{\"getmail\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28978
#, fuzzy, no-wrap
msgid "{@code{getmail-configuration} parameter} string group"
msgstr "{@code{getmail-configuration} 参数} 字符串组"

#. type: deftypevr
#: guix-git/doc/guix.texi:28980
#, fuzzy
msgid "The group to run getmail as."
msgstr "运行 getmail 的组。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28985
#, fuzzy, no-wrap
msgid "{@code{getmail-configuration} parameter} string directory"
msgstr "{@code{getmail-configuration} 参数} 字符串目录"

#. type: deftypevr
#: guix-git/doc/guix.texi:28987
#, fuzzy
msgid "The getmail directory to use."
msgstr "要使用的 getmail 目录。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28989
#, fuzzy
msgid "Defaults to @samp{\"/var/lib/getmail/default\"}."
msgstr "默认为 @samp{\"/var/lib/getmail/default\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28992
#, fuzzy, no-wrap
msgid "{@code{getmail-configuration} parameter} getmail-configuration-file rcfile"
msgstr "{@code{getmail-configuration} 参数} getmail-configuration-file rcfile"

#. type: deftypevr
#: guix-git/doc/guix.texi:28994
#, fuzzy
msgid "The getmail configuration file to use."
msgstr "要使用的 getmail 配置文件。"

#. type: deftypevr
#: guix-git/doc/guix.texi:28996
#, fuzzy
msgid "Available @code{getmail-configuration-file} fields are:"
msgstr "可用的 @code{getmail-configuration-file} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:28997
#, fuzzy, no-wrap
msgid "{@code{getmail-configuration-file} parameter} getmail-retriever-configuration retriever"
msgstr "{@code{getmail-configuration-file} 参数} getmail-retriever-configuration retriever"

#. type: deftypevr
#: guix-git/doc/guix.texi:28999
#, fuzzy
msgid "What mail account to retrieve mail from, and how to access that account."
msgstr "从哪个邮件账户检索邮件,以及如何访问该账户。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29001
#, fuzzy
msgid "Available @code{getmail-retriever-configuration} fields are:"
msgstr "可用的 @code{getmail-retriever-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:29002
#, fuzzy, no-wrap
msgid "{@code{getmail-retriever-configuration} parameter} string type"
msgstr "{@code{getmail-retriever-configuration} 参数} 字符串类型"

#. type: deftypevr
#: guix-git/doc/guix.texi:29005
#, fuzzy
msgid "The type of mail retriever to use.  Valid values include @samp{passwd} and @samp{static}."
msgstr "要使用的邮件检索器类型。有效值包括 @samp{passwd} 和 @samp{static}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29007
#, fuzzy
msgid "Defaults to @samp{\"SimpleIMAPSSLRetriever\"}."
msgstr "默认为 @samp{\"SimpleIMAPSSLRetriever\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29010
#, fuzzy, no-wrap
msgid "{@code{getmail-retriever-configuration} parameter} string server"
msgstr "{@code{getmail-retriever-configuration} 参数} 字符串服务器"

#. type: deftypevr
#: guix-git/doc/guix.texi:29012 guix-git/doc/guix.texi:29019
#, fuzzy
msgid "Username to login to the mail server with."
msgstr "用于登录邮件服务器的用户名。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29014 guix-git/doc/guix.texi:29021
#: guix-git/doc/guix.texi:29085
#, fuzzy
msgid "Defaults to @samp{unset}."
msgstr "默认为 @samp{unset}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29017
#, fuzzy, no-wrap
msgid "{@code{getmail-retriever-configuration} parameter} string username"
msgstr "{@code{getmail-retriever-configuration} 参数} 字符串用户名"

#. type: deftypevr
#: guix-git/doc/guix.texi:29024
#, fuzzy, no-wrap
msgid "{@code{getmail-retriever-configuration} parameter} non-negative-integer port"
msgstr "{@code{getmail-retriever-configuration} 参数} 非负整数端口"

#. type: deftypevr
#: guix-git/doc/guix.texi:29026
#, fuzzy
msgid "Port number to connect to."
msgstr "连接的端口号。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29031
#, fuzzy, no-wrap
msgid "{@code{getmail-retriever-configuration} parameter} string password"
msgstr "{@code{getmail-retriever-configuration} 参数} 字符串密码"

#. type: deftypevr
#: guix-git/doc/guix.texi:29033 guix-git/doc/guix.texi:29040
#, fuzzy
msgid "Override fields from passwd."
msgstr "覆盖 passwd 中的字段。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29038
#, fuzzy, no-wrap
msgid "{@code{getmail-retriever-configuration} parameter} list password-command"
msgstr "{@code{getmail-retriever-configuration} 参数} 列表密码命令"

#. type: deftypevr
#: guix-git/doc/guix.texi:29045
#, fuzzy, no-wrap
msgid "{@code{getmail-retriever-configuration} parameter} string keyfile"
msgstr "{@code{getmail-retriever-configuration} 参数} 字符串密钥文件"

#. type: deftypevr
#: guix-git/doc/guix.texi:29047
#, fuzzy
msgid "PEM-formatted key file to use for the TLS negotiation."
msgstr "用于 TLS 协商的 PEM 格式密钥文件。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29052
#, fuzzy, no-wrap
msgid "{@code{getmail-retriever-configuration} parameter} string certfile"
msgstr "{@code{getmail-retriever-configuration} 参数} 字符串证书文件"

#. type: deftypevr
#: guix-git/doc/guix.texi:29054
#, fuzzy
msgid "PEM-formatted certificate file to use for the TLS negotiation."
msgstr "用于 TLS 协商的 PEM 格式证书文件。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29059
#, fuzzy, no-wrap
msgid "{@code{getmail-retriever-configuration} parameter} string ca-certs"
msgstr "{@code{getmail-retriever-configuration} 参数} 字符串 CA 证书"

#. type: deftypevr
#: guix-git/doc/guix.texi:29061
#, fuzzy
msgid "CA certificates to use."
msgstr "证书服务"

#. type: deftypevr
#: guix-git/doc/guix.texi:29066
#, fuzzy, no-wrap
msgid "{@code{getmail-retriever-configuration} parameter} parameter-alist extra-parameters"
msgstr "{@code{getmail-retriever-configuration} 参数} 参数列表额外参数"

#. type: deftypevr
#: guix-git/doc/guix.texi:29068
#, fuzzy
msgid "Extra retriever parameters."
msgstr "额外的检索器参数。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29075
#, fuzzy, no-wrap
msgid "{@code{getmail-configuration-file} parameter} getmail-destination-configuration destination"
msgstr "{@code{getmail-configuration-file} 参数} getmail-destination-configuration 目标"

#. type: deftypevr
#: guix-git/doc/guix.texi:29077
#, fuzzy
msgid "What to do with retrieved messages."
msgstr "对检索到的消息的处理方式。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29079
#, fuzzy
msgid "Available @code{getmail-destination-configuration} fields are:"
msgstr "可用的 @code{getmail-destination-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:29080
#, fuzzy, no-wrap
msgid "{@code{getmail-destination-configuration} parameter} string type"
msgstr "{@code{getmail-destination-configuration} 参数} 字符串类型"

#. type: deftypevr
#: guix-git/doc/guix.texi:29083
#, fuzzy
msgid "The type of mail destination.  Valid values include @samp{Maildir}, @samp{Mboxrd} and @samp{MDA_external}."
msgstr "邮件目标的类型。有效值包括 @samp{Maildir}、@samp{Mboxrd} 和 @samp{MDA_external}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29088
#, fuzzy, no-wrap
msgid "{@code{getmail-destination-configuration} parameter} string-or-filelike path"
msgstr "{@code{getmail-destination-configuration} 参数} 字符串或文件路径"

#. type: deftypevr
#: guix-git/doc/guix.texi:29091
#, fuzzy
msgid "The path option for the mail destination.  The behaviour depends on the chosen type."
msgstr "邮件目标的路径选项。行为取决于所选类型。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29096
#, fuzzy, no-wrap
msgid "{@code{getmail-destination-configuration} parameter} parameter-alist extra-parameters"
msgstr "{@code{getmail-destination-configuration} 参数} 参数列表额外参数"

#. type: deftypevr
#: guix-git/doc/guix.texi:29098
#, fuzzy
msgid "Extra destination parameters"
msgstr "额外的目标参数"

#. type: deftypevr
#: guix-git/doc/guix.texi:29105
#, fuzzy, no-wrap
msgid "{@code{getmail-configuration-file} parameter} getmail-options-configuration options"
msgstr "{@code{getmail-configuration-file} 参数} getmail-options-configuration 选项"

#. type: deftypevr
#: guix-git/doc/guix.texi:29107
#, fuzzy
msgid "Configure getmail."
msgstr "配置 getmail。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29109
#, fuzzy
msgid "Available @code{getmail-options-configuration} fields are:"
msgstr "可用的 @code{getmail-options-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:29110
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} non-negative-integer verbose"
msgstr "{@code{getmail-options-configuration} 参数} 非负整数详细"

#. type: deftypevr
#: guix-git/doc/guix.texi:29115
#, fuzzy
msgid "If set to @samp{0}, getmail will only print warnings and errors.  A value of @samp{1} means that messages will be printed about retrieving and deleting messages.  If set to @samp{2}, getmail will print messages about each of its actions."
msgstr "如果设置为 @samp{0},getmail 只会打印警告和错误。@samp{1} 的值意味着将打印关于检索和删除消息的消息。如果设置为 @samp{2},getmail 将打印关于其每个操作的消息。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29117 guix-git/doc/guix.texi:36708
#: guix-git/doc/guix.texi:37621 guix-git/doc/guix.texi:37766
#, fuzzy
msgid "Defaults to @samp{1}."
msgstr "默认为 @samp{1}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29120
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} boolean read-all"
msgstr "{@code{getmail-options-configuration} 参数} 布尔值 read-all"

#. type: deftypevr
#: guix-git/doc/guix.texi:29123
#, fuzzy
msgid "If true, getmail will retrieve all available messages.  Otherwise it will only retrieve messages it hasn't seen previously."
msgstr "如果为真,getmail 将检索所有可用消息。否则,它只会检索之前未见过的消息。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29128
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} boolean delete"
msgstr "{@code{getmail-options-configuration} 参数} 布尔值 delete"

#. type: deftypevr
#: guix-git/doc/guix.texi:29132
#, fuzzy
msgid "If set to true, messages will be deleted from the server after retrieving and successfully delivering them.  Otherwise, messages will be left on the server."
msgstr "如果设置为真,消息将在检索并成功投递后从服务器删除。否则,消息将保留在服务器上。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29137
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} non-negative-integer delete-after"
msgstr "{@code{getmail-options-configuration} 参数} 非负整数 delete-after"

#. type: deftypevr
#: guix-git/doc/guix.texi:29142
#, fuzzy
msgid "Getmail will delete messages this number of days after seeing them, if they have been delivered.  This means messages will be left on the server this number of days after delivering them.  A value of @samp{0} disabled this feature."
msgstr "如果消息已被投递,getmail 将在看到消息后的天数内删除这些消息。这意味着消息将在投递后在服务器上保留这些天数。值为 @samp{0} 将禁用此功能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29147
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} non-negative-integer delete-bigger-than"
msgstr "{@code{getmail-options-configuration} 参数} 非负整数 delete-bigger-than"

#. type: deftypevr
#: guix-git/doc/guix.texi:29151
#, fuzzy
msgid "Delete messages larger than this of bytes after retrieving them, even if the delete and delete-after options are disabled.  A value of @samp{0} disables this feature."
msgstr "在检索后删除大于此字节数的消息,即使删除和 delete-after 选项被禁用。值为 @samp{0} 将禁用此功能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29156
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} non-negative-integer max-bytes-per-session"
msgstr "{@code{getmail-options-configuration} 参数} 非负整数 max-bytes-per-session"

#. type: deftypevr
#: guix-git/doc/guix.texi:29159
#, fuzzy
msgid "Retrieve messages totalling up to this number of bytes before closing the session with the server.  A value of @samp{0} disables this feature."
msgstr "在与服务器关闭会话之前,检索总计不超过此字节数的消息。值为 @samp{0} 将禁用此功能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29164
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} non-negative-integer max-message-size"
msgstr "{@code{getmail-options-configuration} 参数} 非负整数 max-message-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:29167
#, fuzzy
msgid "Don't retrieve messages larger than this number of bytes.  A value of @samp{0} disables this feature."
msgstr "不检索大于此字节数的消息。值为 @samp{0} 将禁用此功能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29172
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} boolean delivered-to"
msgstr "{@code{getmail-options-configuration} 参数} 布尔值 delivered-to"

#. type: deftypevr
#: guix-git/doc/guix.texi:29174
#, fuzzy
msgid "If true, getmail will add a Delivered-To header to messages."
msgstr "如果为真,getmail 将在消息中添加 Delivered-To 头。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29179
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} boolean received"
msgstr "{@code{getmail-options-configuration} 参数} 布尔值 received"

#. type: deftypevr
#: guix-git/doc/guix.texi:29181
#, fuzzy
msgid "If set, getmail adds a Received header to the messages."
msgstr "如果设置,getmail 会在消息中添加 Received 头。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29186
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} string message-log"
msgstr "{@code{getmail-options-configuration} 参数} 字符串 message-log"

#. type: deftypevr
#: guix-git/doc/guix.texi:29189
#, fuzzy
msgid "Getmail will record a log of its actions to the named file.  A value of @samp{\"\"} disables this feature."
msgstr "getmail 将记录其操作的日志到指定文件。值为 @samp{\"\"} 将禁用此功能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29194
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} boolean message-log-syslog"
msgstr "{@code{getmail-options-configuration} 参数} 布尔值 message-log-syslog"

#. type: deftypevr
#: guix-git/doc/guix.texi:29197
#, fuzzy
msgid "If true, getmail will record a log of its actions using the system logger."
msgstr "如果为真,getmail 将使用系统日志记录其操作的日志。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29202
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} boolean message-log-verbose"
msgstr "{@code{getmail-options-configuration} 参数} 布尔值 message-log-verbose"

#. type: deftypevr
#: guix-git/doc/guix.texi:29206
#, fuzzy
msgid "If true, getmail will log information about messages not retrieved and the reason for not retrieving them, as well as starting and ending information lines."
msgstr "如果为真,getmail 将记录未检索到的邮件的信息及未检索的原因,以及开始和结束的信息行。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29211
#, fuzzy, no-wrap
msgid "{@code{getmail-options-configuration} parameter} parameter-alist extra-parameters"
msgstr "{@code{getmail-options-configuration} 参数} 参数列表 额外参数"

#. type: deftypevr
#: guix-git/doc/guix.texi:29213
#, fuzzy
msgid "Extra options to include."
msgstr "要包含的额外选项。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29222
#, fuzzy, no-wrap
msgid "{@code{getmail-configuration} parameter} list idle"
msgstr "{@code{getmail-configuration} 参数} 列表 idle"

#. type: deftypevr
#: guix-git/doc/guix.texi:29226
#, fuzzy
msgid "A list of mailboxes that getmail should wait on the server for new mail notifications.  This depends on the server supporting the IDLE extension."
msgstr "getmail 应该在服务器上等待新邮件通知的邮箱列表。这取决于服务器是否支持 IDLE 扩展。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29231
#, fuzzy, no-wrap
msgid "{@code{getmail-configuration} parameter} list environment-variables"
msgstr "{@code{getmail-configuration} 参数} 列表 环境变量"

#. type: deftypevr
#: guix-git/doc/guix.texi:29233
#, fuzzy
msgid "Environment variables to set for getmail."
msgstr "为 getmail 设置的环境变量。"

#. type: subsubheading
#: guix-git/doc/guix.texi:29238
#, fuzzy, no-wrap
msgid "Mail Aliases Service"
msgstr "邮件别名服务"

#. type: cindex
#: guix-git/doc/guix.texi:29240
#, fuzzy, no-wrap
msgid "email aliases"
msgstr "电子邮件别名"

#. type: cindex
#: guix-git/doc/guix.texi:29241
#, fuzzy, no-wrap
msgid "aliases, for email addresses"
msgstr "电子邮件地址的别名"

#. type: defvar
#: guix-git/doc/guix.texi:29243
#, fuzzy, no-wrap
msgid "mail-aliases-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:29246
#, fuzzy
msgid "This is the type of the service which provides @code{/etc/aliases}, specifying how to deliver mail to users on this system."
msgstr "这是提供 @code{/etc/aliases} 的服务类型,指定如何将邮件投递给该系统上的用户。"

#. type: lisp
#: guix-git/doc/guix.texi:29251
#, fuzzy, no-wrap
msgid ""
"(service mail-aliases-service-type\n"
"         '((\"postmaster\" \"bob\")\n"
"           (\"bob\" \"bob@@example.com\" \"bob@@example2.com\")))\n"
msgstr ""
"(服务 mail-aliases-service-type\n"
"         '((\"postmaster\" \"bob\")\n"
"           (\"bob\" \"bob@@example.com\" \"bob@@example2.com\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:29259
#, fuzzy
msgid "The configuration for a @code{mail-aliases-service-type} service is an association list denoting how to deliver mail that comes to this system.  Each entry is of the form @code{(alias addresses ...)}, with @code{alias} specifying the local alias and @code{addresses} specifying where to deliver this user's mail."
msgstr "@code{mail-aliases-service-type} 服务的配置是一个关联列表,表示如何将邮件投递到该系统。每个条目的形式为 @code{(alias addresses ...)},其中 @code{alias} 指定本地别名,@code{addresses} 指定将该用户的邮件投递到哪里。"

#. type: Plain text
#: guix-git/doc/guix.texi:29265
#, fuzzy
msgid "The aliases aren't required to exist as users on the local system.  In the above example, there doesn't need to be a @code{postmaster} entry in the @code{operating-system}'s @code{user-accounts} in order to deliver the @code{postmaster} mail to @code{bob} (which subsequently would deliver mail to @code{bob@@example.com} and @code{bob@@example2.com})."
msgstr "别名不需要作为本地系统上的用户存在。在上述示例中,不需要在 @code{operating-system} 的 @code{user-accounts} 中有 @code{postmaster} 条目,以便将 @code{postmaster} 的邮件投递给 @code{bob}(随后将邮件投递给 @code{bob@@example.com} 和 @code{bob@@example2.com})。"

#. type: cindex
#: guix-git/doc/guix.texi:29266 guix-git/doc/guix.texi:29267
#, fuzzy, no-wrap
msgid "GNU Mailutils IMAP4 Daemon"
msgstr "GNU Mailutils IMAP4 守护进程"

#. type: defvar
#: guix-git/doc/guix.texi:29269
#, fuzzy, no-wrap
msgid "imap4d-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:29273
#, fuzzy
msgid "This is the type of the GNU Mailutils IMAP4 Daemon (@pxref{imap4d,,, mailutils, GNU Mailutils Manual}), whose value should be an @code{imap4d-configuration} object as in this example:"
msgstr "这是 GNU Mailutils IMAP4 守护进程的类型 (@pxref{imap4d,,, mailutils, GNU Mailutils Manual}),其值应为 @code{imap4d-configuration} 对象,如下例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:29278
#, fuzzy, no-wrap
msgid ""
"(service imap4d-service-type\n"
"         (imap4d-configuration\n"
"           (config-file (local-file \"imap4d.conf\"))))\n"
msgstr ""
"(服务 imap4d-service-type\n"
"         (imap4d-configuration\n"
"           (config-file (local-file \"imap4d.conf\"))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:29281
#, fuzzy, no-wrap
msgid "{Data Type} imap4d-configuration"
msgstr "{数据类型} imap4d-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:29283
#, fuzzy
msgid "Data type representing the configuration of @command{imap4d}."
msgstr "表示 @command{imap4d} 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:29285
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{mailutils})"
msgstr "@code{package}(默认值:@code{mailutils})"

#. type: table
#: guix-git/doc/guix.texi:29287
#, fuzzy
msgid "The package that provides @command{imap4d}."
msgstr "提供 @command{imap4d} 的软件包。"

#. type: item
#: guix-git/doc/guix.texi:29288
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{%default-imap4d-config-file})"
msgstr "@code{config-file}(默认值:@code{%default-imap4d-config-file})"

#. type: table
#: guix-git/doc/guix.texi:29292
#, fuzzy
msgid "File-like object of the configuration file to use, by default it will listen on TCP port 143 of @code{localhost}.  @xref{Conf-imap4d,,, mailutils, GNU Mailutils Manual}, for details."
msgstr "要使用的配置文件的类文件对象,默认情况下它将在@code{localhost}的TCP端口143上监听。有关详细信息,请参见@xref{Conf-imap4d,,, mailutils, GNU Mailutils Manual}。"

#. type: subsubheading
#: guix-git/doc/guix.texi:29296
#, fuzzy, no-wrap
msgid "Radicale Service"
msgstr "邮件服务"

#. type: cindex
#: guix-git/doc/guix.texi:29297
#, fuzzy, no-wrap
msgid "CalDAV"
msgstr "CalDAV"

#. type: cindex
#: guix-git/doc/guix.texi:29298
#, fuzzy, no-wrap
msgid "CardDAV"
msgstr "CardDAV"

#. type: defvar
#: guix-git/doc/guix.texi:29300
#, fuzzy, no-wrap
msgid "radicale-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:29306
#, fuzzy
msgid "This is the type of the @uref{https://radicale.org, Radicale} CalDAV/CardDAV server whose value should be a @code{radicale-configuration}.  The default configuration matches the @uref{https://radicale.org/v3.html#configuration, upstream documentation}."
msgstr "这是@uref{https://radicale.org, Radicale} CalDAV/CardDAV服务器的类型,其值应为@code{radicale-configuration}。默认配置与@uref{https://radicale.org/v3.html#configuration, upstream documentation}匹配。"

#. type: deftp
#: guix-git/doc/guix.texi:29308
#, fuzzy, no-wrap
msgid "{Data Type} radicale-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:29311
#, fuzzy
msgid "Data type representing the configuration of @command{radicale}.  Available @code{radicale-configuration} fields are:"
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:29313
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{radicale}) (type: package)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29315
#, fuzzy
msgid "Package that provides @command{radicale}."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:29316
#, fuzzy, no-wrap
msgid "@code{auth} (default: @code{'()}) (type: radicale-auth-configuration)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29318
#, fuzzy
msgid "Configuration for auth-related variables."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:29319
#, fuzzy, no-wrap
msgid "{Data Type} radicale-auth-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:29323
#, fuzzy
msgid "Data type representing the @code{auth} section of a @command{radicale} configuration file.  Available @code{radicale-auth-configuration} fields are:"
msgstr "表示@code{auth}部分的@command{radicale}配置文件的数据类型。可用的@code{radicale-auth-configuration}字段包括:"

#. type: item
#: guix-git/doc/guix.texi:29325
#, fuzzy, no-wrap
msgid "@code{type} (default: @code{'none}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29330
#, fuzzy
msgid "The method to verify usernames and passwords.  Options are @code{none}, @code{htpasswd}, @code{remote-user}, and @code{http-x-remote-user}.  This value is tied to @code{htpasswd-filename} and @code{htpasswd-encryption}."
msgstr "验证用户名和密码的方法。选项包括@code{none}、@code{htpasswd}、@code{remote-user}和@code{http-x-remote-user}。此值与@code{htpasswd-filename}和@code{htpasswd-encryption}相关联。"

#. type: item
#: guix-git/doc/guix.texi:29331
#, fuzzy, no-wrap
msgid "@code{htpasswd-filename} (default: @code{\"/etc/radicale/users\"}) (type: file-name)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29334
#, fuzzy
msgid "Path to the htpasswd file.  Use htpasswd or similar to generate this file."
msgstr "htpasswd文件的路径。使用htpasswd或类似工具生成此文件。"

#. type: item
#: guix-git/doc/guix.texi:29335
#, fuzzy, no-wrap
msgid "@code{htpasswd-encryption} (default: @code{'md5}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29338
#, fuzzy
msgid "Encryption method used in the htpasswd file.  Options are @code{plain}, @code{bcrypt}, and @code{md5}."
msgstr "在htpasswd文件中使用的加密方法。选项包括@code{plain}、@code{bcrypt}和@code{md5}。"

#. type: item
#: guix-git/doc/guix.texi:29339
#, fuzzy, no-wrap
msgid "@code{delay} (default: @code{1}) (type: non-negative-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29341
#, fuzzy
msgid "Average delay after failed login attempts in seconds."
msgstr "失败登录尝试后的平均延迟(以秒为单位)。"

#. type: item
#: guix-git/doc/guix.texi:29342
#, fuzzy, no-wrap
msgid "@code{realm} (default: @code{\"Radicale - Password Required\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:29344
#, fuzzy
msgid "Message displayed in the client when a password is needed."
msgstr "当需要密码时在客户端显示的消息。"

#. type: item
#: guix-git/doc/guix.texi:29349
#, fuzzy, no-wrap
msgid "@code{encoding} (default: @code{'()}) (type: radicale-encoding-configuration)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29351
#, fuzzy
msgid "Configuration for encoding-related variables."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:29352
#, fuzzy, no-wrap
msgid "{Data Type} radicale-encoding-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:29356
#, fuzzy
msgid "Data type representing the @code{encoding} section of a @command{radicale} configuration file.  Available @code{radicale-encoding-configuration} fields are:"
msgstr "表示@code{encoding}部分的@command{radicale}配置文件的数据类型。可用的@code{radicale-encoding-configuration}字段包括:"

#. type: item
#: guix-git/doc/guix.texi:29358
#, fuzzy, no-wrap
msgid "@code{request} (default: @code{'utf-8}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29360
#, fuzzy
msgid "Encoding for responding requests."
msgstr "响应请求的编码。"

#. type: item
#: guix-git/doc/guix.texi:29361
#, fuzzy, no-wrap
msgid "@code{stock} (default: @code{'utf-8}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29363
#, fuzzy
msgid "Encoding for storing local collections."
msgstr "拓展软件包集合。"

#. type: item
#: guix-git/doc/guix.texi:29368
#, fuzzy, no-wrap
msgid "@code{headers-file} (default: none) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29370
#, fuzzy
msgid "Custom HTTP headers."
msgstr "自定义HTTP头。"

#. type: item
#: guix-git/doc/guix.texi:29371
#, fuzzy, no-wrap
msgid "@code{logging} (default: @code{'()}) (type: radicale-logging-configuration)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:29373
#, fuzzy
msgid "Configuration for logging-related variables."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:29374
#, fuzzy, no-wrap
msgid "{Data Type} radicale-logging-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:29378
#, fuzzy
msgid "Data type representing the @code{logging} section of a @command{radicale} configuration file.  Available @code{radicale-logging-configuration} fields are:"
msgstr "表示@code{logging}部分的@command{radicale}配置文件的数据类型。可用的@code{radicale-logging-configuration}字段包括:"

#. type: item
#: guix-git/doc/guix.texi:29380
#, fuzzy, no-wrap
msgid "@code{level} (default: @code{'warning}) (type: symbol)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:29383
#, fuzzy
msgid "Set the logging level.  One of @code{debug}, @code{info}, @code{warning}, @code{error}, or @code{critical}."
msgstr "设置日志记录级别。可以是@code{debug}、@code{info}、@code{warning}、@code{error}或@code{critical}。"

#. type: item
#: guix-git/doc/guix.texi:29384
#, fuzzy, no-wrap
msgid "@code{mask-passwords?} (default: @code{#t}) (type: boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29386
#, fuzzy
msgid "Whether to include passwords in logs."
msgstr "是否在日志中包含密码。"

#. type: item
#: guix-git/doc/guix.texi:29391
#, fuzzy, no-wrap
msgid "@code{rights} (default: @code{'()}) (type: radicale-rights-configuration)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29394
#, fuzzy
msgid "Configuration for rights-related variables.  This should be a @code{radicale-rights-configuration}."
msgstr "与权限相关变量的配置。这应该是@code{radicale-rights-configuration}。"

#. type: deftp
#: guix-git/doc/guix.texi:29395
#, fuzzy, no-wrap
msgid "{Data Type} radicale-rights-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:29399
#, fuzzy
msgid "Data type representing the @code{rights} section of a @command{radicale} configuration file.  Available @code{radicale-rights-configuration} fields are:"
msgstr "表示@code{rights}部分的@command{radicale}配置文件的数据类型。可用的@code{radicale-rights-configuration}字段包括:"

#. type: item
#: guix-git/doc/guix.texi:29401
#, fuzzy, no-wrap
msgid "@code{type} (default: @code{'owner-only}) (type: symbol)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:29409
#, fuzzy
msgid "Backend used to check collection access rights.  The recommended backend is @code{owner-only}.  If access to calendars and address books outside the home directory of users is granted, clients won't detect these collections and will not show them to the user.  Choosing any other method is only useful if you access calendars and address books directly via URL.  Options are @code{authenticate}, @code{owner-only}, @code{owner-write}, and @code{from-file}."
msgstr "用于检查集合访问权限的后端。推荐的后端是@code{owner-only}。如果允许访问用户主目录外的日历和地址簿,客户端将无法检测到这些集合并且不会向用户显示它们。选择任何其他方法仅在您通过URL直接访问日历和地址簿时才有用。选项包括@code{authenticate}、@code{owner-only}、@code{owner-write}和@code{from-file}。"

#. type: item
#: guix-git/doc/guix.texi:29410
#, fuzzy, no-wrap
msgid "@code{file} (default: @code{\"\"}) (type: file-name)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29412
#, fuzzy
msgid "File for the rights backend @code{from-file}."
msgstr "用于权限后端的文件 @code{from-file}。"

#. type: item
#: guix-git/doc/guix.texi:29417
#, fuzzy, no-wrap
msgid "@code{server} (default: @code{'()}) (type: radicale-server-configuration)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29419
#, fuzzy
msgid "Configuration for server-related variables.  Ignored if WSGI is used."
msgstr "与服务器相关的变量的配置。如果使用 WSGI,则会被忽略。"

#. type: deftp
#: guix-git/doc/guix.texi:29420
#, fuzzy, no-wrap
msgid "{Data Type} radicale-server-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:29424
#, fuzzy
msgid "Data type representing the @code{server} section of a @command{radicale} configuration file.  Available @code{radicale-server-configuration} fields are:"
msgstr "表示 @command{radicale} 配置文件中 @code{server} 部分的数据类型。可用的 @code{radicale-server-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:29426
#, fuzzy, no-wrap
msgid "@code{hosts} (default: @code{(list \"localhost:5232\")}) (type: list-of-ip-addresses)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29428
#, fuzzy
msgid "List of IP addresses that the server will bind to."
msgstr "服务器将绑定的 IP 地址列表。"

#. type: item
#: guix-git/doc/guix.texi:29429
#, fuzzy, no-wrap
msgid "@code{max-connections} (default: @code{8}) (type: non-negative-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29431
#, fuzzy
msgid "Maximum number of parallel connections.  Set to 0 to disable the limit."
msgstr "最大并行连接数。设置为 0 以禁用限制。"

#. type: item
#: guix-git/doc/guix.texi:29432
#, fuzzy, no-wrap
msgid "@code{max-content-length} (default: @code{100000000}) (type: non-negative-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29434
#, fuzzy
msgid "Maximum size of the request body in bytes."
msgstr "请求体的最大大小(以字节为单位)。"

#. type: item
#: guix-git/doc/guix.texi:29435
#, fuzzy, no-wrap
msgid "@code{timeout} (default: @code{30}) (type: non-negative-integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:29437
#, fuzzy
msgid "Socket timeout in seconds."
msgstr "套接字超时时间(以秒为单位)。"

#. type: item
#: guix-git/doc/guix.texi:29438 guix-git/doc/guix.texi:37240
#, fuzzy, no-wrap
msgid "@code{ssl?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:29440
#, fuzzy
msgid "Whether to enable transport layer encryption."
msgstr "是否启用传输层加密。"

#. type: item
#: guix-git/doc/guix.texi:29441
#, fuzzy, no-wrap
msgid "@code{certificate} (default: @code{\"/etc/ssl/radicale.cert.pem\"}) (type: file-name)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29443
#, fuzzy
msgid "Path of the SSL certificate."
msgstr "SSL 证书的路径。"

#. type: item
#: guix-git/doc/guix.texi:29444
#, fuzzy, no-wrap
msgid "@code{key} (default: @code{\"/etc/ssl/radicale.key.pem\"}) (type: file-name)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29447
#, fuzzy
msgid "Path to the private key for SSL.  Only effective if @code{ssl?} is @code{#t}."
msgstr "SSL 的私钥路径。仅在 @code{ssl?} 为 @code{#t} 时有效。"

#. type: item
#: guix-git/doc/guix.texi:29448
#, fuzzy, no-wrap
msgid "@code{certificate-authority} (default: @code{\"\"}) (type: file-name)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29454
#, fuzzy
msgid "Path to CA certificate for validating client certificates.  This can be used to secure TCP traffic between Radicale and a reverse proxy.  If you want to authenticate users with client-side certificates, you also have to write an authentication plugin that extracts the username from the certificate."
msgstr "用于验证客户端证书的 CA 证书路径。这可以用于保护 Radicale 和反向代理之间的 TCP 流量。如果您想使用客户端证书对用户进行身份验证,您还必须编写一个身份验证插件,从证书中提取用户名。"

#. type: item
#: guix-git/doc/guix.texi:29459
#, fuzzy, no-wrap
msgid "@code{storage} (default: @code{'()}) (type: radicale-storage-configuration)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29461
#, fuzzy
msgid "Configuration for storage-related variables."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:29462
#, fuzzy, no-wrap
msgid "{Data Type} radicale-storage-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:29466
#, fuzzy
msgid "Data type representing the @code{storage} section of a @command{radicale} configuration file.  Available @code{radicale-storage-configuration} fields are:"
msgstr "表示 @command{radicale} 配置文件中 @code{storage} 部分的数据类型。可用的 @code{radicale-storage-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:29468
#, fuzzy, no-wrap
msgid "@code{type} (default: @code{'multifilesystem}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29471
#, fuzzy
msgid "Backend used to store data.  Options are @code{multifilesystem} and @code{multifilesystem-nolock}."
msgstr "用于存储数据的后端。选项有 @code{multifilesystem} 和 @code{multifilesystem-nolock}。"

#. type: item
#: guix-git/doc/guix.texi:29472
#, fuzzy, no-wrap
msgid "@code{filesystem-folder} (default: @code{\"/var/lib/radicale/collections\"}) (type: file-name)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:29474
#, fuzzy
msgid "Folder for storing local collections.  Created if not present."
msgstr "用于存储本地集合的文件夹。如果不存在,则会创建。"

#. type: item
#: guix-git/doc/guix.texi:29475
#, fuzzy, no-wrap
msgid "@code{max-sync-token-age} (default: @code{2592000}) (type: non-negative-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29477
#, fuzzy
msgid "Delete sync-tokens that are older than the specified time in seconds."
msgstr "删除指定时间(以秒为单位)之前的同步令牌。"

#. type: item
#: guix-git/doc/guix.texi:29478
#, fuzzy, no-wrap
msgid "@code{hook} (default: @code{\"\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:29480
#, fuzzy
msgid "Command run after changes to storage."
msgstr "存储更改后运行的命令。"

#. type: item
#: guix-git/doc/guix.texi:29485
#, fuzzy, no-wrap
msgid "@code{web-interface?} (default: @code{#t}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:29487
#, fuzzy
msgid "Whether to use Radicale's built-in web interface."
msgstr "是否使用 Radicale 内置的 Web 界面。"

#. type: subsubheading
#: guix-git/doc/guix.texi:29492
#, fuzzy, no-wrap
msgid "Rspamd Service"
msgstr "邮件服务"

#. type: cindex
#: guix-git/doc/guix.texi:29494
#, fuzzy, no-wrap
msgid "spam"
msgstr "垃圾邮件"

#. type: defvar
#: guix-git/doc/guix.texi:29496
#, fuzzy, no-wrap
msgid "rspamd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:29499
#, fuzzy
msgid "This is the type of the @uref{https://rspamd.com/, Rspamd} filtering system whose value should be a @code{rspamd-configuration}."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:29503
#, fuzzy, no-wrap
msgid "{Data Type} rspamd-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:29505
#, fuzzy
msgid "Available @code{rspamd-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:29507
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{rspamd}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29509
#, fuzzy
msgid "The package that provides rspamd."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:29510
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{%default-rspamd-config-file}) (type: file-like)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:29514
#, fuzzy
msgid "File-like object of the configuration file to use.  By default all workers are enabled except fuzzy and they are bound to their usual ports, e.g localhost:11334, localhost:11333 and so on"
msgstr "要使用的配置文件的类文件对象。默认情况下,所有工作进程都启用,除了模糊匹配,它们绑定到通常的端口,例如 localhost:11334、localhost:11333 等。"

#. type: item
#: guix-git/doc/guix.texi:29515
#, fuzzy, no-wrap
msgid "@code{local.d-files} (default: @code{()}) (type: directory-tree)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:29520
#, fuzzy
msgid "Configuration files in local.d, provided as a list of two element lists where the first element is the filename and the second one is a file-like object.  Settings in these files will be merged with the defaults."
msgstr "local.d 中的配置文件,作为两个元素列表的列表提供,其中第一个元素是文件名,第二个元素是类文件对象。这些文件中的设置将与默认值合并。"

#. type: item
#: guix-git/doc/guix.texi:29521
#, fuzzy, no-wrap
msgid "@code{override.d-files} (default: @code{()}) (type: directory-tree)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:29525
#, fuzzy
msgid "Configuration files in override.d, provided as a list of two element lists where the first element is the filename and the second one is a file-like object.  Settings in these files will override the defaults."
msgstr "override.d 中的配置文件,作为两个元素列表的列表提供,其中第一个元素是文件名,第二个元素是类文件对象。这些文件中的设置将覆盖默认值。"

#. type: item
#: guix-git/doc/guix.texi:29526
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{%default-rspamd-account}) (type: user-account)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:29528
#, fuzzy
msgid "The user to run rspamd as."
msgstr "mcron服务。"

#. type: item
#: guix-git/doc/guix.texi:29529
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{%default-rspamd-group}) (type: user-group)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:29531
#, fuzzy
msgid "The group to run rspamd as."
msgstr "以 rspamd 运行的组。"

#. type: table
#: guix-git/doc/guix.texi:29534
#, fuzzy
msgid "Force debug output."
msgstr "生成调试输出。"

#. type: item
#: guix-git/doc/guix.texi:29535
#, fuzzy, no-wrap
msgid "@code{insecure?} (default: @code{#f}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:29537
#, fuzzy
msgid "Ignore running workers as privileged users."
msgstr "以root权限运行的程序。"

#. type: item
#: guix-git/doc/guix.texi:29538
#, fuzzy, no-wrap
msgid "@code{skip-template?} (default: @code{#f}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:29540
#, fuzzy
msgid "Do not apply Jinja templates."
msgstr "请勿应用 Jinja 模板。"

#. type: item
#: guix-git/doc/guix.texi:29541
#, fuzzy, no-wrap
msgid "@code{shepherd-requirements} (default: @code{(user-processes loopback)}) (type: list-of-symbols)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:29544 guix-git/doc/guix.texi:37188
#, fuzzy
msgid "This is a list of symbols naming Shepherd services that this service will depend on."
msgstr "这是一个符号列表,命名了该服务所依赖的 Shepherd 服务。"

#. type: cindex
#: guix-git/doc/guix.texi:29555
#, fuzzy, no-wrap
msgid "messaging"
msgstr "消息传递"

#. type: cindex
#: guix-git/doc/guix.texi:29556
#, fuzzy, no-wrap
msgid "jabber"
msgstr "Jabber"

#. type: cindex
#: guix-git/doc/guix.texi:29557
#, fuzzy, no-wrap
msgid "XMPP"
msgstr "XMPP"

#. type: Plain text
#: guix-git/doc/guix.texi:29561
#, fuzzy
msgid "The @code{(gnu services messaging)} module provides Guix service definitions for messaging services.  Currently it provides the following services:"
msgstr "@code{(gnu services messaging)} 模块提供了 Guix 消息传递服务的定义。目前它提供以下服务:"

#. type: subsubheading
#: guix-git/doc/guix.texi:29562
#, fuzzy, no-wrap
msgid "Prosody Service"
msgstr "Prosody 服务"

#. type: defvar
#: guix-git/doc/guix.texi:29564
#, fuzzy, no-wrap
msgid "prosody-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:29568
#, fuzzy
msgid "This is the type for the @uref{https://prosody.im, Prosody XMPP communication server}.  Its value must be a @code{prosody-configuration} record as in this example:"
msgstr "这是 @uref{https://prosody.im, Prosody XMPP 通信服务器} 的类型。它的值必须是一个 @code{prosody-configuration} 记录,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:29583
#, fuzzy, no-wrap
msgid ""
"(service prosody-service-type\n"
"         (prosody-configuration\n"
"          (modules-enabled (cons* \"groups\" \"mam\" %default-modules-enabled))\n"
"          (int-components\n"
"           (list\n"
"            (int-component-configuration\n"
"             (hostname \"conference.example.net\")\n"
"             (plugin \"muc\")\n"
"             (mod-muc (mod-muc-configuration)))))\n"
"          (virtualhosts\n"
"           (list\n"
"            (virtualhost-configuration\n"
"             (domain \"example.net\"))))))\n"
msgstr ""
"(service prosody-service-type\n"
"         (prosody-configuration\n"
"          (modules-enabled (cons* \"groups\" \"mam\" %default-modules-enabled))\n"
"          (int-components\n"
"           (list\n"
"            (int-component-configuration\n"
"             (hostname \"conference.example.net\")\n"
"             (plugin \"muc\")\n"
"             (mod-muc (mod-muc-configuration)))))\n"
"          (virtualhosts\n"
"           (list\n"
"            (virtualhost-configuration\n"
"             (domain \"example.net\"))))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:29586
#, fuzzy
msgid "See below for details about @code{prosody-configuration}."
msgstr "有关 @code{prosody-configuration} 的详细信息,请参见下文。"

#. type: Plain text
#: guix-git/doc/guix.texi:29592
#, fuzzy
msgid "By default, Prosody does not need much configuration.  Only one @code{virtualhosts} field is needed: it specifies the domain you wish Prosody to serve."
msgstr "默认情况下,Prosody 不需要太多配置。只需要一个 @code{virtualhosts} 字段:它指定您希望 Prosody 提供的域。"

#. type: Plain text
#: guix-git/doc/guix.texi:29595
#, fuzzy
msgid "You can perform various sanity checks on the generated configuration with the @code{prosodyctl check} command."
msgstr "您可以使用 @code{prosodyctl check} 命令对生成的配置执行各种完整性检查。"

#. type: Plain text
#: guix-git/doc/guix.texi:29599
#, fuzzy
msgid "Prosodyctl will also help you to import certificates from the @code{letsencrypt} directory so that the @code{prosody} user can access them.  See @url{https://prosody.im/doc/letsencrypt}."
msgstr "Prosodyctl 还将帮助您从 @code{letsencrypt} 目录导入证书,以便 @code{prosody} 用户可以访问它们。请参见 @url{https://prosody.im/doc/letsencrypt}。"

#. type: example
#: guix-git/doc/guix.texi:29602
#, fuzzy, no-wrap
msgid "prosodyctl --root cert import /etc/certs\n"
msgstr "prosodyctl --root cert import /etc/certs\n"

#. type: Plain text
#: guix-git/doc/guix.texi:29609
#, fuzzy
msgid "The available configuration parameters follow.  Each parameter definition is preceded by its type; for example, @samp{string-list foo} indicates that the @code{foo} parameter should be specified as a list of strings.  Types starting with @code{maybe-} denote parameters that won't show up in @code{prosody.cfg.lua} when their value is left unspecified."
msgstr "可用的配置参数如下。每个参数定义前都有其类型;例如,@samp{string-list foo} 表示 @code{foo} 参数应作为字符串列表指定。以 @code{maybe-} 开头的类型表示当其值未指定时,该参数不会出现在 @code{prosody.cfg.lua} 中。"

#. type: Plain text
#: guix-git/doc/guix.texi:29613
#, fuzzy
msgid "There is also a way to specify the configuration as a string, if you have an old @code{prosody.cfg.lua} file that you want to port over from some other system; see the end for more details."
msgstr "如果您有一个旧的 @code{prosody.cfg.lua} 文件希望从其他系统迁移过来,还有一种方法可以将配置指定为字符串;有关更多详细信息,请参见最后部分。"

#. type: Plain text
#: guix-git/doc/guix.texi:29616
#, fuzzy
msgid "The @code{file-object} type designates either a file-like object (@pxref{G-Expressions, file-like objects}) or a file name."
msgstr "@code{file-object} 类型指定的是文件类似对象 (@pxref{G-Expressions, file-like objects}) 或文件名。"

#. type: Plain text
#: guix-git/doc/guix.texi:29626
#, fuzzy
msgid "Available @code{prosody-configuration} fields are:"
msgstr "可用的 @code{prosody-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:29627
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} package prosody"
msgstr "{@code{prosody-configuration} 参数} 包 prosody"

#. type: deftypevr
#: guix-git/doc/guix.texi:29629
#, fuzzy
msgid "The Prosody package."
msgstr "Prosody 包。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29631
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} file-name data-path"
msgstr "{@code{prosody-configuration} 参数} 文件名 data-path"

#. type: deftypevr
#: guix-git/doc/guix.texi:29635
#, fuzzy
msgid "Location of the Prosody data storage directory.  See @url{https://prosody.im/doc/configure}.  Defaults to @samp{\"/var/lib/prosody\"}."
msgstr "Prosody 数据存储目录的位置。请参见 @url{https://prosody.im/doc/configure}。默认为 @samp{\"/var/lib/prosody\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29637
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} file-object-list plugin-paths"
msgstr "{@code{prosody-configuration} 参数} 文件对象列表 plugin-paths"

#. type: deftypevr
#: guix-git/doc/guix.texi:29641
#, fuzzy
msgid "Additional plugin directories.  They are searched in all the specified paths in order.  See @url{https://prosody.im/doc/plugins_directory}.  Defaults to @samp{'()}."
msgstr "附加插件目录。它们会按顺序在所有指定路径中搜索。请参见 @url{https://prosody.im/doc/plugins_directory}。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29643
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} file-name certificates"
msgstr "{@code{prosody-configuration} 参数} 文件名 certificates"

#. type: deftypevr
#: guix-git/doc/guix.texi:29648
#, fuzzy
msgid "Every virtual host and component needs a certificate so that clients and servers can securely verify its identity.  Prosody will automatically load certificates/keys from the directory specified here.  Defaults to @samp{\"/etc/prosody/certs\"}."
msgstr "每个虚拟主机和组件都需要一个证书,以便客户端和服务器可以安全地验证其身份。Prosody 将自动从此处指定的目录加载证书/密钥。默认为 @samp{\"/etc/prosody/certs\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29650
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} string-list admins"
msgstr "{@code{prosody-configuration} 参数} 字符串列表 admins"

#. type: deftypevr
#: guix-git/doc/guix.texi:29656
#, fuzzy
msgid "This is a list of accounts that are admins for the server.  Note that you must create the accounts separately.  See @url{https://prosody.im/doc/admins} and @url{https://prosody.im/doc/creating_accounts}.  Example: @code{(admins '(\"user1@@example.com\" \"user2@@example.net\"))} Defaults to @samp{'()}."
msgstr "这是服务器的管理员账户列表。请注意,您必须单独创建这些账户。请参见 @url{https://prosody.im/doc/admins} 和 @url{https://prosody.im/doc/creating_accounts}。示例:@code{(admins '(\"user1@@example.com\" \"user2@@example.net\"))} 默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29658
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} boolean use-libevent?"
msgstr "{@code{prosody-configuration} 参数} 布尔值 use-libevent?"

#. type: deftypevr
#: guix-git/doc/guix.texi:29662
#, fuzzy
msgid "Enable use of libevent for better performance under high load.  See @url{https://prosody.im/doc/libevent}.  Defaults to @samp{#f}."
msgstr "在高负载下启用 libevent 以获得更好的性能。请参见 @url{https://prosody.im/doc/libevent}。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29664
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} module-list modules-enabled"
msgstr "{@code{prosody-configuration} 参数} 模块列表 modules-enabled"

#. type: deftypevr
#: guix-git/doc/guix.texi:29670
#, fuzzy
msgid "This is the list of modules Prosody will load on startup.  It looks for @code{mod_modulename.lua} in the plugins folder, so make sure that exists too.  Documentation on modules can be found at: @url{https://prosody.im/doc/modules}.  Defaults to @samp{'(\"roster\" \"saslauth\" \"tls\" \"dialback\" \"disco\" \"carbons\" \"private\" \"blocklist\" \"vcard\" \"version\" \"uptime\" \"time\" \"ping\" \"pep\" \"register\" \"admin_adhoc\")}."
msgstr "这是 Prosody 启动时将加载的模块列表。它会在插件文件夹中查找 @code{mod_modulename.lua},因此请确保该文件也存在。有关模块的文档可以在此找到:@url{https://prosody.im/doc/modules}。默认为 @samp{'(\"roster\" \"saslauth\" \"tls\" \"dialback\" \"disco\" \"carbons\" \"private\" \"blocklist\" \"vcard\" \"version\" \"uptime\" \"time\" \"ping\" \"pep\" \"register\" \"admin_adhoc\")}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29672
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} string-list modules-disabled"
msgstr "{@code{prosody-configuration} 参数} 字符串列表 modules-disabled"

#. type: deftypevr
#: guix-git/doc/guix.texi:29676
#, fuzzy
msgid "@samp{\"offline\"}, @samp{\"c2s\"} and @samp{\"s2s\"} are auto-loaded, but should you want to disable them then add them to this list.  Defaults to @samp{'()}."
msgstr "@samp{\"offline\"}, @samp{\"c2s\"} 和 @samp{\"s2s\"} 是自动加载的,但如果您想禁用它们,请将它们添加到此列表中。 默认值为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29678
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} file-object groups-file"
msgstr "{@code{prosody-configuration} 参数} 文件对象 groups-file"

#. type: deftypevr
#: guix-git/doc/guix.texi:29683
#, fuzzy
msgid "Path to a text file where the shared groups are defined.  If this path is empty then @samp{mod_groups} does nothing.  See @url{https://prosody.im/doc/modules/mod_groups}.  Defaults to @samp{\"/var/lib/prosody/sharedgroups.txt\"}."
msgstr "定义共享组的文本文件路径。如果此路径为空,则 @samp{mod_groups} 不执行任何操作。 请参见 @url{https://prosody.im/doc/modules/mod_groups}。 默认值为 @samp{\"/var/lib/prosody/sharedgroups.txt\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29685
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} boolean allow-registration?"
msgstr "{@code{prosody-configuration} 参数} 布尔值 allow-registration?"

#. type: deftypevr
#: guix-git/doc/guix.texi:29689
#, fuzzy
msgid "Disable account creation by default, for security.  See @url{https://prosody.im/doc/creating_accounts}.  Defaults to @samp{#f}."
msgstr "默认禁用帐户创建,以提高安全性。 请参见 @url{https://prosody.im/doc/creating_accounts}。 默认值为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29691
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} maybe-ssl-configuration ssl"
msgstr "{@code{prosody-configuration} 参数} 可能的 ssl 配置 maybe-ssl-configuration"

#. type: deftypevr
#: guix-git/doc/guix.texi:29696
#, fuzzy
msgid "These are the SSL/TLS-related settings.  Most of them are disabled so to use Prosody's defaults.  If you do not completely understand these options, do not add them to your config, it is easy to lower the security of your server using them.  See @url{https://prosody.im/doc/advanced_ssl_config}."
msgstr "这些是与 SSL/TLS 相关的设置。 大多数都被禁用,以使用 Prosody 的默认设置。如果您完全不理解这些选项,请不要将它们添加到您的配置中,使用它们很容易降低服务器的安全性。 请参见 @url{https://prosody.im/doc/advanced_ssl_config}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29698
#, fuzzy
msgid "Available @code{ssl-configuration} fields are:"
msgstr "可用的 @code{ssl-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:29699
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-string protocol"
msgstr "{@code{ssl-configuration} 参数} 可能的字符串 protocol"

#. type: deftypevr
#: guix-git/doc/guix.texi:29701
#, fuzzy
msgid "This determines what handshake to use."
msgstr "这决定了使用什么握手。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29703
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-file-name key"
msgstr "{@code{ssl-configuration} 参数} 可能的文件名 key"

#. type: deftypevr
#: guix-git/doc/guix.texi:29705
#, fuzzy
msgid "Path to your private key file."
msgstr "您的私钥文件路径。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29707
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-file-name certificate"
msgstr "{@code{ssl-configuration} 参数} 可能的文件名 certificate"

#. type: deftypevr
#: guix-git/doc/guix.texi:29709
#, fuzzy
msgid "Path to your certificate file."
msgstr "您的证书文件路径。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29711
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} file-object capath"
msgstr "{@code{ssl-configuration} 参数} 文件对象 capath"

#. type: deftypevr
#: guix-git/doc/guix.texi:29715
#, fuzzy
msgid "Path to directory containing root certificates that you wish Prosody to trust when verifying the certificates of remote servers.  Defaults to @samp{\"/etc/ssl/certs\"}."
msgstr "包含您希望 Prosody 在验证远程服务器证书时信任的根证书的目录路径。 默认值为 @samp{\"/etc/ssl/certs\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29717
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-file-object cafile"
msgstr "{@code{ssl-configuration} 参数} 可能的文件对象 cafile"

#. type: deftypevr
#: guix-git/doc/guix.texi:29720
#, fuzzy
msgid "Path to a file containing root certificates that you wish Prosody to trust.  Similar to @code{capath} but with all certificates concatenated together."
msgstr "包含您希望 Prosody 信任的根证书的文件路径。 类似于 @code{capath},但所有证书连接在一起。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29722
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-string-list verify"
msgstr "{@code{ssl-configuration} 参数} 可能的字符串列表 verify"

#. type: deftypevr
#: guix-git/doc/guix.texi:29725
#, fuzzy
msgid "A list of verification options (these mostly map to OpenSSL's @code{set_verify()} flags)."
msgstr "验证选项的列表(这些大多映射到 OpenSSL 的 @code{set_verify()} 标志)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29727
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-string-list options"
msgstr "{@code{ssl-configuration} 参数} 可能的字符串列表 options"

#. type: deftypevr
#: guix-git/doc/guix.texi:29731
#, fuzzy
msgid "A list of general options relating to SSL/TLS@.  These map to OpenSSL's @code{set_options()}.  For a full list of options available in LuaSec, see the LuaSec source."
msgstr "与SSL/TLS相关的一般选项列表。这些映射到OpenSSL的@code{set_options()}。有关LuaSec中可用选项的完整列表,请参见LuaSec源代码。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29733
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-non-negative-integer depth"
msgstr "{@code{ssl-configuration} 参数} 可能是非负整数深度"

#. type: deftypevr
#: guix-git/doc/guix.texi:29736
#, fuzzy
msgid "How long a chain of certificate authorities to check when looking for a trusted root certificate."
msgstr "在查找受信任的根证书时,检查证书颁发机构链的长度。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29738
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-string ciphers"
msgstr "{@code{ssl-configuration} 参数} 可能是字符串密码"

#. type: deftypevr
#: guix-git/doc/guix.texi:29741
#, fuzzy
msgid "An OpenSSL cipher string.  This selects what ciphers Prosody will offer to clients, and in what order."
msgstr "OpenSSL密码字符串。这选择了Prosody将提供给客户端的密码,以及顺序。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29743
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-file-name dhparam"
msgstr "{@code{ssl-configuration} 参数} 可能是文件名dhparam"

#. type: deftypevr
#: guix-git/doc/guix.texi:29747
#, fuzzy
msgid "A path to a file containing parameters for Diffie-Hellman key exchange.  You can create such a file with: @code{openssl dhparam -out /etc/prosody/certs/dh-2048.pem 2048}"
msgstr "指向包含Diffie-Hellman密钥交换参数的文件的路径。您可以使用以下命令创建此类文件:@code{openssl dhparam -out /etc/prosody/certs/dh-2048.pem 2048}"

#. type: deftypevr
#: guix-git/doc/guix.texi:29749
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-string curve"
msgstr "{@code{ssl-configuration} 参数} 可能是字符串曲线"

#. type: deftypevr
#: guix-git/doc/guix.texi:29752
#, fuzzy
msgid "Curve for Elliptic curve Diffie-Hellman.  Prosody's default is @samp{\"secp384r1\"}."
msgstr "椭圆曲线Diffie-Hellman的曲线。Prosody的默认值是@samp{\"secp384r1\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29754
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-string-list verifyext"
msgstr "{@code{ssl-configuration} 参数} 可能是字符串列表verifyext"

#. type: deftypevr
#: guix-git/doc/guix.texi:29756
#, fuzzy
msgid "A list of ``extra'' verification options."
msgstr "一组“额外”的验证选项。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29758
#, fuzzy, no-wrap
msgid "{@code{ssl-configuration} parameter} maybe-string password"
msgstr "{@code{ssl-configuration} 参数} 可能是字符串密码"

#. type: deftypevr
#: guix-git/doc/guix.texi:29760
#, fuzzy
msgid "Password for encrypted private keys."
msgstr "加密私钥的密码。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29764
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} boolean c2s-require-encryption?"
msgstr "{@code{prosody-configuration} 参数} 布尔值c2s-require-encryption?"

#. type: deftypevr
#: guix-git/doc/guix.texi:29768
#, fuzzy
msgid "Whether to force all client-to-server connections to be encrypted or not.  See @url{https://prosody.im/doc/modules/mod_tls}.  Defaults to @samp{#f}."
msgstr "是否强制所有客户端到服务器的连接都加密。请参见@url{https://prosody.im/doc/modules/mod_tls}。默认为@samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29770
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} string-list disable-sasl-mechanisms"
msgstr "{@code{prosody-configuration} 参数} 字符串列表disable-sasl-mechanisms"

#. type: deftypevr
#: guix-git/doc/guix.texi:29774
#, fuzzy
msgid "Set of mechanisms that will never be offered.  See @url{https://prosody.im/doc/modules/mod_saslauth}.  Defaults to @samp{'(\"DIGEST-MD5\")}."
msgstr "永远不会提供的机制集合。请参见@url{https://prosody.im/doc/modules/mod_saslauth}。默认为@samp{'(\"DIGEST-MD5\")}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29776
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} string-list insecure-sasl-mechanisms"
msgstr "{@code{prosody-configuration} 参数} 字符串列表insecure-sasl-mechanisms"

#. type: deftypevr
#: guix-git/doc/guix.texi:29780
#, fuzzy
msgid "Set of mechanisms that will not be offered on unencrypted connections.  See @url{https://prosody.im/doc/modules/mod_saslauth}.  Defaults to @samp{'(\"PLAIN\" \"LOGIN\")}."
msgstr "在未加密连接上不会提供的机制集合。请参见@url{https://prosody.im/doc/modules/mod_saslauth}。默认为@samp{'(\"PLAIN\" \"LOGIN\")}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29782
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} boolean s2s-require-encryption?"
msgstr "{@code{prosody-configuration} 参数} 布尔值s2s-require-encryption?"

#. type: deftypevr
#: guix-git/doc/guix.texi:29786
#, fuzzy
msgid "Whether to force all server-to-server connections to be encrypted or not.  See @url{https://prosody.im/doc/modules/mod_tls}.  Defaults to @samp{#f}."
msgstr "是否强制所有服务器到服务器的连接都加密。请参见@url{https://prosody.im/doc/modules/mod_tls}。默认为@samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29788
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} boolean s2s-secure-auth?"
msgstr "{@code{prosody-configuration} 参数} 布尔值s2s-secure-auth?"

#. type: deftypevr
#: guix-git/doc/guix.texi:29794
#, fuzzy
msgid "Whether to require encryption and certificate authentication.  This provides ideal security, but requires servers you communicate with to support encryption AND present valid, trusted certificates.  See @url{https://prosody.im/doc/s2s#security}.  Defaults to @samp{#f}."
msgstr "是否需要加密和证书认证。这提供了理想的安全性,但要求您通信的服务器支持加密并提供有效的、受信任的证书。请参见 @url{https://prosody.im/doc/s2s#security}。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29796
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} string-list s2s-insecure-domains"
msgstr "{@code{prosody-configuration} 参数} 字符串列表 s2s-insecure-domains"

#. type: deftypevr
#: guix-git/doc/guix.texi:29802
#, fuzzy
msgid "Many servers don't support encryption or have invalid or self-signed certificates.  You can list domains here that will not be required to authenticate using certificates.  They will be authenticated using DNS@.  See @url{https://prosody.im/doc/s2s#security}.  Defaults to @samp{'()}."
msgstr "许多服务器不支持加密或有无效或自签名的证书。您可以在此列出不需要使用证书进行身份验证的域名。它们将通过 DNS 进行身份验证。请参见 @url{https://prosody.im/doc/s2s#security}。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29804
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} string-list s2s-secure-domains"
msgstr "{@code{prosody-configuration} 参数} 字符串列表 s2s-secure-domains"

#. type: deftypevr
#: guix-git/doc/guix.texi:29809
#, fuzzy
msgid "Even if you leave @code{s2s-secure-auth?} disabled, you can still require valid certificates for some domains by specifying a list here.  See @url{https://prosody.im/doc/s2s#security}.  Defaults to @samp{'()}."
msgstr "即使您将 @code{s2s-secure-auth?} 禁用,您仍然可以通过在此指定一个列表来要求某些域名提供有效的证书。请参见 @url{https://prosody.im/doc/s2s#security}。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29811
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} string authentication"
msgstr "{@code{prosody-configuration} 参数} 字符串 认证"

#. type: deftypevr
#: guix-git/doc/guix.texi:29819
#, fuzzy
msgid "Select the authentication backend to use.  The default provider stores passwords in plaintext and uses Prosody's configured data storage to store the authentication data.  If you do not trust your server please see @url{https://prosody.im/doc/modules/mod_auth_internal_hashed} for information about using the hashed backend.  See also @url{https://prosody.im/doc/authentication} Defaults to @samp{\"internal_plain\"}."
msgstr "选择要使用的认证后端。默认提供程序以明文存储密码,并使用 Prosody 配置的数据存储来存储认证数据。如果您不信任您的服务器,请参见 @url{https://prosody.im/doc/modules/mod_auth_internal_hashed} 以获取有关使用哈希后端的信息。另请参见 @url{https://prosody.im/doc/authentication} 默认为 @samp{\"internal_plain\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29821
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} maybe-string log"
msgstr "{@code{prosody-configuration} 参数} 可能的字符串 日志"

#. type: deftypevr
#: guix-git/doc/guix.texi:29825
#, fuzzy
msgid "Set logging options.  Advanced logging configuration is not yet supported by the Prosody service.  See @url{https://prosody.im/doc/logging}.  Defaults to @samp{\"*syslog\"}."
msgstr "设置日志选项。Prosody 服务尚不支持高级日志配置。请参见 @url{https://prosody.im/doc/logging}。默认为 @samp{\"*syslog\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29827
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} file-name pidfile"
msgstr "{@code{prosody-configuration} 参数} 文件名 pidfile"

#. type: deftypevr
#: guix-git/doc/guix.texi:29830
#, fuzzy
msgid "File to write pid in.  See @url{https://prosody.im/doc/modules/mod_posix}.  Defaults to @samp{\"/var/run/prosody/prosody.pid\"}."
msgstr "要写入 pid 的文件。请参见 @url{https://prosody.im/doc/modules/mod_posix}。默认为 @samp{\"/var/run/prosody/prosody.pid\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29832
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} maybe-non-negative-integer http-max-content-size"
msgstr "{@code{prosody-configuration} 参数} 可能的非负整数 http-max-content-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:29834
#, fuzzy
msgid "Maximum allowed size of the HTTP body (in bytes)."
msgstr "HTTP 主体的最大允许大小(以字节为单位)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29836
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} maybe-string http-external-url"
msgstr "{@code{prosody-configuration} 参数} 可能的字符串 http-external-url"

#. type: deftypevr
#: guix-git/doc/guix.texi:29841
#, fuzzy
msgid "Some modules expose their own URL in various ways.  This URL is built from the protocol, host and port used.  If Prosody sits behind a proxy, the public URL will be @code{http-external-url} instead.  See @url{https://prosody.im/doc/http#external_url}."
msgstr "某些模块以各种方式公开它们自己的 URL。此 URL 是由所使用的协议、主机和端口构建的。如果 Prosody 位于代理后面,则公共 URL 将是 @code{http-external-url}。请参阅 @url{https://prosody.im/doc/http#external_url}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29843
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} virtualhost-configuration-list virtualhosts"
msgstr "{@code{prosody-configuration} 参数} 虚拟主机配置列表 虚拟主机"

#. type: deftypevr
#: guix-git/doc/guix.texi:29848
#, fuzzy
msgid "A host in Prosody is a domain on which user accounts can be created.  For example if you want your users to have addresses like @samp{\"john.smith@@example.com\"} then you need to add a host @samp{\"example.com\"}.  All options in this list will apply only to this host."
msgstr "在 Prosody 中,主机是可以创建用户帐户的域。例如,如果您希望用户的地址类似于 @samp{\"john.smith@@example.com\"},那么您需要添加一个主机 @samp{\"example.com\"}。此列表中的所有选项仅适用于此主机。"

#. type: quotation
#: guix-git/doc/guix.texi:29855
#, fuzzy
msgid "The name @emph{virtual} host is used in configuration to avoid confusion with the actual physical host that Prosody is installed on.  A single Prosody instance can serve many domains, each one defined as a VirtualHost entry in Prosody's configuration.  Conversely a server that hosts a single domain would have just one VirtualHost entry."
msgstr "在配置中使用 @emph{虚拟} 主机的名称,以避免与安装 Prosody 的实际物理主机混淆。单个 Prosody 实例可以服务多个域,每个域在 Prosody 的配置中定义为一个 VirtualHost 条目。相反,托管单个域的服务器将只有一个 VirtualHost 条目。"

#. type: quotation
#: guix-git/doc/guix.texi:29857
#, fuzzy
msgid "See @url{https://prosody.im/doc/configure#virtual_host_settings}."
msgstr "请参阅 @url{https://prosody.im/doc/configure#virtual_host_settings}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29860
#, fuzzy
msgid "Available @code{virtualhost-configuration} fields are:"
msgstr "可用的 @code{virtualhost-configuration} 字段包括:"

#. type: deftypevr
#: guix-git/doc/guix.texi:29862 guix-git/doc/guix.texi:29884
#: guix-git/doc/guix.texi:29937
#, fuzzy
msgid "all these @code{prosody-configuration} fields: @code{admins}, @code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled}, @code{groups-file}, @code{allow-registration?}, @code{ssl}, @code{c2s-require-encryption?}, @code{disable-sasl-mechanisms}, @code{insecure-sasl-mechanisms}, @code{s2s-require-encryption?}, @code{s2s-secure-auth?}, @code{s2s-insecure-domains}, @code{s2s-secure-domains}, @code{authentication}, @code{log}, @code{http-max-content-size}, @code{http-external-url}, @code{raw-content}, plus:"
msgstr "所有这些 @code{prosody-configuration} 字段:@code{admins}、@code{use-libevent?}、@code{modules-enabled}、@code{modules-disabled}、@code{groups-file}、@code{allow-registration?}、@code{ssl}、@code{c2s-require-encryption?}、@code{disable-sasl-mechanisms}、@code{insecure-sasl-mechanisms}、@code{s2s-require-encryption?}、@code{s2s-secure-auth?}、@code{s2s-insecure-domains}、@code{s2s-secure-domains}、@code{authentication}、@code{log}、@code{http-max-content-size}、@code{http-external-url}、@code{raw-content},加上:"

#. type: deftypevr
#: guix-git/doc/guix.texi:29862
#, fuzzy, no-wrap
msgid "{@code{virtualhost-configuration} parameter} string domain"
msgstr "{@code{virtualhost-configuration} 参数} 字符串 域名"

#. type: deftypevr
#: guix-git/doc/guix.texi:29864
#, fuzzy
msgid "Domain you wish Prosody to serve."
msgstr "您希望 Prosody 服务的域名。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29868
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} int-component-configuration-list int-components"
msgstr "{@code{prosody-configuration} 参数} int-component-configuration-list int-components"

#. type: deftypevr
#: guix-git/doc/guix.texi:29873
#, fuzzy
msgid "Components are extra services on a server which are available to clients, usually on a subdomain of the main server (such as @samp{\"mycomponent.example.com\"}).  Example components might be chatroom servers, user directories, or gateways to other protocols."
msgstr "组件是服务器上的额外服务,通常在主服务器的子域上可供客户端使用(例如 @samp{\"mycomponent.example.com\"})。示例组件可能是聊天室服务器、用户目录或其他协议的网关。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29877
#, fuzzy
msgid "Internal components are implemented with Prosody-specific plugins.  To add an internal component, you simply fill the hostname field, and the plugin you wish to use for the component."
msgstr "内部组件是通过特定于 Prosody 的插件实现的。要添加内部组件,您只需填写主机名字段和您希望用于该组件的插件。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29880
#, fuzzy
msgid "See @url{https://prosody.im/doc/components}.  Defaults to @samp{'()}."
msgstr "请参见 @url{https://prosody.im/doc/components}。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29882
#, fuzzy
msgid "Available @code{int-component-configuration} fields are:"
msgstr "可用的 @code{int-component-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:29884
#, fuzzy, no-wrap
msgid "{@code{int-component-configuration} parameter} string hostname"
msgstr "{@code{int-component-configuration} 参数} 字符串主机名"

#. type: deftypevr
#: guix-git/doc/guix.texi:29886 guix-git/doc/guix.texi:29943
#, fuzzy
msgid "Hostname of the component."
msgstr "组件的主机名。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29888
#, fuzzy, no-wrap
msgid "{@code{int-component-configuration} parameter} string plugin"
msgstr "{@code{int-component-configuration} 参数} 字符串插件"

#. type: deftypevr
#: guix-git/doc/guix.texi:29890
#, fuzzy
msgid "Plugin you wish to use for the component."
msgstr "您希望用于该组件的插件。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29892
#, fuzzy, no-wrap
msgid "{@code{int-component-configuration} parameter} maybe-mod-muc-configuration mod-muc"
msgstr "{@code{int-component-configuration} 参数} 可能的 mod-muc-configuration mod-muc"

#. type: deftypevr
#: guix-git/doc/guix.texi:29895
#, fuzzy
msgid "Multi-user chat (MUC) is Prosody's module for allowing you to create hosted chatrooms/conferences for XMPP users."
msgstr "多用户聊天 (MUC) 是 Prosody 的模块,允许您为 XMPP 用户创建托管的聊天室/会议。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29899
#, fuzzy
msgid "General information on setting up and using multi-user chatrooms can be found in the ``Chatrooms'' documentation (@url{https://prosody.im/doc/chatrooms}), which you should read if you are new to XMPP chatrooms."
msgstr "有关设置和使用多用户聊天室的一般信息可以在 ``聊天室'' 文档中找到 (@url{https://prosody.im/doc/chatrooms}),如果您是 XMPP 聊天室的新手,建议您阅读。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29901
#, fuzzy
msgid "See also @url{https://prosody.im/doc/modules/mod_muc}."
msgstr "另请参见 @url{https://prosody.im/doc/modules/mod_muc}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29903
#, fuzzy
msgid "Available @code{mod-muc-configuration} fields are:"
msgstr "可用的 @code{mod-muc-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:29904
#, fuzzy, no-wrap
msgid "{@code{mod-muc-configuration} parameter} string name"
msgstr "{@code{mod-muc-configuration} 参数} 字符串名称"

#. type: deftypevr
#: guix-git/doc/guix.texi:29907
#, fuzzy
msgid "The name to return in service discovery responses.  Defaults to @samp{\"Prosody Chatrooms\"}."
msgstr "在服务发现响应中返回的名称。默认为 @samp{\"Prosody Chatrooms\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29909
#, fuzzy, no-wrap
msgid "{@code{mod-muc-configuration} parameter} string-or-boolean restrict-room-creation"
msgstr "{@code{mod-muc-configuration} 参数} 字符串或布尔值 restrict-room-creation"

#. type: deftypevr
#: guix-git/doc/guix.texi:29916
#, fuzzy
msgid "If @samp{#t}, this will only allow admins to create new chatrooms.  Otherwise anyone can create a room.  The value @samp{\"local\"} restricts room creation to users on the service's parent domain.  E.g.@: @samp{user@@example.com} can create rooms on @samp{rooms.example.com}.  The value @samp{\"admin\"} restricts to service administrators only.  Defaults to @samp{#f}."
msgstr "如果 @samp{#t},则仅允许管理员创建新的聊天室。否则,任何人都可以创建房间。值 @samp{\"local\"} 限制房间创建为服务的父域上的用户。例如:@samp{user@@example.com} 可以在 @samp{rooms.example.com} 上创建房间。值 @samp{\"admin\"} 限制为仅服务管理员。默认为 @samp{#f}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29918
#, fuzzy, no-wrap
msgid "{@code{mod-muc-configuration} parameter} non-negative-integer max-history-messages"
msgstr "{@code{mod-muc-configuration} 参数} 非负整数 max-history-messages"

#. type: deftypevr
#: guix-git/doc/guix.texi:29922
#, fuzzy
msgid "Maximum number of history messages that will be sent to the member that has just joined the room.  Defaults to @samp{20}."
msgstr "将发送给刚加入房间的成员的历史消息的最大数量。默认为 @samp{20}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29928
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} ext-component-configuration-list ext-components"
msgstr "{@code{prosody-configuration} 参数} ext-component-configuration-list ext-components"

#. type: deftypevr
#: guix-git/doc/guix.texi:29933
#, fuzzy
msgid "External components use XEP-0114, which most standalone components support.  To add an external component, you simply fill the hostname field.  See @url{https://prosody.im/doc/components}.  Defaults to @samp{'()}."
msgstr "外部组件使用 XEP-0114,大多数独立组件都支持。要添加外部组件,您只需填写主机名字段。请参见 @url{https://prosody.im/doc/components}。默认为 @samp{'()}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29935
#, fuzzy
msgid "Available @code{ext-component-configuration} fields are:"
msgstr "可用的 @code{ext-component-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:29937
#, fuzzy, no-wrap
msgid "{@code{ext-component-configuration} parameter} string component-secret"
msgstr "{@code{ext-component-configuration} 参数} 字符串 component-secret"

#. type: deftypevr
#: guix-git/doc/guix.texi:29939
#, fuzzy
msgid "Password which the component will use to log in."
msgstr "组件用于登录的密码。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29941
#, fuzzy, no-wrap
msgid "{@code{ext-component-configuration} parameter} string hostname"
msgstr "{@code{ext-component-configuration} 参数} 字符串 hostname"

#. type: deftypevr
#: guix-git/doc/guix.texi:29947
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} non-negative-integer-list component-ports"
msgstr "{@code{prosody-configuration} 参数} 非负整数列表 component-ports"

#. type: deftypevr
#: guix-git/doc/guix.texi:29950
#, fuzzy
msgid "Port(s) Prosody listens on for component connections.  Defaults to @samp{'(5347)}."
msgstr "Prosody 监听组件连接的端口。默认为 @samp{'(5347)}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29952
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} string component-interface"
msgstr "{@code{prosody-configuration} 参数} 字符串 component-interface"

#. type: deftypevr
#: guix-git/doc/guix.texi:29955
#, fuzzy
msgid "Interface Prosody listens on for component connections.  Defaults to @samp{\"127.0.0.1\"}."
msgstr "Prosody 监听组件连接的接口。默认为 @samp{\"127.0.0.1\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29957
#, fuzzy, no-wrap
msgid "{@code{prosody-configuration} parameter} maybe-raw-content raw-content"
msgstr "{@code{prosody-configuration} 参数} 可能是原始内容 raw-content"

#. type: deftypevr
#: guix-git/doc/guix.texi:29959
#, fuzzy
msgid "Raw content that will be added to the configuration file."
msgstr "将添加到配置文件中的原始内容。"

#. type: Plain text
#: guix-git/doc/guix.texi:29967
#, fuzzy
msgid "It could be that you just want to get a @code{prosody.cfg.lua} up and running.  In that case, you can pass an @code{opaque-prosody-configuration} record as the value of @code{prosody-service-type}.  As its name indicates, an opaque configuration does not have easy reflective capabilities.  Available @code{opaque-prosody-configuration} fields are:"
msgstr "您可能只是想让 @code{prosody.cfg.lua} 正常运行。在这种情况下,您可以将 @code{opaque-prosody-configuration} 记录作为 @code{prosody-service-type} 的值传递。顾名思义,透明配置没有简单的反射能力。可用的 @code{opaque-prosody-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:29968
#, fuzzy, no-wrap
msgid "{@code{opaque-prosody-configuration} parameter} package prosody"
msgstr "{@code{opaque-prosody-configuration} 参数} 包 prosody"

#. type: deftypevr
#: guix-git/doc/guix.texi:29970
#, fuzzy
msgid "The prosody package."
msgstr "prosody 包。"

#. type: deftypevr
#: guix-git/doc/guix.texi:29972
#, fuzzy, no-wrap
msgid "{@code{opaque-prosody-configuration} parameter} string prosody.cfg.lua"
msgstr "{@code{opaque-prosody-configuration} 参数} 字符串 prosody.cfg.lua"

#. type: deftypevr
#: guix-git/doc/guix.texi:29974
#, fuzzy
msgid "The contents of the @code{prosody.cfg.lua} to use."
msgstr "要使用的 @code{prosody.cfg.lua} 的内容。"

#. type: Plain text
#: guix-git/doc/guix.texi:29978
#, fuzzy
msgid "For example, if your @code{prosody.cfg.lua} is just the empty string, you could instantiate a prosody service like this:"
msgstr "例如,如果您的 @code{prosody.cfg.lua} 只是空字符串,您可以像这样实例化一个 prosody 服务:"

#. type: lisp
#: guix-git/doc/guix.texi:29983
#, fuzzy, no-wrap
msgid ""
"(service prosody-service-type\n"
"         (opaque-prosody-configuration\n"
"          (prosody.cfg.lua \"\")))\n"
msgstr ""
"(service prosody-service-type\n"
"         (opaque-prosody-configuration\n"
"          (prosody.cfg.lua \"\")))\n"

#. type: subsubheading
#: guix-git/doc/guix.texi:29987
#, fuzzy, no-wrap
msgid "BitlBee Service"
msgstr "BitlBee 服务"

#. type: cindex
#: guix-git/doc/guix.texi:29989 guix-git/doc/guix.texi:30033
#, fuzzy, no-wrap
msgid "IRC (Internet Relay Chat)"
msgstr "IRC(互联网中继聊天)"

#. type: cindex
#: guix-git/doc/guix.texi:29990
#, fuzzy, no-wrap
msgid "IRC gateway"
msgstr "IRC 网关"

#. type: Plain text
#: guix-git/doc/guix.texi:29993
#, fuzzy
msgid "@url{https://bitlbee.org,BitlBee} is a gateway that provides an IRC interface to a variety of messaging protocols such as XMPP."
msgstr "@url{https://bitlbee.org,BitlBee} 是一个网关,提供与多种消息协议(如 XMPP)的 IRC 接口。"

#. type: defvar
#: guix-git/doc/guix.texi:29994
#, fuzzy, no-wrap
msgid "bitlbee-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:29998
#, fuzzy
msgid "This is the service type for the @url{https://bitlbee.org,BitlBee} IRC gateway daemon.  Its value is a @code{bitlbee-configuration} (see below)."
msgstr "这是 @url{https://bitlbee.org,BitlBee} IRC 网关守护进程的服务类型。其值为 @code{bitlbee-configuration}(见下文)。"

#. type: defvar
#: guix-git/doc/guix.texi:30001
#, fuzzy
msgid "To have BitlBee listen on port 6667 on localhost, add this line to your services:"
msgstr "要让 BitlBee 在本地主机的 6667 端口上监听,请将此行添加到您的服务中:"

#. type: lisp
#: guix-git/doc/guix.texi:30004
#, fuzzy, no-wrap
msgid "(service bitlbee-service-type)\n"
msgstr "(service bitlbee-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:30007
#, fuzzy, no-wrap
msgid "{Data Type} bitlbee-configuration"
msgstr "{数据类型} bitlbee-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:30009
#, fuzzy
msgid "This is the configuration for BitlBee, with the following fields:"
msgstr "这是 BitlBee 的配置,包含以下字段:"

#. type: item
#: guix-git/doc/guix.texi:30011
#, fuzzy, no-wrap
msgid "@code{interface} (default: @code{\"127.0.0.1\"})"
msgstr "@code{interface}(默认值:@code{\"127.0.0.1\"})"

#. type: itemx
#: guix-git/doc/guix.texi:30012
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{6667})"
msgstr "@code{port}(默认值:@code{6667})"

#. type: table
#: guix-git/doc/guix.texi:30015
#, fuzzy
msgid "Listen on the network interface corresponding to the IP address specified in @var{interface}, on @var{port}."
msgstr "在@var{port}上监听与@var{interface}中指定的IP地址对应的网络接口。"

#. type: table
#: guix-git/doc/guix.texi:30019
#, fuzzy
msgid "When @var{interface} is @code{127.0.0.1}, only local clients can connect; when it is @code{0.0.0.0}, connections can come from any networking interface."
msgstr "当@var{interface}为@code{127.0.0.1}时,仅本地客户端可以连接;当它为@code{0.0.0.0}时,连接可以来自任何网络接口。"

#. type: item
#: guix-git/doc/guix.texi:30020
#, fuzzy, no-wrap
msgid "@code{bitlbee} (default: @code{bitlbee})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:30022
#, fuzzy
msgid "The BitlBee package to use."
msgstr "要使用的BitlBee软件包。"

#. type: item
#: guix-git/doc/guix.texi:30023
#, fuzzy, no-wrap
msgid "@code{plugins} (default: @code{'()})"
msgstr "@code{plugins}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:30025
#, fuzzy
msgid "List of plugin packages to use---e.g., @code{bitlbee-discord}."
msgstr "要使用的插件软件包列表——例如,@code{bitlbee-discord}。"

#. type: table
#: guix-git/doc/guix.texi:30028
#, fuzzy
msgid "Configuration snippet added as-is to the BitlBee configuration file."
msgstr "作为原样添加到BitlBee配置文件的配置片段。"

#. type: subsubheading
#: guix-git/doc/guix.texi:30031
#, fuzzy, no-wrap
msgid "Quassel Service"
msgstr "Quassel服务"

#. type: Plain text
#: guix-git/doc/guix.texi:30037
#, fuzzy
msgid "@url{https://quassel-irc.org/,Quassel} is a distributed IRC client, meaning that one or more clients can attach to and detach from the central core."
msgstr "@url{https://quassel-irc.org/,Quassel}是一个分布式IRC客户端,这意味着一个或多个客户端可以连接到中央核心并从中断开。"

#. type: defvar
#: guix-git/doc/guix.texi:30038
#, fuzzy, no-wrap
msgid "quassel-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:30042
#, fuzzy
msgid "This is the service type for the @url{https://quassel-irc.org/,Quassel} IRC backend daemon.  Its value is a @code{quassel-configuration} (see below)."
msgstr "这是@url{https://quassel-irc.org/,Quassel} IRC后端守护进程的服务类型。它的值是一个@code{quassel-configuration}(见下文)。"

#. type: deftp
#: guix-git/doc/guix.texi:30044
#, fuzzy, no-wrap
msgid "{Data Type} quassel-configuration"
msgstr "{数据类型} quassel-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:30046
#, fuzzy
msgid "This is the configuration for Quassel, with the following fields:"
msgstr "这是Quassel的配置,包含以下字段:"

#. type: item
#: guix-git/doc/guix.texi:30048
#, fuzzy, no-wrap
msgid "@code{quassel} (default: @code{quassel})"
msgstr "@code{quassel}(默认值:@code{quassel})"

#. type: table
#: guix-git/doc/guix.texi:30050
#, fuzzy
msgid "The Quassel package to use."
msgstr "要使用的Quassel软件包。"

#. type: item
#: guix-git/doc/guix.texi:30051
#, fuzzy, no-wrap
msgid "@code{interface} (default: @code{\"::,0.0.0.0\"})"
msgstr "@code{interface}(默认值:@code{\"::,0.0.0.0\"})"

#. type: item
#: guix-git/doc/guix.texi:30052
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{4242})"
msgstr "@code{port}(默认值:@code{4242})"

#. type: table
#: guix-git/doc/guix.texi:30056
#, fuzzy
msgid "Listen on the network interface(s) corresponding to the IPv4 or IPv6 interfaces specified in the comma delimited @var{interface}, on @var{port}."
msgstr "在@var{port}上监听与逗号分隔的@var{interface}中指定的IPv4或IPv6接口对应的网络接口。"

#. type: item
#: guix-git/doc/guix.texi:30057
#, fuzzy, no-wrap
msgid "@code{loglevel} (default: @code{\"Info\"})"
msgstr "@code{loglevel}(默认值:@code{\"Info\"})"

#. type: table
#: guix-git/doc/guix.texi:30060
#, fuzzy
msgid "The level of logging desired.  Accepted values are Debug, Info, Warning and Error."
msgstr "所需的日志记录级别。接受的值为Debug、Info、Warning和Error。"

#. type: cindex
#: guix-git/doc/guix.texi:30066
#, fuzzy, no-wrap
msgid "telephony, services"
msgstr "电话服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:30070
#, fuzzy
msgid "The @code{(gnu services telephony)} module contains Guix service definitions for telephony services.  Currently it provides the following services:"
msgstr "@code{(gnu services telephony)}模块包含Guix服务定义的电话服务。目前提供以下服务:"

#. type: subsubheading
#: guix-git/doc/guix.texi:30071
#, fuzzy, no-wrap
msgid "Jami"
msgstr "Jami"

#. type: defvar
#: guix-git/doc/guix.texi:30073
#, fuzzy, no-wrap
msgid "jami-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:30080
#, fuzzy
msgid "The service type for running Jami as a service.  It takes a @code{jami-configuration} object as a value, documented below.  This section describes how to configure a Jami server that can be used to host video (or audio) conferences, among other uses.  The following example demonstrates how to specify Jami account archives (backups) to be provisioned automatically:"
msgstr "作为服务运行Jami的服务类型。它接受一个@code{jami-configuration}对象作为值,下面有文档说明。本节描述如何配置一个Jami服务器,可以用于托管视频(或音频)会议等其他用途。以下示例演示如何指定要自动配置的Jami账户档案(备份):"

#. type: lisp
#: guix-git/doc/guix.texi:30089
#, fuzzy, no-wrap
msgid ""
"(service jami-service-type\n"
"         (jami-configuration\n"
"          (accounts\n"
"           (list (jami-account\n"
"                  (archive \"/etc/jami/unencrypted-account-1.gz\"))\n"
"                 (jami-account\n"
"                  (archive \"/etc/jami/unencrypted-account-2.gz\"))))))\n"
msgstr ""
"(service jami-service-type\n"
"         (jami-configuration\n"
"          (accounts\n"
"           (list (jami-account\n"
"                  (archive \"/etc/jami/unencrypted-account-1.gz\"))\n"
"                 (jami-account\n"
"                  (archive \"/etc/jami/unencrypted-account-2.gz\"))))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:30094
#, fuzzy
msgid "When the accounts field is specified, the Jami account files of the service found under @file{/var/lib/jami} are recreated every time the service starts."
msgstr "当指定账户字段时,位于 @file{/var/lib/jami} 下的 Jami 账户文件将在每次服务启动时重新创建。"

#. type: defvar
#: guix-git/doc/guix.texi:30099
#, fuzzy
msgid "Jami accounts and their corresponding backup archives can be generated using the @code{jami} or @code{jami-gnome} Jami clients.  The accounts should not be password-protected, but it is wise to ensure their files are only readable by @samp{root}."
msgstr "可以使用 @code{jami} 或 @code{jami-gnome} Jami 客户端生成 Jami 账户及其相应的备份档案。账户不应受到密码保护,但确保其文件仅可由 @samp{root} 读取是明智的。"

#. type: defvar
#: guix-git/doc/guix.texi:30102
#, fuzzy
msgid "The next example shows how to declare that only some contacts should be allowed to communicate with a given account:"
msgstr "下一个示例展示了如何声明只有某些联系人可以与给定账户进行通信:"

#. type: lisp
#: guix-git/doc/guix.texi:30114
#, fuzzy, no-wrap
msgid ""
"(service jami-service-type\n"
"         (jami-configuration\n"
"          (accounts\n"
"           (list (jami-account\n"
"                  (archive \"/etc/jami/unencrypted-account-1.gz\")\n"
"                  (peer-discovery? #t)\n"
"                  (rendezvous-point? #t)\n"
"                  (allowed-contacts\n"
"                   '(\"1dbcb0f5f37324228235564b79f2b9737e9a008f\"\n"
"                     \"2dbcb0f5f37324228235564b79f2b9737e9a008f\")))))))\n"
msgstr ""
"(service jami-service-type\n"
"         (jami-configuration\n"
"          (accounts\n"
"           (list (jami-account\n"
"                  (archive \"/etc/jami/unencrypted-account-1.gz\")\n"
"                  (peer-discovery? #t)\n"
"                  (rendezvous-point? #t)\n"
"                  (allowed-contacts\n"
"                   '(\"1dbcb0f5f37324228235564b79f2b9737e9a008f\"\n"
"                     \"2dbcb0f5f37324228235564b79f2b9737e9a008f\")))))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:30120
#, fuzzy
msgid "In this mode, only the declared @code{allowed-contacts} can initiate communication with the Jami account.  This can be used, for example, with rendezvous point accounts to create a private video conferencing space."
msgstr "在此模式下,只有声明的 @code{allowed-contacts} 可以发起与 Jami 账户的通信。这可以用于例如与 rendezvous point 账户一起创建私人视频会议空间。"

#. type: defvar
#: guix-git/doc/guix.texi:30123
#, fuzzy
msgid "To put the system administrator in full control of the conferences hosted on their system, the Jami service supports the following actions:"
msgstr "为了让系统管理员完全控制其系统上托管的会议,Jami 服务支持以下操作:"

#. type: example
#: guix-git/doc/guix.texi:30135
#, fuzzy, no-wrap
msgid ""
"# herd doc jami list-actions\n"
"(list-accounts\n"
" list-account-details\n"
" list-banned-contacts\n"
" list-contacts\n"
" list-moderators\n"
" add-moderator\n"
" ban-contact\n"
" enable-account\n"
" disable-account)\n"
msgstr ""
"# herd doc jami list-actions\n"
"(list-accounts\n"
" list-account-details\n"
" list-banned-contacts\n"
" list-contacts\n"
" list-moderators\n"
" add-moderator\n"
" ban-contact\n"
" enable-account\n"
" disable-account)\n"

#. type: defvar
#: guix-git/doc/guix.texi:30142
#, fuzzy
msgid "The above actions aim to provide the most valuable actions for moderation purposes, not to cover the whole Jami API.  Users wanting to interact with the Jami daemon from Guile may be interested in experimenting with the @code{(gnu build jami-service)} module, which powers the above Shepherd actions."
msgstr "上述操作旨在提供最有价值的管理操作,而不是覆盖整个 Jami API。希望从 Guile 与 Jami 守护进程交互的用户可能会对实验 @code{(gnu build jami-service)} 模块感兴趣,该模块支持上述 Shepherd 操作。"

#. type: defvar
#: guix-git/doc/guix.texi:30148
#, fuzzy
msgid "The @code{add-moderator} and @code{ban-contact} actions accept a contact @emph{fingerprint} (40 characters long hash) as first argument and an account fingerprint or username as second argument:"
msgstr "@code{add-moderator} 和 @code{ban-contact} 操作接受一个联系人 @emph{指纹}(40 个字符长的哈希)作为第一个参数,以及一个账户指纹或用户名作为第二个参数:"

#. type: example
#: guix-git/doc/guix.texi:30152
#, fuzzy, no-wrap
msgid ""
"# herd add-moderator jami 1dbcb0f5f37324228235564b79f2b9737e9a008f \\\n"
"  f3345f2775ddfe07a4b0d95daea111d15fbc1199\n"
"\n"
msgstr ""
"# herd add-moderator jami 1dbcb0f5f37324228235564b79f2b9737e9a008f \\\n"
"  f3345f2775ddfe07a4b0d95daea111d15fbc1199\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:30156
#, fuzzy, no-wrap
msgid ""
"# herd list-moderators jami\n"
"Moderators for account f3345f2775ddfe07a4b0d95daea111d15fbc1199:\n"
"  - 1dbcb0f5f37324228235564b79f2b9737e9a008f\n"
"\n"
msgstr ""
"# herd list-moderators jami\n"
"账户 f3345f2775ddfe07a4b0d95daea111d15fbc1199 的管理员:\n"
"  - 1dbcb0f5f37324228235564b79f2b9737e9a008f\n"
"\n"

#. type: defvar
#: guix-git/doc/guix.texi:30161
#, fuzzy
msgid "In the case of @code{ban-contact}, the second username argument is optional; when omitted, the account is banned from all Jami accounts:"
msgstr "在 @code{ban-contact} 的情况下,第二个用户名参数是可选的;如果省略,则该账户将被禁止与所有 Jami 账户联系:"

#. type: example
#: guix-git/doc/guix.texi:30164
#, fuzzy, no-wrap
msgid ""
"# herd ban-contact jami 1dbcb0f5f37324228235564b79f2b9737e9a008f\n"
"\n"
msgstr ""
"# herd ban-contact jami 1dbcb0f5f37324228235564b79f2b9737e9a008f\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:30168
#, fuzzy, no-wrap
msgid ""
"# herd list-banned-contacts jami\n"
"Banned contacts for account f3345f2775ddfe07a4b0d95daea111d15fbc1199:\n"
"  - 1dbcb0f5f37324228235564b79f2b9737e9a008f\n"
"\n"
msgstr ""
"# herd list-banned-contacts jami\n"
"账户 f3345f2775ddfe07a4b0d95daea111d15fbc1199 的被禁止联系人:\n"
"  - 1dbcb0f5f37324228235564b79f2b9737e9a008f\n"
"\n"

#. type: defvar
#: guix-git/doc/guix.texi:30172
#, fuzzy
msgid "Banned contacts are also stripped from their moderation privileges."
msgstr "被禁止的联系人也会被剥夺其管理权限。"

#. type: defvar
#: guix-git/doc/guix.texi:30177
#, fuzzy
msgid "The @code{disable-account} action allows to completely disconnect an account from the network, making it unreachable, while @code{enable-account} does the inverse.  They accept a single account username or fingerprint as first argument:"
msgstr "@code{disable-account} 操作允许完全断开账户与网络的连接,使其无法访问,而 @code{enable-account} 则相反。它们接受一个账户用户名或指纹作为第一个参数:"

#. type: example
#: guix-git/doc/guix.texi:30180
#, fuzzy, no-wrap
msgid ""
"# herd disable-account jami f3345f2775ddfe07a4b0d95daea111d15fbc1199\n"
"\n"
msgstr ""
"# herd disable-account jami f3345f2775ddfe07a4b0d95daea111d15fbc1199\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:30184
#, fuzzy, no-wrap
msgid ""
"# herd list-accounts jami\n"
"The following Jami accounts are available:\n"
"  - f3345f2775ddfe07a4b0d95daea111d15fbc1199 (dummy) [disabled]\n"
"\n"
msgstr ""
"# herd list-accounts jami\n"
"以下 Jami 账户可用:\n"
"  - f3345f2775ddfe07a4b0d95daea111d15fbc1199 (虚拟) [已禁用]\n"
"\n"

#. type: defvar
#: guix-git/doc/guix.texi:30195
#, fuzzy
msgid "The @code{list-account-details} action prints the detailed parameters of each accounts in the Recutils format, which means the @command{recsel} command can be used to select accounts of interest (@pxref{Selection Expressions,,,recutils, GNU recutils manual}).  Note that period characters (@samp{.}) found in the account parameter keys are mapped to underscores (@samp{_}) in the output, to meet the requirements of the Recutils format.  The following example shows how to print the account fingerprints for all accounts operating in the rendezvous point mode:"
msgstr "@code{list-account-details} 操作以 Recutils 格式打印每个账户的详细参数,这意味着可以使用 @command{recsel} 命令选择感兴趣的账户 (@pxref{Selection Expressions,,,recutils, GNU recutils manual})。请注意,账户参数键中的句点字符 (@samp{.}) 在输出中被映射为下划线 (@samp{_}),以满足 Recutils 格式的要求。以下示例展示了如何打印以 rendezvous 点模式运行的所有账户的指纹:"

#. type: example
#: guix-git/doc/guix.texi:30200
#, fuzzy, no-wrap
msgid ""
"# herd list-account-details jami | \\\n"
"  recsel -p Account.username -e 'Account.rendezVous ~ \"true\"'\n"
"Account_username: f3345f2775ddfe07a4b0d95daea111d15fbc1199\n"
msgstr ""
"# herd list-account-details jami | \\\n"
"  recsel -p Account.username -e 'Account.rendezVous ~ \"true\"'\n"
"Account_username: f3345f2775ddfe07a4b0d95daea111d15fbc1199\n"

#. type: defvar
#: guix-git/doc/guix.texi:30203
#, fuzzy
msgid "The remaining actions should be self-explanatory."
msgstr "其余操作应该是不言自明的。"

#. type: defvar
#: guix-git/doc/guix.texi:30205
#, fuzzy
msgid "The complete set of available configuration options is detailed below."
msgstr "可用的完整配置选项集如下所示。"

#. type: deftp
#: guix-git/doc/guix.texi:30210
#, fuzzy, no-wrap
msgid "{Data Type} jami-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:30212
#, fuzzy
msgid "Available @code{jami-configuration} fields are:"
msgstr "可用的 @code{jami-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:30214
#, fuzzy, no-wrap
msgid "@code{libjami} (default: @code{libjami}) (type: package)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:30216
#, fuzzy
msgid "The Jami daemon package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:30217
#, fuzzy, no-wrap
msgid "@code{dbus} (default: @code{dbus-for-jami}) (type: package)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:30219
#, fuzzy
msgid "The D-Bus package to use to start the required D-Bus session."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:30220
#, fuzzy, no-wrap
msgid "@code{nss-certs} (default: @code{nss-certs}) (type: package)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:30222
#, fuzzy
msgid "The nss-certs package to use to provide TLS certificates."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:30223
#, fuzzy, no-wrap
msgid "@code{enable-logging?} (default: @code{#t}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:30225
#, fuzzy
msgid "Whether to enable logging to syslog."
msgstr "是否启用日志记录到 syslog。"

#. type: table
#: guix-git/doc/guix.texi:30228
#, fuzzy
msgid "Whether to enable debug level messages."
msgstr "是否启用调试级别消息。"

#. type: item
#: guix-git/doc/guix.texi:30229
#, fuzzy, no-wrap
msgid "@code{auto-answer?} (default: @code{#f}) (type: boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:30231
#, fuzzy
msgid "Whether to force automatic answer to incoming calls."
msgstr "是否强制自动接听来电。"

#. type: item
#: guix-git/doc/guix.texi:30232
#, fuzzy, no-wrap
msgid "@code{accounts} (type: maybe-jami-account-list)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:30237
#, fuzzy
msgid "A list of Jami accounts to be (re-)provisioned every time the Jami daemon service starts.  When providing this field, the account directories under @file{/var/lib/jami/} are recreated every time the service starts, ensuring a consistent state."
msgstr "每次Jami守护进程服务启动时要(重新)配置的Jami账户列表。当提供此字段时,@file{/var/lib/jami/}下的账户目录在每次服务启动时都会被重新创建,以确保一致的状态。"

#. type: deftp
#: guix-git/doc/guix.texi:30243
#, fuzzy, no-wrap
msgid "{Data Type} jami-account"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:30245
#, fuzzy
msgid "Available @code{jami-account} fields are:"
msgstr "可用的@code{jami-account}字段包括:"

#. type: item
#: guix-git/doc/guix.texi:30247
#, fuzzy, no-wrap
msgid "@code{archive} (type: string-or-computed-file)"
msgstr "@code{archive}(类型:字符串或计算文件)"

#. type: table
#: guix-git/doc/guix.texi:30253
#, fuzzy
msgid "The account archive (backup) file name of the account.  This is used to provision the account when the service starts.  The account archive should @emph{not} be encrypted.  It is highly recommended to make it readable only to the @samp{root} user (i.e., not in the store), to guard against leaking the secret key material of the Jami account it contains."
msgstr "账户的归档(备份)文件名。此文件用于在服务启动时配置账户。账户归档应@emph{不}被加密。强烈建议仅允许@samp{root}用户可读(即,不在存储中),以防泄露其包含的Jami账户的密钥材料。"

#. type: item
#: guix-git/doc/guix.texi:30254
#, fuzzy, no-wrap
msgid "@code{allowed-contacts} (type: maybe-account-fingerprint-list)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:30261
#, fuzzy
msgid "The list of allowed contacts for the account, entered as their 40 characters long fingerprint.  Messages or calls from accounts not in that list will be rejected.  When left specified, the configuration of the account archive is used as-is with respect to contacts and public inbound calls/messaging allowance, which typically defaults to allow any contact to communicate with the account."
msgstr "账户允许的联系人列表,以其40个字符长的指纹输入。来自不在该列表中的账户的消息或电话将被拒绝。当保持指定时,账户归档的配置将按原样使用,关于联系人和公共入站电话/消息的允许,通常默认允许任何联系人与账户通信。"

#. type: item
#: guix-git/doc/guix.texi:30262
#, fuzzy, no-wrap
msgid "@code{moderators} (type: maybe-account-fingerprint-list)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:30268
#, fuzzy
msgid "The list of contacts that should have moderation privileges (to ban, mute, etc.  other users) in rendezvous conferences, entered as their 40 characters long fingerprint.  When left unspecified, the configuration of the account archive is used as-is with respect to moderation, which typically defaults to allow anyone to moderate."
msgstr "应在会议中拥有管理权限(禁止、静音等其他用户)的联系人列表,以其40个字符长的指纹输入。当未指定时,账户归档的配置将按原样使用,关于管理,通常默认允许任何人进行管理。"

#. type: item
#: guix-git/doc/guix.texi:30269
#, fuzzy, no-wrap
msgid "@code{rendezvous-point?} (type: maybe-boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:30273
#, fuzzy
msgid "Whether the account should operate in the rendezvous mode.  In this mode, all the incoming audio/video calls are mixed into a conference.  When left unspecified, the value from the account archive prevails."
msgstr "账户是否应在会议模式下操作。在此模式下,所有传入的音频/视频电话都混合成一个会议。当未指定时,账户归档中的值优先。"

#. type: item
#: guix-git/doc/guix.texi:30274
#, fuzzy, no-wrap
msgid "@code{peer-discovery?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:30280
#, fuzzy
msgid "Whether peer discovery should be enabled.  Peer discovery is used to discover other OpenDHT nodes on the local network, which can be useful to maintain communication between devices on such network even when the connection to the Internet has been lost.  When left unspecified, the value from the account archive prevails."
msgstr "是否应启用对等发现。对等发现用于发现本地网络上的其他OpenDHT节点,这对于在与互联网连接丢失时维护设备之间的通信非常有用。当未指定时,账户归档中的值优先。"

#. type: item
#: guix-git/doc/guix.texi:30281
#, fuzzy, no-wrap
msgid "@code{bootstrap-hostnames} (type: maybe-list-of-strings)"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:30285
#, fuzzy
msgid "A list of hostnames or IPs pointing to OpenDHT nodes, that should be used to initially join the OpenDHT network.  When left unspecified, the value from the account archive prevails."
msgstr "指向OpenDHT节点的主机名或IP列表,应用于最初加入OpenDHT网络。当未指定时,账户归档中的值优先。"

#. type: item
#: guix-git/doc/guix.texi:30286
#, fuzzy, no-wrap
msgid "@code{name-server-uri} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30289
#, fuzzy
msgid "The URI of the name server to use, that can be used to retrieve the account fingerprint for a registered username."
msgstr "要使用的名称服务器的 URI,可用于检索注册用户名的帐户指纹。"

#. type: subsubheading
#: guix-git/doc/guix.texi:30294
#, fuzzy, no-wrap
msgid "Mumble server"
msgstr "游戏服务器。"

#. type: cindex
#: guix-git/doc/guix.texi:30296
#, fuzzy, no-wrap
msgid "Mumble"
msgstr "Mumble"

#. type: cindex
#: guix-git/doc/guix.texi:30297
#, fuzzy, no-wrap
msgid "Murmur"
msgstr "Murmur"

#. type: cindex
#: guix-git/doc/guix.texi:30298
#, fuzzy, no-wrap
msgid "VoIP server"
msgstr "VoIP 服务器"

#. type: Plain text
#: guix-git/doc/guix.texi:30301
#, fuzzy
msgid "This section describes how to set up and run a @uref{https://mumble.info, Mumble} server (formerly known as Murmur)."
msgstr "本节描述如何设置和运行 @uref{https://mumble.info, Mumble} 服务器(以前称为 Murmur)。"

#. type: defvar
#: guix-git/doc/guix.texi:30302
#, fuzzy, no-wrap
msgid "mumble-server-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:30306
#, fuzzy
msgid "This is the service to run a Mumble server.  It takes a @code{mumble-server-configuration} object as its value, defined below."
msgstr "这是运行 Mumble 服务器的服务。它接受一个 @code{mumble-server-configuration} 对象作为其值,定义如下。"

#. type: deftp
#: guix-git/doc/guix.texi:30308
#, fuzzy, no-wrap
msgid "{Data Type} mumble-server-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:30311
#, fuzzy
msgid "The service type for the Mumble server.  An example configuration can look like this:"
msgstr "Mumble 服务器的服务类型。示例配置可以如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:30320
#, fuzzy, no-wrap
msgid ""
"(service mumble-server-service-type\n"
"         (mumble-server-configuration\n"
"          (welcome-text\n"
"            \"Welcome to this Mumble server running on Guix!\")\n"
"          (cert-required? #t) ;disallow text password logins\n"
"          (ssl-cert \"/etc/certs/mumble.example.com/fullchain.pem\")\n"
"          (ssl-key \"/etc/certs/mumble.example.com/privkey.pem\")))\n"
msgstr ""
"(service mumble-server-service-type\n"
"         (mumble-server-configuration\n"
"          (welcome-text\n"
"            \"欢迎来到这个运行在 Guix 上的 Mumble 服务器!\")\n"
"          (cert-required? #t) ;禁止文本密码登录\n"
"          (ssl-cert \"/etc/certs/mumble.example.com/fullchain.pem\")\n"
"          (ssl-key \"/etc/certs/mumble.example.com/privkey.pem\")))\n"

#. type: deftp
#: guix-git/doc/guix.texi:30325
#, fuzzy
msgid "After reconfiguring your system, you can manually set the mumble-server @code{SuperUser} password with the command that is printed during the activation phase."
msgstr "在重新配置系统后,您可以使用在激活阶段打印的命令手动设置 mumble-server @code{SuperUser} 密码。"

#. type: deftp
#: guix-git/doc/guix.texi:30334
#, fuzzy
msgid "It is recommended to register a normal Mumble user account and grant it admin or moderator rights.  You can use the @code{mumble} client to login as new normal user, register yourself, and log out.  For the next step login with the name @code{SuperUser} use the @code{SuperUser} password that you set previously, and grant your newly registered mumble user administrator or moderator rights and create some channels."
msgstr "建议注册一个普通的 Mumble 用户帐户并授予其管理员或主持人权限。您可以使用 @code{mumble} 客户端以新普通用户身份登录,注册自己并注销。下一步以 @code{SuperUser} 名称登录,使用您之前设置的 @code{SuperUser} 密码,并授予您新注册的 mumble 用户管理员或主持人权限,并创建一些频道。"

#. type: deftp
#: guix-git/doc/guix.texi:30336
#, fuzzy
msgid "Available @code{mumble-server-configuration} fields are:"
msgstr "可用的 @code{mumble-server-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:30338
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{mumble})"
msgstr "@code{package}(默认值:@code{mumble})"

#. type: table
#: guix-git/doc/guix.texi:30340
#, fuzzy
msgid "Package that contains @code{bin/mumble-server}."
msgstr "包含 @code{bin/mumble-server} 的软件包。"

#. type: item
#: guix-git/doc/guix.texi:30341
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"mumble-server\"})"
msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#. type: table
#: guix-git/doc/guix.texi:30343
#, fuzzy
msgid "User who will run the Mumble-Server server."
msgstr "将运行 Mumble-Server 服务器的用户。"

#. type: item
#: guix-git/doc/guix.texi:30344
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"mumble-server\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:30346
#, fuzzy
msgid "Group of the user who will run the mumble-server server."
msgstr "将运行 mumble-server 服务器的用户组。"

#. type: item
#: guix-git/doc/guix.texi:30347
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{64738})"
msgstr "@code{port}(默认值:@code{64738})"

#. type: table
#: guix-git/doc/guix.texi:30349
#, fuzzy
msgid "Port on which the server will listen."
msgstr "服务器将监听的端口。"

#. type: item
#: guix-git/doc/guix.texi:30350
#, fuzzy, no-wrap
msgid "@code{welcome-text} (default: @code{\"\"})"
msgstr "@code{welcome-text}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:30352
#, fuzzy
msgid "Welcome text sent to clients when they connect."
msgstr "当客户端连接时发送给客户端的欢迎文本。"

#. type: item
#: guix-git/doc/guix.texi:30353
#, fuzzy, no-wrap
msgid "@code{server-password} (default: @code{\"\"})"
msgstr "@code{server-password}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:30355
#, fuzzy
msgid "Password the clients have to enter in order to connect."
msgstr "客户端必须输入的密码以连接。"

#. type: item
#: guix-git/doc/guix.texi:30356
#, fuzzy, no-wrap
msgid "@code{max-users} (default: @code{100})"
msgstr "@code{max-users}(默认值:@code{100})"

#. type: table
#: guix-git/doc/guix.texi:30358
#, fuzzy
msgid "Maximum of users that can be connected to the server at once."
msgstr "可以同时连接到服务器的最大用户数。"

#. type: item
#: guix-git/doc/guix.texi:30359
#, fuzzy, no-wrap
msgid "@code{max-user-bandwidth} (default: @code{#f})"
msgstr "@code{max-user-bandwidth}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30361
#, fuzzy
msgid "Maximum voice traffic a user can send per second."
msgstr "用户每秒可以发送的最大语音流量。"

#. type: item
#: guix-git/doc/guix.texi:30362
#, fuzzy, no-wrap
msgid "@code{database-file} (default: @code{\"/var/lib/mumble-server/db.sqlite\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:30365
#, fuzzy
msgid "File name of the sqlite database.  The service's user will become the owner of the directory."
msgstr "sqlite数据库的文件名。服务的用户将成为该目录的所有者。"

#. type: item
#: guix-git/doc/guix.texi:30366
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{\"/var/log/mumble-server/mumble-server.log\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:30369
#, fuzzy
msgid "File name of the log file.  The service's user will become the owner of the directory."
msgstr "日志文件的文件名。服务的用户将成为该目录的所有者。"

#. type: item
#: guix-git/doc/guix.texi:30370
#, fuzzy, no-wrap
msgid "@code{autoban-attempts} (default: @code{10})"
msgstr "@code{autoban-attempts}(默认值:@code{10})"

#. type: table
#: guix-git/doc/guix.texi:30373
#, fuzzy
msgid "Maximum number of logins a user can make in @code{autoban-timeframe} without getting auto banned for @code{autoban-time}."
msgstr "用户在@code{autoban-timeframe}内可以登录的最大次数,超过后将因@code{autoban-time}而被自动禁止。"

#. type: item
#: guix-git/doc/guix.texi:30374
#, fuzzy, no-wrap
msgid "@code{autoban-timeframe} (default: @code{120})"
msgstr "@code{autoban-timeframe}(默认值:@code{120})"

#. type: table
#: guix-git/doc/guix.texi:30376
#, fuzzy
msgid "Timeframe for autoban in seconds."
msgstr "自动禁止的时间框,以秒为单位。"

#. type: item
#: guix-git/doc/guix.texi:30377
#, fuzzy, no-wrap
msgid "@code{autoban-time} (default: @code{300})"
msgstr "@code{autoban-time}(默认值:@code{300})"

#. type: table
#: guix-git/doc/guix.texi:30380
#, fuzzy
msgid "Amount of time in seconds for which a client gets banned when violating the autoban limits."
msgstr "客户端在违反自动禁止限制时被禁止的时间,以秒为单位。"

#. type: item
#: guix-git/doc/guix.texi:30381
#, fuzzy, no-wrap
msgid "@code{opus-threshold} (default: @code{100})"
msgstr "@code{opus-threshold}(默认值:@code{100})"

#. type: table
#: guix-git/doc/guix.texi:30384
#, fuzzy
msgid "Percentage of clients that need to support opus before switching over to opus audio codec."
msgstr "在切换到opus音频编解码器之前,需要支持opus的客户端百分比。"

#. type: item
#: guix-git/doc/guix.texi:30385
#, fuzzy, no-wrap
msgid "@code{channel-nesting-limit} (default: @code{10})"
msgstr "@code{channel-nesting-limit}(默认值:@code{10})"

#. type: table
#: guix-git/doc/guix.texi:30387
#, fuzzy
msgid "How deep channels can be nested at maximum."
msgstr "频道可以嵌套的最大深度。"

#. type: item
#: guix-git/doc/guix.texi:30388
#, fuzzy, no-wrap
msgid "@code{channelname-regex} (default: @code{#f})"
msgstr "@code{channelname-regex}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30390
#, fuzzy
msgid "A string in form of a Qt regular expression that channel names must conform to."
msgstr "频道名称必须符合的Qt正则表达式形式的字符串。"

#. type: item
#: guix-git/doc/guix.texi:30391
#, fuzzy, no-wrap
msgid "@code{username-regex} (default: @code{#f})"
msgstr "@code{username-regex}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30393
#, fuzzy
msgid "A string in form of a Qt regular expression that user names must conform to."
msgstr "用户名称必须符合的Qt正则表达式形式的字符串。"

#. type: item
#: guix-git/doc/guix.texi:30394
#, fuzzy, no-wrap
msgid "@code{text-message-length} (default: @code{5000})"
msgstr "@code{text-message-length}(默认值:@code{5000})"

#. type: table
#: guix-git/doc/guix.texi:30396
#, fuzzy
msgid "Maximum size in bytes that a user can send in one text chat message."
msgstr "用户在一条文本聊天消息中可以发送的最大字节数。"

#. type: item
#: guix-git/doc/guix.texi:30397
#, fuzzy, no-wrap
msgid "@code{image-message-length} (default: @code{(* 128 1024)})"
msgstr "@code{image-message-length}(默认值:@code{(* 128 1024)})"

#. type: table
#: guix-git/doc/guix.texi:30399
#, fuzzy
msgid "Maximum size in bytes that a user can send in one image message."
msgstr "用户在一条图像消息中可以发送的最大字节数。"

#. type: item
#: guix-git/doc/guix.texi:30400
#, fuzzy, no-wrap
msgid "@code{cert-required?} (default: @code{#f})"
msgstr "@code{cert-required?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30403
#, fuzzy
msgid "If it is set to @code{#t} clients that use weak password authentication will not be accepted.  Users must have completed the certificate wizard to join."
msgstr "如果设置为@code{#t},则使用弱密码身份验证的客户端将不被接受。用户必须完成证书向导才能加入。"

#. type: item
#: guix-git/doc/guix.texi:30404
#, fuzzy, no-wrap
msgid "@code{remember-channel?} (default: @code{#f})"
msgstr "@code{remember-channel?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30408
#, fuzzy
msgid "Should mumble-server remember the last channel each user was in when they disconnected and put them into the remembered channel when they rejoin."
msgstr "当用户断开连接时,mumble-server是否应记住他们最后所在的频道,并在他们重新加入时将其放入记住的频道。"

#. type: item
#: guix-git/doc/guix.texi:30409
#, fuzzy, no-wrap
msgid "@code{allow-html?} (default: @code{#f})"
msgstr "@code{allow-html?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30411
#, fuzzy
msgid "Should html be allowed in text messages, user comments, and channel descriptions."
msgstr "是否允许在文本消息、用户评论和频道描述中使用html。"

#. type: item
#: guix-git/doc/guix.texi:30412
#, fuzzy, no-wrap
msgid "@code{allow-ping?} (default: @code{#f})"
msgstr "@code{allow-ping?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30416
#, fuzzy
msgid "Setting to true exposes the current user count, the maximum user count, and the server's maximum bandwidth per client to unauthenticated users.  In the Mumble client, this information is shown in the Connect dialog."
msgstr "将设置为true会将当前用户数、最大用户数和每个客户端的服务器最大带宽暴露给未认证用户。在Mumble客户端中,此信息显示在连接对话框中。"

#. type: table
#: guix-git/doc/guix.texi:30418
#, fuzzy
msgid "Disabling this setting will prevent public listing of the server."
msgstr "禁用此设置将防止服务器公开列出。"

#. type: item
#: guix-git/doc/guix.texi:30419
#, fuzzy, no-wrap
msgid "@code{bonjour?} (default: @code{#f})"
msgstr "@code{bonjour?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30421
#, fuzzy
msgid "Should the server advertise itself in the local network through the bonjour protocol."
msgstr "服务器是否应通过bonjour协议在本地网络中进行自我广告。"

#. type: item
#: guix-git/doc/guix.texi:30422
#, fuzzy, no-wrap
msgid "@code{send-version?} (default: @code{#f})"
msgstr "@code{send-version?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30424
#, fuzzy
msgid "Should the mumble-server server version be exposed in ping requests."
msgstr "是否应在ping请求中暴露mumble-server服务器版本。"

#. type: item
#: guix-git/doc/guix.texi:30425
#, fuzzy, no-wrap
msgid "@code{log-days} (default: @code{31})"
msgstr "@code{log-days}(默认值:@code{31})"

#. type: table
#: guix-git/doc/guix.texi:30429
#, fuzzy
msgid "Mumble also stores logs in the database, which are accessible via RPC.  The default is 31 days of months, but you can set this setting to 0 to keep logs forever, or -1 to disable logging to the database."
msgstr "Mumble还将日志存储在数据库中,可以通过RPC访问。默认是31天,但您可以将此设置为0以永久保留日志,或-1以禁用日志记录到数据库。"

#. type: item
#: guix-git/doc/guix.texi:30430
#, fuzzy, no-wrap
msgid "@code{obfuscate-ips?} (default: @code{#t})"
msgstr "@code{obfuscate-ips?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:30432
#, fuzzy
msgid "Should logged ips be obfuscated to protect the privacy of users."
msgstr "是否应对记录的IP进行模糊处理以保护用户隐私。"

#. type: item
#: guix-git/doc/guix.texi:30433
#, fuzzy, no-wrap
msgid "@code{ssl-cert} (default: @code{#f})"
msgstr "@code{ssl-cert}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30435
#, fuzzy
msgid "File name of the SSL/TLS certificate used for encrypted connections."
msgstr "用于加密连接的SSL/TLS证书的文件名。"

#. type: lisp
#: guix-git/doc/guix.texi:30438
#, fuzzy, no-wrap
msgid "(ssl-cert \"/etc/certs/example.com/fullchain.pem\")\n"
msgstr "(ssl-cert \"/etc/certs/example.com/fullchain.pem\")\n"

#. type: item
#: guix-git/doc/guix.texi:30439
#, fuzzy, no-wrap
msgid "@code{ssl-key} (default: @code{#f})"
msgstr "@code{ssl-key}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30441
#, fuzzy
msgid "Filepath to the ssl private key used for encrypted connections."
msgstr "用于加密连接的ssl私钥的文件路径。"

#. type: lisp
#: guix-git/doc/guix.texi:30443
#, fuzzy, no-wrap
msgid "(ssl-key \"/etc/certs/example.com/privkey.pem\")\n"
msgstr "(ssl-key \"/etc/certs/example.com/privkey.pem\")\n"

#. type: item
#: guix-git/doc/guix.texi:30445
#, fuzzy, no-wrap
msgid "@code{ssl-dh-params} (default: @code{#f})"
msgstr "@code{ssl-dh-params}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30450
#, fuzzy
msgid "File name of a PEM-encoded file with Diffie-Hellman parameters for the SSL/TLS encryption.  Alternatively you set it to @code{\"@@ffdhe2048\"}, @code{\"@@ffdhe3072\"}, @code{\"@@ffdhe4096\"}, @code{\"@@ffdhe6144\"} or @code{\"@@ffdhe8192\"} to use bundled parameters from RFC 7919."
msgstr "包含Diffie-Hellman参数的PEM编码文件的文件名,用于SSL/TLS加密。您也可以将其设置为@code{\"@@ffdhe2048\"}, @code{\"@@ffdhe3072\"}, @code{\"@@ffdhe4096\"}, @code{\"@@ffdhe6144\"}或@code{\"@@ffdhe8192\"}以使用RFC 7919中的捆绑参数。"

#. type: item
#: guix-git/doc/guix.texi:30451
#, fuzzy, no-wrap
msgid "@code{ssl-ciphers} (default: @code{#f})"
msgstr "@code{ssl-ciphers}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30454
#, fuzzy
msgid "The @code{ssl-ciphers} option chooses the cipher suites to make available for use in SSL/TLS."
msgstr "@code{ssl-ciphers}选项选择可用于SSL/TLS的密码套件。"

#. type: table
#: guix-git/doc/guix.texi:30458
#, fuzzy
msgid "This option is specified using @uref{https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT, OpenSSL cipher list notation}."
msgstr "此选项使用@uref{https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT, OpenSSL密码列表表示法}指定。"

#. type: table
#: guix-git/doc/guix.texi:30465
#, fuzzy
msgid "It is recommended that you try your cipher string using 'openssl ciphers <string>' before setting it here, to get a feel for which cipher suites you will get.  After setting this option, it is recommend that you inspect your Mumble server log to ensure that Mumble is using the cipher suites that you expected it to."
msgstr "建议您在此处设置之前,使用'openssl ciphers <string>'测试您的密码字符串,以了解您将获得哪些密码套件。设置此选项后,建议您检查Mumble服务器日志,以确保Mumble使用了您预期的密码套件。"

#. type: quotation
#: guix-git/doc/guix.texi:30469
#, fuzzy
msgid "Changing this option may impact the backwards compatibility of your Mumble-Server server, and can remove the ability for older Mumble clients to be able to connect to it."
msgstr "更改此选项可能会影响您的Mumble-Server服务器的向后兼容性,并可能会删除旧版Mumble客户端连接到它的能力。"

#. type: item
#: guix-git/doc/guix.texi:30471
#, fuzzy, no-wrap
msgid "@code{public-registration} (default: @code{#f})"
msgstr "@code{public-registration}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30474
#, fuzzy
msgid "Must be a @code{<mumble-server-public-registration-configuration>} record or @code{#f}."
msgstr "必须是@code{<mumble-server-public-registration-configuration>}记录或@code{#f}。"

#. type: table
#: guix-git/doc/guix.texi:30479
#, fuzzy
msgid "You can optionally register your server in the public server list that the @code{mumble} client shows on startup.  You cannot register your server if you have set a @code{server-password}, or set @code{allow-ping} to @code{#f}."
msgstr "您可以选择性地在@code{mumble}客户端启动时显示的公共服务器列表中注册您的服务器。如果您设置了@code{server-password}或将@code{allow-ping}设置为@code{#f},则无法注册您的服务器。"

#. type: table
#: guix-git/doc/guix.texi:30481
#, fuzzy
msgid "It might take a few hours until it shows up in the public list."
msgstr "可能需要几个小时才能在公共列表中显示。"

#. type: item
#: guix-git/doc/guix.texi:30482 guix-git/doc/guix.texi:33078
#, fuzzy, no-wrap
msgid "@code{file} (default: @code{#f})"
msgstr "@code{file}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30484
#, fuzzy
msgid "Optional alternative override for this configuration."
msgstr "此配置的可选替代覆盖。"

#. type: deftp
#: guix-git/doc/guix.texi:30487
#, fuzzy, no-wrap
msgid "{Data Type} mumble-server-public-registration-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:30489
#, fuzzy
msgid "Configuration for public registration of a mumble-server service."
msgstr "mumble-server服务的公共注册配置。"

#. type: table
#: guix-git/doc/guix.texi:30493
#, fuzzy
msgid "This is a display name for your server.  Not to be confused with the hostname."
msgstr "这是您服务器的显示名称。不要与主机名混淆。"

#. type: itemx
#: guix-git/doc/guix.texi:30494 guix-git/doc/guix.texi:41071
#: guix-git/doc/guix.texi:43739
#, fuzzy, no-wrap
msgid "password"
msgstr "密码"

#. type: table
#: guix-git/doc/guix.texi:30497
#, fuzzy
msgid "A password to identify your registration.  Subsequent updates will need the same password.  Don't lose your password."
msgstr "用于识别您注册的密码。后续更新将需要相同的密码。请勿丢失您的密码。"

#. type: table
#: guix-git/doc/guix.texi:30501
#, fuzzy
msgid "This should be a @code{http://} or @code{https://} link to your web site."
msgstr "这应该是指向您网站的@code{http://}或@code{https://}链接。"

#. type: item
#: guix-git/doc/guix.texi:30502
#, fuzzy, no-wrap
msgid "@code{hostname} (default: @code{#f})"
msgstr "@code{hostname}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:30505
#, fuzzy
msgid "By default your server will be listed by its IP address.  If it is set your server will be linked by this host name instead."
msgstr "默认情况下,您的服务器将按其IP地址列出。如果设置了,您的服务器将通过此主机名链接。"

#. type: quotation
#: guix-git/doc/guix.texi:30508
#, fuzzy, no-wrap
msgid "Deprecation notice"
msgstr "弃用通知"

#. type: quotation
#: guix-git/doc/guix.texi:30513
#, fuzzy
msgid "Due to historical reasons, all of the above @code{mumble-server-} procedures are also exported with the @code{murmur-} prefix.  It is recommended that you switch to using @code{mumble-server-} going forward."
msgstr "由于历史原因,上述所有@code{mumble-server-}过程也以@code{murmur-}前缀导出。建议您今后切换使用@code{mumble-server-}。"

#. type: Plain text
#: guix-git/doc/guix.texi:30520
#, fuzzy
msgid "The @code{(gnu services file-sharing)} module provides services that assist with transferring files over peer-to-peer file-sharing networks."
msgstr "@code{(gnu services file-sharing)}模块提供帮助在点对点文件共享网络上转移文件的服务。"

#. type: subsubheading
#: guix-git/doc/guix.texi:30521
#, fuzzy, no-wrap
msgid "Transmission Daemon Service"
msgstr "版本控制服务"

#. type: Plain text
#: guix-git/doc/guix.texi:30529
#, fuzzy
msgid "@uref{https://transmissionbt.com/, Transmission} is a flexible BitTorrent client that offers a variety of graphical and command-line interfaces.  A @code{transmission-daemon-service-type} service provides Transmission's headless variant, @command{transmission-daemon}, as a system service, allowing users to share files via BitTorrent even when they are not logged in."
msgstr "@uref{https://transmissionbt.com/, Transmission}是一个灵活的BitTorrent客户端,提供多种图形和命令行界面。@code{transmission-daemon-service-type}服务提供Transmission的无头变体@command{transmission-daemon},作为系统服务,允许用户在未登录时通过BitTorrent共享文件。"

#. type: defvar
#: guix-git/doc/guix.texi:30530
#, fuzzy, no-wrap
msgid "transmission-daemon-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:30534
#, fuzzy
msgid "The service type for the Transmission Daemon BitTorrent client. Its value must be a @code{transmission-daemon-configuration} object as in this example:"
msgstr "Transmission Daemon BitTorrent客户端的服务类型。其值必须是@code{transmission-daemon-configuration}对象,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:30545
#, fuzzy, no-wrap
msgid ""
"(service transmission-daemon-service-type\n"
"         (transmission-daemon-configuration\n"
"          ;; Restrict access to the RPC (\"control\") interface\n"
"          (rpc-authentication-required? #t)\n"
"          (rpc-username \"transmission\")\n"
"          (rpc-password\n"
"           (transmission-password-hash\n"
"            \"transmission\" ; desired password\n"
"            \"uKd1uMs9\"))   ; arbitrary salt value\n"
"\n"
msgstr ""
"(service transmission-daemon-service-type\n"
"         (transmission-daemon-configuration\n"
"          ;; 限制对RPC(“控制”)接口的访问\n"
"          (rpc-authentication-required? #t)\n"
"          (rpc-username \"transmission\")\n"
"          (rpc-password\n"
"           (transmission-password-hash\n"
"            \"transmission\" ; 所需密码\n"
"            \"uKd1uMs9\"))   ; 任意盐值\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:30550
#, fuzzy, no-wrap
msgid ""
"          ;; Accept requests from this and other hosts on the\n"
"          ;; local network\n"
"          (rpc-whitelist-enabled? #t)\n"
"          (rpc-whitelist '(\"::1\" \"127.0.0.1\" \"192.168.0.*\"))\n"
"\n"
msgstr ""
"          ;; 接受来自本地主机和其他主机的请求\n"
"          ;; 本地网络\n"
"          (rpc-whitelist-enabled? #t)\n"
"          (rpc-whitelist '(\"::1\" \"127.0.0.1\" \"192.168.0.*\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:30554
#, fuzzy, no-wrap
msgid ""
"          ;; Limit bandwidth use during work hours\n"
"          (alt-speed-down (* 1024 2)) ;   2 MB/s\n"
"          (alt-speed-up 512)          ; 512 kB/s\n"
"\n"
msgstr ""
"          ;; 在工作时间限制带宽使用\n"
"          (alt-speed-down (* 1024 2)) ;   2 MB/s\n"
"          (alt-speed-up 512)          ; 512 kB/s\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:30561
#, fuzzy, no-wrap
msgid ""
"          (alt-speed-time-enabled? #t)\n"
"          (alt-speed-time-day 'weekdays)\n"
"          (alt-speed-time-begin\n"
"           (+ (* 60 8) 30))           ; 8:30 am\n"
"          (alt-speed-time-end\n"
"           (+ (* 60 (+ 12 5)) 30))))  ; 5:30 pm\n"
msgstr ""
"          (alt-speed-time-enabled? #t)\n"
"          (alt-speed-time-day 'weekdays)\n"
"          (alt-speed-time-begin\n"
"           (+ (* 60 8) 30))           ; 上午8:30\n"
"          (alt-speed-time-end\n"
"           (+ (* 60 (+ 12 5)) 30))))  ; 下午5:30\n"

#. type: Plain text
#: guix-git/doc/guix.texi:30574
#, fuzzy
msgid "Once the service is started, users can interact with the daemon through its Web interface (at @code{http://localhost:9091/}) or by using the @command{transmission-remote} command-line tool, available in the @code{transmission} package.  (Emacs users may want to also consider the @code{emacs-transmission} package.)  Both communicate with the daemon through its remote procedure call (RPC) interface, which by default is available to all users on the system; you may wish to change this by assigning values to the @code{rpc-authentication-required?}, @code{rpc-username} and @code{rpc-password} settings, as shown in the example above and documented further below."
msgstr "服务启动后,用户可以通过其Web界面(在@code{http://localhost:9091/})或使用@command{transmission-remote}命令行工具与守护进程交互,该工具可在@code{transmission}包中获得。(Emacs用户可能还想考虑@code{emacs-transmission}包。)两者通过其远程过程调用(RPC)接口与守护进程通信,默认情况下,所有系统用户均可使用;您可能希望通过为@code{rpc-authentication-required?}、@code{rpc-username}和@code{rpc-password}设置分配值来更改此设置,如上面的示例所示,并在下面进一步记录。"

#. type: Plain text
#: guix-git/doc/guix.texi:30582
#, fuzzy
msgid "The value for @code{rpc-password} must be a password hash of the type generated and used by Transmission clients.  This can be copied verbatim from an existing @file{settings.json} file, if another Transmission client is already being used.  Otherwise, the @code{transmission-password-hash} and @code{transmission-random-salt} procedures provided by this module can be used to obtain a suitable hash value."
msgstr "@code{rpc-password}的值必须是Transmission客户端生成和使用的密码哈希类型。如果已经在使用其他Transmission客户端,可以从现有的@file{settings.json}文件中逐字复制此值。否则,可以使用本模块提供的@code{transmission-password-hash}和@code{transmission-random-salt}过程来获得合适的哈希值。"

#. type: deffn
#: guix-git/doc/guix.texi:30583
#, fuzzy, no-wrap
msgid "{Procedure} transmission-password-hash password salt"
msgstr "{Procedure} transmission-password-hash 密码 盐"

#. type: deffn
#: guix-git/doc/guix.texi:30587
#, fuzzy
msgid "Returns a string containing the result of hashing @var{password} together with @var{salt}, in the format recognized by Transmission clients for their @code{rpc-password} configuration setting."
msgstr "返回一个字符串,包含将@var{password}与@var{salt}一起哈希的结果,格式为Transmission客户端识别的@code{rpc-password}配置设置。"

#. type: deffn
#: guix-git/doc/guix.texi:30591
#, fuzzy
msgid "@var{salt} must be an eight-character string.  The @code{transmission-random-salt} procedure can be used to generate a suitable salt value at random."
msgstr "@var{salt}必须是一个八字符字符串。可以使用@code{transmission-random-salt}过程随机生成合适的盐值。"

#. type: deffn
#: guix-git/doc/guix.texi:30593
#, fuzzy, no-wrap
msgid "{Procedure} transmission-random-salt"
msgstr "邮件服务"

#. type: deffn
#: guix-git/doc/guix.texi:30597
#, fuzzy
msgid "Returns a string containing a random, eight-character salt value of the type generated and used by Transmission clients, suitable for passing to the @code{transmission-password-hash} procedure."
msgstr "返回一个包含随机的八字符盐值的字符串,该盐值由 Transmission 客户端生成并使用,适合传递给 @code{transmission-password-hash} 过程。"

#. type: Plain text
#: guix-git/doc/guix.texi:30603
#, fuzzy
msgid "These procedures are accessible from within a Guile REPL started with the @command{guix repl} command (@pxref{Invoking guix repl}).  This is useful for obtaining a random salt value to provide as the second parameter to `transmission-password-hash`, as in this example session:"
msgstr "这些过程可以从使用 @command{guix repl} 命令启动的 Guile REPL 中访问 (@pxref{Invoking guix repl})。这对于获取随机盐值以作为 `transmission-password-hash` 的第二个参数非常有用,如以下示例会话所示:"

#. type: example
#: guix-git/doc/guix.texi:30609
#, fuzzy, no-wrap
msgid ""
"$ guix repl\n"
"scheme@@(guix-user)> ,use (gnu services file-sharing)\n"
"scheme@@(guix-user)> (transmission-random-salt)\n"
"$1 = \"uKd1uMs9\"\n"
msgstr ""
"$ guix repl\n"
"scheme@@(guix-user)> ,use (gnu services file-sharing)\n"
"scheme@@(guix-user)> (transmission-random-salt)\n"
"$1 = \"uKd1uMs9\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:30612
#, fuzzy
msgid "Alternatively, a complete password hash can generated in a single step:"
msgstr "或者,可以在一步中生成完整的密码哈希:"

#. type: example
#: guix-git/doc/guix.texi:30617
#, fuzzy, no-wrap
msgid ""
"scheme@@(guix-user)> (transmission-password-hash \"transmission\"\n"
"(transmission-random-salt))\n"
"$2 = \"@{c8bbc6d1740cd8dc819a6e25563b67812c1c19c9VtFPfdsX\"\n"
msgstr ""
"scheme@@(guix-user)> (transmission-password-hash \"transmission\"\n"
"(transmission-random-salt))\n"
"$2 = \"@{c8bbc6d1740cd8dc819a6e25563b67812c1c19c9VtFPfdsX\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:30622
#, fuzzy
msgid "The resulting string can be used as-is for the value of @code{rpc-password}, allowing the password to be kept hidden even in the operating-system configuration."
msgstr "生成的字符串可以直接用作 @code{rpc-password} 的值,从而使密码即使在操作系统配置中也保持隐藏。"

#. type: Plain text
#: guix-git/doc/guix.texi:30631
#, fuzzy
msgid "Torrent files downloaded by the daemon are directly accessible only to users in the ``transmission'' user group, who receive read-only access to the directory specified by the @code{download-dir} configuration setting (and also the directory specified by @code{incomplete-dir}, if @code{incomplete-dir-enabled?} is @code{#t}).  Downloaded files can be moved to another directory or deleted altogether using @command{transmission-remote} with its @code{--move} and @code{--remove-and-delete} options."
msgstr "由守护进程下载的 Torrent 文件仅对 ``transmission'' 用户组中的用户直接可访问,这些用户对 @code{download-dir} 配置设置指定的目录具有只读访问权限(如果 @code{incomplete-dir-enabled?} 为 @code{#t},则也包括 @code{incomplete-dir} 指定的目录)。下载的文件可以使用 @command{transmission-remote} 的 @code{--move} 和 @code{--remove-and-delete} 选项移动到另一个目录或完全删除。"

#. type: Plain text
#: guix-git/doc/guix.texi:30638
#, fuzzy
msgid "If the @code{watch-dir-enabled?} setting is set to @code{#t}, users in the ``transmission'' group are able also to place @file{.torrent} files in the directory specified by @code{watch-dir} to have the corresponding torrents added by the daemon.  (The @code{trash-original-torrent-files?} setting controls whether the daemon deletes these files after processing them.)"
msgstr "如果 @code{watch-dir-enabled?} 设置为 @code{#t},则 ``transmission'' 组中的用户也可以将 @file{.torrent} 文件放入 @code{watch-dir} 指定的目录,以便守护进程添加相应的种子。(@code{trash-original-torrent-files?} 设置控制守护进程在处理这些文件后是否删除它们。)"

#. type: Plain text
#: guix-git/doc/guix.texi:30643
#, fuzzy
msgid "Some of the daemon's configuration settings can be changed temporarily by @command{transmission-remote} and similar tools. To undo these changes, use the service's @code{reload} action to have the daemon reload its settings from disk:"
msgstr "守护进程的一些配置设置可以通过 @command{transmission-remote} 和类似工具暂时更改。要撤销这些更改,请使用服务的 @code{reload} 操作,让守护进程从磁盘重新加载其设置:"

#. type: example
#: guix-git/doc/guix.texi:30646
#, fuzzy, no-wrap
msgid "# herd reload transmission-daemon\n"
msgstr "# 重新加载 transmission-daemon\n"

#. type: Plain text
#: guix-git/doc/guix.texi:30650
#, fuzzy
msgid "The full set of available configuration settings is defined by the @code{transmission-daemon-configuration} data type."
msgstr "可用配置设置的完整集合由 @code{transmission-daemon-configuration} 数据类型定义。"

#. type: deftp
#: guix-git/doc/guix.texi:30651
#, fuzzy, no-wrap
msgid "{Data Type} transmission-daemon-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:30655
#, fuzzy
msgid "The data type representing configuration settings for Transmission Daemon.  These correspond directly to the settings recognized by Transmission clients in their @file{settings.json} file."
msgstr "表示 Transmission Daemon 配置设置的数据类型。这些设置与 Transmission 客户端在其 @file{settings.json} 文件中识别的设置直接对应。"

#. type: Plain text
#: guix-git/doc/guix.texi:30669
#, fuzzy
msgid "Available @code{transmission-daemon-configuration} fields are:"
msgstr "可用的 @code{transmission-daemon-configuration} 字段包括:"

#. type: deftypevr
#: guix-git/doc/guix.texi:30670
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} package transmission"
msgstr "{@code{transmission-daemon-configuration} 参数} 包 transmission"

#. type: deftypevr
#: guix-git/doc/guix.texi:30672
#, fuzzy
msgid "The Transmission package to use."
msgstr "软件包数据类型。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30675
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer stop-wait-period"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 stop-wait-period"

#. type: deftypevr
#: guix-git/doc/guix.texi:30681
#, fuzzy
msgid "The period, in seconds, to wait when stopping the service for @command{transmission-daemon} to exit before killing its process.  This allows the daemon time to complete its housekeeping and send a final update to trackers as it shuts down.  On slow hosts, or hosts with a slow network connection, this value may need to be increased."
msgstr "停止 @command{transmission-daemon} 服务时等待的时间(以秒为单位),在杀死其进程之前。这允许守护进程有时间完成其日常维护,并在关闭时向跟踪器发送最终更新。在慢速主机或网络连接缓慢的主机上,此值可能需要增加。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30683 guix-git/doc/guix.texi:31055
#: guix-git/doc/guix.texi:39813 guix-git/doc/guix.texi:40049
#: guix-git/doc/guix.texi:40057 guix-git/doc/guix.texi:40065
#, fuzzy
msgid "Defaults to @samp{10}."
msgstr "默认为 @samp{10}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30686
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} string download-dir"
msgstr "{@code{transmission-daemon-configuration} 参数} 字符串 download-dir"

#. type: deftypevr
#: guix-git/doc/guix.texi:30688
#, fuzzy
msgid "The directory to which torrent files are downloaded."
msgstr "下载种子文件的目录。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30690
#, fuzzy
msgid "Defaults to @samp{\"/var/lib/transmission-daemon/downloads\"}."
msgstr "默认为 @samp{\"/var/lib/transmission-daemon/downloads\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30693
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean incomplete-dir-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 incomplete-dir-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:30698
#, fuzzy
msgid "If @code{#t}, files will be held in @code{incomplete-dir} while their torrent is being downloaded, then moved to @code{download-dir} once the torrent is complete.  Otherwise, files for all torrents (including those still being downloaded) will be placed in @code{download-dir}."
msgstr "如果 @code{#t},文件将在 @code{incomplete-dir} 中保留,直到其种子下载完成,然后移动到 @code{download-dir}。否则,所有种子的文件(包括仍在下载的文件)将放置在 @code{download-dir} 中。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30703
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} maybe-string incomplete-dir"
msgstr "{@code{transmission-daemon-configuration} 参数} 可能是字符串 incomplete-dir"

#. type: deftypevr
#: guix-git/doc/guix.texi:30706
#, fuzzy
msgid "The directory in which files from incompletely downloaded torrents will be held when @code{incomplete-dir-enabled?} is @code{#t}."
msgstr "当 @code{incomplete-dir-enabled?} 为 @code{#t} 时,来自未完全下载的种子的文件将保留在此目录中。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30708 guix-git/doc/guix.texi:30752
#: guix-git/doc/guix.texi:30965 guix-git/doc/guix.texi:31021
#: guix-git/doc/guix.texi:31195 guix-git/doc/guix.texi:31206
#: guix-git/doc/guix.texi:31279 guix-git/doc/guix.texi:32153
#: guix-git/doc/guix.texi:32196 guix-git/doc/guix.texi:32204
#: guix-git/doc/guix.texi:32212 guix-git/doc/guix.texi:32220
#: guix-git/doc/guix.texi:32229 guix-git/doc/guix.texi:32237
#: guix-git/doc/guix.texi:32244 guix-git/doc/guix.texi:32252
#: guix-git/doc/guix.texi:32260 guix-git/doc/guix.texi:32270
#: guix-git/doc/guix.texi:32277 guix-git/doc/guix.texi:32301
#: guix-git/doc/guix.texi:32309 guix-git/doc/guix.texi:32335
#: guix-git/doc/guix.texi:32344 guix-git/doc/guix.texi:32353
#: guix-git/doc/guix.texi:32362 guix-git/doc/guix.texi:32371
#: guix-git/doc/guix.texi:32380 guix-git/doc/guix.texi:32388
#: guix-git/doc/guix.texi:32396 guix-git/doc/guix.texi:32403
#: guix-git/doc/guix.texi:32411 guix-git/doc/guix.texi:32418
#: guix-git/doc/guix.texi:32426 guix-git/doc/guix.texi:32434
#: guix-git/doc/guix.texi:32443 guix-git/doc/guix.texi:32452
#: guix-git/doc/guix.texi:32460 guix-git/doc/guix.texi:32468
#: guix-git/doc/guix.texi:32476 guix-git/doc/guix.texi:32487
#: guix-git/doc/guix.texi:32497 guix-git/doc/guix.texi:32508
#: guix-git/doc/guix.texi:32517 guix-git/doc/guix.texi:32527
#: guix-git/doc/guix.texi:32535 guix-git/doc/guix.texi:32546
#: guix-git/doc/guix.texi:32555 guix-git/doc/guix.texi:32565
#: guix-git/doc/guix.texi:36378 guix-git/doc/guix.texi:36385
#: guix-git/doc/guix.texi:36392 guix-git/doc/guix.texi:36399
#: guix-git/doc/guix.texi:36406 guix-git/doc/guix.texi:36413
#: guix-git/doc/guix.texi:36421 guix-git/doc/guix.texi:36429
#: guix-git/doc/guix.texi:36436 guix-git/doc/guix.texi:36443
#: guix-git/doc/guix.texi:36450 guix-git/doc/guix.texi:36457
#: guix-git/doc/guix.texi:36487 guix-git/doc/guix.texi:36525
#: guix-git/doc/guix.texi:36532 guix-git/doc/guix.texi:36541
#: guix-git/doc/guix.texi:36563 guix-git/doc/guix.texi:36571
#: guix-git/doc/guix.texi:36578 guix-git/doc/guix.texi:36607
#: guix-git/doc/guix.texi:36614 guix-git/doc/guix.texi:36621
#: guix-git/doc/guix.texi:36628 guix-git/doc/guix.texi:36761
#: guix-git/doc/guix.texi:36781 guix-git/doc/guix.texi:36796
#: guix-git/doc/guix.texi:36803 guix-git/doc/guix.texi:40186
#: guix-git/doc/guix.texi:40194 guix-git/doc/guix.texi:40202
#: guix-git/doc/guix.texi:40210 guix-git/doc/guix.texi:40218
#: guix-git/doc/guix.texi:40226
#, fuzzy
msgid "Defaults to @samp{disabled}."
msgstr "默认为 @samp{禁用}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30711
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} umask umask"
msgstr "{@code{transmission-daemon-configuration} 参数} umask umask"

#. type: deftypevr
#: guix-git/doc/guix.texi:30714
#, fuzzy
msgid "The file mode creation mask used for downloaded files.  (See the @command{umask} man page for more information.)"
msgstr "用于下载文件的文件模式创建掩码。(有关更多信息,请参见 @command{umask} 手册页。)"

#. type: deftypevr
#: guix-git/doc/guix.texi:30716
#, fuzzy
msgid "Defaults to @samp{18}."
msgstr "默认为 @samp{18}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30719
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean rename-partial-files?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 rename-partial-files?"

#. type: deftypevr
#: guix-git/doc/guix.texi:30722
#, fuzzy
msgid "When @code{#t}, ``.part'' is appended to the name of partially downloaded files."
msgstr "当 @code{#t} 时,部分下载文件的名称后会附加 ``.part''。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30727
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} preallocation-mode preallocation"
msgstr "{@code{transmission-daemon-configuration} 参数} 预分配模式 预分配"

#. type: deftypevr
#: guix-git/doc/guix.texi:30732
#, fuzzy
msgid "The mode by which space should be preallocated for downloaded files, one of @code{none}, @code{fast} (or @code{sparse}) and @code{full}.  Specifying @code{full} will minimize disk fragmentation at a cost to file-creation speed."
msgstr "用于为下载文件预分配空间的模式之一,@code{none}、@code{fast}(或 @code{sparse})和 @code{full}。指定 @code{full} 将在文件创建速度上有所牺牲,但可以最小化磁盘碎片。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30734
#, fuzzy
msgid "Defaults to @samp{fast}."
msgstr "默认为 @samp{fast}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30737
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean watch-dir-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 watch-dir-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:30742
#, fuzzy
msgid "If @code{#t}, the directory specified by @code{watch-dir} will be watched for new @file{.torrent} files and the torrents they describe added automatically (and the original files removed, if @code{trash-original-torrent-files?} is @code{#t})."
msgstr "如果 @code{#t},则指定的 @code{watch-dir} 目录将被监视以查找新的 @file{.torrent} 文件,并自动添加它们所描述的种子(如果 @code{trash-original-torrent-files?} 为 @code{#t},则原始文件将被删除)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30747
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} maybe-string watch-dir"
msgstr "{@code{transmission-daemon-configuration} 参数} 可能的字符串 watch-dir"

#. type: deftypevr
#: guix-git/doc/guix.texi:30750
#, fuzzy
msgid "The directory to be watched for @file{.torrent} files indicating new torrents to be added, when @code{watch-dir-enabled} is @code{#t}."
msgstr "要监视的目录,用于 @file{.torrent} 文件,指示在 @code{watch-dir-enabled} 为 @code{#t} 时要添加的新种子。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30755
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean trash-original-torrent-files?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 trash-original-torrent-files?"

#. type: deftypevr
#: guix-git/doc/guix.texi:30759
#, fuzzy
msgid "When @code{#t}, @file{.torrent} files will be deleted from the watch directory once their torrent has been added (see @code{watch-directory-enabled?})."
msgstr "当 @code{#t} 时,一旦其种子被添加,@file{.torrent} 文件将从监视目录中删除(请参见 @code{watch-directory-enabled?})。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30764
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean speed-limit-down-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 speed-limit-down-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:30767
#, fuzzy
msgid "When @code{#t}, the daemon's download speed will be limited to the rate specified by @code{speed-limit-down}."
msgstr "当 @code{#t} 时,守护进程的下载速度将限制在 @code{speed-limit-down} 指定的速率。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30772
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer speed-limit-down"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 speed-limit-down"

#. type: deftypevr
#: guix-git/doc/guix.texi:30774
#, fuzzy
msgid "The default global-maximum download speed, in kilobytes per second."
msgstr "默认的全局最大下载速度,以千字节每秒为单位。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30779
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean speed-limit-up-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 speed-limit-up-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:30782
#, fuzzy
msgid "When @code{#t}, the daemon's upload speed will be limited to the rate specified by @code{speed-limit-up}."
msgstr "当 @code{#t} 时,守护进程的上传速度将限制在 @code{speed-limit-up} 指定的速率。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30787
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer speed-limit-up"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 speed-limit-up"

#. type: deftypevr
#: guix-git/doc/guix.texi:30789
#, fuzzy
msgid "The default global-maximum upload speed, in kilobytes per second."
msgstr "默认的全局最大上传速度,以千字节每秒为单位。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30794
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean alt-speed-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 alt-speed-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:30800
#, fuzzy
msgid "When @code{#t}, the alternate speed limits @code{alt-speed-down} and @code{alt-speed-up} are used (in place of @code{speed-limit-down} and @code{speed-limit-up}, if they are enabled) to constrain the daemon's bandwidth usage.  This can be scheduled to occur automatically at certain times during the week; see @code{alt-speed-time-enabled?}."
msgstr "当 @code{#t} 时,使用备用速度限制 @code{alt-speed-down} 和 @code{alt-speed-up}(如果它们被启用,则替代 @code{speed-limit-down} 和 @code{speed-limit-up})来限制守护进程的带宽使用。这可以安排在一周中的某些时间自动发生;请参见 @code{alt-speed-time-enabled?}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30805
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer alt-speed-down"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 alt-speed-down"

#. type: deftypevr
#: guix-git/doc/guix.texi:30807
#, fuzzy
msgid "The alternate global-maximum download speed, in kilobytes per second."
msgstr "备用全局最大下载速度,以千字节每秒为单位。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30809 guix-git/doc/guix.texi:30816
#: guix-git/doc/guix.texi:30988 guix-git/doc/guix.texi:39820
#: guix-git/doc/guix.texi:39835
#, fuzzy
msgid "Defaults to @samp{50}."
msgstr "默认为 @samp{50}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30812
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer alt-speed-up"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 alt-speed-up"

#. type: deftypevr
#: guix-git/doc/guix.texi:30814
#, fuzzy
msgid "The alternate global-maximum upload speed, in kilobytes per second."
msgstr "备用全局最大上传速度,以千字节每秒为单位。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30819
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean alt-speed-time-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 alt-speed-time-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:30824
#, fuzzy
msgid "When @code{#t}, the alternate speed limits @code{alt-speed-down} and @code{alt-speed-up} will be enabled automatically during the periods specified by @code{alt-speed-time-day}, @code{alt-speed-time-begin} and @code{alt-time-speed-end}."
msgstr "当 @code{#t} 时,备用速度限制 @code{alt-speed-down} 和 @code{alt-speed-up} 将在 @code{alt-speed-time-day}、@code{alt-speed-time-begin} 和 @code{alt-speed-time-end} 指定的时间段内自动启用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30829
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} day-list alt-speed-time-day"
msgstr "{@code{transmission-daemon-configuration} 参数} 天数列表 alt-speed-time-day"

#. type: deftypevr
#: guix-git/doc/guix.texi:30834
#, fuzzy
msgid "The days of the week on which the alternate-speed schedule should be used, specified either as a list of days (@code{sunday}, @code{monday}, and so on) or using one of the symbols @code{weekdays}, @code{weekends} or @code{all}."
msgstr "应使用备用速度计划的星期几,可以指定为天数列表(@code{sunday}、@code{monday} 等)或使用符号 @code{weekdays}、@code{weekends} 或 @code{all}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30836
#, fuzzy
msgid "Defaults to @samp{all}."
msgstr "默认为 @samp{all}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30839
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer alt-speed-time-begin"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 alt-speed-time-begin"

#. type: deftypevr
#: guix-git/doc/guix.texi:30842
#, fuzzy
msgid "The time of day at which to enable the alternate speed limits, expressed as a number of minutes since midnight."
msgstr "启用备用速度限制的时间,以午夜以来的分钟数表示。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30844
#, fuzzy
msgid "Defaults to @samp{540}."
msgstr "默认为 @samp{540}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30847
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer alt-speed-time-end"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 alt-speed-time-end"

#. type: deftypevr
#: guix-git/doc/guix.texi:30850
#, fuzzy
msgid "The time of day at which to disable the alternate speed limits, expressed as a number of minutes since midnight."
msgstr "禁用备用速度限制的时间,以午夜以来的分钟数表示。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30852
#, fuzzy
msgid "Defaults to @samp{1020}."
msgstr "默认为 @samp{1020}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30855
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} string bind-address-ipv4"
msgstr "{@code{transmission-daemon-configuration} 参数} 字符串 bind-address-ipv4"

#. type: deftypevr
#: guix-git/doc/guix.texi:30858
#, fuzzy
msgid "The IP address at which to listen for peer connections, or ``0.0.0.0'' to listen at all available IP addresses."
msgstr "监听对等连接的 IP 地址,或 ``0.0.0.0'' 以监听所有可用的 IP 地址。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30860 guix-git/doc/guix.texi:31163
#: guix-git/doc/guix.texi:37361
#, fuzzy
msgid "Defaults to @samp{\"0.0.0.0\"}."
msgstr "默认为 @samp{\"0.0.0.0\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30863
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} string bind-address-ipv6"
msgstr "{@code{transmission-daemon-configuration} 参数} 字符串 bind-address-ipv6"

#. type: deftypevr
#: guix-git/doc/guix.texi:30866
#, fuzzy
msgid "The IPv6 address at which to listen for peer connections, or ``::'' to listen at all available IPv6 addresses."
msgstr "监听对等连接的 IPv6 地址,或 ``::'' 以监听所有可用的 IPv6 地址。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30868
#, fuzzy
msgid "Defaults to @samp{\"::\"}."
msgstr "默认为 @samp{\"::\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30871
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean peer-port-random-on-start?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 peer-port-random-on-start?"

#. type: deftypevr
#: guix-git/doc/guix.texi:30877
#, fuzzy
msgid "If @code{#t}, when the daemon starts it will select a port at random on which to listen for peer connections, from the range specified (inclusively) by @code{peer-port-random-low} and @code{peer-port-random-high}.  Otherwise, it listens on the port specified by @code{peer-port}."
msgstr "如果 @code{#t},当守护进程启动时,它将从 @code{peer-port-random-low} 和 @code{peer-port-random-high} 指定的范围内随机选择一个端口来监听对等连接。否则,它将监听 @code{peer-port} 指定的端口。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30882
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} port-number peer-port-random-low"
msgstr "{@code{transmission-daemon-configuration} 参数} 端口号 peer-port-random-low"

#. type: deftypevr
#: guix-git/doc/guix.texi:30885
#, fuzzy
msgid "The lowest selectable port number when @code{peer-port-random-on-start?} is @code{#t}."
msgstr "当 @code{peer-port-random-on-start?} 为 @code{#t} 时,最低可选端口号。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30887
#, fuzzy
msgid "Defaults to @samp{49152}."
msgstr "默认为 @samp{49152}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30890
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} port-number peer-port-random-high"
msgstr "{@code{transmission-daemon-configuration} 参数} 端口号 peer-port-random-high"

#. type: deftypevr
#: guix-git/doc/guix.texi:30893
#, fuzzy
msgid "The highest selectable port number when @code{peer-port-random-on-start} is @code{#t}."
msgstr "当 @code{peer-port-random-on-start} 为 @code{#t} 时,最高可选端口号。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30895
#, fuzzy
msgid "Defaults to @samp{65535}."
msgstr "默认为 @samp{65535}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30898
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} port-number peer-port"
msgstr "{@code{transmission-daemon-configuration} 参数} 端口号 peer-port"

#. type: deftypevr
#: guix-git/doc/guix.texi:30901
#, fuzzy
msgid "The port on which to listen for peer connections when @code{peer-port-random-on-start?} is @code{#f}."
msgstr "当 @code{peer-port-random-on-start?} 为 @code{#f} 时,监听对等连接的端口。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30903
#, fuzzy
msgid "Defaults to @samp{51413}."
msgstr "默认为 @samp{51413}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30906
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean port-forwarding-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 port-forwarding-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:30910
#, fuzzy
msgid "If @code{#t}, the daemon will attempt to configure port-forwarding on an upstream gateway automatically using @acronym{UPnP} and @acronym{NAT-PMP}."
msgstr "如果 @code{#t},守护进程将尝试使用 @acronym{UPnP} 和 @acronym{NAT-PMP} 自动配置上游网关的端口转发。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30915
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} encryption-mode encryption"
msgstr "{@code{transmission-daemon-configuration} 参数} 加密模式 encryption"

#. type: deftypevr
#: guix-git/doc/guix.texi:30920
#, fuzzy
msgid "The encryption preference for peer connections, one of @code{prefer-unencrypted-connections}, @code{prefer-encrypted-connections} or @code{require-encrypted-connections}."
msgstr "对等连接的加密偏好,选择之一为 @code{prefer-unencrypted-connections}、@code{prefer-encrypted-connections} 或 @code{require-encrypted-connections}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30922
#, fuzzy
msgid "Defaults to @samp{prefer-encrypted-connections}."
msgstr "默认为 @samp{prefer-encrypted-connections}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30925
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} maybe-string peer-congestion-algorithm"
msgstr "{@code{transmission-daemon-configuration} 参数} 可能字符串 peer-congestion-algorithm"

#. type: deftypevr
#: guix-git/doc/guix.texi:30930
#, fuzzy
msgid "The TCP congestion-control algorithm to use for peer connections, specified using a string recognized by the operating system in calls to @code{setsockopt}.  When left unspecified, the operating-system default is used."
msgstr "用于对等连接的 TCP 拥塞控制算法,使用操作系统在调用 @code{setsockopt} 时识别的字符串指定。当未指定时,使用操作系统默认值。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30939
#, fuzzy
msgid "Note that on GNU/Linux systems, the kernel must be configured to allow processes to use a congestion-control algorithm not in the default set; otherwise, it will deny these requests with ``Operation not permitted''.  To see which algorithms are available on your system and which are currently permitted for use, look at the contents of the files @file{tcp_available_congestion_control} and @file{tcp_allowed_congestion_control} in the @file{/proc/sys/net/ipv4} directory."
msgstr "请注意,在 GNU/Linux 系统上,内核必须配置为允许进程使用不在默认集合中的拥塞控制算法;否则,它将以“操作不允许”拒绝这些请求。要查看系统上可用的算法以及当前允许使用的算法,请查看 @file{/proc/sys/net/ipv4} 目录下的 @file{tcp_available_congestion_control} 和 @file{tcp_allowed_congestion_control} 文件的内容。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30947
#, fuzzy
msgid "As an example, to have Transmission Daemon use @uref{http://www-ece.rice.edu/networks/TCP-LP/,the TCP Low Priority congestion-control algorithm}, you'll need to modify your kernel configuration to build in support for the algorithm, then update your operating-system configuration to allow its use by adding a @code{sysctl-service-type} service (or updating the existing one's configuration) with lines like the following:"
msgstr "例如,要让 Transmission Daemon 使用 @uref{http://www-ece.rice.edu/networks/TCP-LP/,TCP 低优先级拥塞控制算法},您需要修改内核配置以支持该算法,然后更新操作系统配置以允许其使用,通过添加 @code{sysctl-service-type} 服务(或更新现有服务的配置),并添加如下行:"

#. type: lisp
#: guix-git/doc/guix.texi:30954
#, fuzzy, no-wrap
msgid ""
"(service sysctl-service-type\n"
"         (sysctl-configuration\n"
"          (settings\n"
"           (\"net.ipv4.tcp_allowed_congestion_control\" .\n"
"            \"reno cubic lp\"))))\n"
msgstr ""
"(service sysctl-service-type\n"
"         (sysctl-configuration\n"
"          (settings\n"
"           (\"net.ipv4.tcp_allowed_congestion_control\" .\n"
"            \"reno cubic lp\"))))\n"

#. type: deftypevr
#: guix-git/doc/guix.texi:30957
#, fuzzy
msgid "The Transmission Daemon configuration can then be updated with"
msgstr "然后可以更新传输守护进程配置"

#. type: lisp
#: guix-git/doc/guix.texi:30960
#, fuzzy, no-wrap
msgid "(peer-congestion-algorithm \"lp\")\n"
msgstr "(peer-congestion-algorithm \"lp\")\n"

#. type: deftypevr
#: guix-git/doc/guix.texi:30963
#, fuzzy
msgid "and the system reconfigured to have the changes take effect."
msgstr "并重新配置系统以使更改生效。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30968
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} tcp-type-of-service peer-socket-tos"
msgstr "{@code{transmission-daemon-configuration} 参数} tcp-type-of-service peer-socket-tos"

#. type: deftypevr
#: guix-git/doc/guix.texi:30972
#, fuzzy
msgid "The type of service to request in outgoing @acronym{TCP} packets, one of @code{default}, @code{low-cost}, @code{throughput}, @code{low-delay} and @code{reliability}."
msgstr "请求在发出的 @acronym{TCP} 数据包中的服务类型,选项包括 @code{default}、@code{low-cost}、@code{throughput}、@code{low-delay} 和 @code{reliability}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30974
#, fuzzy
msgid "Defaults to @samp{default}."
msgstr "默认为 @samp{default}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30977
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer peer-limit-global"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 peer-limit-global"

#. type: deftypevr
#: guix-git/doc/guix.texi:30979
#, fuzzy
msgid "The global limit on the number of connected peers."
msgstr "连接对等体的全局限制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30981
#, fuzzy
msgid "Defaults to @samp{200}."
msgstr "默认为 @samp{200}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30984
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer peer-limit-per-torrent"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 peer-limit-per-torrent"

#. type: deftypevr
#: guix-git/doc/guix.texi:30986
#, fuzzy
msgid "The per-torrent limit on the number of connected peers."
msgstr "每个种子的连接对等体的限制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30991
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer upload-slots-per-torrent"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 upload-slots-per-torrent"

#. type: deftypevr
#: guix-git/doc/guix.texi:30994
#, fuzzy
msgid "The maximum number of peers to which the daemon will upload data simultaneously for each torrent."
msgstr "守护进程同时为每个种子上传数据的最大对等体数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30996
#, fuzzy
msgid "Defaults to @samp{14}."
msgstr "默认为 @samp{14}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:30999
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer peer-id-ttl-hours"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 peer-id-ttl-hours"

#. type: deftypevr
#: guix-git/doc/guix.texi:31002
#, fuzzy
msgid "The maximum lifespan, in hours, of the peer ID associated with each public torrent before it is regenerated."
msgstr "与每个公共种子关联的对等体 ID 的最大生命周期(以小时为单位),在重新生成之前。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31004
#, fuzzy
msgid "Defaults to @samp{6}."
msgstr "默认为 @samp{6}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31007
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean blocklist-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 blocklist-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31010
#, fuzzy
msgid "When @code{#t}, the daemon will ignore peers mentioned in the blocklist it has most recently downloaded from @code{blocklist-url}."
msgstr "当 @code{#t} 时,守护进程将忽略在最近从 @code{blocklist-url} 下载的黑名单中提到的对等体。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31015
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} maybe-string blocklist-url"
msgstr "{@code{transmission-daemon-configuration} 参数} 可能是字符串 blocklist-url"

#. type: deftypevr
#: guix-git/doc/guix.texi:31019
#, fuzzy
msgid "The URL of a peer blocklist (in @acronym{P2P}-plaintext or eMule @file{.dat} format) to be periodically downloaded and applied when @code{blocklist-enabled?} is @code{#t}."
msgstr "对等体黑名单的 URL(以 @acronym{P2P} 明文或 eMule @file{.dat} 格式)将定期下载并在 @code{blocklist-enabled?} 为 @code{#t} 时应用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31024
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean download-queue-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 download-queue-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31027
#, fuzzy
msgid "If @code{#t}, the daemon will be limited to downloading at most @code{download-queue-size} non-stalled torrents simultaneously."
msgstr "如果 @code{#t},守护进程将限制同时下载最多 @code{download-queue-size} 个未暂停的种子。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31032
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer download-queue-size"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 download-queue-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:31036
#, fuzzy
msgid "The size of the daemon's download queue, which limits the number of non-stalled torrents it will download at any one time when @code{download-queue-enabled?} is @code{#t}."
msgstr "守护进程的下载队列大小,限制在 @code{download-queue-enabled?} 为 @code{#t} 时同时下载的非阻塞种子的数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31041
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean seed-queue-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 seed-queue-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31044
#, fuzzy
msgid "If @code{#t}, the daemon will be limited to seeding at most @code{seed-queue-size} non-stalled torrents simultaneously."
msgstr "如果 @code{#t},守护进程将限制同时做种的非阻塞种子数量最多为 @code{seed-queue-size}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31049
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer seed-queue-size"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 seed-queue-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:31053
#, fuzzy
msgid "The size of the daemon's seed queue, which limits the number of non-stalled torrents it will seed at any one time when @code{seed-queue-enabled?} is @code{#t}."
msgstr "守护进程的种子队列大小,限制在 @code{seed-queue-enabled?} 为 @code{#t} 时同时做种的非阻塞种子的数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31058
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean queue-stalled-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 queue-stalled-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31063
#, fuzzy
msgid "When @code{#t}, the daemon will consider torrents for which it has not shared data in the past @code{queue-stalled-minutes} minutes to be stalled and not count them against its @code{download-queue-size} and @code{seed-queue-size} limits."
msgstr "当 @code{#t} 时,守护进程将认为在过去 @code{queue-stalled-minutes} 分钟内未共享数据的种子为阻塞,并且不将其计入 @code{download-queue-size} 和 @code{seed-queue-size} 的限制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31068
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer queue-stalled-minutes"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 queue-stalled-minutes"

#. type: deftypevr
#: guix-git/doc/guix.texi:31072
#, fuzzy
msgid "The maximum period, in minutes, a torrent may be idle before it is considered to be stalled, when @code{queue-stalled-enabled?} is @code{#t}."
msgstr "在 @code{queue-stalled-enabled?} 为 @code{#t} 时,种子在被认为阻塞之前可以闲置的最大时间(以分钟为单位)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31077
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean ratio-limit-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 ratio-limit-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31080
#, fuzzy
msgid "When @code{#t}, a torrent being seeded will automatically be paused once it reaches the ratio specified by @code{ratio-limit}."
msgstr "当 @code{#t} 时,正在做种的种子一旦达到 @code{ratio-limit} 指定的比例将自动暂停。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31085
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-rational ratio-limit"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负有理数 ratio-limit"

#. type: deftypevr
#: guix-git/doc/guix.texi:31088
#, fuzzy
msgid "The ratio at which a torrent being seeded will be paused, when @code{ratio-limit-enabled?} is @code{#t}."
msgstr "正在做种的种子将在 @code{ratio-limit-enabled?} 为 @code{#t} 时暂停的比例。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31090
#, fuzzy
msgid "Defaults to @samp{2.0}."
msgstr "默认为 @samp{2.0}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31093
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean idle-seeding-limit-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 idle-seeding-limit-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31096
#, fuzzy
msgid "When @code{#t}, a torrent being seeded will automatically be paused once it has been idle for @code{idle-seeding-limit} minutes."
msgstr "当 @code{#t} 时,正在做种的种子在闲置 @code{idle-seeding-limit} 分钟后将自动暂停。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31101
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer idle-seeding-limit"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 idle-seeding-limit"

#. type: deftypevr
#: guix-git/doc/guix.texi:31105
#, fuzzy
msgid "The maximum period, in minutes, a torrent being seeded may be idle before it is paused, when @code{idle-seeding-limit-enabled?} is @code{#t}."
msgstr "在 @code{idle-seeding-limit-enabled?} 为 @code{#t} 时,正在做种的种子可以闲置的最大时间(以分钟为单位),在此之后将被暂停。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31110
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean dht-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 dht-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31114
#, fuzzy
msgid "Enable @uref{http://bittorrent.org/beps/bep_0005.html,the distributed hash table (@acronym{DHT}) protocol}, which supports the use of trackerless torrents."
msgstr "启用 @uref{http://bittorrent.org/beps/bep_0005.html,分布式哈希表 (@acronym{DHT}) 协议},支持无跟踪器种子的使用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31119
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean lpd-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 lpd-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31124
#, fuzzy
msgid "Enable @uref{https://en.wikipedia.org/wiki/Local_Peer_Discovery,local peer discovery} (@acronym{LPD}), which allows the discovery of peers on the local network and may reduce the amount of data sent over the public Internet."
msgstr "启用 @uref{https://en.wikipedia.org/wiki/Local_Peer_Discovery,局部对等发现} (@acronym{LPD}),允许在本地网络上发现对等体,并可能减少通过公共互联网发送的数据量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31129
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean pex-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 pex-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31133
#, fuzzy
msgid "Enable @uref{https://en.wikipedia.org/wiki/Peer_exchange,peer exchange} (@acronym{PEX}), which reduces the daemon's reliance on external trackers and may improve its performance."
msgstr "启用 @uref{https://en.wikipedia.org/wiki/Peer_exchange,对等体交换} (@acronym{PEX}),减少守护进程对外部跟踪器的依赖,并可能提高其性能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31138
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean utp-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 utp-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31143
#, fuzzy
msgid "Enable @uref{http://bittorrent.org/beps/bep_0029.html,the micro transport protocol} (@acronym{uTP}), which aims to reduce the impact of BitTorrent traffic on other users of the local network while maintaining full utilization of the available bandwidth."
msgstr "启用 @uref{http://bittorrent.org/beps/bep_0029.html,微传输协议} (@acronym{uTP}),旨在减少 BitTorrent 流量对本地网络其他用户的影响,同时保持可用带宽的充分利用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31148
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean rpc-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 rpc-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31153
#, fuzzy
msgid "If @code{#t}, enable the remote procedure call (@acronym{RPC})  interface, which allows remote control of the daemon via its Web interface, the @command{transmission-remote} command-line client, and similar tools."
msgstr "如果 @code{#t},启用远程过程调用 (@acronym{RPC}) 接口,允许通过其 Web 界面、@command{transmission-remote} 命令行客户端和类似工具远程控制守护进程。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31158
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} string rpc-bind-address"
msgstr "{@code{transmission-daemon-configuration} 参数} 字符串 rpc-bind-address"

#. type: deftypevr
#: guix-git/doc/guix.texi:31161
#, fuzzy
msgid "The IP address at which to listen for @acronym{RPC} connections, or ``0.0.0.0'' to listen at all available IP addresses."
msgstr "监听 @acronym{RPC} 连接的 IP 地址,或 ``0.0.0.0'' 以监听所有可用的 IP 地址。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31166
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} port-number rpc-port"
msgstr "{@code{transmission-daemon-configuration} 参数} 端口号 rpc-port"

#. type: deftypevr
#: guix-git/doc/guix.texi:31168
#, fuzzy
msgid "The port on which to listen for @acronym{RPC} connections."
msgstr "监听 @acronym{RPC} 连接的端口。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31170
#, fuzzy
msgid "Defaults to @samp{9091}."
msgstr "默认为 @samp{9091}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31173
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} string rpc-url"
msgstr "{@code{transmission-daemon-configuration} 参数} 字符串 rpc-url"

#. type: deftypevr
#: guix-git/doc/guix.texi:31175
#, fuzzy
msgid "The path prefix to use in the @acronym{RPC}-endpoint @acronym{URL}."
msgstr "在 @acronym{RPC} 端点 @acronym{URL} 中使用的路径前缀。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31177
#, fuzzy
msgid "Defaults to @samp{\"/transmission/\"}."
msgstr "默认为 @samp{\"/transmission/\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31180
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean rpc-authentication-required?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 rpc-authentication-required?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31185
#, fuzzy
msgid "When @code{#t}, clients must authenticate (see @code{rpc-username} and @code{rpc-password}) when using the @acronym{RPC} interface.  Note this has the side effect of disabling host-name whitelisting (see @code{rpc-host-whitelist-enabled?}."
msgstr "当 @code{#t} 时,客户端必须进行身份验证(请参见 @code{rpc-username} 和 @code{rpc-password}),使用 @acronym{RPC} 接口时。请注意,这会导致禁用主机名白名单(请参见 @code{rpc-host-whitelist-enabled?})。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31190
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} maybe-string rpc-username"
msgstr "{@code{transmission-daemon-configuration} 参数} maybe-string rpc-username"

#. type: deftypevr
#: guix-git/doc/guix.texi:31193
#, fuzzy
msgid "The username required by clients to access the @acronym{RPC} interface when @code{rpc-authentication-required?} is @code{#t}."
msgstr "当 @code{rpc-authentication-required?} 为 @code{#t} 时,客户端访问 @acronym{RPC} 接口所需的用户名。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31198
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} maybe-transmission-password-hash rpc-password"
msgstr "{@code{transmission-daemon-configuration} 参数} maybe-transmission-password-hash rpc-password"

#. type: deftypevr
#: guix-git/doc/guix.texi:31204
#, fuzzy
msgid "The password required by clients to access the @acronym{RPC} interface when @code{rpc-authentication-required?} is @code{#t}.  This must be specified using a password hash in the format recognized by Transmission clients, either copied from an existing @file{settings.json} file or generated using the @code{transmission-password-hash} procedure."
msgstr "当 @code{rpc-authentication-required?} 为 @code{#t} 时,客户端访问 @acronym{RPC} 接口所需的密码。必须使用 Transmission 客户端识别的格式指定密码哈希,可以从现有的 @file{settings.json} 文件中复制,或使用 @code{transmission-password-hash} 过程生成。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31209
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean rpc-whitelist-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} boolean rpc-whitelist-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31212
#, fuzzy
msgid "When @code{#t}, @acronym{RPC} requests will be accepted only when they originate from an address specified in @code{rpc-whitelist}."
msgstr "当 @code{#t} 时,只有来自 @code{rpc-whitelist} 中指定的地址的 @acronym{RPC} 请求才会被接受。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31217
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} string-list rpc-whitelist"
msgstr "{@code{transmission-daemon-configuration} 参数} string-list rpc-whitelist"

#. type: deftypevr
#: guix-git/doc/guix.texi:31221
#, fuzzy
msgid "The list of IP and IPv6 addresses from which @acronym{RPC} requests will be accepted when @code{rpc-whitelist-enabled?} is @code{#t}.  Wildcards may be specified using @samp{*}."
msgstr "当 @code{rpc-whitelist-enabled?} 为 @code{#t} 时,将接受来自 @acronym{RPC} 请求的 IP 和 IPv6 地址列表。可以使用 @samp{*} 指定通配符。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31223
#, fuzzy
msgid "Defaults to @samp{'(\"127.0.0.1\" \"::1\")}."
msgstr "默认为 @samp{'(\"127.0.0.1\" \"::1\")}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31226
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean rpc-host-whitelist-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} boolean rpc-host-whitelist-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31231
#, fuzzy
msgid "When @code{#t}, @acronym{RPC} requests will be accepted only when they are addressed to a host named in @code{rpc-host-whitelist}.  Note that requests to ``localhost'' or ``localhost.'', or to a numeric address, are always accepted regardless of these settings."
msgstr "当 @code{#t} 时,只有当 @acronym{RPC} 请求的目标是 @code{rpc-host-whitelist} 中列出的主机时,才会被接受。请注意,对 ``localhost'' 或 ``localhost.'' 的请求,或对数字地址的请求,无论这些设置如何,总是会被接受。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31234
#, fuzzy
msgid "Note also this functionality is disabled when @code{rpc-authentication-required?} is @code{#t}."
msgstr "请注意,当 @code{rpc-authentication-required?} 为 @code{#t} 时,此功能也会被禁用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31239
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} string-list rpc-host-whitelist"
msgstr "{@code{transmission-daemon-configuration} 参数} string-list rpc-host-whitelist"

#. type: deftypevr
#: guix-git/doc/guix.texi:31242
#, fuzzy
msgid "The list of host names recognized by the @acronym{RPC} server when @code{rpc-host-whitelist-enabled?} is @code{#t}."
msgstr "当 @code{rpc-host-whitelist-enabled?} 为 @code{#t} 时,@acronym{RPC} 服务器识别的主机名列表。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31247
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} message-level message-level"
msgstr "{@code{transmission-daemon-configuration} 参数} message-level message-level"

#. type: deftypevr
#: guix-git/doc/guix.texi:31251
#, fuzzy
msgid "The minimum severity level of messages to be logged (to @file{/var/log/transmission.log}) by the daemon, one of @code{none} (no logging), @code{error}, @code{info} and @code{debug}."
msgstr "守护进程记录的消息的最低严重性级别(记录到 @file{/var/log/transmission.log}),可以是 @code{none}(不记录)、@code{error}、@code{info} 和 @code{debug} 之一。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31256
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean start-added-torrents?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 start-added-torrents?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31259
#, fuzzy
msgid "When @code{#t}, torrents are started as soon as they are added; otherwise, they are added in ``paused'' state."
msgstr "当 @code{#t} 时,种子在添加后立即启动;否则,它们将以“暂停”状态添加。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31264
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean script-torrent-done-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 script-torrent-done-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31268
#, fuzzy
msgid "When @code{#t}, the script specified by @code{script-torrent-done-filename} will be invoked each time a torrent completes."
msgstr "当 @code{#t} 时,指定的脚本 @code{script-torrent-done-filename} 将在每次种子完成时被调用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31273
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} maybe-file-object script-torrent-done-filename"
msgstr "{@code{transmission-daemon-configuration} 参数} 可能的文件对象 script-torrent-done-filename"

#. type: deftypevr
#: guix-git/doc/guix.texi:31277
#, fuzzy
msgid "A file name or file-like object specifying a script to run each time a torrent completes, when @code{script-torrent-done-enabled?} is @code{#t}."
msgstr "一个文件名或类似文件的对象,指定在 @code{script-torrent-done-enabled?} 为 @code{#t} 时每次种子完成时要运行的脚本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31282
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean scrape-paused-torrents-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 scrape-paused-torrents-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31285
#, fuzzy
msgid "When @code{#t}, the daemon will scrape trackers for a torrent even when the torrent is paused."
msgstr "当 @code{#t} 时,守护进程将即使在种子暂停时也会抓取种子的跟踪器。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31290
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer cache-size-mb"
msgstr "{@code{transmission-daemon-configuration} 参数} 非负整数 cache-size-mb"

#. type: deftypevr
#: guix-git/doc/guix.texi:31294
#, fuzzy
msgid "The amount of memory, in megabytes, to allocate for the daemon's in-memory cache.  A larger value may increase performance by reducing the frequency of disk I/O."
msgstr "为守护进程的内存缓存分配的内存量,以兆字节为单位。 较大的值可能通过减少磁盘 I/O 的频率来提高性能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31296
#, fuzzy
msgid "Defaults to @samp{4}."
msgstr "默认为 @samp{4}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:31299
#, fuzzy, no-wrap
msgid "{@code{transmission-daemon-configuration} parameter} boolean prefetch-enabled?"
msgstr "{@code{transmission-daemon-configuration} 参数} 布尔值 prefetch-enabled?"

#. type: deftypevr
#: guix-git/doc/guix.texi:31303
#, fuzzy
msgid "When @code{#t}, the daemon will try to improve I/O performance by hinting to the operating system which data is likely to be read next from disk to satisfy requests from peers."
msgstr "当 @code{#t} 时,守护进程将尝试通过向操作系统提示哪些数据可能是下一个从磁盘读取的来改善 I/O 性能,以满足来自对等方的请求。"

#. type: subsubheading
#: guix-git/doc/guix.texi:31316
#, fuzzy, no-wrap
msgid "Tailon Service"
msgstr "Tailon 服务"

#. type: Plain text
#: guix-git/doc/guix.texi:31320
#, fuzzy
msgid "@uref{https://tailon.readthedocs.io/, Tailon} is a web application for viewing and searching log files."
msgstr "@uref{https://tailon.readthedocs.io/, Tailon} 是一个用于查看和搜索日志文件的 Web 应用程序。"

#. type: Plain text
#: guix-git/doc/guix.texi:31323
#, fuzzy
msgid "The following example will configure the service with default values.  By default, Tailon can be accessed on port 8080 (@code{http://localhost:8080})."
msgstr "以下示例将使用默认值配置服务。 默认情况下,Tailon 可以通过端口 8080 访问 (@code{http://localhost:8080})。"

#. type: lisp
#: guix-git/doc/guix.texi:31326
#, fuzzy, no-wrap
msgid "(service tailon-service-type)\n"
msgstr "(服务 tailon-service-type)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:31330
#, fuzzy
msgid "The following example customises more of the Tailon configuration, adding @command{sed} to the list of allowed commands."
msgstr "以下示例自定义了更多的 Tailon 配置,将 @command{sed} 添加到允许的命令列表中。"

#. type: lisp
#: guix-git/doc/guix.texi:31337
#, fuzzy, no-wrap
msgid ""
"(service tailon-service-type\n"
"         (tailon-configuration\n"
"           (config-file\n"
"             (tailon-configuration-file\n"
"               (allowed-commands '(\"tail\" \"grep\" \"awk\" \"sed\"))))))\n"
msgstr ""
"(服务 tailon-service-type\n"
"         (tailon-configuration\n"
"           (config-file\n"
"             (tailon-configuration-file\n"
"               (allowed-commands '(\"tail\" \"grep\" \"awk\" \"sed\"))))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:31340
#, fuzzy, no-wrap
msgid "{Data Type} tailon-configuration"
msgstr "{数据类型} tailon-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:31343
#, fuzzy
msgid "Data type representing the configuration of Tailon.  This type has the following parameters:"
msgstr "表示 Tailon 配置的数据类型。此类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:31345
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{(tailon-configuration-file)})"
msgstr "@code{config-file}(默认值:@code{(tailon-configuration-file)})"

#. type: table
#: guix-git/doc/guix.texi:31349
#, fuzzy
msgid "The configuration file to use for Tailon.  This can be set to a @dfn{tailon-configuration-file} record value, or any gexp (@pxref{G-Expressions})."
msgstr "用于 Tailon 的配置文件。可以设置为 @dfn{tailon-configuration-file} 记录值,或任何 gexp(@pxref{G-Expressions})。"

#. type: table
#: guix-git/doc/guix.texi:31352
#, fuzzy
msgid "For example, to instead use a local file, the @code{local-file} function can be used:"
msgstr "例如,要使用本地文件,可以使用 @code{local-file} 函数:"

#. type: lisp
#: guix-git/doc/guix.texi:31357
#, fuzzy, no-wrap
msgid ""
"(service tailon-service-type\n"
"         (tailon-configuration\n"
"           (config-file (local-file \"./my-tailon.conf\"))))\n"
msgstr ""
"(service tailon-service-type\n"
"         (tailon-configuration\n"
"           (config-file (local-file \"./my-tailon.conf\"))))\n"

#. type: item
#: guix-git/doc/guix.texi:31359
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{tailon})"
msgstr "@code{package}(默认值:@code{tailon})"

#. type: table
#: guix-git/doc/guix.texi:31361
#, fuzzy
msgid "The tailon package to use."
msgstr "要使用的 tailon 包。"

#. type: deftp
#: guix-git/doc/guix.texi:31365
#, fuzzy, no-wrap
msgid "{Data Type} tailon-configuration-file"
msgstr "{数据类型} tailon-configuration-file"

#. type: deftp
#: guix-git/doc/guix.texi:31368
#, fuzzy
msgid "Data type representing the configuration options for Tailon.  This type has the following parameters:"
msgstr "表示 Tailon 配置选项的数据类型。该类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:31370
#, fuzzy, no-wrap
msgid "@code{files} (default: @code{(list \"/var/log\")})"
msgstr "@code{files}(默认值:@code{(list \"/var/log\")})"

#. type: table
#: guix-git/doc/guix.texi:31375
#, fuzzy
msgid "List of files to display.  The list can include strings for a single file or directory, or a list, where the first item is the name of a subsection, and the remaining items are the files or directories in that subsection."
msgstr "要显示的文件列表。列表可以包含单个文件或目录的字符串,或一个列表,其中第一个项目是子部分的名称,其余项目是该子部分中的文件或目录。"

#. type: item
#: guix-git/doc/guix.texi:31376
#, fuzzy, no-wrap
msgid "@code{bind} (default: @code{\"localhost:8080\"})"
msgstr "@code{bind}(默认值:@code{\"localhost:8080\"})"

#. type: table
#: guix-git/doc/guix.texi:31378
#, fuzzy
msgid "Address and port to which Tailon should bind on."
msgstr "Tailon 应绑定的地址和端口。"

#. type: item
#: guix-git/doc/guix.texi:31379
#, fuzzy, no-wrap
msgid "@code{relative-root} (default: @code{#f})"
msgstr "@code{relative-root}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31381
#, fuzzy
msgid "URL path to use for Tailon, set to @code{#f} to not use a path."
msgstr "用于 Tailon 的 URL 路径,设置为 @code{#f} 以不使用路径。"

#. type: item
#: guix-git/doc/guix.texi:31382
#, fuzzy, no-wrap
msgid "@code{allow-transfers?} (default: @code{#t})"
msgstr "@code{allow-transfers?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:31384
#, fuzzy
msgid "Allow downloading the log files in the web interface."
msgstr "允许在 Web 界面中下载日志文件。"

#. type: item
#: guix-git/doc/guix.texi:31385
#, fuzzy, no-wrap
msgid "@code{follow-names?} (default: @code{#t})"
msgstr "@code{follow-names?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:31387
#, fuzzy
msgid "Allow tailing of not-yet existent files."
msgstr "允许跟踪尚不存在的文件。"

#. type: item
#: guix-git/doc/guix.texi:31388
#, fuzzy, no-wrap
msgid "@code{tail-lines} (default: @code{200})"
msgstr "@code{tail-lines}(默认值:@code{200})"

#. type: table
#: guix-git/doc/guix.texi:31390
#, fuzzy
msgid "Number of lines to read initially from each file."
msgstr "从每个文件初始读取的行数。"

#. type: item
#: guix-git/doc/guix.texi:31391
#, fuzzy, no-wrap
msgid "@code{allowed-commands} (default: @code{(list \"tail\" \"grep\" \"awk\")})"
msgstr "@code{allowed-commands}(默认值:@code{(list \"tail\" \"grep\" \"awk\")})"

#. type: table
#: guix-git/doc/guix.texi:31393
#, fuzzy
msgid "Commands to allow running.  By default, @code{sed} is disabled."
msgstr "允许运行的命令。默认情况下,@code{sed} 被禁用。"

#. type: table
#: guix-git/doc/guix.texi:31396
#, fuzzy
msgid "Set @code{debug?} to @code{#t} to show debug messages."
msgstr "将 @code{debug?} 设置为 @code{#t} 以显示调试消息。"

#. type: item
#: guix-git/doc/guix.texi:31397
#, fuzzy, no-wrap
msgid "@code{wrap-lines} (default: @code{#t})"
msgstr "@code{wrap-lines}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:31401
#, fuzzy
msgid "Initial line wrapping state in the web interface.  Set to @code{#t} to initially wrap lines (the default), or to @code{#f} to initially not wrap lines."
msgstr "Web 界面的初始行换行状态。设置为 @code{#t} 以初始换行(默认),或设置为 @code{#f} 以初始不换行。"

#. type: item
#: guix-git/doc/guix.texi:31402
#, fuzzy, no-wrap
msgid "@code{http-auth} (default: @code{#f})"
msgstr "@code{http-auth}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31406
#, fuzzy
msgid "HTTP authentication type to use.  Set to @code{#f} to disable authentication (the default).  Supported values are @code{\"digest\"} or @code{\"basic\"}."
msgstr "要使用的 HTTP 认证类型。设置为 @code{#f} 以禁用认证(默认)。支持的值为 @code{\"digest\"} 或 @code{\"basic\"}。"

#. type: item
#: guix-git/doc/guix.texi:31407
#, fuzzy, no-wrap
msgid "@code{users} (default: @code{#f})"
msgstr "@code{users}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31412
#, fuzzy
msgid "If HTTP authentication is enabled (see @code{http-auth}), access will be restricted to the credentials provided here.  To configure users, use a list of pairs, where the first element of the pair is the username, and the 2nd element of the pair is the password."
msgstr "如果启用了 HTTP 认证(见 @code{http-auth}),访问将限制为此处提供的凭据。要配置用户,请使用一对对的列表,其中对的第一个元素是用户名,第二个元素是密码。"

#. type: lisp
#: guix-git/doc/guix.texi:31418
#, fuzzy, no-wrap
msgid ""
"(tailon-configuration-file\n"
"  (http-auth \"basic\")\n"
"  (users     '((\"user1\" . \"password1\")\n"
"               (\"user2\" . \"password2\"))))\n"
msgstr ""
"(tailon-configuration-file\n"
"  (http-auth \"basic\")\n"
"  (users     '((\"user1\" . \"password1\")\n"
"               (\"user2\" . \"password2\"))))\n"

#. type: subsubheading
#: guix-git/doc/guix.texi:31424
#, fuzzy, no-wrap
msgid "Darkstat Service"
msgstr "Darkstat 服务"

#. type: cindex
#: guix-git/doc/guix.texi:31425
#, fuzzy, no-wrap
msgid "darkstat"
msgstr "darkstat"

#. type: Plain text
#: guix-git/doc/guix.texi:31428
#, fuzzy
msgid "Darkstat is a packet sniffer that captures network traffic, calculates statistics about usage, and serves reports over HTTP."
msgstr "Darkstat 是一个数据包嗅探器,它捕获网络流量,计算使用统计信息,并通过 HTTP 提供报告。"

#. type: defvar
#: guix-git/doc/guix.texi:31429
#, fuzzy, no-wrap
msgid "darkstat-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:31434
#, fuzzy
msgid "This is the service type for the @uref{https://unix4lyfe.org/darkstat/, darkstat} service, its value must be a @code{darkstat-configuration} record as in this example:"
msgstr "这是 @uref{https://unix4lyfe.org/darkstat/, darkstat} 服务的服务类型,其值必须是 @code{darkstat-configuration} 记录,如下例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:31439
#, fuzzy, no-wrap
msgid ""
"(service darkstat-service-type\n"
"         (darkstat-configuration\n"
"           (interface \"eno1\")))\n"
msgstr ""
"(service darkstat-service-type\n"
"         (darkstat-configuration\n"
"           (interface \"eno1\")))\n"

#. type: deftp
#: guix-git/doc/guix.texi:31442
#, fuzzy, no-wrap
msgid "{Data Type} darkstat-configuration"
msgstr "{数据类型} darkstat-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:31444
#, fuzzy
msgid "Data type representing the configuration of @command{darkstat}."
msgstr "表示 @command{darkstat} 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:31446
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{darkstat})"
msgstr "@code{package}(默认值:@code{darkstat})"

#. type: table
#: guix-git/doc/guix.texi:31448
#, fuzzy
msgid "The darkstat package to use."
msgstr "要使用的 darkstat 包。"

#. type: code{#1}
#: guix-git/doc/guix.texi:31449
#, fuzzy, no-wrap
msgid "interface"
msgstr "接口"

#. type: table
#: guix-git/doc/guix.texi:31451
#, fuzzy
msgid "Capture traffic on the specified network interface."
msgstr "在指定的网络接口上捕获流量。"

#. type: item
#: guix-git/doc/guix.texi:31452
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{\"667\"})"
msgstr "@code{port}(默认值:@code{\"667\"})"

#. type: table
#: guix-git/doc/guix.texi:31454
#, fuzzy
msgid "Bind the web interface to the specified port."
msgstr "将 Web 界面绑定到指定端口。"

#. type: table
#: guix-git/doc/guix.texi:31457 guix-git/doc/guix.texi:31493
#, fuzzy
msgid "Bind the web interface to the specified address."
msgstr "将 Web 界面绑定到指定地址。"

#. type: item
#: guix-git/doc/guix.texi:31458
#, fuzzy, no-wrap
msgid "@code{base} (default: @code{\"/\"})"
msgstr "@code{base}(默认值:@code{\"/\"})"

#. type: table
#: guix-git/doc/guix.texi:31461
#, fuzzy
msgid "Specify the path of the base URL@.  This can be useful if @command{darkstat} is accessed via a reverse proxy."
msgstr "指定基本 URL 的路径@。如果 @command{darkstat} 通过反向代理访问,这可能会很有用。"

#. type: cindex
#: guix-git/doc/guix.texi:31466 guix-git/doc/guix.texi:31467
#, fuzzy, no-wrap
msgid "prometheus-node-exporter"
msgstr "prometheus-node-exporter"

#. type: subsubheading
#: guix-git/doc/guix.texi:31466
#, fuzzy, no-wrap
msgid "Prometheus Node Exporter Service"
msgstr "Prometheus 节点导出器服务"

#. type: Plain text
#: guix-git/doc/guix.texi:31473
#, fuzzy
msgid "The Prometheus ``node exporter'' makes hardware and operating system statistics provided by the Linux kernel available for the Prometheus monitoring system.  This service should be deployed on all physical nodes and virtual machines, where monitoring these statistics is desirable."
msgstr "Prometheus ``节点导出器'' 使 Linux 内核提供的硬件和操作系统统计信息可用于 Prometheus 监控系统。此服务应部署在所有物理节点和虚拟机上,以便监控这些统计信息。"

#. type: defvar
#: guix-git/doc/guix.texi:31474
#, fuzzy, no-wrap
msgid "prometheus-node-exporter-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:31478
#, fuzzy
msgid "This is the service type for the @uref{https://github.com/prometheus/node_exporter/, prometheus-node-exporter} service, its value must be a @code{prometheus-node-exporter-configuration}."
msgstr "这是 @uref{https://github.com/prometheus/node_exporter/, prometheus-node-exporter} 服务的服务类型,其值必须是 @code{prometheus-node-exporter-configuration}。"

#. type: lisp
#: guix-git/doc/guix.texi:31481
#, fuzzy, no-wrap
msgid "(service prometheus-node-exporter-service-type)\n"
msgstr "(service prometheus-node-exporter-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:31484
#, fuzzy, no-wrap
msgid "{Data Type} prometheus-node-exporter-configuration"
msgstr "{数据类型} prometheus-node-exporter-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:31486
#, fuzzy
msgid "Data type representing the configuration of @command{node_exporter}."
msgstr "表示 @command{node_exporter} 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:31488
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{go-github-com-prometheus-node-exporter})"
msgstr "@code{package}(默认值:@code{go-github-com-prometheus-node-exporter})"

#. type: table
#: guix-git/doc/guix.texi:31490
#, fuzzy
msgid "The prometheus-node-exporter package to use."
msgstr "要使用的 prometheus-node-exporter 包。"

#. type: item
#: guix-git/doc/guix.texi:31491
#, fuzzy, no-wrap
msgid "@code{web-listen-address} (default: @code{\":9100\"})"
msgstr "@code{web-listen-address}(默认值:@code{\":9100\"})"

#. type: item
#: guix-git/doc/guix.texi:31494
#, fuzzy, no-wrap
msgid "@code{textfile-directory} (default: @code{\"/var/lib/prometheus/node-exporter\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:31498
#, fuzzy
msgid "This directory can be used to export metrics specific to this machine.  Files containing metrics in the text format, with the filename ending in @code{.prom} should be placed in this directory."
msgstr "此目录可用于导出特定于此机器的指标。包含文本格式的指标的文件,文件名以 @code{.prom} 结尾,应放置在此目录中。"

#. type: table
#: guix-git/doc/guix.texi:31501
#, fuzzy
msgid "Extra options to pass to the Prometheus node exporter."
msgstr "传递给 Prometheus 节点导出程序的额外选项。"

#. type: cindex
#: guix-git/doc/guix.texi:31506 guix-git/doc/guix.texi:31507
#, fuzzy, no-wrap
msgid "vnstat"
msgstr "vnstat"

#. type: subsubheading
#: guix-git/doc/guix.texi:31506
#, fuzzy, no-wrap
msgid "vnStat Network Traffic Monitor"
msgstr "vnStat 网络流量监控器"

#. type: Plain text
#: guix-git/doc/guix.texi:31512
#, fuzzy
msgid "vnStat is a network traffic monitor that uses interface statistics provided by the kernel rather than traffic sniffing.  This makes it a light resource monitor, regardless of network traffic rate."
msgstr "vnStat 是一个网络流量监控器,它使用内核提供的接口统计信息,而不是流量嗅探。这使得它成为一个轻量级的资源监控器,无论网络流量速率如何。"

#. type: defvar
#: guix-git/doc/guix.texi:31513
#, fuzzy, no-wrap
msgid "vnstat-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:31516
#, fuzzy
msgid "This is the service type for the @uref{https://humdi.net/vnstat/,vnStat} daemon and accepts a @code{vnstat-configuration} value."
msgstr "这是 @uref{https://humdi.net/vnstat/,vnStat} 守护进程的服务类型,并接受 @code{vnstat-configuration} 值。"

#. type: defvar
#: guix-git/doc/guix.texi:31518
#, fuzzy
msgid "The following example will configure the service with default values:"
msgstr "以下示例将使用默认值配置服务:"

#. type: lisp
#: guix-git/doc/guix.texi:31521
#, fuzzy, no-wrap
msgid "(service vnstat-service-type)\n"
msgstr "(service home-znc-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:31525
#, fuzzy, no-wrap
msgid "{Data Type} vnstat-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:31527
#, fuzzy
msgid "Available @code{vnstat-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:31529
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{vnstat}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:31531
#, fuzzy
msgid "The vnstat package."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:31532
#, fuzzy, no-wrap
msgid "@code{database-directory} (default: @code{\"/var/lib/vnstat\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31535
#, fuzzy
msgid "Specifies the directory where the database is to be stored.  A full path must be given and a leading '/' isn't required."
msgstr "指定数据库存储的目录。必须给出完整路径,且不需要前导 '/'。"

#. type: item
#: guix-git/doc/guix.texi:31536
#, fuzzy, no-wrap
msgid "@code{5-minute-hours} (default: @code{48}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31541
#, fuzzy
msgid "Data retention duration for the 5 minute resolution entries.  The configuration defines for how many past hours entries will be stored.  Set to @code{-1} for unlimited entries or to @code{0} to disable the data collection of this resolution."
msgstr "5分钟分辨率条目的数据保留时间。配置定义了将存储多少过去小时的条目。设置为 @code{-1} 以无限制条目,或设置为 @code{0} 以禁用此分辨率的数据收集。"

#. type: item
#: guix-git/doc/guix.texi:31542
#, fuzzy, no-wrap
msgid "@code{64bit-interface-counters} (default: @code{-2}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31551
#, fuzzy
msgid "Select interface counter handling.  Set to @code{1} for defining that all interfaces use 64-bit counters on the kernel side and @code{0} for defining 32-bit counter.  Set to @code{-1} for using the old style logic used in earlier versions where counter values within 32-bits are assumed to be 32-bit and anything larger is assumed to be a 64-bit counter.  This may produce false results if a 64-bit counter is reset within the 32-bits.  Set to @code{-2} for using automatic detection based on available kernel datastructures."
msgstr "选择接口计数器处理。设置为 @code{1} 表示所有接口在内核端使用 64 位计数器,设置为 @code{0} 表示定义 32 位计数器。设置为 @code{-1} 表示使用早期版本中使用的旧逻辑,其中假定 32 位内的计数器值为 32 位,任何更大的值假定为 64 位计数器。如果在 32 位内重置 64 位计数器,可能会产生错误结果。设置为 @code{-2} 表示根据可用的内核数据结构使用自动检测。"

#. type: item
#: guix-git/doc/guix.texi:31552
#, fuzzy, no-wrap
msgid "@code{always-add-new-interfaces?} (default: @code{#t}) (type: maybe-boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31559
#, fuzzy
msgid "Enable or disable automatic creation of new database entries for interfaces not currently in the database even if the database file already exists when the daemon is started.  New database entries will also get created for new interfaces seen while the daemon is running.  Pseudo interfaces @samp{lo}, @samp{lo0} and @samp{sit0} are always excluded from getting added."
msgstr "启用或禁用在守护进程启动时,即使数据库文件已存在,也为当前不在数据库中的接口自动创建新数据库条目。守护进程运行时,还会为新看到的新接口创建新数据库条目。伪接口 @samp{lo}、@samp{lo0} 和 @samp{sit0} 始终被排除在外。"

#. type: item
#: guix-git/doc/guix.texi:31560
#, fuzzy, no-wrap
msgid "@code{bandwidth-detection?} (default: @code{#t}) (type: maybe-boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31568
#, fuzzy
msgid "Try to automatically detect @var{max-bandwidth} value for each monitored interface.  Mostly only ethernet interfaces support this feature.  @var{max-bandwidth} will be used as fallback value if detection fails.  Any interface specific @var{max-BW} configuration will disable the detection for the specified interface.  In Linux, the detection is disabled for tun interfaces due to the Linux kernel always reporting 10 Mbit regardless of the used real interface."
msgstr "尝试自动检测每个监控接口的 @var{max-bandwidth} 值。大多数情况下,只有以太网接口支持此功能。如果检测失败,将使用 @var{max-bandwidth} 作为后备值。任何接口特定的 @var{max-BW} 配置将禁用指定接口的检测。在 Linux 中,由于 Linux 内核始终报告 10 Mbit,无论使用的真实接口如何,tun 接口的检测被禁用。"

#. type: item
#: guix-git/doc/guix.texi:31569
#, fuzzy, no-wrap
msgid "@code{bandwidth-detection-interval} (default: @code{5}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31574
#, fuzzy
msgid "How often in minutes interface specific detection of @var{max-bandwidth} is done for detecting possible changes when @var{bandwidth-detection} is enabled.  Can be disabled by setting to @code{0}.  Value range: @samp{0}..@samp{30}"
msgstr "在启用 @var{bandwidth-detection} 时,界面特定检测 @var{max-bandwidth} 的频率(以分钟为单位)用于检测可能的变化。可以通过设置为 @code{0} 来禁用。值范围:@samp{0}..@samp{30}"

#. type: item
#: guix-git/doc/guix.texi:31575
#, fuzzy, no-wrap
msgid "@code{boot-variation} (default: @code{15}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31578
#, fuzzy
msgid "Time in seconds how much the boot time reported by system kernel can variate between updates.  Value range: @samp{0}..@samp{300}"
msgstr "系统内核报告的启动时间在更新之间可以变化的时间(以秒为单位)。值范围:@samp{0}..@samp{300}"

#. type: item
#: guix-git/doc/guix.texi:31579
#, fuzzy, no-wrap
msgid "@code{check-disk-space?} (default: @code{#t}) (type: maybe-boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31582
#, fuzzy
msgid "Enable or disable the availability check of at least some free disk space before a database write."
msgstr "在数据库写入之前,启用或禁用至少检查一些可用磁盘空间的可用性检查。"

#. type: item
#: guix-git/doc/guix.texi:31583
#, fuzzy, no-wrap
msgid "@code{create-directories?} (default: @code{#t}) (type: maybe-boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31586
#, fuzzy
msgid "Enable or disable the creation of directories when a configured path doesn't exist.  This includes @var{database-directory}."
msgstr "启用或禁用在配置路径不存在时创建目录。这包括 @var{database-directory}。"

#. type: item
#: guix-git/doc/guix.texi:31587
#, fuzzy, no-wrap
msgid "@code{daemon-group} (type: maybe-user-group)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31590
#, fuzzy
msgid "Specify the group to which the daemon process should switch during startup.  Set to @code{%unset-value} to disable group switching."
msgstr "指定守护进程在启动期间应切换到的组。设置为 @code{%unset-value} 以禁用组切换。"

#. type: item
#: guix-git/doc/guix.texi:31591
#, fuzzy, no-wrap
msgid "@code{daemon-user} (type: maybe-user-account)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31594
#, fuzzy
msgid "Specify the user to which the daemon process should switch during startup.  Set to @code{%unset-value} to disable user switching."
msgstr "指定守护进程在启动期间应切换到的用户。设置为 @code{%unset-value} 以禁用用户切换。"

#. type: item
#: guix-git/doc/guix.texi:31595
#, fuzzy, no-wrap
msgid "@code{daily-days} (default: @code{62}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31600
#, fuzzy
msgid "Data retention duration for the one day resolution entries.  The configuration defines for how many past days entries will be stored.  Set to @code{-1} for unlimited entries or to @code{0} to disable the data collection of this resolution."
msgstr "一天分辨率条目的数据保留期限。配置定义了将存储多少过去的天数条目。设置为 @code{-1} 以无限制条目,或设置为 @code{0} 以禁用此分辨率的数据收集。"

#. type: item
#: guix-git/doc/guix.texi:31601
#, fuzzy, no-wrap
msgid "@code{database-synchronous} (default: @code{-1}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31612
#, fuzzy
msgid "Change the setting of the SQLite \"synchronous\" flag which controls how much care is taken to ensure disk writes have fully completed when writing data to the database before continuing other actions.  Higher values take extra steps to ensure data safety at the cost of slower performance.  A value of @code{0} will result in all handling being left to the filesystem itself.  Set to @code{-1} to select the default value according to database mode controlled by @var{database-write-ahead-logging} setting.  See SQLite documentation for more details regarding values from @code{1} to @code{3}.  Value range: @samp{-1}..@samp{3}"
msgstr "更改 SQLite \"synchronous\" 标志的设置,该标志控制在将数据写入数据库之前,确保磁盘写入已完全完成时所采取的谨慎程度。更高的值会采取额外步骤以确保数据安全,但会降低性能。值为 @code{0} 将导致所有处理留给文件系统本身。设置为 @code{-1} 以根据 @var{database-write-ahead-logging} 设置控制的数据库模式选择默认值。有关 @code{1} 到 @code{3} 的值的更多详细信息,请参阅 SQLite 文档。值范围:@samp{-1}..@samp{3}"

#. type: item
#: guix-git/doc/guix.texi:31613
#, fuzzy, no-wrap
msgid "@code{database-write-ahead-logging?} (default: @code{#f}) (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:31617
#, fuzzy
msgid "Enable or disable SQLite Write-Ahead Logging mode for the database.  See SQLite documentation for more details and note that support for read-only operations isn't available in older SQLite versions."
msgstr "启用或禁用数据库的 SQLite 写前日志模式。有关更多详细信息,请参阅 SQLite 文档,并注意旧版本的 SQLite 不支持只读操作。"

#. type: item
#: guix-git/doc/guix.texi:31618
#, fuzzy, no-wrap
msgid "@code{hourly-days} (default: @code{4}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31623
#, fuzzy
msgid "Data retention duration for the one hour resolution entries.  The configuration defines for how many past days entries will be stored.  Set to @code{-1} for unlimited entries or to @code{0} to disable the data collection of this resolution."
msgstr "一小时分辨率条目的数据保留期限。配置定义了将存储多少过去的天数条目。设置为 @code{-1} 以无限制条目,或设置为 @code{0} 以禁用此分辨率的数据收集。"

#. type: item
#: guix-git/doc/guix.texi:31624 guix-git/doc/guix.texi:36942
#: guix-git/doc/guix.texi:42442 guix-git/doc/guix.texi:43324
#: guix-git/doc/guix.texi:49085
#, fuzzy, no-wrap
msgid "@code{log-file} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31627
#, fuzzy
msgid "Specify log file path and name to be used if @var{use-logging} is set to @code{1}."
msgstr "如果 @var{use-logging} 设置为 @code{1},请指定要使用的日志文件路径和名称。"

#. type: item
#: guix-git/doc/guix.texi:31628
#, fuzzy, no-wrap
msgid "@code{max-bandwidth} (type: maybe-integer)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31633
#, fuzzy
msgid "Maximum bandwidth for all interfaces.  If the interface specific traffic exceeds the given value then the data is assumed to be invalid and rejected.  Set to 0 in order to disable the feature.  Value range: @samp{0}..@samp{50000}"
msgstr "所有接口的最大带宽。如果特定接口的流量超过给定值,则数据被视为无效并被拒绝。设置为 0 以禁用该功能。值范围:@samp{0}..@samp{50000}"

#. type: item
#: guix-git/doc/guix.texi:31634
#, fuzzy, no-wrap
msgid "@code{max-bw} (type: maybe-alist)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31638
#, fuzzy
msgid "Same as @var{max-bandwidth} but can be used for setting individual limits for selected interfaces.  This is an association list of interfaces as strings to integer values.  For example,"
msgstr "与 @var{max-bandwidth} 相同,但可用于为选定接口设置单独的限制。这是一个接口与整数值的字符串关联列表。例如,"

#. type: lisp
#: guix-git/doc/guix.texi:31641
#, fuzzy, no-wrap
msgid ""
"(max-bw `((\"eth0\" .  15000)\n"
"          (\"ppp0\" .  10000)))\n"
msgstr ""
"(max-bw `((\"eth0\" .  15000)\n"
"          (\"ppp0\" .  10000)))\n"

#. type: table
#: guix-git/doc/guix.texi:31644
#, fuzzy
msgid "@var{bandwidth-detection} is disabled on an interface specific level for each @var{max-bw} configuration.  Value range: @samp{0}..@samp{50000}"
msgstr "@var{bandwidth-detection} 在每个 @var{max-bw} 配置的接口特定级别上被禁用。值范围:@samp{0}..@samp{50000}"

#. type: item
#: guix-git/doc/guix.texi:31645
#, fuzzy, no-wrap
msgid "@code{monthly-months} (default: @code{25}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31650
#, fuzzy
msgid "Data retention duration for the one month resolution entries.  The configuration defines for how many past months entries will be stored.  Set to @code{-1} for unlimited entries or to @code{0} to disable the data collection of this resolution."
msgstr "一个月分辨率条目的数据保留期限。配置定义了将存储多少个月的过去条目。设置为 @code{-1} 以无限制条目,或设置为 @code{0} 以禁用此分辨率的数据收集。"

#. type: item
#: guix-git/doc/guix.texi:31651
#, fuzzy, no-wrap
msgid "@code{month-rotate} (default: @code{1}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31658
#, fuzzy
msgid "Day of month that months are expected to change.  Usually set to 1 but can be set to alternative values for example for tracking monthly billed traffic where the billing period doesn't start on the first day.  For example, if set to 7, days of February up to and including the 6th will count for January.  Changing this option will not cause existing data to be recalculated.  Value range: @samp{1}..@samp{28}"
msgstr "预计月份变化的日期。通常设置为 1,但可以设置为其他值,例如跟踪每月计费流量,其中计费周期不从第一天开始。例如,如果设置为 7,则 2 月的 6 日及之前的天数将计入 1 月。更改此选项不会导致现有数据重新计算。值范围:@samp{1}..@samp{28}"

#. type: item
#: guix-git/doc/guix.texi:31659
#, fuzzy, no-wrap
msgid "@code{month-rotate-affects-years?} (default: @code{#f}) (type: maybe-boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31662
#, fuzzy
msgid "Enable or disable @var{month-rotate} also affecting yearly data.  Applicable only when @var{month-rotate} has a value greater than one."
msgstr "启用或禁用 @var{month-rotate},也影响年度数据。仅在 @var{month-rotate} 的值大于 1 时适用。"

#. type: item
#: guix-git/doc/guix.texi:31663
#, fuzzy, no-wrap
msgid "@code{offline-save-interval} (default: @code{30}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31667
#, fuzzy
msgid "How often in minutes cached interface data is saved to file when all monitored interfaces are offline.  Value range: @var{save-interval}..@samp{60}"
msgstr "当所有监控的接口处于离线状态时,缓存的接口数据保存到文件的频率(以分钟为单位)。值范围:@var{save-interval}..@samp{60}"

#. type: item
#: guix-git/doc/guix.texi:31668
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/var/run/vnstatd.pid\"}) (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31670
#, fuzzy
msgid "Specify pid file path and name to be used."
msgstr "指定要使用的 pid 文件路径和名称。"

#. type: item
#: guix-git/doc/guix.texi:31671
#, fuzzy, no-wrap
msgid "@code{poll-interval} (default: @code{5}) (type: maybe-integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31674
#, fuzzy
msgid "How often in seconds interfaces are checked for status changes.  Value range: @samp{2}..@samp{60}"
msgstr "检查接口状态变化的频率(以秒为单位)。值范围:@samp{2}..@samp{60}"

#. type: item
#: guix-git/doc/guix.texi:31675
#, fuzzy, no-wrap
msgid "@code{rescan-database-on-save?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:31680
#, fuzzy
msgid "Automatically discover added interfaces from the database and start monitoring.  The rescan is done every @var{save-interval} or @var{offline-save-interval} minutes depending on the current activity state."
msgstr "自动从数据库发现添加的接口并开始监控。根据当前活动状态,每 @var{save-interval} 或 @var{offline-save-interval} 分钟进行一次重新扫描。"

#. type: item
#: guix-git/doc/guix.texi:31681
#, fuzzy, no-wrap
msgid "@code{save-interval} (default: @code{5}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31684
#, fuzzy
msgid "How often in minutes cached interface data is saved to file.  Value range: ( @var{update-interval} / 60 )..@samp{60}"
msgstr "缓存的接口数据保存到文件的频率(以分钟为单位)。值范围:( @var{update-interval} / 60 )..@samp{60}"

#. type: item
#: guix-git/doc/guix.texi:31685
#, fuzzy, no-wrap
msgid "@code{save-on-status-change?} (default: @code{#t}) (type: maybe-boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31689
#, fuzzy
msgid "Enable or disable the additional saving to file of cached interface data when the availability of an interface changes, i.e., when an interface goes offline or comes online."
msgstr "启用或禁用在接口状态变化时(即接口下线或上线时)将缓存的接口数据额外保存到文件中。"

#. type: item
#: guix-git/doc/guix.texi:31690
#, fuzzy, no-wrap
msgid "@code{time-sync-wait} (default: @code{5}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31696
#, fuzzy
msgid "How many minutes to wait during daemon startup for system clock to sync if most recent database update appears to be in the future.  This may be needed in systems without a real-time clock (RTC) which require some time after boot to query and set the correct time.  @code{0} = wait disabled.  Value range: @samp{0}..@samp{60}"
msgstr "在守护进程启动期间,如果最近的数据库更新似乎在未来,则等待系统时钟同步的分钟数。这在没有实时钟(RTC)的系统中可能是必要的,这些系统在启动后需要一些时间来查询和设置正确的时间。@code{0} = 等待禁用。值范围:@samp{0}..@samp{60}"

#. type: item
#: guix-git/doc/guix.texi:31697
#, fuzzy, no-wrap
msgid "@code{top-day-entries} (default: @code{20}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31702
#, fuzzy
msgid "Data retention duration for the top day entries.  The configuration defines how many of the past top day entries will be stored.  Set to @code{-1} for unlimited entries or to @code{0} to disable the data collection of this resolution."
msgstr "顶级日条目的数据保留持续时间。配置定义将存储过去多少个顶级日条目。设置为@code{-1}以无限制条目,或设置为@code{0}以禁用此分辨率的数据收集。"

#. type: item
#: guix-git/doc/guix.texi:31703
#, fuzzy, no-wrap
msgid "@code{trafficless-entries?} (default: @code{#t}) (type: maybe-boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31706
#, fuzzy
msgid "Create database entries even when there is no traffic during the entry's time period."
msgstr "即使在条目的时间段内没有流量,也创建数据库条目。"

#. type: item
#: guix-git/doc/guix.texi:31707
#, fuzzy, no-wrap
msgid "@code{update-file-owner?} (default: @code{#t}) (type: maybe-boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31716
#, fuzzy
msgid "Enable or disable the update of file ownership during daemon process startup.  During daemon startup, only database, log and pid files will be modified if the user or group change feature ( @var{daemon-user} or @var{daemon-group} ) is enabled and the files don't match the requested user or group.  During manual database creation, this option will cause file ownership to be inherited from the database directory if the directory already exists.  This option only has effect when the process is started as root or via sudo."
msgstr "启用或禁用在守护进程启动期间更新文件所有权。在守护进程启动期间,仅在启用用户或组更改功能(@var{daemon-user}或@var{daemon-group})且文件与请求的用户或组不匹配时,数据库、日志和pid文件将被修改。在手动创建数据库时,如果目录已经存在,此选项将导致文件所有权从数据库目录继承。此选项仅在以root身份或通过sudo启动进程时有效。"

#. type: item
#: guix-git/doc/guix.texi:31717
#, fuzzy, no-wrap
msgid "@code{update-interval} (default: @code{20}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31720
#, fuzzy
msgid "How often in seconds the interface data is updated.  Value range: @var{poll-interval}..@samp{300}"
msgstr "接口数据更新的频率(以秒为单位)。值范围:@var{poll-interval}..@samp{300}"

#. type: item
#: guix-git/doc/guix.texi:31721
#, fuzzy, no-wrap
msgid "@code{use-logging} (default: @code{2}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31724
#, fuzzy
msgid "Enable or disable logging.  Accepted values are: @code{0} = disabled, @code{1} = logfile and @code{2} = syslog."
msgstr "启用或禁用日志记录。接受的值为:@code{0} = 禁用,@code{1} = 日志文件,@code{2} = 系统日志。"

#. type: item
#: guix-git/doc/guix.texi:31725
#, fuzzy, no-wrap
msgid "@code{use-utc?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:31731
#, fuzzy
msgid "Enable or disable using UTC as timezone in the database for all entries.  When enabled, all entries added to the database will use UTC regardless of the configured system timezone.  When disabled, the configured system timezone will be used.  Changing this setting will not result in already existing data to be modified."
msgstr "启用或禁用在数据库中对所有条目使用UTC作为时区。当启用时,添加到数据库的所有条目将使用UTC,而不管配置的系统时区。当禁用时,将使用配置的系统时区。更改此设置不会导致已存在的数据被修改。"

#. type: item
#: guix-git/doc/guix.texi:31732
#, fuzzy, no-wrap
msgid "@code{yearly-years} (default: @code{-1}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31737
#, fuzzy
msgid "Data retention duration for the one year resolution entries.  The configuration defines for how many past years entries will be stored.  Set to @code{-1} for unlimited entries or to @code{0} to disable the data collection of this resolution."
msgstr "一年分辨率条目的数据保留持续时间。配置定义将存储过去多少年的条目。设置为@code{-1}以无限制条目,或设置为@code{0}以禁用此分辨率的数据收集。"

#. type: subsubheading
#: guix-git/doc/guix.texi:31742
#, fuzzy, no-wrap
msgid "Zabbix server"
msgstr "Zabbix 服务器"

#. type: cindex
#: guix-git/doc/guix.texi:31743
#, fuzzy, no-wrap
msgid "zabbix zabbix-server"
msgstr "zabbix zabbix-server"

#. type: Plain text
#: guix-git/doc/guix.texi:31748
#, fuzzy
msgid "Zabbix is a high performance monitoring system that can collect data from a variety of sources and provide the results in a web-based interface.  Alerting and reporting is built-in, as well as @dfn{templates} for common operating system metrics such as network utilization, CPU load, and disk space consumption."
msgstr "Zabbix 是一个高性能监控系统,可以从各种来源收集数据,并通过基于 Web 的界面提供结果。内置了警报和报告功能,以及用于常见操作系统指标(如网络利用率、CPU 负载和磁盘空间消耗)的 @dfn{模板}。"

#. type: Plain text
#: guix-git/doc/guix.texi:31755
#, fuzzy
msgid "This service provides the central Zabbix monitoring service; you also need @ref{zabbix-front-end,@code{zabbix-front-end-service-type}} to configure Zabbix and display results, and optionally @ref{zabbix-agent, @code{zabbix-agent-service-type}} on machines that should be monitored (other data sources are supported, such as @ref{prometheus-node-exporter, Prometheus Node Exporter})."
msgstr "此服务提供中央 Zabbix 监控服务;您还需要 @ref{zabbix-front-end,@code{zabbix-front-end-service-type}} 来配置 Zabbix 并显示结果,并可选择在应监控的机器上使用 @ref{zabbix-agent, @code{zabbix-agent-service-type}}(还支持其他数据源,例如 @ref{prometheus-node-exporter, Prometheus Node Exporter})。"

#. type: defvar
#: guix-git/doc/guix.texi:31756
#, fuzzy, no-wrap
msgid "zabbix-server-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:31759
#, fuzzy
msgid "This is the service type for the Zabbix server service.  Its value must be a @code{zabbix-server-configuration} record, shown below."
msgstr "这是 Zabbix 服务器服务的服务类型。其值必须是 @code{zabbix-server-configuration} 记录,如下所示。"

#. type: deftp
#: guix-git/doc/guix.texi:31763
#, fuzzy, no-wrap
msgid "{Data Type} zabbix-server-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:31765
#, fuzzy
msgid "Available @code{zabbix-server-configuration} fields are:"
msgstr "可用的 @code{zabbix-server-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:31767 guix-git/doc/guix.texi:31930
#, fuzzy, no-wrap
msgid "@code{zabbix-server} (default: @code{zabbix-server}) (type: file-like)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31769
#, fuzzy
msgid "The zabbix-server package."
msgstr "zabbix-server 包。"

#. type: item
#: guix-git/doc/guix.texi:31770 guix-git/doc/guix.texi:31856
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"zabbix\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:31772
#, fuzzy
msgid "User who will run the Zabbix server."
msgstr "将运行 Zabbix 服务器的用户。"

#. type: item
#: guix-git/doc/guix.texi:31773 guix-git/doc/guix.texi:31859
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"zabbix\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:31775
#, fuzzy
msgid "Group who will run the Zabbix server."
msgstr "将运行 Zabbix 服务器的组。"

#. type: item
#: guix-git/doc/guix.texi:31776
#, fuzzy, no-wrap
msgid "@code{db-host} (default: @code{\"127.0.0.1\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:31778 guix-git/doc/guix.texi:31940
#, fuzzy
msgid "Database host name."
msgstr "数据库主机名。"

#. type: item
#: guix-git/doc/guix.texi:31779 guix-git/doc/guix.texi:31944
#, fuzzy, no-wrap
msgid "@code{db-name} (default: @code{\"zabbix\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31781 guix-git/doc/guix.texi:31946
#, fuzzy
msgid "Database name."
msgstr "数据库名称。"

#. type: item
#: guix-git/doc/guix.texi:31782 guix-git/doc/guix.texi:31947
#, fuzzy, no-wrap
msgid "@code{db-user} (default: @code{\"zabbix\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:31784 guix-git/doc/guix.texi:31949
#, fuzzy
msgid "Database user."
msgstr "数据库用户。"

#. type: item
#: guix-git/doc/guix.texi:31785 guix-git/doc/guix.texi:31950
#, fuzzy, no-wrap
msgid "@code{db-password} (default: @code{\"\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31788
#, fuzzy
msgid "Database password.  Please, use @code{include-files} with @code{DBPassword=SECRET} inside a specified file instead."
msgstr "数据库密码。请使用 @code{include-files},并在指定文件中使用 @code{DBPassword=SECRET}。"

#. type: item
#: guix-git/doc/guix.texi:31789 guix-git/doc/guix.texi:31941
#, fuzzy, no-wrap
msgid "@code{db-port} (default: @code{5432}) (type: number)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31791 guix-git/doc/guix.texi:31943
#, fuzzy
msgid "Database port."
msgstr "数据库端口。"

#. type: item
#: guix-git/doc/guix.texi:31792 guix-git/doc/guix.texi:31866
#, fuzzy, no-wrap
msgid "@code{log-type} (default: @code{\"\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:31794 guix-git/doc/guix.texi:31868
#, fuzzy
msgid "Specifies where log messages are written to:"
msgstr "指定日志消息写入的位置:"

#. type: itemize
#: guix-git/doc/guix.texi:31797 guix-git/doc/guix.texi:31872
#, fuzzy, no-wrap
msgid "@code{system} - syslog."
msgstr "@code{system} - syslog。"

#. type: item
#: guix-git/doc/guix.texi:31799
#, fuzzy, no-wrap
msgid "@code{file} - file specified with @code{log-file} parameter."
msgstr "@code{file} - 使用 @code{log-file} 参数指定的文件。"

#. type: item
#: guix-git/doc/guix.texi:31801 guix-git/doc/guix.texi:31876
#, fuzzy, no-wrap
msgid "@code{console} - standard output."
msgstr "@code{console} - 标准输出。"

#. type: item
#: guix-git/doc/guix.texi:31805
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{\"/var/log/zabbix/server.log\"}) (type: string)"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:31807 guix-git/doc/guix.texi:31882
#, fuzzy
msgid "Log file name for @code{log-type} @code{file} parameter."
msgstr "@code{log-type} @code{file} 参数的日志文件名。"

#. type: item
#: guix-git/doc/guix.texi:31808
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/var/run/zabbix/zabbix_server.pid\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31810 guix-git/doc/guix.texi:31885
#, fuzzy
msgid "Name of PID file."
msgstr "PID 文件的名称。"

#. type: item
#: guix-git/doc/guix.texi:31811
#, fuzzy, no-wrap
msgid "@code{ssl-ca-location} (default: @code{\"/etc/ssl/certs/ca-certificates.crt\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:31814
#, fuzzy
msgid "The location of certificate authority (CA) files for SSL server certificate verification."
msgstr "SSL 服务器证书验证的证书颁发机构 (CA) 文件的位置。"

#. type: item
#: guix-git/doc/guix.texi:31815
#, fuzzy, no-wrap
msgid "@code{ssl-cert-location} (default: @code{\"/etc/ssl/certs\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:31817
#, fuzzy
msgid "Location of SSL client certificates."
msgstr "SSL 客户端证书的位置。"

#. type: item
#: guix-git/doc/guix.texi:31818 guix-git/doc/guix.texi:31896
#, fuzzy, no-wrap
msgid "@code{extra-options} (default: @code{\"\"}) (type: extra-options)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:31820 guix-git/doc/guix.texi:31898
#, fuzzy
msgid "Extra options will be appended to Zabbix server configuration file."
msgstr "额外选项将附加到 Zabbix 服务器配置文件中。"

#. type: item
#: guix-git/doc/guix.texi:31821 guix-git/doc/guix.texi:31899
#, fuzzy, no-wrap
msgid "@code{include-files} (default: @code{'()}) (type: include-files)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:31824 guix-git/doc/guix.texi:31902
#, fuzzy
msgid "You may include individual files or all files in a directory in the configuration file."
msgstr "您可以在配置文件中包含单个文件或目录中的所有文件。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:31833
#, fuzzy
msgid "zabbix-agent"
msgstr "zabbix-agent"

#. type: subsubheading
#: guix-git/doc/guix.texi:31833
#, fuzzy, no-wrap
msgid "Zabbix agent"
msgstr "Zabbix 代理"

#. type: cindex
#: guix-git/doc/guix.texi:31834
#, fuzzy, no-wrap
msgid "zabbix zabbix-agent"
msgstr "zabbix zabbix-agent"

#. type: Plain text
#: guix-git/doc/guix.texi:31841
#, fuzzy
msgid "The Zabbix agent gathers information about the running system for the Zabbix monitoring server.  It has a variety of built-in checks, and can be extended with custom @uref{https://www.zabbix.com/documentation/current/en/manual/config/items/userparameters, @dfn{user parameters}}."
msgstr "Zabbix 代理收集有关运行系统的信息,以供 Zabbix 监控服务器使用。它具有多种内置检查,并可以通过自定义 @uref{https://www.zabbix.com/documentation/current/en/manual/config/items/userparameters, @dfn{用户参数}} 扩展。"

#. type: defvar
#: guix-git/doc/guix.texi:31842
#, fuzzy, no-wrap
msgid "zabbix-agent-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:31845
#, fuzzy
msgid "This is the service type for the Zabbix agent service.  Its value must be a @code{zabbix-agent-configuration} record, shown below."
msgstr "这是Zabbix代理服务的服务类型。其值必须是下面所示的@code{zabbix-agent-configuration}记录。"

#. type: deftp
#: guix-git/doc/guix.texi:31849
#, fuzzy, no-wrap
msgid "{Data Type} zabbix-agent-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:31851
#, fuzzy
msgid "Available @code{zabbix-agent-configuration} fields are:"
msgstr "可用的@code{zabbix-agent-configuration}字段包括:"

#. type: item
#: guix-git/doc/guix.texi:31853
#, fuzzy, no-wrap
msgid "@code{zabbix-agent} (default: @code{zabbix-agentd}) (type: file-like)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31855
#, fuzzy
msgid "The zabbix-agent package."
msgstr "zabbix-agent软件包。"

#. type: table
#: guix-git/doc/guix.texi:31858
#, fuzzy
msgid "User who will run the Zabbix agent."
msgstr "将运行Zabbix代理的用户。"

#. type: table
#: guix-git/doc/guix.texi:31861
#, fuzzy
msgid "Group who will run the Zabbix agent."
msgstr "将运行Zabbix代理的组。"

#. type: item
#: guix-git/doc/guix.texi:31862
#, fuzzy, no-wrap
msgid "@code{hostname} (default: @code{\"\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31865
#, fuzzy
msgid "Unique, case sensitive hostname which is required for active checks and must match hostname as configured on the server."
msgstr "唯一的、区分大小写的主机名,活动检查所需,必须与服务器上配置的主机名匹配。"

#. type: item
#: guix-git/doc/guix.texi:31873
#, fuzzy, no-wrap
msgid "@code{file} - file specified with"
msgstr "@code{file} - 使用的文件"

#. type: itemize
#: guix-git/doc/guix.texi:31875
#, fuzzy
msgid "@code{log-file} parameter."
msgstr "@code{log-file}参数。"

#. type: item
#: guix-git/doc/guix.texi:31880
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{\"/var/log/zabbix/agent.log\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:31883
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/var/run/zabbix/zabbix_agent.pid\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:31886
#, fuzzy, no-wrap
msgid "@code{server} (default: @code{'(\"127.0.0.1\")}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:31890
#, fuzzy
msgid "List of IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers and Zabbix proxies.  Incoming connections will be accepted only from the hosts listed here."
msgstr "Zabbix服务器和Zabbix代理的IP地址列表,选项可以使用CIDR表示法,或主机名。仅接受来自此处列出的主机的传入连接。"

#. type: item
#: guix-git/doc/guix.texi:31891
#, fuzzy, no-wrap
msgid "@code{server-active} (default: @code{'(\"127.0.0.1\")}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:31895
#, fuzzy
msgid "List of IP:port (or hostname:port) pairs of Zabbix servers and Zabbix proxies for active checks.  If port is not specified, default port is used.  If this parameter is not specified, active checks are disabled."
msgstr "Zabbix服务器和Zabbix代理的IP:端口(或主机名:端口)对的列表,用于活动检查。如果未指定端口,则使用默认端口。如果未指定此参数,则禁用活动检查。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:31911
#, fuzzy
msgid "zabbix-front-end"
msgstr "zabbix-front-end"

#. type: subsubheading
#: guix-git/doc/guix.texi:31911
#, fuzzy, no-wrap
msgid "Zabbix front-end"
msgstr "Zabbix前端"

#. type: cindex
#: guix-git/doc/guix.texi:31912
#, fuzzy, no-wrap
msgid "zabbix zabbix-front-end"
msgstr "zabbix zabbix-front-end"

#. type: Plain text
#: guix-git/doc/guix.texi:31918
#, fuzzy
msgid "The Zabbix front-end provides a web interface to Zabbix.  It does not need to run on the same machine as the Zabbix server.  This service works by extending the @ref{PHP-FPM} and @ref{NGINX} services with the configuration necessary for loading the Zabbix user interface."
msgstr "Zabbix前端提供了Zabbix的Web界面。它不需要在与Zabbix服务器相同的机器上运行。此服务通过扩展@ref{PHP-FPM}和@ref{NGINX}服务,加载Zabbix用户界面所需的配置。"

#. type: defvar
#: guix-git/doc/guix.texi:31919
#, fuzzy, no-wrap
msgid "zabbix-front-end-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:31922
#, fuzzy
msgid "This is the service type for the Zabbix web frontend.  Its value must be a @code{zabbix-front-end-configuration} record, shown below."
msgstr "这是Zabbix Web前端的服务类型。其值必须是下面所示的@code{zabbix-front-end-configuration}记录。"

#. type: deftp
#: guix-git/doc/guix.texi:31926
#, fuzzy, no-wrap
msgid "{Data Type} zabbix-front-end-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:31928
#, fuzzy
msgid "Available @code{zabbix-front-end-configuration} fields are:"
msgstr "可用的@code{zabbix-front-end-configuration}字段包括:"

#. type: table
#: guix-git/doc/guix.texi:31932
#, fuzzy
msgid "The Zabbix server package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:31933
#, fuzzy, no-wrap
msgid "@code{nginx} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:31937
#, fuzzy
msgid "List of @ref{nginx-server-configuration,@code{nginx-server-configuration}} blocks for the Zabbix front-end.  When empty, a default that listens on port 80 is used."
msgstr "Zabbix前端的@ref{nginx-server-configuration,@code{nginx-server-configuration}}块列表。当为空时,使用监听端口80的默认值。"

#. type: item
#: guix-git/doc/guix.texi:31938
#, fuzzy, no-wrap
msgid "@code{db-host} (default: @code{\"localhost\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:31952
#, fuzzy
msgid "Database password.  Please, use @code{db-secret-file} instead."
msgstr "数据库密码。请使用@code{db-secret-file}代替。"

#. type: item
#: guix-git/doc/guix.texi:31953
#, fuzzy, no-wrap
msgid "@code{db-secret-file} (default: @code{\"\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:31957
#, fuzzy
msgid "Secret file which will be appended to @file{zabbix.conf.php} file.  This file contains credentials for use by Zabbix front-end.  You are expected to create it manually."
msgstr "将附加到@file{zabbix.conf.php}文件的秘密文件。此文件包含Zabbix前端使用的凭据。您需要手动创建它。"

#. type: item
#: guix-git/doc/guix.texi:31958
#, fuzzy, no-wrap
msgid "@code{zabbix-host} (default: @code{\"localhost\"}) (type: string)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:31960
#, fuzzy
msgid "Zabbix server hostname."
msgstr "Zabbix服务器主机名。"

#. type: item
#: guix-git/doc/guix.texi:31961
#, fuzzy, no-wrap
msgid "@code{zabbix-port} (default: @code{10051}) (type: number)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:31963
#, fuzzy
msgid "Zabbix server port."
msgstr "Zabbix服务器端口。"

#. type: cindex
#: guix-git/doc/guix.texi:31973
#, fuzzy, no-wrap
msgid "Kerberos"
msgstr "Kerberos"

#. type: Plain text
#: guix-git/doc/guix.texi:31977
#, fuzzy
msgid "The @code{(gnu services kerberos)} module provides services relating to the authentication protocol @dfn{Kerberos}."
msgstr "@code{(gnu services kerberos)}模块提供与身份验证协议@dfn{Kerberos}相关的服务。"

#. type: subsubheading
#: guix-git/doc/guix.texi:31978
#, fuzzy, no-wrap
msgid "Krb5 Service"
msgstr "Krb5服务"

#. type: Plain text
#: guix-git/doc/guix.texi:31985
#, fuzzy
msgid "Programs using a Kerberos client library normally expect a configuration file in @file{/etc/krb5.conf}.  This service generates such a file from a definition provided in the operating system declaration.  It does not cause any daemon to be started."
msgstr "使用Kerberos客户端库的程序通常期望在@file{/etc/krb5.conf}中有一个配置文件。此服务根据操作系统声明中提供的定义生成这样的文件。它不会导致任何守护进程启动。"

#. type: Plain text
#: guix-git/doc/guix.texi:31989
#, fuzzy
msgid "No ``keytab'' files are provided by this service---you must explicitly create them.  This service is known to work with the MIT client library, @code{mit-krb5}.  Other implementations have not been tested."
msgstr "此服务未提供``keytab''文件---您必须显式创建它们。此服务已知与MIT客户端库@code{mit-krb5}兼容。其他实现尚未经过测试。"

#. type: defvar
#: guix-git/doc/guix.texi:31990
#, fuzzy, no-wrap
msgid "krb5-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:31992
#, fuzzy
msgid "A service type for Kerberos 5 clients."
msgstr "Kerberos 5客户端的服务类型。"

#. type: Plain text
#: guix-git/doc/guix.texi:31996
#, fuzzy
msgid "Here is an example of its use:"
msgstr "以下是其用法示例:"

#. type: lisp
#: guix-git/doc/guix.texi:32010
#, fuzzy, no-wrap
msgid ""
"(service krb5-service-type\n"
"         (krb5-configuration\n"
"          (default-realm \"EXAMPLE.COM\")\n"
"          (allow-weak-crypto? #t)\n"
"          (realms (list\n"
"                   (krb5-realm\n"
"                    (name \"EXAMPLE.COM\")\n"
"                    (admin-server \"groucho.example.com\")\n"
"                    (kdc \"karl.example.com\"))\n"
"                   (krb5-realm\n"
"                    (name \"ARGRX.EDU\")\n"
"                    (admin-server \"kerb-admin.argrx.edu\")\n"
"                    (kdc \"keys.argrx.edu\"))))))\n"
msgstr ""
"(service krb5-service-type\n"
"         (krb5-configuration\n"
"          (default-realm \"EXAMPLE.COM\")\n"
"          (allow-weak-crypto? #t)\n"
"          (realms (list\n"
"                   (krb5-realm\n"
"                    (name \"EXAMPLE.COM\")\n"
"                    (admin-server \"groucho.example.com\")\n"
"                    (kdc \"karl.example.com\"))\n"
"                   (krb5-realm\n"
"                    (name \"ARGRX.EDU\")\n"
"                    (admin-server \"kerb-admin.argrx.edu\")\n"
"                    (kdc \"keys.argrx.edu\"))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:32014
#, fuzzy
msgid "This example provides a Kerberos@tie{}5 client configuration which:"
msgstr "此示例提供了一个Kerberos@tie{}5客户端配置,其中:"

#. type: item
#: guix-git/doc/guix.texi:32015
#, fuzzy, no-wrap
msgid "Recognizes two realms, @i{viz:} ``EXAMPLE.COM'' and ``ARGRX.EDU'', both"
msgstr "识别两个领域,@i{viz:} ``EXAMPLE.COM''和``ARGRX.EDU'',两者"

#. type: itemize
#: guix-git/doc/guix.texi:32017
#, fuzzy
msgid "of which have distinct administration servers and key distribution centers;"
msgstr "都有不同的管理服务器和密钥分发中心;"

#. type: item
#: guix-git/doc/guix.texi:32017
#, fuzzy, no-wrap
msgid "Will default to the realm ``EXAMPLE.COM'' if the realm is not explicitly"
msgstr "如果客户端未显式指定领域,则默认为领域``EXAMPLE.COM'';"

#. type: itemize
#: guix-git/doc/guix.texi:32019
#, fuzzy
msgid "specified by clients;"
msgstr "客户端未显式指定领域;"

#. type: item
#: guix-git/doc/guix.texi:32019
#, fuzzy, no-wrap
msgid "Accepts services which only support encryption types known to be weak."
msgstr "接受仅支持已知为弱的加密类型的服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:32027
#, fuzzy
msgid "The @code{krb5-realm} and @code{krb5-configuration} types have many fields.  Only the most commonly used ones are described here.  For a full list, and more detailed explanation of each, see the MIT @uref{https://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html,,krb5.conf} documentation."
msgstr "@code{krb5-realm}和@code{krb5-configuration}类型有许多字段。这里只描述了最常用的字段。有关完整列表和每个字段的详细说明,请参见MIT @uref{https://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html,,krb5.conf}文档。"

#. type: deftp
#: guix-git/doc/guix.texi:32029
#, fuzzy, no-wrap
msgid "{Data Type} krb5-realm"
msgstr "{数据类型} krb5-realm"

#. type: cindex
#: guix-git/doc/guix.texi:32030
#, fuzzy, no-wrap
msgid "realm, kerberos"
msgstr "领域,kerberos"

#. type: table
#: guix-git/doc/guix.texi:32036
#, fuzzy
msgid "This field is a string identifying the name of the realm.  A common convention is to use the fully qualified DNS name of your organization, converted to upper case."
msgstr "此字段是一个字符串,标识领域的名称。常见的约定是使用组织的完全限定DNS名称,并转换为大写。"

#. type: code{#1}
#: guix-git/doc/guix.texi:32037
#, fuzzy, no-wrap
msgid "admin-server"
msgstr "admin-server"

#. type: table
#: guix-git/doc/guix.texi:32040
#, fuzzy
msgid "This field is a string identifying the host where the administration server is running."
msgstr "此字段是一个字符串,标识管理服务器运行的主机。"

#. type: code{#1}
#: guix-git/doc/guix.texi:32041
#, fuzzy, no-wrap
msgid "kdc"
msgstr "kdc"

#. type: table
#: guix-git/doc/guix.texi:32044
#, fuzzy
msgid "This field is a string identifying the key distribution center for the realm."
msgstr "此字段是一个字符串,标识该领域的密钥分发中心。"

#. type: deftp
#: guix-git/doc/guix.texi:32047
#, fuzzy, no-wrap
msgid "{Data Type} krb5-configuration"
msgstr "{数据类型} krb5-configuration"

#. type: item
#: guix-git/doc/guix.texi:32050
#, fuzzy, no-wrap
msgid "@code{allow-weak-crypto?} (default: @code{#f})"
msgstr "@code{allow-weak-crypto?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32053
#, fuzzy
msgid "If this flag is @code{#t} then services which only offer encryption algorithms known to be weak will be accepted."
msgstr "如果此标志为@code{#t},则将接受仅提供已知为弱的加密算法的服务。"

#. type: item
#: guix-git/doc/guix.texi:32054
#, fuzzy, no-wrap
msgid "@code{default-realm} (default: @code{#f})"
msgstr "@code{default-realm}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32061
#, fuzzy
msgid "This field should be a string identifying the default Kerberos realm for the client.  You should set this field to the name of your Kerberos realm.  If this value is @code{#f} then a realm must be specified with every Kerberos principal when invoking programs such as @command{kinit}."
msgstr "此字段应为标识客户端默认 Kerberos 领域的字符串。您应将此字段设置为您的 Kerberos 领域的名称。如果此值为 @code{#f},则在调用诸如 @command{kinit} 的程序时,必须为每个 Kerberos 主体指定一个领域。"

#. type: code{#1}
#: guix-git/doc/guix.texi:32062
#, fuzzy, no-wrap
msgid "realms"
msgstr "领域"

#. type: table
#: guix-git/doc/guix.texi:32067
#, fuzzy
msgid "This should be a non-empty list of @code{krb5-realm} objects, which clients may access.  Normally, one of them will have a @code{name} field matching the @code{default-realm} field."
msgstr "这应该是一个非空的 @code{krb5-realm} 对象列表,客户端可以访问。通常,其中一个将具有与 @code{default-realm} 字段匹配的 @code{name} 字段。"

#. type: subsubheading
#: guix-git/doc/guix.texi:32071
#, fuzzy, no-wrap
msgid "PAM krb5 Service"
msgstr "PAM krb5 服务"

#. type: cindex
#: guix-git/doc/guix.texi:32072
#, fuzzy, no-wrap
msgid "pam-krb5"
msgstr "pam-krb5"

#. type: Plain text
#: guix-git/doc/guix.texi:32078
#, fuzzy
msgid "The @code{pam-krb5} service allows for login authentication and password management via Kerberos.  You will need this service if you want PAM enabled applications to authenticate users using Kerberos."
msgstr "@code{pam-krb5} 服务允许通过 Kerberos 进行登录身份验证和密码管理。如果您希望启用 PAM 的应用程序使用 Kerberos 进行用户身份验证,则需要此服务。"

#. type: defvar
#: guix-git/doc/guix.texi:32079
#, fuzzy, no-wrap
msgid "pam-krb5-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:32081
#, fuzzy
msgid "A service type for the Kerberos 5 PAM module."
msgstr "Kerberos 5 PAM 模块的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:32083
#, fuzzy, no-wrap
msgid "{Data Type} pam-krb5-configuration"
msgstr "{数据类型} pam-krb5-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:32086
#, fuzzy
msgid "Data type representing the configuration of the Kerberos 5 PAM module.  This type has the following parameters:"
msgstr "表示 Kerberos 5 PAM 模块配置的数据类型。此类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:32087
#, fuzzy, no-wrap
msgid "@code{pam-krb5} (default: @code{pam-krb5})"
msgstr "@code{pam-krb5}(默认值:@code{pam-krb5})"

#. type: table
#: guix-git/doc/guix.texi:32089
#, fuzzy
msgid "The pam-krb5 package to use."
msgstr "要使用的 pam-krb5 包。"

#. type: item
#: guix-git/doc/guix.texi:32090
#, fuzzy, no-wrap
msgid "@code{minimum-uid} (default: @code{1000})"
msgstr "@code{minimum-uid}(默认值:@code{1000})"

#. type: table
#: guix-git/doc/guix.texi:32093
#, fuzzy
msgid "The smallest user ID for which Kerberos authentications should be attempted.  Local accounts with lower values will silently fail to authenticate."
msgstr "应尝试进行 Kerberos 身份验证的最小用户 ID。具有较低值的本地帐户将默默失败进行身份验证。"

#. type: cindex
#: guix-git/doc/guix.texi:32099
#, fuzzy, no-wrap
msgid "LDAP"
msgstr "LDAP"

#. type: subsubheading
#: guix-git/doc/guix.texi:32101
#, fuzzy, no-wrap
msgid "Authentication against LDAP with nslcd"
msgstr "通过 nslcd 对 LDAP 进行身份验证"

#. type: cindex
#: guix-git/doc/guix.texi:32102
#, fuzzy, no-wrap
msgid "nslcd, LDAP service"
msgstr "nslcd,LDAP 服务"

#. type: Plain text
#: guix-git/doc/guix.texi:32109
#, fuzzy
msgid "The @code{(gnu services authentication)} module provides the @code{nslcd-service-type}, which can be used to authenticate against an LDAP server.  In addition to configuring the service itself, you may want to add @code{ldap} as a name service to the Name Service Switch. @xref{Name Service Switch} for detailed information."
msgstr "@code{(gnu services authentication)} 模块提供 @code{nslcd-service-type},可用于对 LDAP 服务器进行身份验证。除了配置服务本身外,您可能还希望将 @code{ldap} 添加为名称服务到名称服务开关中。有关详细信息,请参见 @xref{Name Service Switch}。"

#. type: Plain text
#: guix-git/doc/guix.texi:32113
#, fuzzy
msgid "Here is a simple operating system declaration with a default configuration of the @code{nslcd-service-type} and a Name Service Switch configuration that consults the @code{ldap} name service last:"
msgstr "这是一个简单的操作系统声明,具有 @code{nslcd-service-type} 的默认配置和最后咨询 @code{ldap} 名称服务的名称服务开关配置:"

#. type: lisp
#: guix-git/doc/guix.texi:32136
#, fuzzy, no-wrap
msgid ""
"(use-service-modules authentication)\n"
"(use-modules (gnu system nss))\n"
"...\n"
"(operating-system\n"
"  ...\n"
"  (services\n"
"    (cons*\n"
"      (service nslcd-service-type)\n"
"      (service dhcp-client-service-type)\n"
"      %base-services))\n"
"  (name-service-switch\n"
"   (let ((services (list (name-service (name \"db\"))\n"
"                         (name-service (name \"files\"))\n"
"                         (name-service (name \"ldap\")))))\n"
"     (name-service-switch\n"
"      (inherit %mdns-host-lookup-nss)\n"
"      (password services)\n"
"      (shadow   services)\n"
"      (group    services)\n"
"      (netgroup services)\n"
"      (gshadow  services)))))\n"
msgstr ""
"(use-service-modules authentication)\n"
"(use-modules (gnu system nss))\n"
"...\n"
"(operating-system\n"
"  ...\n"
"  (services\n"
"    (cons*\n"
"      (service nslcd-service-type)\n"
"      (service dhcp-client-service-type)\n"
"      %base-services))\n"
"  (name-service-switch\n"
"   (let ((services (list (name-service (name \"db\"))\n"
"                         (name-service (name \"files\"))\n"
"                         (name-service (name \"ldap\")))))\n"
"     (name-service-switch\n"
"      (inherit %mdns-host-lookup-nss)\n"
"      (password services)\n"
"      (shadow   services)\n"
"      (group    services)\n"
"      (netgroup services)\n"
"      (gshadow  services)))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:32141
#, fuzzy
msgid "Available @code{nslcd-configuration} fields are:"
msgstr "可用的 @code{nslcd-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:32142
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} package nss-pam-ldapd"
msgstr "{@code{nslcd-configuration} 参数} 包 nss-pam-ldapd"

#. type: deftypevr
#: guix-git/doc/guix.texi:32144
#, fuzzy
msgid "The @code{nss-pam-ldapd} package to use."
msgstr "要使用的 @code{nss-pam-ldapd} 包。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32147
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-number threads"
msgstr "{@code{nslcd-configuration} 参数} 可能是数字线程"

#. type: deftypevr
#: guix-git/doc/guix.texi:32151
#, fuzzy
msgid "The number of threads to start that can handle requests and perform LDAP queries.  Each thread opens a separate connection to the LDAP server.  The default is to start 5 threads."
msgstr "要启动的线程数,可以处理请求并执行 LDAP 查询。每个线程打开与 LDAP 服务器的单独连接。默认启动 5 个线程。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32156
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} string uid"
msgstr "{@code{nslcd-configuration} 参数} 字符串 uid"

#. type: deftypevr
#: guix-git/doc/guix.texi:32158
#, fuzzy
msgid "This specifies the user id with which the daemon should be run."
msgstr "这指定了守护进程应以哪个用户 ID 运行。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32160 guix-git/doc/guix.texi:32167
#, fuzzy
msgid "Defaults to @samp{\"nslcd\"}."
msgstr "默认为 @samp{\"nslcd\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32163
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} string gid"
msgstr "{@code{nslcd-configuration} 参数} 字符串 gid"

#. type: deftypevr
#: guix-git/doc/guix.texi:32165
#, fuzzy
msgid "This specifies the group id with which the daemon should be run."
msgstr "这指定了守护进程应以哪个组 ID 运行。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32170
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} log-option log"
msgstr "{@code{nslcd-configuration} 参数} 日志选项 log"

#. type: deftypevr
#: guix-git/doc/guix.texi:32178
#, fuzzy
msgid "This option controls the way logging is done via a list containing SCHEME and LEVEL@.  The SCHEME argument may either be the symbols @samp{none} or @samp{syslog}, or an absolute file name.  The LEVEL argument is optional and specifies the log level.  The log level may be one of the following symbols: @samp{crit}, @samp{error}, @samp{warning}, @samp{notice}, @samp{info} or @samp{debug}.  All messages with the specified log level or higher are logged."
msgstr "此选项控制通过包含 SCHEME 和 LEVEL@ 的列表进行日志记录的方式。SCHEME 参数可以是 @samp{none} 或 @samp{syslog} 的符号,或绝对文件名。LEVEL 参数是可选的,指定日志级别。日志级别可以是以下符号之一:@samp{crit}、@samp{error}、@samp{warning}、@samp{notice}、@samp{info} 或 @samp{debug}。所有具有指定日志级别或更高的消息都会被记录。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32180
#, fuzzy
msgid "Defaults to @samp{'(\"/var/log/nslcd\" info)}."
msgstr "默认为 @samp{'(\"/var/log/nslcd\" info)}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32183
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} list uri"
msgstr "{@code{nslcd-configuration} 参数} 列表 uri"

#. type: deftypevr
#: guix-git/doc/guix.texi:32186
#, fuzzy
msgid "The list of LDAP server URIs.  Normally, only the first server will be used with the following servers as fall-back."
msgstr "LDAP 服务器 URI 的列表。通常,只有第一个服务器会被使用,后续服务器作为备用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32188
#, fuzzy
msgid "Defaults to @samp{'(\"ldap://localhost:389/\")}."
msgstr "默认为 @samp{'(\"ldap://localhost:389/\")}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32191
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string ldap-version"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 ldap-version"

#. type: deftypevr
#: guix-git/doc/guix.texi:32194
#, fuzzy
msgid "The version of the LDAP protocol to use.  The default is to use the maximum version supported by the LDAP library."
msgstr "要使用的 LDAP 协议版本。默认使用 LDAP 库支持的最大版本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32199
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string binddn"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 binddn"

#. type: deftypevr
#: guix-git/doc/guix.texi:32202
#, fuzzy
msgid "Specifies the distinguished name with which to bind to the directory server for lookups.  The default is to bind anonymously."
msgstr "指定用于查找的目录服务器的绑定的区分名称。默认情况下以匿名身份绑定。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32207
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string bindpw"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 bindpw"

#. type: deftypevr
#: guix-git/doc/guix.texi:32210
#, fuzzy
msgid "Specifies the credentials with which to bind.  This option is only applicable when used with binddn."
msgstr "指定用于绑定的凭据。此选项仅在与 binddn 一起使用时适用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32215
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string rootpwmoddn"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 rootpwmoddn"

#. type: deftypevr
#: guix-git/doc/guix.texi:32218
#, fuzzy
msgid "Specifies the distinguished name to use when the root user tries to modify a user's password using the PAM module."
msgstr "指定当根用户尝试使用 PAM 模块修改用户密码时使用的区分名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32223
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string rootpwmodpw"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 rootpwmodpw"

#. type: deftypevr
#: guix-git/doc/guix.texi:32227
#, fuzzy
msgid "Specifies the credentials with which to bind if the root user tries to change a user's password.  This option is only applicable when used with rootpwmoddn"
msgstr "指定根用户尝试更改用户密码时用于绑定的凭据。此选项仅在与 rootpwmoddn 一起使用时适用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32232
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-mech"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 sasl-mech"

#. type: deftypevr
#: guix-git/doc/guix.texi:32235
#, fuzzy
msgid "Specifies the SASL mechanism to be used when performing SASL authentication."
msgstr "指定在执行 SASL 身份验证时使用的 SASL 机制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32240
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-realm"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 sasl-realm"

#. type: deftypevr
#: guix-git/doc/guix.texi:32242
#, fuzzy
msgid "Specifies the SASL realm to be used when performing SASL authentication."
msgstr "指定在执行 SASL 身份验证时使用的 SASL 领域。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32247
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-authcid"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 sasl-authcid"

#. type: deftypevr
#: guix-git/doc/guix.texi:32250
#, fuzzy
msgid "Specifies the authentication identity to be used when performing SASL authentication."
msgstr "指定在执行 SASL 身份验证时使用的身份验证身份。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32255
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-authzid"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 sasl-authzid"

#. type: deftypevr
#: guix-git/doc/guix.texi:32258
#, fuzzy
msgid "Specifies the authorization identity to be used when performing SASL authentication."
msgstr "指定在执行 SASL 身份验证时使用的授权身份。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32263
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-boolean sasl-canonicalize?"
msgstr "{@code{nslcd-configuration} 参数} 可能是布尔值 sasl-canonicalize?"

#. type: deftypevr
#: guix-git/doc/guix.texi:32268
#, fuzzy
msgid "Determines whether the LDAP server host name should be canonicalised.  If this is enabled the LDAP library will do a reverse host name lookup.  By default, it is left up to the LDAP library whether this check is performed or not."
msgstr "确定 LDAP 服务器主机名是否应被规范化。如果启用,LDAP 库将进行反向主机名查找。默认情况下,是否执行此检查由 LDAP 库决定。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32273
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string krb5-ccname"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 krb5-ccname"

#. type: deftypevr
#: guix-git/doc/guix.texi:32275
#, fuzzy
msgid "Set the name for the GSS-API Kerberos credentials cache."
msgstr "设置 GSS-API Kerberos 凭据缓存的名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32280
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} string base"
msgstr "{@code{nslcd-configuration} 参数} 字符串 base"

#. type: deftypevr
#: guix-git/doc/guix.texi:32282
#, fuzzy
msgid "The directory search base."
msgstr "目录搜索基准。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32284
#, fuzzy
msgid "Defaults to @samp{\"dc=example,dc=com\"}."
msgstr "默认为 @samp{\"dc=example,dc=com\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32287
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} scope-option scope"
msgstr "{@code{nslcd-configuration} 参数} 范围选项 scope"

#. type: deftypevr
#: guix-git/doc/guix.texi:32291
#, fuzzy
msgid "Specifies the search scope (subtree, onelevel, base or children).  The default scope is subtree; base scope is almost never useful for name service lookups; children scope is not supported on all servers."
msgstr "指定搜索范围(子树、单级、基础或子项)。默认范围是子树;基础范围几乎在名称服务查找中没有用;子项范围并非所有服务器都支持。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32293
#, fuzzy
msgid "Defaults to @samp{'(subtree)}."
msgstr "默认为 @samp{'(subtree)}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32296
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-deref-option deref"
msgstr "{@code{nslcd-configuration} 参数} 可能是解引用选项 deref"

#. type: deftypevr
#: guix-git/doc/guix.texi:32299
#, fuzzy
msgid "Specifies the policy for dereferencing aliases.  The default policy is to never dereference aliases."
msgstr "指定解引用别名的策略。默认策略是从不解引用别名。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32304
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-boolean referrals"
msgstr "{@code{nslcd-configuration} 参数} 可能是布尔值 referrals"

#. type: deftypevr
#: guix-git/doc/guix.texi:32307
#, fuzzy
msgid "Specifies whether automatic referral chasing should be enabled.  The default behaviour is to chase referrals."
msgstr "指定是否应启用自动引用追踪。默认行为是追踪引用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32312
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} list-of-map-entries maps"
msgstr "{@code{nslcd-configuration} 参数} 映射条目列表 maps"

#. type: deftypevr
#: guix-git/doc/guix.texi:32317
#, fuzzy
msgid "This option allows for custom attributes to be looked up instead of the default RFC 2307 attributes.  It is a list of maps, each consisting of the name of a map, the RFC 2307 attribute to match and the query expression for the attribute as it is available in the directory."
msgstr "此选项允许查找自定义属性,而不是默认的RFC 2307属性。它是一个映射列表,每个映射由映射名称、要匹配的RFC 2307属性和在目录中可用的属性查询表达式组成。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32322
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} list-of-filter-entries filters"
msgstr "{@code{nslcd-configuration} 参数} 过滤条目列表"

#. type: deftypevr
#: guix-git/doc/guix.texi:32325
#, fuzzy
msgid "A list of filters consisting of the name of a map to which the filter applies and an LDAP search filter expression."
msgstr "一个过滤器列表,由过滤器适用的映射名称和LDAP搜索过滤器表达式组成。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32330
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-number bind-timelimit"
msgstr "{@code{nslcd-configuration} 参数} 可能的数字 绑定时间限制"

#. type: deftypevr
#: guix-git/doc/guix.texi:32333
#, fuzzy
msgid "Specifies the time limit in seconds to use when connecting to the directory server.  The default value is 10 seconds."
msgstr "指定连接到目录服务器时使用的时间限制(以秒为单位)。默认值为10秒。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32338
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-number timelimit"
msgstr "{@code{nslcd-configuration} 参数} 可能的数字 时间限制"

#. type: deftypevr
#: guix-git/doc/guix.texi:32342
#, fuzzy
msgid "Specifies the time limit (in seconds) to wait for a response from the LDAP server.  A value of zero, which is the default, is to wait indefinitely for searches to be completed."
msgstr "指定等待LDAP服务器响应的时间限制(以秒为单位)。零值(默认值)表示无限期等待搜索完成。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32347
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-number idle-timelimit"
msgstr "{@code{nslcd-configuration} 参数} 可能的数字 空闲时间限制"

#. type: deftypevr
#: guix-git/doc/guix.texi:32351
#, fuzzy
msgid "Specifies the period if inactivity (in seconds) after which the con‐ nection to the LDAP server will be closed.  The default is not to time out connections."
msgstr "指定在不活动期间(以秒为单位)后关闭与LDAP服务器的连接。默认情况下,不会超时连接。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32356
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-number reconnect-sleeptime"
msgstr "{@code{nslcd-configuration} 参数} 可能的数字 重新连接睡眠时间"

#. type: deftypevr
#: guix-git/doc/guix.texi:32360
#, fuzzy
msgid "Specifies the number of seconds to sleep when connecting to all LDAP servers fails.  By default one second is waited between the first failure and the first retry."
msgstr "指定在连接到所有LDAP服务器失败时的睡眠秒数。默认情况下,在第一次失败和第一次重试之间等待一秒。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32365
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-number reconnect-retrytime"
msgstr "{@code{nslcd-configuration} 参数} 可能的数字 重新连接重试时间"

#. type: deftypevr
#: guix-git/doc/guix.texi:32369
#, fuzzy
msgid "Specifies the time after which the LDAP server is considered to be permanently unavailable.  Once this time is reached retries will be done only once per this time period.  The default value is 10 seconds."
msgstr "指定LDAP服务器被认为永久不可用的时间。一旦达到此时间,将仅在此时间段内重试一次。默认值为10秒。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32374
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-ssl-option ssl"
msgstr "{@code{nslcd-configuration} 参数} 可能的ssl选项 ssl"

#. type: deftypevr
#: guix-git/doc/guix.texi:32378
#, fuzzy
msgid "Specifies whether to use SSL/TLS or not (the default is not to).  If 'start-tls is specified then StartTLS is used rather than raw LDAP over SSL."
msgstr "指定是否使用SSL/TLS(默认情况下不使用)。如果指定了'start-tls,则使用StartTLS而不是原始的SSL上的LDAP。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32383
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-tls-reqcert-option tls-reqcert"
msgstr "{@code{nslcd-configuration} 参数} 可能的tls-reqcert选项 tls-reqcert"

#. type: deftypevr
#: guix-git/doc/guix.texi:32386
#, fuzzy
msgid "Specifies what checks to perform on a server-supplied certificate.  The meaning of the values is described in the ldap.conf(5) manual page."
msgstr "指定对服务器提供的证书执行哪些检查。值的含义在ldap.conf(5)手册页中描述。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32391
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cacertdir"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 tls-cacertdir"

#. type: deftypevr
#: guix-git/doc/guix.texi:32394
#, fuzzy
msgid "Specifies the directory containing X.509 certificates for peer authen‐ tication.  This parameter is ignored when using GnuTLS."
msgstr "指定包含用于对等身份验证的 X.509 证书的目录。使用 GnuTLS 时,此参数将被忽略。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32399
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cacertfile"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 tls-cacertfile"

#. type: deftypevr
#: guix-git/doc/guix.texi:32401
#, fuzzy
msgid "Specifies the path to the X.509 certificate for peer authentication."
msgstr "指定用于对等身份验证的 X.509 证书的路径。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32406
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string tls-randfile"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 tls-randfile"

#. type: deftypevr
#: guix-git/doc/guix.texi:32409
#, fuzzy
msgid "Specifies the path to an entropy source.  This parameter is ignored when using GnuTLS."
msgstr "指定熵源的路径。使用 GnuTLS 时,此参数将被忽略。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32414
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string tls-ciphers"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 tls-ciphers"

#. type: deftypevr
#: guix-git/doc/guix.texi:32416
#, fuzzy
msgid "Specifies the ciphers to use for TLS as a string."
msgstr "指定用于 TLS 的密码字符串。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32421
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cert"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 tls-cert"

#. type: deftypevr
#: guix-git/doc/guix.texi:32424
#, fuzzy
msgid "Specifies the path to the file containing the local certificate for client TLS authentication."
msgstr "指定包含本地证书的文件的路径,用于客户端 TLS 身份验证。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32429
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string tls-key"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 tls-key"

#. type: deftypevr
#: guix-git/doc/guix.texi:32432
#, fuzzy
msgid "Specifies the path to the file containing the private key for client TLS authentication."
msgstr "指定包含客户端 TLS 身份验证的私钥的文件的路径。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32437
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-number pagesize"
msgstr "{@code{nslcd-configuration} 参数} 可能是数字 pagesize"

#. type: deftypevr
#: guix-git/doc/guix.texi:32441
#, fuzzy
msgid "Set this to a number greater than 0 to request paged results from the LDAP server in accordance with RFC2696.  The default (0) is to not request paged results."
msgstr "将此设置为大于 0 的数字,以根据 RFC2696 请求 LDAP 服务器的分页结果。默认值 (0) 是不请求分页结果。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32446
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-ignore-users-option nss-initgroups-ignoreusers"
msgstr "{@code{nslcd-configuration} 参数} 可能是忽略用户选项 nss-initgroups-ignoreusers"

#. type: deftypevr
#: guix-git/doc/guix.texi:32450
#, fuzzy
msgid "This option prevents group membership lookups through LDAP for the specified users.  Alternatively, the value 'all-local may be used.  With that value nslcd builds a full list of non-LDAP users on startup."
msgstr "此选项防止对指定用户通过 LDAP 进行组成员资格查找。或者,可以使用值 'all-local'。使用该值时,nslcd 在启动时构建非 LDAP 用户的完整列表。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32455
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-number nss-min-uid"
msgstr "{@code{nslcd-configuration} 参数} 可能是数字 nss-min-uid"

#. type: deftypevr
#: guix-git/doc/guix.texi:32458
#, fuzzy
msgid "This option ensures that LDAP users with a numeric user id lower than the specified value are ignored."
msgstr "此选项确保 LDAP 用户的数字用户 ID 低于指定值时被忽略。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32463
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-number nss-uid-offset"
msgstr "{@code{nslcd-configuration} 参数} 可能是数字 nss-uid-offset"

#. type: deftypevr
#: guix-git/doc/guix.texi:32466
#, fuzzy
msgid "This option specifies an offset that is added to all LDAP numeric user ids.  This can be used to avoid user id collisions with local users."
msgstr "此选项指定添加到所有 LDAP 数字用户 ID 的偏移量。这可以用于避免与本地用户的用户 ID 冲突。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32471
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-number nss-gid-offset"
msgstr "{@code{nslcd-configuration} 参数} 可能是数字 nss-gid-offset"

#. type: deftypevr
#: guix-git/doc/guix.texi:32474
#, fuzzy
msgid "This option specifies an offset that is added to all LDAP numeric group ids.  This can be used to avoid user id collisions with local groups."
msgstr "此选项指定添加到所有 LDAP 数字组 ID 的偏移量。这可以用于避免与本地组的用户 ID 冲突。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32479
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-nested-groups"
msgstr "{@code{nslcd-configuration} 参数} 可能是布尔值 nss-nested-groups"

#. type: deftypevr
#: guix-git/doc/guix.texi:32485
#, fuzzy
msgid "If this option is set, the member attribute of a group may point to another group.  Members of nested groups are also returned in the higher level group and parent groups are returned when finding groups for a specific user.  The default is not to perform extra searches for nested groups."
msgstr "如果设置了此选项,组的成员属性可以指向另一个组。嵌套组的成员也会在更高层级的组中返回,并且在为特定用户查找组时,父组也会被返回。默认情况下,不会对嵌套组执行额外的搜索。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32490
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-getgrent-skipmembers"
msgstr "{@code{nslcd-configuration} 参数} 可能是布尔值 nss-getgrent-skipmembers"

#. type: deftypevr
#: guix-git/doc/guix.texi:32495
#, fuzzy
msgid "If this option is set, the group member list is not retrieved when looking up groups.  Lookups for finding which groups a user belongs to will remain functional so the user will likely still get the correct groups assigned on login."
msgstr "如果设置了此选项,在查找组时不会检索组成员列表。查找用户所属的组仍然会正常工作,因此用户在登录时可能仍会获得正确的组分配。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32500
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-disable-enumeration"
msgstr "{@code{nslcd-configuration} 参数} 可能是布尔值 nss-disable-enumeration"

#. type: deftypevr
#: guix-git/doc/guix.texi:32506
#, fuzzy
msgid "If this option is set, functions which cause all user/group entries to be loaded from the directory will not succeed in doing so.  This can dramatically reduce LDAP server load in situations where there are a great number of users and/or groups.  This option is not recommended for most configurations."
msgstr "如果设置了此选项,导致从目录加载所有用户/组条目的功能将无法成功。这可以显著减少在用户和/或组数量众多的情况下对LDAP服务器的负载。对于大多数配置,不推荐使用此选项。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32511
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string validnames"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 validnames"

#. type: deftypevr
#: guix-git/doc/guix.texi:32515
#, fuzzy
msgid "This option can be used to specify how user and group names are verified within the system.  This pattern is used to check all user and group names that are requested and returned from LDAP."
msgstr "此选项可用于指定如何在系统中验证用户和组名称。此模式用于检查从LDAP请求和返回的所有用户和组名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32520
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-boolean ignorecase"
msgstr "{@code{nslcd-configuration} 参数} 可能是布尔值 ignorecase"

#. type: deftypevr
#: guix-git/doc/guix.texi:32525
#, fuzzy
msgid "This specifies whether or not to perform searches using case-insensitive matching.  Enabling this could open up the system to authorization bypass vulnerabilities and introduce nscd cache poisoning vulnerabilities which allow denial of service."
msgstr "这指定是否使用不区分大小写的匹配进行搜索。启用此选项可能会使系统面临授权绕过漏洞,并引入nscd缓存中毒漏洞,从而导致拒绝服务。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32530
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-boolean pam-authc-ppolicy"
msgstr "{@code{nslcd-configuration} 参数} 可能是布尔值 pam-authc-ppolicy"

#. type: deftypevr
#: guix-git/doc/guix.texi:32533
#, fuzzy
msgid "This option specifies whether password policy controls are requested and handled from the LDAP server when performing user authentication."
msgstr "此选项指定在执行用户身份验证时,是否请求和处理来自LDAP服务器的密码策略控制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32538
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string pam-authc-search"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 pam-authc-search"

#. type: deftypevr
#: guix-git/doc/guix.texi:32544
#, fuzzy
msgid "By default nslcd performs an LDAP search with the user's credentials after BIND (authentication) to ensure that the BIND operation was successful.  The default search is a simple check to see if the user's DN exists.  A search filter can be specified that will be used instead.  It should return at least one entry."
msgstr "默认情况下,nslcd在BIND(身份验证)后使用用户的凭据执行LDAP搜索,以确保BIND操作成功。默认搜索是简单检查用户的DN是否存在。可以指定一个搜索过滤器,将代替使用。它应该返回至少一个条目。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32549
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string pam-authz-search"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 pam-authz-search"

#. type: deftypevr
#: guix-git/doc/guix.texi:32553
#, fuzzy
msgid "This option allows flexible fine tuning of the authorisation check that should be performed.  The search filter specified is executed and if any entries match, access is granted, otherwise access is denied."
msgstr "此选项允许灵活地微调应执行的授权检查。指定的搜索过滤器将被执行,如果有任何条目匹配,则授予访问权限,否则拒绝访问。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32558
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} maybe-string pam-password-prohibit-message"
msgstr "{@code{nslcd-configuration} 参数} 可能是字符串 pam-password-prohibit-message"

#. type: deftypevr
#: guix-git/doc/guix.texi:32563
#, fuzzy
msgid "If this option is set password modification using pam_ldap will be denied and the specified message will be presented to the user instead.  The message can be used to direct the user to an alternative means of changing their password."
msgstr "如果设置了此选项,则使用 pam_ldap 的密码修改将被拒绝,并且指定的消息将呈现给用户。该消息可用于引导用户使用其他方式更改其密码。"

#. type: deftypevr
#: guix-git/doc/guix.texi:32568
#, fuzzy, no-wrap
msgid "{@code{nslcd-configuration} parameter} list pam-services"
msgstr "{@code{nslcd-configuration} 参数} 列表 pam-services"

#. type: deftypevr
#: guix-git/doc/guix.texi:32570
#, fuzzy
msgid "List of pam service names for which LDAP authentication should suffice."
msgstr "LDAP 身份验证应足够的 pam 服务名称列表。"

#. type: subsubheading
#: guix-git/doc/guix.texi:32578
#, fuzzy, no-wrap
msgid "LDAP Directory Server"
msgstr "定义服务"

#. type: cindex
#: guix-git/doc/guix.texi:32579
#, fuzzy, no-wrap
msgid "LDAP, server"
msgstr "Web服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:32584
#, fuzzy
msgid "The @code{(gnu services ldap)} module provides the @code{directory-server-service-type}, which can be used to create and launch an LDAP server instance."
msgstr "@code{(gnu services ldap)} 模块提供了 @code{directory-server-service-type},可用于创建和启动 LDAP 服务器实例。"

#. type: Plain text
#: guix-git/doc/guix.texi:32587
#, fuzzy
msgid "Here is an example configuration of the @code{directory-server-service-type}:"
msgstr "管理操作系统配置。"

#. type: lisp
#: guix-git/doc/guix.texi:32590
#, fuzzy, no-wrap
msgid ""
"(use-service-modules ldap)\n"
"\n"
msgstr ""
"(use-service-modules ldap)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:32602
#, fuzzy, no-wrap
msgid ""
"...\n"
"(operating-system\n"
"  ...\n"
"  (services\n"
"    (cons\n"
"      (service directory-server-service-type\n"
"               (directory-server-instance-configuration\n"
"                (slapd\n"
"                 (slapd-configuration\n"
"                  (root-password \"@{PBKDF2_SHA256@}AAAgAG@dots{}ABSOLUTELYSECRET\")))))\n"
"      %base-services)))\n"
msgstr ""
"...\n"
"(operating-system\n"
"  ...\n"
"  (services\n"
"    (cons\n"
"      (service directory-server-service-type\n"
"               (directory-server-instance-configuration\n"
"                (slapd\n"
"                 (slapd-configuration\n"
"                  (root-password \"@{PBKDF2_SHA256@}AAAgAG@dots{}ABSOLUTELYSECRET\")))))\n"
"      %base-services)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:32606
#, fuzzy
msgid "The root password should be generated with the @command{pwdhash} utility that is provided by the @code{389-ds-base} package."
msgstr "根密码应使用 @command{pwdhash} 工具生成,该工具由 @code{389-ds-base} 包提供。"

#. type: Plain text
#: guix-git/doc/guix.texi:32611
#, fuzzy
msgid "Note that changes to the directory server configuration will not be applied to existing instances.  You will need to back up and restore server data manually.  Only new directory server instances will be created upon system reconfiguration."
msgstr "请注意,对目录服务器配置的更改不会应用于现有实例。您需要手动备份和恢复服务器数据。仅在系统重新配置时将创建新的目录服务器实例。"

#. type: deftp
#: guix-git/doc/guix.texi:32613
#, fuzzy, no-wrap
msgid "{Data Type} directory-server-instance-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:32615
#, fuzzy
msgid "Available @code{directory-server-instance-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:32617
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{389-ds-base}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:32619
#, fuzzy
msgid "The @code{389-ds-base} package."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:32620
#, fuzzy, no-wrap
msgid "@code{config-version} (default: @code{2}) (type: number)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:32623
#, fuzzy
msgid "Sets the format version of the configuration file.  To use the INF file with @command{dscreate}, this parameter must be 2."
msgstr "设置配置文件的格式版本。要使用 @command{dscreate} 的 INF 文件,此参数必须为 2。"

#. type: item
#: guix-git/doc/guix.texi:32624
#, fuzzy, no-wrap
msgid "@code{full-machine-name} (default: @code{\"localhost\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:32626
#, fuzzy
msgid "Sets the fully qualified hostname (FQDN) of this system."
msgstr "设置此系统的完全合格主机名(FQDN)。"

#. type: item
#: guix-git/doc/guix.texi:32627
#, fuzzy, no-wrap
msgid "@code{selinux} (default: @code{#false}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32631
#, fuzzy
msgid "Enables SELinux detection and integration during the installation of this instance.  If set to @code{#true}, @command{dscreate} auto-detects whether SELinux is enabled."
msgstr "在安装此实例期间启用 SELinux 检测和集成。如果设置为 @code{#true},@command{dscreate} 将自动检测 SELinux 是否启用。"

#. type: item
#: guix-git/doc/guix.texi:32632
#, fuzzy, no-wrap
msgid "@code{strict-host-checking} (default: @code{#true}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32637
#, fuzzy
msgid "Sets whether the server verifies the forward and reverse record set in the @code{full-machine-name} parameter.  When installing this instance with GSSAPI authentication behind a load balancer, set this parameter to @code{#false}."
msgstr "设置服务器是否验证 @code{full-machine-name} 参数中的正向和反向记录集。在通过负载均衡器使用 GSSAPI 身份验证安装此实例时,将此参数设置为 @code{#false}。"

#. type: item
#: guix-git/doc/guix.texi:32638
#, fuzzy, no-wrap
msgid "@code{systemd} (default: @code{#false}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:32641
#, fuzzy
msgid "Enables systemd platform features.  If set to @code{#true}, @command{dscreate} auto-detects whether systemd is installed."
msgstr "启用 systemd 平台功能。如果设置为 @code{#true},@command{dscreate} 将自动检测是否安装了 systemd。"

#. type: item
#: guix-git/doc/guix.texi:32642
#, fuzzy, no-wrap
msgid "@code{slapd} (type: slapd-configuration)"
msgstr "{数据类型} build-machine"

#. type: table
#: guix-git/doc/guix.texi:32644
#, fuzzy
msgid "Configuration of slapd."
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:32645
#, fuzzy, no-wrap
msgid "{Data Type} slapd-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:32647
#, fuzzy
msgid "Available @code{slapd-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:32649
#, fuzzy, no-wrap
msgid "@code{instance-name} (default: @code{\"localhost\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:32653
#, fuzzy
msgid "Sets the name of the instance.  You can refer to this value in other parameters of this INF file using the @code{@{instance_name@}} variable.  Note that this name cannot be changed after the installation!"
msgstr "设置实例的名称。您可以在此 INF 文件的其他参数中使用 @code{@{instance_name@}} 变量引用此值。请注意,安装后无法更改此名称!"

#. type: item
#: guix-git/doc/guix.texi:32654
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"dirsrv\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:32657
#, fuzzy
msgid "Sets the user name the ns-slapd process will use after the service started."
msgstr "设置 ns-slapd 进程在服务启动后将使用的用户名。"

#. type: item
#: guix-git/doc/guix.texi:32658
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"dirsrv\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:32661
#, fuzzy
msgid "Sets the group name the ns-slapd process will use after the service started."
msgstr "设置 ns-slapd 进程在服务启动后将使用的组名。"

#. type: item
#: guix-git/doc/guix.texi:32662
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{389}) (type: number)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:32664
#, fuzzy
msgid "Sets the TCP port the instance uses for LDAP connections."
msgstr "设置实例用于 LDAP 连接的 TCP 端口。"

#. type: item
#: guix-git/doc/guix.texi:32665
#, fuzzy, no-wrap
msgid "@code{secure-port} (default: @code{636}) (type: number)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:32668
#, fuzzy
msgid "Sets the TCP port the instance uses for TLS-secured LDAP connections (LDAPS)."
msgstr "设置实例用于 TLS 安全 LDAP 连接(LDAPS)的 TCP 端口。"

#. type: item
#: guix-git/doc/guix.texi:32669
#, fuzzy, no-wrap
msgid "@code{root-dn} (default: @code{\"cn=Directory Manager\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32672
#, fuzzy
msgid "Sets the @dfn{Distinquished Name} (DN) of the administrator account for this instance."
msgstr "设置此实例的管理员帐户的 @dfn{区分名称}(DN)。"

#. type: item
#: guix-git/doc/guix.texi:32673
#, fuzzy, no-wrap
msgid "@code{root-password} (default: @code{\"@{invalid@}YOU-SHOULD-CHANGE-THIS\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:32680
#, fuzzy
msgid "Sets the password of the account specified in the @code{root-dn} parameter.  You can either set this parameter to a plain text password @command{dscreate} hashes during the installation or to a \"@{algorithm@}hash\" string generated by the @command{pwdhash} utility.  Note that setting a plain text password can be a security risk if unprivileged users can read this INF file!"
msgstr "设置 @code{root-dn} 参数中指定帐户的密码。您可以将此参数设置为 @command{dscreate} 在安装过程中哈希的明文密码,或设置为 @command{pwdhash} 工具生成的 \"@{algorithm@}hash\" 字符串。请注意,如果没有特权的用户可以读取此 INF 文件,设置明文密码可能会带来安全风险!"

#. type: item
#: guix-git/doc/guix.texi:32681
#, fuzzy, no-wrap
msgid "@code{self-sign-cert} (default: @code{#true}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:32687
#, fuzzy
msgid "Sets whether the setup creates a self-signed certificate and enables TLS encryption during the installation.  This is not suitable for production, but it enables administrators to use TLS right after the installation.  You can replace the self-signed certificate with a certificate issued by a certificate authority."
msgstr "设置安装过程中是否创建自签名证书并启用 TLS 加密。这不适合生产环境,但它使管理员能够在安装后立即使用 TLS。您可以用证书颁发机构颁发的证书替换自签名证书。"

#. type: item
#: guix-git/doc/guix.texi:32688
#, fuzzy, no-wrap
msgid "@code{self-sign-cert-valid-months} (default: @code{24}) (type: number)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32691
#, fuzzy
msgid "Set the number of months the issued self-signed certificate will be valid."
msgstr "设置自签名证书的有效期(以月为单位)。"

#. type: item
#: guix-git/doc/guix.texi:32692
#, fuzzy, no-wrap
msgid "@code{backup-dir} (default: @code{\"/var/lib/dirsrv/slapd-@{instance_name@}/bak\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32694
#, fuzzy
msgid "Set the backup directory of the instance."
msgstr "仓库的纯函数式接口。"

#. type: item
#: guix-git/doc/guix.texi:32695
#, fuzzy, no-wrap
msgid "@code{cert-dir} (default: @code{\"/etc/dirsrv/slapd-@{instance_name@}\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:32698
#, fuzzy
msgid "Sets the directory of the instance's Network Security Services (NSS)  database."
msgstr "设置实例的网络安全服务(NSS)数据库的目录。"

#. type: item
#: guix-git/doc/guix.texi:32699
#, fuzzy, no-wrap
msgid "@code{config-dir} (default: @code{\"/etc/dirsrv/slapd-@{instance_name@}\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:32701
#, fuzzy
msgid "Sets the configuration directory of the instance."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:32702
#, fuzzy, no-wrap
msgid "@code{db-dir} (default: @code{\"/var/lib/dirsrv/slapd-@{instance_name@}/db\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32704
#, fuzzy
msgid "Sets the database directory of the instance."
msgstr "仓库的纯函数式接口。"

#. type: item
#: guix-git/doc/guix.texi:32705
#, fuzzy, no-wrap
msgid "@code{initconfig-dir} (default: @code{\"/etc/dirsrv/registry\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:32707
#, fuzzy
msgid "Sets the directory of the operating system's rc configuration directory."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:32708
#, fuzzy, no-wrap
msgid "@code{ldif-dir} (default: @code{\"/var/lib/dirsrv/slapd-@{instance_name@}/ldif\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32710
#, fuzzy
msgid "Sets the LDIF export and import directory of the instance."
msgstr "设置实例的 LDIF 导出和导入目录。"

#. type: item
#: guix-git/doc/guix.texi:32711
#, fuzzy, no-wrap
msgid "@code{lock-dir} (default: @code{\"/var/lock/dirsrv/slapd-@{instance_name@}\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32713
#, fuzzy
msgid "Sets the lock directory of the instance."
msgstr "仓库的纯函数式接口。"

#. type: item
#: guix-git/doc/guix.texi:32714
#, fuzzy, no-wrap
msgid "@code{log-dir} (default: @code{\"/var/log/dirsrv/slapd-@{instance_name@}\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32716
#, fuzzy
msgid "Sets the log directory of the instance."
msgstr "仓库的纯函数式接口。"

#. type: item
#: guix-git/doc/guix.texi:32717
#, fuzzy, no-wrap
msgid "@code{run-dir} (default: @code{\"/run/dirsrv\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32719
#, fuzzy
msgid "Sets PID directory of the instance."
msgstr "仓库的纯函数式接口。"

#. type: item
#: guix-git/doc/guix.texi:32720
#, fuzzy, no-wrap
msgid "@code{schema-dir} (default: @code{\"/etc/dirsrv/slapd-@{instance_name@}/schema\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:32722
#, fuzzy
msgid "Sets schema directory of the instance."
msgstr "仓库的纯函数式接口。"

#. type: item
#: guix-git/doc/guix.texi:32723
#, fuzzy, no-wrap
msgid "@code{tmp-dir} (default: @code{\"/tmp\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:32725
#, fuzzy
msgid "Sets the temporary directory of the instance."
msgstr "仓库的纯函数式接口。"

#. type: item
#: guix-git/doc/guix.texi:32728
#, fuzzy, no-wrap
msgid "@code{backend-userroot} (type: backend-userroot-configuration)"
msgstr "{数据类型} build-machine"

#. type: table
#: guix-git/doc/guix.texi:32730
#, fuzzy
msgid "Configuration of the userroot backend."
msgstr "设置引导程序。"

#. type: deftp
#: guix-git/doc/guix.texi:32731
#, fuzzy, no-wrap
msgid "{Data Type} backend-userroot-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:32733
#, fuzzy
msgid "Available @code{backend-userroot-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:32735
#, fuzzy, no-wrap
msgid "@code{create-suffix-entry?} (default: @code{#false}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32738
#, fuzzy
msgid "Set this parameter to @code{#true} to create a generic root node entry for the suffix in the database."
msgstr "将此参数设置为 @code{#true} 以在数据库中为后缀创建通用根节点条目。"

#. type: item
#: guix-git/doc/guix.texi:32739
#, fuzzy, no-wrap
msgid "@code{require-index?} (default: @code{#false}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:32742
#, fuzzy
msgid "Set this parameter to @code{#true} to refuse unindexed searches in this database."
msgstr "将此参数设置为 @code{#true} 以拒绝在此数据库中进行未索引的搜索。"

#. type: item
#: guix-git/doc/guix.texi:32743
#, fuzzy, no-wrap
msgid "@code{sample-entries} (default: @code{\"no\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:32748
#, fuzzy
msgid "Set this parameter to @code{\"yes\"} to add latest version of sample entries to this database.  Or, use @code{\"001003006\"} to use the 1.3.6 version sample entries.  Use this option, for example, to create a database for testing purposes."
msgstr "将此参数设置为 @code{\"yes\"} 以将最新版本的示例条目添加到此数据库中。或者,使用 @code{\"001003006\"} 来使用 1.3.6 版本的示例条目。使用此选项,例如,可以创建用于测试目的的数据库。"

#. type: item
#: guix-git/doc/guix.texi:32749
#, fuzzy, no-wrap
msgid "@code{suffix} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32754
#, fuzzy
msgid "Sets the root suffix stored in this database.  If you do not set the suffix attribute the install process will not create the backend/suffix.  You can also create multiple backends/suffixes by duplicating this section."
msgstr "设置存储在此数据库中的根后缀。如果您不设置后缀属性,安装过程将不会创建后端/后缀。您还可以通过复制此部分来创建多个后端/后缀。"

#. type: cindex
#: guix-git/doc/guix.texi:32764
#, fuzzy, no-wrap
msgid "web"
msgstr "网页"

#. type: cindex
#: guix-git/doc/guix.texi:32765
#, fuzzy, no-wrap
msgid "www"
msgstr "www"

#. type: cindex
#: guix-git/doc/guix.texi:32766
#, fuzzy, no-wrap
msgid "HTTP"
msgstr "HTTP"

#. type: Plain text
#: guix-git/doc/guix.texi:32769
#, fuzzy
msgid "The @code{(gnu services web)} module provides the Apache HTTP Server, the nginx web server, and also a fastcgi wrapper daemon."
msgstr "@code{(gnu services web)}模块提供Apache HTTP服务器、nginx网页服务器,以及一个fastcgi包装守护进程。"

#. type: subsubheading
#: guix-git/doc/guix.texi:32770
#, fuzzy, no-wrap
msgid "Apache HTTP Server"
msgstr "Apache HTTP服务器"

#. type: defvar
#: guix-git/doc/guix.texi:32772
#, fuzzy, no-wrap
msgid "httpd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:32776
#, fuzzy
msgid "Service type for the @uref{https://httpd.apache.org/,Apache HTTP} server (@dfn{httpd}).  The value for this service type is a @code{httpd-configuration} record."
msgstr "@uref{https://httpd.apache.org/,Apache HTTP}服务器的服务类型(@dfn{httpd})。此服务类型的值是一个@code{httpd-configuration}记录。"

#. type: defvar
#: guix-git/doc/guix.texi:32778 guix-git/doc/guix.texi:32960
#, fuzzy
msgid "A simple example configuration is given below."
msgstr "下面给出了一个简单的示例配置。"

#. type: lisp
#: guix-git/doc/guix.texi:32786
#, fuzzy, no-wrap
msgid ""
"(service httpd-service-type\n"
"         (httpd-configuration\n"
"           (config\n"
"             (httpd-config-file\n"
"               (server-name \"www.example.com\")\n"
"               (document-root \"/srv/http/www.example.com\")))))\n"
msgstr ""
"(service httpd-service-type\n"
"         (httpd-configuration\n"
"           (config\n"
"             (httpd-config-file\n"
"               (server-name \"www.example.com\")\n"
"               (document-root \"/srv/http/www.example.com\")))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:32790
#, fuzzy
msgid "Other services can also extend the @code{httpd-service-type} to add to the configuration."
msgstr "其他服务也可以扩展@code{httpd-service-type}以添加到配置中。"

#. type: lisp
#: guix-git/doc/guix.texi:32799
#, fuzzy, no-wrap
msgid ""
"(simple-service 'www.example.com-server httpd-service-type\n"
"                (list\n"
"                  (httpd-virtualhost\n"
"                    \"*:80\"\n"
"                    (list (string-join '(\"ServerName www.example.com\"\n"
"                                         \"DocumentRoot /srv/http/www.example.com\")\n"
"                                       \"\\n\")))))\n"
msgstr ""
"(simple-service 'www.example.com-server httpd-service-type\n"
"                (list\n"
"                  (httpd-virtualhost\n"
"                    \"*:80\"\n"
"                    (list (string-join '(\"ServerName www.example.com\"\n"
"                                         \"DocumentRoot /srv/http/www.example.com\")\n"
"                                       \"\\n\")))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:32805
#, fuzzy
msgid "The details for the @code{httpd-configuration}, @code{httpd-module}, @code{httpd-config-file} and @code{httpd-virtualhost} record types are given below."
msgstr "@code{httpd-configuration}、@code{httpd-module}、@code{httpd-config-file}和@code{httpd-virtualhost}记录类型的详细信息如下。"

#. type: deftp
#: guix-git/doc/guix.texi:32806
#, fuzzy, no-wrap
msgid "{Data Type} httpd-configuration"
msgstr "{数据类型} httpd-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:32808
#, fuzzy
msgid "This data type represents the configuration for the httpd service."
msgstr "此数据类型表示httpd服务的配置。"

#. type: item
#: guix-git/doc/guix.texi:32810
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{httpd})"
msgstr "@code{package}(默认值:@code{httpd})"

#. type: table
#: guix-git/doc/guix.texi:32812
#, fuzzy
msgid "The httpd package to use."
msgstr "要使用的httpd包。"

#. type: item
#: guix-git/doc/guix.texi:32813 guix-git/doc/guix.texi:32902
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/var/run/httpd\"})"
msgstr "@code{pid-file}(默认值:@code{\"/var/run/httpd\"})"

#. type: table
#: guix-git/doc/guix.texi:32815
#, fuzzy
msgid "The pid file used by the shepherd-service."
msgstr "由shepherd-service使用的pid文件。"

#. type: item
#: guix-git/doc/guix.texi:32816
#, fuzzy, no-wrap
msgid "@code{config} (default: @code{(httpd-config-file)})"
msgstr "@code{config}(默认值:@code{(httpd-config-file)})"

#. type: table
#: guix-git/doc/guix.texi:32821
#, fuzzy
msgid "The configuration file to use with the httpd service.  The default value is a @code{httpd-config-file} record, but this can also be a different G-expression that generates a file, for example a @code{plain-file}.  A file outside of the store can also be specified through a string."
msgstr "与httpd服务一起使用的配置文件。默认值是一个@code{httpd-config-file}记录,但这也可以是生成文件的不同G表达式,例如@code{plain-file}。也可以通过字符串指定存储外部的文件。"

#. type: deftp
#: guix-git/doc/guix.texi:32825
#, fuzzy, no-wrap
msgid "{Data Type} httpd-module"
msgstr "{数据类型} httpd-module"

#. type: deftp
#: guix-git/doc/guix.texi:32827
#, fuzzy
msgid "This data type represents a module for the httpd service."
msgstr "此数据类型表示httpd服务的一个模块。"

#. type: table
#: guix-git/doc/guix.texi:32831
#, fuzzy
msgid "The name of the module."
msgstr "模块的名称。"

#. type: table
#: guix-git/doc/guix.texi:32837
#, fuzzy
msgid "The file for the module.  This can be relative to the httpd package being used, the absolute location of a file, or a G-expression for a file within the store, for example @code{(file-append mod-wsgi \"/modules/mod_wsgi.so\")}."
msgstr "模块的文件。这可以相对于所使用的 httpd 包,文件的绝对位置,或者是存储中某个文件的 G 表达式,例如 @code{(file-append mod-wsgi \"/modules/mod_wsgi.so\")}。"

#. type: defvar
#: guix-git/doc/guix.texi:32841
#, fuzzy, no-wrap
msgid "%default-httpd-modules"
msgstr "%default-httpd-modules"

#. type: defvar
#: guix-git/doc/guix.texi:32843
#, fuzzy
msgid "A default list of @code{httpd-module} objects."
msgstr "默认的 @code{httpd-module} 对象列表。"

#. type: deftp
#: guix-git/doc/guix.texi:32845
#, fuzzy, no-wrap
msgid "{Data Type} httpd-config-file"
msgstr "{数据类型} httpd-config-file"

#. type: deftp
#: guix-git/doc/guix.texi:32847
#, fuzzy
msgid "This data type represents a configuration file for the httpd service."
msgstr "该数据类型表示 httpd 服务的配置文件。"

#. type: item
#: guix-git/doc/guix.texi:32849
#, fuzzy, no-wrap
msgid "@code{modules} (default: @code{%default-httpd-modules})"
msgstr "@code{modules}(默认:@code{%default-httpd-modules})"

#. type: table
#: guix-git/doc/guix.texi:32852
#, fuzzy
msgid "The modules to load.  Additional modules can be added here, or loaded by additional configuration."
msgstr "要加载的模块。可以在此添加其他模块,或通过额外的配置加载。"

#. type: table
#: guix-git/doc/guix.texi:32855
#, fuzzy
msgid "For example, in order to handle requests for PHP files, you can use Apache’s @code{mod_proxy_fcgi} module along with @code{php-fpm-service-type}:"
msgstr "例如,为了处理 PHP 文件的请求,您可以使用 Apache 的 @code{mod_proxy_fcgi} 模块以及 @code{php-fpm-service-type}:"

#. type: lisp
#: guix-git/doc/guix.texi:32877
#, fuzzy, no-wrap
msgid ""
"(service httpd-service-type\n"
"         (httpd-configuration\n"
"          (config\n"
"           (httpd-config-file\n"
"            (modules (cons*\n"
"                      (httpd-module\n"
"                       (name \"proxy_module\")\n"
"                       (file \"modules/mod_proxy.so\"))\n"
"                      (httpd-module\n"
"                       (name \"proxy_fcgi_module\")\n"
"                       (file \"modules/mod_proxy_fcgi.so\"))\n"
"                      %default-httpd-modules))\n"
"            (extra-config (list \"\\\n"
"<FilesMatch \\\\.php$>\n"
"    SetHandler \\\"proxy:unix:/var/run/php-fpm.sock|fcgi://localhost/\\\"\n"
"</FilesMatch>\"))))))\n"
"(service php-fpm-service-type\n"
"         (php-fpm-configuration\n"
"          (socket \"/var/run/php-fpm.sock\")\n"
"          (socket-group \"httpd\")))\n"
msgstr ""
"(service httpd-service-type\n"
"         (httpd-configuration\n"
"          (config\n"
"           (httpd-config-file\n"
"            (modules (cons*\n"
"                      (httpd-module\n"
"                       (name \"proxy_module\")\n"
"                       (file \"modules/mod_proxy.so\"))\n"
"                      (httpd-module\n"
"                       (name \"proxy_fcgi_module\")\n"
"                       (file \"modules/mod_proxy_fcgi.so\"))\n"
"                      %default-httpd-modules))\n"
"            (extra-config (list \"\\\n"
"<FilesMatch \\\\.php$>\n"
"    SetHandler \\\"proxy:unix:/var/run/php-fpm.sock|fcgi://localhost/\\\"\n"
"</FilesMatch>\"))))))\n"
"(service php-fpm-service-type\n"
"         (php-fpm-configuration\n"
"          (socket \"/var/run/php-fpm.sock\")\n"
"          (socket-group \"httpd\")))\n"

#. type: item
#: guix-git/doc/guix.texi:32879
#, fuzzy, no-wrap
msgid "@code{server-root} (default: @code{httpd})"
msgstr "@code{server-root}(默认:@code{httpd})"

#. type: table
#: guix-git/doc/guix.texi:32883
#, fuzzy
msgid "The @code{ServerRoot} in the configuration file, defaults to the httpd package.  Directives including @code{Include} and @code{LoadModule} are taken as relative to the server root."
msgstr "配置文件中的 @code{ServerRoot},默认为 httpd 包。包括 @code{Include} 和 @code{LoadModule} 的指令相对于服务器根目录。"

#. type: item
#: guix-git/doc/guix.texi:32884
#, fuzzy, no-wrap
msgid "@code{server-name} (default: @code{#f})"
msgstr "@code{server-name}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:32888
#, fuzzy
msgid "The @code{ServerName} in the configuration file, used to specify the request scheme, hostname and port that the server uses to identify itself."
msgstr "配置文件中的 @code{ServerName},用于指定服务器用于识别自己的请求方案、主机名和端口。"

#. type: table
#: guix-git/doc/guix.texi:32892
#, fuzzy
msgid "This doesn't need to be set in the server config, and can be specified in virtual hosts.  The default is @code{#f} to not specify a @code{ServerName}."
msgstr "这不需要在服务器配置中设置,可以在虚拟主机中指定。默认值是 @code{#f},表示不指定 @code{ServerName}。"

#. type: item
#: guix-git/doc/guix.texi:32893
#, fuzzy, no-wrap
msgid "@code{document-root} (default: @code{\"/srv/http\"})"
msgstr "@code{document-root}(默认值:@code{\"/srv/http\"})"

#. type: table
#: guix-git/doc/guix.texi:32895
#, fuzzy
msgid "The @code{DocumentRoot} from which files will be served."
msgstr "从中提供文件的@code{DocumentRoot}。"

#. type: item
#: guix-git/doc/guix.texi:32896
#, fuzzy, no-wrap
msgid "@code{listen} (default: @code{'(\"80\")})"
msgstr "@code{listen}(默认值:@code{'(\"80\"))"

#. type: table
#: guix-git/doc/guix.texi:32901
#, fuzzy
msgid "The list of values for the @code{Listen} directives in the config file.  The value should be a list of strings, when each string can specify the port number to listen on, and optionally the IP address and protocol to use."
msgstr "配置文件中@code{Listen}指令的值列表。该值应为字符串列表,每个字符串可以指定要监听的端口号,并可选地指定要使用的IP地址和协议。"

#. type: table
#: guix-git/doc/guix.texi:32906
#, fuzzy
msgid "The @code{PidFile} to use.  This should match the @code{pid-file} set in the @code{httpd-configuration} so that the Shepherd service is configured correctly."
msgstr "要使用的@code{PidFile}。这应与@code{httpd-configuration}中设置的@code{pid-file}匹配,以便正确配置Shepherd服务。"

#. type: item
#: guix-git/doc/guix.texi:32907
#, fuzzy, no-wrap
msgid "@code{error-log} (default: @code{\"/var/log/httpd/error_log\"})"
msgstr "@code{error-log}(默认值:@code{\"/var/log/httpd/error_log\"})"

#. type: table
#: guix-git/doc/guix.texi:32909
#, fuzzy
msgid "The @code{ErrorLog} to which the server will log errors."
msgstr "服务器将记录错误的@code{ErrorLog}。"

#. type: item
#: guix-git/doc/guix.texi:32910 guix-git/doc/guix.texi:33589
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"httpd\"})"
msgstr "@code{user}(默认值:@code{\"httpd\"})"

#. type: table
#: guix-git/doc/guix.texi:32912
#, fuzzy
msgid "The @code{User} which the server will answer requests as."
msgstr "服务器将以@code{User}身份响应请求。"

#. type: item
#: guix-git/doc/guix.texi:32913
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"httpd\"})"
msgstr "@code{group}(默认值:@code{\"httpd\"})"

#. type: table
#: guix-git/doc/guix.texi:32915
#, fuzzy
msgid "The @code{Group} which the server will answer requests as."
msgstr "服务器将以@code{Group}身份响应请求。"

#. type: item
#: guix-git/doc/guix.texi:32916
#, fuzzy, no-wrap
msgid "@code{extra-config} (default: @code{(list \"TypesConfig etc/httpd/mime.types\")})"
msgstr "@code{extra-config}(默认值:@code{(list \"TypesConfig etc/httpd/mime.types\")})"

#. type: table
#: guix-git/doc/guix.texi:32919
#, fuzzy
msgid "A flat list of strings and G-expressions which will be added to the end of the configuration file."
msgstr "将添加到配置文件末尾的字符串和G表达式的平面列表。"

#. type: table
#: guix-git/doc/guix.texi:32922
#, fuzzy
msgid "Any values which the service is extended with will be appended to this list."
msgstr "服务扩展的任何值将附加到此列表。"

#. type: deftp
#: guix-git/doc/guix.texi:32926
#, fuzzy, no-wrap
msgid "{Data Type} httpd-virtualhost"
msgstr "{数据类型} httpd-virtualhost"

#. type: deftp
#: guix-git/doc/guix.texi:32928
#, fuzzy
msgid "This data type represents a virtualhost configuration block for the httpd service."
msgstr "此数据类型表示httpd服务的虚拟主机配置块。"

#. type: deftp
#: guix-git/doc/guix.texi:32930
#, fuzzy
msgid "These should be added to the extra-config for the httpd-service."
msgstr "这些应添加到httpd服务的extra-config中。"

#. type: lisp
#: guix-git/doc/guix.texi:32939
#, fuzzy, no-wrap
msgid ""
"(simple-service 'www.example.com-server httpd-service-type\n"
"                (list\n"
"                  (httpd-virtualhost\n"
"                    \"*:80\"\n"
"                    (list (string-join '(\"ServerName www.example.com\"\n"
"                                          \"DocumentRoot /srv/http/www.example.com\")\n"
"                                       \"\\n\")))))\n"
msgstr ""
"(simple-service 'www.example.com-server httpd-service-type\n"
"                (list\n"
"                  (httpd-virtualhost\n"
"                    \"*:80\"\n"
"                    (list (string-join '(\"ServerName www.example.com\"\n"
"                                          \"DocumentRoot /srv/http/www.example.com\")\n"
"                                       \"\\n\")))))\n"

#. type: code{#1}
#: guix-git/doc/guix.texi:32942
#, fuzzy, no-wrap
msgid "addresses-and-ports"
msgstr "地址和端口"

#. type: table
#: guix-git/doc/guix.texi:32944
#, fuzzy
msgid "The addresses and ports for the @code{VirtualHost} directive."
msgstr "@code{VirtualHost}指令的地址和端口。"

#. type: code{#1}
#: guix-git/doc/guix.texi:32945
#, fuzzy, no-wrap
msgid "contents"
msgstr "内容"

#. type: table
#: guix-git/doc/guix.texi:32948
#, fuzzy
msgid "The contents of the @code{VirtualHost} directive, this should be a list of strings and G-expressions."
msgstr "@code{VirtualHost}指令的内容,这应为字符串和G表达式的列表。"

#. type: subsubheading
#: guix-git/doc/guix.texi:32953
#, fuzzy, no-wrap
msgid "NGINX"
msgstr "NGINX"

#. type: defvar
#: guix-git/doc/guix.texi:32955
#, fuzzy, no-wrap
msgid "nginx-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:32958
#, fuzzy
msgid "Service type for the @uref{https://nginx.org/,NGinx} web server.  The value for this service type is a @code{<nginx-configuration>} record."
msgstr "@uref{https://nginx.org/,NGinx} web服务器的服务类型。该服务类型的值是一个@code{<nginx-configuration>}记录。"

#. type: lisp
#: guix-git/doc/guix.texi:32968 guix-git/doc/guix.texi:33044
#, fuzzy, no-wrap
msgid ""
"(service nginx-service-type\n"
"         (nginx-configuration\n"
"           (server-blocks\n"
"             (list (nginx-server-configuration\n"
"                     (server-name '(\"www.example.com\"))\n"
"                     (root \"/srv/http/www.example.com\"))))))\n"
msgstr ""
"(service nginx-service-type\n"
"         (nginx-configuration\n"
"           (server-blocks\n"
"             (list (nginx-server-configuration\n"
"                     (server-name '(\"www.example.com\"))\n"
"                     (root \"/srv/http/www.example.com\"))))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:32973
#, fuzzy
msgid "In addition to adding server blocks to the service configuration directly, this service can be extended by other services to add server blocks, as in this example:"
msgstr "除了直接向服务配置添加服务器块外,该服务还可以通过其他服务扩展以添加服务器块,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:32979
#, fuzzy, no-wrap
msgid ""
"(simple-service 'my-extra-server nginx-service-type\n"
"                (list (nginx-server-configuration\n"
"                        (root \"/srv/http/extra-website\")\n"
"                        (try-files (list \"$uri\" \"$uri/index.html\")))))\n"
msgstr ""
"(simple-service 'my-extra-server nginx-service-type\n"
"                (list (nginx-server-configuration\n"
"                        (root \"/srv/http/extra-website\")\n"
"                        (try-files (list \"$uri\" \"$uri/index.html\")))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:32990
#, fuzzy
msgid "At startup, @command{nginx} has not yet read its configuration file, so it uses a default file to log error messages.  If it fails to load its configuration file, that is where error messages are logged.  After the configuration file is loaded, the default error log file changes as per configuration.  In our case, startup error messages can be found in @file{/var/run/nginx/logs/error.log}, and after configuration in @file{/var/log/nginx/error.log}.  The second location can be changed with the @var{log-directory} configuration option."
msgstr "在启动时,@command{nginx} 尚未读取其配置文件,因此它使用默认文件记录错误消息。如果它无法加载其配置文件,错误消息将记录在此处。加载配置文件后,默认错误日志文件将根据配置进行更改。在我们的案例中,启动错误消息可以在 @file{/var/run/nginx/logs/error.log} 中找到,而在配置后则在 @file{/var/log/nginx/error.log} 中。第二个位置可以通过 @var{log-directory} 配置选项进行更改。"

#. type: deftp
#: guix-git/doc/guix.texi:32991
#, fuzzy, no-wrap
msgid "{Data Type} nginx-configuration"
msgstr "{数据类型} nginx-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:32995
#, fuzzy
msgid "This data type represents the configuration for NGinx.  Some configuration can be done through this and the other provided record types, or alternatively, a config file can be provided."
msgstr "此数据类型表示 NGinx 的配置。一些配置可以通过此记录类型和其他提供的记录类型完成,或者可以提供配置文件。"

#. type: item
#: guix-git/doc/guix.texi:32997
#, fuzzy, no-wrap
msgid "@code{nginx} (default: @code{nginx})"
msgstr "@code{nginx}(默认值:@code{nginx})"

#. type: table
#: guix-git/doc/guix.texi:32999
#, fuzzy
msgid "The nginx package to use."
msgstr "要使用的 nginx 包。"

#. type: table
#: guix-git/doc/guix.texi:33003
#, fuzzy
msgid "This is a list of symbols naming Shepherd services the nginx service will depend on."
msgstr "这是一个符号列表,命名 nginx 服务所依赖的 Shepherd 服务。"

#. type: table
#: guix-git/doc/guix.texi:33007
#, fuzzy
msgid "This is useful if you would like @command{nginx} to be started after a back-end web server or a logging service such as Anonip has been started."
msgstr "如果您希望 @command{nginx} 在后端 Web 服务器或日志服务(如 Anonip)启动后启动,这将很有用。"

#. type: item
#: guix-git/doc/guix.texi:33008
#, fuzzy, no-wrap
msgid "@code{log-directory} (default: @code{\"/var/log/nginx\"})"
msgstr "@code{log-directory}(默认值:@code{\"/var/log/nginx\"})"

#. type: table
#: guix-git/doc/guix.texi:33010
#, fuzzy
msgid "The directory to which NGinx will write log files."
msgstr "NGinx 将写入日志文件的目录。"

#. type: item
#: guix-git/doc/guix.texi:33011
#, fuzzy, no-wrap
msgid "@code{log-format} (default: @code{'combined}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:33015
#, fuzzy
msgid "Logging format for the access log. Nginx defaults to the httpd-like format named @code{'combined}.  Other formats can be defined using @code{log-formats}."
msgstr "访问日志的日志格式。Nginx 默认使用名为 @code{'combined} 的 httpd 类似格式。可以使用 @code{log-formats} 定义其他格式。"

#. type: item
#: guix-git/doc/guix.texi:33016
#, fuzzy, no-wrap
msgid "@code{log-formats} (default: @code{'()})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:33019
#, fuzzy
msgid "A list of additional @dfn{log formats} to define, the elements should be of type @code{<nginx-log-format-configuration>}."
msgstr "要定义的额外 @dfn{日志格式} 列表,元素应为 @code{<nginx-log-format-configuration>} 类型。"

#. type: item
#: guix-git/doc/guix.texi:33020
#, fuzzy, no-wrap
msgid "@code{log-level} (default: @code{'error}) (type: symbol)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33024
#, fuzzy
msgid "Logging level for the error log, which can be any of the following values: @code{'debug}, @code{'info}, @code{'notice}, @code{'warn}, @code{'error}, @code{'crit}, @code{'alert}, or @code{'emerg}."
msgstr "错误日志的日志级别,可以是以下任意值:@code{'debug}、@code{'info}、@code{'notice}、@code{'warn}、@code{'error}、@code{'crit}、@code{'alert} 或 @code{'emerg}。"

#. type: item
#: guix-git/doc/guix.texi:33025
#, fuzzy, no-wrap
msgid "@code{run-directory} (default: @code{\"/var/run/nginx\"})"
msgstr "@code{run-directory}(默认值:@code{\"/var/run/nginx\"})"

#. type: table
#: guix-git/doc/guix.texi:33028
#, fuzzy
msgid "The directory in which NGinx will create a pid file, and write temporary files."
msgstr "NGinx 将在其中创建 pid 文件并写入临时文件的目录。"

#. type: item
#: guix-git/doc/guix.texi:33029
#, fuzzy, no-wrap
msgid "@code{server-blocks} (default: @code{'()})"
msgstr "@code{server-blocks}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33033
#, fuzzy
msgid "A list of @dfn{server blocks} to create in the generated configuration file, the elements should be of type @code{<nginx-server-configuration>}."
msgstr "在生成的配置文件中要创建的 @dfn{server blocks} 列表,元素应为 @code{<nginx-server-configuration>} 类型。"

#. type: table
#: guix-git/doc/guix.texi:33037
#, fuzzy
msgid "The following example would setup NGinx to serve @code{www.example.com} from the @code{/srv/http/www.example.com} directory, without using HTTPS."
msgstr "以下示例将设置 NGinx 从 @code{/srv/http/www.example.com} 目录提供 @code{www.example.com},而不使用 HTTPS。"

#. type: item
#: guix-git/doc/guix.texi:33046
#, fuzzy, no-wrap
msgid "@code{upstream-blocks} (default: @code{'()})"
msgstr "@code{upstream-blocks}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33050
#, fuzzy
msgid "A list of @dfn{upstream blocks} to create in the generated configuration file, the elements should be of type @code{<nginx-upstream-configuration>}."
msgstr "在生成的配置文件中要创建的 @dfn{upstream blocks} 列表,元素应为 @code{<nginx-upstream-configuration>} 类型。"

#. type: table
#: guix-git/doc/guix.texi:33057
#, fuzzy
msgid "Configuring upstreams through the @code{upstream-blocks} can be useful when combined with @code{locations} in the @code{<nginx-server-configuration>} records.  The following example creates a server configuration with one location configuration, that will proxy requests to a upstream configuration, which will handle requests with two servers."
msgstr "通过 @code{upstream-blocks} 配置上游可以在与 @code{<nginx-server-configuration>} 记录中的 @code{locations} 结合使用时非常有用。以下示例创建一个服务器配置,其中包含一个位置配置,该配置将请求代理到一个上游配置,该配置将处理两个服务器的请求。"

#. type: lisp
#: guix-git/doc/guix.texi:33076
#, fuzzy, no-wrap
msgid ""
"(service\n"
"  nginx-service-type\n"
"  (nginx-configuration\n"
"    (server-blocks\n"
"      (list (nginx-server-configuration\n"
"              (server-name '(\"www.example.com\"))\n"
"              (root \"/srv/http/www.example.com\")\n"
"              (locations\n"
"                (list\n"
"                  (nginx-location-configuration\n"
"                  (uri \"/path1\")\n"
"                  (body '(\"proxy_pass http://server-proxy;\"))))))))\n"
"    (upstream-blocks\n"
"      (list (nginx-upstream-configuration\n"
"              (name \"server-proxy\")\n"
"              (servers (list \"server1.example.com\"\n"
"                             \"server2.example.com\")))))))\n"
msgstr ""
"(服务\n"
"  nginx-service-type\n"
"  (nginx-configuration\n"
"    (server-blocks\n"
"      (list (nginx-server-configuration\n"
"              (server-name '(\"www.example.com\"))\n"
"              (root \"/srv/http/www.example.com\")\n"
"              (locations\n"
"                (list\n"
"                  (nginx-location-configuration\n"
"                  (uri \"/path1\")\n"
"                  (body '(\"proxy_pass http://server-proxy;\"))))))))\n"
"    (upstream-blocks\n"
"      (list (nginx-upstream-configuration\n"
"              (name \"server-proxy\")\n"
"              (servers (list \"server1.example.com\"\n"
"                             \"server2.example.com\")))))))\n"

#. type: table
#: guix-git/doc/guix.texi:33084
#, fuzzy
msgid "If a configuration @var{file} is provided, this will be used, rather than generating a configuration file from the provided @code{log-directory}, @code{run-directory}, @code{server-blocks} and @code{upstream-blocks}.  For proper operation, these arguments should match what is in @var{file} to ensure that the directories are created when the service is activated."
msgstr "如果提供了配置 @var{file},则将使用该文件,而不是从提供的 @code{log-directory}、@code{run-directory}、@code{server-blocks} 和 @code{upstream-blocks} 生成配置文件。为了正常操作,这些参数应与 @var{file} 中的内容匹配,以确保在激活服务时创建目录。"

#. type: table
#: guix-git/doc/guix.texi:33088
#, fuzzy
msgid "This can be useful if you have an existing configuration file, or it's not possible to do what is required through the other parts of the nginx-configuration record."
msgstr "如果您有现有的配置文件,或者无法通过 nginx-configuration 记录的其他部分完成所需的操作,这可能会很有用。"

#. type: item
#: guix-git/doc/guix.texi:33089
#, fuzzy, no-wrap
msgid "@code{server-names-hash-bucket-size} (default: @code{#f})"
msgstr "@code{server-names-hash-bucket-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33092
#, fuzzy
msgid "Bucket size for the server names hash tables, defaults to @code{#f} to use the size of the processors cache line."
msgstr "服务器名称哈希表的桶大小,默认为@code{#f}以使用处理器缓存行的大小。"

#. type: item
#: guix-git/doc/guix.texi:33093
#, fuzzy, no-wrap
msgid "@code{server-names-hash-bucket-max-size} (default: @code{#f})"
msgstr "@code{server-names-hash-bucket-max-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33095
#, fuzzy
msgid "Maximum bucket size for the server names hash tables."
msgstr "服务器名称哈希表的最大桶大小。"

#. type: table
#: guix-git/doc/guix.texi:33099
#, fuzzy
msgid "List of nginx dynamic modules to load.  This should be a list of file names of loadable modules, as in this example:"
msgstr "要加载的nginx动态模块列表。这应该是可加载模块的文件名列表,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:33107
#, fuzzy, no-wrap
msgid ""
"(modules\n"
" (list\n"
"  (file-append nginx-accept-language-module \"\\\n"
"/etc/nginx/modules/ngx_http_accept_language_module.so\")\n"
"  (file-append nginx-lua-module \"\\\n"
"/etc/nginx/modules/ngx_http_lua_module.so\")))\n"
msgstr ""
"(modules\n"
" (list\n"
"  (file-append nginx-accept-language-module \"\\\n"
"/etc/nginx/modules/ngx_http_accept_language_module.so\")\n"
"  (file-append nginx-lua-module \"\\\n"
"/etc/nginx/modules/ngx_http_lua_module.so\")))\n"

#. type: item
#: guix-git/doc/guix.texi:33109
#, fuzzy, no-wrap
msgid "@code{lua-package-path} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33112
#, fuzzy
msgid "List of nginx lua packages to load.  This should be a list of package names of loadable lua modules, as in this example:"
msgstr "要加载的nginx lua包列表。这应该是可加载lua模块的包名列表,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:33119
#, fuzzy, no-wrap
msgid ""
"(lua-package-path (list lua-resty-core\n"
"                        lua-resty-lrucache\n"
"                        lua-resty-signal\n"
"                        lua-tablepool\n"
"                        lua-resty-shell))\n"
msgstr ""
"(lua-package-path (list lua-resty-core\n"
"                        lua-resty-lrucache\n"
"                        lua-resty-signal\n"
"                        lua-tablepool\n"
"                        lua-resty-shell))\n"

#. type: item
#: guix-git/doc/guix.texi:33121
#, fuzzy, no-wrap
msgid "@code{lua-package-cpath} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33124
#, fuzzy
msgid "List of nginx lua C packages to load.  This should be a list of package names of loadable lua C modules, as in this example:"
msgstr "要加载的nginx lua C包列表。这应该是可加载lua C模块的包名列表,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:33127
#, fuzzy, no-wrap
msgid "(lua-package-cpath (list lua-resty-signal))\n"
msgstr "(lua-package-cpath (list lua-resty-signal))\n"

#. type: item
#: guix-git/doc/guix.texi:33129
#, fuzzy, no-wrap
msgid "@code{global-directives} (default: @code{'((events . ()))})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33132
#, fuzzy
msgid "Association list of global directives for the top level of the nginx configuration.  Values may themselves be association lists."
msgstr "nginx配置顶层的全局指令关联列表。值本身可以是关联列表。"

#. type: lisp
#: guix-git/doc/guix.texi:33138
#, fuzzy, no-wrap
msgid ""
"(global-directives\n"
" `((worker_processes . 16)\n"
"   (pcre_jit . on)\n"
"   (events . ((worker_connections . 1024)))))\n"
msgstr ""
"(global-directives\n"
" `((worker_processes . 16)\n"
"   (pcre_jit . on)\n"
"   (events . ((worker_connections . 1024)))))\n"

#. type: table
#: guix-git/doc/guix.texi:33146
#, fuzzy
msgid "Additional content to be appended to the @code{http} block.  Can either be a value that can be lowered into a string or a list of such values.  In the former case, it is inserted directly.  In the latter, it is prefixed with indentation and suffixed with a newline.  Nested lists are flattened into one line."
msgstr "要附加到@code{http}块的额外内容。可以是可以转换为字符串的值或此类值的列表。在前一种情况下,它直接插入。在后一种情况下,它以缩进为前缀,并以换行符为后缀。嵌套列表被展平为一行。"

#. type: lisp
#: guix-git/doc/guix.texi:33151 guix-git/doc/guix.texi:33262
#, fuzzy, no-wrap
msgid ""
"(extra-content \"include /etc/nginx/custom-config.conf;\")\n"
"(extra-content `(\"include /etc/nginx/custom-config.conf;\"\n"
"                 (\"include \" ,%custom-config.conf \";\")))\n"
msgstr ""
"(extra-content \"include /etc/nginx/custom-config.conf;\")\n"
"(extra-content `(\"include /etc/nginx/custom-config.conf;\"\n"
"                 (\"include \" ,%custom-config.conf \";\")))\n"

#. type: deftp
#: guix-git/doc/guix.texi:33156
#, fuzzy, no-wrap
msgid "{Data Type} nginx-log-format-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:33159
#, fuzzy
msgid "Data type representing the configuration of a custom Nginx log format.  This type has the following parameters:"
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:33161
#, fuzzy, no-wrap
msgid "@code{name} (type: symbol)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33163
#, fuzzy
msgid "The name of the log format as a symbol."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:33164
#, fuzzy, no-wrap
msgid "@code{escape} (default: @code{'default}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:33167
#, fuzzy
msgid "The mode used to escape values of variables in the format.  The supported values are:"
msgstr "用于转义格式中变量值的模式。支持的值有:"

#. type: item
#: guix-git/doc/guix.texi:33169
#, fuzzy, no-wrap
msgid "@code{'default}, to escape all characters outside of the ASCII"
msgstr "@code{'default},转义所有ASCII之外的字符"

#. type: itemize
#: guix-git/doc/guix.texi:33171
#, fuzzy
msgid "printable range."
msgstr "可打印范围。"

#. type: item
#: guix-git/doc/guix.texi:33171
#, fuzzy, no-wrap
msgid "@code{'json}, to escape all characters invalid in JSON strings."
msgstr "@code{'json},转义JSON字符串中无效的所有字符。"

#. type: item
#: guix-git/doc/guix.texi:33172
#, fuzzy, no-wrap
msgid "@code{'none}, to disable escaping."
msgstr "@code{'none}, 禁用转义。"

#. type: item
#: guix-git/doc/guix.texi:33175
#, fuzzy, no-wrap
msgid "@code{format} (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33177
#, fuzzy
msgid "The format as accepted by the @code{log_format} directive."
msgstr "@code{log_format} 指令接受的格式。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:33182
#, fuzzy
msgid "nginx-server-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:33182
#, fuzzy, no-wrap
msgid "{Data Type} nginx-server-configuration"
msgstr "{数据类型} nginx服务器配置"

#. type: deftp
#: guix-git/doc/guix.texi:33185
#, fuzzy
msgid "Data type representing the configuration of an nginx server block.  This type has the following parameters:"
msgstr "表示nginx服务器块配置的数据类型。此类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:33187
#, fuzzy, no-wrap
msgid "@code{listen} (default: @code{'(\"80\" \"443 ssl\")})"
msgstr "@code{listen}(默认:@code{'(\"80\" \"443 ssl\")})"

#. type: table
#: guix-git/doc/guix.texi:33192
#, fuzzy
msgid "Each @code{listen} directive sets the address and port for IP, or the path for a UNIX-domain socket on which the server will accept requests.  Both address and port, or only address or only port can be specified.  An address may also be a hostname, for example:"
msgstr "每个 @code{listen} 指令设置服务器接受请求的IP地址和端口,或UNIX域套接字的路径。可以指定地址和端口,或仅地址或仅端口。地址也可以是主机名,例如:"

#. type: lisp
#: guix-git/doc/guix.texi:33195
#, fuzzy, no-wrap
msgid "'(\"127.0.0.1:8000\" \"127.0.0.1\" \"8000\" \"*:8000\" \"localhost:8000\")\n"
msgstr "'(\"127.0.0.1:8000\" \"127.0.0.1\" \"8000\" \"*:8000\" \"localhost:8000\")\n"

#. type: item
#: guix-git/doc/guix.texi:33197
#, fuzzy, no-wrap
msgid "@code{server-name} (default: @code{(list 'default)})"
msgstr "@code{server-name}(默认:@code{(list 'default)})"

#. type: table
#: guix-git/doc/guix.texi:33200
#, fuzzy
msgid "A list of server names this server represents. @code{'default} represents the default server for connections matching no other server."
msgstr "此服务器表示的服务器名称列表。@code{'default}表示与其他服务器不匹配的连接的默认服务器。"

#. type: item
#: guix-git/doc/guix.texi:33201
#, fuzzy, no-wrap
msgid "@code{root} (default: @code{\"/srv/http\"})"
msgstr "@code{root}(默认:@code{\"/srv/http\"})"

#. type: table
#: guix-git/doc/guix.texi:33203
#, fuzzy
msgid "Root of the website nginx will serve."
msgstr "nginx将提供的网页根目录。"

#. type: item
#: guix-git/doc/guix.texi:33204
#, fuzzy, no-wrap
msgid "@code{locations} (default: @code{'()})"
msgstr "@code{locations}(默认:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33208
#, fuzzy
msgid "A list of @dfn{nginx-location-configuration} or @dfn{nginx-named-location-configuration} records to use within this server block."
msgstr "在此服务器块中使用的@dfn{nginx-location-configuration}或@dfn{nginx-named-location-configuration}记录列表。"

#. type: item
#: guix-git/doc/guix.texi:33209
#, fuzzy, no-wrap
msgid "@code{index} (default: @code{(list \"index.html\")})"
msgstr "@code{index}(默认:@code{(list \"index.html\")})"

#. type: table
#: guix-git/doc/guix.texi:33212
#, fuzzy
msgid "Index files to look for when clients ask for a directory.  If it cannot be found, Nginx will send the list of files in the directory."
msgstr "当客户端请求目录时要查找的索引文件。如果找不到,Nginx将发送目录中的文件列表。"

#. type: item
#: guix-git/doc/guix.texi:33213
#, fuzzy, no-wrap
msgid "@code{try-files} (default: @code{'()})"
msgstr "@code{try-files}(默认:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33216
#, fuzzy
msgid "A list of files whose existence is checked in the specified order.  @code{nginx} will use the first file it finds to process the request."
msgstr "按指定顺序检查存在的文件列表。@code{nginx}将使用找到的第一个文件来处理请求。"

#. type: item
#: guix-git/doc/guix.texi:33217
#, fuzzy, no-wrap
msgid "@code{ssl-certificate} (default: @code{#f})"
msgstr "@code{ssl-certificate}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33220
#, fuzzy
msgid "Where to find the certificate for secure connections.  Set it to @code{#f} if you don't have a certificate or you don't want to use HTTPS."
msgstr "找到安全连接证书的位置。如果没有证书或不想使用HTTPS,请将其设置为@code{#f}。"

#. type: item
#: guix-git/doc/guix.texi:33221
#, fuzzy, no-wrap
msgid "@code{ssl-certificate-key} (default: @code{#f})"
msgstr "@code{ssl-certificate-key}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33224
#, fuzzy
msgid "Where to find the private key for secure connections.  Set it to @code{#f} if you don't have a key or you don't want to use HTTPS."
msgstr "找到安全连接私钥的位置。如果没有密钥或不想使用HTTPS,请将其设置为@code{#f}。"

#. type: item
#: guix-git/doc/guix.texi:33225
#, fuzzy, no-wrap
msgid "@code{server-tokens?} (default: @code{#f})"
msgstr "@code{server-tokens?}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33227
#, fuzzy
msgid "Whether the server should add its configuration to response."
msgstr "服务器是否应将其配置添加到响应中。"

#. type: item
#: guix-git/doc/guix.texi:33228
#, fuzzy, no-wrap
msgid "@code{raw-content} (default: @code{'()})"
msgstr "@code{raw-content}(默认:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33232
#, fuzzy
msgid "A list of strings or file-like objects to be appended to the server block.  Each item is prefixed with indentation and suffixed with a new line.  Nested lists are flattened."
msgstr "要附加到服务器块的字符串或类文件对象列表。每个项目前面带有缩进,后面带有换行符。嵌套列表被扁平化。"

#. type: deftp
#: guix-git/doc/guix.texi:33236
#, fuzzy, no-wrap
msgid "{Data Type} nginx-upstream-configuration"
msgstr "{数据类型} nginx-upstream-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33239
#, fuzzy
msgid "Data type representing the configuration of an nginx @code{upstream} block.  This type has the following parameters:"
msgstr "表示nginx @code{upstream}块配置的数据类型。该类型具有以下参数:"

#. type: table
#: guix-git/doc/guix.texi:33243
#, fuzzy
msgid "Name for this group of servers."
msgstr "此服务器组的名称。"

#. type: code{#1}
#: guix-git/doc/guix.texi:33244
#, fuzzy, no-wrap
msgid "servers"
msgstr "服务器"

#. type: table
#: guix-git/doc/guix.texi:33251
#, fuzzy
msgid "Specify the addresses of the servers in the group.  The address can be specified as a IP address (e.g.@: @samp{127.0.0.1}), domain name (e.g.@: @samp{backend1.example.com}) or a path to a UNIX socket using the prefix @samp{unix:}.  For addresses using an IP address or domain name, the default port is 80, and a different port can be specified explicitly."
msgstr "指定组中服务器的地址。地址可以指定为IP地址(例如:@samp{127.0.0.1})、域名(例如:@samp{backend1.example.com})或使用前缀@samp{unix:}的UNIX套接字路径。对于使用IP地址或域名的地址,默认端口为80,可以显式指定其他端口。"

#. type: code{#1}
#: guix-git/doc/guix.texi:33252
#, fuzzy, no-wrap
msgid "extra-content"
msgstr "额外内容"

#. type: table
#: guix-git/doc/guix.texi:33257
#, fuzzy
msgid "Additional content to be appended to the upstream block.  Can be a string or file-like object or list of thereof.  In case of list, each item is prefixed with indentation and suffixed with a new line.  Nested lists are flattened."
msgstr "要附加到上游块的附加内容。可以是字符串或类文件对象或其列表。如果是列表,则每个项目都以缩进开头,并以换行符结尾。嵌套列表会被扁平化。"

#. type: deftp
#: guix-git/doc/guix.texi:33267
#, fuzzy, no-wrap
msgid "{Data Type} nginx-location-configuration"
msgstr "{数据类型} nginx-location-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33270
#, fuzzy
msgid "Data type representing the configuration of an nginx @code{location} block.  This type has the following parameters:"
msgstr "表示nginx @code{location}块配置的数据类型。该类型具有以下参数:"

#. type: table
#: guix-git/doc/guix.texi:33274
#, fuzzy
msgid "URI which this location block matches."
msgstr "此位置块匹配的URI。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:33276
#, fuzzy
msgid "nginx-location-configuration body"
msgstr "nginx-location-configuration主体"

#. type: code{#1}
#: guix-git/doc/guix.texi:33276 guix-git/doc/guix.texi:33299
#, fuzzy, no-wrap
msgid "body"
msgstr "主体"

#. type: table
#: guix-git/doc/guix.texi:33280
#, fuzzy
msgid "Body of the location block, specified as a list of strings or file-like objects.  Each item is prefixed with indentation and suffixed with a new line.  Nested lists are flattened."
msgstr "位置块的主体,指定为字符串或类文件对象的列表。每个项目都以缩进开头,并以换行符结尾。嵌套列表会被扁平化。"

#. type: table
#: guix-git/doc/guix.texi:33285
#, fuzzy
msgid "For example, to pass requests to a upstream server group defined using an @code{nginx-upstream-configuration} block, the following directive would be specified in the body @samp{(list \"proxy_pass http://upstream-name;\")}."
msgstr "例如,要将请求传递给使用@code{nginx-upstream-configuration}块定义的上游服务器组,以下指令将在主体中指定@samp{(list \"proxy_pass http://upstream-name;\")}。"

#. type: deftp
#: guix-git/doc/guix.texi:33289
#, fuzzy, no-wrap
msgid "{Data Type} nginx-named-location-configuration"
msgstr "{数据类型} nginx-named-location-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33294
#, fuzzy
msgid "Data type representing the configuration of an nginx named location block.  Named location blocks are used for request redirection, and not used for regular request processing.  This type has the following parameters:"
msgstr "表示nginx命名位置块配置的数据类型。命名位置块用于请求重定向,而不用于常规请求处理。该类型具有以下参数:"

#. type: table
#: guix-git/doc/guix.texi:33298
#, fuzzy
msgid "Name to identify this location block."
msgstr "用于标识此位置块的名称。"

#. type: table
#: guix-git/doc/guix.texi:33304
#, fuzzy
msgid "@xref{nginx-location-configuration body}, as the body for named location blocks can be used in a similar way to the @code{nginx-location-configuration body}.  One restriction is that the body of a named location block cannot contain location blocks."
msgstr "@xref{nginx-location-configuration主体},因为命名位置块的主体可以以类似于@code{nginx-location-configuration主体}的方式使用。一个限制是命名位置块的主体不能包含位置块。"

#. type: subsubheading
#: guix-git/doc/guix.texi:33308
#, fuzzy, no-wrap
msgid "Varnish Cache"
msgstr "Varnish Cache"

#. type: cindex
#: guix-git/doc/guix.texi:33309
#, fuzzy, no-wrap
msgid "Varnish"
msgstr "Varnish"

#. type: Plain text
#: guix-git/doc/guix.texi:33314
#, fuzzy
msgid "Varnish is a fast cache server that sits in between web applications and end users.  It proxies requests from clients and caches the accessed URLs such that multiple requests for the same resource only creates one request to the back-end."
msgstr "Varnish是一个快速的缓存服务器,位于Web应用程序和最终用户之间。它代理来自客户端的请求,并缓存访问的URL,以便对同一资源的多个请求只创建一个对后端的请求。"

#. type: defvar
#: guix-git/doc/guix.texi:33315
#, fuzzy, no-wrap
msgid "varnish-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:33317
#, fuzzy
msgid "Service type for the Varnish daemon."
msgstr "Varnish守护进程的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:33319
#, fuzzy, no-wrap
msgid "{Data Type} varnish-configuration"
msgstr "{数据类型} varnish-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33322
#, fuzzy
msgid "Data type representing the @code{varnish} service configuration.  This type has the following parameters:"
msgstr "表示@code{varnish}服务配置的数据类型。此类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:33324
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{varnish})"
msgstr "@code{package}(默认:@code{varnish})"

#. type: table
#: guix-git/doc/guix.texi:33326
#, fuzzy
msgid "The Varnish package to use."
msgstr "要使用的Varnish包。"

#. type: item
#: guix-git/doc/guix.texi:33327
#, fuzzy, no-wrap
msgid "@code{name} (default: @code{\"default\"})"
msgstr "@code{name}(默认:@code{\"default\"})"

#. type: table
#: guix-git/doc/guix.texi:33332
#, fuzzy
msgid "A name for this Varnish instance.  Varnish will create a directory in @file{/var/varnish/} with this name and keep temporary files there.  If the name starts with a forward slash, it is interpreted as an absolute directory name."
msgstr "此Varnish实例的名称。Varnish将在@file{/var/varnish/}中创建一个以此名称命名的目录,并在其中保存临时文件。如果名称以斜杠开头,则将其解释为绝对目录名称。"

#. type: table
#: guix-git/doc/guix.texi:33335
#, fuzzy
msgid "Pass the @code{-n} argument to other Varnish programs to connect to the named instance, e.g.@: @command{varnishncsa -n default}."
msgstr "将@code{-n}参数传递给其他Varnish程序以连接到命名实例,例如:@: @command{varnishncsa -n default}。"

#. type: item
#: guix-git/doc/guix.texi:33336
#, fuzzy, no-wrap
msgid "@code{backend} (default: @code{\"localhost:8080\"})"
msgstr "@code{backend}(默认:@code{\"localhost:8080\"})"

#. type: table
#: guix-git/doc/guix.texi:33338
#, fuzzy
msgid "The backend to use.  This option has no effect if @code{vcl} is set."
msgstr "要使用的后端。如果设置了@code{vcl},则此选项无效。"

#. type: item
#: guix-git/doc/guix.texi:33339
#, fuzzy, no-wrap
msgid "@code{vcl} (default: #f)"
msgstr "@code{vcl}(默认:#f)"

#. type: table
#: guix-git/doc/guix.texi:33344
#, fuzzy
msgid "The @dfn{VCL} (Varnish Configuration Language) program to run.  If this is @code{#f}, Varnish will proxy @code{backend} using the default configuration.  Otherwise this must be a file-like object with valid VCL syntax."
msgstr "要运行的@dfn{VCL}(Varnish配置语言)程序。如果这是@code{#f},Varnish将使用默认配置代理@code{backend}。否则,这必须是具有有效VCL语法的类文件对象。"

#. type: table
#: guix-git/doc/guix.texi:33348
#, fuzzy
msgid "For example, to mirror @url{https://www.gnu.org,www.gnu.org} with VCL you can do something along these lines:"
msgstr "例如,要使用VCL镜像@url{https://www.gnu.org,www.gnu.org},您可以执行以下操作:"

#. type: lisp
#: guix-git/doc/guix.texi:33354
#, fuzzy, no-wrap
msgid ""
"(define %gnu-mirror\n"
"  (plain-file \"gnu.vcl\"\n"
"              \"vcl 4.1;\n"
"backend gnu @{ .host = \\\"www.gnu.org\\\"; @}\"))\n"
"\n"
msgstr ""
"(define %gnu-mirror\n"
"  (plain-file \"gnu.vcl\"\n"
"              \"vcl 4.1;\n"
"backend gnu @{ .host = \\\"www.gnu.org\\\"; @}\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:33362
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services (cons (service varnish-service-type\n"
"                           (varnish-configuration\n"
"                            (listen '(\":80\"))\n"
"                            (vcl %gnu-mirror)))\n"
"                  %base-services)))\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services (cons (service varnish-service-type\n"
"                           (varnish-configuration\n"
"                            (listen '(\":80\"))\n"
"                            (vcl %gnu-mirror)))\n"
"                  %base-services)))\n"

#. type: table
#: guix-git/doc/guix.texi:33366
#, fuzzy
msgid "The configuration of an already running Varnish instance can be inspected and changed using the @command{varnishadm} program."
msgstr "可以使用@command{varnishadm}程序检查和更改已运行的Varnish实例的配置。"

#. type: table
#: guix-git/doc/guix.texi:33370
#, fuzzy
msgid "Consult the @url{https://varnish-cache.org/docs/,Varnish User Guide} and @url{https://book.varnish-software.com/4.0/,Varnish Book} for comprehensive documentation on Varnish and its configuration language."
msgstr "请参考@url{https://varnish-cache.org/docs/,Varnish用户指南}和@url{https://book.varnish-software.com/4.0/,Varnish书籍}以获取有关Varnish及其配置语言的全面文档。"

#. type: item
#: guix-git/doc/guix.texi:33371
#, fuzzy, no-wrap
msgid "@code{listen} (default: @code{'(\"localhost:80\")})"
msgstr "@code{listen}(默认:@code{'(\"localhost:80\")})"

#. type: table
#: guix-git/doc/guix.texi:33373
#, fuzzy
msgid "List of addresses Varnish will listen on."
msgstr "Varnish将监听的地址列表。"

#. type: item
#: guix-git/doc/guix.texi:33374
#, fuzzy, no-wrap
msgid "@code{storage} (default: @code{'(\"malloc,128m\")})"
msgstr "@code{storage}(默认:@code{'(\"malloc,128m\")})"

#. type: table
#: guix-git/doc/guix.texi:33376
#, fuzzy
msgid "List of storage backends that will be available in VCL."
msgstr "将在VCL中可用的存储后端列表。"

#. type: item
#: guix-git/doc/guix.texi:33377
#, fuzzy, no-wrap
msgid "@code{parameters} (default: @code{'()})"
msgstr "@code{parameters}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33379
#, fuzzy
msgid "List of run-time parameters in the form @code{'((\"parameter\" . \"value\"))}."
msgstr "运行时参数列表,格式为 @code{'((\"parameter\" . \"value\"))}。"

#. type: table
#: guix-git/doc/guix.texi:33382
#, fuzzy
msgid "Additional arguments to pass to the @command{varnishd} process."
msgstr "传递给 @command{varnishd} 进程的附加参数。"

#. type: cindex
#: guix-git/doc/guix.texi:33386 guix-git/doc/guix.texi:33387
#, fuzzy, no-wrap
msgid "Whoogle Search"
msgstr "文件系统"

#. type: Plain text
#: guix-git/doc/guix.texi:33394
#, fuzzy
msgid "@uref{https://github.com/benbusby/whoogle-search, Whoogle Search} is a self-hosted, ad-free, privacy-respecting meta search engine that collects and displays Google search results.  By default, you can configure it by adding this line to the @code{services} field of your operating system declaration:"
msgstr "@uref{https://github.com/benbusby/whoogle-search, Whoogle Search} 是一个自托管、无广告、尊重隐私的元搜索引擎,收集并显示 Google 搜索结果。默认情况下,您可以通过将此行添加到操作系统声明的 @code{services} 字段来进行配置:"

#. type: lisp
#: guix-git/doc/guix.texi:33397
#, fuzzy, no-wrap
msgid "(service whoogle-service-type)\n"
msgstr "(service home-znc-service-type)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:33402
#, fuzzy
msgid "As a result, Whoogle Search runs as local Web server, which you can access by opening @indicateurl{http://localhost:5000} in your browser.  The configuration reference is given below."
msgstr "因此,Whoogle Search 作为本地 Web 服务器运行,您可以通过在浏览器中打开 @indicateurl{http://localhost:5000} 来访问它。配置参考如下。"

#. type: defvar
#: guix-git/doc/guix.texi:33403
#, fuzzy, no-wrap
msgid "whoogle-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:33406
#, fuzzy
msgid "Service type for Whoogle Search.  Its value must be a @code{whoogle-configuration} record---see below."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:33408
#, fuzzy, no-wrap
msgid "{Data Type} whoogle-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:33410
#, fuzzy
msgid "Data type representing Whoogle Search service configuration."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:33412
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{whoogle-search})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:33414
#, fuzzy
msgid "The Whoogle Search package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:33415 guix-git/doc/guix.texi:41159
#: guix-git/doc/guix.texi:41251
#, fuzzy, no-wrap
msgid "@code{host} (default: @code{\"127.0.0.1\"})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:33417
#, fuzzy
msgid "The host address to run Whoogle on."
msgstr "运行 Whoogle 的主机地址。"

#. type: item
#: guix-git/doc/guix.texi:33418 guix-git/doc/guix.texi:33938
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{5000})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:33420
#, fuzzy
msgid "The port where Whoogle will be exposed."
msgstr "Whoogle 将暴露的端口。"

#. type: item
#: guix-git/doc/guix.texi:33421 guix-git/doc/guix.texi:42132
#: guix-git/doc/guix.texi:42185
#, fuzzy, no-wrap
msgid "@code{environment-variables} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33426
#, fuzzy
msgid "A list of strings with the environment variables to configure Whoogle.  You can consult @uref{https://github.com/benbusby/whoogle-search/blob/main/whoogle.template.env, its environment variables template} for the list of available options."
msgstr "包含环境变量的字符串列表,用于配置 Whoogle。您可以查阅 @uref{https://github.com/benbusby/whoogle-search/blob/main/whoogle.template.env, 其环境变量模板} 以获取可用选项的列表。"

#. type: cindex
#: guix-git/doc/guix.texi:33430 guix-git/doc/guix.texi:33431
#, fuzzy, no-wrap
msgid "Patchwork"
msgstr "补丁工作"

#. type: Plain text
#: guix-git/doc/guix.texi:33434
#, fuzzy
msgid "Patchwork is a patch tracking system.  It can collect patches sent to a mailing list, and display them in a web interface."
msgstr "补丁工作是一个补丁跟踪系统。它可以收集发送到邮件列表的补丁,并在 Web 界面中显示它们。"

#. type: defvar
#: guix-git/doc/guix.texi:33435
#, fuzzy, no-wrap
msgid "patchwork-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:33437
#, fuzzy
msgid "Service type for Patchwork."
msgstr "分享你的工作。"

#. type: Plain text
#: guix-git/doc/guix.texi:33441
#, fuzzy
msgid "The following example is an example of a minimal service for Patchwork, for the @code{patchwork.example.com} domain."
msgstr "以下示例是针对 @code{patchwork.example.com} 域的补丁工作最小服务的示例。"

#. type: lisp
#: guix-git/doc/guix.texi:33461
#, fuzzy, no-wrap
msgid ""
"(service patchwork-service-type\n"
"         (patchwork-configuration\n"
"          (domain \"patchwork.example.com\")\n"
"          (settings-module\n"
"           (patchwork-settings-module\n"
"            (allowed-hosts (list domain))\n"
"            (default-from-email \"patchwork@@patchwork.example.com\")))\n"
"          (getmail-retriever-config\n"
"           (getmail-retriever-configuration\n"
"            (type \"SimpleIMAPSSLRetriever\")\n"
"            (server \"imap.example.com\")\n"
"            (port 993)\n"
"            (username \"patchwork\")\n"
"            (password-command\n"
"             (list (file-append coreutils \"/bin/cat\")\n"
"                   \"/etc/getmail-patchwork-imap-password\"))\n"
"            (extra-parameters\n"
"            '((mailboxes . (\"Patches\"))))))))\n"
"\n"
msgstr ""
"(service patchwork-service-type\n"
"         (patchwork-configuration\n"
"          (domain \"patchwork.example.com\")\n"
"          (settings-module\n"
"           (patchwork-settings-module\n"
"            (allowed-hosts (list domain))\n"
"            (default-from-email \"patchwork@@patchwork.example.com\")))\n"
"          (getmail-retriever-config\n"
"           (getmail-retriever-configuration\n"
"            (type \"SimpleIMAPSSLRetriever\")\n"
"            (server \"imap.example.com\")\n"
"            (port 993)\n"
"            (username \"patchwork\")\n"
"            (password-command\n"
"             (list (file-append coreutils \"/bin/cat\")\n"
"                   \"/etc/getmail-patchwork-imap-password\"))\n"
"            (extra-parameters\n"
"            '((mailboxes . (\"Patches\"))))))))\n"
"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:33467
#, fuzzy
msgid "There are three records for configuring the Patchwork service.  The @code{<patchwork-configuration>} relates to the configuration for Patchwork within the HTTPD service."
msgstr "配置补丁工作服务的记录有三个。 @code{<patchwork-configuration>} 与 HTTPD 服务中的补丁工作配置相关。"

#. type: Plain text
#: guix-git/doc/guix.texi:33471
#, fuzzy
msgid "The @code{settings-module} field within the @code{<patchwork-configuration>} record can be populated with the @code{<patchwork-settings-module>} record, which describes a settings module that is generated within the Guix store."
msgstr "在 @code{<patchwork-configuration>} 记录中的 @code{settings-module} 字段可以用 @code{<patchwork-settings-module>} 记录填充,该记录描述了在 Guix 存储中生成的设置模块。"

#. type: Plain text
#: guix-git/doc/guix.texi:33475
#, fuzzy
msgid "For the @code{database-configuration} field within the @code{<patchwork-settings-module>}, the @code{<patchwork-database-configuration>} must be used."
msgstr "在 @code{<patchwork-settings-module>} 中的 @code{database-configuration} 字段必须使用 @code{<patchwork-database-configuration>}。"

#. type: deftp
#: guix-git/doc/guix.texi:33476
#, fuzzy, no-wrap
msgid "{Data Type} patchwork-configuration"
msgstr "{数据类型} patchwork-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33479
#, fuzzy
msgid "Data type representing the Patchwork service configuration.  This type has the following parameters:"
msgstr "表示 Patchwork 服务配置的数据类型。此类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:33481
#, fuzzy, no-wrap
msgid "@code{patchwork} (default: @code{patchwork})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:33483
#, fuzzy
msgid "The Patchwork package to use."
msgstr "软件包数据类型。"

#. type: code{#1}
#: guix-git/doc/guix.texi:33484
#, fuzzy, no-wrap
msgid "domain"
msgstr "域名"

#. type: table
#: guix-git/doc/guix.texi:33487
#, fuzzy
msgid "The domain to use for Patchwork, this is used in the HTTPD service virtual host."
msgstr "用于 Patchwork 的域名,这在 HTTPD 服务虚拟主机中使用。"

#. type: code{#1}
#: guix-git/doc/guix.texi:33488
#, fuzzy, no-wrap
msgid "settings-module"
msgstr "settings-module"

#. type: table
#: guix-git/doc/guix.texi:33494
#, fuzzy
msgid "The settings module to use for Patchwork.  As a Django application, Patchwork is configured with a Python module containing the settings.  This can either be an instance of the @code{<patchwork-settings-module>} record, any other record that represents the settings in the store, or a directory outside of the store."
msgstr "用于 Patchwork 的设置模块。作为一个 Django 应用程序,Patchwork 使用包含设置的 Python 模块进行配置。这可以是 @code{<patchwork-settings-module>} 记录的一个实例,任何其他表示存储中设置的记录,或存储外的目录。"

#. type: item
#: guix-git/doc/guix.texi:33495
#, fuzzy, no-wrap
msgid "@code{static-path}  (default: @code{\"/static/\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:33497
#, fuzzy
msgid "The path under which the HTTPD service should serve the static files."
msgstr "HTTPD 服务应提供静态文件的路径。"

#. type: code{#1}
#: guix-git/doc/guix.texi:33498
#, fuzzy, no-wrap
msgid "getmail-retriever-config"
msgstr "getmail-retriever-config"

#. type: table
#: guix-git/doc/guix.texi:33502
#, fuzzy
msgid "The getmail-retriever-configuration record value to use with Patchwork.  Getmail will be configured with this value, the messages will be delivered to Patchwork."
msgstr "与 Patchwork 一起使用的 getmail-retriever-configuration 记录值。Getmail 将使用此值进行配置,消息将被发送到 Patchwork。"

#. type: deftp
#: guix-git/doc/guix.texi:33506
#, fuzzy, no-wrap
msgid "{Data Type} patchwork-settings-module"
msgstr "{数据类型} patchwork-settings-module"

#. type: deftp
#: guix-git/doc/guix.texi:33511
#, fuzzy
msgid "Data type representing a settings module for Patchwork.  Some of these settings relate directly to Patchwork, but others relate to Django, the web framework used by Patchwork, or the Django Rest Framework library.  This type has the following parameters:"
msgstr "表示 Patchwork 的设置模块的数据类型。这些设置中的一些与 Patchwork 直接相关,但其他一些与 Patchwork 使用的 web 框架 Django 或 Django Rest Framework 库相关。此类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:33513
#, fuzzy, no-wrap
msgid "@code{database-configuration} (default: @code{(patchwork-database-configuration)})"
msgstr "@code{database-configuration}(默认值:@code{(patchwork-database-configuration)})"

#. type: table
#: guix-git/doc/guix.texi:33516
#, fuzzy
msgid "The database connection settings used for Patchwork.  See the @code{<patchwork-database-configuration>} record type for more information."
msgstr "用于 Patchwork 的数据库连接设置。有关更多信息,请参见 @code{<patchwork-database-configuration>} 记录类型。"

#. type: item
#: guix-git/doc/guix.texi:33517
#, fuzzy, no-wrap
msgid "@code{secret-key-file} (default: @code{\"/etc/patchwork/django-secret-key\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:33520
#, fuzzy
msgid "Patchwork, as a Django web application uses a secret key for cryptographically signing values.  This file should contain a unique unpredictable value."
msgstr "作为一个 Django web 应用程序,Patchwork 使用一个秘密密钥来加密签名值。此文件应包含一个唯一的不可预测值。"

#. type: table
#: guix-git/doc/guix.texi:33523
#, fuzzy
msgid "If this file does not exist, it will be created and populated with a random value by the patchwork-setup shepherd service."
msgstr "如果此文件不存在,patchwork-setup shepherd 服务将创建并用随机值填充它。"

#. type: table
#: guix-git/doc/guix.texi:33525
#, fuzzy
msgid "This setting relates to Django."
msgstr "此设置与 Django 相关。"

#. type: code{#1}
#: guix-git/doc/guix.texi:33526
#, fuzzy, no-wrap
msgid "allowed-hosts"
msgstr "允许的主机"

#. type: table
#: guix-git/doc/guix.texi:33529
#, fuzzy
msgid "A list of valid hosts for this Patchwork service.  This should at least include the domain specified in the @code{<patchwork-configuration>} record."
msgstr "此 Patchwork 服务的有效主机列表。 这至少应包括在 @code{<patchwork-configuration>} 记录中指定的域。"

#. type: table
#: guix-git/doc/guix.texi:33531 guix-git/doc/guix.texi:33545
#: guix-git/doc/guix.texi:33551 guix-git/doc/guix.texi:33557
#, fuzzy
msgid "This is a Django setting."
msgstr "这是一个 Django 设置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:33532
#, fuzzy, no-wrap
msgid "default-from-email"
msgstr "默认发件人邮箱"

#. type: table
#: guix-git/doc/guix.texi:33534
#, fuzzy
msgid "The email address from which Patchwork should send email by default."
msgstr "Patchwork 默认发送邮件的邮箱地址。"

#. type: table
#: guix-git/doc/guix.texi:33536 guix-git/doc/guix.texi:33562
#: guix-git/doc/guix.texi:33567 guix-git/doc/guix.texi:33572
#, fuzzy
msgid "This is a Patchwork setting."
msgstr "这是一个 Patchwork 设置。"

#. type: item
#: guix-git/doc/guix.texi:33537
#, fuzzy, no-wrap
msgid "@code{static-url} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33540
#, fuzzy
msgid "The URL to use when serving static assets.  It can be part of a URL, or a full URL, but must end in a @code{/}."
msgstr "用于提供静态资产的 URL。 它可以是 URL 的一部分或完整 URL,但必须以 @code{/} 结尾。"

#. type: table
#: guix-git/doc/guix.texi:33543
#, fuzzy
msgid "If the default value is used, the @code{static-path} value from the @code{<patchwork-configuration>} record will be used."
msgstr "如果使用默认值,将使用 @code{<patchwork-configuration>} 记录中的 @code{static-path} 值。"

#. type: item
#: guix-git/doc/guix.texi:33546
#, fuzzy, no-wrap
msgid "@code{admins} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33549
#, fuzzy
msgid "Email addresses to send the details of errors that occur.  Each value should be a list containing two elements, the name and then the email address."
msgstr "发送发生错误的详细信息的电子邮件地址。 每个值应是一个包含两个元素的列表,名称和电子邮件地址。"

#. type: table
#: guix-git/doc/guix.texi:33555
#, fuzzy
msgid "Whether to run Patchwork in debug mode.  If set to @code{#t}, detailed error messages will be shown."
msgstr "是否在调试模式下运行 Patchwork。 如果设置为 @code{#t},将显示详细的错误消息。"

#. type: item
#: guix-git/doc/guix.texi:33558
#, fuzzy, no-wrap
msgid "@code{enable-rest-api?} (default: @code{#t})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33560
#, fuzzy
msgid "Whether to enable the Patchwork REST API."
msgstr "是否启用 Patchwork REST API。"

#. type: item
#: guix-git/doc/guix.texi:33563
#, fuzzy, no-wrap
msgid "@code{enable-xmlrpc?} (default: @code{#t})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33565
#, fuzzy
msgid "Whether to enable the XML RPC API."
msgstr "是否启用 XML RPC API。"

#. type: item
#: guix-git/doc/guix.texi:33568
#, fuzzy, no-wrap
msgid "@code{force-https-links?} (default: @code{#t})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33570
#, fuzzy
msgid "Whether to use HTTPS links on Patchwork pages."
msgstr "是否在 Patchwork 页面上使用 HTTPS 链接。"

#. type: table
#: guix-git/doc/guix.texi:33575
#, fuzzy
msgid "Extra code to place at the end of the Patchwork settings module."
msgstr "在 Patchwork 设置模块末尾放置的额外代码。"

#. type: deftp
#: guix-git/doc/guix.texi:33579
#, fuzzy, no-wrap
msgid "{Data Type} patchwork-database-configuration"
msgstr "{数据类型} patchwork-database-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33581
#, fuzzy
msgid "Data type representing the database configuration for Patchwork."
msgstr "表示 Patchwork 数据库配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:33583
#, fuzzy, no-wrap
msgid "@code{engine} (default: @code{\"django.db.backends.postgresql_psycopg2\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:33585
#, fuzzy
msgid "The database engine to use."
msgstr "要使用的数据库引擎。"

#. type: item
#: guix-git/doc/guix.texi:33586
#, fuzzy, no-wrap
msgid "@code{name} (default: @code{\"patchwork\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:33588
#, fuzzy
msgid "The name of the database to use."
msgstr "远程机器的主机名。"

#. type: table
#: guix-git/doc/guix.texi:33591
#, fuzzy
msgid "The user to connect to the database as."
msgstr "连接到数据库的用户。"

#. type: item
#: guix-git/doc/guix.texi:33592
#, fuzzy, no-wrap
msgid "@code{password} (default: @code{\"\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:33594
#, fuzzy
msgid "The password to use when connecting to the database."
msgstr "连接到数据库时使用的密码。"

#. type: item
#: guix-git/doc/guix.texi:33595
#, fuzzy, no-wrap
msgid "@code{host} (default: @code{\"\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:33597
#, fuzzy
msgid "The host to make the database connection to."
msgstr "要连接的数据库主机。"

#. type: item
#: guix-git/doc/guix.texi:33598
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{\"\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:33600
#, fuzzy
msgid "The port on which to connect to the database."
msgstr "连接到数据库的端口。"

#. type: subsubheading
#: guix-git/doc/guix.texi:33604
#, fuzzy, no-wrap
msgid "Mumi"
msgstr "Mumi"

#. type: cindex
#: guix-git/doc/guix.texi:33606
#, fuzzy, no-wrap
msgid "Mumi, Debbugs Web interface"
msgstr "用户界面"

#. type: cindex
#: guix-git/doc/guix.texi:33607
#, fuzzy, no-wrap
msgid "Debbugs, Mumi Web interface"
msgstr "用户界面"

#. type: Plain text
#: guix-git/doc/guix.texi:33612
#, fuzzy
msgid "@uref{https://git.savannah.gnu.org/cgit/guix/mumi.git/, Mumi} is a Web interface to the Debbugs bug tracker, by default for @uref{https://bugs.gnu.org, the GNU instance}.  Mumi is a Web server, but it also fetches and indexes mail retrieved from Debbugs."
msgstr "@uref{https://git.savannah.gnu.org/cgit/guix/mumi.git/, Mumi} 是一个 Web 界面,用于 Debbugs 缺陷跟踪器,默认情况下用于 @uref{https://bugs.gnu.org, GNU 实例}。 Mumi 是一个 Web 服务器,但它还会获取和索引从 Debbugs 检索的邮件。"

#. type: defvar
#: guix-git/doc/guix.texi:33613
#, fuzzy, no-wrap
msgid "mumi-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:33615
#, fuzzy
msgid "This is the service type for Mumi."
msgstr "这是 Mumi 的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:33617
#, fuzzy, no-wrap
msgid "{Data Type} mumi-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:33620
#, fuzzy
msgid "Data type representing the Mumi service configuration.  This type has the following fields:"
msgstr "表示 Mumi 服务配置的数据类型。 此类型具有以下字段:"

#. type: item
#: guix-git/doc/guix.texi:33622
#, fuzzy, no-wrap
msgid "@code{mumi} (default: @code{mumi})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:33624
#, fuzzy
msgid "The Mumi package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:33625
#, fuzzy, no-wrap
msgid "@code{mailer?} (default: @code{#true})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:33627
#, fuzzy
msgid "Whether to enable or disable the mailer component."
msgstr "是否启用或禁用邮件发送组件。"

#. type: code{#1}
#: guix-git/doc/guix.texi:33628
#, fuzzy, no-wrap
msgid "mumi-configuration-sender"
msgstr "mumi-configuration-sender"

#. type: table
#: guix-git/doc/guix.texi:33630
#, fuzzy
msgid "The email address used as the sender for comments."
msgstr "用作评论发件人的电子邮件地址。"

#. type: code{#1}
#: guix-git/doc/guix.texi:33631
#, fuzzy, no-wrap
msgid "mumi-configuration-smtp"
msgstr "系统配置"

#. type: table
#: guix-git/doc/guix.texi:33636
#, fuzzy
msgid "A URI to configure the SMTP settings for Mailutils.  This could be something like @code{sendmail:///path/to/bin/msmtp} or any other URI supported by Mailutils.  @xref{SMTP Mailboxes, SMTP Mailboxes,, mailutils, GNU@tie{}Mailutils}."
msgstr "用于配置 Mailutils 的 SMTP 设置的 URI。 这可以是类似 @code{sendmail:///path/to/bin/msmtp} 的内容或 Mailutils 支持的任何其他 URI。 @xref{SMTP Mailboxes, SMTP Mailboxes,, mailutils, GNU@tie{}Mailutils}。"

#. type: subsubheading
#: guix-git/doc/guix.texi:33641
#, fuzzy, no-wrap
msgid "FastCGI"
msgstr "FastCGI"

#. type: cindex
#: guix-git/doc/guix.texi:33642
#, fuzzy, no-wrap
msgid "fastcgi"
msgstr "fastcgi"

#. type: cindex
#: guix-git/doc/guix.texi:33643
#, fuzzy, no-wrap
msgid "fcgiwrap"
msgstr "fcgiwrap"

#. type: Plain text
#: guix-git/doc/guix.texi:33650
#, fuzzy
msgid "FastCGI is an interface between the front-end and the back-end of a web service.  It is a somewhat legacy facility; new web services should generally just talk HTTP between the front-end and the back-end.  However there are a number of back-end services such as PHP or the optimized HTTP Git repository access that use FastCGI, so we have support for it in Guix."
msgstr "FastCGI 是前端和后端之间的接口。它是一种有些过时的设施;新的网络服务通常应该在前端和后端之间直接使用 HTTP。然而,有一些后端服务,如 PHP 或优化的 HTTP Git 存储库访问,使用 FastCGI,因此我们在 Guix 中支持它。"

#. type: Plain text
#: guix-git/doc/guix.texi:33657
#, fuzzy
msgid "To use FastCGI, you configure the front-end web server (e.g., nginx) to dispatch some subset of its requests to the fastcgi backend, which listens on a local TCP or UNIX socket.  There is an intermediary @code{fcgiwrap} program that sits between the actual backend process and the web server.  The front-end indicates which backend program to run, passing that information to the @code{fcgiwrap} process."
msgstr "要使用 FastCGI,您需要配置前端 Web 服务器(例如 nginx)以将其请求的某些子集分派到 fastcgi 后端,该后端在本地 TCP 或 UNIX 套接字上监听。中间有一个 @code{fcgiwrap} 程序,它位于实际后端进程和 Web 服务器之间。前端指示要运行哪个后端程序,并将该信息传递给 @code{fcgiwrap} 进程。"

#. type: defvar
#: guix-git/doc/guix.texi:33658
#, fuzzy, no-wrap
msgid "fcgiwrap-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:33660
#, fuzzy
msgid "A service type for the @code{fcgiwrap} FastCGI proxy."
msgstr "@code{fcgiwrap} FastCGI 代理的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:33662
#, fuzzy, no-wrap
msgid "{Data Type} fcgiwrap-configuration"
msgstr "{数据类型} fcgiwrap-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33665
#, fuzzy
msgid "Data type representing the configuration of the @code{fcgiwrap} service.  This type has the following parameters:"
msgstr "表示 @code{fcgiwrap} 服务配置的数据类型。该类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:33666
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{fcgiwrap})"
msgstr "@code{package}(默认值:@code{fcgiwrap})"

#. type: table
#: guix-git/doc/guix.texi:33668
#, fuzzy
msgid "The fcgiwrap package to use."
msgstr "要使用的 fcgiwrap 包。"

#. type: item
#: guix-git/doc/guix.texi:33669
#, fuzzy, no-wrap
msgid "@code{socket} (default: @code{tcp:127.0.0.1:9000})"
msgstr "@code{socket}(默认值:@code{tcp:127.0.0.1:9000})"

#. type: table
#: guix-git/doc/guix.texi:33675
#, fuzzy
msgid "The socket on which the @code{fcgiwrap} process should listen, as a string.  Valid @var{socket} values include @code{unix:@var{/path/to/unix/socket}}, @code{tcp:@var{dot.ted.qu.ad}:@var{port}} and @code{tcp6:[@var{ipv6_addr}]:port}."
msgstr "@code{fcgiwrap} 进程应监听的套接字,作为字符串。有效的 @var{socket} 值包括 @code{unix:@var{/path/to/unix/socket}}、@code{tcp:@var{dot.ted.qu.ad}:@var{port}} 和 @code{tcp6:[@var{ipv6_addr}]:port}。"

#. type: item
#: guix-git/doc/guix.texi:33676
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{fcgiwrap})"
msgstr "@code{user}(默认值:@code{fcgiwrap})"

#. type: itemx
#: guix-git/doc/guix.texi:33677
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{fcgiwrap})"
msgstr "@code{group}(默认值:@code{fcgiwrap})"

#. type: table
#: guix-git/doc/guix.texi:33682
#, fuzzy
msgid "The user and group names, as strings, under which to run the @code{fcgiwrap} process.  The @code{fastcgi} service will ensure that if the user asks for the specific user or group names @code{fcgiwrap} that the corresponding user and/or group is present on the system."
msgstr "要运行 @code{fcgiwrap} 进程的用户和组名称,作为字符串。@code{fastcgi} 服务将确保如果用户请求特定的用户或组名称 @code{fcgiwrap},则相应的用户和/或组在系统上存在。"

#. type: table
#: guix-git/doc/guix.texi:33689
#, fuzzy
msgid "It is possible to configure a FastCGI-backed web service to pass HTTP authentication information from the front-end to the back-end, and to allow @code{fcgiwrap} to run the back-end process as a corresponding local user.  To enable this capability on the back-end, run @code{fcgiwrap} as the @code{root} user and group.  Note that this capability also has to be configured on the front-end as well."
msgstr "可以配置一个支持 FastCGI 的 Web 服务,将 HTTP 身份验证信息从前端传递到后端,并允许 @code{fcgiwrap} 以相应的本地用户身份运行后端进程。要在后端启用此功能,请以 @code{root} 用户和组身份运行 @code{fcgiwrap}。请注意,此功能也必须在前端进行配置。"

#. type: subsubheading
#: guix-git/doc/guix.texi:33693
#, fuzzy, no-wrap
msgid "PHP-FPM"
msgstr "PHP-FPM"

#. type: cindex
#: guix-git/doc/guix.texi:33694
#, fuzzy, no-wrap
msgid "php-fpm"
msgstr "php-fpm"

#. type: Plain text
#: guix-git/doc/guix.texi:33697
#, fuzzy
msgid "PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size."
msgstr "PHP-FPM(FastCGI进程管理器)是一个替代的PHP FastCGI实现,具有一些对任何规模的网站都很有用的附加功能。"

#. type: Plain text
#: guix-git/doc/guix.texi:33699
#, fuzzy
msgid "These features include:"
msgstr "这些功能包括:"

#. type: item
#: guix-git/doc/guix.texi:33700
#, fuzzy, no-wrap
msgid "Adaptive process spawning"
msgstr "自适应进程生成"

#. type: item
#: guix-git/doc/guix.texi:33701
#, fuzzy, no-wrap
msgid "Basic statistics (similar to Apache's mod_status)"
msgstr "基本统计信息(类似于Apache的mod_status)"

#. type: item
#: guix-git/doc/guix.texi:33702
#, fuzzy, no-wrap
msgid "Advanced process management with graceful stop/start"
msgstr "高级进程管理,支持优雅的停止/启动"

#. type: item
#: guix-git/doc/guix.texi:33703
#, fuzzy, no-wrap
msgid "Ability to start workers with different uid/gid/chroot/environment"
msgstr "能够以不同的uid/gid/chroot/environment启动工作进程"

#. type: itemize
#: guix-git/doc/guix.texi:33705
#, fuzzy
msgid "and different php.ini (replaces safe_mode)"
msgstr "以及不同的php.ini(替代safe_mode)"

#. type: item
#: guix-git/doc/guix.texi:33705
#, fuzzy, no-wrap
msgid "Stdout & stderr logging"
msgstr "标准输出和标准错误日志记录"

#. type: item
#: guix-git/doc/guix.texi:33706
#, fuzzy, no-wrap
msgid "Emergency restart in case of accidental opcode cache destruction"
msgstr "在意外的操作码缓存破坏情况下的紧急重启"

#. type: item
#: guix-git/doc/guix.texi:33707
#, fuzzy, no-wrap
msgid "Accelerated upload support"
msgstr "加速上传支持"

#. type: item
#: guix-git/doc/guix.texi:33708
#, fuzzy, no-wrap
msgid "Support for a \"slowlog\""
msgstr "支持“慢日志”"

#. type: item
#: guix-git/doc/guix.texi:33709
#, fuzzy, no-wrap
msgid "Enhancements to FastCGI, such as fastcgi_finish_request() -"
msgstr "对FastCGI的增强,例如fastcgi_finish_request() -"

#. type: itemize
#: guix-git/doc/guix.texi:33712
#, fuzzy
msgid "a special function to finish request & flush all data while continuing to do something time-consuming (video converting, stats processing, etc.)"
msgstr "一个特殊的函数,用于完成请求并刷新所有数据,同时继续执行一些耗时的操作(视频转换、统计处理等)"

#. type: Plain text
#: guix-git/doc/guix.texi:33714
#, fuzzy
msgid "...@: and much more."
msgstr "...@: 还有更多。"

#. type: defvar
#: guix-git/doc/guix.texi:33715
#, fuzzy, no-wrap
msgid "php-fpm-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:33717
#, fuzzy
msgid "A Service type for @code{php-fpm}."
msgstr "@code{php-fpm}的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:33719
#, fuzzy, no-wrap
msgid "{Data Type} php-fpm-configuration"
msgstr "{数据类型} php-fpm-配置"

#. type: deftp
#: guix-git/doc/guix.texi:33721
#, fuzzy
msgid "Data Type for php-fpm service configuration."
msgstr "php-fpm服务配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:33722
#, fuzzy, no-wrap
msgid "@code{php} (default: @code{php})"
msgstr "@code{php}(默认:@code{php})"

#. type: table
#: guix-git/doc/guix.texi:33724
#, fuzzy
msgid "The php package to use."
msgstr "要使用的php包。"

#. type: item
#: guix-git/doc/guix.texi:33724
#, fuzzy, no-wrap
msgid "@code{socket} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.sock\")})"
msgstr "@code{socket}(默认:@code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.sock\")})"

#. type: table
#: guix-git/doc/guix.texi:33726
#, fuzzy
msgid "The address on which to accept FastCGI requests.  Valid syntaxes are:"
msgstr "接受FastCGI请求的地址。有效的语法有:"

#. type: code{#1}
#: guix-git/doc/guix.texi:33727
#, fuzzy, no-wrap
msgid "\"ip.add.re.ss:port\""
msgstr "\"ip.add.re.ss:port\""

#. type: table
#: guix-git/doc/guix.texi:33729
#, fuzzy
msgid "Listen on a TCP socket to a specific address on a specific port."
msgstr "在特定端口的特定地址上监听TCP套接字。"

#. type: code{#1}
#: guix-git/doc/guix.texi:33729
#, fuzzy, no-wrap
msgid "\"port\""
msgstr "\"port\""

#. type: table
#: guix-git/doc/guix.texi:33731
#, fuzzy
msgid "Listen on a TCP socket to all addresses on a specific port."
msgstr "在特定端口上监听所有地址的TCP套接字。"

#. type: code{#1}
#: guix-git/doc/guix.texi:33731
#, fuzzy, no-wrap
msgid "\"/path/to/unix/socket\""
msgstr "\"/path/to/unix/socket\""

#. type: table
#: guix-git/doc/guix.texi:33733
#, fuzzy
msgid "Listen on a unix socket."
msgstr "在unix套接字上监听。"

#. type: item
#: guix-git/doc/guix.texi:33735
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{php-fpm})"
msgstr "@code{user}(默认:@code{php-fpm})"

#. type: table
#: guix-git/doc/guix.texi:33737
#, fuzzy
msgid "User who will own the php worker processes."
msgstr "将拥有php工作进程的用户。"

#. type: item
#: guix-git/doc/guix.texi:33737
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{php-fpm})"
msgstr "@code{group}(默认:@code{php-fpm})"

#. type: table
#: guix-git/doc/guix.texi:33739
#, fuzzy
msgid "Group of the worker processes."
msgstr "工作进程的组。"

#. type: item
#: guix-git/doc/guix.texi:33739
#, fuzzy, no-wrap
msgid "@code{socket-user} (default: @code{php-fpm})"
msgstr "@code{socket-user}(默认:@code{php-fpm})"

#. type: table
#: guix-git/doc/guix.texi:33741
#, fuzzy
msgid "User who can speak to the php-fpm socket."
msgstr "可以与php-fpm套接字通信的用户。"

#. type: item
#: guix-git/doc/guix.texi:33741
#, fuzzy, no-wrap
msgid "@code{socket-group} (default: @code{nginx})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:33743
#, fuzzy
msgid "Group that can speak to the php-fpm socket."
msgstr "可以与php-fpm套接字通信的组。"

#. type: item
#: guix-git/doc/guix.texi:33743
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.pid\")})"
msgstr "@code{pid-file}(默认:@code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.pid\")})"

#. type: table
#: guix-git/doc/guix.texi:33746
#, fuzzy
msgid "The process id of the php-fpm process is written to this file once the service has started."
msgstr "php-fpm进程的进程ID在服务启动后写入此文件。"

#. type: item
#: guix-git/doc/guix.texi:33746
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.log\")})"
msgstr "@code{log-file}(默认:@code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.log\")})"

#. type: table
#: guix-git/doc/guix.texi:33748
#, fuzzy
msgid "Log for the php-fpm master process."
msgstr "php-fpm主进程的日志。"

#. type: item
#: guix-git/doc/guix.texi:33748
#, fuzzy, no-wrap
msgid "@code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)})"
msgstr "@code{process-manager}(默认:@code{(php-fpm-dynamic-process-manager-configuration)})"

#. type: table
#: guix-git/doc/guix.texi:33751
#, fuzzy
msgid "Detailed settings for the php-fpm process manager.  Must be one of:"
msgstr "php-fpm 进程管理器的详细设置。必须是以下之一:"

#. type: code{#1}
#: guix-git/doc/guix.texi:33752
#, fuzzy, no-wrap
msgid "<php-fpm-dynamic-process-manager-configuration>"
msgstr "<php-fpm-dynamic-process-manager-configuration>"

#. type: code{#1}
#: guix-git/doc/guix.texi:33753
#, fuzzy, no-wrap
msgid "<php-fpm-static-process-manager-configuration>"
msgstr "<php-fpm-static-process-manager-configuration>"

#. type: code{#1}
#: guix-git/doc/guix.texi:33754
#, fuzzy, no-wrap
msgid "<php-fpm-on-demand-process-manager-configuration>"
msgstr "<php-fpm-on-demand-process-manager-configuration>"

#. type: item
#: guix-git/doc/guix.texi:33756
#, fuzzy, no-wrap
msgid "@code{display-errors} (default @code{#f})"
msgstr "@code{display-errors}(默认 @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33761
#, fuzzy
msgid "Determines whether php errors and warning should be sent to clients and displayed in their browsers.  This is useful for local php development, but a security risk for public sites, as error messages can reveal passwords and personal data."
msgstr "确定是否将 php 错误和警告发送给客户端并在其浏览器中显示。这对于本地 php 开发很有用,但对于公共网站来说是一个安全风险,因为错误消息可能会泄露密码和个人数据。"

#. type: item
#: guix-git/doc/guix.texi:33761
#, fuzzy, no-wrap
msgid "@code{timezone} (default @code{#f})"
msgstr "@code{timezone}(默认 @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33763
#, fuzzy
msgid "Specifies @code{php_admin_value[date.timezone]} parameter."
msgstr "指定 @code{php_admin_value[date.timezone]} 参数。"

#. type: item
#: guix-git/doc/guix.texi:33763
#, fuzzy, no-wrap
msgid "@code{workers-logfile} (default @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.www.log\")})"
msgstr "@code{workers-logfile}(默认 @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.www.log\")})"

#. type: table
#: guix-git/doc/guix.texi:33766
#, fuzzy
msgid "This file will log the @code{stderr} outputs of php worker processes.  Can be set to @code{#f} to disable logging."
msgstr "此文件将记录 php 工作进程的 @code{stderr} 输出。可以设置为 @code{#f} 以禁用日志记录。"

#. type: item
#: guix-git/doc/guix.texi:33766
#, fuzzy, no-wrap
msgid "@code{file} (default @code{#f})"
msgstr "@code{file}(默认 @code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33769
#, fuzzy
msgid "An optional override of the whole configuration.  You can use the @code{mixed-text-file} function or an absolute filepath for it."
msgstr "整个配置的可选覆盖。您可以使用 @code{mixed-text-file} 函数或绝对文件路径。"

#. type: item
#: guix-git/doc/guix.texi:33769
#, fuzzy, no-wrap
msgid "@code{php-ini-file} (default @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:33773
#, fuzzy
msgid "An optional override of the default php settings.  It may be any ``file-like'' object (@pxref{G-Expressions, file-like objects}).  You can use the @code{mixed-text-file} function or an absolute filepath for it."
msgstr "对默认 php 设置的可选覆盖。它可以是任何“文件类”对象(@pxref{G-Expressions, file-like objects})。您可以使用 @code{mixed-text-file} 函数或绝对文件路径。"

#. type: table
#: guix-git/doc/guix.texi:33777
#, fuzzy
msgid "For local development it is useful to set a higher timeout and memory limit for spawned php processes.  This be accomplished with the following operating system configuration snippet:"
msgstr "对于本地开发,设置更高的超时和内存限制对于生成的 php 进程是有用的。这可以通过以下操作系统配置片段来完成:"

#. type: lisp
#: guix-git/doc/guix.texi:33782
#, fuzzy, no-wrap
msgid ""
"(define %local-php-ini\n"
"  (plain-file \"php.ini\"\n"
"              \"memory_limit = 2G\n"
"max_execution_time = 1800\"))\n"
"\n"
msgstr ""
"(define %local-php-ini\n"
"  (plain-file \"php.ini\"\n"
"              \"memory_limit = 2G\n"
"max_execution_time = 1800\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:33789
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services (cons (service php-fpm-service-type\n"
"                           (php-fpm-configuration\n"
"                            (php-ini-file %local-php-ini)))\n"
"                  %base-services)))\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services (cons (service php-fpm-service-type\n"
"                           (php-fpm-configuration\n"
"                            (php-ini-file %local-php-ini)))\n"
"                  %base-services)))\n"

#. type: table
#: guix-git/doc/guix.texi:33794
#, fuzzy
msgid "Consult the @url{https://www.php.net/manual/en/ini.core.php,core php.ini directives} for comprehensive documentation on the acceptable @file{php.ini} directives."
msgstr "请参考 @url{https://www.php.net/manual/en/ini.core.php,core php.ini 指令} 以获取有关可接受 @file{php.ini} 指令的全面文档。"

#. type: deftp
#: guix-git/doc/guix.texi:33797
#, fuzzy, no-wrap
msgid "{Data type} php-fpm-dynamic-process-manager-configuration"
msgstr "{数据类型} php-fpm-dynamic-process-manager-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33801
#, fuzzy
msgid "Data Type for the @code{dynamic} php-fpm process manager.  With the @code{dynamic} process manager, spare worker processes are kept around based on its configured limits."
msgstr "@code{dynamic} php-fpm 进程管理器的数据类型。使用 @code{dynamic} 进程管理器,根据其配置的限制保留备用工作进程。"

#. type: item
#: guix-git/doc/guix.texi:33802 guix-git/doc/guix.texi:33818
#: guix-git/doc/guix.texi:33828
#, fuzzy, no-wrap
msgid "@code{max-children} (default: @code{5})"
msgstr "@code{max-children}(默认值:@code{5})"

#. type: table
#: guix-git/doc/guix.texi:33804 guix-git/doc/guix.texi:33820
#: guix-git/doc/guix.texi:33830
#, fuzzy
msgid "Maximum of worker processes."
msgstr "最大工作进程数。"

#. type: item
#: guix-git/doc/guix.texi:33804
#, fuzzy, no-wrap
msgid "@code{start-servers} (default: @code{2})"
msgstr "@code{start-servers}(默认值:@code{2})"

#. type: table
#: guix-git/doc/guix.texi:33806
#, fuzzy
msgid "How many worker processes should be started on start-up."
msgstr "启动时应启动多少个工作进程。"

#. type: item
#: guix-git/doc/guix.texi:33806
#, fuzzy, no-wrap
msgid "@code{min-spare-servers} (default: @code{1})"
msgstr "@code{min-spare-servers}(默认值:@code{1})"

#. type: table
#: guix-git/doc/guix.texi:33808
#, fuzzy
msgid "How many spare worker processes should be kept around at minimum."
msgstr "至少应保留多少个备用工作进程。"

#. type: item
#: guix-git/doc/guix.texi:33808
#, fuzzy, no-wrap
msgid "@code{max-spare-servers} (default: @code{3})"
msgstr "@code{max-spare-servers}(默认值:@code{3})"

#. type: table
#: guix-git/doc/guix.texi:33810
#, fuzzy
msgid "How many spare worker processes should be kept around at maximum."
msgstr "最多应保留多少个备用工作进程。"

#. type: deftp
#: guix-git/doc/guix.texi:33813
#, fuzzy, no-wrap
msgid "{Data type} php-fpm-static-process-manager-configuration"
msgstr "{数据类型} php-fpm-static-process-manager-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33817
#, fuzzy
msgid "Data Type for the @code{static} php-fpm process manager.  With the @code{static} process manager, an unchanging number of worker processes are created."
msgstr "@code{static} php-fpm 进程管理器的数据类型。使用 @code{static} 进程管理器,会创建不变数量的工作进程。"

#. type: deftp
#: guix-git/doc/guix.texi:33823
#, fuzzy, no-wrap
msgid "{Data type} php-fpm-on-demand-process-manager-configuration"
msgstr "{数据类型} php-fpm-on-demand-process-manager-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33827
#, fuzzy
msgid "Data Type for the @code{on-demand} php-fpm process manager.  With the @code{on-demand} process manager, worker processes are only created as requests arrive."
msgstr "@code{on-demand} php-fpm 进程管理器的数据类型。使用 @code{on-demand} 进程管理器,工作进程仅在请求到达时创建。"

#. type: item
#: guix-git/doc/guix.texi:33830
#, fuzzy, no-wrap
msgid "@code{process-idle-timeout} (default: @code{10})"
msgstr "@code{process-idle-timeout}(默认值:@code{10})"

#. type: table
#: guix-git/doc/guix.texi:33832
#, fuzzy
msgid "The time in seconds after which a process with no requests is killed."
msgstr "在没有请求的情况下,进程被杀死的时间(以秒为单位)。"

#. type: deffn
#: guix-git/doc/guix.texi:33836
#, fuzzy, no-wrap
msgid "{Procedure} nginx-php-location [#:nginx-package nginx] @"
msgstr "{过程} nginx-php-location [#:nginx-package nginx] @"

#. type: deffn
#: guix-git/doc/guix.texi:33840
#, fuzzy
msgid "[socket (string-append \"/var/run/php\" @ (version-major (package-version php)) \"-fpm.sock\")] A helper function to quickly add php to an @code{nginx-server-configuration}."
msgstr "[socket (string-append \"/var/run/php\" @ (version-major (package-version php)) \"-fpm.sock\")] 一个辅助函数,用于快速将 php 添加到 @code{nginx-server-configuration}。"

#. type: Plain text
#: guix-git/doc/guix.texi:33843
#, fuzzy
msgid "A simple services setup for nginx with php can look like this:"
msgstr "一个简单的 nginx 与 php 的服务设置可以如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:33856
#, fuzzy, no-wrap
msgid ""
"(services (cons* (service dhcp-client-service-type)\n"
"                 (service php-fpm-service-type)\n"
"                 (service nginx-service-type\n"
"                          (nginx-server-configuration\n"
"                           (server-name '(\"example.com\"))\n"
"                           (root \"/srv/http/\")\n"
"                           (locations\n"
"                            (list (nginx-php-location)))\n"
"                           (listen '(\"80\"))\n"
"                           (ssl-certificate #f)\n"
"                           (ssl-certificate-key #f)))\n"
"                 %base-services))\n"
msgstr ""
"(services (cons* (service dhcp-client-service-type)\n"
"                 (service php-fpm-service-type)\n"
"                 (service nginx-service-type\n"
"                          (nginx-server-configuration\n"
"                           (server-name '(\"example.com\"))\n"
"                           (root \"/srv/http/\")\n"
"                           (locations\n"
"                            (list (nginx-php-location)))\n"
"                           (listen '(\"80\"))\n"
"                           (ssl-certificate #f)\n"
"                           (ssl-certificate-key #f)))\n"
"                 %base-services))\n"

#. type: cindex
#: guix-git/doc/guix.texi:33858
#, fuzzy, no-wrap
msgid "cat-avatar-generator"
msgstr "cat-avatar-generator"

#. type: Plain text
#: guix-git/doc/guix.texi:33862
#, fuzzy
msgid "The cat avatar generator is a simple service to demonstrate the use of php-fpm in @code{Nginx}.  It is used to generate cat avatar from a seed, for instance the hash of a user's email address."
msgstr "猫头像生成器是一个简单的服务,用于演示在 @code{Nginx} 中使用 php-fpm。它用于根据种子生成猫头像,例如用户电子邮件地址的哈希值。"

#. type: deffn
#: guix-git/doc/guix.texi:33863
#, fuzzy, no-wrap
msgid "{Procedure} cat-avatar-generator-service @"
msgstr "{过程} cat-avatar-generator-service @"

#. type: deffn
#: guix-git/doc/guix.texi:33871
#, fuzzy
msgid "[#:cache-dir \"/var/cache/cat-avatar-generator\"] @ [#:package cat-avatar-generator] @ [#:configuration (nginx-server-configuration)] Returns an nginx-server-configuration that inherits @code{configuration}.  It extends the nginx configuration to add a server block that serves @code{package}, a version of cat-avatar-generator.  During execution, cat-avatar-generator will be able to use @code{cache-dir} as its cache directory."
msgstr "[#:cache-dir \"/var/cache/cat-avatar-generator\"] @ [#:package cat-avatar-generator] @ [#:configuration (nginx-server-configuration)] 返回一个继承 @code{configuration} 的 nginx-server-configuration。它扩展了 nginx 配置,以添加一个服务器块,提供 @code{package},这是 cat-avatar-generator 的一个版本。在执行期间,cat-avatar-generator 将能够使用 @code{cache-dir} 作为其缓存目录。"

#. type: Plain text
#: guix-git/doc/guix.texi:33874
#, fuzzy
msgid "A simple setup for cat-avatar-generator can look like this:"
msgstr "cat-avatar-generator 的简单设置可以如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:33881
#, fuzzy, no-wrap
msgid ""
"(services (cons* (cat-avatar-generator-service\n"
"                  #:configuration\n"
"                  (nginx-server-configuration\n"
"                    (server-name '(\"example.com\"))))\n"
"                 ...\n"
"                 %base-services))\n"
msgstr ""
"(services (cons* (cat-avatar-generator-service\n"
"                  #:configuration\n"
"                  (nginx-server-configuration\n"
"                    (server-name '(\"example.com\"))))\n"
"                 ...\n"
"                 %base-services))\n"

#. type: subsubheading
#: guix-git/doc/guix.texi:33883
#, fuzzy, no-wrap
msgid "Hpcguix-web"
msgstr "Hpcguix-web"

#. type: cindex
#: guix-git/doc/guix.texi:33885
#, fuzzy, no-wrap
msgid "hpcguix-web"
msgstr "hpcguix-web"

#. type: Plain text
#: guix-git/doc/guix.texi:33890
#, fuzzy
msgid "The @uref{https://github.com/UMCUGenetics/hpcguix-web/, hpcguix-web} program is a customizable web interface to browse Guix packages, initially designed for users of high-performance computing (HPC)  clusters."
msgstr "@uref{https://github.com/UMCUGenetics/hpcguix-web/, hpcguix-web} 程序是一个可定制的网页界面,用于浏览 Guix 包,最初为高性能计算 (HPC) 集群的用户设计。"

#. type: defvar
#: guix-git/doc/guix.texi:33891
#, fuzzy, no-wrap
msgid "hpcguix-web-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:33893
#, fuzzy
msgid "The service type for @code{hpcguix-web}."
msgstr "@code{hpcguix-web} 的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:33895
#, fuzzy, no-wrap
msgid "{Data Type} hpcguix-web-configuration"
msgstr "{数据类型} hpcguix-web-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33897
#, fuzzy
msgid "Data type for the hpcguix-web service configuration."
msgstr "hpcguix-web 服务配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:33899
#, fuzzy, no-wrap
msgid "@code{specs} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:33903
#, fuzzy
msgid "Either @code{#f} or a gexp (@pxref{G-Expressions}) specifying the hpcguix-web service configuration as an @code{hpcguix-web-configuration} record.  The main fields of that record type are:"
msgstr "可以是 @code{#f} 或一个 gexp (@pxref{G-Expressions}),指定 hpcguix-web 服务配置为 @code{hpcguix-web-configuration} 记录。该记录类型的主要字段包括:"

#. type: item
#: guix-git/doc/guix.texi:33905
#, fuzzy, no-wrap
msgid "@code{title-prefix} (default: @code{\"hpcguix | \"})"
msgstr "@code{title-prefix}(默认值:@code{\"hpcguix | \"})"

#. type: table
#: guix-git/doc/guix.texi:33907
#, fuzzy
msgid "The page title prefix."
msgstr "页面标题前缀。"

#. type: item
#: guix-git/doc/guix.texi:33908
#, fuzzy, no-wrap
msgid "@code{guix-command} (default: @code{\"guix\"})"
msgstr "@code{guix-command}(默认值:@code{\"guix\"})"

#. type: table
#: guix-git/doc/guix.texi:33910
#, fuzzy
msgid "The @command{guix} command to use in examples that appear on HTML pages."
msgstr "在 HTML 页面上出现的示例中使用的 @command{guix} 命令。"

#. type: item
#: guix-git/doc/guix.texi:33911
#, fuzzy, no-wrap
msgid "@code{package-filter-proc} (default: @code{(const #t)})"
msgstr "@code{package-filter-proc}(默认值:@code{(const #t)})"

#. type: table
#: guix-git/doc/guix.texi:33913
#, fuzzy
msgid "A procedure specifying how to filter packages that are displayed."
msgstr "指定如何过滤显示的包的过程。"

#. type: item
#: guix-git/doc/guix.texi:33914
#, fuzzy, no-wrap
msgid "@code{package-page-extension-proc} (default: @code{(const '())})"
msgstr "@code{package-page-extension-proc}(默认值:@code{(const '())})"

#. type: table
#: guix-git/doc/guix.texi:33916
#, fuzzy
msgid "Extension package for @code{hpcguix-web}."
msgstr "@code{hpcguix-web} 的扩展包。"

#. type: item
#: guix-git/doc/guix.texi:33917
#, fuzzy, no-wrap
msgid "@code{menu} (default: @code{'()})"
msgstr "@code{menu}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:33919
#, fuzzy
msgid "Additional entry in page @code{menu}."
msgstr "页面 @code{menu} 中的附加条目。"

#. type: item
#: guix-git/doc/guix.texi:33920
#, fuzzy, no-wrap
msgid "@code{channels} (default: @code{%default-channels})"
msgstr "@code{channels}(默认值:@code{%default-channels})"

#. type: table
#: guix-git/doc/guix.texi:33922
#, fuzzy
msgid "List of channels from which the package list is built (@pxref{Channels})."
msgstr "构建包列表的频道列表 (@pxref{Channels})。"

#. type: item
#: guix-git/doc/guix.texi:33923
#, fuzzy, no-wrap
msgid "@code{package-list-expiration} (default: @code{(* 12 3600)})"
msgstr "@code{package-list-expiration}(默认值:@code{(* 12 3600)})"

#. type: table
#: guix-git/doc/guix.texi:33926
#, fuzzy
msgid "The expiration time, in seconds, after which the package list is rebuilt from the latest instances of the given channels."
msgstr "包列表在给定频道的最新实例之后重建的过期时间,以秒为单位。"

#. type: table
#: guix-git/doc/guix.texi:33931
#, fuzzy
msgid "See the hpcguix-web repository for a @uref{https://github.com/UMCUGenetics/hpcguix-web/blob/master/hpcweb-configuration.scm, complete example}."
msgstr "请查看 hpcguix-web 仓库以获取 @uref{https://github.com/UMCUGenetics/hpcguix-web/blob/master/hpcweb-configuration.scm, 完整示例}。"

#. type: item
#: guix-git/doc/guix.texi:33932
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{hpcguix-web})"
msgstr "@code{package}(默认值:@code{hpcguix-web})"

#. type: table
#: guix-git/doc/guix.texi:33934
#, fuzzy
msgid "The hpcguix-web package to use."
msgstr "要使用的 hpcguix-web 包。"

#. type: item
#: guix-git/doc/guix.texi:33935
#, fuzzy, no-wrap
msgid "@code{address} (default: @code{\"127.0.0.1\"})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:33937
#, fuzzy
msgid "The IP address to listen to."
msgstr "要监听的 IP 地址。"

#. type: table
#: guix-git/doc/guix.texi:33940
#, fuzzy
msgid "The port number to listen to."
msgstr "要监听的端口号。"

#. type: Plain text
#: guix-git/doc/guix.texi:33944
#, fuzzy
msgid "A typical hpcguix-web service declaration looks like this:"
msgstr "一个典型的 hpcguix-web 服务声明如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:33952
#, fuzzy, no-wrap
msgid ""
"(service hpcguix-web-service-type\n"
"         (hpcguix-web-configuration\n"
"          (specs\n"
"           #~(hpcweb-configuration\n"
"              (title-prefix \"Guix-HPC - \")\n"
"              (menu '((\"/about\" \"ABOUT\")))))))\n"
msgstr ""
"(service hpcguix-web-service-type\n"
"         (hpcguix-web-configuration\n"
"          (specs\n"
"           #~(hpcweb-configuration\n"
"              (title-prefix \"Guix-HPC - \")\n"
"              (menu '((\"/about\" \"关于\")))))))\n"

#. type: quotation
#: guix-git/doc/guix.texi:33959
#, fuzzy
msgid "The hpcguix-web service periodically updates the package list it publishes by pulling channels from Git.  To that end, it needs to access X.509 certificates so that it can authenticate Git servers when communicating over HTTPS, and it assumes that @file{/etc/ssl/certs} contains those certificates."
msgstr "hpcguix-web 服务定期通过从 Git 拉取通道来更新其发布的包列表。为此,它需要访问 X.509 证书,以便在通过 HTTPS 进行通信时能够验证 Git 服务器,并假设 @file{/etc/ssl/certs} 包含这些证书。"

#. type: quotation
#: guix-git/doc/guix.texi:33963
#, fuzzy
msgid "A certificate package, @code{nss-certs}, is provided by default as part of @code{%base-packages}.  @ref{X.509 Certificates}, for more information on X.509 certificates."
msgstr "证书包 @code{nss-certs} 默认作为 @code{%base-packages} 的一部分提供。有关 X.509 证书的更多信息,请参见 @ref{X.509 Certificates}。"

#. type: cindex
#: guix-git/doc/guix.texi:33965 guix-git/doc/guix.texi:33967
#, fuzzy, no-wrap
msgid "gmnisrv"
msgstr "gmnisrv"

#. type: Plain text
#: guix-git/doc/guix.texi:33970
#, fuzzy
msgid "The @uref{https://git.sr.ht/~sircmpwn/gmnisrv, gmnisrv} program is a simple @uref{https://gemini.circumlunar.space/, Gemini} protocol server."
msgstr "@uref{https://git.sr.ht/~sircmpwn/gmnisrv, gmnisrv} 程序是一个简单的 @uref{https://gemini.circumlunar.space/, Gemini} 协议服务器。"

#. type: defvar
#: guix-git/doc/guix.texi:33971
#, fuzzy, no-wrap
msgid "gmnisrv-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:33974
#, fuzzy
msgid "This is the type of the gmnisrv service, whose value should be a @code{gmnisrv-configuration} object, as in this example:"
msgstr "这是 gmnisrv 服务的类型,其值应为 @code{gmnisrv-configuration} 对象,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:33979
#, fuzzy, no-wrap
msgid ""
"(service gmnisrv-service-type\n"
"         (gmnisrv-configuration\n"
"           (config-file (local-file \"./my-gmnisrv.ini\"))))\n"
msgstr ""
"(service gmnisrv-service-type\n"
"         (gmnisrv-configuration\n"
"           (config-file (local-file \"./my-gmnisrv.ini\"))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:33982
#, fuzzy, no-wrap
msgid "{Data Type} gmnisrv-configuration"
msgstr "{数据类型} gmnisrv-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:33984
#, fuzzy
msgid "Data type representing the configuration of gmnisrv."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:33986
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{gmnisrv})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:33988
#, fuzzy
msgid "Package object of the gmnisrv server."
msgstr "gmnisrv 服务器的包对象。"

#. type: item
#: guix-git/doc/guix.texi:33989
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{%default-gmnisrv-config-file})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:33995
#, fuzzy
msgid "File-like object of the gmnisrv configuration file to use.  The default configuration listens on port 1965 and serves files from @file{/srv/gemini}.  Certificates are stored in @file{/var/lib/gemini/certs}.  For more information, run @command{man gmnisrv} and @command{man gmnisrv.ini}."
msgstr "要使用的 gmnisrv 配置文件的类文件对象。默认配置监听端口 1965,并从 @file{/srv/gemini} 提供文件。证书存储在 @file{/var/lib/gemini/certs} 中。有关更多信息,请运行 @command{man gmnisrv} 和 @command{man gmnisrv.ini}。"

#. type: subsubheading
#: guix-git/doc/guix.texi:33999
#, fuzzy, no-wrap
msgid "Agate"
msgstr "Agate"

#. type: cindex
#: guix-git/doc/guix.texi:34001
#, fuzzy, no-wrap
msgid "agate"
msgstr "agate"

#. type: Plain text
#: guix-git/doc/guix.texi:34006
#, fuzzy
msgid "The @uref{gemini://qwertqwefsday.eu/agate.gmi, Agate} (@uref{https://github.com/mbrubeck/agate, GitHub page over HTTPS})  program is a simple @uref{https://gemini.circumlunar.space/, Gemini} protocol server written in Rust."
msgstr "@uref{gemini://qwertqwefsday.eu/agate.gmi, Agate}(@uref{https://github.com/mbrubeck/agate, GitHub 页面 HTTPS 版})程序是用 Rust 编写的简单 @uref{https://gemini.circumlunar.space/, Gemini} 协议服务器。"

#. type: defvar
#: guix-git/doc/guix.texi:34007
#, fuzzy, no-wrap
msgid "agate-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:34010
#, fuzzy
msgid "This is the type of the agate service, whose value should be an @code{agate-service-type} object, as in this example:"
msgstr "这是 agate 服务的类型,其值应为 @code{agate-service-type} 对象,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:34016
#, fuzzy, no-wrap
msgid ""
"(service agate-service-type\n"
"\t (agate-configuration\n"
"\t   (content \"/srv/gemini\")\n"
"\t   (certificates \"/srv/gemini-certs\")))\n"
msgstr ""
"(service dovecot-service-type\n"
"         (dovecot-configuration\n"
"           (mail-location \"maildir:~/.mail\")))\n"

#. type: defvar
#: guix-git/doc/guix.texi:34021
#, fuzzy
msgid "The example above represents the minimal tweaking necessary to get Agate up and running.  Specifying the path to the certificate and key directory is always necessary, as the Gemini protocol requires TLS by default."
msgstr "上面的示例表示使 Agate 启动和运行所需的最小调整。始终需要指定证书和密钥目录的路径,因为 Gemini 协议默认要求 TLS。"

#. type: defvar
#: guix-git/doc/guix.texi:34028
#, fuzzy
msgid "If the specified @code{certificates} path is writable by Agate, and contains no valid pre-generated key and certificate, Agate will try to generate them on the first start.  In this case you should pass at least one hostname using the @code{hostnames} option.  If the specified directory is read-only, key and certificate should be pre-generated by the user."
msgstr "如果指定的 @code{certificates} 路径可由 Agate 写入,并且不包含有效的预生成密钥和证书,Agate 将在第一次启动时尝试生成它们。在这种情况下,您应该使用 @code{hostnames} 选项传递至少一个主机名。如果指定的目录是只读的,密钥和证书应由用户预生成。"

#. type: defvar
#: guix-git/doc/guix.texi:34031
#, fuzzy
msgid "To obtain a certificate and a key in DER format, you could, for example, use OpenSSL, running commands similar to the following example:"
msgstr "要以 DER 格式获取证书和密钥,您可以使用 OpenSSL,运行类似于以下示例的命令:"

#. type: example
#: guix-git/doc/guix.texi:34037
#, fuzzy, no-wrap
msgid ""
"openssl genpkey -out key.der -outform DER -algorithm RSA \\\n"
"    -pkeyopt rsa_keygen_bits:4096\n"
"openssl req -x509 -key key.der -outform DER -days 3650 -out cert.der \\\n"
"    -subj \"/CN=example.com\"\n"
msgstr ""
"openssl genpkey -out key.der -outform DER -algorithm RSA \\\n"
"    -pkeyopt rsa_keygen_bits:4096\n"
"openssl req -x509 -key key.der -outform DER -days 3650 -out cert.der \\\n"
"    -subj \"/CN=example.com\"\n"

#. type: defvar
#: guix-git/doc/guix.texi:34042
#, fuzzy
msgid "Of course, you'll have to replace @i{example.com} with your own domain name, and then point the Agate configuration towards the path of the directory with the generated key and certificate using the @code{certificates} option."
msgstr "当然,您需要将 @i{example.com} 替换为您自己的域名,然后使用 @code{certificates} 选项将 Agate 配置指向生成的密钥和证书所在目录的路径。"

#. type: deftp
#: guix-git/doc/guix.texi:34045
#, fuzzy, no-wrap
msgid "{Data Type} agate-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:34047
#, fuzzy
msgid "Data type representing the configuration of Agate."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:34049
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{agate})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:34051
#, fuzzy
msgid "The package object of the Agate server."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:34052
#, fuzzy, no-wrap
msgid "@code{content} (default: @file{\"/srv/gemini\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:34054
#, fuzzy
msgid "The directory from which Agate will serve files."
msgstr "Agate 将提供文件的目录。"

#. type: item
#: guix-git/doc/guix.texi:34055
#, fuzzy, no-wrap
msgid "@code{certificates} (default: @file{\"/srv/gemini-certs\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:34057
#, fuzzy
msgid "Root of the certificate directory. Must be filled in with a value from the user."
msgstr "证书目录的根目录。必须由用户填写一个值。"

#. type: item
#: guix-git/doc/guix.texi:34058
#, fuzzy, no-wrap
msgid "@code{addresses} (default: @code{'(\"[::]:1965\" \"0.0.0.0:1965\")})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:34060
#, fuzzy
msgid "A list of the addresses to listen on."
msgstr "要监听的地址列表。"

#. type: item
#: guix-git/doc/guix.texi:34061
#, fuzzy, no-wrap
msgid "@code{hostnames} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34065
#, fuzzy
msgid "Virtual hosts for the Gemini server. If multiple values are specified, corresponding directory names should be present in the @code{content} directory. Optional."
msgstr "Gemini 服务器的虚拟主机。如果指定多个值,则相应的目录名称应存在于 @code{content} 目录中。可选。"

#. type: item
#: guix-git/doc/guix.texi:34066
#, fuzzy, no-wrap
msgid "@code{languages} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34068
#, fuzzy
msgid "RFC 4646 language code(s) for text/gemini documents.  Optional."
msgstr "文本/gemini 文档的 RFC 4646 语言代码。可选。"

#. type: item
#: guix-git/doc/guix.texi:34069
#, fuzzy, no-wrap
msgid "@code{only-tls13?} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:34071
#, fuzzy
msgid "Set to @code{#t} to disable support for TLSv1.2."
msgstr "设置为 @code{#t} 以禁用对 TLSv1.2 的支持。"

#. type: item
#: guix-git/doc/guix.texi:34072
#, fuzzy, no-wrap
msgid "@code{serve-secret?} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:34075
#, fuzzy
msgid "Set to @code{#t} to serve secret files (files/directories starting with a dot)."
msgstr "设置为 @code{#t} 以提供秘密文件(以点开头的文件/目录)。"

#. type: item
#: guix-git/doc/guix.texi:34076
#, fuzzy, no-wrap
msgid "@code{central-configuration?} (default: @code{#f})"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34079
#, fuzzy
msgid "Set to @code{#t} to look for the .meta configuration file in the @code{content} root directory and will ignore @code{.meta} files in other directories"
msgstr "设置为 @code{#t} 以在 @code{content} 根目录中查找 .meta 配置文件,并将忽略其他目录中的 @code{.meta} 文件。"

#. type: item
#: guix-git/doc/guix.texi:34080
#, fuzzy, no-wrap
msgid "@code{ed25519?} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34083
#, fuzzy
msgid "Set to @code{#t} to generate keys using the Ed25519 signature algorithm instead of the default ECDSA."
msgstr "设置为 @code{#t} 以使用 Ed25519 签名算法生成密钥,而不是默认的 ECDSA。"

#. type: item
#: guix-git/doc/guix.texi:34084
#, fuzzy, no-wrap
msgid "@code{skip-port-check?} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:34086
#, fuzzy
msgid "Set to @code{#t} to skip URL port check even when a @code{hostname} is specified."
msgstr "设置为 @code{#t} 以跳过 URL 端口检查,即使指定了 @code{hostname}。"

#. type: item
#: guix-git/doc/guix.texi:34087
#, fuzzy, no-wrap
msgid "@code{log-ip?} (default: @code{#t})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34089
#, fuzzy
msgid "Whether or not to output IP addresses when logging."
msgstr "在日志记录时是否输出 IP 地址。"

#. type: item
#: guix-git/doc/guix.texi:34090
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"agate\"})"
msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#. type: table
#: guix-git/doc/guix.texi:34092
#, fuzzy
msgid "Owner of the @code{agate} process."
msgstr "@code{agate}进程的所有者。"

#. type: item
#: guix-git/doc/guix.texi:34093
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"agate\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:34095
#, fuzzy
msgid "Owner's group of the @code{agate} process."
msgstr "@code{agate}进程的所有者组。"

#. type: item
#: guix-git/doc/guix.texi:34096
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @file{\"/var/log/agate.log\"})"
msgstr "@code{private-key}(默认值:@file{~root/.ssh/id_rsa})"

#. type: table
#: guix-git/doc/guix.texi:34098
#, fuzzy
msgid "The file which should store the logging output of Agate."
msgstr "应存储Agate日志输出的文件。"

#. type: cindex
#: guix-git/doc/guix.texi:34105
#, fuzzy, no-wrap
msgid "Web"
msgstr "网络"

#. type: cindex
#: guix-git/doc/guix.texi:34106
#, fuzzy, no-wrap
msgid "HTTP, HTTPS"
msgstr "HTTP,HTTPS"

#. type: cindex
#: guix-git/doc/guix.texi:34107
#, fuzzy, no-wrap
msgid "Let's Encrypt"
msgstr "Let's Encrypt"

#. type: cindex
#: guix-git/doc/guix.texi:34108
#, fuzzy, no-wrap
msgid "TLS certificates"
msgstr "TLS证书"

#. type: Plain text
#: guix-git/doc/guix.texi:34115
#, fuzzy
msgid "The @code{(gnu services certbot)} module provides a service to automatically obtain a valid TLS certificate from the Let's Encrypt certificate authority.  These certificates can then be used to serve content securely over HTTPS or other TLS-based protocols, with the knowledge that the client will be able to verify the server's authenticity."
msgstr "@code{(gnu services certbot)}模块提供了一项服务,可以自动从Let's Encrypt证书颁发机构获取有效的TLS证书。这些证书可以用于通过HTTPS或其他基于TLS的协议安全地提供内容,确保客户端能够验证服务器的真实性。"

#. type: Plain text
#: guix-git/doc/guix.texi:34127
#, fuzzy
msgid "@url{https://letsencrypt.org/, Let's Encrypt} provides the @code{certbot} tool to automate the certification process.  This tool first securely generates a key on the server.  It then makes a request to the Let's Encrypt certificate authority (CA) to sign the key.  The CA checks that the request originates from the host in question by using a challenge-response protocol, requiring the server to provide its response over HTTP@.  If that protocol completes successfully, the CA signs the key, resulting in a certificate.  That certificate is valid for a limited period of time, and therefore to continue to provide TLS services, the server needs to periodically ask the CA to renew its signature."
msgstr "@url{https://letsencrypt.org/, Let's Encrypt}提供了@code{certbot}工具来自动化认证过程。该工具首先在服务器上安全地生成一个密钥。然后,它向Let's Encrypt证书颁发机构(CA)请求签署该密钥。CA通过使用挑战-响应协议检查请求是否来自相关主机,要求服务器通过HTTP提供其响应。如果该协议成功完成,CA将签署该密钥,从而生成证书。该证书的有效期有限,因此为了继续提供TLS服务,服务器需要定期请求CA续签其签名。"

#. type: Plain text
#: guix-git/doc/guix.texi:34134
#, fuzzy
msgid "The certbot service automates this process: the initial key generation, the initial certification request to the Let's Encrypt service, the web server challenge/response integration, writing the certificate to disk, the automated periodic renewals, and the deployment tasks associated with the renewal (e.g.@: reloading services, copying keys with different permissions)."
msgstr "certbot服务自动化此过程:初始密钥生成、向Let's Encrypt服务的初始认证请求、Web服务器挑战/响应集成、将证书写入磁盘、自动定期续签以及与续签相关的部署任务(例如:重新加载服务、以不同权限复制密钥)。"

#. type: Plain text
#: guix-git/doc/guix.texi:34140
#, fuzzy
msgid "Certbot is run twice a day, at a random minute within the hour.  It won't do anything until your certificates are due for renewal or revoked, but running it regularly would give your service a chance of staying online in case a Let's Encrypt-initiated revocation happened for some reason."
msgstr "certbot每天运行两次,在每小时的随机分钟内。它不会做任何事情,直到您的证书到期续签或被撤销,但定期运行它可以让您的服务在发生某种原因导致Let's Encrypt发起的撤销时保持在线。"

#. type: Plain text
#: guix-git/doc/guix.texi:34144
#, fuzzy
msgid "By using this service, you agree to the ACME Subscriber Agreement, which can be found there: @url{https://acme-v01.api.letsencrypt.org/directory}."
msgstr "使用此服务即表示您同意ACME订阅者协议,协议可以在此找到:@url{https://acme-v01.api.letsencrypt.org/directory}。"

#. type: defvar
#: guix-git/doc/guix.texi:34145
#, fuzzy, no-wrap
msgid "certbot-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:34148
#, fuzzy
msgid "A service type for the @code{certbot} Let's Encrypt client.  Its value must be a @code{certbot-configuration} record as in this example:"
msgstr "用于 @code{certbot} Let's Encrypt 客户端的服务类型。其值必须是一个 @code{certbot-configuration} 记录,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:34159
#, fuzzy, no-wrap
msgid ""
"(service certbot-service-type\n"
"         (certbot-configuration\n"
"          (email \"foo@@example.net\")\n"
"          (certificates\n"
"           (list\n"
"            (certificate-configuration\n"
"             (domains '(\"example.net\" \"www.example.net\")))\n"
"            (certificate-configuration\n"
"             (domains '(\"bar.example.net\")))))))\n"
msgstr ""
"(service certbot-service-type\n"
"         (certbot-configuration\n"
"          (email \"foo@@example.net\")\n"
"          (certificates\n"
"           (list\n"
"            (certificate-configuration\n"
"             (domains '(\"example.net\" \"www.example.net\")))\n"
"            (certificate-configuration\n"
"             (domains '(\"bar.example.net\")))))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:34162
#, fuzzy
msgid "See below for details about @code{certbot-configuration}."
msgstr "有关 @code{certbot-configuration} 的详细信息,请参见下文。"

#. type: deftp
#: guix-git/doc/guix.texi:34164
#, fuzzy, no-wrap
msgid "{Data Type} certbot-configuration"
msgstr "{数据类型} certbot-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:34167
#, fuzzy
msgid "Data type representing the configuration of the @code{certbot} service.  This type has the following parameters:"
msgstr "表示 @code{certbot} 服务配置的数据类型。此类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:34169
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{certbot})"
msgstr "@code{package}(默认值:@code{certbot})"

#. type: table
#: guix-git/doc/guix.texi:34171
#, fuzzy
msgid "The certbot package to use."
msgstr "要使用的 certbot 包。"

#. type: item
#: guix-git/doc/guix.texi:34172
#, fuzzy, no-wrap
msgid "@code{webroot} (default: @code{/var/www})"
msgstr "@code{webroot}(默认值:@code{/var/www})"

#. type: table
#: guix-git/doc/guix.texi:34175
#, fuzzy
msgid "The directory from which to serve the Let's Encrypt challenge/response files."
msgstr "用于提供 Let's Encrypt 挑战/响应文件的目录。"

#. type: item
#: guix-git/doc/guix.texi:34176
#, fuzzy, no-wrap
msgid "@code{certificates} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34180
#, fuzzy
msgid "A list of @code{certificates-configuration}s for which to generate certificates and request signatures.  Each certificate has a @code{name} and several @code{domains}."
msgstr "要生成证书和请求签名的 @code{certificates-configuration} 列表。每个证书都有一个 @code{name} 和多个 @code{domains}。"

#. type: item
#: guix-git/doc/guix.texi:34181
#, fuzzy, no-wrap
msgid "@code{email} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34185
#, fuzzy
msgid "Optional email address used for registration and recovery contact.  Setting this is encouraged as it allows you to receive important notifications about the account and issued certificates."
msgstr "用于注册和恢复联系的可选电子邮件地址。建议设置此项,因为它允许您接收有关帐户和已签发证书的重要通知。"

#. type: item
#: guix-git/doc/guix.texi:34186 guix-git/doc/guix.texi:36155
#, fuzzy, no-wrap
msgid "@code{server} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:34189
#, fuzzy
msgid "Optional URL of ACME server.  Setting this overrides certbot's default, which is the Let's Encrypt server."
msgstr "可选的 ACME 服务器 URL。设置此项将覆盖 certbot 的默认值,即 Let's Encrypt 服务器。"

#. type: item
#: guix-git/doc/guix.texi:34190
#, fuzzy, no-wrap
msgid "@code{rsa-key-size} (default: @code{2048})"
msgstr "@code{rsa-key-size}(默认值:@code{2048})"

#. type: table
#: guix-git/doc/guix.texi:34192
#, fuzzy
msgid "Size of the RSA key."
msgstr "RSA 密钥的大小。"

#. type: item
#: guix-git/doc/guix.texi:34193
#, fuzzy, no-wrap
msgid "@code{default-location} (default: @i{see below})"
msgstr "@code{default-location}(默认值:@i{见下文})"

#. type: table
#: guix-git/doc/guix.texi:34202
#, fuzzy
msgid "The default @code{nginx-location-configuration}.  Because @code{certbot} needs to be able to serve challenges and responses, it needs to be able to run a web server.  It does so by extending the @code{nginx} web service with an @code{nginx-server-configuration} listening on the @var{domains} on port 80, and which has a @code{nginx-location-configuration} for the @code{/.well-known/} URI path subspace used by Let's Encrypt.  @xref{Web Services}, for more on these nginx configuration data types."
msgstr "默认的 @code{nginx-location-configuration}。由于 @code{certbot} 需要能够提供挑战和响应,因此它需要能够运行一个 Web 服务器。它通过扩展 @code{nginx} Web 服务来实现,使用 @code{nginx-server-configuration} 在端口 80 上监听 @var{domains},并具有用于 Let's Encrypt 使用的 @code{/.well-known/} URI 路径子空间的 @code{nginx-location-configuration}。有关这些 nginx 配置数据类型的更多信息,请参见 @xref{Web Services}。"

#. type: table
#: guix-git/doc/guix.texi:34206
#, fuzzy
msgid "Requests to other URL paths will be matched by the @code{default-location}, which if present is added to all @code{nginx-server-configuration}s."
msgstr "对其他 URL 路径的请求将由 @code{default-location} 匹配,如果存在,则会添加到所有 @code{nginx-server-configuration} 中。"

#. type: table
#: guix-git/doc/guix.texi:34210
#, fuzzy
msgid "By default, the @code{default-location} will issue a redirect from @code{http://@var{domain}/...} to @code{https://@var{domain}/...}, leaving you to define what to serve on your site via @code{https}."
msgstr "默认情况下,@code{default-location} 将从 @code{http://@var{domain}/...} 重定向到 @code{https://@var{domain}/...},您需要通过 @code{https} 定义在您的网站上提供什么。"

#. type: table
#: guix-git/doc/guix.texi:34212
#, fuzzy
msgid "Pass @code{#f} to not issue a default location."
msgstr "传递 @code{#f} 以不发出默认位置。"

#. type: deftp
#: guix-git/doc/guix.texi:34215
#, fuzzy, no-wrap
msgid "{Data Type} certificate-configuration"
msgstr "{数据类型} 证书配置"

#. type: deftp
#: guix-git/doc/guix.texi:34218
#, fuzzy
msgid "Data type representing the configuration of a certificate.  This type has the following parameters:"
msgstr "表示证书配置的数据类型。此类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:34220
#, fuzzy, no-wrap
msgid "@code{name} (default: @i{see below})"
msgstr "@code{name}(默认:@i{见下文})"

#. type: table
#: guix-git/doc/guix.texi:34224
#, fuzzy
msgid "This name is used by Certbot for housekeeping and in file paths; it doesn't affect the content of the certificate itself.  To see certificate names, run @code{certbot certificates}."
msgstr "此名称由 Certbot 用于管理和文件路径;它不会影响证书本身的内容。要查看证书名称,请运行 @code{certbot certificates}。"

#. type: table
#: guix-git/doc/guix.texi:34226
#, fuzzy
msgid "Its default is the first provided domain."
msgstr "它的默认值是提供的第一个域。"

#. type: item
#: guix-git/doc/guix.texi:34227
#, fuzzy, no-wrap
msgid "@code{domains} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34230
#, fuzzy
msgid "The first domain provided will be the subject CN of the certificate, and all domains will be Subject Alternative Names on the certificate."
msgstr "提供的第一个域将是证书的主题 CN,所有域将是证书上的主题备用名称。"

#. type: item
#: guix-git/doc/guix.texi:34231
#, no-wrap
msgid "@code{challenge} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34238
#, fuzzy
msgid "The challenge type that has to be run by certbot.  If @code{#f} is specified, default to the HTTP challenge.  If a value is specified, defaults to the manual plugin (see @code{authentication-hook}, @code{cleanup-hook} and the documentation at @url{https://certbot.eff.org/docs/using.html#hooks}), and gives Let's Encrypt permission to log the public IP address of the requesting machine."
msgstr "必须由 certbot 运行的挑战类型。如果指定 @code{#f},则默认为 HTTP 挑战。如果指定了一个值,则默认为手动插件(请参见 @code{authentication-hook}、@code{cleanup-hook} 以及文档 @url{https://certbot.eff.org/docs/using.html#hooks}),并允许 Let's Encrypt 记录请求机器的公共 IP 地址。"

#. type: item
#: guix-git/doc/guix.texi:34239
#, fuzzy, no-wrap
msgid "@code{csr} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:34246
#, fuzzy
msgid "File name of Certificate Signing Request (CSR) in DER or PEM format.  If @code{#f} is specified, this argument will not be passed to certbot.  If a value is specified, certbot will use it to obtain a certificate, instead of using a self-generated CSR.  The domain-name(s) mentioned in @code{domains}, must be consistent with the domain-name(s) mentioned in CSR file."
msgstr "证书签名请求(CSR)的文件名,格式为 DER 或 PEM。如果指定 @code{#f},则此参数将不会传递给 certbot。如果指定了一个值,certbot 将使用它来获取证书,而不是使用自生成的 CSR。@code{domains} 中提到的域名必须与 CSR 文件中提到的域名一致。"

#. type: item
#: guix-git/doc/guix.texi:34247
#, no-wrap
msgid "@code{authentication-hook} (default: @code{#f})"
msgstr "@code{authentication-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34253
#, fuzzy
msgid "Command to be run in a shell once for each certificate challenge to be answered.  For this command, the shell variable @code{$CERTBOT_DOMAIN} will contain the domain being authenticated, @code{$CERTBOT_VALIDATION} contains the validation string and @code{$CERTBOT_TOKEN} contains the file name of the resource requested when performing an HTTP-01 challenge."
msgstr "在每个证书挑战被回答时,在 shell 中运行的命令。对于此命令,shell 变量 @code{$CERTBOT_DOMAIN} 将包含正在验证的域,@code{$CERTBOT_VALIDATION} 包含验证字符串,@code{$CERTBOT_TOKEN} 包含在执行 HTTP-01 挑战时请求的资源的文件名。"

#. type: item
#: guix-git/doc/guix.texi:34254
#, no-wrap
msgid "@code{cleanup-hook} (default: @code{#f})"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34260
#, fuzzy
msgid "Command to be run in a shell once for each certificate challenge that have been answered by the @code{auth-hook}.  For this command, the shell variables available in the @code{auth-hook} script are still available, and additionally @code{$CERTBOT_AUTH_OUTPUT} will contain the standard output of the @code{auth-hook} script."
msgstr "在每个证书挑战被 @code{auth-hook} 回答时,在 shell 中运行的命令。对于此命令,@code{auth-hook} 脚本中可用的 shell 变量仍然可用,此外 @code{$CERTBOT_AUTH_OUTPUT} 将包含 @code{auth-hook} 脚本的标准输出。"

#. type: item
#: guix-git/doc/guix.texi:34261
#, fuzzy, no-wrap
msgid "@code{deploy-hook} (default: @code{#f})"
msgstr "@code{deploy-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34269
#, fuzzy
msgid "Command to be run in a shell once for each successfully issued certificate.  For this command, the shell variable @code{$RENEWED_LINEAGE} will point to the config live subdirectory (for example, @samp{\"/etc/letsencrypt/live/example.com\"}) containing the new certificates and keys; the shell variable @code{$RENEWED_DOMAINS} will contain a space-delimited list of renewed certificate domains (for example, @samp{\"example.com www.example.com\"}."
msgstr "每成功发放一个证书后,在 shell 中运行的命令。对于此命令,shell 变量 @code{$RENEWED_LINEAGE} 将指向配置的 live 子目录(例如,@samp{\"/etc/letsencrypt/live/example.com\"}),其中包含新的证书和密钥;shell 变量 @code{$RENEWED_DOMAINS} 将包含一个以空格分隔的续订证书域列表(例如,@samp{\"example.com www.example.com\"})。"

#. type: item
#: guix-git/doc/guix.texi:34270
#, fuzzy, no-wrap
msgid "@code{start-self-signed?} (default: @code{#t})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34275
#, fuzzy
msgid "Whether to generate an initial self-signed certificate during system activation.  This option is particularly useful to allow @code{nginx} to start before @code{certbot} has run, because @code{certbot} relies on @code{nginx} running to perform HTTP challenges."
msgstr "在系统激活期间是否生成初始的自签名证书。此选项特别有用,以允许 @code{nginx} 在 @code{certbot} 运行之前启动,因为 @code{certbot} 依赖于 @code{nginx} 运行以执行 HTTP 挑战。"

#. type: Plain text
#: guix-git/doc/guix.texi:34282
#, fuzzy
msgid "For each @code{certificate-configuration}, the certificate is saved to @code{/etc/certs/@var{name}/fullchain.pem} and the key is saved to @code{/etc/certs/@var{name}/privkey.pem}."
msgstr "对于每个 @code{certificate-configuration},证书保存到 @code{/etc/certs/@var{name}/fullchain.pem},密钥保存到 @code{/etc/certs/@var{name}/privkey.pem}。"

#. type: cindex
#: guix-git/doc/guix.texi:34284
#, fuzzy, no-wrap
msgid "DNS (domain name system)"
msgstr "DNS(域名系统)"

#. type: cindex
#: guix-git/doc/guix.texi:34285
#, fuzzy, no-wrap
msgid "domain name system (DNS)"
msgstr "域名系统(DNS)"

#. type: Plain text
#: guix-git/doc/guix.texi:34293
#, fuzzy
msgid "The @code{(gnu services dns)} module provides services related to the @dfn{domain name system} (DNS).  It provides a server service for hosting an @emph{authoritative} DNS server for multiple zones, slave or master.  This service uses @uref{https://www.knot-dns.cz/, Knot DNS}.  And also a caching and forwarding DNS server for the LAN, which uses @uref{http://www.thekelleys.org.uk/dnsmasq/doc.html, dnsmasq}."
msgstr "@code{(gnu services dns)} 模块提供与 @dfn{域名系统}(DNS)相关的服务。它提供一个用于托管多个区域的 @emph{权威} DNS 服务器的服务器服务,可以是从属或主服务器。此服务使用 @uref{https://www.knot-dns.cz/, Knot DNS}。同时,它还提供一个用于局域网的缓存和转发 DNS 服务器,使用 @uref{http://www.thekelleys.org.uk/dnsmasq/doc.html, dnsmasq}。"

#. type: subsubheading
#: guix-git/doc/guix.texi:34294
#, fuzzy, no-wrap
msgid "Knot Service"
msgstr "Knot 服务"

#. type: Plain text
#: guix-git/doc/guix.texi:34298
#, fuzzy
msgid "An example configuration of an authoritative server for two zones, one master and one slave, is:"
msgstr "一个权威服务器的示例配置,包含两个区域,一个主服务器和一个从服务器,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:34305
#, fuzzy, no-wrap
msgid ""
"(define-zone-entries example.org.zone\n"
";; Name TTL Class Type Data\n"
"  (\"@@\"  \"\"  \"IN\"  \"A\"  \"127.0.0.1\")\n"
"  (\"@@\"  \"\"  \"IN\"  \"NS\" \"ns\")\n"
"  (\"ns\" \"\"  \"IN\"  \"A\"  \"127.0.0.1\"))\n"
"\n"
msgstr ""
"(define-zone-entries example.org.zone\n"
";; 名称 TTL 类别 类型 数据\n"
"  (\"@@\"  \"\"  \"IN\"  \"A\"  \"127.0.0.1\")\n"
"  (\"@@\"  \"\"  \"IN\"  \"NS\" \"ns\")\n"
"  (\"ns\" \"\"  \"IN\"  \"A\"  \"127.0.0.1\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:34312
#, fuzzy, no-wrap
msgid ""
"(define master-zone\n"
"  (knot-zone-configuration\n"
"    (domain \"example.org\")\n"
"    (zone (zone-file\n"
"            (origin \"example.org\")\n"
"            (entries example.org.zone)))))\n"
"\n"
msgstr ""
"(define master-zone\n"
"  (knot-zone-configuration\n"
"    (domain \"example.org\")\n"
"    (zone (zone-file\n"
"            (origin \"example.org\")\n"
"            (entries example.org.zone)))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:34318
#, fuzzy, no-wrap
msgid ""
"(define slave-zone\n"
"  (knot-zone-configuration\n"
"    (domain \"plop.org\")\n"
"    (dnssec-policy \"default\")\n"
"    (master (list \"plop-master\"))))\n"
"\n"
msgstr ""
"(define slave-zone\n"
"  (knot-zone-configuration\n"
"    (domain \"plop.org\")\n"
"    (dnssec-policy \"default\")\n"
"    (master (list \"plop-master\"))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:34323
#, fuzzy, no-wrap
msgid ""
"(define plop-master\n"
"  (knot-remote-configuration\n"
"    (id \"plop-master\")\n"
"    (address (list \"208.76.58.171\"))))\n"
"\n"
msgstr ""
"(define plop-master\n"
"  (knot-remote-configuration\n"
"    (id \"plop-master\")\n"
"    (address (list \"208.76.58.171\"))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:34332
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; ...\n"
"  (services (cons* (service knot-service-type\n"
"                     (knot-configuration\n"
"                       (remotes (list plop-master))\n"
"                       (zones (list master-zone slave-zone))))\n"
"                   ;; ...\n"
"                   %base-services)))\n"
msgstr ""
"(操作系统\n"
"  ;; ...\n"
"  (服务 (cons* (服务 knot-service-type\n"
"                     (knot-configuration\n"
"                       (remotes (list plop-master))\n"
"                       (zones (list master-zone slave-zone))))\n"
"                   ;; ...\n"
"                   %base-services)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:34334
#, fuzzy, no-wrap
msgid "knot-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:34336
#, fuzzy
msgid "This is the type for the Knot DNS server."
msgstr "这是Knot DNS服务器的类型。"

#. type: defvar
#: guix-git/doc/guix.texi:34344
#, fuzzy
msgid "Knot DNS is an authoritative DNS server, meaning that it can serve multiple zones, that is to say domain names you would buy from a registrar.  This server is not a resolver, meaning that it can only resolve names for which it is authoritative.  This server can be configured to serve zones as a master server or a slave server as a per-zone basis.  Slave zones will get their data from masters, and will serve it as an authoritative server.  From the point of view of a resolver, there is no difference between master and slave."
msgstr "Knot DNS是一个权威DNS服务器,这意味着它可以服务多个区域,也就是说您可以从注册商购买的域名。这个服务器不是解析器,这意味着它只能解析它所权威的名称。从解析器的角度来看,主服务器和从服务器之间没有区别。"

#. type: defvar
#: guix-git/doc/guix.texi:34346
#, fuzzy
msgid "The following data types are used to configure the Knot DNS server:"
msgstr "以下数据类型用于配置Knot DNS服务器:"

#. type: deftp
#: guix-git/doc/guix.texi:34348
#, fuzzy, no-wrap
msgid "{Data Type} knot-key-configuration"
msgstr "{数据类型} knot-key-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:34351
#, fuzzy
msgid "Data type representing a key.  This type has the following parameters:"
msgstr "表示密钥的数据类型。该类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:34353 guix-git/doc/guix.texi:34373
#: guix-git/doc/guix.texi:34488 guix-git/doc/guix.texi:34514
#: guix-git/doc/guix.texi:34549
#, fuzzy, no-wrap
msgid "@code{id} (default: @code{\"\"})"
msgstr "@code{id}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:34356 guix-git/doc/guix.texi:34376
#, fuzzy
msgid "An identifier for other configuration fields to refer to this key.  IDs must be unique and must not be empty."
msgstr "用于其他配置字段引用此密钥的标识符。ID必须是唯一的,并且不能为空。"

#. type: item
#: guix-git/doc/guix.texi:34357
#, fuzzy, no-wrap
msgid "@code{algorithm} (default: @code{#f})"
msgstr "@code{algorithm}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34361
#, fuzzy
msgid "The algorithm to use.  Choose between @code{#f}, @code{'hmac-md5}, @code{'hmac-sha1}, @code{'hmac-sha224}, @code{'hmac-sha256}, @code{'hmac-sha384} and @code{'hmac-sha512}."
msgstr "要使用的算法。选择@code{#f}、@code{'hmac-md5}、@code{'hmac-sha1}、@code{'hmac-sha224}、@code{'hmac-sha256}、@code{'hmac-sha384}和@code{'hmac-sha512}。"

#. type: item
#: guix-git/doc/guix.texi:34362
#, fuzzy, no-wrap
msgid "@code{secret} (default: @code{\"\"})"
msgstr "@code{secret}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:34364
#, fuzzy
msgid "The secret key itself."
msgstr "秘密密钥本身。"

#. type: deftp
#: guix-git/doc/guix.texi:34368
#, fuzzy, no-wrap
msgid "{Data Type} knot-acl-configuration"
msgstr "{数据类型} knot-acl-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:34371
#, fuzzy
msgid "Data type representing an Access Control List (ACL) configuration.  This type has the following parameters:"
msgstr "表示访问控制列表(ACL)配置的数据类型。该类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:34377 guix-git/doc/guix.texi:34492
#, fuzzy, no-wrap
msgid "@code{address} (default: @code{'()})"
msgstr "@code{address}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34381
#, fuzzy
msgid "An ordered list of IP addresses, network subnets, or network ranges represented with strings.  The query must match one of them.  Empty value means that address match is not required."
msgstr "一个有序的IP地址、网络子网或用字符串表示的网络范围的列表。查询必须匹配其中之一。空值意味着不需要地址匹配。"

#. type: item
#: guix-git/doc/guix.texi:34382
#, fuzzy, no-wrap
msgid "@code{key} (default: @code{'()})"
msgstr "@code{key}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34386
#, fuzzy
msgid "An ordered list of references to keys represented with strings.  The string must match a key ID defined in a @code{knot-key-configuration}.  No key means that a key is not require to match that ACL."
msgstr "一个有序的引用密钥的字符串列表。该字符串必须匹配在@code{knot-key-configuration}中定义的密钥ID。没有密钥意味着不需要匹配该ACL的密钥。"

#. type: item
#: guix-git/doc/guix.texi:34387
#, fuzzy, no-wrap
msgid "@code{action} (default: @code{'()})"
msgstr "@code{action}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34391
#, fuzzy
msgid "An ordered list of actions that are permitted or forbidden by this ACL@.  Possible values are lists of zero or more elements from @code{'transfer}, @code{'notify} and @code{'update}."
msgstr "一个有序的动作列表,这些动作在此ACL中被允许或禁止@。可能的值是来自@code{'transfer}、@code{'notify}和@code{'update}的零个或多个元素的列表。"

#. type: item
#: guix-git/doc/guix.texi:34392
#, fuzzy, no-wrap
msgid "@code{deny?} (default: @code{#f})"
msgstr "@code{deny?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34395
#, fuzzy
msgid "When true, the ACL defines restrictions.  Listed actions are forbidden.  When false, listed actions are allowed."
msgstr "当为真时,ACL定义了限制。列出的动作被禁止。当为假时,列出的动作被允许。"

#. type: deftp
#: guix-git/doc/guix.texi:34399
#, fuzzy, no-wrap
msgid "{Data Type} zone-entry"
msgstr "{数据类型} zone-entry"

#. type: deftp
#: guix-git/doc/guix.texi:34402
#, fuzzy
msgid "Data type representing a record entry in a zone file.  This type has the following parameters:"
msgstr "表示区域文件中记录条目的数据类型。此类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:34404
#, fuzzy, no-wrap
msgid "@code{name} (default: @code{\"@@\"})"
msgstr "@code{name}(默认值:@code{\"@@\"})"

#. type: table
#: guix-git/doc/guix.texi:34410
#, fuzzy
msgid "The name of the record.  @code{\"@@\"} refers to the origin of the zone.  Names are relative to the origin of the zone.  For example, in the @code{example.org} zone, @code{\"ns.example.org\"} actually refers to @code{ns.example.org.example.org}.  Names ending with a dot are absolute, which means that @code{\"ns.example.org.\"} refers to @code{ns.example.org}."
msgstr "记录的名称。@code{\"@@\"}指的是区域的源。名称相对于区域的源。举例来说,在@code{example.org}区域中,@code{\"ns.example.org\"}实际上指的是@code{ns.example.org.example.org}。以点结尾的名称是绝对的,这意味着@code{\"ns.example.org.\"}指的是@code{ns.example.org}。"

#. type: item
#: guix-git/doc/guix.texi:34411
#, fuzzy, no-wrap
msgid "@code{ttl} (default: @code{\"\"})"
msgstr "@code{ttl}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:34413
#, fuzzy
msgid "The Time-To-Live (TTL) of this record.  If not set, the default TTL is used."
msgstr "此记录的生存时间(TTL)。如果未设置,则使用默认TTL。"

#. type: item
#: guix-git/doc/guix.texi:34414
#, fuzzy, no-wrap
msgid "@code{class} (default: @code{\"IN\"})"
msgstr "@code{class}(默认值:@code{\"IN\"})"

#. type: table
#: guix-git/doc/guix.texi:34417
#, fuzzy
msgid "The class of the record.  Knot currently supports only @code{\"IN\"} and partially @code{\"CH\"}."
msgstr "记录的类别。Knot目前仅支持@code{\"IN\"}和部分支持@code{\"CH\"}。"

#. type: item
#: guix-git/doc/guix.texi:34418
#, fuzzy, no-wrap
msgid "@code{type} (default: @code{\"A\"})"
msgstr "@code{type}(默认值:@code{\"A\"})"

#. type: table
#: guix-git/doc/guix.texi:34422
#, fuzzy
msgid "The type of the record.  Common types include A (IPv4 address), AAAA (IPv6 address), NS (Name Server) and MX (Mail eXchange).  Many other types are defined."
msgstr "记录的类型。常见类型包括A(IPv4地址)、AAAA(IPv6地址)、NS(名称服务器)和MX(邮件交换)。定义了许多其他类型。"

#. type: item
#: guix-git/doc/guix.texi:34423
#, fuzzy, no-wrap
msgid "@code{data} (default: @code{\"\"})"
msgstr "@code{data}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:34427
#, fuzzy
msgid "The data contained in the record.  For instance an IP address associated with an A record, or a domain name associated with an NS record.  Remember that domain names are relative to the origin unless they end with a dot."
msgstr "记录中包含的数据。例如,与A记录关联的IP地址,或与NS记录关联的域名。请记住,域名相对于源是相对的,除非它们以点结尾。"

#. type: deftp
#: guix-git/doc/guix.texi:34431
#, fuzzy, no-wrap
msgid "{Data Type} zone-file"
msgstr "{数据类型} zone-file"

#. type: deftp
#: guix-git/doc/guix.texi:34434
#, fuzzy
msgid "Data type representing the content of a zone file.  This type has the following parameters:"
msgstr "表示区域文件内容的数据类型。此类型具有以下参数:"

#. type: table
#: guix-git/doc/guix.texi:34443
#, fuzzy
msgid "The list of entries.  The SOA record is taken care of, so you don't need to put it in the list of entries.  This list should probably contain an entry for your primary authoritative DNS server.  Other than using a list of entries directly, you can use @code{define-zone-entries} to define a object containing the list of entries more easily, that you can later pass to the @code{entries} field of the @code{zone-file}."
msgstr "条目列表。SOA记录已处理,因此您不需要将其放入条目列表中。此列表可能应包含您主要权威DNS服务器的条目。除了直接使用条目列表外,您可以使用@code{define-zone-entries}更轻松地定义一个包含条目列表的对象,您可以稍后将其传递给@code{zone-file}的@code{entries}字段。"

#. type: item
#: guix-git/doc/guix.texi:34444
#, fuzzy, no-wrap
msgid "@code{origin} (default: @code{\"\"})"
msgstr "@code{origin}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:34446
#, fuzzy
msgid "The name of your zone.  This parameter cannot be empty."
msgstr "您区域的名称。此参数不能为空。"

#. type: item
#: guix-git/doc/guix.texi:34447
#, fuzzy, no-wrap
msgid "@code{ns} (default: @code{\"ns\"})"
msgstr "@code{ns}(默认值:@code{\"ns\"})"

#. type: table
#: guix-git/doc/guix.texi:34452
#, fuzzy
msgid "The domain of your primary authoritative DNS server.  The name is relative to the origin, unless it ends with a dot.  It is mandatory that this primary DNS server corresponds to an NS record in the zone and that it is associated to an IP address in the list of entries."
msgstr "您主要权威 DNS 服务器的域名。该名称相对于 origin,除非以点结尾。此主要 DNS 服务器必须对应于区域中的 NS 记录,并且与条目列表中的 IP 地址相关联。"

#. type: item
#: guix-git/doc/guix.texi:34453
#, fuzzy, no-wrap
msgid "@code{mail} (default: @code{\"hostmaster\"})"
msgstr "@code{mail}(默认值:@code{\"hostmaster\"})"

#. type: table
#: guix-git/doc/guix.texi:34456
#, fuzzy
msgid "An email address people can contact you at, as the owner of the zone.  This is translated as @code{<mail>@@<origin>}."
msgstr "人们可以通过此电子邮件地址与您联系,作为区域的所有者。它被翻译为 @code{<mail>@@<origin>}。"

#. type: item
#: guix-git/doc/guix.texi:34457
#, fuzzy, no-wrap
msgid "@code{serial} (default: @code{1})"
msgstr "@code{serial}(默认值:@code{1})"

#. type: table
#: guix-git/doc/guix.texi:34461
#, fuzzy
msgid "The serial number of the zone.  As this is used to keep track of changes by both slaves and resolvers, it is mandatory that it @emph{never} decreases.  Always increment it when you make a change in your zone."
msgstr "区域的序列号。由于此序列号用于跟踪从属和解析器的更改,因此必须确保它 @emph{永远} 不会减少。每当您对区域进行更改时,请始终递增它。"

#. type: item
#: guix-git/doc/guix.texi:34462
#, fuzzy, no-wrap
msgid "@code{refresh} (default: @code{(* 2 24 3600)})"
msgstr "@code{refresh}(默认值:@code{(* 2 24 3600)})"

#. type: table
#: guix-git/doc/guix.texi:34466
#, fuzzy
msgid "The frequency at which slaves will do a zone transfer.  This value is a number of seconds.  It can be computed by multiplications or with @code{(string->duration)}."
msgstr "从属进行区域传输的频率。此值为秒数。可以通过乘法或使用 @code{(string->duration)} 进行计算。"

#. type: item
#: guix-git/doc/guix.texi:34467
#, fuzzy, no-wrap
msgid "@code{retry} (default: @code{(* 15 60)})"
msgstr "@code{retry}(默认值:@code{(* 15 60)})"

#. type: table
#: guix-git/doc/guix.texi:34470
#, fuzzy
msgid "The period after which a slave will retry to contact its master when it fails to do so a first time."
msgstr "从属在第一次未能联系其主服务器后重试联系的时间段。"

#. type: item
#: guix-git/doc/guix.texi:34471
#, fuzzy, no-wrap
msgid "@code{expiry} (default: @code{(* 14 24 3600)})"
msgstr "@code{expiry}(默认值:@code{(* 14 24 3600)})"

#. type: table
#: guix-git/doc/guix.texi:34475
#, fuzzy
msgid "Default TTL of records.  Existing records are considered correct for at most this amount of time.  After this period, resolvers will invalidate their cache and check again that it still exists."
msgstr "记录的默认 TTL。现有记录在最多此时间内被视为正确。在此期间之后,解析器将使其缓存失效,并再次检查它是否仍然存在。"

#. type: item
#: guix-git/doc/guix.texi:34476
#, fuzzy, no-wrap
msgid "@code{nx} (default: @code{3600})"
msgstr "@code{nx}(默认值:@code{3600})"

#. type: table
#: guix-git/doc/guix.texi:34479
#, fuzzy
msgid "Default TTL of inexistent records.  This delay is usually short because you want your new domains to reach everyone quickly."
msgstr "不存在记录的默认 TTL。此延迟通常较短,因为您希望您的新域快速到达每个人。"

#. type: deftp
#: guix-git/doc/guix.texi:34483
#, fuzzy, no-wrap
msgid "{Data Type} knot-remote-configuration"
msgstr "{数据类型} knot-remote-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:34486
#, fuzzy
msgid "Data type representing a remote configuration.  This type has the following parameters:"
msgstr "表示远程配置的数据类型。此类型具有以下参数:"

#. type: table
#: guix-git/doc/guix.texi:34491
#, fuzzy
msgid "An identifier for other configuration fields to refer to this remote.  IDs must be unique and must not be empty."
msgstr "用于其他配置字段引用此远程的标识符。ID 必须唯一且不能为空。"

#. type: table
#: guix-git/doc/guix.texi:34496
#, fuzzy
msgid "An ordered list of destination IP addresses.  Addresses are tried in sequence.  An optional port can be given with the @@ separator.  For instance: @code{(list \"1.2.3.4\" \"2.3.4.5@@53\")}.  Default port is 53."
msgstr "目标 IP 地址的有序列表。地址按顺序尝试。可以使用 @@ 分隔符给出可选端口。例如:@code{(list \"1.2.3.4\" \"2.3.4.5@@53\")}。默认端口为 53。"

#. type: item
#: guix-git/doc/guix.texi:34497
#, fuzzy, no-wrap
msgid "@code{via} (default: @code{'()})"
msgstr "@code{via}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34501
#, fuzzy
msgid "An ordered list of source IP addresses.  An empty list will have Knot choose an appropriate source IP@.  An optional port can be given with the @@ separator.  The default is to choose at random."
msgstr "源 IP 地址的有序列表。空列表将让 Knot 选择一个合适的源 IP@。可以使用 @@ 分隔符提供一个可选端口。默认情况下是随机选择。"

#. type: item
#: guix-git/doc/guix.texi:34502
#, fuzzy, no-wrap
msgid "@code{key} (default: @code{#f})"
msgstr "@code{key}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34505
#, fuzzy
msgid "A reference to a key, that is a string containing the identifier of a key defined in a @code{knot-key-configuration} field."
msgstr "对一个密钥的引用,即包含在 @code{knot-key-configuration} 字段中定义的密钥标识符的字符串。"

#. type: deftp
#: guix-git/doc/guix.texi:34509
#, fuzzy, no-wrap
msgid "{Data Type} knot-keystore-configuration"
msgstr "{数据类型} knot-keystore-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:34512
#, fuzzy
msgid "Data type representing a keystore to hold dnssec keys.  This type has the following parameters:"
msgstr "表示用于保存 dnssec 密钥的密钥库的数据类型。此类型具有以下参数:"

#. type: table
#: guix-git/doc/guix.texi:34516
#, fuzzy
msgid "The id of the keystore.  It must not be empty."
msgstr "密钥库的 ID。它不能为空。"

#. type: item
#: guix-git/doc/guix.texi:34517
#, fuzzy, no-wrap
msgid "@code{backend} (default: @code{'pem})"
msgstr "@code{backend}(默认:@code{'pem})"

#. type: table
#: guix-git/doc/guix.texi:34519
#, fuzzy
msgid "The backend to store the keys in.  Can be @code{'pem} or @code{'pkcs11}."
msgstr "存储密钥的后端。可以是 @code{'pem} 或 @code{'pkcs11}。"

#. type: item
#: guix-git/doc/guix.texi:34520
#, fuzzy, no-wrap
msgid "@code{config} (default: @code{\"/var/lib/knot/keys/keys\"})"
msgstr "@code{config}(默认:@code{\"/var/lib/knot/keys/keys\"})"

#. type: table
#: guix-git/doc/guix.texi:34524
#, fuzzy
msgid "The configuration string of the backend.  An example for the PKCS#11 is: @code{\"pkcs11:token=knot;pin-value=1234 /gnu/store/.../lib/pkcs11/libsofthsm2.so\"}.  For the pem backend, the string represents a path in the file system."
msgstr "后端的配置字符串。PKCS#11 的示例是:@code{\"pkcs11:token=knot;pin-value=1234 /gnu/store/.../lib/pkcs11/libsofthsm2.so\"}。对于 pem 后端,该字符串表示文件系统中的路径。"

#. type: deftp
#: guix-git/doc/guix.texi:34528
#, fuzzy, no-wrap
msgid "{Data Type} knot-policy-configuration"
msgstr "{数据类型} knot-policy-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:34532
#, fuzzy
msgid "Data type representing a dnssec policy.  Knot DNS is able to automatically sign your zones.  It can either generate and manage your keys automatically or use keys that you generate."
msgstr "表示 dnssec 策略的数据类型。Knot DNS 能够自动签署您的区域。它可以自动生成和管理您的密钥,也可以使用您生成的密钥。"

#. type: deftp
#: guix-git/doc/guix.texi:34539
#, fuzzy
msgid "Dnssec is usually implemented using two keys: a Key Signing Key (KSK) that is used to sign the second, and a Zone Signing Key (ZSK) that is used to sign the zone.  In order to be trusted, the KSK needs to be present in the parent zone (usually a top-level domain).  If your registrar supports dnssec, you will have to send them your KSK's hash so they can add a DS record in their zone.  This is not automated and need to be done each time you change your KSK."
msgstr "Dnssec 通常使用两个密钥实现:一个用于签署第二个密钥的密钥签名密钥(KSK),和一个用于签署区域的区域签名密钥(ZSK)。为了被信任,KSK 需要存在于父区域中(通常是顶级域)。如果您的注册商支持 dnssec,您需要向他们发送 KSK 的哈希,以便他们可以在其区域中添加 DS 记录。这不是自动化的,每次更改 KSK 时都需要执行此操作。"

#. type: deftp
#: guix-git/doc/guix.texi:34545
#, fuzzy
msgid "The policy also defines the lifetime of keys.  Usually, ZSK can be changed easily and use weaker cryptographic functions (they use lower parameters) in order to sign records quickly, so they are changed often.  The KSK however requires manual interaction with the registrar, so they are changed less often and use stronger parameters because they sign only one record."
msgstr "该策略还定义了密钥的生命周期。通常,ZSK 可以轻松更改,并使用较弱的加密函数(它们使用较低的参数)以快速签署记录,因此它们经常更改。然而,KSK 需要与注册商手动交互,因此更改的频率较低,并使用更强的参数,因为它们只签署一条记录。"

#. type: deftp
#: guix-git/doc/guix.texi:34547
#, fuzzy
msgid "This type has the following parameters:"
msgstr "此类型具有以下参数:"

#. type: table
#: guix-git/doc/guix.texi:34551
#, fuzzy
msgid "The id of the policy.  It must not be empty."
msgstr "策略的 ID。它不能为空。"

#. type: item
#: guix-git/doc/guix.texi:34552
#, fuzzy, no-wrap
msgid "@code{keystore} (default: @code{\"default\"})"
msgstr "@code{keystore}(默认值:@code{\"default\"})"

#. type: table
#: guix-git/doc/guix.texi:34557
#, fuzzy
msgid "A reference to a keystore, that is a string containing the identifier of a keystore defined in a @code{knot-keystore-configuration} field.  The @code{\"default\"} identifier means the default keystore (a kasp database that was setup by this service)."
msgstr "对密钥库的引用,即包含在@code{knot-keystore-configuration}字段中定义的密钥库标识符的字符串。@code{\"default\"}标识符表示默认密钥库(由此服务设置的 kasp 数据库)。"

#. type: item
#: guix-git/doc/guix.texi:34558
#, fuzzy, no-wrap
msgid "@code{manual?} (default: @code{#f})"
msgstr "@code{manual?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34560
#, fuzzy
msgid "Whether the key management is manual or automatic."
msgstr "密钥管理是手动还是自动。"

#. type: item
#: guix-git/doc/guix.texi:34561
#, fuzzy, no-wrap
msgid "@code{single-type-signing?} (default: @code{#f})"
msgstr "@code{single-type-signing?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34563
#, fuzzy
msgid "When @code{#t}, use the Single-Type Signing Scheme."
msgstr "当@code{#t}时,使用单类型签名方案。"

#. type: item
#: guix-git/doc/guix.texi:34564
#, fuzzy, no-wrap
msgid "@code{algorithm} (default: @code{\"ecdsap256sha256\"})"
msgstr "@code{algorithm}(默认值:@code{\"ecdsap256sha256\"})"

#. type: table
#: guix-git/doc/guix.texi:34566
#, fuzzy
msgid "An algorithm of signing keys and issued signatures."
msgstr "签名密钥和已签发签名的算法。"

#. type: item
#: guix-git/doc/guix.texi:34567
#, fuzzy, no-wrap
msgid "@code{ksk-size} (default: @code{256})"
msgstr "@code{ksk-size}(默认值:@code{256})"

#. type: table
#: guix-git/doc/guix.texi:34570
#, fuzzy
msgid "The length of the KSK@.  Note that this value is correct for the default algorithm, but would be unsecure for other algorithms."
msgstr "KSK@的长度。请注意,此值对于默认算法是正确的,但对于其他算法将不安全。"

#. type: item
#: guix-git/doc/guix.texi:34571
#, fuzzy, no-wrap
msgid "@code{zsk-size} (default: @code{256})"
msgstr "@code{zsk-size}(默认值:@code{256})"

#. type: table
#: guix-git/doc/guix.texi:34574
#, fuzzy
msgid "The length of the ZSK@.  Note that this value is correct for the default algorithm, but would be unsecure for other algorithms."
msgstr "ZSK@的长度。请注意,此值对于默认算法是正确的,但对于其他算法将不安全。"

#. type: item
#: guix-git/doc/guix.texi:34575
#, fuzzy, no-wrap
msgid "@code{dnskey-ttl} (default: @code{'default})"
msgstr "@code{dnskey-ttl}(默认值:@code{'default})"

#. type: table
#: guix-git/doc/guix.texi:34578
#, fuzzy
msgid "The TTL value for DNSKEY records added into zone apex.  The special @code{'default} value means same as the zone SOA TTL."
msgstr "添加到区域顶点的 DNSKEY 记录的 TTL 值。特殊的@code{'default}值表示与区域 SOA TTL 相同。"

#. type: item
#: guix-git/doc/guix.texi:34579
#, fuzzy, no-wrap
msgid "@code{zsk-lifetime} (default: @code{(* 30 24 3600)})"
msgstr "@code{zsk-lifetime}(默认值:@code{(* 30 24 3600)})"

#. type: table
#: guix-git/doc/guix.texi:34581
#, fuzzy
msgid "The period between ZSK publication and the next rollover initiation."
msgstr "ZSK 发布与下一个轮换启动之间的时间段。"

#. type: item
#: guix-git/doc/guix.texi:34582
#, fuzzy, no-wrap
msgid "@code{propagation-delay} (default: @code{(* 24 3600)})"
msgstr "@code{propagation-delay}(默认值:@code{(* 24 3600)})"

#. type: table
#: guix-git/doc/guix.texi:34585
#, fuzzy
msgid "An extra delay added for each key rollover step.  This value should be high enough to cover propagation of data from the master server to all slaves."
msgstr "每个密钥轮换步骤增加的额外延迟。此值应足够高,以覆盖从主服务器到所有从服务器的数据传播。"

#. type: item
#: guix-git/doc/guix.texi:34586
#, fuzzy, no-wrap
msgid "@code{rrsig-lifetime} (default: @code{(* 14 24 3600)})"
msgstr "@code{rrsig-lifetime}(默认值:@code{(* 14 24 3600)})"

#. type: table
#: guix-git/doc/guix.texi:34588
#, fuzzy
msgid "A validity period of newly issued signatures."
msgstr "新签发签名的有效期。"

#. type: item
#: guix-git/doc/guix.texi:34589
#, fuzzy, no-wrap
msgid "@code{rrsig-refresh} (default: @code{(* 7 24 3600)})"
msgstr "@code{rrsig-refresh}(默认值:@code{(* 7 24 3600)})"

#. type: table
#: guix-git/doc/guix.texi:34591
#, fuzzy
msgid "A period how long before a signature expiration the signature will be refreshed."
msgstr "在签名到期之前,签名将被刷新多长时间。"

#. type: item
#: guix-git/doc/guix.texi:34592
#, fuzzy, no-wrap
msgid "@code{nsec3?} (default: @code{#f})"
msgstr "@code{nsec3?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34594
#, fuzzy
msgid "When @code{#t}, NSEC3 will be used instead of NSEC."
msgstr "当@code{#t}时,将使用 NSEC3 而不是 NSEC。"

#. type: item
#: guix-git/doc/guix.texi:34595
#, fuzzy, no-wrap
msgid "@code{nsec3-iterations} (default: @code{5})"
msgstr "@code{nsec3-iterations}(默认值:@code{5})"

#. type: table
#: guix-git/doc/guix.texi:34597
#, fuzzy
msgid "The number of additional times the hashing is performed."
msgstr "执行哈希的额外次数。"

#. type: item
#: guix-git/doc/guix.texi:34598
#, fuzzy, no-wrap
msgid "@code{nsec3-salt-length} (default: @code{8})"
msgstr "@code{nsec3-salt-length}(默认值:@code{8})"

#. type: table
#: guix-git/doc/guix.texi:34601
#, fuzzy
msgid "The length of a salt field in octets, which is appended to the original owner name before hashing."
msgstr "附加到原始所有者名称之前的盐字段的长度(以字节为单位)。"

#. type: item
#: guix-git/doc/guix.texi:34602
#, fuzzy, no-wrap
msgid "@code{nsec3-salt-lifetime} (default: @code{(* 30 24 3600)})"
msgstr "@code{nsec3-salt-lifetime}(默认值:@code{(* 30 24 3600)})"

#. type: table
#: guix-git/doc/guix.texi:34604
#, fuzzy
msgid "The validity period of newly issued salt field."
msgstr "新发盐田的有效期。"

#. type: deftp
#: guix-git/doc/guix.texi:34608
#, fuzzy, no-wrap
msgid "{Data Type} knot-zone-configuration"
msgstr "{数据类型} knot-zone-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:34611
#, fuzzy
msgid "Data type representing a zone served by Knot.  This type has the following parameters:"
msgstr "表示由Knot服务的区域的数据类型。此类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:34613
#, fuzzy, no-wrap
msgid "@code{domain} (default: @code{\"\"})"
msgstr "@code{domain}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:34615
#, fuzzy
msgid "The domain served by this configuration.  It must not be empty."
msgstr "此配置所服务的域。它不能为空。"

#. type: item
#: guix-git/doc/guix.texi:34616
#, fuzzy, no-wrap
msgid "@code{file} (default: @code{\"\"})"
msgstr "@code{file}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:34619
#, fuzzy
msgid "The file where this zone is saved.  This parameter is ignored by master zones.  Empty means default location that depends on the domain name."
msgstr "保存此区域的文件。此参数在主区域中被忽略。空表示默认位置,取决于域名。"

#. type: item
#: guix-git/doc/guix.texi:34620
#, fuzzy, no-wrap
msgid "@code{zone} (default: @code{(zone-file)})"
msgstr "@code{zone}(默认值:@code{(zone-file)})"

#. type: table
#: guix-git/doc/guix.texi:34623
#, fuzzy
msgid "The content of the zone file.  This parameter is ignored by slave zones.  It must contain a zone-file record."
msgstr "区域文件的内容。此参数在从属区域中被忽略。它必须包含一个区域文件记录。"

#. type: item
#: guix-git/doc/guix.texi:34624
#, fuzzy, no-wrap
msgid "@code{master} (default: @code{'()})"
msgstr "@code{master}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34627
#, fuzzy
msgid "A list of master remotes.  When empty, this zone is a master.  When set, this zone is a slave.  This is a list of remotes identifiers."
msgstr "主远程列表。当为空时,此区域为主区域。当设置时,此区域为从属区域。这是远程标识符的列表。"

#. type: item
#: guix-git/doc/guix.texi:34628
#, fuzzy, no-wrap
msgid "@code{ddns-master} (default: @code{#f})"
msgstr "@code{ddns-master}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34631
#, fuzzy
msgid "The main master.  When empty, it defaults to the first master in the list of masters."
msgstr "主要主机。当为空时,默认为主机列表中的第一个主机。"

#. type: item
#: guix-git/doc/guix.texi:34632
#, fuzzy, no-wrap
msgid "@code{notify} (default: @code{'()})"
msgstr "@code{notify}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34634
#, fuzzy
msgid "A list of slave remote identifiers."
msgstr "从属远程标识符的列表。"

#. type: item
#: guix-git/doc/guix.texi:34635
#, fuzzy, no-wrap
msgid "@code{acl} (default: @code{'()})"
msgstr "@code{acl}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34637
#, fuzzy
msgid "A list of acl identifiers."
msgstr "acl标识符的列表。"

#. type: item
#: guix-git/doc/guix.texi:34638
#, fuzzy, no-wrap
msgid "@code{semantic-checks?} (default: @code{#f})"
msgstr "@code{semantic-checks?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34640
#, fuzzy
msgid "When set, this adds more semantic checks to the zone."
msgstr "当设置时,这将为区域添加更多语义检查。"

#. type: item
#: guix-git/doc/guix.texi:34641
#, fuzzy, no-wrap
msgid "@code{zonefile-sync} (default: @code{0})"
msgstr "@code{zonefile-sync}(默认值:@code{0})"

#. type: table
#: guix-git/doc/guix.texi:34644
#, fuzzy
msgid "The delay between a modification in memory and on disk.  0 means immediate synchronization."
msgstr "内存中修改与磁盘上的修改之间的延迟。0表示立即同步。"

#. type: item
#: guix-git/doc/guix.texi:34645
#, no-wrap
msgid "@code{zonefile-load} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34648
#, fuzzy
msgid "The way the zone file contents are applied during zone load.  Possible values are:"
msgstr "在区域加载期间应用区域文件内容的方式。可能的值为:"

#. type: item
#: guix-git/doc/guix.texi:34650
#, fuzzy, no-wrap
msgid "@code{#f} for using the default value from Knot,"
msgstr "@code{#f}表示使用Knot的默认值,"

#. type: item
#: guix-git/doc/guix.texi:34651
#, fuzzy, no-wrap
msgid "@code{'none} for not using the zone file at all,"
msgstr "@code{'none}表示根本不使用区域文件,"

#. type: item
#: guix-git/doc/guix.texi:34652
#, fuzzy, no-wrap
msgid "@code{'difference} for computing the difference between already available"
msgstr "@code{'difference}表示计算已可用内容与区域内容之间的差异并将其应用于当前区域内容,"

#. type: itemize
#: guix-git/doc/guix.texi:34654
#, fuzzy
msgid "contents and zone contents and applying it to the current zone contents,"
msgstr "内容和区域内容,"

#. type: item
#: guix-git/doc/guix.texi:34654
#, fuzzy, no-wrap
msgid "@code{'difference-no-serial} for the same as @code{'difference}, but"
msgstr "@code{'difference-no-serial}表示与@code{'difference}相同,但"

#. type: itemize
#: guix-git/doc/guix.texi:34657
#, fuzzy
msgid "ignoring the SOA serial in the zone file, while the server takes care of it automatically."
msgstr "忽略区域文件中的SOA序列,而服务器会自动处理。"

#. type: item
#: guix-git/doc/guix.texi:34657
#, fuzzy, no-wrap
msgid "@code{'whole} for loading zone contents from the zone file."
msgstr "@code{'whole}表示从区域文件加载区域内容。"

#. type: item
#: guix-git/doc/guix.texi:34660
#, no-wrap
msgid "@code{journal-content} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34665
#, fuzzy
msgid "The way the journal is used to store zone and its changes.  Possible values are @code{'none} to not use it at all, @code{'changes} to store changes and @code{'all} to store contents.  @code{#f} does not set this option, so the default value from Knot is used."
msgstr "用于存储区域及其更改的日志的方式。可能的值为@code{'none}表示根本不使用它,@code{'changes}表示存储更改,@code{'all}表示存储内容。@code{#f}不设置此选项,因此使用Knot的默认值。"

#. type: item
#: guix-git/doc/guix.texi:34666
#, no-wrap
msgid "@code{max-journal-usage} (default: @code{#f})"
msgstr "@code{max-journal-usage}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34669
#, fuzzy
msgid "The maximum size for the journal on disk.  @code{#f} does not set this option, so the default value from Knot is used."
msgstr "磁盘上日志的最大大小。 @code{#f} 不设置此选项,因此使用 Knot 的默认值。"

#. type: item
#: guix-git/doc/guix.texi:34670
#, no-wrap
msgid "@code{max-journal-depth} (default: @code{#f})"
msgstr "@code{max-journal-depth}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34673
#, fuzzy
msgid "The maximum size of the history.  @code{#f} does not set this option, so the default value from Knot is used."
msgstr "历史记录的最大大小。 @code{#f} 不设置此选项,因此使用 Knot 的默认值。"

#. type: item
#: guix-git/doc/guix.texi:34674
#, no-wrap
msgid "@code{max-zone-size} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34678
#, fuzzy
msgid "The maximum size of the zone file.  This limit is enforced for incoming transfer and updates.  @code{#f} does not set this option, so the default value from Knot is used."
msgstr "区域文件的最大大小。 此限制适用于传入传输和更新。 @code{#f} 不设置此选项,因此使用 Knot 的默认值。"

#. type: item
#: guix-git/doc/guix.texi:34679
#, no-wrap
msgid "@code{dnssec-policy} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34683
#, fuzzy
msgid "A reference to a @code{knot-policy-configuration} record, or the special name @code{\"default\"}.  If the value is @code{#f}, there is no dnssec signing on this zone."
msgstr "对 @code{knot-policy-configuration} 记录的引用,或特殊名称 @code{\"default\"}。 如果值为 @code{#f},则此区域没有 dnssec 签名。"

#. type: item
#: guix-git/doc/guix.texi:34684
#, fuzzy, no-wrap
msgid "@code{serial-policy} (default: @code{'increment})"
msgstr "@code{serial-policy}(默认值:@code{'increment})"

#. type: table
#: guix-git/doc/guix.texi:34686
#, fuzzy
msgid "A policy between @code{'increment} and @code{'unixtime}."
msgstr "在 @code{'increment} 和 @code{'unixtime} 之间的策略。"

#. type: deftp
#: guix-git/doc/guix.texi:34690
#, fuzzy, no-wrap
msgid "{Data Type} knot-configuration"
msgstr "{数据类型} knot-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:34693
#, fuzzy
msgid "Data type representing the Knot configuration.  This type has the following parameters:"
msgstr "表示 Knot 配置的数据类型。 此类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:34695
#, fuzzy, no-wrap
msgid "@code{knot} (default: @code{knot})"
msgstr "@code{knot}(默认值:@code{knot})"

#. type: table
#: guix-git/doc/guix.texi:34697
#, fuzzy
msgid "The Knot package."
msgstr "Knot 包。"

#. type: item
#: guix-git/doc/guix.texi:34698
#, fuzzy, no-wrap
msgid "@code{run-directory} (default: @code{\"/var/run/knot\"})"
msgstr "@code{run-directory}(默认值:@code{\"/var/run/knot\"})"

#. type: table
#: guix-git/doc/guix.texi:34700
#, fuzzy
msgid "The run directory.  This directory will be used for pid file and sockets."
msgstr "运行目录。 此目录将用于 pid 文件和套接字。"

#. type: item
#: guix-git/doc/guix.texi:34701
#, no-wrap
msgid "@code{includes} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34704
#, fuzzy
msgid "A list of strings or file-like objects denoting other files that must be included at the top of the configuration file."
msgstr "字符串或文件对象的列表,表示必须在配置文件顶部包含的其他文件。"

#. type: cindex
#: guix-git/doc/guix.texi:34705
#, no-wrap
msgid "secrets, Knot service"
msgstr "秘密,Knot服务。"

#. type: table
#: guix-git/doc/guix.texi:34711
#, fuzzy
msgid "This can be used to manage secrets out-of-band.  For example, secret keys may be stored in an out-of-band file not managed by Guix, and thus not visible in @file{/gnu/store}---e.g., you could store secret key configuration in @file{/etc/knot/secrets.conf} and add this file to the @code{includes} list."
msgstr "这可以用于管理带外的秘密。 例如,秘密密钥可以存储在不由 Guix 管理的带外文件中,因此在 @file{/gnu/store} 中不可见——例如,您可以将秘密密钥配置存储在 @file{/etc/knot/secrets.conf} 中,并将此文件添加到 @code{includes} 列表中。"

#. type: table
#: guix-git/doc/guix.texi:34716
#, fuzzy
msgid "One can generate a secret tsig key (for nsupdate and zone transfers with the keymgr command from the knot package.  Note that the package is not automatically installed by the service.  The following example shows how to generate a new tsig key:"
msgstr "可以使用 knot 包中的 keymgr 命令生成一个秘密 tsig 密钥(用于 nsupdate 和区域传输)。 请注意,该包不会由服务自动安装。 以下示例演示如何生成新的 tsig 密钥:"

#. type: example
#: guix-git/doc/guix.texi:34720
#, fuzzy, no-wrap
msgid ""
"keymgr -t mysecret > /etc/knot/secrets.conf\n"
"chmod 600 /etc/knot/secrets.conf\n"
msgstr ""
"keymgr -t mysecret > /etc/knot/secrets.conf\n"
"chmod 600 /etc/knot/secrets.conf\n"

#. type: table
#: guix-git/doc/guix.texi:34726
#, fuzzy
msgid "Also note that the generated key will be named @var{mysecret}, so it is the name that needs to be used in the @var{key} field of the @code{knot-acl-configuration} record and in other places that need to refer to that key."
msgstr "还要注意,生成的密钥将命名为 @var{mysecret},因此需要在 @code{knot-acl-configuration} 记录的 @var{key} 字段以及其他需要引用该密钥的地方使用该名称。"

#. type: table
#: guix-git/doc/guix.texi:34728
#, fuzzy
msgid "It can also be used to add configuration not supported by this interface."
msgstr "它还可以用于添加此接口不支持的配置。"

#. type: item
#: guix-git/doc/guix.texi:34729
#, fuzzy, no-wrap
msgid "@code{listen-v4} (default: @code{\"0.0.0.0\"})"
msgstr "@code{listen-v4}(默认值:@code{\"0.0.0.0\"})"

#. type: table
#: guix-git/doc/guix.texi:34731 guix-git/doc/guix.texi:34734
#, fuzzy
msgid "An ip address on which to listen."
msgstr "一个用于监听的 IP 地址。"

#. type: item
#: guix-git/doc/guix.texi:34732
#, fuzzy, no-wrap
msgid "@code{listen-v6} (default: @code{\"::\"})"
msgstr "@code{listen-v6}(默认值:@code{\"::\"})"

#. type: item
#: guix-git/doc/guix.texi:34735
#, fuzzy, no-wrap
msgid "@code{listen-port} (default: @code{53})"
msgstr "@code{listen-port}(默认值:@code{53})"

#. type: table
#: guix-git/doc/guix.texi:34737
#, fuzzy
msgid "A port on which to listen."
msgstr "一个用于监听的端口。"

#. type: item
#: guix-git/doc/guix.texi:34738
#, fuzzy, no-wrap
msgid "@code{keys} (default: @code{'()})"
msgstr "@code{keys}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34740
#, fuzzy
msgid "The list of knot-key-configuration used by this configuration."
msgstr "此配置使用的 knot-key-configuration 列表。"

#. type: item
#: guix-git/doc/guix.texi:34741
#, fuzzy, no-wrap
msgid "@code{acls} (default: @code{'()})"
msgstr "@code{acls}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34743
#, fuzzy
msgid "The list of knot-acl-configuration used by this configuration."
msgstr "此配置使用的 knot-acl-configuration 列表。"

#. type: item
#: guix-git/doc/guix.texi:34744
#, fuzzy, no-wrap
msgid "@code{remotes} (default: @code{'()})"
msgstr "@code{remotes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34746
#, fuzzy
msgid "The list of knot-remote-configuration used by this configuration."
msgstr "此配置使用的 knot-remote-configuration 列表。"

#. type: item
#: guix-git/doc/guix.texi:34747
#, fuzzy, no-wrap
msgid "@code{zones} (default: @code{'()})"
msgstr "@code{zones}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34749
#, fuzzy
msgid "The list of knot-zone-configuration used by this configuration."
msgstr "此配置使用的 knot-zone-configuration 列表。"

#. type: subsubheading
#: guix-git/doc/guix.texi:34753
#, fuzzy, no-wrap
msgid "Knot Resolver Service"
msgstr "Kerberos服务"

#. type: defvar
#: guix-git/doc/guix.texi:34755
#, fuzzy, no-wrap
msgid "knot-resolver-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:34758
#, fuzzy
msgid "This is the type of the knot resolver service, whose value should be a @code{knot-resolver-configuration} object as in this example:"
msgstr "这是 knot resolver 服务的类型,其值应为 @code{knot-resolver-configuration} 对象,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:34768
#, fuzzy, no-wrap
msgid ""
"(service knot-resolver-service-type\n"
"         (knot-resolver-configuration\n"
"           (kresd-config-file (plain-file \"kresd.conf\" \"\n"
"net.listen('192.168.0.1', 5353)\n"
"user('knot-resolver', 'knot-resolver')\n"
"modules = @{ 'hints > iterate', 'stats', 'predict' @}\n"
"cache.size = 100 * MB\n"
"\"))))\n"
msgstr ""
"(service knot-resolver-service-type\n"
"         (knot-resolver-configuration\n"
"           (kresd-config-file (plain-file \"kresd.conf\" \"\n"
"net.listen('192.168.0.1', 5353)\n"
"user('knot-resolver', 'knot-resolver')\n"
"modules = @{ 'hints > iterate', 'stats', 'predict' @}\n"
"cache.size = 100 * MB\n"
"\"))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:34771
#, fuzzy
msgid "For more information, refer its @url{https://knot-resolver.readthedocs.io/en/stable/config-overview.html, manual}."
msgstr "有关更多信息,请参阅其 @url{https://knot-resolver.readthedocs.io/en/stable/config-overview.html, 手册}。"

#. type: deftp
#: guix-git/doc/guix.texi:34773
#, fuzzy, no-wrap
msgid "{Data Type} knot-resolver-configuration"
msgstr "{数据类型} knot-resolver-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:34775
#, fuzzy
msgid "Data type representing the configuration of knot-resolver."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:34777
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{knot-resolver})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:34779
#, fuzzy
msgid "Package object of the knot DNS resolver."
msgstr "knot DNS 解析器的包对象。"

#. type: item
#: guix-git/doc/guix.texi:34780
#, fuzzy, no-wrap
msgid "@code{kresd-config-file} (default: %kresd.conf)"
msgstr "@code{compression-level}(默认值:@code{3})"

#. type: table
#: guix-git/doc/guix.texi:34783
#, fuzzy
msgid "File-like object of the kresd configuration file to use, by default it will listen on @code{127.0.0.1} and @code{::1}."
msgstr "要使用的 kresd 配置文件的类文件对象,默认情况下它将在 @code{127.0.0.1} 和 @code{::1} 上监听。"

#. type: item
#: guix-git/doc/guix.texi:34784
#, fuzzy, no-wrap
msgid "@code{garbage-collection-interval} (default: 1000)"
msgstr "@code{parallel-builds}(默认值:@code{1})"

#. type: table
#: guix-git/doc/guix.texi:34786
#, fuzzy
msgid "Number of milliseconds for @code{kres-cache-gc} to periodically trim the cache."
msgstr "@code{kres-cache-gc} 定期修剪缓存的毫秒数。"

#. type: subsubheading
#: guix-git/doc/guix.texi:34791
#, fuzzy, no-wrap
msgid "Dnsmasq Service"
msgstr "Dnsmasq 服务"

#. type: defvar
#: guix-git/doc/guix.texi:34793
#, fuzzy, no-wrap
msgid "dnsmasq-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:34796
#, fuzzy
msgid "This is the type of the dnsmasq service, whose value should be a @code{dnsmasq-configuration} object as in this example:"
msgstr "这是 dnsmasq 服务的类型,其值应为 @code{dnsmasq-configuration} 对象,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:34802
#, fuzzy, no-wrap
msgid ""
"(service dnsmasq-service-type\n"
"         (dnsmasq-configuration\n"
"           (no-resolv? #t)\n"
"           (servers '(\"192.168.1.1\"))))\n"
msgstr ""
"(service dnsmasq-service-type\n"
"         (dnsmasq-configuration\n"
"           (no-resolv? #t)\n"
"           (servers '(\"192.168.1.1\"))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:34805
#, fuzzy, no-wrap
msgid "{Data Type} dnsmasq-configuration"
msgstr "{数据类型} dnsmasq-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:34807
#, fuzzy
msgid "Data type representing the configuration of dnsmasq."
msgstr "表示 dnsmasq 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:34809
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{dnsmasq})"
msgstr "@code{package}(默认值:@var{dnsmasq})"

#. type: table
#: guix-git/doc/guix.texi:34811
#, fuzzy
msgid "Package object of the dnsmasq server."
msgstr "dnsmasq 服务器的包对象。"

#. type: item
#: guix-git/doc/guix.texi:34812
#, fuzzy, no-wrap
msgid "@code{provision} (default: @code{'(dnsmasq)})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34815
#, fuzzy
msgid "A list of symbols for the Shepherd service corresponding to this dnsmasq configuration."
msgstr "与此 dnsmasq 配置对应的 Shepherd 服务的符号列表。"

#. type: item
#: guix-git/doc/guix.texi:34816
#, fuzzy, no-wrap
msgid "@code{no-hosts?} (default: @code{#f})"
msgstr "@code{no-hosts?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34818
#, fuzzy
msgid "When true, don't read the hostnames in /etc/hosts."
msgstr "如果为真,则不读取 /etc/hosts 中的主机名。"

#. type: item
#: guix-git/doc/guix.texi:34819
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{53})"
msgstr "@code{port}(默认值:@code{53})"

#. type: table
#: guix-git/doc/guix.texi:34822
#, fuzzy
msgid "The port to listen on.  Setting this to zero completely disables DNS responses, leaving only DHCP and/or TFTP functions."
msgstr "要监听的端口。将其设置为零将完全禁用 DNS 响应,仅保留 DHCP 和/或 TFTP 功能。"

#. type: item
#: guix-git/doc/guix.texi:34823
#, fuzzy, no-wrap
msgid "@code{local-service?} (default: @code{#t})"
msgstr "@code{local-service?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:34826
#, fuzzy
msgid "Accept DNS queries only from hosts whose address is on a local subnet, ie a subnet for which an interface exists on the server."
msgstr "仅接受来自其地址位于本地子网的主机的DNS查询,即服务器上存在接口的子网。"

#. type: item
#: guix-git/doc/guix.texi:34827
#, fuzzy, no-wrap
msgid "@code{listen-addresses} (default: @code{'()})"
msgstr "@code{listen-addresses}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34829
#, fuzzy
msgid "Listen on the given IP addresses."
msgstr "在给定的IP地址上监听。"

#. type: item
#: guix-git/doc/guix.texi:34830
#, fuzzy, no-wrap
msgid "@code{resolv-file} (default: @code{\"/etc/resolv.conf\"})"
msgstr "@code{resolv-file}(默认值:@code{\"/etc/resolv.conf\"})"

#. type: table
#: guix-git/doc/guix.texi:34832
#, fuzzy
msgid "The file to read the IP address of the upstream nameservers from."
msgstr "从中读取上游名称服务器的IP地址的文件。"

#. type: item
#: guix-git/doc/guix.texi:34833
#, fuzzy, no-wrap
msgid "@code{no-resolv?} (default: @code{#f})"
msgstr "@code{no-resolv?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34835
#, fuzzy
msgid "When true, don't read @var{resolv-file}."
msgstr "当为真时,不读取@var{resolv-file}。"

#. type: item
#: guix-git/doc/guix.texi:34836
#, fuzzy, no-wrap
msgid "@code{forward-private-reverse-lookup?} (default: @code{#t})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34839
#, fuzzy
msgid "When false, all reverse lookups for private IP ranges are answered with \"no such domain\" rather than being forwarded upstream."
msgstr "当为假时,所有私有IP范围的反向查找都将以“没有此域”进行回答,而不是转发到上游。"

#. type: item
#: guix-git/doc/guix.texi:34840
#, fuzzy, no-wrap
msgid "@code{query-servers-in-order?} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:34843
#, fuzzy
msgid "When true, dnsmasq queries the servers in the same order as they appear in @var{servers}."
msgstr "当为真时,dnsmasq按@var{servers}中出现的顺序查询服务器。"

#. type: item
#: guix-git/doc/guix.texi:34844
#, fuzzy, no-wrap
msgid "@code{servers} (default: @code{'()})"
msgstr "@code{servers}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34846
#, fuzzy
msgid "Specify IP address of upstream servers directly."
msgstr "直接指定上游服务器的IP地址。"

#. type: item
#: guix-git/doc/guix.texi:34847
#, fuzzy, no-wrap
msgid "@code{servers-file} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:34850
#, fuzzy
msgid "Specify file containing upstream servers. This file is re-read when dnsmasq receives SIGHUP.  Could be either a string or a file-like object."
msgstr "指定包含上游服务器的文件。dnsmasq在接收到SIGHUP时会重新读取此文件。可以是字符串或类文件对象。"

#. type: item
#: guix-git/doc/guix.texi:34851
#, fuzzy, no-wrap
msgid "@code{addresses} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34855
#, fuzzy
msgid "For each entry, specify an IP address to return for any host in the given domains.  Queries in the domains are never forwarded and always replied to with the specified IP address."
msgstr "对于每个条目,指定要返回的IP地址,以便在给定域中的任何主机。该域中的查询永远不会被转发,并始终以指定的IP地址进行回复。"

#. type: table
#: guix-git/doc/guix.texi:34857
#, fuzzy
msgid "This is useful for redirecting hosts locally, for example:"
msgstr "这对于本地重定向主机非常有用,例如:"

#. type: lisp
#: guix-git/doc/guix.texi:34866
#, fuzzy, no-wrap
msgid ""
"(service dnsmasq-service-type\n"
"         (dnsmasq-configuration\n"
"           (addresses\n"
"             '(; Redirect to a local web-server.\n"
"               \"/example.org/127.0.0.1\"\n"
"               ; Redirect subdomain to a specific IP.\n"
"               \"/subdomain.example.org/192.168.1.42\"))))\n"
msgstr ""
"(service dnsmasq-service-type\n"
"         (dnsmasq-configuration\n"
"           (addresses\n"
"             '(; 重定向到本地Web服务器。\n"
"               \"/example.org/127.0.0.1\"\n"
"               ; 将子域重定向到特定IP。\n"
"               \"/subdomain.example.org/192.168.1.42\"))))\n"

#. type: table
#: guix-git/doc/guix.texi:34869
#, fuzzy
msgid "Note that rules in @file{/etc/hosts} take precedence over this."
msgstr "请注意,@file{/etc/hosts}中的规则优先于此。"

#. type: item
#: guix-git/doc/guix.texi:34870
#, fuzzy, no-wrap
msgid "@code{cache-size} (default: @code{150})"
msgstr "@code{cache-size}(默认值:@code{150})"

#. type: table
#: guix-git/doc/guix.texi:34873
#, fuzzy
msgid "Set the size of dnsmasq's cache.  Setting the cache size to zero disables caching."
msgstr "设置dnsmasq的缓存大小。将缓存大小设置为零将禁用缓存。"

#. type: item
#: guix-git/doc/guix.texi:34874
#, fuzzy, no-wrap
msgid "@code{negative-cache?} (default: @code{#t})"
msgstr "@code{negative-cache?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:34876
#, fuzzy
msgid "When false, disable negative caching."
msgstr "当为假时,禁用负缓存。"

#. type: item
#: guix-git/doc/guix.texi:34877
#, fuzzy, no-wrap
msgid "@code{cpe-id} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:34880
#, fuzzy
msgid "If set, add a CPE (Customer-Premises Equipment) identifier to DNS queries which are forwarded upstream."
msgstr "如果设置,向转发到上游的DNS查询添加CPE(客户现场设备)标识符。"

#. type: item
#: guix-git/doc/guix.texi:34881
#, fuzzy, no-wrap
msgid "@code{tftp-enable?} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34883
#, fuzzy
msgid "Whether to enable the built-in TFTP server."
msgstr "是否启用内置的TFTP服务器。"

#. type: item
#: guix-git/doc/guix.texi:34884
#, fuzzy, no-wrap
msgid "@code{tftp-no-fail?} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34886
#, fuzzy
msgid "If true, does not fail dnsmasq if the TFTP server could not start up."
msgstr "如果为真,则在TFTP服务器无法启动时不会使dnsmasq失败。"

#. type: item
#: guix-git/doc/guix.texi:34887
#, fuzzy, no-wrap
msgid "@code{tftp-single-port?} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34889
#, fuzzy
msgid "Whether to use only one single port for TFTP."
msgstr "是否仅使用一个端口进行TFTP。"

#. type: item
#: guix-git/doc/guix.texi:34890
#, fuzzy, no-wrap
msgid "@code{tftp-secure?} (default: @code{#f})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:34892
#, fuzzy
msgid "If true, only files owned by the user running the dnsmasq process are accessible."
msgstr "如果为真,则仅运行dnsmasq进程的用户拥有的文件可访问。"

#. type: table
#: guix-git/doc/guix.texi:34896
#, fuzzy
msgid "If dnsmasq is being run as root, different rules apply: @code{tftp-secure?} has no effect, but only files which have the world-readable bit set are accessible."
msgstr "如果 dnsmasq 以 root 身份运行,则适用不同的规则:@code{tftp-secure?} 无效,但只有具有全局可读位的文件才能访问。"

#. type: item
#: guix-git/doc/guix.texi:34897
#, fuzzy, no-wrap
msgid "@code{tftp-max} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34899
#, fuzzy
msgid "If set, sets the maximal number of concurrent connections allowed."
msgstr "如果设置,则设置允许的最大并发连接数。"

#. type: item
#: guix-git/doc/guix.texi:34900
#, fuzzy, no-wrap
msgid "@code{tftp-mtu} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:34902
#, fuzzy
msgid "If set, sets the MTU for TFTP packets to that value."
msgstr "如果设置,则将 TFTP 数据包的 MTU 设置为该值。"

#. type: item
#: guix-git/doc/guix.texi:34903
#, fuzzy, no-wrap
msgid "@code{tftp-no-blocksize?} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34905
#, fuzzy
msgid "If true, stops the TFTP server from negotiating the blocksize with a client."
msgstr "如果为真,则阻止 TFTP 服务器与客户端协商块大小。"

#. type: item
#: guix-git/doc/guix.texi:34906
#, fuzzy, no-wrap
msgid "@code{tftp-lowercase?} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34908
#, fuzzy
msgid "Whether to convert all filenames in TFTP requests to lowercase."
msgstr "是否将 TFTP 请求中的所有文件名转换为小写。"

#. type: item
#: guix-git/doc/guix.texi:34909
#, fuzzy, no-wrap
msgid "@code{tftp-port-range} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34912
#, fuzzy
msgid "If set, fixes the dynamical ports (one per client) to the given range (@code{\"<start>,<end>\"})."
msgstr "如果设置,将动态端口(每个客户端一个)固定到给定范围 (@code{\"<start>,<end>\"})。"

#. type: item
#: guix-git/doc/guix.texi:34913
#, fuzzy, no-wrap
msgid "@code{tftp-root} (default: @code{/var/empty,lo})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:34920
#, fuzzy
msgid "Look for files to transfer using TFTP relative to the given directory.  When this is set, TFTP paths which include @samp{..} are rejected, to stop clients getting outside the specified root.  Absolute paths (starting with @samp{/}) are allowed, but they must be within the TFTP-root.  If the optional interface argument is given, the directory is only used for TFTP requests via that interface."
msgstr "在给定目录下查找要通过 TFTP 传输的文件。当设置此项时,包含 @samp{..} 的 TFTP 路径将被拒绝,以防止客户端访问指定根目录之外的内容。绝对路径(以 @samp{/} 开头)是允许的,但必须在 TFTP 根目录内。如果提供了可选的接口参数,则该目录仅用于通过该接口的 TFTP 请求。"

#. type: item
#: guix-git/doc/guix.texi:34921
#, fuzzy, no-wrap
msgid "@code{tftp-unique-root} (default: @code{#f})"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34926
#, fuzzy
msgid "If set, add the IP or hardware address of the TFTP client as a path component on the end of the TFTP-root.  Only valid if a TFTP root is set and the directory exists.  Defaults to adding IP address (in standard dotted-quad format)."
msgstr "如果设置,将 TFTP 客户端的 IP 或硬件地址作为路径组件添加到 TFTP 根目录的末尾。仅在设置了 TFTP 根目录且目录存在时有效。默认情况下添加 IP 地址(以标准点分四组格式)。"

#. type: table
#: guix-git/doc/guix.texi:34935
#, fuzzy
msgid "For instance, if @option{--tftp-root} is @samp{/tftp} and client @samp{1.2.3.4} requests file @file{myfile} then the effective path will be @file{/tftp/1.2.3.4/myfile} if @file{/tftp/1.2.3.4} exists or @file{/tftp/myfile} otherwise.  When @samp{=mac} is specified it will append the MAC address instead, using lowercase zero padded digits separated by dashes, e.g.: @samp{01-02-03-04-aa-bb}.  Note that resolving MAC addresses is only possible if the client is in the local network or obtained a DHCP lease from dnsmasq."
msgstr "例如,如果 @option{--tftp-root} 为 @samp{/tftp},而客户端 @samp{1.2.3.4} 请求文件 @file{myfile},则有效路径将是 @file{/tftp/1.2.3.4/myfile}(如果 @file{/tftp/1.2.3.4} 存在)或 @file{/tftp/myfile}(否则)。当指定 @samp{=mac} 时,它将附加 MAC 地址,使用小写零填充的数字并用破折号分隔,例如:@samp{01-02-03-04-aa-bb}。请注意,解析 MAC 地址仅在客户端位于本地网络或从 dnsmasq 获得 DHCP 租约时才可能。"

#. type: table
#: guix-git/doc/guix.texi:34939
#, fuzzy
msgid "This option provides an ``escape hatch'' for the user to provide arbitrary command-line arguments to @command{dnsmasq} as a list of strings."
msgstr "此选项为用户提供了一个“逃生阀”,以便提供任意命令行参数给 @command{dnsmasq},作为字符串列表。"

#. type: subsubheading
#: guix-git/doc/guix.texi:34943
#, fuzzy, no-wrap
msgid "Unbound Service"
msgstr "声音服务"

#. type: defvar
#: guix-git/doc/guix.texi:34945
#, fuzzy, no-wrap
msgid "unbound-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:34949
#, fuzzy
msgid "This is the type of the service to run @uref{https://www.unbound.net, Unbound}, a validating, recursive, and caching DNS resolver.  Its value must be a @code{unbound-configuration} object as in this example:"
msgstr "这是要运行的服务类型 @uref{https://www.unbound.net, Unbound},一个验证、递归和缓存的 DNS 解析器。其值必须是 @code{unbound-configuration} 对象,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:34960
#, fuzzy, no-wrap
msgid ""
"(service unbound-service-type\n"
"         (unbound-configuration\n"
"          (forward-zone\n"
"           (list\n"
"            (unbound-zone\n"
"             (name \".\")\n"
"             (forward-addr '(\"149.112.112.112#dns.quad9.net\"\n"
"                             \"2620:fe::9#dns.quad9.net\"))\n"
"             (forward-tls-upstream #t))))))\n"
msgstr ""
"(服务 unbound-service-type\n"
"         (unbound-configuration\n"
"          (forward-zone\n"
"           (list\n"
"            (unbound-zone\n"
"             (name \".\")\n"
"             (forward-addr '(\"149.112.112.112#dns.quad9.net\"\n"
"                             \"2620:fe::9#dns.quad9.net\"))\n"
"             (forward-tls-upstream #t))))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:34963
#, fuzzy, no-wrap
msgid "{Data Type} unbound-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:34965
#, fuzzy
msgid "Available @code{unbound-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:34967
#, fuzzy, no-wrap
msgid "@code{server} (type: unbound-server)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34969
#, fuzzy
msgid "General options for the Unbound server."
msgstr "服务类型和服务"

#. type: item
#: guix-git/doc/guix.texi:34970
#, fuzzy, no-wrap
msgid "@code{remote-control} (type: unbound-remote)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34972
#, fuzzy
msgid "Remote control options for the daemon."
msgstr "守护进程的远程控制选项。"

#. type: item
#: guix-git/doc/guix.texi:34973
#, fuzzy, no-wrap
msgid "@code{forward-zone} (default: @code{()}) (type: list-of-unbound-zone)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:34975
#, fuzzy
msgid "A zone for which queries should be forwarded to another resolver."
msgstr "应将查询转发到另一个解析器的区域。"

#. type: item
#: guix-git/doc/guix.texi:34976
#, fuzzy, no-wrap
msgid "@code{extra-content} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34978
#, fuzzy
msgid "Raw content to add to the configuration file."
msgstr "实例化一个系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:34982
#, fuzzy, no-wrap
msgid "{Data Type} unbound-server"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:34984
#, fuzzy
msgid "Available @code{unbound-server} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:34986
#, fuzzy, no-wrap
msgid "@code{interface} (type: maybe-list-of-strings)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34988
#, fuzzy
msgid "Interfaces listened on for queries from clients."
msgstr "监听客户端查询的接口。"

#. type: item
#: guix-git/doc/guix.texi:34989
#, fuzzy, no-wrap
msgid "@code{hide-version} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:34991
#, fuzzy
msgid "Refuse the version.server and version.bind queries."
msgstr "拒绝 version.server 和 version.bind 查询。"

#. type: item
#: guix-git/doc/guix.texi:34992
#, fuzzy, no-wrap
msgid "@code{hide-identity} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:34994
#, fuzzy
msgid "Refuse the id.server and hostname.bind queries."
msgstr "拒绝 id.server 和 hostname.bind 查询。"

#. type: item
#: guix-git/doc/guix.texi:34995
#, fuzzy, no-wrap
msgid "@code{tls-cert-bundle} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:34997
#, fuzzy
msgid "Certificate bundle file, used for DNS over TLS."
msgstr "证书捆绑文件,用于 TLS 上的 DNS。"

#. type: item
#: guix-git/doc/guix.texi:34998 guix-git/doc/guix.texi:35014
#: guix-git/doc/guix.texi:35033
#, fuzzy, no-wrap
msgid "@code{extra-options} (default: @code{()}) (type: alist)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:35000 guix-git/doc/guix.texi:35016
#: guix-git/doc/guix.texi:35035
#, fuzzy
msgid "An association list of options to append."
msgstr "要附加的选项的关联列表。"

#. type: deftp
#: guix-git/doc/guix.texi:35004
#, fuzzy, no-wrap
msgid "{Data Type} unbound-remote"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:35006
#, fuzzy
msgid "Available @code{unbound-remote} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:35008
#, fuzzy, no-wrap
msgid "@code{control-enable} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35010
#, fuzzy
msgid "Enable remote control."
msgstr "怎么开启或关闭substitute。"

#. type: item
#: guix-git/doc/guix.texi:35011
#, fuzzy, no-wrap
msgid "@code{control-interface} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35013
#, fuzzy
msgid "IP address or local socket path to listen on for remote control."
msgstr "用于远程控制的 IP 地址或本地套接字路径。"

#. type: deftp
#: guix-git/doc/guix.texi:35020
#, fuzzy, no-wrap
msgid "{Data Type} unbound-zone"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:35022
#, fuzzy
msgid "Available @code{unbound-zone} fields are:"
msgstr "{数据类型} build-machine"

#. type: table
#: guix-git/doc/guix.texi:35026
#, fuzzy
msgid "Zone name."
msgstr "仓库monad"

#. type: item
#: guix-git/doc/guix.texi:35027
#, fuzzy, no-wrap
msgid "@code{forward-addr} (type: maybe-list-of-strings)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35029
#, fuzzy
msgid "IP address of server to forward to."
msgstr "要转发到的服务器的 IP 地址。"

#. type: item
#: guix-git/doc/guix.texi:35030
#, fuzzy, no-wrap
msgid "@code{forward-tls-upstream} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35032
#, fuzzy
msgid "Whether the queries to this forwarder use TLS for transport."
msgstr "此转发器的查询是否使用 TLS 进行传输。"

#. type: cindex
#: guix-git/doc/guix.texi:35041
#, fuzzy, no-wrap
msgid "VNC (virtual network computing)"
msgstr "VNC(虚拟网络计算)"

#. type: cindex
#: guix-git/doc/guix.texi:35042
#, fuzzy, no-wrap
msgid "XDMCP (x display manager control protocol)"
msgstr "XDMCP(X 显示管理器控制协议)"

#. type: Plain text
#: guix-git/doc/guix.texi:35051
#, fuzzy
msgid "The @code{(gnu services vnc)} module provides services related to @dfn{Virtual Network Computing} (VNC), which makes it possible to locally use graphical Xorg applications running on a remote machine.  Combined with a graphical manager that supports the @dfn{X Display Manager Control Protocol}, such as GDM (@pxref{gdm}) or LightDM (@pxref{lightdm}), it is possible to remote an entire desktop for a multi-user environment."
msgstr "@code{(gnu services vnc)} 模块提供与 @dfn{虚拟网络计算}(VNC)相关的服务,使得可以在本地使用在远程机器上运行的图形 Xorg 应用程序。结合支持 @dfn{X 显示管理器控制协议} 的图形管理器,如 GDM (@pxref{gdm}) 或 LightDM (@pxref{lightdm}),可以为多用户环境远程访问整个桌面。"

#. type: subsubheading
#: guix-git/doc/guix.texi:35052
#, fuzzy, no-wrap
msgid "Xvnc"
msgstr "Xvnc"

#. type: Plain text
#: guix-git/doc/guix.texi:35057
#, fuzzy
msgid "Xvnc is a VNC server that spawns its own X window server; which means it can run on headless servers.  The Xvnc implementations provided by the @code{tigervnc-server} and @code{turbovnc} aim to be fast and efficient."
msgstr "Xvnc 是一个 VNC 服务器,它生成自己的 X 窗口服务器;这意味着它可以在无头服务器上运行。@code{tigervnc-server} 和 @code{turbovnc} 提供的 Xvnc 实现旨在快速高效。"

#. type: defvar
#: guix-git/doc/guix.texi:35058
#, fuzzy, no-wrap
msgid "xvnc-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35064
#, fuzzy
msgid "The @code{xvnc-service-type} service can be configured via the @code{xvnc-configuration} record, documented below.  A second virtual display could be made available on a remote machine via the following configuration:"
msgstr "@code{xvnc-service-type} 服务可以通过下面文档中的 @code{xvnc-configuration} 记录进行配置。可以通过以下配置在远程机器上提供第二个虚拟显示:"

#. type: lisp
#: guix-git/doc/guix.texi:35069
#, no-wrap
msgid ""
"(service xvnc-service-type\n"
"         (xvnc-configuration (display-number 10)))\n"
msgstr ""
"(service xvnc-service-type\n"
"         (xvnc-configuration (display-number 10)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:35074
#, fuzzy
msgid "As a demonstration, the @command{xclock} command could then be started on the remote machine on display number 10, and it could be displayed locally via the @command{vncviewer} command:"
msgstr "作为演示,@command{xclock} 命令可以在远程机器的显示编号 10 上启动,并可以通过 @command{vncviewer} 命令在本地显示:"

#. type: example
#: guix-git/doc/guix.texi:35080
#, fuzzy, no-wrap
msgid ""
"# Start xclock on the remote machine.\n"
"ssh -L5910:localhost:5910 @var{your-host} -- guix shell xclock \\\n"
"    -- env DISPLAY=:10 xclock\n"
"# Access it via VNC.\n"
"guix shell tigervnc-client -- vncviewer localhost:5910\n"
msgstr ""
"# 在远程机器上启动 xclock。\n"
"ssh -L5910:localhost:5910 @var{your-host} -- guix shell xclock \\\n"
"    -- env DISPLAY=:10 xclock\n"
"# 通过 VNC 访问它。\n"
"guix shell tigervnc-client -- vncviewer localhost:5910\n"

#. type: Plain text
#: guix-git/doc/guix.texi:35085
#, fuzzy
msgid "The following configuration combines XDMCP and Inetd to allow multiple users to concurrently use the remote system and login graphically via the GDM display manager:"
msgstr "以下配置结合了XDMCP和Inetd,以允许多个用户同时使用远程系统并通过GDM显示管理器图形登录:"

#. type: lisp
#: guix-git/doc/guix.texi:35101
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  [...]\n"
"  (services (cons*\n"
"             [...]\n"
"             (service xvnc-service-type (xvnc-configuration\n"
"                                         (display-number 5)\n"
"                                         (localhost? #f)\n"
"                                         (xdmcp? #t)\n"
"                                         (inetd? #t)))\n"
"             (modify-services %desktop-services\n"
"               (gdm-service-type config => (gdm-configuration\n"
"                                            (inherit config)\n"
"                                            (auto-suspend? #f)\n"
"                                            (xdmcp? #t)))))))\n"
msgstr ""
"(操作系统\n"
"  [...]\n"
"  (服务 (cons*\n"
"             [...]\n"
"             (服务 xvnc-service-type (xvnc-configuration\n"
"                                         (display-number 5)\n"
"                                         (localhost? #f)\n"
"                                         (xdmcp? #t)\n"
"                                         (inetd? #t)))\n"
"             (modify-services %desktop-services\n"
"               (gdm-service-type config => (gdm-configuration\n"
"                                            (inherit config)\n"
"                                            (auto-suspend? #f)\n"
"                                            (xdmcp? #t)))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:35106
#, fuzzy
msgid "A remote user could then connect to it by using the @command{vncviewer} command or a compatible VNC client and start a desktop session of their choosing:"
msgstr "远程用户可以通过使用@command{vncviewer}命令或兼容的VNC客户端连接到它,并启动他们选择的桌面会话:"

#. type: example
#: guix-git/doc/guix.texi:35108
#, fuzzy, no-wrap
msgid "vncviewer remote-host:5905\n"
msgstr "vncviewer remote-host:5905\n"

#. type: quotation
#: guix-git/doc/guix.texi:35118
#, fuzzy
msgid "Unless your machine is in a controlled environment, for security reasons, the @code{localhost?} configuration of the @code{xvnc-configuration} record should be left to its default @code{#t} value and exposed via a secure means such as an SSH port forward.  The XDMCP port, UDP 177 should also be blocked from the outside by a firewall, as it is not a secure protocol and can expose login credentials in clear."
msgstr "除非您的机器处于受控环境中,否则出于安全原因,@code{localhost?}配置的@code{xvnc-configuration}记录应保持其默认@code{#t}值,并通过安全手段(如SSH端口转发)进行暴露。XDMCP端口UDP 177也应通过防火墙从外部阻止,因为这不是安全协议,可能会以明文形式暴露登录凭据。"

#. type: deftp
#: guix-git/doc/guix.texi:35123
#, fuzzy, no-wrap
msgid "{Data Type} xvnc-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:35125
#, fuzzy
msgid "Available @code{xvnc-configuration} fields are:"
msgstr "可用的@code{xvnc-configuration}字段包括:"

#. type: item
#: guix-git/doc/guix.texi:35127
#, fuzzy, no-wrap
msgid "@code{xvnc} (default: @code{tigervnc-server}) (type: file-like)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35129
#, fuzzy
msgid "The package that provides the Xvnc binary."
msgstr "提供Xvnc二进制文件的包。"

#. type: item
#: guix-git/doc/guix.texi:35130
#, fuzzy, no-wrap
msgid "@code{display-number} (default: @code{0}) (type: number)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35133
#, fuzzy
msgid "The display number used by Xvnc.  You should set this to a number not already used a Xorg server."
msgstr "Xvnc使用的显示编号。您应该将其设置为未被Xorg服务器使用的数字。"

#. type: item
#: guix-git/doc/guix.texi:35134
#, fuzzy, no-wrap
msgid "@code{geometry} (default: @code{\"1024x768\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35136
#, fuzzy
msgid "The size of the desktop to be created."
msgstr "这个用户手册的许可证。"

#. type: item
#: guix-git/doc/guix.texi:35137
#, fuzzy, no-wrap
msgid "@code{depth} (default: @code{24}) (type: color-depth)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35140
#, fuzzy
msgid "The pixel depth in bits of the desktop to be created.  Accepted values are 16, 24 or 32."
msgstr "要创建的桌面的像素深度(以位为单位)。接受的值为16、24或32。"

#. type: item
#: guix-git/doc/guix.texi:35141
#, fuzzy, no-wrap
msgid "@code{port} (type: maybe-port)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35144
#, fuzzy
msgid "The port on which to listen for connections from viewers.  When left unspecified, it defaults to 5900 plus the display number."
msgstr "监听来自查看器的连接的端口。当未指定时,默认为5900加上显示编号。"

#. type: item
#: guix-git/doc/guix.texi:35145
#, fuzzy, no-wrap
msgid "@code{ipv4?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35147
#, fuzzy
msgid "Use IPv4 for incoming and outgoing connections."
msgstr "对传入和传出的连接使用IPv4。"

#. type: item
#: guix-git/doc/guix.texi:35148
#, fuzzy, no-wrap
msgid "@code{ipv6?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35150
#, fuzzy
msgid "Use IPv6 for incoming and outgoing connections."
msgstr "对传入和传出的连接使用IPv6。"

#. type: item
#: guix-git/doc/guix.texi:35151
#, fuzzy, no-wrap
msgid "@code{password-file} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35154
#, fuzzy
msgid "The password file to use, if any.  Refer to vncpasswd(1) to learn how to generate such a file."
msgstr "要使用的密码文件(如果有)。请参考vncpasswd(1)以了解如何生成此类文件。"

#. type: table
#: guix-git/doc/guix.texi:35161
#, fuzzy
msgid "Query the XDMCP server for a session.  This enables users to log in a desktop session from the login manager screen.  For a multiple users scenario, you'll want to enable the @code{inetd?} option as well, so that each connection to the VNC server is handled separately rather than shared."
msgstr "查询XDMCP服务器以获取会话。这使用户能够从登录管理器屏幕登录桌面会话。对于多个用户的场景,您还需要启用@code{inetd?}选项,以便每个连接到VNC服务器的连接单独处理,而不是共享。"

#. type: item
#: guix-git/doc/guix.texi:35162
#, fuzzy, no-wrap
msgid "@code{inetd?} (default: @code{#f}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35164
#, fuzzy
msgid "Use an Inetd-style service, which runs the Xvnc server on demand."
msgstr "使用 Inetd 风格的服务,根据需要运行 Xvnc 服务器。"

#. type: item
#: guix-git/doc/guix.texi:35165
#, fuzzy, no-wrap
msgid "@code{frame-rate} (default: @code{60}) (type: number)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35167
#, fuzzy
msgid "The maximum number of updates per second sent to each client."
msgstr "发送到每个客户端的最大更新次数。"

#. type: item
#: guix-git/doc/guix.texi:35168
#, fuzzy, no-wrap
msgid "@code{security-types} (default: @code{'(\"None\")}) (type: security-types)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35174
#, fuzzy
msgid "The allowed security schemes to use for incoming connections.  The default is \"None\", which is safe given that Xvnc is configured to authenticate the user via the display manager, and only for local connections.  Accepted values are any of the following: (\"None\" \"VncAuth\" \"Plain\" \"TLSNone\" \"TLSVnc\" \"TLSPlain\" \"X509None\" \"X509Vnc\")"
msgstr "允许用于传入连接的安全方案。默认值为“None”,这在 Xvnc 配置为通过显示管理器进行用户身份验证且仅用于本地连接时是安全的。接受的值包括以下任意值:(“None” “VncAuth” “Plain” “TLSNone” “TLSVnc” “TLSPlain” “X509None” “X509Vnc”)"

#. type: item
#: guix-git/doc/guix.texi:35175
#, fuzzy, no-wrap
msgid "@code{localhost?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35179
#, fuzzy
msgid "Only allow connections from the same machine.  It is set to #true by default for security, which means SSH or another secure means should be used to expose the remote port."
msgstr "仅允许来自同一台机器的连接。默认情况下出于安全原因设置为 #true,这意味着应该使用 SSH 或其他安全方式来暴露远程端口。"

#. type: item
#: guix-git/doc/guix.texi:35180
#, fuzzy, no-wrap
msgid "@code{log-level} (default: @code{30}) (type: log-level)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35183
#, fuzzy
msgid "The log level, a number between 0 and 100, 100 meaning most verbose output.  The log messages are output to syslog."
msgstr "日志级别,介于 0 和 100 之间,100 表示输出最详细。日志消息输出到 syslog。"

#. type: item
#: guix-git/doc/guix.texi:35184
#, fuzzy, no-wrap
msgid "@code{extra-options} (default: @code{'()}) (type: strings)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:35187
#, fuzzy
msgid "This can be used to provide extra Xvnc options not exposed via this <xvnc-configuration> record."
msgstr "这可以用来提供通过此 <xvnc-configuration> 记录未暴露的额外 Xvnc 选项。"

#. type: cindex
#: guix-git/doc/guix.texi:35195
#, fuzzy, no-wrap
msgid "VPN (virtual private network)"
msgstr "VPN(虚拟私人网络)"

#. type: cindex
#: guix-git/doc/guix.texi:35196
#, fuzzy, no-wrap
msgid "virtual private network (VPN)"
msgstr "虚拟私人网络(VPN)"

#. type: Plain text
#: guix-git/doc/guix.texi:35200
#, fuzzy
msgid "The @code{(gnu services vpn)} module provides services related to @dfn{virtual private networks} (VPNs)."
msgstr "@code{(gnu services vpn)} 模块提供与 @dfn{虚拟私人网络}(VPN)相关的服务。"

#. type: subsubheading
#: guix-git/doc/guix.texi:35201
#, fuzzy, no-wrap
msgid "Bitmask"
msgstr "掩码"

#. type: defvar
#: guix-git/doc/guix.texi:35203
#, fuzzy, no-wrap
msgid "bitmask-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35208
#, fuzzy
msgid "A service type for the @uref{https://bitmask.net, Bitmask} VPN client.  It makes the client available in the system and loads its polkit policy.  Please note that the client expects an active polkit-agent, which is either run by your desktop-environment or should be run manually."
msgstr "@uref{https://bitmask.net, Bitmask} VPN 客户端的服务类型。它使客户端在系统中可用并加载其 polkit 策略。请注意,客户端期望一个活动的 polkit-agent,该代理要么由您的桌面环境运行,要么应手动运行。"

#. type: subsubheading
#: guix-git/doc/guix.texi:35210
#, fuzzy, no-wrap
msgid "OpenVPN"
msgstr "OpenVPN"

#. type: Plain text
#: guix-git/doc/guix.texi:35216
#, fuzzy
msgid "It provides a @emph{client} service for your machine to connect to a VPN, and a @emph{server} service for your machine to host a VPN@.  Both @code{openvpn-client-service-type} and @code{openvpn-server-service-type} can be run simultaneously."
msgstr "它为您的机器提供 @emph{客户端} 服务以连接到 VPN,以及为您的机器提供 @emph{服务器} 服务以托管 VPN@。@code{openvpn-client-service-type} 和 @code{openvpn-server-service-type} 可以同时运行。"

#. type: defvar
#: guix-git/doc/guix.texi:35217
#, fuzzy, no-wrap
msgid "openvpn-client-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35219
#, fuzzy
msgid "Type of the service that runs @command{openvpn}, a VPN daemon, as a client."
msgstr "作为客户端运行 @command{openvpn} 的服务类型,一个 VPN 守护进程。"

#. type: defvar
#: guix-git/doc/guix.texi:35222
#, fuzzy
msgid "The value for this service is a @code{<openvpn-client-configuration>} object."
msgstr "此服务的值是一个 @code{<openvpn-client-configuration>} 对象。"

#. type: defvar
#: guix-git/doc/guix.texi:35224
#, fuzzy, no-wrap
msgid "openvpn-server-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35226
#, fuzzy
msgid "Type of the service that runs @command{openvpn}, a VPN daemon, as a server."
msgstr "作为服务器运行 @command{openvpn} 的服务类型,一个 VPN 守护进程。"

#. type: defvar
#: guix-git/doc/guix.texi:35229
#, fuzzy
msgid "The value for this service is a @code{<openvpn-server-configuration>} object."
msgstr "此服务的值是一个 @code{<openvpn-server-configuration>} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:35233
#, fuzzy, no-wrap
msgid "{Data Type} openvpn-client-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:35235
#, fuzzy
msgid "Available @code{openvpn-client-configuration} fields are:"
msgstr "可用的 @code{openvpn-client-configuration} 字段包括:"

#. type: item
#: guix-git/doc/guix.texi:35237 guix-git/doc/guix.texi:35325
#, fuzzy, no-wrap
msgid "@code{openvpn} (default: @code{openvpn}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:35239 guix-git/doc/guix.texi:35327
#, fuzzy
msgid "The OpenVPN package."
msgstr "OpenVPN 包。"

#. type: item
#: guix-git/doc/guix.texi:35240 guix-git/doc/guix.texi:35328
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/var/run/openvpn/openvpn.pid\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35242 guix-git/doc/guix.texi:35330
#, fuzzy
msgid "The OpenVPN pid file."
msgstr "OpenVPN pid 文件。"

#. type: item
#: guix-git/doc/guix.texi:35243 guix-git/doc/guix.texi:35331
#, fuzzy, no-wrap
msgid "@code{proto} (default: @code{udp}) (type: proto)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35246 guix-git/doc/guix.texi:35334
#, fuzzy
msgid "The protocol (UDP or TCP) used to open a channel between clients and servers."
msgstr "用于在客户端和服务器之间打开通道的协议(UDP 或 TCP)。"

#. type: item
#: guix-git/doc/guix.texi:35247 guix-git/doc/guix.texi:35335
#, fuzzy, no-wrap
msgid "@code{dev} (default: @code{tun}) (type: dev)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35249 guix-git/doc/guix.texi:35337
#, fuzzy
msgid "The device type used to represent the VPN connection."
msgstr "用于表示VPN连接的设备类型。"

#. type: item
#: guix-git/doc/guix.texi:35250 guix-git/doc/guix.texi:35338
#, fuzzy, no-wrap
msgid "@code{ca} (default: @code{\"/etc/openvpn/ca.crt\"}) (type: maybe-string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:35252 guix-git/doc/guix.texi:35340
#, fuzzy
msgid "The certificate authority to check connections against."
msgstr "检查连接的证书颁发机构。"

#. type: item
#: guix-git/doc/guix.texi:35253 guix-git/doc/guix.texi:35341
#, fuzzy, no-wrap
msgid "@code{cert} (default: @code{\"/etc/openvpn/client.crt\"}) (type: maybe-string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:35256 guix-git/doc/guix.texi:35344
#, fuzzy
msgid "The certificate of the machine the daemon is running on.  It should be signed by the authority given in @code{ca}."
msgstr "运行守护进程的机器的证书。它应该由@code{ca}中给出的机构签名。"

#. type: item
#: guix-git/doc/guix.texi:35257 guix-git/doc/guix.texi:35345
#, fuzzy, no-wrap
msgid "@code{key} (default: @code{\"/etc/openvpn/client.key\"}) (type: maybe-string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:35260 guix-git/doc/guix.texi:35348
#, fuzzy
msgid "The key of the machine the daemon is running on.  It must be the key whose certificate is @code{cert}."
msgstr "运行守护进程的机器的密钥。它必须是证书为@code{cert}的密钥。"

#. type: item
#: guix-git/doc/guix.texi:35261 guix-git/doc/guix.texi:35349
#, fuzzy, no-wrap
msgid "@code{comp-lzo?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35263 guix-git/doc/guix.texi:35351
#, fuzzy
msgid "Whether to use the lzo compression algorithm."
msgstr "是否使用lzo压缩算法。"

#. type: item
#: guix-git/doc/guix.texi:35264 guix-git/doc/guix.texi:35352
#, fuzzy, no-wrap
msgid "@code{persist-key?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35266 guix-git/doc/guix.texi:35354
#, fuzzy
msgid "Don't re-read key files across SIGUSR1 or --ping-restart."
msgstr "在SIGUSR1或--ping-restart期间不要重新读取密钥文件。"

#. type: item
#: guix-git/doc/guix.texi:35267 guix-git/doc/guix.texi:35355
#, fuzzy, no-wrap
msgid "@code{persist-tun?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35270 guix-git/doc/guix.texi:35358
#, fuzzy
msgid "Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 or --ping-restart restarts."
msgstr "在SIGUSR1或--ping-restart重启期间,不要关闭和重新打开TUN/TAP设备或运行上下文脚本。"

#. type: item
#: guix-git/doc/guix.texi:35271 guix-git/doc/guix.texi:35359
#, fuzzy, no-wrap
msgid "@code{fast-io?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35274 guix-git/doc/guix.texi:35362
#, fuzzy
msgid "(Experimental) Optimize TUN/TAP/UDP I/O writes by avoiding a call to poll/epoll/select prior to the write operation."
msgstr "(实验性)通过避免在写操作之前调用poll/epoll/select来优化TUN/TAP/UDP I/O写入。"

#. type: item
#: guix-git/doc/guix.texi:35275 guix-git/doc/guix.texi:35363
#, fuzzy, no-wrap
msgid "@code{verbosity} (default: @code{3}) (type: number)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35277 guix-git/doc/guix.texi:35365
#, fuzzy
msgid "Verbosity level."
msgstr "详细级别。"

#. type: item
#: guix-git/doc/guix.texi:35278
#, fuzzy, no-wrap
msgid "@code{tls-auth} (default: @code{#f}) (type: tls-auth-client)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35281 guix-git/doc/guix.texi:35369
#, fuzzy
msgid "Add an additional layer of HMAC authentication on top of the TLS control channel to protect against DoS attacks."
msgstr "在TLS控制通道上添加额外的HMAC认证层,以防止DoS攻击。"

#. type: item
#: guix-git/doc/guix.texi:35282
#, fuzzy, no-wrap
msgid "@code{auth-user-pass} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35286
#, fuzzy
msgid "Authenticate with server using username/password.  The option is a file containing username/password on 2 lines.  Do not use a file-like object as it would be added to the store and readable by any user."
msgstr "使用用户名/密码与服务器进行身份验证。该选项是一个包含用户名/密码的文件,分为两行。请勿使用类文件对象,因为它将被添加到存储中并可被任何用户读取。"

#. type: item
#: guix-git/doc/guix.texi:35287
#, fuzzy, no-wrap
msgid "@code{verify-key-usage?} (default: @code{#t}) (type: key-usage)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:35289
#, fuzzy
msgid "Whether to check the server certificate has server usage extension."
msgstr "是否检查服务器证书是否具有服务器使用扩展。"

#. type: item
#: guix-git/doc/guix.texi:35290
#, fuzzy, no-wrap
msgid "@code{bind?} (default: @code{#f}) (type: bind)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35292
#, fuzzy
msgid "Bind to a specific local port number."
msgstr "绑定到特定的本地端口号。"

#. type: item
#: guix-git/doc/guix.texi:35293
#, fuzzy, no-wrap
msgid "@code{resolv-retry?} (default: @code{#t}) (type: resolv-retry)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35295
#, fuzzy
msgid "Retry resolving server address."
msgstr "重试解析服务器地址。"

#. type: item
#: guix-git/doc/guix.texi:35296
#, fuzzy, no-wrap
msgid "@code{remote} (default: @code{'()}) (type: openvpn-remote-list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35298
#, fuzzy
msgid "A list of remote servers to connect to."
msgstr "要连接的远程服务器列表。"

#. type: deftp
#: guix-git/doc/guix.texi:35299
#, fuzzy, no-wrap
msgid "{Data Type} openvpn-remote-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:35301
#, fuzzy
msgid "Available @code{openvpn-remote-configuration} fields are:"
msgstr "可用的@code{openvpn-remote-configuration}字段有:"

#. type: item
#: guix-git/doc/guix.texi:35303
#, fuzzy, no-wrap
msgid "@code{name} (default: @code{\"my-server\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35305
#, fuzzy
msgid "Server name."
msgstr "服务器名称。"

#. type: item
#: guix-git/doc/guix.texi:35306 guix-git/doc/guix.texi:35370
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{1194}) (type: number)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35308
#, fuzzy
msgid "Port number the server listens to."
msgstr "服务器监听的端口号。"

#. type: deftp
#: guix-git/doc/guix.texi:35321
#, fuzzy, no-wrap
msgid "{Data Type} openvpn-server-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:35323
#, fuzzy
msgid "Available @code{openvpn-server-configuration} fields are:"
msgstr "可用的@code{openvpn-server-configuration}字段有:"

#. type: item
#: guix-git/doc/guix.texi:35366
#, fuzzy, no-wrap
msgid "@code{tls-auth} (default: @code{#f}) (type: tls-auth-server)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35372
#, fuzzy
msgid "Specifies the port number on which the server listens."
msgstr "指定服务器监听的端口号。"

#. type: item
#: guix-git/doc/guix.texi:35373
#, fuzzy, no-wrap
msgid "@code{server} (default: @code{\"10.8.0.0 255.255.255.0\"}) (type: ip-mask)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35375
#, fuzzy
msgid "An ip and mask specifying the subnet inside the virtual network."
msgstr "指定虚拟网络内部子网的IP和掩码。"

#. type: item
#: guix-git/doc/guix.texi:35376
#, fuzzy, no-wrap
msgid "@code{server-ipv6} (default: @code{#f}) (type: cidr6)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35378
#, fuzzy
msgid "A CIDR notation specifying the IPv6 subnet inside the virtual network."
msgstr "指定虚拟网络内部IPv6子网的CIDR表示法。"

#. type: item
#: guix-git/doc/guix.texi:35379
#, fuzzy, no-wrap
msgid "@code{dh} (default: @code{\"/etc/openvpn/dh2048.pem\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:35381
#, fuzzy
msgid "The Diffie-Hellman parameters file."
msgstr "Diffie-Hellman参数文件。"

#. type: item
#: guix-git/doc/guix.texi:35382
#, fuzzy, no-wrap
msgid "@code{ifconfig-pool-persist} (default: @code{\"/etc/openvpn/ipp.txt\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35384
#, fuzzy
msgid "The file that records client IPs."
msgstr "记录客户端IP的文件。"

#. type: item
#: guix-git/doc/guix.texi:35385
#, fuzzy, no-wrap
msgid "@code{redirect-gateway?} (default: @code{#f}) (type: gateway)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35387
#, fuzzy
msgid "When true, the server will act as a gateway for its clients."
msgstr "当为真时,服务器将作为其客户端的网关。"

#. type: item
#: guix-git/doc/guix.texi:35388
#, fuzzy, no-wrap
msgid "@code{client-to-client?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35390
#, fuzzy
msgid "When true, clients are allowed to talk to each other inside the VPN."
msgstr "当为真时,允许客户端在VPN内部相互通信。"

#. type: item
#: guix-git/doc/guix.texi:35391
#, fuzzy, no-wrap
msgid "@code{keepalive} (default: @code{(10 120)}) (type: keepalive)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35397
#, fuzzy
msgid "Causes ping-like messages to be sent back and forth over the link so that each side knows when the other side has gone down.  @code{keepalive} requires a pair.  The first element is the period of the ping sending, and the second element is the timeout before considering the other side down."
msgstr "导致类似ping的消息在链路上来回发送,以便每一方知道另一方何时已断开。@code{keepalive}需要一对。第一个元素是发送ping的周期,第二个元素是在考虑另一方断开之前的超时。"

#. type: item
#: guix-git/doc/guix.texi:35398
#, fuzzy, no-wrap
msgid "@code{max-clients} (default: @code{100}) (type: number)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35400
#, fuzzy
msgid "The maximum number of clients."
msgstr "最大客户端数量。"

#. type: item
#: guix-git/doc/guix.texi:35401
#, fuzzy, no-wrap
msgid "@code{status} (default: @code{\"/var/run/openvpn/status\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:35404
#, fuzzy
msgid "The status file.  This file shows a small report on current connection.  It is truncated and rewritten every minute."
msgstr "状态文件。该文件显示当前连接的小报告。它每分钟被截断并重写。"

#. type: item
#: guix-git/doc/guix.texi:35405
#, fuzzy, no-wrap
msgid "@code{client-config-dir} (default: @code{'()}) (type: openvpn-ccd-list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35407
#, fuzzy
msgid "The list of configuration for some clients."
msgstr "某些客户端的配置列表。"

#. type: subheading
#: guix-git/doc/guix.texi:35414
#, fuzzy, no-wrap
msgid "strongSwan"
msgstr "strongSwan"

#. type: Plain text
#: guix-git/doc/guix.texi:35418
#, fuzzy
msgid "Currently, the strongSwan service only provides legacy-style configuration with @file{ipsec.conf} and @file{ipsec.secrets} files."
msgstr "目前,strongSwan 服务仅提供使用 @file{ipsec.conf} 和 @file{ipsec.secrets} 文件的传统配置。"

#. type: defvar
#: guix-git/doc/guix.texi:35419
#, fuzzy, no-wrap
msgid "strongswan-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35423
#, fuzzy
msgid "A service type for configuring strongSwan for IPsec @acronym{VPN, Virtual Private Networking}.  Its value must be a @code{strongswan-configuration} record as in this example:"
msgstr "用于配置 strongSwan 的 IPsec @acronym{VPN, 虚拟专用网络} 的服务类型。其值必须是 @code{strongswan-configuration} 记录,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:35429
#, fuzzy, no-wrap
msgid ""
"(service strongswan-service-type\n"
"         (strongswan-configuration\n"
"          (ipsec-conf \"/etc/ipsec.conf\")\n"
"          (ipsec-secrets \"/etc/ipsec.secrets\")))\n"
msgstr ""
"(service strongswan-service-type\n"
"         (strongswan-configuration\n"
"          (ipsec-conf \"/etc/ipsec.conf\")\n"
"          (ipsec-secrets \"/etc/ipsec.secrets\")))\n"

#. type: deftp
#: guix-git/doc/guix.texi:35433
#, fuzzy, no-wrap
msgid "{Data Type} strongswan-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:35435
#, fuzzy
msgid "Data type representing the configuration of the StrongSwan service."
msgstr "管理操作系统配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:35437
#, fuzzy, no-wrap
msgid "strongswan"
msgstr "strongswan"

#. type: table
#: guix-git/doc/guix.texi:35439
#, fuzzy
msgid "The strongSwan package to use for this service."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:35440
#, fuzzy, no-wrap
msgid "@code{ipsec-conf} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35443
#, fuzzy
msgid "The file name of your @file{ipsec.conf}.  If not @code{#f}, then this and @code{ipsec-secrets} must both be strings."
msgstr "您的 @file{ipsec.conf} 的文件名。如果不是 @code{#f},则此项和 @code{ipsec-secrets} 必须都是字符串。"

#. type: item
#: guix-git/doc/guix.texi:35444
#, fuzzy, no-wrap
msgid "@code{ipsec-secrets} (default @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35447
#, fuzzy
msgid "The file name of your @file{ipsec.secrets}.  If not @code{#f}, then this and @code{ipsec-conf} must both be strings."
msgstr "您的 @file{ipsec.secrets} 的文件名。如果不是 @code{#f},则此项和 @code{ipsec-conf} 必须都是字符串。"

#. type: subsubheading
#: guix-git/doc/guix.texi:35451
#, fuzzy, no-wrap
msgid "Wireguard"
msgstr "Wireguard"

#. type: defvar
#: guix-git/doc/guix.texi:35453
#, fuzzy, no-wrap
msgid "wireguard-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35456
#, fuzzy
msgid "A service type for a Wireguard tunnel interface.  Its value must be a @code{wireguard-configuration} record as in this example:"
msgstr "用于 Wireguard 隧道接口的服务类型。其值必须是 @code{wireguard-configuration} 记录,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:35467
#, fuzzy, no-wrap
msgid ""
"(service wireguard-service-type\n"
"         (wireguard-configuration\n"
"          (peers\n"
"           (list\n"
"            (wireguard-peer\n"
"             (name \"my-peer\")\n"
"             (endpoint \"my.wireguard.com:51820\")\n"
"             (public-key \"hzpKg9X1yqu1axN6iJp0mWf6BZGo8m1wteKwtTmDGF4=\")\n"
"             (allowed-ips '(\"10.0.0.2/32\")))))))\n"
msgstr ""
"(service wireguard-service-type\n"
"         (wireguard-configuration\n"
"          (peers\n"
"           (list\n"
"            (wireguard-peer\n"
"             (name \"my-peer\")\n"
"             (endpoint \"my.wireguard.com:51820\")\n"
"             (public-key \"hzpKg9X1yqu1axN6iJp0mWf6BZGo8m1wteKwtTmDGF4=\")\n"
"             (allowed-ips '(\"10.0.0.2/32\")))))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:35471
#, fuzzy, no-wrap
msgid "{Data Type} wireguard-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:35473
#, fuzzy
msgid "Data type representing the configuration of the Wireguard service."
msgstr "管理操作系统配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:35475
#, fuzzy, no-wrap
msgid "wireguard"
msgstr "wireguard"

#. type: table
#: guix-git/doc/guix.texi:35477
#, fuzzy
msgid "The wireguard package to use for this service."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:35478
#, fuzzy, no-wrap
msgid "@code{interface} (default: @code{\"wg0\"})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:35480
#, fuzzy
msgid "The interface name for the VPN."
msgstr "VPN 的接口名称。"

#. type: item
#: guix-git/doc/guix.texi:35481
#, fuzzy, no-wrap
msgid "@code{addresses} (default: @code{'(\"10.0.0.1/32\")})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:35484
#, fuzzy
msgid "List of strings or G-expressions which represent the IP addresses to be assigned to the above interface."
msgstr "表示要分配给上述接口的 IP 地址的字符串或 G 表达式列表。"

#. type: item
#: guix-git/doc/guix.texi:35485
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{51820})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35487
#, fuzzy
msgid "The port on which to listen for incoming connections."
msgstr "监听传入连接的端口。"

#. type: item
#: guix-git/doc/guix.texi:35488
#, fuzzy, no-wrap
msgid "@code{dns} (default: @code{'())})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35491
#, fuzzy
msgid "List of strings or G-expressions which represent the DNS server(s) to announce to VPN clients via DHCP."
msgstr "表示通过 DHCP 向 VPN 客户端宣布的 DNS 服务器的字符串或 G 表达式列表。"

#. type: item
#: guix-git/doc/guix.texi:35492
#, fuzzy, no-wrap
msgid "@code{monitor-ips?} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: cindex
#: guix-git/doc/guix.texi:35493
#, fuzzy, no-wrap
msgid "Dynamic IP, with Wireguard"
msgstr "动态 IP,使用 Wireguard"

#. type: cindex
#: guix-git/doc/guix.texi:35494
#, fuzzy, no-wrap
msgid "dyndns, usage with Wireguard"
msgstr "dyndns,使用 Wireguard"

#. type: table
#: guix-git/doc/guix.texi:35500
#, fuzzy
msgid "Whether to monitor the resolved Internet addresses (IPs) of the endpoints of the configured peers, resetting the peer endpoints using an IP address that no longer correspond to their freshly resolved host name.  Set this to @code{#t} if one or more endpoints use host names provided by a dynamic DNS service to keep the sessions alive."
msgstr "是否监控配置的对等端的解析互联网地址 (IPs),使用不再对应其新解析主机名的 IP 地址重置对等端。 如果一个或多个对等端使用动态 DNS 服务提供的主机名以保持会话活跃,请将此设置为 @code{#t}。"

#. type: item
#: guix-git/doc/guix.texi:35501
#, fuzzy, no-wrap
msgid "@code{monitor-ips-interval} (default: @code{'(next-minute (range 0 60 5))})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35504
#, fuzzy
msgid "The time interval at which the IP monitoring job should run, provided as an mcron time specification (@pxref{Guile Syntax,,,mcron})."
msgstr "IP 监控作业应运行的时间间隔,以 mcron 时间规范提供(@pxref{Guile Syntax,,,mcron})。"

#. type: item
#: guix-git/doc/guix.texi:35505
#, fuzzy, no-wrap
msgid "@code{private-key} (default: @code{\"/etc/wireguard/private.key\"})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35510
#, fuzzy
msgid "The private key file for the interface.  It is automatically generated if the file does not exist.  If this field is @code{#f}, a private key is not automatically created and the path is not serialized to the configuration file."
msgstr "接口的私钥文件。如果文件不存在,则会自动生成。如果此字段为 @code{#f},则不会自动创建私钥,并且路径不会序列化到配置文件中。"

#. type: item
#: guix-git/doc/guix.texi:35511
#, fuzzy, no-wrap
msgid "@code{bootstrap-private-key?} (default: @code{#t})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35514
#, fuzzy
msgid "Whether or not the private key should be generated automatically if it does not exist."
msgstr "如果私钥不存在,是否应该自动生成私钥。"

#. type: table
#: guix-git/doc/guix.texi:35519
#, fuzzy
msgid "Setting this to @code{#f} allows one to set the private key using command substitution.  One example shown in the @code{wg-quick(8)} manual is retrieving a private key using @code{password-store}.  This can be achieved with the following code:"
msgstr "将此设置为 @code{#f} 允许通过命令替换设置私钥。在 @code{wg-quick(8)} 手册中显示的一个示例是使用 @code{password-store} 检索私钥。这可以通过以下代码实现:"

#. type: lisp
#: guix-git/doc/guix.texi:35527
#, fuzzy, no-wrap
msgid ""
"(wireguard-configuration\n"
" (private-key\n"
"  #~(string-append \"<(\"\n"
"                   #$(file-append password-store \"/bin/pass\")\n"
"                   ;; Wireguard replaces %i with the interface name.\n"
"                   \" WireGuard/private-keys/%i)\")))\n"
msgstr ""
"(wireguard-configuration\n"
" (private-key\n"
"  #~(string-append \"<(\"\n"
"                   #$(file-append password-store \"/bin/pass\")\n"
"                   ;; Wireguard 用 %i 替换接口名称。\n"
"                   \" WireGuard/private-keys/%i)\")))\n"

#. type: item
#: guix-git/doc/guix.texi:35530
#, fuzzy, no-wrap
msgid "@code{peers} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35533
#, fuzzy
msgid "The authorized peers on this interface.  This is a list of @var{wireguard-peer} records."
msgstr "此接口上的授权对等方。这是一个 @var{wireguard-peer} 记录的列表。"

#. type: item
#: guix-git/doc/guix.texi:35534
#, fuzzy, no-wrap
msgid "@code{pre-up} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35537
#, fuzzy
msgid "List of strings or G-expressions.  These are script snippets which will be executed before setting up the interface."
msgstr "字符串或 G 表达式的列表。这些是将在设置接口之前执行的脚本片段。"

#. type: item
#: guix-git/doc/guix.texi:35538
#, fuzzy, no-wrap
msgid "@code{post-up} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35541
#, fuzzy
msgid "List of strings or G-expressions.  These are script snippets which will be executed after setting up the interface."
msgstr "字符串或 G 表达式的列表。这些是将在设置接口之后执行的脚本片段。"

#. type: item
#: guix-git/doc/guix.texi:35542
#, fuzzy, no-wrap
msgid "@code{pre-down} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35545
#, fuzzy
msgid "List of strings or G-expressions.  These are script snippets which will be executed before tearing down the interface."
msgstr "字符串或 G 表达式的列表。这些是将在拆除接口之前执行的脚本片段。"

#. type: item
#: guix-git/doc/guix.texi:35546
#, fuzzy, no-wrap
msgid "@code{post-down} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35549
#, fuzzy
msgid "List of strings or G-expressions.  These are script snippets which will be executed after tearing down the interface."
msgstr "字符串或 G 表达式的列表。这些是将在拆除接口之后执行的脚本片段。"

#. type: item
#: guix-git/doc/guix.texi:35550
#, fuzzy, no-wrap
msgid "@code{table} (default: @code{\"auto\"})"
msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#. type: table
#: guix-git/doc/guix.texi:35555
#, fuzzy
msgid "The routing table to which routes are added, as a string.  There are two special values: @code{\"off\"} that disables the creation of routes altogether, and @code{\"auto\"} (the default) that adds routes to the default table and enables special handling of default routes."
msgstr "作为字符串添加路由的路由表。有两个特殊值:@code{\"off\"} 禁用路由的创建,@code{\"auto\"}(默认值)将路由添加到默认表并启用默认路由的特殊处理。"

#. type: deftp
#: guix-git/doc/guix.texi:35559
#, fuzzy, no-wrap
msgid "{Data Type} wireguard-peer"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:35561
#, fuzzy
msgid "Data type representing a Wireguard peer attached to a given interface."
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:35565
#, fuzzy
msgid "The peer name."
msgstr "仓库monad"

#. type: item
#: guix-git/doc/guix.texi:35566
#, fuzzy, no-wrap
msgid "@code{endpoint} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35569
#, fuzzy
msgid "The optional endpoint for the peer, such as @code{\"demo.wireguard.com:51820\"}."
msgstr "对等方的可选端点,例如 @code{\"demo.wireguard.com:51820\"}。"

#. type: itemx
#: guix-git/doc/guix.texi:35570 guix-git/doc/guix.texi:36134
#: guix-git/doc/guix.texi:36171 guix-git/doc/guix.texi:43740
#, fuzzy, no-wrap
msgid "public-key"
msgstr "公钥"

#. type: table
#: guix-git/doc/guix.texi:35572
#, fuzzy
msgid "The peer public-key represented as a base64 string."
msgstr "对等方公钥以 base64 字符串表示。"

#. type: item
#: guix-git/doc/guix.texi:35573
#, fuzzy, no-wrap
msgid "@code{preshared-key} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35576
#, fuzzy
msgid "An optional pre-shared key file for this peer that can be either a string or a G-expression.  The given file will not be autogenerated."
msgstr "此对等方的可选预共享密钥文件,可以是字符串或 G 表达式。给定的文件不会自动生成。"

#. type: code{#1}
#: guix-git/doc/guix.texi:35577
#, fuzzy, no-wrap
msgid "allowed-ips"
msgstr "允许的IP"

#. type: table
#: guix-git/doc/guix.texi:35580
#, fuzzy
msgid "A list of IP addresses from which incoming traffic for this peer is allowed and to which incoming traffic for this peer is directed."
msgstr "允许来自此对等体的传入流量的IP地址列表,以及传入流量指向此对等体的地址。"

#. type: item
#: guix-git/doc/guix.texi:35581
#, fuzzy, no-wrap
msgid "@code{keep-alive} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35586
#, fuzzy
msgid "An optional time interval in seconds.  A packet will be sent to the server endpoint once per time interval.  This helps receiving incoming connections from this peer when you are behind a NAT or a firewall."
msgstr "可选的时间间隔(以秒为单位)。每个时间间隔将向服务器端点发送一个数据包。这有助于在您处于NAT或防火墙后面时接收来自此对等体的传入连接。"

#. type: cindex
#: guix-git/doc/guix.texi:35592
#, fuzzy, no-wrap
msgid "NFS"
msgstr "NFS"

#. type: Plain text
#: guix-git/doc/guix.texi:35597
#, fuzzy
msgid "The @code{(gnu services nfs)} module provides the following services, which are most commonly used in relation to mounting or exporting directory trees as @dfn{network file systems} (NFS)."
msgstr "@code{(gnu services nfs)}模块提供以下服务,这些服务通常与将目录树挂载或导出为@dfn{网络文件系统}(NFS)相关。"

#. type: Plain text
#: guix-git/doc/guix.texi:35601
#, fuzzy
msgid "While it is possible to use the individual components that together make up a Network File System service, we recommended to configure an NFS server with the @code{nfs-service-type}."
msgstr "虽然可以使用组成网络文件系统服务的各个组件,但我们建议使用@code{nfs-service-type}配置NFS服务器。"

#. type: subsubheading
#: guix-git/doc/guix.texi:35602
#, fuzzy, no-wrap
msgid "NFS Service"
msgstr "DNS服务"

#. type: cindex
#: guix-git/doc/guix.texi:35603
#, fuzzy, no-wrap
msgid "NFS, server"
msgstr "Web服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:35608
#, fuzzy
msgid "The NFS service takes care of setting up all NFS component services, kernel configuration file systems, and installs configuration files in the locations that NFS expects."
msgstr "NFS服务负责设置所有NFS组件服务、内核配置文件系统,并在NFS期望的位置安装配置文件。"

#. type: defvar
#: guix-git/doc/guix.texi:35609
#, fuzzy, no-wrap
msgid "nfs-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35611
#, fuzzy
msgid "A service type for a complete NFS server."
msgstr "完整NFS服务器的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:35613
#, fuzzy, no-wrap
msgid "{Data Type} nfs-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:35616
#, fuzzy
msgid "This data type represents the configuration of the NFS service and all of its subsystems."
msgstr "此数据类型表示NFS服务及其所有子系统的配置。"

#. type: deftp
#: guix-git/doc/guix.texi:35618
#, fuzzy
msgid "It has the following parameters:"
msgstr "GNU Guix依赖这些软件包:"

#. type: item
#: guix-git/doc/guix.texi:35619 guix-git/doc/guix.texi:35744
#: guix-git/doc/guix.texi:35769
#, fuzzy, no-wrap
msgid "@code{nfs-utils} (default: @code{nfs-utils})"
msgstr "@code{nfs-utils}(默认:@code{nfs-utils})"

#. type: table
#: guix-git/doc/guix.texi:35621
#, fuzzy
msgid "The nfs-utils package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:35622
#, fuzzy, no-wrap
msgid "@code{nfs-versions} (default: @code{'(\"4.2\" \"4.1\" \"4.0\")})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35625
#, fuzzy
msgid "If a list of string values is provided, the @command{rpc.nfsd} daemon will be limited to supporting the given versions of the NFS protocol."
msgstr "如果提供了字符串值列表,@command{rpc.nfsd}守护进程将被限制为支持给定版本的NFS协议。"

#. type: item
#: guix-git/doc/guix.texi:35626
#, fuzzy, no-wrap
msgid "@code{exports} (default: @code{'()})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35631
#, fuzzy
msgid "This is a list of directories the NFS server should export.  Each entry is a list consisting of two elements: a directory name and a string containing all options.  This is an example in which the directory @file{/export} is served to all NFS clients as a read-only share:"
msgstr "这是NFS服务器应导出的目录列表。每个条目是一个包含两个元素的列表:目录名称和包含所有选项的字符串。这是一个示例,其中目录@file{/export}作为只读共享提供给所有NFS客户端:"

#. type: lisp
#: guix-git/doc/guix.texi:35637
#, fuzzy, no-wrap
msgid ""
"(nfs-configuration\n"
" (exports\n"
"  '((\"/export\"\n"
"     \"*(ro,insecure,no_subtree_check,crossmnt,fsid=0)\"))))\n"
msgstr ""
"(nfs-configuration\n"
" (exports\n"
"  '((\"/export\"\n"
"     \"*(ro,insecure,no_subtree_check,crossmnt,fsid=0)\"))))\n"

#. type: item
#: guix-git/doc/guix.texi:35639
#, fuzzy, no-wrap
msgid "@code{rpcmountd-port} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35641
#, fuzzy
msgid "The network port that the @command{rpc.mountd} daemon should use."
msgstr "@command{rpc.mountd}守护进程应使用的网络端口。"

#. type: item
#: guix-git/doc/guix.texi:35642
#, fuzzy, no-wrap
msgid "@code{rpcstatd-port} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35644
#, fuzzy
msgid "The network port that the @command{rpc.statd} daemon should use."
msgstr "@command{rpc.statd}守护进程应使用的网络端口。"

#. type: item
#: guix-git/doc/guix.texi:35645 guix-git/doc/guix.texi:35693
#, fuzzy, no-wrap
msgid "@code{rpcbind} (default: @code{rpcbind})"
msgstr "@code{rpcbind}(默认:@code{rpcbind})"

#. type: table
#: guix-git/doc/guix.texi:35647 guix-git/doc/guix.texi:35695
#, fuzzy
msgid "The rpcbind package to use."
msgstr "要使用的rpcbind软件包。"

#. type: item
#: guix-git/doc/guix.texi:35648
#, fuzzy, no-wrap
msgid "@code{idmap-domain} (default: @code{\"localdomain\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:35650
#, fuzzy
msgid "The local NFSv4 domain name."
msgstr "本地NFSv4域名。"

#. type: item
#: guix-git/doc/guix.texi:35651
#, fuzzy, no-wrap
msgid "@code{nfsd-port} (default: @code{2049})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35653
#, fuzzy
msgid "The network port that the @command{nfsd} daemon should use."
msgstr "@command{nfsd}守护进程应使用的网络端口。"

#. type: item
#: guix-git/doc/guix.texi:35654
#, fuzzy, no-wrap
msgid "@code{nfsd-threads} (default: @code{8})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35656
#, fuzzy
msgid "The number of threads used by the @command{nfsd} daemon."
msgstr "@command{nfsd}守护进程使用的线程数。"

#. type: item
#: guix-git/doc/guix.texi:35657
#, fuzzy, no-wrap
msgid "@code{nfsd-tcp?} (default: @code{#t})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35659
#, fuzzy
msgid "Whether the @command{nfsd} daemon should listen on a TCP socket."
msgstr "@command{nfsd}守护进程是否应在TCP套接字上监听。"

#. type: item
#: guix-git/doc/guix.texi:35660
#, fuzzy, no-wrap
msgid "@code{nfsd-udp?} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35662
#, fuzzy
msgid "Whether the @command{nfsd} daemon should listen on a UDP socket."
msgstr "@command{nfsd}守护进程是否应在UDP套接字上监听。"

#. type: item
#: guix-git/doc/guix.texi:35663 guix-git/doc/guix.texi:35747
#: guix-git/doc/guix.texi:35772
#, fuzzy, no-wrap
msgid "@code{pipefs-directory} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})"
msgstr "@code{pipefs-directory}(默认值:@code{\"/var/lib/nfs/rpc_pipefs\"})"

#. type: table
#: guix-git/doc/guix.texi:35665 guix-git/doc/guix.texi:35749
#: guix-git/doc/guix.texi:35774
#, fuzzy
msgid "The directory where the pipefs file system is mounted."
msgstr "挂载pipefs文件系统的目录。"

#. type: item
#: guix-git/doc/guix.texi:35666
#, fuzzy, no-wrap
msgid "@code{debug} (default: @code{'()\"})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35670
#, fuzzy
msgid "A list of subsystems for which debugging output should be enabled.  This is a list of symbols.  Any of these symbols are valid: @code{nfsd}, @code{nfs}, @code{rpc}, @code{idmap}, @code{statd}, or @code{mountd}."
msgstr "需要启用调试输出的子系统列表。这是一个符号列表。以下任意符号都是有效的:@code{nfsd}、@code{nfs}、@code{rpc}、@code{idmap}、@code{statd}或@code{mountd}。"

#. type: Plain text
#: guix-git/doc/guix.texi:35675
#, fuzzy
msgid "If you don't need a complete NFS service or prefer to build it yourself you can use the individual component services that are documented below."
msgstr "如果您不需要完整的NFS服务或更喜欢自己构建,可以使用下面文档中描述的各个组件服务。"

#. type: subsubheading
#: guix-git/doc/guix.texi:35676
#, fuzzy, no-wrap
msgid "RPC Bind Service"
msgstr "RPC绑定服务"

#. type: cindex
#: guix-git/doc/guix.texi:35677
#, fuzzy, no-wrap
msgid "rpcbind"
msgstr "rpcbind"

#. type: Plain text
#: guix-git/doc/guix.texi:35683
#, fuzzy
msgid "The RPC Bind service provides a facility to map program numbers into universal addresses.  Many NFS related services use this facility.  Hence it is automatically started when a dependent service starts."
msgstr "RPC绑定服务提供将程序编号映射到通用地址的功能。许多与NFS相关的服务使用此功能。因此,当依赖服务启动时,它会自动启动。"

#. type: defvar
#: guix-git/doc/guix.texi:35684
#, fuzzy, no-wrap
msgid "rpcbind-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35686
#, fuzzy
msgid "A service type for the RPC portmapper daemon."
msgstr "RPC端口映射守护进程的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:35689
#, fuzzy, no-wrap
msgid "{Data Type} rpcbind-configuration"
msgstr "{数据类型} rpcbind-配置"

#. type: deftp
#: guix-git/doc/guix.texi:35692
#, fuzzy
msgid "Data type representing the configuration of the RPC Bind Service.  This type has the following parameters:"
msgstr "表示RPC绑定服务配置的数据类型。该类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:35696
#, fuzzy, no-wrap
msgid "@code{warm-start?} (default: @code{#t})"
msgstr "@code{warm-start?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:35700
#, fuzzy
msgid "If this parameter is @code{#t}, then the daemon will read a state file on startup thus reloading state information saved by a previous instance."
msgstr "如果该参数为@code{#t},则守护进程将在启动时读取状态文件,从而重新加载由先前实例保存的状态信息。"

#. type: subsubheading
#: guix-git/doc/guix.texi:35704
#, fuzzy, no-wrap
msgid "Pipefs Pseudo File System"
msgstr "Pipefs伪文件系统"

#. type: cindex
#: guix-git/doc/guix.texi:35705
#, fuzzy, no-wrap
msgid "pipefs"
msgstr "pipefs"

#. type: cindex
#: guix-git/doc/guix.texi:35706
#, fuzzy, no-wrap
msgid "rpc_pipefs"
msgstr "rpc_pipefs"

#. type: Plain text
#: guix-git/doc/guix.texi:35710
#, fuzzy
msgid "The pipefs file system is used to transfer NFS related data between the kernel and user space programs."
msgstr "pipefs文件系统用于在内核和用户空间程序之间传输与NFS相关的数据。"

#. type: defvar
#: guix-git/doc/guix.texi:35711
#, fuzzy, no-wrap
msgid "pipefs-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35713
#, fuzzy
msgid "A service type for the pipefs pseudo file system."
msgstr "pipefs伪文件系统的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:35715
#, fuzzy, no-wrap
msgid "{Data Type} pipefs-configuration"
msgstr "{数据类型} pipefs-配置"

#. type: deftp
#: guix-git/doc/guix.texi:35718
#, fuzzy
msgid "Data type representing the configuration of the pipefs pseudo file system service.  This type has the following parameters:"
msgstr "表示pipefs伪文件系统服务配置的数据类型。该类型具有以下参数:"

#. type: item
#: guix-git/doc/guix.texi:35719
#, fuzzy, no-wrap
msgid "@code{mount-point} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})"
msgstr "@code{mount-point}(默认值:@code{\"/var/lib/nfs/rpc_pipefs\"})"

#. type: table
#: guix-git/doc/guix.texi:35721
#, fuzzy
msgid "The directory to which the file system is to be attached."
msgstr "要附加文件系统的目录。"

#. type: subsubheading
#: guix-git/doc/guix.texi:35725
#, fuzzy, no-wrap
msgid "GSS Daemon Service"
msgstr "GSS守护进程服务"

#. type: cindex
#: guix-git/doc/guix.texi:35726
#, fuzzy, no-wrap
msgid "GSSD"
msgstr "GSSD"

#. type: cindex
#: guix-git/doc/guix.texi:35727
#, fuzzy, no-wrap
msgid "GSS"
msgstr "GSS"

#. type: cindex
#: guix-git/doc/guix.texi:35728
#, fuzzy, no-wrap
msgid "global security system"
msgstr "全局安全系统"

#. type: Plain text
#: guix-git/doc/guix.texi:35735
#, fuzzy
msgid "The @dfn{global security system} (GSS) daemon provides strong security for RPC based protocols.  Before exchanging RPC requests an RPC client must establish a security context.  Typically this is done using the Kerberos command @command{kinit} or automatically at login time using PAM services (@pxref{Kerberos Services})."
msgstr "@dfn{全局安全系统}(GSS)守护进程为基于RPC的协议提供强大的安全性。在交换RPC请求之前,RPC客户端必须建立安全上下文。通常,这通过使用Kerberos命令@command{kinit}或在登录时使用PAM服务自动完成(@pxref{Kerberos Services})。"

#. type: defvar
#: guix-git/doc/guix.texi:35736
#, fuzzy, no-wrap
msgid "gss-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35738
#, fuzzy
msgid "A service type for the Global Security System (GSS) daemon."
msgstr "全局安全系统(GSS)守护进程的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:35740
#, fuzzy, no-wrap
msgid "{Data Type} gss-configuration"
msgstr "{数据类型} gss-配置"

#. type: deftp
#: guix-git/doc/guix.texi:35743
#, fuzzy
msgid "Data type representing the configuration of the GSS daemon service.  This type has the following parameters:"
msgstr "表示GSS守护进程服务配置的数据类型。该类型具有以下参数:"

#. type: table
#: guix-git/doc/guix.texi:35746
#, fuzzy
msgid "The package in which the @command{rpc.gssd} command is to be found."
msgstr "包含 @command{rpc.gssd} 命令的包。"

#. type: subsubheading
#: guix-git/doc/guix.texi:35754
#, fuzzy, no-wrap
msgid "IDMAP Daemon Service"
msgstr "IDMAP 守护进程服务"

#. type: cindex
#: guix-git/doc/guix.texi:35755
#, fuzzy, no-wrap
msgid "idmapd"
msgstr "idmapd"

#. type: cindex
#: guix-git/doc/guix.texi:35756
#, fuzzy, no-wrap
msgid "name mapper"
msgstr "名称映射器"

#. type: Plain text
#: guix-git/doc/guix.texi:35760
#, fuzzy
msgid "The idmap daemon service provides mapping between user IDs and user names.  Typically it is required in order to access file systems mounted via NFSv4."
msgstr "idmap 守护进程服务提供用户 ID 和用户名之间的映射。通常在通过 NFSv4 挂载文件系统时需要它。"

#. type: defvar
#: guix-git/doc/guix.texi:35761
#, fuzzy, no-wrap
msgid "idmap-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35763
#, fuzzy
msgid "A service type for the Identity Mapper (IDMAP) daemon."
msgstr "身份映射器 (IDMAP) 守护进程的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:35765
#, fuzzy, no-wrap
msgid "{Data Type} idmap-configuration"
msgstr "{数据类型} idmap-配置"

#. type: deftp
#: guix-git/doc/guix.texi:35768
#, fuzzy
msgid "Data type representing the configuration of the IDMAP daemon service.  This type has the following parameters:"
msgstr "表示 IDMAP 守护进程服务配置的数据类型。该类型具有以下参数:"

#. type: table
#: guix-git/doc/guix.texi:35771
#, fuzzy
msgid "The package in which the @command{rpc.idmapd} command is to be found."
msgstr "包含 @command{rpc.idmapd} 命令的包。"

#. type: item
#: guix-git/doc/guix.texi:35775 guix-git/doc/guix.texi:35918
#, fuzzy, no-wrap
msgid "@code{domain} (default: @code{#f})"
msgstr "@code{domain}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:35779
#, fuzzy
msgid "The local NFSv4 domain name.  This must be a string or @code{#f}.  If it is @code{#f} then the daemon will use the host's fully qualified domain name."
msgstr "本地 NFSv4 域名。必须是字符串或 @code{#f}。如果是 @code{#f},则守护进程将使用主机的完全限定域名。"

#. type: item
#: guix-git/doc/guix.texi:35780
#, fuzzy, no-wrap
msgid "@code{verbosity} (default: @code{0})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35782
#, fuzzy
msgid "The verbosity level of the daemon."
msgstr "远程机器的主机名。"

#. type: subsubheading
#: guix-git/doc/guix.texi:35789 guix-git/doc/guix.texi:35795
#, fuzzy, no-wrap
msgid "Samba"
msgstr "Samba"

#. type: cindex
#: guix-git/doc/guix.texi:35790
#, fuzzy, no-wrap
msgid "SMB"
msgstr "SMB"

#. type: Plain text
#: guix-git/doc/guix.texi:35794
#, fuzzy
msgid "The @code{(gnu services samba)} module provides service definitions for Samba as well as additional helper services.  Currently it provides the following services."
msgstr "@code{(gnu services samba)} 模块提供 Samba 的服务定义以及其他辅助服务。目前它提供以下服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:35802
#, fuzzy
msgid "@uref{https://www.samba.org, Samba} provides network shares for folders and printers using the SMB/CIFS protocol commonly used on Windows.  It can also act as an Active Directory Domain Controller (AD DC) for other hosts in an heterougenious network with different types of Computer systems."
msgstr "@uref{https://www.samba.org, Samba} 使用在 Windows 上常用的 SMB/CIFS 协议提供文件夹和打印机的网络共享。它还可以作为异构网络中其他主机的活动目录域控制器 (AD DC)。"

#. type: defvar
#: guix-git/doc/guix.texi:35803
#, fuzzy, no-wrap
msgid "samba-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35808
#, fuzzy
msgid "The service type to enable the samba services @code{samba}, @code{nmbd}, @code{smbd} and @code{winbindd}.  By default this service type does not run any of the Samba daemons; they must be enabled individually."
msgstr "启用 Samba 服务 @code{samba}、@code{nmbd}、@code{smbd} 和 @code{winbindd} 的服务类型。默认情况下,此服务类型不运行任何 Samba 守护进程;它们必须单独启用。"

#. type: defvar
#: guix-git/doc/guix.texi:35812
#, fuzzy
msgid "Below is a basic example that configures a simple, anonymous (unauthenticated) Samba file share exposing the @file{/public} directory."
msgstr "以下是一个基本示例,配置一个简单的匿名(未认证)Samba 文件共享,公开 @file{/public} 目录。"

#. type: quotation
#: guix-git/doc/guix.texi:35817
#, fuzzy
msgid "The @file{/public} directory and its contents must be world readable/writable, so you'll want to run @samp{chmod -R 777 /public} on it."
msgstr "@file{/public} 目录及其内容必须是全局可读/可写的,因此您需要在其上运行 @samp{chmod -R 777 /public}。"

#. type: quotation
#: guix-git/doc/guix.texi:35819
#, fuzzy, no-wrap
msgid "Caution"
msgstr "隔离"

#. type: quotation
#: guix-git/doc/guix.texi:35823
#, fuzzy
msgid "Such a Samba configuration should only be used in controlled environments, and you should not share any private files using it, as anyone connecting to your network would be able to access them."
msgstr "这样的 Samba 配置应仅在受控环境中使用,您不应使用它共享任何私人文件,因为任何连接到您的网络的人都可以访问它们。"

#. type: lisp
#: guix-git/doc/guix.texi:35832
#, fuzzy, no-wrap
msgid ""
"(service samba-service-type (samba-configuration\n"
"                             (enable-smbd? #t)\n"
"                             (config-file (plain-file \"smb.conf\" \"\\\n"
"[global]\n"
"map to guest = Bad User\n"
"logging = syslog@@1\n"
"\n"
msgstr ""
"(service samba-service-type (samba-configuration\n"
"                             (enable-smbd? #t)\n"
"                             (config-file (plain-file \"smb.conf\" \"\\\n"
"[global]\n"
"map to guest = Bad User\n"
"logging = syslog@@1\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:35839
#, fuzzy, no-wrap
msgid ""
"[public]\n"
"browsable = yes\n"
"path = /public\n"
"read only = no\n"
"guest ok = yes\n"
"guest only = yes\\n\"))))\n"
msgstr ""
"[公共]\n"
"可浏览 = 是\n"
"路径 = /public\n"
"只读 = 否\n"
"访客允许 = 是\n"
"仅访客 = 是\n"

#. type: deftp
#: guix-git/doc/guix.texi:35843
#, fuzzy, no-wrap
msgid "{Data Type} samba-service-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:35845
#, fuzzy
msgid "Configuration record for the Samba suite."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:35847
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{samba})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:35849
#, fuzzy
msgid "The samba package to use."
msgstr "软件包数据类型。"

#. type: table
#: guix-git/doc/guix.texi:35853
#, fuzzy
msgid "The config file to use.  To learn about its syntax, run @samp{man smb.conf}."
msgstr "要使用的配置文件。要了解其语法,请运行@samp{man smb.conf}。"

#. type: item
#: guix-git/doc/guix.texi:35854
#, fuzzy, no-wrap
msgid "@code{enable-samba?} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35856
#, fuzzy
msgid "Enable the @code{samba} daemon."
msgstr "启用@code{samba}守护进程。"

#. type: item
#: guix-git/doc/guix.texi:35857
#, fuzzy, no-wrap
msgid "@code{enable-smbd?} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35859
#, fuzzy
msgid "Enable the @code{smbd} daemon."
msgstr "启用@code{smbd}守护进程。"

#. type: item
#: guix-git/doc/guix.texi:35860
#, fuzzy, no-wrap
msgid "@code{enable-nmbd?} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35862
#, fuzzy
msgid "Enable the @code{nmbd} daemon."
msgstr "启用@code{nmbd}守护进程。"

#. type: item
#: guix-git/doc/guix.texi:35863
#, fuzzy, no-wrap
msgid "@code{enable-winbindd?} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35865
#, fuzzy
msgid "Enable the @code{winbindd} daemon."
msgstr "启用@code{winbindd}守护进程。"

#. type: cindex
#: guix-git/doc/guix.texi:35869
#, fuzzy, no-wrap
msgid "wsdd, Web service discovery daemon"
msgstr "Web服务"

#. type: subsubheading
#: guix-git/doc/guix.texi:35870
#, fuzzy, no-wrap
msgid "Web Service Discovery Daemon"
msgstr "Web服务"

#. type: Plain text
#: guix-git/doc/guix.texi:35878
#, fuzzy
msgid "The @acronym{WSDD, Web Service Discovery daemon} implements the @uref{http://docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-spec-os.html, Web Services Dynamic Discovery} protocol that enables host discovery over Multicast DNS, similar to what Avahi does.  It is a drop-in replacement for SMB hosts that have had SMBv1 disabled for security reasons."
msgstr "@acronym{WSDD,Web服务发现守护进程}实现了@uref{http://docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-spec-os.html, Web服务动态发现}协议,该协议支持通过多播DNS进行主机发现,类似于Avahi的功能。它是SMB主机的替代品,这些主机因安全原因禁用了SMBv1。"

#. type: defvar
#: guix-git/doc/guix.texi:35879
#, fuzzy, no-wrap
msgid "wsdd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:35883
#, fuzzy
msgid "Service type for the WSD host daemon.  The value for this service type is a @code{wsdd-configuration} record.  The details for the @code{wsdd-configuration} record type are given below."
msgstr "WSD主机守护进程的服务类型。该服务类型的值是@code{wsdd-configuration}记录。@code{wsdd-configuration}记录类型的详细信息如下。"

#. type: deftp
#: guix-git/doc/guix.texi:35885
#, fuzzy, no-wrap
msgid "{Data Type} wsdd-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:35887
#, fuzzy
msgid "This data type represents the configuration for the wsdd service."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:35890
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{wsdd})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:35892
#, fuzzy
msgid "The wsdd package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:35893
#, fuzzy, no-wrap
msgid "@code{ipv4only?} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35895
#, fuzzy
msgid "Only listen to IPv4 addresses."
msgstr "仅监听IPv4地址。"

#. type: item
#: guix-git/doc/guix.texi:35896
#, fuzzy, no-wrap
msgid "@code{ipv6only} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35899
#, fuzzy
msgid "Only listen to IPv6 addresses.  Please note: Activating both options is not possible, since there would be no IP versions to listen to."
msgstr "仅监听IPv6地址。请注意:激活这两个选项是不可能的,因为没有IP版本可供监听。"

#. type: table
#: guix-git/doc/guix.texi:35904
#, fuzzy
msgid "Chroot into a separate directory to prevent access to other directories.  This is to increase security in case there is a vulnerability in @command{wsdd}."
msgstr "Chroot到一个单独的目录,以防止访问其他目录。这是为了提高安全性,以防@command{wsdd}存在漏洞。"

#. type: item
#: guix-git/doc/guix.texi:35905
#, fuzzy, no-wrap
msgid "@code{hop-limit} (default: @code{1})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:35908
#, fuzzy
msgid "Limit to the level of hops for multicast packets.  The default is @var{1} which should prevent packets from leaving the local network."
msgstr "限制多播数据包的跳数。默认值为@var{1},这应该防止数据包离开本地网络。"

#. type: item
#: guix-git/doc/guix.texi:35909
#, fuzzy, no-wrap
msgid "@code{interface} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:35913
#, fuzzy
msgid "Limit to the given list of interfaces to listen to.  By default wsdd will listen to all interfaces.  Except the loopback interface is never used."
msgstr "限制监听的接口列表。默认情况下,wsdd将监听所有接口。除了回环接口永远不会使用。"

#. type: item
#: guix-git/doc/guix.texi:35914
#, fuzzy, no-wrap
msgid "@code{uuid-device} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35917
#, fuzzy
msgid "The WSD protocol requires a device to have a UUID.  Set this to manually assign the service a UUID."
msgstr "WSD协议要求设备具有UUID。设置此项以手动分配服务的UUID。"

#. type: table
#: guix-git/doc/guix.texi:35920
#, fuzzy
msgid "Notify this host is a member of an Active Directory."
msgstr "通知此主机是Active Directory的成员。"

#. type: table
#: guix-git/doc/guix.texi:35925
#, fuzzy
msgid "Manually set the hostname rather than letting @command{wsdd} inherit this host's hostname.  Only the host name part of a possible FQDN will be used in the default case."
msgstr "手动设置主机名,而不是让@command{wsdd}继承此主机的主机名。默认情况下,仅使用可能的FQDN的主机名部分。"

#. type: item
#: guix-git/doc/guix.texi:35926
#, fuzzy, no-wrap
msgid "@code{preserve-case?} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:35930
#, fuzzy
msgid "By default @command{wsdd} will convert the hostname in workgroup to all uppercase.  The opposite is true for hostnames in domains.  Setting this parameter will preserve case."
msgstr "默认情况下,@command{wsdd}将工作组中的主机名转换为全大写。域中的主机名则相反。设置此参数将保留大小写。"

#. type: item
#: guix-git/doc/guix.texi:35931
#, fuzzy, no-wrap
msgid "@code{workgroup} (default: @var{\"WORKGROUP\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:35934
#, fuzzy
msgid "Change the name of the workgroup.  By default @command{wsdd} reports this host being member of a workgroup."
msgstr "更改工作组的名称。默认情况下,@command{wsdd}报告此主机为工作组的成员。"

#. type: Plain text
#: guix-git/doc/guix.texi:35945
#, fuzzy
msgid "@uref{https://guix.gnu.org/cuirass/, Cuirass} is a continuous integration tool for Guix.  It can be used both for development and for providing substitutes to others (@pxref{Substitutes})."
msgstr "@uref{https://guix.gnu.org/cuirass/, Cuirass} 是一个用于 Guix 的持续集成工具。它可以用于开发,也可以为其他人提供替代品 (@pxref{Substitutes})."

#. type: Plain text
#: guix-git/doc/guix.texi:35947
#, fuzzy
msgid "The @code{(gnu services cuirass)} module provides the following service."
msgstr "@code{(gnu services cuirass)} 模块提供以下服务。"

#. type: defvr
#: guix-git/doc/guix.texi:35948
#, fuzzy, no-wrap
msgid "{Procedure} cuirass-service-type"
msgstr "邮件服务"

#. type: defvr
#: guix-git/doc/guix.texi:35951
#, fuzzy
msgid "The type of the Cuirass service.  Its value must be a @code{cuirass-configuration} object, as described below."
msgstr "Cuirass 服务的类型。它的值必须是一个 @code{cuirass-configuration} 对象,如下所述。"

#. type: Plain text
#: guix-git/doc/guix.texi:35956
#, fuzzy
msgid "To add build jobs, you have to set the @code{specifications} field of the configuration.  For instance, the following example will build all the packages provided by the @code{my-channel} channel."
msgstr "要添加构建作业,您必须设置配置的 @code{specifications} 字段。例如,以下示例将构建 @code{my-channel} 通道提供的所有软件包。"

#. type: lisp
#: guix-git/doc/guix.texi:35967
#, fuzzy, no-wrap
msgid ""
"(define %cuirass-specs\n"
"  #~(list (specification\n"
"           (name 'my-channel)\n"
"           (build '(channels my-channel))\n"
"           (channels\n"
"            (cons (channel\n"
"                   (name 'my-channel)\n"
"                   (url \"https://my-channel.git\"))\n"
"                  %default-channels)))))\n"
"\n"
msgstr ""
"(define %cuirass-specs\n"
"  #~(list (specification\n"
"           (name 'my-channel)\n"
"           (build '(channels my-channel))\n"
"           (channels\n"
"            (cons (channel\n"
"                   (name 'my-channel)\n"
"                   (url \"https://my-channel.git\"))\n"
"                  %default-channels)))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:35971 guix-git/doc/guix.texi:35985
#, fuzzy, no-wrap
msgid ""
"(service cuirass-service-type\n"
"         (cuirass-configuration\n"
"          (specifications %cuirass-specs)))\n"
msgstr ""
"(service cuirass-service-type\n"
"         (cuirass-configuration\n"
"          (specifications %cuirass-specs)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:35975
#, fuzzy
msgid "To build the @code{linux-libre} package defined by the default Guix channel, one can use the following configuration."
msgstr "要构建由默认 Guix 通道定义的 @code{linux-libre} 软件包,可以使用以下配置。"

#. type: lisp
#: guix-git/doc/guix.texi:35981
#, fuzzy, no-wrap
msgid ""
"(define %cuirass-specs\n"
"  #~(list (specification\n"
"           (name 'my-linux)\n"
"           (build '(packages \"linux-libre\")))))\n"
"\n"
msgstr ""
"(define %cuirass-specs\n"
"  #~(list (specification\n"
"           (name 'my-linux)\n"
"           (build '(packages \"linux-libre\")))))\n"
"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:35990
#, fuzzy
msgid "The other configuration possibilities, as well as the specification record itself are described in the Cuirass manual (@pxref{Specifications,,, cuirass, Cuirass})."
msgstr "其他配置选项以及规范记录本身在 Cuirass 手册中描述 (@pxref{Specifications,,, cuirass, Cuirass})."

#. type: Plain text
#: guix-git/doc/guix.texi:35994
#, fuzzy
msgid "While information related to build jobs is located directly in the specifications, global settings for the @command{cuirass} process are accessible in other @code{cuirass-configuration} fields."
msgstr "虽然与构建作业相关的信息直接位于规范中,但 @command{cuirass} 进程的全局设置可以在其他 @code{cuirass-configuration} 字段中访问。"

#. type: deftp
#: guix-git/doc/guix.texi:35995
#, fuzzy, no-wrap
msgid "{Data Type} cuirass-configuration"
msgstr "{数据类型} cuirass-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:35997
#, fuzzy
msgid "Data type representing the configuration of Cuirass."
msgstr "表示 Cuirass 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:35999 guix-git/doc/guix.texi:36149
#, fuzzy, no-wrap
msgid "@code{cuirass} (default: @code{cuirass})"
msgstr "@code{cuirass}(默认值:@code{cuirass})"

#. type: table
#: guix-git/doc/guix.texi:36001 guix-git/doc/guix.texi:36151
#, fuzzy
msgid "The Cuirass package to use."
msgstr "要使用的 Cuirass 软件包。"

#. type: item
#: guix-git/doc/guix.texi:36002
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{\"/var/log/cuirass.log\"})"
msgstr "@code{log-file}(默认值:@code{\"/var/log/cuirass.log\"})"

#. type: table
#: guix-git/doc/guix.texi:36004 guix-git/doc/guix.texi:36117
#: guix-git/doc/guix.texi:36164
#, fuzzy
msgid "Location of the log file."
msgstr "日志文件的位置。"

#. type: item
#: guix-git/doc/guix.texi:36005
#, fuzzy, no-wrap
msgid "@code{web-log-file} (default: @code{\"/var/log/cuirass-web.log\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:36007
#, fuzzy
msgid "Location of the log file used by the web interface."
msgstr "Web 界面使用的日志文件的位置。"

#. type: item
#: guix-git/doc/guix.texi:36008
#, fuzzy, no-wrap
msgid "@code{cache-directory} (default: @code{\"/var/cache/cuirass\"})"
msgstr "@code{cache-directory}(默认值:@code{\"/var/cache/cuirass\"})"

#. type: table
#: guix-git/doc/guix.texi:36010
#, fuzzy
msgid "Location of the repository cache."
msgstr "存储库缓存的位置。"

#. type: item
#: guix-git/doc/guix.texi:36011
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"cuirass\"})"
msgstr "@code{user}(默认值:@code{\"cuirass\"})"

#. type: table
#: guix-git/doc/guix.texi:36013
#, fuzzy
msgid "Owner of the @code{cuirass} process."
msgstr "@code{cuirass} 进程的所有者。"

#. type: item
#: guix-git/doc/guix.texi:36014
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"cuirass\"})"
msgstr "@code{group}(默认值:@code{\"cuirass\"})"

#. type: table
#: guix-git/doc/guix.texi:36016
#, fuzzy
msgid "Owner's group of the @code{cuirass} process."
msgstr "@code{cuirass}进程的所有者组。"

#. type: item
#: guix-git/doc/guix.texi:36017
#, fuzzy, no-wrap
msgid "@code{interval} (default: @code{60})"
msgstr "@code{interval}(默认值:@code{60})"

#. type: table
#: guix-git/doc/guix.texi:36020
#, fuzzy
msgid "Number of seconds between the poll of the repositories followed by the Cuirass jobs."
msgstr "Cuirass作业轮询所跟踪的仓库之间的秒数。"

#. type: item
#: guix-git/doc/guix.texi:36021
#, fuzzy, no-wrap
msgid "@code{ttl} (default: @code{2592000})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:36023
#, fuzzy
msgid "Duration to keep build results' GC roots alive, in seconds."
msgstr "保持构建结果的GC根存活的持续时间,以秒为单位。"

#. type: item
#: guix-git/doc/guix.texi:36024
#, fuzzy, no-wrap
msgid "@code{build-expiry} (default: 4 months)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36027
#, fuzzy
msgid "Duration in seconds after which pending builds are canceled.  This helps ensure that the backlog does not grow indefinitely."
msgstr "在此时间段后取消待处理的构建,以秒为单位。这有助于确保积压不会无限增长。"

#. type: item
#: guix-git/doc/guix.texi:36028
#, fuzzy, no-wrap
msgid "@code{threads} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:36030
#, fuzzy
msgid "Number of kernel threads to use for Cuirass. The default value should be appropriate for most cases."
msgstr "用于Cuirass的内核线程数量。默认值应适合大多数情况。"

#. type: item
#: guix-git/doc/guix.texi:36031
#, fuzzy, no-wrap
msgid "@code{parameters} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:36034
#, fuzzy
msgid "Read parameters from the given @var{parameters} file.  The supported parameters are described here (@pxref{Parameters,,, cuirass, Cuirass})."
msgstr "从给定的@var{parameters}文件中读取参数。支持的参数在此处描述(@pxref{Parameters,,, cuirass, Cuirass})。"

#. type: item
#: guix-git/doc/guix.texi:36035
#, fuzzy, no-wrap
msgid "@code{remote-server} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:36038
#, fuzzy
msgid "A @code{cuirass-remote-server-configuration} record to use the build remote mechanism or @code{#f} to use the default build mechanism."
msgstr "一个@code{cuirass-remote-server-configuration}记录,用于使用构建远程机制或@code{#f}以使用默认构建机制。"

#. type: item
#: guix-git/doc/guix.texi:36039
#, fuzzy, no-wrap
msgid "@code{database} (default: @code{\"dbname=cuirass host=/var/run/postgresql\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:36044
#, fuzzy
msgid "Use @var{database} as the database containing the jobs and the past build results. Since Cuirass uses PostgreSQL as a database engine, @var{database} must be a string such as @code{\"dbname=cuirass host=localhost\"}."
msgstr "使用@var{database}作为包含作业和过去构建结果的数据库。由于Cuirass使用PostgreSQL作为数据库引擎,@var{database}必须是一个字符串,例如@code{\"dbname=cuirass host=localhost\"}。"

#. type: item
#: guix-git/doc/guix.texi:36045
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{8081})"
msgstr "@code{port}(默认值:@code{8081})"

#. type: table
#: guix-git/doc/guix.texi:36047
#, fuzzy
msgid "Port number used by the HTTP server."
msgstr "HTTP服务器使用的端口号。"

#. type: table
#: guix-git/doc/guix.texi:36051
#, fuzzy
msgid "Listen on the network interface for @var{host}.  The default is to accept connections from localhost."
msgstr "在@var{host}的网络接口上监听。默认情况下接受来自localhost的连接。"

#. type: item
#: guix-git/doc/guix.texi:36052
#, fuzzy, no-wrap
msgid "@code{specifications} (default: @code{#~'()})"
msgstr "@code{specifications}(默认值:@code{#~'()})"

#. type: table
#: guix-git/doc/guix.texi:36056
#, fuzzy
msgid "A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications records.  The specification record is described in the Cuirass manual (@pxref{Specifications,,, cuirass, Cuirass})."
msgstr "一个gexp(@pxref{G-Expressions}),其计算结果为一组规范记录的列表。规范记录在Cuirass手册中描述(@pxref{Specifications,,, cuirass, Cuirass})。"

#. type: item
#: guix-git/doc/guix.texi:36057 guix-git/doc/guix.texi:46172
#, fuzzy, no-wrap
msgid "@code{one-shot?} (default: @code{#f})"
msgstr "@code{one-shot?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36059
#, fuzzy
msgid "Only evaluate specifications and build derivations once."
msgstr "仅评估规范并构建派生项一次。"

#. type: item
#: guix-git/doc/guix.texi:36060
#, fuzzy, no-wrap
msgid "@code{fallback?} (default: @code{#f})"
msgstr "@code{fallback?}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36063
#, fuzzy
msgid "When substituting a pre-built binary fails, fall back to building packages locally."
msgstr "当替换预构建的二进制文件失败时,回退到本地构建包。"

#. type: table
#: guix-git/doc/guix.texi:36066
#, fuzzy
msgid "Extra options to pass when running the @code{cuirass register} process."
msgstr "运行@code{cuirass register}进程时传递的额外选项。"

#. type: item
#: guix-git/doc/guix.texi:36067
#, fuzzy, no-wrap
msgid "@code{web-extra-options} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:36069
#, fuzzy
msgid "Extra options to pass when running the @code{cuirass web} process."
msgstr "运行@code{cuirass web}进程时传递的额外选项。"

#. type: cindex
#: guix-git/doc/guix.texi:36073
#, fuzzy, no-wrap
msgid "remote build"
msgstr "可复现的构建"

#. type: subsubheading
#: guix-git/doc/guix.texi:36074
#, fuzzy, no-wrap
msgid "Cuirass remote building"
msgstr "Cuirass远程构建"

#. type: Plain text
#: guix-git/doc/guix.texi:36077
#, fuzzy
msgid "Cuirass supports two mechanisms to build derivations."
msgstr "Cuirass支持两种机制来构建派生项。"

#. type: item
#: guix-git/doc/guix.texi:36079
#, fuzzy, no-wrap
msgid "Using the local Guix daemon."
msgstr "运行“构建后台进程”"

#. type: itemize
#: guix-git/doc/guix.texi:36083
#, fuzzy
msgid "This is the default build mechanism.  Once the build jobs are evaluated, they are sent to the local Guix daemon.  Cuirass then listens to the Guix daemon output to detect the various build events."
msgstr "这是默认的构建机制。一旦构建作业被评估,它们将被发送到本地Guix守护进程。Cuirass然后监听Guix守护进程的输出,以检测各种构建事件。"

#. type: item
#: guix-git/doc/guix.texi:36084
#, fuzzy, no-wrap
msgid "Using the remote build mechanism."
msgstr "准备隔离的构建环境。"

#. type: itemize
#: guix-git/doc/guix.texi:36088
#, fuzzy
msgid "The build jobs are not submitted to the local Guix daemon.  Instead, a remote server dispatches build requests to the connect remote workers, according to the build priorities."
msgstr "构建作业未提交到本地 Guix 守护进程。相反,远程服务器根据构建优先级将构建请求分派给连接的远程工作者。"

#. type: Plain text
#: guix-git/doc/guix.texi:36095
#, fuzzy
msgid "To enable this build mode a @code{cuirass-remote-server-configuration} record must be passed as @code{remote-server} argument of the @code{cuirass-configuration} record.  The @code{cuirass-remote-server-configuration} record is described below."
msgstr "要启用此构建模式,必须将 @code{cuirass-remote-server-configuration} 记录作为 @code{remote-server} 参数传递给 @code{cuirass-configuration} 记录。 @code{cuirass-remote-server-configuration} 记录的描述如下。"

#. type: Plain text
#: guix-git/doc/guix.texi:36100
#, fuzzy
msgid "This build mode scales way better than the default build mode.  This is the build mode that is used on the GNU Guix build farm at @url{https://ci.guix.gnu.org}.  It should be preferred when using Cuirass to build large amount of packages."
msgstr "此构建模式的扩展性远远优于默认构建模式。这是 GNU Guix 构建农场在 @url{https://ci.guix.gnu.org} 上使用的构建模式。在使用 Cuirass 构建大量软件包时,应优先选择此模式。"

#. type: deftp
#: guix-git/doc/guix.texi:36101
#, fuzzy, no-wrap
msgid "{Data Type} cuirass-remote-server-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:36103
#, fuzzy
msgid "Data type representing the configuration of the Cuirass remote-server."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:36105
#, fuzzy, no-wrap
msgid "@code{backend-port} (default: @code{5555})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:36108
#, fuzzy
msgid "The TCP port for communicating with @code{remote-worker} processes using ZMQ.  It defaults to @code{5555}."
msgstr "用于通过 ZMQ 与 @code{remote-worker} 进程通信的 TCP 端口。默认为 @code{5555}。"

#. type: item
#: guix-git/doc/guix.texi:36109
#, fuzzy, no-wrap
msgid "@code{log-port} (default: @code{5556})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:36111
#, fuzzy
msgid "The TCP port of the log server.  It defaults to @code{5556}."
msgstr "日志服务器的 TCP 端口。默认为 @code{5556}。"

#. type: item
#: guix-git/doc/guix.texi:36112
#, fuzzy, no-wrap
msgid "@code{publish-port} (default: @code{5557})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:36114
#, fuzzy
msgid "The TCP port of the publish server.  It defaults to @code{5557}."
msgstr "发布服务器的 TCP 端口。默认为 @code{5557}。"

#. type: item
#: guix-git/doc/guix.texi:36115
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{\"/var/log/cuirass-remote-server.log\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: item
#: guix-git/doc/guix.texi:36118
#, fuzzy, no-wrap
msgid "@code{cache} (default: @code{\"/var/cache/cuirass/remote\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:36120
#, fuzzy
msgid "Use @var{cache} directory to cache build log files."
msgstr "使用 @var{cache} 目录缓存构建日志文件。"

#. type: item
#: guix-git/doc/guix.texi:36121
#, fuzzy, no-wrap
msgid "@code{log-expiry} (default: 6 months)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36124
#, fuzzy
msgid "The duration in seconds after which build logs collected by @command{cuirass remote-worker} may be deleted."
msgstr "收集的构建日志在 @command{cuirass remote-worker} 后,经过指定的秒数后可能会被删除。"

#. type: item
#: guix-git/doc/guix.texi:36125
#, fuzzy, no-wrap
msgid "@code{trigger-url} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36128
#, fuzzy
msgid "Once a substitute is successfully fetched, trigger substitute baking at @var{trigger-url}."
msgstr "一旦成功获取替代品,在 @var{trigger-url} 触发替代品烘焙。"

#. type: table
#: guix-git/doc/guix.texi:36133
#, fuzzy
msgid "If set to false, do not start a publish server and ignore the @code{publish-port} argument.  This can be useful if there is already a standalone publish server standing next to the remote server."
msgstr "如果设置为 false,则不启动发布服务器并忽略 @code{publish-port} 参数。如果旁边已经有一个独立的发布服务器,这将非常有用。"

#. type: code{#1}
#: guix-git/doc/guix.texi:36135 guix-git/doc/guix.texi:36172
#, fuzzy, no-wrap
msgid "private-key"
msgstr "私钥"

#. type: Plain text
#: guix-git/doc/guix.texi:36144
#, fuzzy
msgid "At least one remote worker must also be started on any machine of the local network to actually perform the builds and report their status."
msgstr "必须在本地网络的任何机器上启动至少一个远程工作者,以实际执行构建并报告其状态。"

#. type: deftp
#: guix-git/doc/guix.texi:36145
#, fuzzy, no-wrap
msgid "{Data Type} cuirass-remote-worker-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:36147
#, fuzzy
msgid "Data type representing the configuration of the Cuirass remote-worker."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:36152
#, fuzzy, no-wrap
msgid "@code{workers} (default: @code{1})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:36154
#, fuzzy
msgid "Start @var{workers} parallel workers."
msgstr "启动 @var{workers} 个并行工作者。"

#. type: table
#: guix-git/doc/guix.texi:36158
#, fuzzy
msgid "Do not use Avahi discovery and connect to the given @code{server} IP address instead."
msgstr "不要使用 Avahi 发现,而是连接到给定的 @code{server} IP 地址。"

#. type: item
#: guix-git/doc/guix.texi:36159 guix-git/doc/guix.texi:38346
#, fuzzy, no-wrap
msgid "@code{systems} (default: @code{(list (%current-system))})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:36161
#, fuzzy
msgid "Only request builds for the given @var{systems}."
msgstr "仅请求给定 @var{systems} 的构建。"

#. type: item
#: guix-git/doc/guix.texi:36162
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{\"/var/log/cuirass-remote-worker.log\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: item
#: guix-git/doc/guix.texi:36165
#, fuzzy, no-wrap
msgid "@code{publish-port} (default: @code{5558})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:36167
#, fuzzy
msgid "The TCP port of the publish server.  It defaults to @code{5558}."
msgstr "发布服务器的 TCP 端口。默认为 @code{5558}。"

#. type: subsubheading
#: guix-git/doc/guix.texi:36179
#, fuzzy, no-wrap
msgid "Laminar"
msgstr "Laminar"

#. type: Plain text
#: guix-git/doc/guix.texi:36184
#, fuzzy
msgid "@uref{https://laminar.ohwg.net/, Laminar} is a lightweight and modular Continuous Integration service.  It doesn't have a configuration web UI instead uses version-controllable configuration files and scripts."
msgstr "@uref{https://laminar.ohwg.net/, Laminar} 是一个轻量级和模块化的持续集成服务。它没有配置网页 UI,而是使用可版本控制的配置文件和脚本。"

#. type: Plain text
#: guix-git/doc/guix.texi:36187
#, fuzzy
msgid "Laminar encourages the use of existing tools such as bash and cron instead of reinventing them."
msgstr "Laminar 鼓励使用现有工具,如 bash 和 cron,而不是重新发明它们。"

#. type: defvar
#: guix-git/doc/guix.texi:36188
#, fuzzy, no-wrap
msgid "laminar-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:36191
#, fuzzy
msgid "The type of the Laminar service.  Its value must be a @code{laminar-configuration} object, as described below."
msgstr "Laminar服务的类型。它的值必须是一个@code{laminar-configuration}对象,如下所述。"

#. type: defvar
#: guix-git/doc/guix.texi:36195
#, fuzzy
msgid "All configuration values have defaults, a minimal configuration to get Laminar running is shown below. By default, the web interface is available on port 8080."
msgstr "所有配置值都有默认值,下面显示了使Laminar运行的最小配置。默认情况下,Web界面可在8080端口上使用。"

#. type: lisp
#: guix-git/doc/guix.texi:36198
#, fuzzy, no-wrap
msgid "(service laminar-service-type)\n"
msgstr "(服务 laminar-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:36201
#, fuzzy, no-wrap
msgid "{Data Type} laminar-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:36203
#, fuzzy
msgid "Data type representing the configuration of Laminar."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:36205
#, fuzzy, no-wrap
msgid "@code{laminar} (default: @code{laminar})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:36207
#, fuzzy
msgid "The Laminar package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:36208
#, fuzzy, no-wrap
msgid "@code{home-directory} (default: @code{\"/var/lib/laminar\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:36210
#, fuzzy
msgid "The directory for job configurations and run directories."
msgstr "作业配置和运行目录的目录。"

#. type: item
#: guix-git/doc/guix.texi:36211
#, fuzzy, no-wrap
msgid "@code{supplementary-groups} (default: @code{()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:36213
#, fuzzy
msgid "Supplementary groups for the Laminar user account."
msgstr "Laminar用户帐户的附加组。"

#. type: item
#: guix-git/doc/guix.texi:36214
#, fuzzy, no-wrap
msgid "@code{bind-http} (default: @code{\"*:8080\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:36217
#, fuzzy
msgid "The interface/port or unix socket on which laminard should listen for incoming connections to the web frontend."
msgstr "laminard应监听的接口/端口或unix套接字,以接收来自Web前端的传入连接。"

#. type: item
#: guix-git/doc/guix.texi:36218
#, fuzzy, no-wrap
msgid "@code{bind-rpc} (default: @code{\"unix-abstract:laminar\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:36221
#, fuzzy
msgid "The interface/port or unix socket on which laminard should listen for incoming commands such as build triggers."
msgstr "laminard应监听的接口/端口或unix套接字,以接收诸如构建触发器之类的传入命令。"

#. type: item
#: guix-git/doc/guix.texi:36222
#, fuzzy, no-wrap
msgid "@code{title} (default: @code{\"Laminar\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:36224
#, fuzzy
msgid "The page title to show in the web frontend."
msgstr "rottlog服务。"

#. type: item
#: guix-git/doc/guix.texi:36225
#, fuzzy, no-wrap
msgid "@code{keep-rundirs} (default: @code{0})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:36229
#, fuzzy
msgid "Set to an integer defining how many rundirs to keep per job.  The lowest-numbered ones will be deleted.  The default is 0, meaning all run dirs will be immediately deleted."
msgstr "设置为一个整数,定义每个作业要保留多少个运行目录。编号最低的将被删除。默认值为0,意味着所有运行目录将立即被删除。"

#. type: item
#: guix-git/doc/guix.texi:36230
#, fuzzy, no-wrap
msgid "@code{archive-url} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36233
#, fuzzy
msgid "The web frontend served by laminard will use this URL to form links to artefacts archived jobs."
msgstr "laminard提供的Web前端将使用此URL形成指向归档作业的工件的链接。"

#. type: item
#: guix-git/doc/guix.texi:36234
#, fuzzy, no-wrap
msgid "@code{base-url} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36236
#, fuzzy
msgid "Base URL to use for links to laminar itself."
msgstr "用于指向laminar本身的链接的基本URL。"

#. type: cindex
#: guix-git/doc/guix.texi:36243
#, fuzzy, no-wrap
msgid "power-profiles-daemon"
msgstr "power-profiles-daemon"

#. type: subsubheading
#: guix-git/doc/guix.texi:36244
#, fuzzy, no-wrap
msgid "Power Profiles Daemon"
msgstr "电源配置守护进程"

#. type: Plain text
#: guix-git/doc/guix.texi:36249
#, fuzzy
msgid "The @code{(gnu services pm)} module provides a Guix service definition for the Linux Power Profiles Daemon, which makes power profiles handling available over D-Bus."
msgstr "@code{(gnu services pm)}模块为Linux电源配置守护进程提供了Guix服务定义,该守护进程通过D-Bus提供电源配置处理。"

#. type: Plain text
#: guix-git/doc/guix.texi:36252
#, fuzzy
msgid "The available profiles consist of the default @samp{balanced} mode, a @samp{power-saver} mode and on supported systems a @samp{performance} mode."
msgstr "可用的配置包括默认的@samp{balanced}模式、@samp{power-saver}模式以及在支持的系统上提供的@samp{performance}模式。"

#. type: quotation
#: guix-git/doc/guix.texi:36256
#, fuzzy
msgid "The @code{power-profiles-daemon} conflicts with other power management tools like @code{tlp}. Using both together is not recommended."
msgstr "@code{power-profiles-daemon}与其他电源管理工具如@code{tlp}冲突。不建议同时使用两者。"

#. type: defvar
#: guix-git/doc/guix.texi:36258
#, fuzzy, no-wrap
msgid "power-profiles-daemon-service-type"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:36262
#, fuzzy
msgid "This is the service type for the @uref{https://gitlab.freedesktop.org/upower/power-profiles-daemon/, Power Profiles Daemon}.  The value for this service is a @code{power-profiles-daemon-configuration}."
msgstr "这是@uref{https://gitlab.freedesktop.org/upower/power-profiles-daemon/, 电源配置守护进程}的服务类型。此服务的值是@code{power-profiles-daemon-configuration}。"

#. type: defvar
#: guix-git/doc/guix.texi:36265
#, fuzzy
msgid "To enable the Power Profiles Daemon with default configuration add this line to your services:"
msgstr "要启用具有默认配置的电源配置守护进程,请将此行添加到您的服务中:"

#. type: lisp
#: guix-git/doc/guix.texi:36268
#, fuzzy, no-wrap
msgid "(service power-profiles-daemon-service-type)\n"
msgstr "(service home-znc-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:36271
#, fuzzy, no-wrap
msgid "{Data Type} power-profiles-daemon-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:36273
#, fuzzy
msgid "Data type representing the configuration of @code{power-profiles-daemon-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:36275
#, fuzzy, no-wrap
msgid "@code{power-profiles-daemon} (default: @code{power-profiles-daemon}) (type: file-like)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36277
#, fuzzy
msgid "Package object of power-profiles-daemon."
msgstr "软件包数据类型。"

#. type: cindex
#: guix-git/doc/guix.texi:36282
#, fuzzy, no-wrap
msgid "tlp"
msgstr "tlp"

#. type: cindex
#: guix-git/doc/guix.texi:36283
#, fuzzy, no-wrap
msgid "power management with TLP"
msgstr "与TLP的电源管理"

#. type: subsubheading
#: guix-git/doc/guix.texi:36284
#, fuzzy, no-wrap
msgid "TLP daemon"
msgstr "TLP守护进程"

#. type: Plain text
#: guix-git/doc/guix.texi:36288
#, fuzzy
msgid "The @code{(gnu services pm)} module provides a Guix service definition for the Linux power management tool TLP."
msgstr "@code{(gnu services pm)}模块为Linux电源管理工具TLP提供了Guix服务定义。"

#. type: Plain text
#: guix-git/doc/guix.texi:36294
#, fuzzy
msgid "TLP enables various powersaving modes in userspace and kernel.  Contrary to @code{upower-service}, it is not a passive, monitoring tool, as it will apply custom settings each time a new power source is detected.  More information can be found at @uref{https://linrunner.de/en/tlp/tlp.html, TLP home page}."
msgstr "TLP在用户空间和内核中启用各种节能模式。与@code{upower-service}相反,它不是一个被动的监控工具,因为它将在每次检测到新的电源时应用自定义设置。更多信息可以在@uref{https://linrunner.de/en/tlp/tlp.html, TLP主页}找到。"

#. type: defvar
#: guix-git/doc/guix.texi:36295
#, fuzzy, no-wrap
msgid "tlp-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:36299
#, fuzzy
msgid "The service type for the TLP tool.  The default settings are optimised for battery life on most systems, but you can tweak them to your heart's content by adding a valid @code{tlp-configuration}:"
msgstr "TLP工具的服务类型。默认设置针对大多数系统进行了优化,以延长电池寿命,但您可以通过添加有效的@code{tlp-configuration}来随心所欲地调整它们:"

#. type: lisp
#: guix-git/doc/guix.texi:36304
#, fuzzy, no-wrap
msgid ""
"(service tlp-service-type\n"
"         (tlp-configuration\n"
"          (cpu-scaling-governor-on-ac (list \"performance\"))\n"
"          (sched-powersave-on-bat? #t)))\n"
msgstr ""
"(service tlp-service-type\n"
"         (tlp-configuration\n"
"          (cpu-scaling-governor-on-ac (list \"performance\"))\n"
"          (sched-powersave-on-bat? #t)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:36312
#, fuzzy
msgid "Each parameter definition is preceded by its type; for example, @samp{boolean foo} indicates that the @code{foo} parameter should be specified as a boolean.  Types starting with @code{maybe-} denote parameters that won't show up in TLP config file when their value is left unset, or is explicitly set to the @code{%unset-value} value."
msgstr "每个参数定义前都有其类型;例如,@samp{boolean foo}表示@code{foo}参数应指定为布尔值。以@code{maybe-}开头的类型表示当其值未设置或明确设置为@code{%unset-value}值时,参数不会出现在TLP配置文件中。"

#. type: Plain text
#: guix-git/doc/guix.texi:36322
#, fuzzy
msgid "Available @code{tlp-configuration} fields are:"
msgstr "可用的@code{tlp-configuration}字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:36323
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} package tlp"
msgstr "{@code{tlp-configuration}参数}包 tlp"

#. type: deftypevr
#: guix-git/doc/guix.texi:36325
#, fuzzy
msgid "The TLP package."
msgstr "TLP包。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36328
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} boolean tlp-enable?"
msgstr "{@code{tlp-configuration}参数}布尔值 tlp-enable?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36330
#, fuzzy
msgid "Set to true if you wish to enable TLP."
msgstr "如果您希望启用TLP,请设置为true。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36335
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string tlp-default-mode"
msgstr "{@code{tlp-configuration}参数}字符串 tlp-default-mode"

#. type: deftypevr
#: guix-git/doc/guix.texi:36338
#, fuzzy
msgid "Default mode when no power supply can be detected.  Alternatives are AC and BAT."
msgstr "当无法检测到电源时的默认模式。可选项为AC和BAT。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36340
#, fuzzy
msgid "Defaults to @samp{\"AC\"}."
msgstr "默认为@samp{\"AC\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36343
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-ac"
msgstr "{@code{tlp-configuration}参数}非负整数 disk-idle-secs-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36346
#, fuzzy
msgid "Number of seconds Linux kernel has to wait after the disk goes idle, before syncing on AC."
msgstr "Linux内核在AC模式下,磁盘空闲后必须等待的秒数,然后进行同步。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36351
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-bat"
msgstr "{@code{tlp-configuration}参数}非负整数 disk-idle-secs-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36353
#, fuzzy
msgid "Same as @code{disk-idle-ac} but on BAT mode."
msgstr "与@code{disk-idle-ac}相同,但在BAT模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36355
#, fuzzy
msgid "Defaults to @samp{2}."
msgstr "默认为@samp{2}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36358
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-ac"
msgstr "{@code{tlp-configuration}参数}非负整数 max-lost-work-secs-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36360
#, fuzzy
msgid "Dirty pages flushing periodicity, expressed in seconds."
msgstr "脏页刷新周期,以秒为单位表示。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36362 guix-git/doc/guix.texi:36585
#: guix-git/doc/guix.texi:39526 guix-git/doc/guix.texi:39534
#, fuzzy
msgid "Defaults to @samp{15}."
msgstr "默认为@samp{15}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36365
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-bat"
msgstr "{@code{tlp-configuration}参数}非负整数 max-lost-work-secs-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36367
#, fuzzy
msgid "Same as @code{max-lost-work-secs-on-ac} but on BAT mode."
msgstr "与@code{max-lost-work-secs-on-ac}相同,但在BAT模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36369
#, fuzzy
msgid "Defaults to @samp{60}."
msgstr "默认为@samp{60}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36372
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-ac"
msgstr "{@code{tlp-configuration}参数}可能是空格分隔的字符串列表 cpu-scaling-governor-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36376
#, fuzzy
msgid "CPU frequency scaling governor on AC mode.  With intel_pstate driver, alternatives are powersave and performance.  With acpi-cpufreq driver, alternatives are ondemand, powersave, performance and conservative."
msgstr "AC模式下的CPU频率缩放治理者。使用intel_pstate驱动程序时,可选项为powersave和performance。使用acpi-cpufreq驱动程序时,可选项为ondemand、powersave、performance和conservative。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36381
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-bat"
msgstr "{@code{tlp-configuration}参数}可能是空格分隔的字符串列表 cpu-scaling-governor-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36383
#, fuzzy
msgid "Same as @code{cpu-scaling-governor-on-ac} but on BAT mode."
msgstr "与 @code{cpu-scaling-governor-on-ac} 相同,但在电池模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36388
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-ac"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 cpu-scaling-min-freq-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36390
#, fuzzy
msgid "Set the min available frequency for the scaling governor on AC."
msgstr "设置 AC 模式下缩放治理器的最小可用频率。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36395
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-ac"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 cpu-scaling-max-freq-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36397
#, fuzzy
msgid "Set the max available frequency for the scaling governor on AC."
msgstr "设置 AC 模式下缩放治理器的最大可用频率。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36402
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-bat"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 cpu-scaling-min-freq-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36404
#, fuzzy
msgid "Set the min available frequency for the scaling governor on BAT."
msgstr "设置电池模式下缩放治理器的最小可用频率。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36409
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-bat"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 cpu-scaling-max-freq-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36411
#, fuzzy
msgid "Set the max available frequency for the scaling governor on BAT."
msgstr "设置电池模式下缩放治理器的最大可用频率。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36416
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-ac"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 cpu-min-perf-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36419
#, fuzzy
msgid "Limit the min P-state to control the power dissipation of the CPU, in AC mode.  Values are stated as a percentage of the available performance."
msgstr "限制最小 P 状态以控制 CPU 的功耗,在 AC 模式下。值以可用性能的百分比表示。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36424
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-ac"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 cpu-max-perf-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36427
#, fuzzy
msgid "Limit the max P-state to control the power dissipation of the CPU, in AC mode.  Values are stated as a percentage of the available performance."
msgstr "限制最大 P 状态以控制 CPU 的功耗,在 AC 模式下。值以可用性能的百分比表示。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36432
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-bat"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 cpu-min-perf-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36434
#, fuzzy
msgid "Same as @code{cpu-min-perf-on-ac} on BAT mode."
msgstr "在电池模式下与 @code{cpu-min-perf-on-ac} 相同。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36439
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-bat"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 cpu-max-perf-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36441
#, fuzzy
msgid "Same as @code{cpu-max-perf-on-ac} on BAT mode."
msgstr "在电池模式下与 @code{cpu-max-perf-on-ac} 相同。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36446
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-ac?"
msgstr "{@code{tlp-configuration} 参数} 可能是布尔值 cpu-boost-on-ac?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36448
#, fuzzy
msgid "Enable CPU turbo boost feature on AC mode."
msgstr "在 AC 模式下启用 CPU 涡轮增压功能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36453
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-bat?"
msgstr "{@code{tlp-configuration} 参数} 可能是布尔值 cpu-boost-on-bat?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36455
#, fuzzy
msgid "Same as @code{cpu-boost-on-ac?} on BAT mode."
msgstr "在电池模式下与 @code{cpu-boost-on-ac?} 相同。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36460
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-ac?"
msgstr "{@code{tlp-configuration} 参数} 布尔值 sched-powersave-on-ac?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36463
#, fuzzy
msgid "Allow Linux kernel to minimize the number of CPU cores/hyper-threads used under light load conditions."
msgstr "允许 Linux 内核在轻负载条件下最小化使用的 CPU 核心/超线程数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36468
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-bat?"
msgstr "{@code{tlp-configuration} 参数} 布尔值 sched-powersave-on-bat?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36470
#, fuzzy
msgid "Same as @code{sched-powersave-on-ac?} but on BAT mode."
msgstr "与 @code{sched-powersave-on-ac?} 相同,但在电池模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36475
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} boolean nmi-watchdog?"
msgstr "{@code{tlp-configuration} 参数} 布尔值 nmi-watchdog?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36477
#, fuzzy
msgid "Enable Linux kernel NMI watchdog."
msgstr "启用 Linux 内核 NMI 看门狗。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36482
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-string phc-controls"
msgstr "{@code{tlp-configuration} 参数} 可能是字符串 phc-controls"

#. type: deftypevr
#: guix-git/doc/guix.texi:36485
#, fuzzy
msgid "For Linux kernels with PHC patch applied, change CPU voltages.  An example value would be @samp{\"F:V F:V F:V F:V\"}."
msgstr "对于应用了 PHC 补丁的 Linux 内核,改变 CPU 电压。示例值为 @samp{\"F:V F:V F:V F:V\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36490
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-ac"
msgstr "{@code{tlp-configuration} 参数} 字符串 energy-perf-policy-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36493
#, fuzzy
msgid "Set CPU performance versus energy saving policy on AC@.  Alternatives are performance, normal, powersave."
msgstr "在 AC@ 上设置 CPU 性能与节能策略。可选项有 performance、normal、powersave。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36495 guix-git/doc/guix.texi:36593
#: guix-git/doc/guix.texi:36651
#, fuzzy
msgid "Defaults to @samp{\"performance\"}."
msgstr "默认为 @samp{\"performance\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36498
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-bat"
msgstr "{@code{tlp-configuration} 参数} 字符串 energy-perf-policy-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36500
#, fuzzy
msgid "Same as @code{energy-perf-policy-ac} but on BAT mode."
msgstr "与 @code{energy-perf-policy-ac} 相同,但在 BAT 模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36502 guix-git/doc/guix.texi:36600
#, fuzzy
msgid "Defaults to @samp{\"powersave\"}."
msgstr "默认为 @samp{\"powersave\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36505
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} space-separated-string-list disks-devices"
msgstr "{@code{tlp-configuration} 参数} 空格分隔字符串列表 disks-devices"

#. type: deftypevr
#: guix-git/doc/guix.texi:36507
#, fuzzy
msgid "Hard disk devices."
msgstr "硬盘设备。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36510
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-ac"
msgstr "{@code{tlp-configuration} 参数} 空格分隔字符串列表 disk-apm-level-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36512
#, fuzzy
msgid "Hard disk advanced power management level."
msgstr "硬盘高级电源管理级别。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36515
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-bat"
msgstr "{@code{tlp-configuration} 参数} 空格分隔字符串列表 disk-apm-level-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36517
#, fuzzy
msgid "Same as @code{disk-apm-bat} but on BAT mode."
msgstr "与 @code{disk-apm-bat} 相同,但在 BAT 模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36520
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-ac"
msgstr "{@code{tlp-configuration} 参数} 可能是空格分隔字符串列表 disk-spindown-timeout-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36523
#, fuzzy
msgid "Hard disk spin down timeout.  One value has to be specified for each declared hard disk."
msgstr "硬盘停转超时。每个声明的硬盘必须指定一个值。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36528
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-bat"
msgstr "{@code{tlp-configuration} 参数} 可能是空格分隔字符串列表 disk-spindown-timeout-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36530
#, fuzzy
msgid "Same as @code{disk-spindown-timeout-on-ac} but on BAT mode."
msgstr "与 @code{disk-spindown-timeout-on-ac} 相同,但在 BAT 模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36535
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-iosched"
msgstr "{@code{tlp-configuration} 参数} 可能是空格分隔字符串列表 disk-iosched"

#. type: deftypevr
#: guix-git/doc/guix.texi:36539
#, fuzzy
msgid "Select IO scheduler for disk devices.  One value has to be specified for each declared hard disk.  Example alternatives are cfq, deadline and noop."
msgstr "选择硬盘设备的 IO 调度程序。每个声明的硬盘必须指定一个值。示例可选项有 cfq、deadline 和 noop。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36544
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-ac"
msgstr "{@code{tlp-configuration} 参数} 字符串 sata-linkpwr-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36547
#, fuzzy
msgid "SATA aggressive link power management (ALPM) level.  Alternatives are min_power, medium_power, max_performance."
msgstr "SATA 激进链接电源管理 (ALPM) 级别。可选项有 min_power、medium_power、max_performance。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36549
#, fuzzy
msgid "Defaults to @samp{\"max_performance\"}."
msgstr "默认为 @samp{\"max_performance\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36552
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-bat"
msgstr "{@code{tlp-configuration} 参数} 字符串 sata-linkpwr-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36554
#, fuzzy
msgid "Same as @code{sata-linkpwr-ac} but on BAT mode."
msgstr "与 @code{sata-linkpwr-ac} 相同,但在 BAT 模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36556
#, fuzzy
msgid "Defaults to @samp{\"min_power\"}."
msgstr "默认为 @samp{\"min_power\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36559
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-string sata-linkpwr-blacklist"
msgstr "{@code{tlp-configuration} 参数} 可能是字符串 sata-linkpwr-blacklist"

#. type: deftypevr
#: guix-git/doc/guix.texi:36561
#, fuzzy
msgid "Exclude specified SATA host devices for link power management."
msgstr "排除指定的 SATA 主机设备以进行链接电源管理。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36566
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-ac?"
msgstr "{@code{tlp-configuration} 参数} 可能是开关布尔值 ahci-runtime-pm-on-ac?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36569
#, fuzzy
msgid "Enable Runtime Power Management for AHCI controller and disks on AC mode."
msgstr "在 AC 模式下为 AHCI 控制器和磁盘启用运行时电源管理。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36574
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-bat?"
msgstr "{@code{tlp-configuration} 参数} 可能是开关布尔值 ahci-runtime-pm-on-bat?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36576
#, fuzzy
msgid "Same as @code{ahci-runtime-pm-on-ac} on BAT mode."
msgstr "与 @code{ahci-runtime-pm-on-ac} 在电池模式下相同。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36581
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} non-negative-integer ahci-runtime-pm-timeout"
msgstr "{@code{tlp-configuration} 参数} 非负整数 ahci-runtime-pm-timeout"

#. type: deftypevr
#: guix-git/doc/guix.texi:36583
#, fuzzy
msgid "Seconds of inactivity before disk is suspended."
msgstr "磁盘在不活动状态下暂停的秒数。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36588
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-ac"
msgstr "{@code{tlp-configuration} 参数} 字符串 pcie-aspm-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36591
#, fuzzy
msgid "PCI Express Active State Power Management level.  Alternatives are default, performance, powersave."
msgstr "PCI Express 活动状态电源管理级别。替代选项有默认、性能、省电。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36596
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-bat"
msgstr "{@code{tlp-configuration} 参数} 字符串 pcie-aspm-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36598
#, fuzzy
msgid "Same as @code{pcie-aspm-ac} but on BAT mode."
msgstr "与 @code{pcie-aspm-ac} 相同,但在电池模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36603
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer start-charge-thresh-bat0"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 start-charge-thresh-bat0"

#. type: deftypevr
#: guix-git/doc/guix.texi:36605
#, fuzzy
msgid "Percentage when battery 0 should begin charging.  Only supported on some laptops."
msgstr "电池 0 应该开始充电的百分比。仅在某些笔记本电脑上支持。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36610
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer stop-charge-thresh-bat0"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 stop-charge-thresh-bat0"

#. type: deftypevr
#: guix-git/doc/guix.texi:36612
#, fuzzy
msgid "Percentage when battery 0 should stop charging.  Only supported on some laptops."
msgstr "电池 0 应该停止充电的百分比。仅在某些笔记本电脑上支持。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36617
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer start-charge-thresh-bat1"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 start-charge-thresh-bat1"

#. type: deftypevr
#: guix-git/doc/guix.texi:36619
#, fuzzy
msgid "Percentage when battery 1 should begin charging.  Only supported on some laptops."
msgstr "电池 1 应该开始充电的百分比。仅在某些笔记本电脑上支持。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36624
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer stop-charge-thresh-bat1"
msgstr "{@code{tlp-configuration} 参数} 可能是非负整数 stop-charge-thresh-bat1"

#. type: deftypevr
#: guix-git/doc/guix.texi:36626
#, fuzzy
msgid "Percentage when battery 1 should stop charging.  Only supported on some laptops."
msgstr "电池 1 应该停止充电的百分比。仅在某些笔记本电脑上支持。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36631
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-ac"
msgstr "{@code{tlp-configuration} 参数} 字符串 radeon-power-profile-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36634
#, fuzzy
msgid "Radeon graphics clock speed level.  Alternatives are low, mid, high, auto, default."
msgstr "Radeon 图形时钟速度级别。替代选项有低、中、高、自动、默认。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36636
#, fuzzy
msgid "Defaults to @samp{\"high\"}."
msgstr "默认为 @samp{\"high\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36639
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-bat"
msgstr "{@code{tlp-configuration} 参数} 字符串 radeon-power-profile-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36641
#, fuzzy
msgid "Same as @code{radeon-power-ac} but on BAT mode."
msgstr "与 @code{radeon-power-ac} 相同,但在电池模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36643
#, fuzzy
msgid "Defaults to @samp{\"low\"}."
msgstr "默认为 @samp{\"low\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36646
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-ac"
msgstr "{@code{tlp-configuration} 参数} 字符串 radeon-dpm-state-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36649
#, fuzzy
msgid "Radeon dynamic power management method (DPM).  Alternatives are battery, performance."
msgstr "Radeon 动态电源管理方法 (DPM)。替代选项有电池、性能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36654
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-bat"
msgstr "{@code{tlp-configuration} 参数} 字符串 radeon-dpm-state-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36656
#, fuzzy
msgid "Same as @code{radeon-dpm-state-ac} but on BAT mode."
msgstr "与 @code{radeon-dpm-state-ac} 相同,但在电池模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36658
#, fuzzy
msgid "Defaults to @samp{\"battery\"}."
msgstr "默认为 @samp{\"battery\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36661
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-ac"
msgstr "{@code{tlp-configuration} 参数} 字符串 radeon-dpm-perf-level-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36663
#, fuzzy
msgid "Radeon DPM performance level.  Alternatives are auto, low, high."
msgstr "Radeon DPM 性能级别。替代选项有自动、低、高。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36665 guix-git/doc/guix.texi:36672
#: guix-git/doc/guix.texi:36746
#, fuzzy
msgid "Defaults to @samp{\"auto\"}."
msgstr "默认为 @samp{\"auto\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36668
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-bat"
msgstr "{@code{tlp-configuration} 参数} 字符串 radeon-dpm-perf-level-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36670
#, fuzzy
msgid "Same as @code{radeon-dpm-perf-ac} but on BAT mode."
msgstr "与 @code{radeon-dpm-perf-ac} 相同,但在电池模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36675
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-ac?"
msgstr "{@code{tlp-configuration} 参数} 开关布尔值 wifi-pwr-on-ac?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36677
#, fuzzy
msgid "Wifi power saving mode."
msgstr "WiFi省电模式。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36682
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-bat?"
msgstr "{@code{tlp-configuration} 参数} 开关布尔值 wifi-pwr-on-bat?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36684
#, fuzzy
msgid "Same as @code{wifi-power-ac?} but on BAT mode."
msgstr "与 @code{wifi-power-ac?} 相同,但在电池模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36689
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} y-n-boolean wol-disable?"
msgstr "{@code{tlp-configuration} 参数} 是非负整数 wol-disable?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36691
#, fuzzy
msgid "Disable wake on LAN."
msgstr "禁用局域网唤醒。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36696
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-ac"
msgstr "{@code{tlp-configuration} 参数} 非负整数 sound-power-save-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36699
#, fuzzy
msgid "Timeout duration in seconds before activating audio power saving on Intel HDA and AC97 devices.  A value of 0 disables power saving."
msgstr "在 Intel HDA 和 AC97 设备上激活音频省电的超时持续时间(以秒为单位)。值为 0 将禁用省电。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36704
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-bat"
msgstr "{@code{tlp-configuration} 参数} 非负整数 sound-power-save-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36706
#, fuzzy
msgid "Same as @code{sound-powersave-ac} but on BAT mode."
msgstr "与 @code{sound-powersave-ac} 相同,但在电池模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36711
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} y-n-boolean sound-power-save-controller?"
msgstr "{@code{tlp-configuration} 参数} 开关布尔值 sound-power-save-controller?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36713
#, fuzzy
msgid "Disable controller in powersaving mode on Intel HDA devices."
msgstr "在 Intel HDA 设备上禁用省电模式下的控制器。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36718
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} boolean bay-poweroff-on-bat?"
msgstr "{@code{tlp-configuration} 参数} 布尔值 bay-poweroff-on-bat?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36722
#, fuzzy
msgid "Enable optical drive in UltraBay/MediaBay on BAT mode.  Drive can be powered on again by releasing (and reinserting) the eject lever or by pressing the disc eject button on newer models."
msgstr "在电池模式下启用 UltraBay/MediaBay 中的光驱。通过释放(并重新插入)弹出杆或按下新型号上的光盘弹出按钮可以再次开启驱动器。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36727
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string bay-device"
msgstr "{@code{tlp-configuration} 参数} 字符串 bay-device"

#. type: deftypevr
#: guix-git/doc/guix.texi:36729
#, fuzzy
msgid "Name of the optical drive device to power off."
msgstr "要关闭电源的光驱设备名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36731
#, fuzzy
msgid "Defaults to @samp{\"sr0\"}."
msgstr "默认为 @samp{\"sr0\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36734
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-ac"
msgstr "{@code{tlp-configuration} 参数} 字符串 runtime-pm-on-ac"

#. type: deftypevr
#: guix-git/doc/guix.texi:36737
#, fuzzy
msgid "Runtime Power Management for PCI(e) bus devices.  Alternatives are on and auto."
msgstr "PCI(e) 总线设备的运行时电源管理。可选值为 on 和 auto。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36739
#, fuzzy
msgid "Defaults to @samp{\"on\"}."
msgstr "默认为 @samp{\"on\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36742
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-bat"
msgstr "{@code{tlp-configuration} 参数} 字符串 runtime-pm-on-bat"

#. type: deftypevr
#: guix-git/doc/guix.texi:36744
#, fuzzy
msgid "Same as @code{runtime-pm-ac} but on BAT mode."
msgstr "与 @code{runtime-pm-ac} 相同,但在电池模式下。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36749
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} boolean runtime-pm-all?"
msgstr "{@code{tlp-configuration} 参数} 布尔值 runtime-pm-all?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36752
#, fuzzy
msgid "Runtime Power Management for all PCI(e) bus devices, except blacklisted ones."
msgstr "所有 PCI(e) 总线设备的运行时电源管理,除了黑名单中的设备。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36757
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list runtime-pm-blacklist"
msgstr "{@code{tlp-configuration} 参数} 可能是空格分隔的字符串列表 runtime-pm-blacklist"

#. type: deftypevr
#: guix-git/doc/guix.texi:36759
#, fuzzy
msgid "Exclude specified PCI(e) device addresses from Runtime Power Management."
msgstr "从运行时电源管理中排除指定的 PCI(e) 设备地址。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36764
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} space-separated-string-list runtime-pm-driver-blacklist"
msgstr "{@code{tlp-configuration} 参数} 空格分隔的字符串列表 runtime-pm-driver-blacklist"

#. type: deftypevr
#: guix-git/doc/guix.texi:36767
#, fuzzy
msgid "Exclude PCI(e) devices assigned to the specified drivers from Runtime Power Management."
msgstr "从运行时电源管理中排除分配给指定驱动程序的 PCI(e) 设备。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36770
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} boolean usb-autosuspend?"
msgstr "{@code{tlp-configuration} 参数} 布尔值 usb-autosuspend?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36772
#, fuzzy
msgid "Enable USB autosuspend feature."
msgstr "启用 USB 自动挂起功能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36777
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-string usb-blacklist"
msgstr "{@code{tlp-configuration} 参数} 可能是字符串 usb-blacklist"

#. type: deftypevr
#: guix-git/doc/guix.texi:36779
#, fuzzy
msgid "Exclude specified devices from USB autosuspend."
msgstr "从 USB 自动挂起中排除指定设备。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36784
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} boolean usb-blacklist-wwan?"
msgstr "{@code{tlp-configuration} 参数} 布尔值 usb-blacklist-wwan?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36786
#, fuzzy
msgid "Exclude WWAN devices from USB autosuspend."
msgstr "从 USB 自动挂起中排除 WWAN 设备。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36791
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-string usb-whitelist"
msgstr "{@code{tlp-configuration} 参数} 可能是字符串 usb-whitelist"

#. type: deftypevr
#: guix-git/doc/guix.texi:36794
#, fuzzy
msgid "Include specified devices into USB autosuspend, even if they are already excluded by the driver or via @code{usb-blacklist-wwan?}."
msgstr "将指定设备包含到 USB 自动挂起中,即使它们已经被驱动程序或通过 @code{usb-blacklist-wwan?} 排除。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36799
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} maybe-boolean usb-autosuspend-disable-on-shutdown?"
msgstr "{@code{tlp-configuration} 参数} 可能是布尔值 usb-autosuspend-disable-on-shutdown?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36801
#, fuzzy
msgid "Enable USB autosuspend before shutdown."
msgstr "在关机前启用 USB 自动挂起。"

#. type: deftypevr
#: guix-git/doc/guix.texi:36806
#, fuzzy, no-wrap
msgid "{@code{tlp-configuration} parameter} boolean restore-device-state-on-startup?"
msgstr "{@code{tlp-configuration} 参数} 布尔值 restore-device-state-on-startup?"

#. type: deftypevr
#: guix-git/doc/guix.texi:36809
#, fuzzy
msgid "Restore radio device state (bluetooth, wifi, wwan) from previous shutdown on system startup."
msgstr "在系统启动时恢复之前关机时的无线设备状态(蓝牙、WiFi、WWAN)。"

#. type: cindex
#: guix-git/doc/guix.texi:36814
#, fuzzy, no-wrap
msgid "thermald"
msgstr "thermald"

#. type: cindex
#: guix-git/doc/guix.texi:36815
#, fuzzy, no-wrap
msgid "CPU frequency scaling with thermald"
msgstr "使用 thermald 进行 CPU 频率调节"

#. type: subsubheading
#: guix-git/doc/guix.texi:36816
#, fuzzy, no-wrap
msgid "Thermald daemon"
msgstr "Thermald 守护进程"

#. type: Plain text
#: guix-git/doc/guix.texi:36820
#, fuzzy
msgid "The @code{(gnu services pm)} module provides an interface to thermald, a CPU frequency scaling service which helps prevent overheating."
msgstr "@code{(gnu services pm)} 模块提供了一个接口给 thermald,一个 CPU 频率调节服务,帮助防止过热。"

#. type: defvar
#: guix-git/doc/guix.texi:36821
#, fuzzy, no-wrap
msgid "thermald-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:36826
#, fuzzy
msgid "This is the service type for @uref{https://01.org/linux-thermal-daemon/, thermald}, the Linux Thermal Daemon, which is responsible for controlling the thermal state of processors and preventing overheating."
msgstr "这是 @uref{https://01.org/linux-thermal-daemon/, thermald} 的服务类型,Linux 热管理守护进程,负责控制处理器的热状态并防止过热。"

#. type: deftp
#: guix-git/doc/guix.texi:36828
#, fuzzy, no-wrap
msgid "{Data Type} thermald-configuration"
msgstr "{数据类型} thermald-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:36830
#, fuzzy
msgid "Data type representing the configuration of @code{thermald-service-type}."
msgstr "表示 @code{thermald-service-type} 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:36832
#, fuzzy, no-wrap
msgid "@code{adaptive?} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36835
#, fuzzy
msgid "Use @acronym{DPTF, Dynamic Power and Thermal Framework} adaptive tables when present."
msgstr "在存在时使用 @acronym{DPTF, 动态电源和热框架} 自适应表。"

#. type: item
#: guix-git/doc/guix.texi:36836
#, fuzzy, no-wrap
msgid "@code{ignore-cpuid-check?} (default: @code{#f})"
msgstr "@code{ignore-cpuid-check?}(默认:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36838
#, fuzzy
msgid "Ignore cpuid check for supported CPU models."
msgstr "忽略对支持的 CPU 型号的 cpuid 检查。"

#. type: item
#: guix-git/doc/guix.texi:36839
#, fuzzy, no-wrap
msgid "@code{thermald} (default: @var{thermald})"
msgstr "@code{thermald}(默认:@var{thermald})"

#. type: table
#: guix-git/doc/guix.texi:36841
#, fuzzy
msgid "Package object of thermald."
msgstr "thermald 的包对象。"

#. type: subsubheading
#: guix-git/doc/guix.texi:36842 guix-git/doc/guix.texi:36844
#, fuzzy, no-wrap
msgid "PowerTOP"
msgstr "PowerTOP"

#. type: cindex
#: guix-git/doc/guix.texi:36843
#, fuzzy, no-wrap
msgid "power consumption tuning with PowerTOP"
msgstr "使用 PowerTOP 进行功耗调节"

#. type: table
#: guix-git/doc/guix.texi:36850
#, fuzzy
msgid "The @code{(gnu services pm)} module also provides a service definition for @uref{https://01.org/powertop/, PowerTOP}, a power consumption analysis and tuning tool.  When started, it tunes Linux kernel settings to reduce power consumption."
msgstr "@code{(gnu services pm)} 模块还提供了 @uref{https://01.org/powertop/, PowerTOP} 的服务定义,这是一个功耗分析和调节工具。当启动时,它会调节 Linux 内核设置以减少功耗。"

#. type: defvar
#: guix-git/doc/guix.texi:36851
#, fuzzy, no-wrap
msgid "powertop-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:36854
#, fuzzy
msgid "The service type for PowerTOP.  No configuration is necessary.  When the service starts, it executes @code{powertop --auto-tune}."
msgstr "PowerTOP 的服务类型。无需配置。当服务启动时,它会执行 @code{powertop --auto-tune}。"

#. type: lisp
#: guix-git/doc/guix.texi:36857
#, fuzzy, no-wrap
msgid "(service powertop-service-type)\n"
msgstr "(service home-znc-service-type)\n"

#. type: table
#: guix-git/doc/guix.texi:36861
#, fuzzy
msgid "Available @code{powertop-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: deftypevr
#: guix-git/doc/guix.texi:36862
#, fuzzy, no-wrap
msgid "{@code{powertop-configuration} parameter} package powertop"
msgstr "{@code{powertop-configuration} 参数} 包 powertop"

#. type: deftypevr
#: guix-git/doc/guix.texi:36865
#, fuzzy
msgid "The PowerTOP package.  Defaults to @code{powertop} in the @code{(gnu packages linux)} module"
msgstr "PowerTOP 包。在 @code{(gnu packages linux)} 模块中默认为 @code{powertop}。"

#. type: Plain text
#: guix-git/doc/guix.texi:36876
#, fuzzy
msgid "The @code{(gnu services audio)} module provides a service to start MPD (the Music Player Daemon)."
msgstr "@code{(gnu services audio)}模块提供了一个服务来启动MPD(音乐播放器守护进程)。"

#. type: cindex
#: guix-git/doc/guix.texi:36877
#, fuzzy, no-wrap
msgid "mpd"
msgstr "mpd"

#. type: subsubheading
#: guix-git/doc/guix.texi:36878
#, fuzzy, no-wrap
msgid "Music Player Daemon"
msgstr "音乐播放器守护进程"

#. type: Plain text
#: guix-git/doc/guix.texi:36883
#, fuzzy
msgid "The Music Player Daemon (MPD) is a service that can play music while being controlled from the local machine or over the network by a variety of clients."
msgstr "音乐播放器守护进程(MPD)是一项服务,可以在本地机器或通过网络由多种客户端控制播放音乐。"

#. type: Plain text
#: guix-git/doc/guix.texi:36891
#, fuzzy
msgid "The following example shows the simplest configuration to locally expose, via PulseAudio, a music collection kept at @file{/srv/music}, with @command{mpd} running as the default @samp{mpd} user.  This user will spawn its own PulseAudio daemon, which may compete for the sound card access with that of your own user.  In this configuration, you may have to stop the playback of your user audio applications to hear MPD's output and vice-versa."
msgstr "以下示例显示了最简单的配置,通过PulseAudio本地暴露保存在@file{/srv/music}中的音乐集合,@command{mpd}以默认的@samp{mpd}用户身份运行。此用户将启动自己的PulseAudio守护进程,这可能会与您自己的用户的声卡访问竞争。在此配置中,您可能需要停止用户音频应用程序的播放才能听到MPD的输出,反之亦然。"

#. type: lisp
#: guix-git/doc/guix.texi:36896
#, fuzzy, no-wrap
msgid ""
"(service mpd-service-type\n"
"         (mpd-configuration\n"
"          (music-directory \"/srv/music\")))\n"
msgstr ""
"(service dovecot-service-type\n"
"         (dovecot-configuration\n"
"           (mail-location \"maildir:~/.mail\")))\n"

#. type: quotation
#: guix-git/doc/guix.texi:36903
#, fuzzy
msgid "The music directory must be readable to the MPD user, by default, @samp{mpd}.  Permission problems will be reported via @samp{Permission denied} errors in the MPD logs, which appear in @file{/var/log/messages} by default."
msgstr "音乐目录必须对MPD用户可读,默认情况下为@samp{mpd}。权限问题将在MPD日志中通过@samp{Permission denied}错误报告,默认情况下出现在@file{/var/log/messages}中。"

#. type: Plain text
#: guix-git/doc/guix.texi:36907
#, fuzzy
msgid "Most MPD clients will trigger a database update upon connecting, but you can also use the @code{update} action do to so:"
msgstr "大多数MPD客户端在连接时会触发数据库更新,但您也可以使用@code{update}操作来做到这一点:"

#. type: example
#: guix-git/doc/guix.texi:36910
#, fuzzy, no-wrap
msgid "herd update mpd\n"
msgstr "herd update mpd\n"

#. type: Plain text
#: guix-git/doc/guix.texi:36914
#, fuzzy
msgid "All the MPD configuration fields are documented below, and a more complex example follows."
msgstr "所有MPD配置字段在下面都有文档说明,接下来是一个更复杂的示例。"

#. type: defvar
#: guix-git/doc/guix.texi:36915
#, fuzzy, no-wrap
msgid "mpd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:36917
#, fuzzy
msgid "The service type for @command{mpd}"
msgstr "@command{mpd}的服务类型"

#. type: deftp
#: guix-git/doc/guix.texi:36920
#, fuzzy, no-wrap
msgid "{Data Type} mpd-configuration"
msgstr "{数据类型} mpd-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:36922
#, fuzzy
msgid "Available @code{mpd-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:36924
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{mpd}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:36926
#, fuzzy
msgid "The MPD package."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:36927
#, fuzzy, no-wrap
msgid "@code{user} (type: user-account)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36929
#, fuzzy
msgid "The user to run mpd as."
msgstr "运行mpd的用户。"

#. type: item
#: guix-git/doc/guix.texi:36930
#, fuzzy, no-wrap
msgid "@code{group} (type: user-group)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36932
#, fuzzy
msgid "The group to run mpd as."
msgstr "运行mpd的组。"

#. type: table
#: guix-git/doc/guix.texi:36934
#, fuzzy
msgid "The default @code{%mpd-group} is a system group with name ``mpd''."
msgstr "默认的@code{%mpd-group}是一个名为``mpd''的系统组。"

#. type: item
#: guix-git/doc/guix.texi:36935 guix-git/doc/guix.texi:37185
#, fuzzy, no-wrap
msgid "@code{shepherd-requirement} (default: @code{'()}) (type: list-of-symbols)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:36938
#, fuzzy
msgid "A list of symbols naming Shepherd services that this service will depend on."
msgstr "命名Shepherd服务的符号列表,该服务将依赖于这些服务。"

#. type: item
#: guix-git/doc/guix.texi:36939
#, fuzzy, no-wrap
msgid "@code{environment-variables} (default: @code{'(\"PULSE_CLIENTCONFIG=/etc/pulse/client.conf\" \"PULSE_CONFIG=/etc/pulse/daemon.conf\")}) (type: list-of-strings)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:36941
#, fuzzy
msgid "A list of strings specifying environment variables."
msgstr "准备隔离的构建环境。"

#. type: table
#: guix-git/doc/guix.texi:36946
#, fuzzy
msgid "The location of the log file.  Unless specified, logs are sent to the local syslog daemon.  Alternatively, a log file name can be specified, for example @file{/var/log/mpd.log}."
msgstr "日志文件的位置。除非另行指定,日志将发送到本地syslog守护进程。或者,可以指定日志文件名,例如@file{/var/log/mpd.log}。"

#. type: item
#: guix-git/doc/guix.texi:36947
#, fuzzy, no-wrap
msgid "@code{log-level} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36951
#, fuzzy
msgid "Suppress any messages below this threshold.  The available values, in decreasing order of verbosity, are: @code{verbose}, @code{info}, @code{notice}, @code{warning} and @code{error}."
msgstr "抑制低于此阈值的任何消息。可用值按详细程度递减的顺序为:@code{verbose}、@code{info}、@code{notice}、@code{warning}和@code{error}。"

#. type: item
#: guix-git/doc/guix.texi:36952
#, fuzzy, no-wrap
msgid "@code{music-directory} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36954 guix-git/doc/guix.texi:36957
#, fuzzy
msgid "The directory to scan for music files."
msgstr "扫描音乐文件的目录。"

#. type: item
#: guix-git/doc/guix.texi:36955
#, fuzzy, no-wrap
msgid "@code{music-dir} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:36958
#, fuzzy, no-wrap
msgid "@code{playlist-directory} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36960 guix-git/doc/guix.texi:36963
#, fuzzy
msgid "The directory to store playlists."
msgstr "存储播放列表的目录。"

#. type: item
#: guix-git/doc/guix.texi:36961
#, fuzzy, no-wrap
msgid "@code{playlist-dir} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: item
#: guix-git/doc/guix.texi:36964
#, fuzzy, no-wrap
msgid "@code{db-file} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36967
#, fuzzy
msgid "The location of the music database.  When left unspecified, @file{~/.cache/db} is used."
msgstr "音乐数据库的位置。当未指定时,使用@file{~/.cache/db}。"

#. type: item
#: guix-git/doc/guix.texi:36968
#, fuzzy, no-wrap
msgid "@code{state-file} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36970
#, fuzzy
msgid "The location of the file that stores current MPD's state."
msgstr "存储当前MPD状态的文件的位置。"

#. type: item
#: guix-git/doc/guix.texi:36971
#, fuzzy, no-wrap
msgid "@code{sticker-file} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36973
#, fuzzy
msgid "The location of the sticker database."
msgstr "贴纸数据库的位置。"

#. type: item
#: guix-git/doc/guix.texi:36974
#, fuzzy, no-wrap
msgid "@code{default-port} (default: @code{6600}) (type: maybe-port)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:36976
#, fuzzy
msgid "The default port to run mpd on."
msgstr "mpd运行的默认端口。"

#. type: item
#: guix-git/doc/guix.texi:36977
#, fuzzy, no-wrap
msgid "@code{endpoints} (type: maybe-list-of-strings)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36983
#, fuzzy
msgid "The addresses that mpd will bind to.  A port different from @var{default-port} may be specified, e.g.  @code{localhost:6602} and IPv6 addresses must be enclosed in square brackets when a different port is used.  To use a Unix domain socket, an absolute path or a path starting with @code{~} can be specified here."
msgstr "mpd将绑定到的地址。可以指定与@var{default-port}不同的端口,例如@code{localhost:6602},并且在使用不同端口时,IPv6地址必须用方括号括起来。要使用Unix域套接字,可以在此处指定绝对路径或以@code{~}开头的路径。"

#. type: item
#: guix-git/doc/guix.texi:36984
#, fuzzy, no-wrap
msgid "@code{address} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36987
#, fuzzy
msgid "The address that mpd will bind to.  To use a Unix domain socket, an absolute path can be specified here."
msgstr "mpd将绑定到的地址。要使用Unix域套接字,可以在此处指定绝对路径。"

#. type: item
#: guix-git/doc/guix.texi:36988
#, fuzzy, no-wrap
msgid "@code{database} (type: maybe-mpd-plugin)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:36990
#, fuzzy
msgid "MPD database plugin configuration."
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:36991
#, fuzzy, no-wrap
msgid "@code{partitions} (default: @code{'()}) (type: list-of-mpd-partition)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:36993
#, fuzzy
msgid "List of MPD \"partitions\"."
msgstr "MPD“分区”的列表。"

#. type: item
#: guix-git/doc/guix.texi:36994
#, fuzzy, no-wrap
msgid "@code{neighbors} (default: @code{'()}) (type: list-of-mpd-plugin)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:36996
#, fuzzy
msgid "List of MPD neighbor plugin configurations."
msgstr "MPD邻居插件配置的列表。"

#. type: item
#: guix-git/doc/guix.texi:36997
#, fuzzy, no-wrap
msgid "@code{inputs} (default: @code{'()}) (type: list-of-mpd-plugin)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:36999
#, fuzzy
msgid "List of MPD input plugin configurations."
msgstr "MPD输入插件配置的列表。"

#. type: item
#: guix-git/doc/guix.texi:37000
#, fuzzy, no-wrap
msgid "@code{archive-plugins} (default: @code{'()}) (type: list-of-mpd-plugin)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:37002
#, fuzzy
msgid "List of MPD archive plugin configurations."
msgstr "MPD归档插件配置的列表。"

#. type: item
#: guix-git/doc/guix.texi:37003
#, fuzzy, no-wrap
msgid "@code{auto-update?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:37006
#, fuzzy
msgid "Whether to automatically update the music database when files are changed in the @var{music-directory}."
msgstr "在@var{music-directory}中更改文件时,是否自动更新音乐数据库。"

#. type: item
#: guix-git/doc/guix.texi:37007
#, fuzzy, no-wrap
msgid "@code{input-cache-size} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37009
#, fuzzy
msgid "MPD input cache size."
msgstr "MPD输入缓存大小。"

#. type: item
#: guix-git/doc/guix.texi:37010
#, fuzzy, no-wrap
msgid "@code{decoders} (default: @code{'()}) (type: list-of-mpd-plugin)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:37012
#, fuzzy
msgid "List of MPD decoder plugin configurations."
msgstr "MPD解码器插件配置的列表。"

#. type: item
#: guix-git/doc/guix.texi:37013
#, fuzzy, no-wrap
msgid "@code{resampler} (type: maybe-mpd-plugin)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37015
#, fuzzy
msgid "MPD resampler plugin configuration."
msgstr "系统配置"

#. type: item
#: guix-git/doc/guix.texi:37016
#, fuzzy, no-wrap
msgid "@code{filters} (default: @code{'()}) (type: list-of-mpd-plugin)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:37018
#, fuzzy
msgid "List of MPD filter plugin configurations."
msgstr "MPD过滤器插件配置的列表。"

#. type: item
#: guix-git/doc/guix.texi:37019
#, fuzzy, no-wrap
msgid "@code{outputs} (type: list-of-mpd-plugin-or-output)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:37022
#, fuzzy
msgid "The audio outputs that MPD can use.  By default this is a single output using pulseaudio."
msgstr "MPD可以使用的音频输出。默认情况下,这是一个使用pulseaudio的单一输出。"

#. type: item
#: guix-git/doc/guix.texi:37023
#, fuzzy, no-wrap
msgid "@code{playlist-plugins} (default: @code{'()}) (type: list-of-mpd-plugin)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:37025
#, fuzzy
msgid "List of MPD playlist plugin configurations."
msgstr "MPD播放列表插件配置的列表。"

#. type: item
#: guix-git/doc/guix.texi:37026 guix-git/doc/guix.texi:37047
#: guix-git/doc/guix.texi:37063 guix-git/doc/guix.texi:37119
#, fuzzy, no-wrap
msgid "@code{extra-options} (default: @code{'()}) (type: alist)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:37029
#, fuzzy
msgid "An association list of option symbols/strings to string values to be appended to the configuration."
msgstr "选项符号/字符串与要附加到配置的字符串值的关联列表。"

#. type: deftp
#: guix-git/doc/guix.texi:37034
#, fuzzy, no-wrap
msgid "{Data Type} mpd-plugin"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:37036
#, fuzzy
msgid "Data type representing a @command{mpd} plugin."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:37038
#, fuzzy, no-wrap
msgid "@code{plugin} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37040
#, fuzzy
msgid "Plugin name."
msgstr "插件名称。"

#. type: item
#: guix-git/doc/guix.texi:37041
#, fuzzy, no-wrap
msgid "@code{name} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37043
#, fuzzy
msgid "Name."
msgstr "名称。"

#. type: item
#: guix-git/doc/guix.texi:37044
#, fuzzy, no-wrap
msgid "@code{enabled?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:37046
#, fuzzy
msgid "Whether the plugin is enabled/disabled."
msgstr "插件是否启用/禁用。"

#. type: table
#: guix-git/doc/guix.texi:37052
#, fuzzy
msgid "An association list of option symbols/strings to string values to be appended to the plugin configuration.  See @uref{https://mpd.readthedocs.io/en/latest/plugins.html,MPD plugin reference} for available options."
msgstr "选项符号/字符串与要附加到插件配置的字符串值的关联列表。有关可用选项,请参见@uref{https://mpd.readthedocs.io/en/latest/plugins.html,MPD插件参考}。"

#. type: deftp
#: guix-git/doc/guix.texi:37056
#, fuzzy, no-wrap
msgid "{Data Type} mpd-partition"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:37058
#, fuzzy
msgid "Data type representing a @command{mpd} partition."
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:37062
#, fuzzy
msgid "Partition name."
msgstr "origin参考手册"

#. type: table
#: guix-git/doc/guix.texi:37068
#, fuzzy
msgid "An association list of option symbols/strings to string values to be appended to the partition configuration.  See @uref{https://mpd.readthedocs.io/en/latest/user.html#configuring-partitions,Configuring Partitions} for available options."
msgstr "选项符号/字符串与要附加到分区配置的字符串值的关联列表。有关可用选项,请参见@uref{https://mpd.readthedocs.io/en/latest/user.html#configuring-partitions,配置分区}。"

#. type: deftp
#: guix-git/doc/guix.texi:37073
#, fuzzy, no-wrap
msgid "{Data Type} mpd-output"
msgstr "{数据类型} mpd-output"

#. type: deftp
#: guix-git/doc/guix.texi:37075
#, fuzzy
msgid "Available @code{mpd-output} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:37077
#, fuzzy, no-wrap
msgid "@code{name} (default: @code{\"MPD\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37079
#, fuzzy
msgid "The name of the audio output."
msgstr "音频输出的名称。"

#. type: item
#: guix-git/doc/guix.texi:37080
#, fuzzy, no-wrap
msgid "@code{type} (default: @code{\"pulse\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:37082
#, fuzzy
msgid "The type of audio output."
msgstr "音频输出的类型。"

#. type: item
#: guix-git/doc/guix.texi:37083 guix-git/doc/guix.texi:43082
#, fuzzy, no-wrap
msgid "@code{enabled?} (default: @code{#t}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:37088
#, fuzzy
msgid "Specifies whether this audio output is enabled when MPD is started.  By default, all audio outputs are enabled.  This is just the default setting when there is no state file; with a state file, the previous state is restored."
msgstr "指定当MPD启动时此音频输出是否启用。默认情况下,所有音频输出都是启用的。这只是当没有状态文件时的默认设置;有状态文件时,将恢复先前的状态。"

#. type: item
#: guix-git/doc/guix.texi:37089
#, fuzzy, no-wrap
msgid "@code{format} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37093
#, fuzzy
msgid "Force a specific audio format on output.  See @uref{https://mpd.readthedocs.io/en/latest/user.html#audio-output-format,Global Audio Format} for a more detailed description."
msgstr "强制输出特定的音频格式。有关更详细的描述,请参见@uref{https://mpd.readthedocs.io/en/latest/user.html#audio-output-format,全局音频格式}。"

#. type: item
#: guix-git/doc/guix.texi:37094
#, fuzzy, no-wrap
msgid "@code{tags?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37098
#, fuzzy
msgid "If set to @code{#f}, then MPD will not send tags to this output.  This is only useful for output plugins that can receive tags, for example the @code{httpd} output plugin."
msgstr "如果设置为 @code{#f},则 MPD 将不会向此输出发送标签。这仅对可以接收标签的输出插件有用,例如 @code{httpd} 输出插件。"

#. type: item
#: guix-git/doc/guix.texi:37099
#, fuzzy, no-wrap
msgid "@code{always-on?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37103
#, fuzzy
msgid "If set to @code{#t}, then MPD attempts to keep this audio output always open.  This may be useful for streaming servers, when you don’t want to disconnect all listeners even when playback is accidentally stopped."
msgstr "如果设置为 @code{#t},则 MPD 尝试始终保持此音频输出打开。这对于流媒体服务器可能很有用,当您不想在播放意外停止时断开所有听众的连接。"

#. type: item
#: guix-git/doc/guix.texi:37104
#, fuzzy, no-wrap
msgid "@code{mixer-type} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37111
#, fuzzy
msgid "This field accepts a string that specifies which mixer should be used for this audio output: the @code{hardware} mixer, the @code{software} mixer, the @code{null} mixer (allows setting the volume, but with no effect; this can be used as a trick to implement an external mixer External Mixer) or no mixer (@code{none}).  When left unspecified, a @code{hardware} mixer is used for devices that support it."
msgstr "此字段接受一个字符串,指定应使用哪个混音器用于此音频输出:@code{hardware} 混音器、@code{software} 混音器、@code{null} 混音器(允许设置音量,但没有效果;这可以用作实现外部混音器的技巧)或不使用混音器 (@code{none})。当未指定时,将为支持的设备使用 @code{hardware} 混音器。"

#. type: item
#: guix-git/doc/guix.texi:37112
#, fuzzy, no-wrap
msgid "@code{replay-gain-handler} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37118
#, fuzzy
msgid "This field accepts a string that specifies how @uref{https://mpd.readthedocs.io/en/latest/user.html#replay-gain,Replay Gain} is to be applied.  @code{software} uses an internal software volume control, @code{mixer} uses the configured (hardware) mixer control and @code{none} disables replay gain on this audio output."
msgstr "此字段接受一个字符串,指定如何应用 @uref{https://mpd.readthedocs.io/en/latest/user.html#replay-gain,重放增益}。@code{software} 使用内部软件音量控制,@code{mixer} 使用配置的(硬件)混音器控制,@code{none} 禁用此音频输出上的重放增益。"

#. type: table
#: guix-git/doc/guix.texi:37122
#, fuzzy
msgid "An association list of option symbols/strings to string values to be appended to the audio output configuration."
msgstr "一个选项符号/字符串与字符串值的关联列表,将附加到音频输出配置中。"

#. type: Plain text
#: guix-git/doc/guix.texi:37129
#, fuzzy
msgid "The following example shows a configuration of @command{mpd} that configures some of its plugins and provides a HTTP audio streaming output."
msgstr "以下示例显示了 @command{mpd} 的配置,该配置配置了一些插件并提供 HTTP 音频流输出。"

#. type: lisp
#: guix-git/doc/guix.texi:37153
#, fuzzy, no-wrap
msgid ""
"(service mpd-service-type\n"
"         (mpd-configuration\n"
"           (outputs\n"
"             (list (mpd-output\n"
"                     (name \"streaming\")\n"
"                     (type \"httpd\")\n"
"                     (mixer-type 'null)\n"
"                     (extra-options\n"
"                      `((encoder . \"vorbis\")\n"
"                        (port    . \"8080\"))))))\n"
"           (decoders\n"
"             (list (mpd-plugin\n"
"                     (plugin \"mikmod\")\n"
"                     (enabled? #f))\n"
"                   (mpd-plugin\n"
"                     (plugin \"openmpt\")\n"
"                     (enabled? #t)\n"
"                     (extra-options `((repeat-count . -1)\n"
"                                      (interpolation-filter . 1))))))\n"
"           (resampler (mpd-plugin\n"
"                        (plugin \"libsamplerate\")\n"
"                        (extra-options `((type . 0)))))))\n"
msgstr ""
"(service mpd-service-type\n"
"         (mpd-configuration\n"
"           (outputs\n"
"             (list (mpd-output\n"
"                     (name \"streaming\")\n"
"                     (type \"httpd\")\n"
"                     (mixer-type 'null)\n"
"                     (extra-options\n"
"                      `((encoder . \"vorbis\")\n"
"                        (port    . \"8080\"))))))\n"
"           (decoders\n"
"             (list (mpd-plugin\n"
"                     (plugin \"mikmod\")\n"
"                     (enabled? #f))\n"
"                   (mpd-plugin\n"
"                     (plugin \"openmpt\")\n"
"                     (enabled? #t)\n"
"                     (extra-options `((repeat-count . -1)\n"
"                                      (interpolation-filter . 1))))))\n"
"           (resampler (mpd-plugin\n"
"                        (plugin \"libsamplerate\")\n"
"                        (extra-options `((type . 0)))))))\n"

#. type: subsubheading
#: guix-git/doc/guix.texi:37155
#, fuzzy, no-wrap
msgid "myMPD"
msgstr "myMPD"

#. type: cindex
#: guix-git/doc/guix.texi:37157
#, fuzzy, no-wrap
msgid "MPD, web interface"
msgstr "用户界面"

#. type: cindex
#: guix-git/doc/guix.texi:37158
#, fuzzy, no-wrap
msgid "myMPD service"
msgstr "DNS服务"

#. type: Plain text
#: guix-git/doc/guix.texi:37162
#, fuzzy
msgid "@uref{https://jcorporation.github.io/myMPD/, myMPD} is a web server frontend for MPD that provides a mobile friendly web client for MPD."
msgstr "@uref{https://jcorporation.github.io/myMPD/, myMPD} 是一个 MPD 的网页服务器前端,提供了一个适合移动设备的 MPD 网页客户端。"

#. type: Plain text
#: guix-git/doc/guix.texi:37165
#, fuzzy
msgid "The following example shows a myMPD instance listening on port 80, with album cover caching disabled."
msgstr "以下示例展示了一个在 80 端口上监听的 myMPD 实例,专辑封面缓存已禁用。"

#. type: lisp
#: guix-git/doc/guix.texi:37171
#, fuzzy, no-wrap
msgid ""
"(service mympd-service-type\n"
"         (mympd-configuration\n"
"          (port 80)\n"
"          (covercache-ttl 0)))\n"
msgstr ""
"(service qemu-binfmt-service-type\n"
" (qemu-binfmt-configuration\n"
"   (platforms (lookup-qemu-platforms \"arm\" \"aarch64\" \"mips64el\"))\n"
"   (guix-support? #t)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:37173
#, fuzzy, no-wrap
msgid "mympd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:37175
#, fuzzy
msgid "The service type for @command{mympd}."
msgstr "@command{mympd} 的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:37178
#, fuzzy, no-wrap
msgid "{Data Type} mympd-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:37180
#, fuzzy
msgid "Available @code{mympd-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:37182
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{mympd}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:37184
#, fuzzy
msgid "The package object of the myMPD server."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:37189
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{%mympd-user}) (type: user-account)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:37191
#, fuzzy
msgid "Owner of the @command{mympd} process."
msgstr "@command{mympd} 进程的所有者。"

#. type: table
#: guix-git/doc/guix.texi:37194
#, fuzzy
msgid "The default @code{%mympd-user} is a system user with the name ``mympd'', who is a part of the group @var{group} (see below)."
msgstr "默认的 @code{%mympd-user} 是一个名为 ``mympd'' 的系统用户,属于 @var{group} 组(见下文)。"

#. type: item
#: guix-git/doc/guix.texi:37195
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{%mympd-group}) (type: user-group)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:37197
#, fuzzy
msgid "Owner group of the @command{mympd} process."
msgstr "@command{mympd} 进程的所有者组。"

#. type: table
#: guix-git/doc/guix.texi:37199
#, fuzzy
msgid "The default @code{%mympd-group} is a system group with name ``mympd''."
msgstr "默认的 @code{%mympd-group} 是一个名为 ``mympd'' 的系统组。"

#. type: item
#: guix-git/doc/guix.texi:37199
#, fuzzy, no-wrap
msgid "@code{work-directory} (default: @code{\"/var/lib/mympd\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37201
#, fuzzy
msgid "Where myMPD will store its data."
msgstr "myMPD 将存储其数据的位置。"

#. type: item
#: guix-git/doc/guix.texi:37202
#, fuzzy, no-wrap
msgid "@code{cache-directory} (default: @code{\"/var/cache/mympd\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37204
#, fuzzy
msgid "Where myMPD will store its cache."
msgstr "myMPD 将存储其缓存的位置。"

#. type: item
#: guix-git/doc/guix.texi:37205
#, fuzzy, no-wrap
msgid "@code{acl} (type: maybe-mympd-ip-acl)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37207
#, fuzzy
msgid "ACL to access the myMPD webserver."
msgstr "访问 myMPD 网页服务器的 ACL。"

#. type: item
#: guix-git/doc/guix.texi:37208
#, fuzzy, no-wrap
msgid "@code{covercache-ttl} (default: @code{31}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:37210
#, fuzzy
msgid "How long to keep cached covers, @code{0} disables cover caching."
msgstr "缓存封面的保留时间,@code{0} 禁用封面缓存。"

#. type: item
#: guix-git/doc/guix.texi:37211
#, fuzzy, no-wrap
msgid "@code{http?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37213
#, fuzzy
msgid "HTTP support."
msgstr "HTTP 支持。"

#. type: item
#: guix-git/doc/guix.texi:37214
#, fuzzy, no-wrap
msgid "@code{host} (default: @code{\"[::]\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37216
#, fuzzy
msgid "Host name to listen on."
msgstr "要监听的主机名。"

#. type: item
#: guix-git/doc/guix.texi:37217
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{80}) (type: maybe-port)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:37219
#, fuzzy
msgid "HTTP port to listen on."
msgstr "要监听的 HTTP 端口。"

#. type: item
#: guix-git/doc/guix.texi:37220
#, fuzzy, no-wrap
msgid "@code{log-level} (default: @code{5}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37223
#, fuzzy
msgid "How much detail to include in logs, possible values: @code{0} to @code{7}."
msgstr "日志中包含的详细程度,可能的值:@code{0} 到 @code{7}。"

#. type: item
#: guix-git/doc/guix.texi:37224
#, fuzzy, no-wrap
msgid "@code{log-to} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37228
#, fuzzy
msgid "Where to send logs.  Unless specified, the service logs to the local syslog service under the @samp{daemon} facility.  Alternatively, a log file name can be specified, for example @file{/var/log/mympd.log}."
msgstr "日志发送位置。除非指定,否则服务将日志记录到本地 syslog 服务下的 @samp{daemon} 设施。或者,可以指定日志文件名,例如 @file{/var/log/mympd.log}。"

#. type: item
#: guix-git/doc/guix.texi:37229
#, fuzzy, no-wrap
msgid "@code{lualibs} (default: @code{\"all\"}) (type: maybe-string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:37232
#, fuzzy
msgid "See @uref{https://jcorporation.github.io/myMPD/scripting/#lua-standard-libraries}."
msgstr "请参见 @uref{https://jcorporation.github.io/myMPD/scripting/#lua-standard-libraries}。"

#. type: item
#: guix-git/doc/guix.texi:37233
#, fuzzy, no-wrap
msgid "@code{uri} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37236
#, fuzzy
msgid "Override URI to myMPD.  See @uref{https://github.com/jcorporation/myMPD/issues/950}."
msgstr "覆盖 myMPD 的 URI。请参见 @uref{https://github.com/jcorporation/myMPD/issues/950}。"

#. type: item
#: guix-git/doc/guix.texi:37237
#, fuzzy, no-wrap
msgid "@code{script-acl} (default: @code{(mympd-ip-acl (allow '(\"127.0.0.1\")))}) (type: maybe-mympd-ip-acl)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:37239
#, fuzzy
msgid "ACL to access the myMPD script backend."
msgstr "访问 myMPD 脚本后端的 ACL。"

#. type: table
#: guix-git/doc/guix.texi:37242
#, fuzzy
msgid "SSL/TLS support."
msgstr "SSL/TLS 支持。"

#. type: item
#: guix-git/doc/guix.texi:37243
#, fuzzy, no-wrap
msgid "@code{ssl-port} (default: @code{443}) (type: maybe-port)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:37245
#, fuzzy
msgid "Port to listen for HTTPS."
msgstr "监听 HTTPS 的端口。"

#. type: item
#: guix-git/doc/guix.texi:37246
#, fuzzy, no-wrap
msgid "@code{ssl-cert} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37248
#, fuzzy
msgid "Path to PEM encoded X.509 SSL/TLS certificate (public key)."
msgstr "PEM 编码的 X.509 SSL/TLS 证书(公钥)的路径。"

#. type: item
#: guix-git/doc/guix.texi:37249
#, fuzzy, no-wrap
msgid "@code{ssl-key} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37251
#, fuzzy
msgid "Path to PEM encoded SSL/TLS private key."
msgstr "PEM 编码的 SSL/TLS 私钥的路径。"

#. type: item
#: guix-git/doc/guix.texi:37252
#, fuzzy, no-wrap
msgid "@code{pin-hash} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:37255
#, fuzzy
msgid "SHA-256 hashed pin used by myMPD to control settings access by prompting a pin from the user."
msgstr "myMPD 用于通过提示用户输入 PIN 来控制设置访问的 SHA-256 哈希 PIN。"

#. type: item
#: guix-git/doc/guix.texi:37256
#, fuzzy, no-wrap
msgid "@code{save-caches?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:37258
#, fuzzy
msgid "Whether to preserve caches between service restarts."
msgstr "是否在服务重启之间保留缓存。"

#. type: deftp
#: guix-git/doc/guix.texi:37264
#, fuzzy, no-wrap
msgid "{Data Type} mympd-ip-acl"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:37266
#, fuzzy
msgid "Available @code{mympd-ip-acl} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:37268
#, fuzzy, no-wrap
msgid "@code{allow} (default: @code{'()}) (type: list-of-strings)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:37270
#, fuzzy
msgid "Allowed IP addresses."
msgstr "允许的 IP 地址。"

#. type: item
#: guix-git/doc/guix.texi:37271
#, fuzzy, no-wrap
msgid "@code{deny} (default: @code{'()}) (type: list-of-strings)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:37273
#, fuzzy
msgid "Disallowed IP addresses."
msgstr "不允许的 IP 地址。"

#. type: Plain text
#: guix-git/doc/guix.texi:37284
#, fuzzy
msgid "The @code{(gnu services virtualization)} module provides services for the libvirt and virtlog daemons, as well as other virtualization-related services."
msgstr "@code{(gnu services virtualization)} 模块为 libvirt 和 virtlog 守护进程以及其他虚拟化相关服务提供服务。"

#. type: subsubheading
#: guix-git/doc/guix.texi:37285
#, fuzzy, no-wrap
msgid "Libvirt daemon"
msgstr "Libvirt 守护进程"

#. type: Plain text
#: guix-git/doc/guix.texi:37292
#, fuzzy
msgid "@code{libvirtd} is the server side daemon component of the libvirt virtualization management system.  This daemon runs on host servers and performs required management tasks for virtualized guests.  To connect to the libvirt daemon as an unprivileged user, it must be added to the @samp{libvirt} group, as shown in the example below."
msgstr "@code{libvirtd} 是 libvirt 虚拟化管理系统的服务器端守护进程组件。该守护进程在主机服务器上运行,并执行虚拟化客户机所需的管理任务。要以非特权用户身份连接到 libvirt 守护进程,必须将其添加到 @samp{libvirt} 组,如下面的示例所示。"

#. type: defvar
#: guix-git/doc/guix.texi:37293
#, fuzzy, no-wrap
msgid "libvirt-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:37296
#, fuzzy
msgid "This is the type of the @uref{https://libvirt.org, libvirt daemon}.  Its value must be a @code{libvirt-configuration}."
msgstr "这是 @uref{https://libvirt.org, libvirt 守护进程} 的类型。它的值必须是 @code{libvirt-configuration}。"

#. type: lisp
#: guix-git/doc/guix.texi:37307
#, fuzzy, no-wrap
msgid ""
"(users (cons (user-account\n"
"              (name \"user\")\n"
"              (group \"users\")\n"
"              (supplementary-groups '(\"libvirt\"\n"
"                                      \"audio\" \"video\" \"wheel\")))\n"
"             %base-user-accounts))\n"
"(service libvirt-service-type\n"
"         (libvirt-configuration\n"
"          (tls-port \"16555\")))\n"
msgstr ""
"(用户 (cons (用户账户\n"
"              (名称 \"user\")\n"
"              (组 \"users\")\n"
"              (附加组 '(\"libvirt\"\n"
"                                      \"audio\" \"video\" \"wheel\")))\n"
"             %base-user-accounts))\n"
"(服务 libvirt-service-type\n"
"         (libvirt-configuration\n"
"          (tls-port \"16555\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:37312
#, fuzzy
msgid "Available @code{libvirt-configuration} fields are:"
msgstr "可用的 @code{libvirt-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:37313
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} package libvirt"
msgstr "{@code{libvirt-configuration} 参数} 包 libvirt"

#. type: deftypevr
#: guix-git/doc/guix.texi:37315 guix-git/doc/guix.texi:37878
#, fuzzy
msgid "Libvirt package."
msgstr "Libvirt 包。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37318
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} boolean listen-tls?"
msgstr "{@code{libvirt-configuration} 参数} 布尔值 listen-tls?"

#. type: deftypevr
#: guix-git/doc/guix.texi:37321
#, fuzzy
msgid "Flag listening for secure TLS connections on the public TCP/IP port.  You must set @code{listen} for this to have any effect."
msgstr "标志是否在公共 TCP/IP 端口上监听安全的 TLS 连接。您必须设置 @code{listen} 才能生效。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37324
#, fuzzy
msgid "It is necessary to setup a CA and issue server certificates before using this capability."
msgstr "在使用此功能之前,必须设置 CA 并发放服务器证书。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37329
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} boolean listen-tcp?"
msgstr "{@code{libvirt-configuration} 参数} 布尔值 listen-tcp?"

#. type: deftypevr
#: guix-git/doc/guix.texi:37332
#, fuzzy
msgid "Listen for unencrypted TCP connections on the public TCP/IP port.  You must set @code{listen} for this to have any effect."
msgstr "在公共 TCP/IP 端口上监听未加密的 TCP 连接。您必须设置 @code{listen} 才能生效。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37336
#, fuzzy
msgid "Using the TCP socket requires SASL authentication by default.  Only SASL mechanisms which support data encryption are allowed.  This is DIGEST_MD5 and GSSAPI (Kerberos5)."
msgstr "使用 TCP 套接字默认需要 SASL 身份验证。仅允许支持数据加密的 SASL 机制。这是 DIGEST_MD5 和 GSSAPI (Kerberos5)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37341
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string tls-port"
msgstr "{@code{libvirt-configuration} 参数} 字符串 tls-port"

#. type: deftypevr
#: guix-git/doc/guix.texi:37344
#, fuzzy
msgid "Port for accepting secure TLS connections.  This can be a port number, or service name."
msgstr "用于接受安全 TLS 连接的端口。这可以是端口号或服务名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37346
#, fuzzy
msgid "Defaults to @samp{\"16514\"}."
msgstr "默认为 @samp{\"16514\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37349
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string tcp-port"
msgstr "{@code{libvirt-configuration} 参数} 字符串 tcp-port"

#. type: deftypevr
#: guix-git/doc/guix.texi:37352
#, fuzzy
msgid "Port for accepting insecure TCP connections.  This can be a port number, or service name."
msgstr "用于接受不安全 TCP 连接的端口。这可以是端口号或服务名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37354
#, fuzzy
msgid "Defaults to @samp{\"16509\"}."
msgstr "默认为 @samp{\"16509\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37357
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string listen-addr"
msgstr "{@code{libvirt-configuration} 参数} 字符串 listen-addr"

#. type: deftypevr
#: guix-git/doc/guix.texi:37359
#, fuzzy
msgid "IP address or hostname used for client connections."
msgstr "用于客户端连接的 IP 地址或主机名。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37364
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} boolean mdns-adv?"
msgstr "{@code{libvirt-configuration} 参数} 布尔值 mdns-adv?"

#. type: deftypevr
#: guix-git/doc/guix.texi:37366
#, fuzzy
msgid "Flag toggling mDNS advertisement of the libvirt service."
msgstr "标志切换 libvirt 服务的 mDNS 广播。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37369
#, fuzzy
msgid "Alternatively can disable for all services on a host by stopping the Avahi daemon."
msgstr "或者可以通过停止 Avahi 守护进程来禁用主机上的所有服务。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37374
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string mdns-name"
msgstr "{@code{libvirt-configuration} 参数} 字符串 mdns-name"

#. type: deftypevr
#: guix-git/doc/guix.texi:37377
#, fuzzy
msgid "Default mDNS advertisement name.  This must be unique on the immediate broadcast network."
msgstr "默认的 mDNS 广播名称。此名称在直接广播网络上必须是唯一的。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37379
#, fuzzy
msgid "Defaults to @samp{\"Virtualization Host <hostname>\"}."
msgstr "默认为 @samp{\"虚拟化主机 <hostname>\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37382
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string unix-sock-group"
msgstr "{@code{libvirt-configuration} 参数} 字符串 unix-sock-group"

#. type: deftypevr
#: guix-git/doc/guix.texi:37386
#, fuzzy
msgid "UNIX domain socket group ownership.  This can be used to allow a 'trusted' set of users access to management capabilities without becoming root."
msgstr "UNIX 域套接字组所有权。 这可以用于允许一组“受信任”的用户在不成为 root 的情况下访问管理功能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37388
#, fuzzy
msgid "Defaults to @samp{\"libvirt\"}."
msgstr "默认为 @samp{\"libvirt\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37391
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string unix-sock-ro-perms"
msgstr "{@code{libvirt-configuration} 参数} 字符串 unix-sock-ro-perms"

#. type: deftypevr
#: guix-git/doc/guix.texi:37394
#, fuzzy
msgid "UNIX socket permissions for the R/O socket.  This is used for monitoring VM status only."
msgstr "只读套接字的 UNIX 套接字权限。 这仅用于监控 VM 状态。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37396 guix-git/doc/guix.texi:37414
#, fuzzy
msgid "Defaults to @samp{\"0777\"}."
msgstr "默认为 @samp{\"0777\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37399
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string unix-sock-rw-perms"
msgstr "{@code{libvirt-configuration} 参数} 字符串 unix-sock-rw-perms"

#. type: deftypevr
#: guix-git/doc/guix.texi:37403
#, fuzzy
msgid "UNIX socket permissions for the R/W socket.  Default allows only root.  If PolicyKit is enabled on the socket, the default will change to allow everyone (eg, 0777)"
msgstr "读写套接字的 UNIX 套接字权限。 默认仅允许 root。 如果在套接字上启用了 PolicyKit,默认将更改为允许所有人(例如,0777)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37405
#, fuzzy
msgid "Defaults to @samp{\"0770\"}."
msgstr "默认为 @samp{\"0770\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37408
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string unix-sock-admin-perms"
msgstr "{@code{libvirt-configuration} 参数} 字符串 unix-sock-admin-perms"

#. type: deftypevr
#: guix-git/doc/guix.texi:37412
#, fuzzy
msgid "UNIX socket permissions for the admin socket.  Default allows only owner (root), do not change it unless you are sure to whom you are exposing the access to."
msgstr "管理员套接字的 UNIX 套接字权限。 默认仅允许所有者(root),除非您确定要向谁暴露访问权限,否则请勿更改。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37417
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string unix-sock-dir"
msgstr "{@code{libvirt-configuration} 参数} 字符串 unix-sock-dir"

#. type: deftypevr
#: guix-git/doc/guix.texi:37419
#, fuzzy
msgid "The directory in which sockets will be found/created."
msgstr "将找到/创建套接字的目录。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37421
#, fuzzy
msgid "Defaults to @samp{\"/var/run/libvirt\"}."
msgstr "默认为 @samp{\"/var/run/libvirt\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37424
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string auth-unix-ro"
msgstr "{@code{libvirt-configuration} 参数} 字符串 auth-unix-ro"

#. type: deftypevr
#: guix-git/doc/guix.texi:37427
#, fuzzy
msgid "Authentication scheme for UNIX read-only sockets.  By default socket permissions allow anyone to connect"
msgstr "UNIX 只读套接字的身份验证方案。 默认情况下,套接字权限允许任何人连接。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37429 guix-git/doc/guix.texi:37438
#, fuzzy
msgid "Defaults to @samp{\"polkit\"}."
msgstr "默认为 @samp{\"polkit\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37432
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string auth-unix-rw"
msgstr "{@code{libvirt-configuration} 参数} 字符串 auth-unix-rw"

#. type: deftypevr
#: guix-git/doc/guix.texi:37436
#, fuzzy
msgid "Authentication scheme for UNIX read-write sockets.  By default socket permissions only allow root.  If PolicyKit support was compiled into libvirt, the default will be to use 'polkit' auth."
msgstr "UNIX 读写套接字的身份验证方案。 默认情况下,套接字权限仅允许 root。 如果在 libvirt 中编译了 PolicyKit 支持,默认将使用 'polkit' 身份验证。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37441
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string auth-tcp"
msgstr "{@code{libvirt-configuration} 参数} 字符串 auth-tcp"

#. type: deftypevr
#: guix-git/doc/guix.texi:37445
#, fuzzy
msgid "Authentication scheme for TCP sockets.  If you don't enable SASL, then all TCP traffic is cleartext.  Don't do this outside of a dev/test scenario."
msgstr "TCP 套接字的身份验证方案。 如果您不启用 SASL,则所有 TCP 流量都是明文。 不要在开发/测试场景之外这样做。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37447
#, fuzzy
msgid "Defaults to @samp{\"sasl\"}."
msgstr "默认为 @samp{\"sasl\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37450
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string auth-tls"
msgstr "{@code{libvirt-configuration} 参数} 字符串 auth-tls"

#. type: deftypevr
#: guix-git/doc/guix.texi:37454
#, fuzzy
msgid "Authentication scheme for TLS sockets.  TLS sockets already have encryption provided by the TLS layer, and limited authentication is done by certificates."
msgstr "TLS 套接字的身份验证方案。 TLS 套接字已经由 TLS 层提供加密,并且通过证书进行有限的身份验证。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37457
#, fuzzy
msgid "It is possible to make use of any SASL authentication mechanism as well, by using 'sasl' for this option"
msgstr "也可以通过为此选项使用 'sasl' 来利用任何 SASL 身份验证机制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37459
#, fuzzy
msgid "Defaults to @samp{\"none\"}."
msgstr "默认为 @samp{\"none\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37462
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} optional-list access-drivers"
msgstr "{@code{libvirt-configuration} 参数} 可选列表 access-drivers"

#. type: deftypevr
#: guix-git/doc/guix.texi:37464
#, fuzzy
msgid "API access control scheme."
msgstr "API 访问控制方案。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37467
#, fuzzy
msgid "By default an authenticated user is allowed access to all APIs.  Access drivers can place restrictions on this."
msgstr "默认情况下,经过身份验证的用户可以访问所有 API。访问驱动程序可以对此施加限制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37472
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string key-file"
msgstr "{@code{libvirt-configuration} 参数} 字符串 key-file"

#. type: deftypevr
#: guix-git/doc/guix.texi:37475
#, fuzzy
msgid "Server key file path.  If set to an empty string, then no private key is loaded."
msgstr "服务器密钥文件路径。如果设置为空字符串,则不加载私钥。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37480
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string cert-file"
msgstr "{@code{libvirt-configuration} 参数} 字符串 cert-file"

#. type: deftypevr
#: guix-git/doc/guix.texi:37483
#, fuzzy
msgid "Server key file path.  If set to an empty string, then no certificate is loaded."
msgstr "服务器密钥文件路径。如果设置为空字符串,则不加载证书。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37488
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string ca-file"
msgstr "{@code{libvirt-configuration} 参数} 字符串 ca-file"

#. type: deftypevr
#: guix-git/doc/guix.texi:37491
#, fuzzy
msgid "Server key file path.  If set to an empty string, then no CA certificate is loaded."
msgstr "服务器密钥文件路径。如果设置为空字符串,则不加载 CA 证书。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37496
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string crl-file"
msgstr "{@code{libvirt-configuration} 参数} 字符串 crl-file"

#. type: deftypevr
#: guix-git/doc/guix.texi:37499
#, fuzzy
msgid "Certificate revocation list path.  If set to an empty string, then no CRL is loaded."
msgstr "证书撤销列表路径。如果设置为空字符串,则不加载 CRL。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37504
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} boolean tls-no-sanity-cert"
msgstr "{@code{libvirt-configuration} 参数} 布尔值 tls-no-sanity-cert"

#. type: deftypevr
#: guix-git/doc/guix.texi:37506
#, fuzzy
msgid "Disable verification of our own server certificates."
msgstr "禁用对我们自己服务器证书的验证。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37509
#, fuzzy
msgid "When libvirtd starts it performs some sanity checks against its own certificates."
msgstr "当 libvirtd 启动时,它会对自己的证书执行一些完整性检查。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37514
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} boolean tls-no-verify-cert"
msgstr "{@code{libvirt-configuration} 参数} 布尔值 tls-no-verify-cert"

#. type: deftypevr
#: guix-git/doc/guix.texi:37516
#, fuzzy
msgid "Disable verification of client certificates."
msgstr "禁用对客户端证书的验证。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37520
#, fuzzy
msgid "Client certificate verification is the primary authentication mechanism.  Any client which does not present a certificate signed by the CA will be rejected."
msgstr "客户端证书验证是主要的身份验证机制。任何未提供 CA 签名证书的客户端将被拒绝。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37525
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} optional-list tls-allowed-dn-list"
msgstr "{@code{libvirt-configuration} 参数} 可选列表 tls-allowed-dn-list"

#. type: deftypevr
#: guix-git/doc/guix.texi:37527
#, fuzzy
msgid "Whitelist of allowed x509 Distinguished Name."
msgstr "允许的 x509 区别名称白名单。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37532
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} optional-list sasl-allowed-usernames"
msgstr "{@code{libvirt-configuration} 参数} 可选列表 sasl-allowed-usernames"

#. type: deftypevr
#: guix-git/doc/guix.texi:37535
#, fuzzy
msgid "Whitelist of allowed SASL usernames.  The format for username depends on the SASL authentication mechanism."
msgstr "允许的 SASL 用户名白名单。用户名的格式取决于 SASL 身份验证机制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37540
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string tls-priority"
msgstr "{@code{libvirt-configuration} 参数} 字符串 tls-priority"

#. type: deftypevr
#: guix-git/doc/guix.texi:37544
#, fuzzy
msgid "Override the compile time default TLS priority string.  The default is usually @samp{\"NORMAL\"} unless overridden at build time.  Only set this is it is desired for libvirt to deviate from the global default settings."
msgstr "覆盖编译时默认的 TLS 优先级字符串。默认值通常是 @samp{\"NORMAL\"},除非在构建时被覆盖。仅在希望 libvirt 偏离全局默认设置时设置此项。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37546
#, fuzzy
msgid "Defaults to @samp{\"NORMAL\"}."
msgstr "默认为 @samp{\"NORMAL\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37549
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer max-clients"
msgstr "{@code{libvirt-configuration} 参数} 整数 max-clients"

#. type: deftypevr
#: guix-git/doc/guix.texi:37552 guix-git/doc/guix.texi:37980
#, fuzzy
msgid "Maximum number of concurrent client connections to allow over all sockets combined."
msgstr "允许的最大并发客户端连接数,所有套接字的总和。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37554
#, fuzzy
msgid "Defaults to @samp{5000}."
msgstr "默认为 @samp{5000}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37557
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer max-queued-clients"
msgstr "{@code{libvirt-configuration} 参数} 整数 max-queued-clients"

#. type: deftypevr
#: guix-git/doc/guix.texi:37561
#, fuzzy
msgid "Maximum length of queue of connections waiting to be accepted by the daemon.  Note, that some protocols supporting retransmission may obey this so that a later reattempt at connection succeeds."
msgstr "等待被守护进程接受的连接队列的最大长度。请注意,某些支持重传的协议可能会遵循此规则,以便稍后重新尝试连接成功。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37566
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer max-anonymous-clients"
msgstr "{@code{libvirt-configuration} 参数} 整数 max-anonymous-clients"

#. type: deftypevr
#: guix-git/doc/guix.texi:37569
#, fuzzy
msgid "Maximum length of queue of accepted but not yet authenticated clients.  Set this to zero to turn this feature off"
msgstr "已接受但尚未验证的客户端的队列最大长度。将此设置为零以关闭此功能。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37571 guix-git/doc/guix.texi:37589
#: guix-git/doc/guix.texi:37605
#, fuzzy
msgid "Defaults to @samp{20}."
msgstr "默认为 @samp{20}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37574
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer min-workers"
msgstr "{@code{libvirt-configuration} 参数} 整数 min-workers"

#. type: deftypevr
#: guix-git/doc/guix.texi:37576
#, fuzzy
msgid "Number of workers to start up initially."
msgstr "初始启动的工作线程数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37581
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer max-workers"
msgstr "{@code{libvirt-configuration} 参数} 整数 max-workers"

#. type: deftypevr
#: guix-git/doc/guix.texi:37583
#, fuzzy
msgid "Maximum number of worker threads."
msgstr "工作线程的最大数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37587
#, fuzzy
msgid "If the number of active clients exceeds @code{min-workers}, then more threads are spawned, up to max_workers limit.  Typically you'd want max_workers to equal maximum number of clients allowed."
msgstr "如果活动客户端的数量超过 @code{min-workers},则会生成更多线程,直到达到 max_workers 限制。通常,您希望 max_workers 等于允许的最大客户端数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37592
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer prio-workers"
msgstr "{@code{libvirt-configuration} 参数} 整数 prio-workers"

#. type: deftypevr
#: guix-git/doc/guix.texi:37596
#, fuzzy
msgid "Number of priority workers.  If all workers from above pool are stuck, some calls marked as high priority (notably domainDestroy) can be executed in this pool."
msgstr "优先级工作线程的数量。如果上述池中的所有工作线程都被阻塞,则某些标记为高优先级的调用(特别是 domainDestroy)可以在此池中执行。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37601
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer max-requests"
msgstr "{@code{libvirt-configuration} 参数} 整数 max-requests"

#. type: deftypevr
#: guix-git/doc/guix.texi:37603
#, fuzzy
msgid "Total global limit on concurrent RPC calls."
msgstr "并发 RPC 调用的全局总限制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37608
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer max-client-requests"
msgstr "{@code{libvirt-configuration} 参数} 整数 max-client-requests"

#. type: deftypevr
#: guix-git/doc/guix.texi:37612
#, fuzzy
msgid "Limit on concurrent requests from a single client connection.  To avoid one client monopolizing the server this should be a small fraction of the global max_requests and max_workers parameter."
msgstr "来自单个客户端连接的并发请求限制。为了避免一个客户端垄断服务器,这应该是全局 max_requests 和 max_workers 参数的小部分。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37617
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer admin-min-workers"
msgstr "{@code{libvirt-configuration} 参数} 整数 admin-min-workers"

#. type: deftypevr
#: guix-git/doc/guix.texi:37619
#, fuzzy
msgid "Same as @code{min-workers} but for the admin interface."
msgstr "与 @code{min-workers} 相同,但适用于管理界面。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37624
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer admin-max-workers"
msgstr "{@code{libvirt-configuration} 参数} 整数 admin-max-workers"

#. type: deftypevr
#: guix-git/doc/guix.texi:37626
#, fuzzy
msgid "Same as @code{max-workers} but for the admin interface."
msgstr "与 @code{max-workers} 相同,但适用于管理界面。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37631
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer admin-max-clients"
msgstr "{@code{libvirt-configuration} 参数} 整数 admin-max-clients"

#. type: deftypevr
#: guix-git/doc/guix.texi:37633
#, fuzzy
msgid "Same as @code{max-clients} but for the admin interface."
msgstr "与 @code{max-clients} 相同,但适用于管理界面。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37638
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer admin-max-queued-clients"
msgstr "{@code{libvirt-configuration} 参数} 整数 admin-max-queued-clients"

#. type: deftypevr
#: guix-git/doc/guix.texi:37640
#, fuzzy
msgid "Same as @code{max-queued-clients} but for the admin interface."
msgstr "与 @code{max-queued-clients} 相同,但适用于管理界面。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37645
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer admin-max-client-requests"
msgstr "{@code{libvirt-configuration} 参数} 整数 admin-max-client-requests"

#. type: deftypevr
#: guix-git/doc/guix.texi:37647
#, fuzzy
msgid "Same as @code{max-client-requests} but for the admin interface."
msgstr "与 @code{max-client-requests} 相同,但适用于管理界面。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37652
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer log-level"
msgstr "{@code{libvirt-configuration} 参数} 整数日志级别"

#. type: deftypevr
#: guix-git/doc/guix.texi:37654 guix-git/doc/guix.texi:37882
#, fuzzy
msgid "Logging level.  4 errors, 3 warnings, 2 information, 1 debug."
msgstr "日志级别。 4 错误,3 警告,2 信息,1 调试。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37656 guix-git/doc/guix.texi:37884
#, fuzzy
msgid "Defaults to @samp{3}."
msgstr "默认为 @samp{3}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37659
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string log-filters"
msgstr "{@code{libvirt-configuration} 参数} 字符串日志过滤器"

#. type: deftypevr
#: guix-git/doc/guix.texi:37661 guix-git/doc/guix.texi:37889
#, fuzzy
msgid "Logging filters."
msgstr "日志过滤器。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37664
#, fuzzy
msgid "A filter allows to select a different logging level for a given category of logs.  The format for a filter is one of:"
msgstr "过滤器允许为特定日志类别选择不同的日志级别。过滤器的格式为:"

#. type: itemize
#: guix-git/doc/guix.texi:37668 guix-git/doc/guix.texi:37896
#, fuzzy
msgid "x:name"
msgstr "x:name"

#. type: itemize
#: guix-git/doc/guix.texi:37671 guix-git/doc/guix.texi:37899
#, fuzzy
msgid "x:+name"
msgstr "x:+name"

#. type: deftypevr
#: guix-git/doc/guix.texi:37682
#, fuzzy
msgid "where @code{name} is a string which is matched against the category given in the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g., @samp{\"remote\"}, @samp{\"qemu\"}, or @samp{\"util.json\"} (the name in the filter can be a substring of the full category name, in order to match multiple similar categories), the optional @samp{\"+\"} prefix tells libvirt to log stack trace for each message matching name, and @code{x} is the minimal level where matching messages should be logged:"
msgstr "其中 @code{name} 是一个字符串,与每个 libvirt 源文件顶部的 @code{VIR_LOG_INIT()} 中给定的类别进行匹配,例如 @samp{\"remote\"}, @samp{\"qemu\"} 或 @samp{\"util.json\"}(过滤器中的名称可以是完整类别名称的子字符串,以匹配多个相似类别),可选的 @samp{\"+\"} 前缀告诉 libvirt 记录每个匹配名称的堆栈跟踪,而 @code{x} 是匹配消息应记录的最小级别:"

#. type: itemize
#: guix-git/doc/guix.texi:37686 guix-git/doc/guix.texi:37731
#: guix-git/doc/guix.texi:37913 guix-git/doc/guix.texi:37958
#, fuzzy
msgid "1: DEBUG"
msgstr "1: 调试"

#. type: itemize
#: guix-git/doc/guix.texi:37689 guix-git/doc/guix.texi:37734
#: guix-git/doc/guix.texi:37916 guix-git/doc/guix.texi:37961
#, fuzzy
msgid "2: INFO"
msgstr "2: 信息"

#. type: itemize
#: guix-git/doc/guix.texi:37692 guix-git/doc/guix.texi:37737
#: guix-git/doc/guix.texi:37919 guix-git/doc/guix.texi:37964
#, fuzzy
msgid "3: WARNING"
msgstr "3: 警告"

#. type: itemize
#: guix-git/doc/guix.texi:37695 guix-git/doc/guix.texi:37740
#: guix-git/doc/guix.texi:37922 guix-git/doc/guix.texi:37967
#, fuzzy
msgid "4: ERROR"
msgstr "4: 错误"

#. type: deftypevr
#: guix-git/doc/guix.texi:37700 guix-git/doc/guix.texi:37927
#, fuzzy
msgid "Multiple filters can be defined in a single filters statement, they just need to be separated by spaces."
msgstr "可以在单个过滤器语句中定义多个过滤器,它们只需用空格分隔。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37702 guix-git/doc/guix.texi:37929
#, fuzzy
msgid "Defaults to @samp{\"3:remote 4:event\"}."
msgstr "默认为 @samp{\"3:remote 4:event\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37705
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string log-outputs"
msgstr "{@code{libvirt-configuration} 参数} 字符串日志输出"

#. type: deftypevr
#: guix-git/doc/guix.texi:37707 guix-git/doc/guix.texi:37934
#, fuzzy
msgid "Logging outputs."
msgstr "日志输出。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37710
#, fuzzy
msgid "An output is one of the places to save logging information.  The format for an output can be:"
msgstr "输出是保存日志信息的地方之一。输出的格式可以是:"

#. type: item
#: guix-git/doc/guix.texi:37712 guix-git/doc/guix.texi:37939
#, fuzzy, no-wrap
msgid "x:stderr"
msgstr "x:stderr"

#. type: table
#: guix-git/doc/guix.texi:37714 guix-git/doc/guix.texi:37941
#, fuzzy
msgid "output goes to stderr"
msgstr "输出到 stderr"

#. type: item
#: guix-git/doc/guix.texi:37715 guix-git/doc/guix.texi:37942
#, fuzzy, no-wrap
msgid "x:syslog:name"
msgstr "x:syslog:name"

#. type: table
#: guix-git/doc/guix.texi:37717 guix-git/doc/guix.texi:37944
#, fuzzy
msgid "use syslog for the output and use the given name as the ident"
msgstr "使用 syslog 作为输出,并使用给定名称作为标识"

#. type: item
#: guix-git/doc/guix.texi:37718 guix-git/doc/guix.texi:37945
#, fuzzy, no-wrap
msgid "x:file:file_path"
msgstr "x:file:file_path"

#. type: table
#: guix-git/doc/guix.texi:37720 guix-git/doc/guix.texi:37947
#, fuzzy
msgid "output to a file, with the given filepath"
msgstr "输出到文件,使用给定的文件路径"

#. type: item
#: guix-git/doc/guix.texi:37721 guix-git/doc/guix.texi:37948
#, fuzzy, no-wrap
msgid "x:journald"
msgstr "x:journald"

#. type: table
#: guix-git/doc/guix.texi:37723 guix-git/doc/guix.texi:37950
#, fuzzy
msgid "output to journald logging system"
msgstr "输出到 journald 日志系统"

#. type: deftypevr
#: guix-git/doc/guix.texi:37727 guix-git/doc/guix.texi:37954
#, fuzzy
msgid "In all case the x prefix is the minimal level, acting as a filter"
msgstr "在所有情况下,x 前缀是最小级别,作为过滤器"

#. type: deftypevr
#: guix-git/doc/guix.texi:37745 guix-git/doc/guix.texi:37972
#, fuzzy
msgid "Multiple outputs can be defined, they just need to be separated by spaces."
msgstr "可以定义多个输出,它们只需用空格分隔。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37747 guix-git/doc/guix.texi:37974
#, fuzzy
msgid "Defaults to @samp{\"3:stderr\"}."
msgstr "默认为 @samp{\"3:stderr\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37750
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer audit-level"
msgstr "{@code{libvirt-configuration} 参数} 整数审计级别"

#. type: deftypevr
#: guix-git/doc/guix.texi:37752
#, fuzzy
msgid "Allows usage of the auditing subsystem to be altered"
msgstr "允许更改审计子系统的使用"

#. type: itemize
#: guix-git/doc/guix.texi:37756
#, fuzzy
msgid "0: disable all auditing"
msgstr "0: 禁用所有审计"

#. type: itemize
#: guix-git/doc/guix.texi:37759
#, fuzzy
msgid "1: enable auditing, only if enabled on host"
msgstr "1: 启用审计,仅在主机上启用时"

#. type: itemize
#: guix-git/doc/guix.texi:37762
#, fuzzy
msgid "2: enable auditing, and exit if disabled on host."
msgstr "2: 启用审计,如果主机上禁用则退出。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37769
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} boolean audit-logging"
msgstr "{@code{libvirt-configuration} 参数} 布尔值审计日志"

#. type: deftypevr
#: guix-git/doc/guix.texi:37771
#, fuzzy
msgid "Send audit messages via libvirt logging infrastructure."
msgstr "通过 libvirt 日志基础设施发送审计消息。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37776
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} optional-string host-uuid"
msgstr "{@code{libvirt-configuration} 参数} 可选字符串主机 UUID"

#. type: deftypevr
#: guix-git/doc/guix.texi:37778
#, fuzzy
msgid "Host UUID@.  UUID must not have all digits be the same."
msgstr "主机 UUID@。UUID 不能全部是相同的数字。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37783
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} string host-uuid-source"
msgstr "{@code{libvirt-configuration} 参数} 字符串 host-uuid-source"

#. type: deftypevr
#: guix-git/doc/guix.texi:37785
#, fuzzy
msgid "Source to read host UUID."
msgstr "读取主机 UUID 的源。"

#. type: itemize
#: guix-git/doc/guix.texi:37789
#, fuzzy
msgid "@code{smbios}: fetch the UUID from @code{dmidecode -s system-uuid}"
msgstr "@code{smbios}:从 @code{dmidecode -s system-uuid} 获取 UUID"

#. type: itemize
#: guix-git/doc/guix.texi:37792
#, fuzzy
msgid "@code{machine-id}: fetch the UUID from @code{/etc/machine-id}"
msgstr "@code{machine-id}:从 @code{/etc/machine-id} 获取 UUID"

#. type: deftypevr
#: guix-git/doc/guix.texi:37797
#, fuzzy
msgid "If @code{dmidecode} does not provide a valid UUID a temporary UUID will be generated."
msgstr "如果 @code{dmidecode} 不提供有效的 UUID,将生成一个临时 UUID。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37799
#, fuzzy
msgid "Defaults to @samp{\"smbios\"}."
msgstr "默认为 @samp{\"smbios\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37802
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer keepalive-interval"
msgstr "{@code{libvirt-configuration} 参数} 整数 keepalive-interval"

#. type: deftypevr
#: guix-git/doc/guix.texi:37807
#, fuzzy
msgid "A keepalive message is sent to a client after @code{keepalive_interval} seconds of inactivity to check if the client is still responding.  If set to -1, libvirtd will never send keepalive requests; however clients can still send them and the daemon will send responses."
msgstr "在 @code{keepalive_interval} 秒的非活动后,会向客户端发送保持活动消息,以检查客户端是否仍在响应。如果设置为 -1,libvirtd 将永远不会发送保持活动请求;但是客户端仍然可以发送请求,守护进程将发送响应。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37812
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer keepalive-count"
msgstr "{@code{libvirt-configuration} 参数} 整数 keepalive-count"

#. type: deftypevr
#: guix-git/doc/guix.texi:37816
#, fuzzy
msgid "Maximum number of keepalive messages that are allowed to be sent to the client without getting any response before the connection is considered broken."
msgstr "在未收到任何响应之前,允许发送到客户端的最大保持活动消息数量,超过该数量后连接将被视为断开。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37823
#, fuzzy
msgid "In other words, the connection is automatically closed approximately after @code{keepalive_interval * (keepalive_count + 1)} seconds since the last message received from the client.  When @code{keepalive-count} is set to 0, connections will be automatically closed after @code{keepalive-interval} seconds of inactivity without sending any keepalive messages."
msgstr "换句话说,连接将在从客户端收到最后一条消息后大约 @code{keepalive_interval * (keepalive_count + 1)} 秒后自动关闭。当 @code{keepalive-count} 设置为 0 时,连接将在 @code{keepalive-interval} 秒的非活动后自动关闭,而不发送任何保持活动消息。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37828
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-interval"
msgstr "{@code{libvirt-configuration} 参数} 整数 admin-keepalive-interval"

#. type: deftypevr
#: guix-git/doc/guix.texi:37830 guix-git/doc/guix.texi:37837
#, fuzzy
msgid "Same as above but for admin interface."
msgstr "与上述相同,但适用于管理接口。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37835
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-count"
msgstr "{@code{libvirt-configuration} 参数} 整数 admin-keepalive-count"

#. type: deftypevr
#: guix-git/doc/guix.texi:37842
#, fuzzy, no-wrap
msgid "{@code{libvirt-configuration} parameter} integer ovs-timeout"
msgstr "{@code{libvirt-configuration} 参数} 整数 ovs-timeout"

#. type: deftypevr
#: guix-git/doc/guix.texi:37844
#, fuzzy
msgid "Timeout for Open vSwitch calls."
msgstr "Open vSwitch 调用的超时。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37848
#, fuzzy
msgid "The @code{ovs-vsctl} utility is used for the configuration and its timeout option is set by default to 5 seconds to avoid potential infinite waits blocking libvirt."
msgstr "@code{ovs-vsctl} 工具用于配置,其超时选项默认设置为 5 秒,以避免潜在的无限等待阻塞 libvirt。"

#. type: subsubheading
#: guix-git/doc/guix.texi:37855
#, fuzzy, no-wrap
msgid "Virtlog daemon"
msgstr "Virtlog 守护进程"

#. type: Plain text
#: guix-git/doc/guix.texi:37858
#, fuzzy
msgid "The virtlogd service is a server side daemon component of libvirt that is used to manage logs from virtual machine consoles."
msgstr "virtlogd 服务是 libvirt 的服务器端守护进程组件,用于管理虚拟机控制台的日志。"

#. type: Plain text
#: guix-git/doc/guix.texi:37864
#, fuzzy
msgid "This daemon is not used directly by libvirt client applications, rather it is called on their behalf by @code{libvirtd}.  By maintaining the logs in a standalone daemon, the main @code{libvirtd} daemon can be restarted without risk of losing logs.  The @code{virtlogd} daemon has the ability to re-exec()  itself upon receiving @code{SIGUSR1}, to allow live upgrades without downtime."
msgstr "此守护进程不直接被 libvirt 客户端应用程序使用,而是由 @code{libvirtd} 代表它们调用。通过在独立的守护进程中维护日志,主 @code{libvirtd} 守护进程可以在不丢失日志的风险下重新启动。@code{virtlogd} 守护进程能够在接收到 @code{SIGUSR1} 时重新执行自身,以允许无停机时间的实时升级。"

#. type: defvar
#: guix-git/doc/guix.texi:37865
#, fuzzy, no-wrap
msgid "virtlog-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:37868
#, fuzzy
msgid "This is the type of the virtlog daemon.  Its value must be a @code{virtlog-configuration}."
msgstr "这是 virtlog 守护进程的类型。它的值必须是 @code{virtlog-configuration}。"

#. type: lisp
#: guix-git/doc/guix.texi:37873
#, fuzzy, no-wrap
msgid ""
"(service virtlog-service-type\n"
"         (virtlog-configuration\n"
"          (max-clients 1000)))\n"
msgstr ""
"(service virtlog-service-type\n"
"         (virtlog-configuration\n"
"          (max-clients 1000)))\n"

#. type: deftypevr
#: guix-git/doc/guix.texi:37876
#, fuzzy, no-wrap
msgid "{@code{libvirt} parameter} package libvirt"
msgstr "{@code{libvirt} 参数} 包 libvirt"

#. type: deftypevr
#: guix-git/doc/guix.texi:37880
#, fuzzy, no-wrap
msgid "{@code{virtlog-configuration} parameter} integer log-level"
msgstr "{@code{virtlog-configuration} 参数} 整数 log-level"

#. type: deftypevr
#: guix-git/doc/guix.texi:37887
#, fuzzy, no-wrap
msgid "{@code{virtlog-configuration} parameter} string log-filters"
msgstr "{@code{virtlog-configuration} 参数} 字符串 log-filters"

#. type: deftypevr
#: guix-git/doc/guix.texi:37892
#, fuzzy
msgid "A filter allows to select a different logging level for a given category of logs The format for a filter is one of:"
msgstr "过滤器允许为给定类别的日志选择不同的日志级别。过滤器的格式为:"

#. type: deftypevr
#: guix-git/doc/guix.texi:37909
#, fuzzy
msgid "where @code{name} is a string which is matched against the category given in the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g., \"remote\", \"qemu\", or \"util.json\" (the name in the filter can be a substring of the full category name, in order to match multiple similar categories), the optional \"+\" prefix tells libvirt to log stack trace for each message matching name, and @code{x} is the minimal level where matching messages should be logged:"
msgstr "其中 @code{name} 是一个字符串,与每个 libvirt 源文件顶部的 @code{VIR_LOG_INIT()} 中给定的类别进行匹配,例如,“remote”、“qemu”或“util.json”(过滤器中的名称可以是完整类别名称的子字符串,以匹配多个相似类别),可选的“+”前缀告诉 libvirt 记录每条与名称匹配的消息的堆栈跟踪,@code{x} 是匹配消息应记录的最小级别:"

#. type: deftypevr
#: guix-git/doc/guix.texi:37932
#, fuzzy, no-wrap
msgid "{@code{virtlog-configuration} parameter} string log-outputs"
msgstr "{@code{virtlog-configuration} 参数} 字符串 log-outputs"

#. type: deftypevr
#: guix-git/doc/guix.texi:37937
#, fuzzy
msgid "An output is one of the places to save logging information The format for an output can be:"
msgstr "输出是保存日志信息的地方之一。输出的格式可以是:"

#. type: deftypevr
#: guix-git/doc/guix.texi:37977
#, fuzzy, no-wrap
msgid "{@code{virtlog-configuration} parameter} integer max-clients"
msgstr "{@code{virtlog-configuration} 参数} 整数 max-clients"

#. type: deftypevr
#: guix-git/doc/guix.texi:37982
#, fuzzy
msgid "Defaults to @samp{1024}."
msgstr "默认为 @samp{1024}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37985
#, fuzzy, no-wrap
msgid "{@code{virtlog-configuration} parameter} integer max-size"
msgstr "{@code{virtlog-configuration} 参数} 整数 max-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:37987
#, fuzzy
msgid "Maximum file size before rolling over."
msgstr "滚动之前的最大文件大小。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37989
#, fuzzy
msgid "Defaults to @samp{2MB}"
msgstr "默认为 @samp{2MB}"

#. type: deftypevr
#: guix-git/doc/guix.texi:37992
#, fuzzy, no-wrap
msgid "{@code{virtlog-configuration} parameter} integer max-backups"
msgstr "{@code{virtlog-configuration} 参数} 整数 max-backups"

#. type: deftypevr
#: guix-git/doc/guix.texi:37994
#, fuzzy
msgid "Maximum number of backup files to keep."
msgstr "要保留的最大备份文件数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:37996
#, fuzzy
msgid "Defaults to @samp{3}"
msgstr "默认为 @samp{3}"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:38000
#, fuzzy
msgid "transparent-emulation-qemu"
msgstr "transparent-emulation-qemu"

#. type: subsubheading
#: guix-git/doc/guix.texi:38000
#, fuzzy, no-wrap
msgid "Transparent Emulation with QEMU"
msgstr "与 QEMU 的透明仿真"

#. type: cindex
#: guix-git/doc/guix.texi:38002 guix-git/doc/guix.texi:38082
#, fuzzy, no-wrap
msgid "emulation"
msgstr "仿真"

#. type: code{#1}
#: guix-git/doc/guix.texi:38003
#, fuzzy, no-wrap
msgid "binfmt_misc"
msgstr "binfmt_misc"

#. type: Plain text
#: guix-git/doc/guix.texi:38011
#, fuzzy
msgid "@code{qemu-binfmt-service-type} provides support for transparent emulation of program binaries built for different architectures---e.g., it allows you to transparently execute an ARMv7 program on an x86_64 machine.  It achieves this by combining the @uref{https://www.qemu.org, QEMU} emulator and the @code{binfmt_misc} feature of the kernel Linux.  This feature only allows you to emulate GNU/Linux on a different architecture, but see below for GNU/Hurd support."
msgstr "@code{qemu-binfmt-service-type} 提供对为不同架构构建的程序二进制文件的透明仿真支持——例如,它允许您在 x86_64 机器上透明地执行 ARMv7 程序。它通过结合 @uref{https://www.qemu.org, QEMU} 模拟器和内核 Linux 的 @code{binfmt_misc} 功能来实现。此功能仅允许您在不同架构上仿真 GNU/Linux,但请参见下面的 GNU/Hurd 支持。"

#. type: defvar
#: guix-git/doc/guix.texi:38012
#, fuzzy, no-wrap
msgid "qemu-binfmt-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:38017
#, fuzzy
msgid "This is the type of the QEMU/binfmt service for transparent emulation.  Its value must be a @code{qemu-binfmt-configuration} object, which specifies the QEMU package to use as well as the architecture we want to emulated:"
msgstr "这是 QEMU/binfmt 服务的透明仿真类型。它的值必须是 @code{qemu-binfmt-configuration} 对象,该对象指定要使用的 QEMU 包以及我们希望仿真的架构:"

#. type: lisp
#: guix-git/doc/guix.texi:38022
#, no-wrap
msgid ""
"(service qemu-binfmt-service-type\n"
"         (qemu-binfmt-configuration\n"
"           (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))))\n"
msgstr ""
"(service qemu-binfmt-service-type\n"
"         (qemu-binfmt-configuration\n"
"           (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:38028
#, fuzzy
msgid "In this example, we enable transparent emulation for the ARM and aarch64 platforms.  Running @code{herd stop qemu-binfmt} turns it off, and running @code{herd start qemu-binfmt} turns it back on (@pxref{Invoking herd, the @command{herd} command,, shepherd, The GNU Shepherd Manual})."
msgstr "在这个示例中,我们为 ARM 和 aarch64 平台启用透明仿真。运行 @code{herd stop qemu-binfmt} 会将其关闭,而运行 @code{herd start qemu-binfmt} 会将其重新打开(@pxref{调用 herd, @command{herd} 命令,, shepherd, GNU Shepherd 手册})。"

#. type: deftp
#: guix-git/doc/guix.texi:38030
#, fuzzy, no-wrap
msgid "{Data Type} qemu-binfmt-configuration"
msgstr "{数据类型} qemu-binfmt-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:38032
#, fuzzy
msgid "This is the configuration for the @code{qemu-binfmt} service."
msgstr "这是 @code{qemu-binfmt} 服务的配置。"

#. type: item
#: guix-git/doc/guix.texi:38034
#, fuzzy, no-wrap
msgid "@code{platforms} (default: @code{'()})"
msgstr "@code{platforms}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:38037
#, fuzzy
msgid "The list of emulated QEMU platforms.  Each item must be a @dfn{platform object} as returned by @code{lookup-qemu-platforms} (see below)."
msgstr "被仿真的 QEMU 平台列表。每个项目必须是 @dfn{平台对象},由 @code{lookup-qemu-platforms} 返回(见下文)。"

#. type: table
#: guix-git/doc/guix.texi:38040
#, fuzzy
msgid "For example, let's suppose you're on an x86_64 machine and you have this service:"
msgstr "例如,假设您在一台 x86_64 机器上,并且您有这个服务:"

#. type: lisp
#: guix-git/doc/guix.texi:38045
#, no-wrap
msgid ""
"(service qemu-binfmt-service-type\n"
"         (qemu-binfmt-configuration\n"
"           (platforms (lookup-qemu-platforms \"arm\"))))\n"
msgstr ""
"(service qemu-binfmt-service-type\n"
"         (qemu-binfmt-configuration\n"
"           (platforms (lookup-qemu-platforms \"arm\"))))\n"

#. type: table
#: guix-git/doc/guix.texi:38048
#, fuzzy
msgid "You can run:"
msgstr "您可以运行:"

#. type: example
#: guix-git/doc/guix.texi:38051
#, fuzzy, no-wrap
msgid "guix build -s armhf-linux inkscape\n"
msgstr "guix build -s armhf-linux inkscape\n"

#. type: table
#: guix-git/doc/guix.texi:38058
#, fuzzy
msgid "and it will build Inkscape for ARMv7 @emph{as if it were a native build}, transparently using QEMU to emulate the ARMv7 CPU@.  Pretty handy if you'd like to test a package build for an architecture you don't have access to!"
msgstr "它将为 ARMv7 构建 Inkscape @emph{就像它是本地构建一样},透明地使用 QEMU 来仿真 ARMv7 CPU@。如果您想测试一个您无法访问的架构的软件包构建,这非常方便!"

#. type: item
#: guix-git/doc/guix.texi:38059
#, fuzzy, no-wrap
msgid "@code{qemu} (default: @code{qemu})"
msgstr "@code{qemu}(默认值:@code{qemu})"

#. type: table
#: guix-git/doc/guix.texi:38061 guix-git/doc/guix.texi:38119
#: guix-git/doc/guix.texi:38488
#, fuzzy
msgid "The QEMU package to use."
msgstr "要使用的 QEMU 包。"

#. type: deffn
#: guix-git/doc/guix.texi:38064
#, fuzzy, no-wrap
msgid "{Procedure} lookup-qemu-platforms platforms@dots{}"
msgstr "{过程} lookup-qemu-platforms platforms@dots{}"

#. type: deffn
#: guix-git/doc/guix.texi:38069
#, fuzzy
msgid "Return the list of QEMU platform objects corresponding to @var{platforms}@dots{}.  @var{platforms} must be a list of strings corresponding to platform names, such as @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el\"}, and so on."
msgstr "返回与 @var{platforms}@dots{} 对应的 QEMU 平台对象列表。@var{platforms} 必须是对应于平台名称的字符串列表,例如 @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el\"} 等等。"

#. type: deffn
#: guix-git/doc/guix.texi:38071
#, fuzzy, no-wrap
msgid "{Procedure} qemu-platform? obj"
msgstr "{过程} qemu-platform? obj"

#. type: deffn
#: guix-git/doc/guix.texi:38073
#, fuzzy
msgid "Return true if @var{obj} is a platform object."
msgstr "如果 @var{obj} 是平台对象,则返回 true。"

#. type: deffn
#: guix-git/doc/guix.texi:38075
#, fuzzy, no-wrap
msgid "{Procedure} qemu-platform-name platform"
msgstr "{过程} qemu-platform-name platform"

#. type: deffn
#: guix-git/doc/guix.texi:38077
#, fuzzy
msgid "Return the name of @var{platform}---a string such as @code{\"arm\"}."
msgstr "返回 @var{platform} 的名称——一个字符串,例如 @code{\"arm\"}。"

#. type: subsubheading
#: guix-git/doc/guix.texi:38080
#, fuzzy, no-wrap
msgid "QEMU Guest Agent"
msgstr "QEMU 客户端代理"

#. type: Plain text
#: guix-git/doc/guix.texi:38088
#, fuzzy
msgid "The QEMU guest agent provides control over the emulated system to the host.  The @code{qemu-guest-agent} service runs the agent on Guix guests.  To control the agent from the host, open a socket by invoking QEMU with the following arguments:"
msgstr "QEMU 客户端代理提供对仿真系统的控制。@code{qemu-guest-agent} 服务在 Guix 客户端上运行代理。要从主机控制代理,请通过以下参数调用 QEMU 打开一个套接字:"

#. type: example
#: guix-git/doc/guix.texi:38095
#, fuzzy, no-wrap
msgid ""
"qemu-system-x86_64 \\\n"
"\t-chardev socket,path=/tmp/qga.sock,server=on,wait=off,id=qga0 \\\n"
"\t-device virtio-serial \\\n"
"\t-device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 \\\n"
"\t...\n"
msgstr ""
"qemu-system-x86_64 \\\n"
"\t-chardev socket,path=/tmp/qga.sock,server=on,wait=off,id=qga0 \\\n"
"\t-device virtio-serial \\\n"
"\t-device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 \\\n"
"\t...\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38099
#, fuzzy
msgid "This creates a socket at @file{/tmp/qga.sock} on the host.  Once the guest agent is running, you can issue commands with @code{socat}:"
msgstr "这会在主机上创建一个套接字 @file{/tmp/qga.sock}。一旦客户机代理正在运行,您可以使用 @code{socat} 发出命令:"

#. type: example
#: guix-git/doc/guix.texi:38104
#, fuzzy, no-wrap
msgid ""
"$ guix shell socat -- socat unix-connect:/tmp/qga.sock stdio\n"
"@{\"execute\": \"guest-get-host-name\"@}\n"
"@{\"return\": @{\"host-name\": \"guix\"@}@}\n"
msgstr ""
"$ guix shell socat -- socat unix-connect:/tmp/qga.sock stdio\n"
"@{\"execute\": \"guest-get-host-name\"@}\n"
"@{\"return\": @{\"host-name\": \"guix\"@}@}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38108
#, fuzzy
msgid "See @url{https://wiki.qemu.org/Features/GuestAgent,QEMU guest agent documentation} for more options and commands."
msgstr "请参阅 @url{https://wiki.qemu.org/Features/GuestAgent,QEMU 客户端代理文档} 以获取更多选项和命令。"

#. type: defvar
#: guix-git/doc/guix.texi:38109
#, fuzzy, no-wrap
msgid "qemu-guest-agent-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:38111
#, fuzzy
msgid "Service type for the QEMU guest agent service."
msgstr "服务类型和服务"

#. type: deftp
#: guix-git/doc/guix.texi:38113
#, fuzzy, no-wrap
msgid "{Data Type} qemu-guest-agent-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:38115
#, fuzzy
msgid "Configuration for the @code{qemu-guest-agent} service."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:38117 guix-git/doc/guix.texi:38319
#: guix-git/doc/guix.texi:38486
#, fuzzy, no-wrap
msgid "@code{qemu} (default: @code{qemu-minimal})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: item
#: guix-git/doc/guix.texi:38120
#, fuzzy, no-wrap
msgid "@code{device} (default: @code{\"\"})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:38123
#, fuzzy
msgid "File name of the device or socket the agent uses to communicate with the host.  If empty, QEMU uses a default file name."
msgstr "代理与主机通信所使用的设备或套接字的文件名。如果为空,QEMU 将使用默认文件名。"

#. type: subsubheading
#: guix-git/doc/guix.texi:38126
#, fuzzy, no-wrap
msgid "Xen Guest Agent"
msgstr "Xen 客户端代理"

#. type: cindex
#: guix-git/doc/guix.texi:38128
#, fuzzy, no-wrap
msgid "Xen"
msgstr "Xen"

#. type: cindex
#: guix-git/doc/guix.texi:38129
#, fuzzy, no-wrap
msgid "Xen guest agent"
msgstr "Xen 客户端代理"

#. type: Plain text
#: guix-git/doc/guix.texi:38133
#, fuzzy
msgid "The Xen guest agent allows a Xen host to control the emulated system.  The @code{xe-guest-utilities} service runs the agent on Guix guests."
msgstr "Xen 客户端代理允许 Xen 主机控制模拟系统。@code{xe-guest-utilities} 服务在 Guix 客户端上运行代理。"

#. type: Plain text
#: guix-git/doc/guix.texi:38135
#, fuzzy
msgid "@url{https://github.com/xenserver/xe-guest-utilities, xe-guest-utilities} collects information about the running virtualized guest. This includes:"
msgstr "@url{https://github.com/xenserver/xe-guest-utilities, xe-guest-utilities} 收集有关正在运行的虚拟化客户端的信息。这包括:"

#. type: itemize
#: guix-git/doc/guix.texi:38138
#, fuzzy
msgid "static information"
msgstr "系统配置"

#. type: itemize
#: guix-git/doc/guix.texi:38141
#, fuzzy
msgid "The operating system running"
msgstr "操作系统参考"

#. type: itemize
#: guix-git/doc/guix.texi:38143
#, fuzzy
msgid "The Linux kernel version"
msgstr "Linux 内核版本"

#. type: itemize
#: guix-git/doc/guix.texi:38147
#, fuzzy
msgid "dynamic information"
msgstr "系统配置"

#. type: itemize
#: guix-git/doc/guix.texi:38150
#, fuzzy
msgid "Network interfaces (devices) being added/removed"
msgstr "正在添加/移除的网络接口(设备)"

#. type: itemize
#: guix-git/doc/guix.texi:38152
#, fuzzy
msgid "Network connections being unplugged/plugged-in"
msgstr "正在拔掉/插入的网络连接"

#. type: itemize
#: guix-git/doc/guix.texi:38154
#, fuzzy
msgid "CPUs being added or removed"
msgstr "正在添加或移除的 CPU"

#. type: itemize
#: guix-git/doc/guix.texi:38156
#, fuzzy
msgid "The guest migrating, being paused/resumed, etc."
msgstr "正在迁移的客户端,正在暂停/恢复等。"

#. type: itemize
#: guix-git/doc/guix.texi:38160
#, fuzzy
msgid "ephemeral information"
msgstr "系统配置"

#. type: itemize
#: guix-git/doc/guix.texi:38163
#, fuzzy
msgid "The amount of memory currently in-use and free"
msgstr "当前使用和空闲的内存量"

#. type: itemize
#: guix-git/doc/guix.texi:38165
#, fuzzy
msgid "The amount of disk-space used"
msgstr "使用的磁盘空间量"

#. type: quotation
#: guix-git/doc/guix.texi:38172
#, fuzzy
msgid "The default Linux-libre kernel that Guix ships already enables the necessary paravirtualization features for a guest.  There is nothing you need to do for the guest to support Xen's paravirtualization features."
msgstr "Guix 提供的默认 Linux-libre 内核已经启用了客户端所需的必要半虚拟化功能。您无需为客户端支持 Xen 的半虚拟化功能做任何事情。"

#. type: quotation
#: guix-git/doc/guix.texi:38176
#, fuzzy
msgid "The guest utilities are used to have the guest report information @emph{back} to the virtualizing host and support tasks that require cooperation between host and guest, like CPU hotplugging."
msgstr "客户端工具用于让客户端将信息 @emph{反馈} 给虚拟主机,并支持需要主机和客户端之间合作的任务,例如 CPU 热插拔。"

#. type: defvar
#: guix-git/doc/guix.texi:38178
#, fuzzy, no-wrap
msgid "xe-guest-utilities-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:38180
#, fuzzy
msgid "Service type for the Xen guest utilities service."
msgstr "服务类型和服务"

#. type: deftp
#: guix-git/doc/guix.texi:38182
#, fuzzy, no-wrap
msgid "{Data Type} xe-guest-utilities-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:38184
#, fuzzy
msgid "Configuration for the @code{xe-guest-utilities} service."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:38186
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{xe-guest-utilities})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:38188
#, fuzzy
msgid "The Xen guest utilities package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:38189
#, fuzzy, no-wrap
msgid "@code{pid-file} (default: @code{\"/var/run/xe-daemon.pid\"})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38191
#, fuzzy
msgid "Name of the file holding the PID of @code{xe-deamon}."
msgstr "保存 @code{xe-deamon} 的 PID 的文件名。"

#. type: item
#: guix-git/doc/guix.texi:38192
#, fuzzy, no-wrap
msgid "@code{log-file} (default: @code{\"/var/log/xe-guest-utilities.log\"})"
msgstr "@code{private-key}(默认值:@file{~root/.ssh/id_rsa})"

#. type: table
#: guix-git/doc/guix.texi:38194
#, fuzzy
msgid "Name of the @code{xe-guest-utilities} log file."
msgstr "仓库的纯函数式接口。"

#. type: Plain text
#: guix-git/doc/guix.texi:38203
msgid "@code{xe-guest-utilities} is the standard guest utilities used for Xen guests.  More recently the Xen Project has been working to develop @code{xen-guest-agent}, a modern drop-in replacement for @code{xe-guest-utilities}.  While they nearly have feature-parity, @code{xen-guest-agent} currently lacks some of the features of its predecessor, namely disk metrics and ``PV drivers version''."
msgstr ""

#. type: defvar
#: guix-git/doc/guix.texi:38204
#, fuzzy, no-wrap
msgid "xen-guest-agent-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:38206
#, fuzzy
msgid "Service type for the Xen guest agent service."
msgstr "服务类型和服务"

#. type: deftp
#: guix-git/doc/guix.texi:38208
#, fuzzy, no-wrap
msgid "{Data Type} xen-guest-agent-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:38210
#, fuzzy
msgid "Configuration for the @code{xen-guest-agent} service."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:38212
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{xen-guest-agent})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:38214
#, fuzzy
msgid "The Xen guest agent package to use."
msgstr "软件包数据类型。"

#. type: quotation
#: guix-git/doc/guix.texi:38219
#, fuzzy
msgid "@code{xe-guest-utilities} and @code{xen-guest-agent} are mutually exclusive."
msgstr "@code{#:use-setuptools?} 和 @code{#:test-target} 被移除。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:38223
#, fuzzy
msgid "build-vm"
msgstr "构建系统"

#. type: subsubheading
#: guix-git/doc/guix.texi:38223
#, fuzzy, no-wrap
msgid "Virtual Build Machines"
msgstr "额外的构建选项"

#. type: cindex
#: guix-git/doc/guix.texi:38225
#, fuzzy, no-wrap
msgid "virtual build machines"
msgstr "{数据类型} build-machine"

#. type: cindex
#: guix-git/doc/guix.texi:38226
#, fuzzy, no-wrap
msgid "build VMs"
msgstr "构建用户"

#. type: cindex
#: guix-git/doc/guix.texi:38227
#, fuzzy, no-wrap
msgid "VMs, for offloading"
msgstr "下发"

#. type: Plain text
#: guix-git/doc/guix.texi:38232
#, fuzzy
msgid "@dfn{Virtual build machines} or ``build VMs'' let you offload builds to a fully controlled environment.  ``How can it be more controlled than regular builds? And why would it be useful?'', you ask.  Good questions."
msgstr "@dfn{虚拟构建机器} 或 ``构建虚拟机'' 让您将构建卸载到一个完全受控的环境中。``它怎么会比常规构建更受控?这有什么用?''你问。好问题。"

#. type: Plain text
#: guix-git/doc/guix.texi:38242
#, fuzzy
msgid "Builds spawned by @code{guix-daemon} indeed run in a controlled environment; specifically the daemon spawns build processes in separate namespaces and in a chroot, such as that build processes only see their declared dependencies and a well-defined subset of the file system tree (@pxref{Build Environment Setup}, for details).  A few aspects of the environments are not controlled though: the operating system kernel, the CPU model, and the date.  Most of the time, these aspects have no impact on the build process: the level of isolation @code{guix-daemon} provides is ``good enough''."
msgstr "由 @code{guix-daemon} 生成的构建确实在一个受控环境中运行;具体来说,守护进程在单独的命名空间和 chroot 中生成构建进程,这样构建进程只看到其声明的依赖项和文件系统树的一个明确定义的子集(有关详细信息,请参见 @pxref{Build Environment Setup})。不过,环境的某些方面并不受控:操作系统内核、CPU 模型和日期。大多数情况下,这些方面对构建过程没有影响:@code{guix-daemon} 提供的隔离级别是 ``足够好'' 的。"

#. type: cindex
#: guix-git/doc/guix.texi:38243
#, fuzzy, no-wrap
msgid "time traps"
msgstr "时间陷阱"

#. type: Plain text
#: guix-git/doc/guix.texi:38253
#, fuzzy
msgid "However, there are occasionally cases where those aspects @emph{do} influence the build process.  A typical example is @dfn{time traps}: build processes that stop working after a certain date@footnote{The most widespread example of time traps is test suites that involve checking the expiration date of a certificate.  Such tests exists in TLS implementations such as OpenSSL and GnuTLS, but also in high-level software such as Python.}.  Another one is software that optimizes for the CPU microarchitecture it is built on or, worse, bugs that manifest only on specific CPUs."
msgstr "然而,有时这些方面确实会影响构建过程。一个典型的例子是 @dfn{时间陷阱}:在某个日期之后停止工作的构建过程@footnote{时间陷阱最普遍的例子是涉及检查证书过期日期的测试套件。这种测试存在于 TLS 实现中,如 OpenSSL 和 GnuTLS,也存在于 Python 等高级软件中。}。另一个例子是针对其构建所基于的 CPU 微架构进行优化的软件,或者更糟的是,仅在特定 CPU 上表现出的错误。"

#. type: Plain text
#: guix-git/doc/guix.texi:38256
#, fuzzy
msgid "To address that, @code{virtual-build-machine-service-type} lets you add a virtual build machine on your system, as in this example:"
msgstr "为了解决这个问题,@code{virtual-build-machine-service-type} 允许您在系统上添加一个虚拟构建机器,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:38259
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu services virtualization))\n"
"\n"
msgstr ""
"(use-modules (gnu packages version-control))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:38264
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services (append (list (service virtual-build-machine-service-type))\n"
"                    %base-services)))\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services (append (list (service virtual-build-machine-service-type))\n"
"                    %base-services)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38269
#, fuzzy
msgid "By default, you have to explicitly start the build machine when you need it, at which point builds may be offloaded to it (@pxref{Daemon Offload Setup}):"
msgstr "默认情况下,您必须在需要时显式启动构建机器,此时构建可能会被转移到它上面 (@pxref{Daemon Offload Setup}):"

#. type: example
#: guix-git/doc/guix.texi:38272
#, fuzzy, no-wrap
msgid "herd start build-vm\n"
msgstr "herd start build-vm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38280
#, fuzzy
msgid "With the default setting shown above, the build VM runs with its clock set to a date several years in the past, and on a CPU model that corresponds to that date---a model possibly older than that of your machine.  This lets you rebuild today software from the past that would otherwise fail to build due to a time trap or other issues in its build process.  You can view the VM's config like this:"
msgstr "在上面显示的默认设置下,构建虚拟机的时钟设置为几年前的日期,并且在与该日期相对应的 CPU 型号上运行——该型号可能比您的机器更旧。这使您能够从过去重建今天的软件,否则由于时间陷阱或构建过程中的其他问题而无法构建。您可以像这样查看虚拟机的配置:"

#. type: example
#: guix-git/doc/guix.texi:38283
#, fuzzy, no-wrap
msgid "herd configuration build-vm\n"
msgstr "系统配置\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38286
#, fuzzy
msgid "You can configure the build VM, as in this example:"
msgstr "您可以配置构建虚拟机,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:38294
#, fuzzy, no-wrap
msgid ""
"(service virtual-build-machine-service-type\n"
"         (virtual-build-machine\n"
"          (cpu \"Westmere\")\n"
"          (cpu-count 8)\n"
"          (memory-size (* 1 1024))\n"
"          (auto-start? #t)))\n"
msgstr ""
"(service virtual-build-machine-service-type\n"
"         (virtual-build-machine\n"
"          (cpu \"Westmere\")\n"
"          (cpu-count 8)\n"
"          (memory-size (* 1 1024))\n"
"          (auto-start? #t)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38297
#, fuzzy
msgid "The available options are shown below."
msgstr "目前这些平台提供软件包:"

#. type: defvar
#: guix-git/doc/guix.texi:38298
#, fuzzy, no-wrap
msgid "virtual-build-machine-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:38302
#, fuzzy
msgid "This is the service type to run @dfn{virtual build machines}.  Virtual build machines are configured so that builds are offloaded to them when they are running."
msgstr "这是运行 @dfn{虚拟构建机器} 的服务类型。虚拟构建机器被配置为在运行时将构建转移到它们。"

#. type: deftp
#: guix-git/doc/guix.texi:38304
#, fuzzy, no-wrap
msgid "{Data Type} virtual-build-machine"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:38307
#, fuzzy
msgid "This is the data type specifying the configuration of a build machine.  It contains the fields below:"
msgstr "这个数据类型表示后台进程可以下发构建任务的构建机器。重要的项有:"

#. type: item
#: guix-git/doc/guix.texi:38309
#, fuzzy, no-wrap
msgid "@code{name} (default: @code{'build-vm})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38312
#, fuzzy
msgid "The name of this build VM.  It is used to construct the name of its Shepherd service."
msgstr "此构建虚拟机的名称。它用于构建其 Shepherd 服务的名称。"

#. type: item
#: guix-git/doc/guix.texi:38313 guix-git/doc/guix.texi:44763
#, no-wrap
msgid "image"
msgstr "image"

#. type: table
#: guix-git/doc/guix.texi:38318
#, fuzzy
msgid "The image of the virtual machine (@pxref{System Images}).  This notably specifies the virtual disk size and the operating system running into it (@pxref{operating-system Reference}).  The default value is a minimal operating system image."
msgstr "虚拟机的映像 (@pxref{System Images})。这特别指定了虚拟磁盘大小和运行其中的操作系统 (@pxref{operating-system Reference})。默认值是一个最小的操作系统映像。"

#. type: table
#: guix-git/doc/guix.texi:38321
#, fuzzy
msgid "The QEMU package to run the image."
msgstr "软件包数据类型。"

#. type: code{#1}
#: guix-git/doc/guix.texi:38322
#, fuzzy, no-wrap
msgid "cpu"
msgstr "中央处理器"

#. type: table
#: guix-git/doc/guix.texi:38324
#, fuzzy
msgid "The CPU model being emulated as a string denoting a model known to QEMU."
msgstr "被模拟的 CPU 模型作为一个字符串,表示一个 QEMU 知道的模型。"

#. type: table
#: guix-git/doc/guix.texi:38327
#, fuzzy
msgid "The default value is a model that matches @code{date} (see below).  To see what CPU models are available, run, for example:"
msgstr "默认值是一个与 @code{date} 匹配的模型(见下文)。要查看可用的 CPU 模型,可以运行,例如:"

#. type: example
#: guix-git/doc/guix.texi:38330
#, fuzzy, no-wrap
msgid "qemu-system-x86_64 -cpu help\n"
msgstr "qemu-system-x86_64 -cpu help\n"

#. type: item
#: guix-git/doc/guix.texi:38332
#, fuzzy, no-wrap
msgid "@code{cpu-count} (default: @code{4})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:38334
#, fuzzy
msgid "The number of CPUs emulated by the virtual machine."
msgstr "那台机器上可以并行运行的构建任务数量。"

#. type: item
#: guix-git/doc/guix.texi:38335
#, fuzzy, no-wrap
msgid "@code{memory-size} (default: @code{2048})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38337
#, fuzzy
msgid "Size in mebibytes (MiB) of the virtual machine's main memory (RAM)."
msgstr "虚拟机主内存(RAM)的大小,以兆二进制字节(MiB)为单位。"

#. type: item
#: guix-git/doc/guix.texi:38338
#, fuzzy, no-wrap
msgid "@code{date} (default: a few years ago)"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:38341
#, fuzzy
msgid "Date inside the virtual machine when it starts; this must be a SRFI-19 date object (@pxref{SRFI-19 Date,,, guile, GNU Guile Reference Manual})."
msgstr "虚拟机启动时的日期;这必须是一个 SRFI-19 日期对象(@pxref{SRFI-19 Date,,, guile, GNU Guile Reference Manual})。"

#. type: item
#: guix-git/doc/guix.texi:38342
#, fuzzy, no-wrap
msgid "@code{port-forwardings} (default: 11022 and 11004)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:38345
#, fuzzy
msgid "TCP ports of the virtual machine forwarded to the host.  By default, the SSH and secrets ports are forwarded into the host."
msgstr "虚拟机的 TCP 端口转发到主机。默认情况下,SSH 和秘密端口会转发到主机。"

#. type: table
#: guix-git/doc/guix.texi:38349
#, fuzzy
msgid "List of system types supported by the build VM---e.g., @code{\"x86_64-linux\"}."
msgstr "远程机器的系统类型--如,@code{\"x86_64-linux\"}。"

#. type: item
#: guix-git/doc/guix.texi:38350
#, fuzzy, no-wrap
msgid "@code{auto-start?} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:38352
#, fuzzy
msgid "Whether to start the virtual machine when the system boots."
msgstr "系统启动时是否启动虚拟机。"

#. type: Plain text
#: guix-git/doc/guix.texi:38357
#, fuzzy
msgid "In the next section, you'll find a variant on this theme: GNU/Hurd virtual machines!"
msgstr "在下一节中,您将找到这个主题的一个变体:GNU/Hurd 虚拟机!"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:38359
#, fuzzy
msgid "hurd-vm"
msgstr "hurd-vm"

#. type: subsubheading
#: guix-git/doc/guix.texi:38359
#, fuzzy, no-wrap
msgid "The Hurd in a Virtual Machine"
msgstr "虚拟机中的 Hurd"

#. type: cindex
#: guix-git/doc/guix.texi:38362
#, fuzzy, no-wrap
msgid "the Hurd"
msgstr "Hurd"

#. type: cindex
#: guix-git/doc/guix.texi:38363
#, fuzzy, no-wrap
msgid "childhurd"
msgstr "childhurd"

#. type: Plain text
#: guix-git/doc/guix.texi:38371
#, fuzzy
msgid "Service @code{hurd-vm} provides support for running GNU/Hurd in a virtual machine (VM), a so-called @dfn{childhurd}.  This service is meant to be used on GNU/Linux and the given GNU/Hurd operating system configuration is cross-compiled.  The virtual machine is a Shepherd service that can be referred to by the names @code{hurd-vm} and @code{childhurd} and be controlled with commands such as:"
msgstr "服务 @code{hurd-vm} 提供在虚拟机(VM)中运行 GNU/Hurd 的支持,所谓的 @dfn{childhurd}。该服务旨在在 GNU/Linux 上使用,并且给定的 GNU/Hurd 操作系统配置是交叉编译的。虚拟机是一个 Shepherd 服务,可以通过 @code{hurd-vm} 和 @code{childhurd} 的名称进行引用,并可以使用以下命令进行控制:"

#. type: example
#: guix-git/doc/guix.texi:38375
#, fuzzy, no-wrap
msgid ""
"herd start hurd-vm\n"
"herd stop childhurd\n"
msgstr ""
"herd start hurd-vm\n"
"herd stop childhurd\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38379
#, fuzzy
msgid "When the service is running, you can view its console by connecting to it with a VNC client, for example with:"
msgstr "当服务正在运行时,您可以通过连接 VNC 客户端来查看其控制台,例如:"

#. type: example
#: guix-git/doc/guix.texi:38382
#, fuzzy, no-wrap
msgid "guix shell tigervnc-client -- vncviewer localhost:5900\n"
msgstr "guix shell tigervnc-client -- vncviewer localhost:5900\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38392
#, fuzzy
msgid "The default configuration (see @code{hurd-vm-configuration} below)  spawns a secure shell (SSH) server in your GNU/Hurd system, which QEMU (the virtual machine emulator) redirects to port 10022 on the host.  By default, the service enables @dfn{offloading} such that the host @code{guix-daemon} automatically offloads GNU/Hurd builds to the childhurd (@pxref{Daemon Offload Setup}).  This is what happens when running a command like the following one, where @code{i586-gnu} is the system type of 32-bit GNU/Hurd:"
msgstr "默认配置(见下文的 @code{hurd-vm-configuration})在您的 GNU/Hurd 系统中生成一个安全外壳(SSH)服务器,QEMU(虚拟机模拟器)将其重定向到主机的 10022 端口。默认情况下,该服务启用 @dfn{offloading},使得主机 @code{guix-daemon} 自动将 GNU/Hurd 构建卸载到 childhurd(@pxref{Daemon Offload Setup})。这就是运行如下命令时发生的情况,其中 @code{i586-gnu} 是 32 位 GNU/Hurd 的系统类型:"

#. type: example
#: guix-git/doc/guix.texi:38395
#, fuzzy, no-wrap
msgid "guix build emacs-minimal -s i586-gnu\n"
msgstr "guix build emacs-minimal -s i586-gnu\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38404
#, fuzzy
msgid "The childhurd is volatile and stateless: it starts with a fresh root file system every time you restart it.  By default though, all the files under @file{/etc/childhurd} on the host are copied as is to the root file system of the childhurd when it boots.  This allows you to initialize ``secrets'' inside the VM: SSH host keys, authorized substitute keys, and so on---see the explanation of @code{secret-root} below."
msgstr "childhurd 是易变的和无状态的:每次重启时,它都以全新的根文件系统启动。不过,默认情况下,主机上 @file{/etc/childhurd} 下的所有文件在 childhurd 启动时都会原样复制到其根文件系统。这使您能够在 VM 内初始化“秘密”:SSH 主机密钥、授权替代密钥等——请参见下面 @code{secret-root} 的解释。"

#. type: Plain text
#: guix-git/doc/guix.texi:38411
#, fuzzy
msgid "You will probably find it useful to create an account for you in the GNU/Hurd virtual machine and to authorize logins with your SSH key.  To do that, you can define the GNU/Hurd system in the usual way (@pxref{Using the Configuration System}), and then pass that operating system as the @code{os} field of @code{hurd-vm-configuration}, as in this example:"
msgstr "您可能会发现为您在GNU/Hurd虚拟机中创建一个帐户并使用您的SSH密钥授权登录是有用的。要做到这一点,您可以按照通常的方式定义GNU/Hurd系统(@pxref{使用配置系统}),然后将该操作系统作为@code{hurd-vm-configuration}的@code{os}字段传递,如下例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:38417
#, fuzzy, no-wrap
msgid ""
"(define childhurd-os\n"
"  ;; Definition of my GNU/Hurd system, derived from the default one.\n"
"  (operating-system\n"
"    (inherit %hurd-vm-operating-system)\n"
"\n"
msgstr ""
"(define childhurd-os\n"
"  ;; 我GNU/Hurd系统的定义,源自默认系统。\n"
"  (operating-system\n"
"    (inherit %hurd-vm-operating-system)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:38425
#, fuzzy, no-wrap
msgid ""
"    ;; Add a user account.\n"
"    (users (cons (user-account\n"
"                  (name \"charlie\")\n"
"                  (comment \"This is me!\")\n"
"                  (group \"users\")\n"
"                  (supplementary-groups '(\"wheel\"))) ;for 'sudo'\n"
"                 %base-user-accounts))\n"
"\n"
msgstr ""
"    ;; 添加一个用户帐户。\n"
"    (users (cons (user-account\n"
"                  (name \"charlie\")\n"
"                  (comment \"这就是我!\")\n"
"                  (group \"users\")\n"
"                  (supplementary-groups '(\"wheel\"))) ;用于'sudo'\n"
"                 %base-user-accounts))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:38441
#, fuzzy, no-wrap
msgid ""
"    (services\n"
"     ;; Modify the SSH configuration to allow login as \"root\"\n"
"     ;; and as \"charlie\" using public key authentication.\n"
"     (modify-services (operating-system-user-services\n"
"                       %hurd-vm-operating-system)\n"
"       (openssh-service-type\n"
"        config => (openssh-configuration\n"
"                   (inherit config)\n"
"                   (authorized-keys\n"
"                    `((\"root\"\n"
"                       ,(local-file\n"
"                         \"/home/charlie/.ssh/id_rsa.pub\"))\n"
"                      (\"charlie\"\n"
"                       ,(local-file\n"
"                         \"/home/charlie/.ssh/id_rsa.pub\"))))))))))\n"
"\n"
msgstr ""
"    (services\n"
"     ;; 修改SSH配置以允许以“root”身份登录\n"
"     ;; 和以“charlie”身份使用公钥认证。\n"
"     (modify-services (operating-system-user-services\n"
"                       %hurd-vm-operating-system)\n"
"       (openssh-service-type\n"
"        config => (openssh-configuration\n"
"                   (inherit config)\n"
"                   (authorized-keys\n"
"                    `((\"root\"\n"
"                       ,(local-file\n"
"                         \"/home/charlie/.ssh/id_rsa.pub\"))\n"
"                      (\"charlie\"\n"
"                       ,(local-file\n"
"                         \"/home/charlie/.ssh/id_rsa.pub\"))))))))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:38451
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services\n"
"    ;; Add the 'hurd-vm' service, configured to use the\n"
"    ;; operating system configuration above.\n"
"    (append (list (service hurd-vm-service-type\n"
"                           (hurd-vm-configuration\n"
"                             (os %childhurd-os))))\n"
"            %base-services)))\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services\n"
"    ;; 添加'hurd-vm'服务,配置为使用上述\n"
"    ;; 操作系统配置。\n"
"    (append (list (service hurd-vm-service-type\n"
"                           (hurd-vm-configuration\n"
"                             (os %childhurd-os))))\n"
"            %base-services)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38455
#, fuzzy
msgid "That's it! The remainder of this section provides the reference of the service configuration."
msgstr "就是这样!本节的其余部分提供服务配置的参考。"

#. type: defvar
#: guix-git/doc/guix.texi:38456
#, fuzzy, no-wrap
msgid "hurd-vm-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:38462
#, fuzzy
msgid "This is the type of the Hurd in a Virtual Machine service.  Its value must be a @code{hurd-vm-configuration} object, which specifies the operating system (@pxref{operating-system Reference}) and the disk size for the Hurd Virtual Machine, the QEMU package to use as well as the options for running it."
msgstr "这是Hurd在虚拟机服务中的类型。其值必须是一个@code{hurd-vm-configuration}对象,该对象指定操作系统(@pxref{操作系统参考})和Hurd虚拟机的磁盘大小,使用的QEMU包以及运行它的选项。"

#. type: lisp
#: guix-git/doc/guix.texi:38470
#, fuzzy, no-wrap
msgid ""
"(service hurd-vm-service-type\n"
"         (hurd-vm-configuration\n"
"          (disk-size (* 5000 (expt 2 20))) ;5G\n"
"          (memory-size 1024)))             ;1024MiB\n"
msgstr ""
"(service hurd-vm-service-type\n"
"         (hurd-vm-configuration\n"
"          (disk-size (* 5000 (expt 2 20))) ;5G\n"
"          (memory-size 1024)))             ;1024MiB\n"

#. type: defvar
#: guix-git/doc/guix.texi:38474
#, fuzzy
msgid "would create a disk image big enough to build GNU@tie{}Hello, with some extra memory."
msgstr "将创建一个足够大的磁盘映像,以构建GNU@tie{}Hello,并提供一些额外的内存。"

#. type: deftp
#: guix-git/doc/guix.texi:38476
#, fuzzy, no-wrap
msgid "{Data Type} hurd-vm-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:38479
#, fuzzy
msgid "The data type representing the configuration for @code{hurd-vm-service-type}."
msgstr "表示@code{hurd-vm-service-type}配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:38481
#, fuzzy, no-wrap
msgid "@code{os} (default: @var{%hurd-vm-operating-system})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:38485
#, fuzzy
msgid "The operating system to instantiate.  This default is bare-bones with a permissive OpenSSH secure shell daemon listening on port 2222 (@pxref{Networking Services, @code{openssh-service-type}})."
msgstr "要实例化的操作系统。此默认设置是基本的,具有一个在2222端口上监听的宽松的OpenSSH安全外壳守护进程 (@pxref{Networking Services, @code{openssh-service-type}})。"

#. type: item
#: guix-git/doc/guix.texi:38489
#, fuzzy, no-wrap
msgid "@code{image} (default: @var{hurd-vm-disk-image})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:38492
#, fuzzy
msgid "The image object representing the disk image of this virtual machine (@pxref{System Images})."
msgstr "表示此虚拟机的磁盘映像的映像对象 (@pxref{System Images})。"

#. type: item
#: guix-git/doc/guix.texi:38493
#, fuzzy, no-wrap
msgid "@code{disk-size} (default: @code{'guess})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38495
#, fuzzy
msgid "The size of the disk image."
msgstr "这个用户手册的许可证。"

#. type: item
#: guix-git/doc/guix.texi:38496
#, fuzzy, no-wrap
msgid "@code{memory-size} (default: @code{512})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38498
#, fuzzy
msgid "The memory size of the Virtual Machine in mebibytes."
msgstr "虚拟机的内存大小,以兆字节为单位。"

#. type: item
#: guix-git/doc/guix.texi:38499
#, fuzzy, no-wrap
msgid "@code{options} (default: @code{'(\"--snapshot\")})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:38501
#, fuzzy
msgid "The extra options for running QEMU."
msgstr "运行QEMU的额外选项。"

#. type: table
#: guix-git/doc/guix.texi:38506
#, fuzzy
msgid "If set, a non-zero positive integer used to parameterize Childhurd instances.  It is appended to the service's name, e.g. @code{childhurd1}."
msgstr "如果设置,则为用于参数化Childhurd实例的非零正整数。它会附加到服务的名称,例如@code{childhurd1}。"

#. type: item
#: guix-git/doc/guix.texi:38507
#, fuzzy, no-wrap
msgid "@code{net-options} (default: @var{hurd-vm-net-options})"
msgstr "@code{net-options}(默认值:@var{hurd-vm-net-options})"

#. type: table
#: guix-git/doc/guix.texi:38509
#, fuzzy
msgid "The procedure used to produce the list of QEMU networking options."
msgstr "用于生成QEMU网络选项列表的过程。"

#. type: table
#: guix-git/doc/guix.texi:38511
#, fuzzy
msgid "By default, it produces"
msgstr "默认情况下,它生成"

#. type: lisp
#: guix-git/doc/guix.texi:38519
#, fuzzy, no-wrap
msgid ""
"'(\"--device\" \"rtl8139,netdev=net0\"\n"
"  \"--netdev\" (string-append\n"
"              \"user,id=net0,\"\n"
"              \"hostfwd=tcp:127.0.0.1:@var{secrets-port}-:1004,\"\n"
"              \"hostfwd=tcp:127.0.0.1:@var{ssh-port}-:2222,\"\n"
"              \"hostfwd=tcp:127.0.0.1:@var{vnc-port}-:5900\"))\n"
msgstr ""
"'(\"--device\" \"rtl8139,netdev=net0\"\n"
"  \"--netdev\" (string-append\n"
"              \"user,id=net0,\"\n"
"              \"hostfwd=tcp:127.0.0.1:@var{secrets-port}-:1004,\"\n"
"              \"hostfwd=tcp:127.0.0.1:@var{ssh-port}-:2222,\"\n"
"              \"hostfwd=tcp:127.0.0.1:@var{vnc-port}-:5900\"))\n"

#. type: table
#: guix-git/doc/guix.texi:38522
#, fuzzy
msgid "with forwarded ports:"
msgstr "带有转发端口:"

#. type: example
#: guix-git/doc/guix.texi:38527
#, fuzzy, no-wrap
msgid ""
"@var{secrets-port}: @code{(+ 11004 (* 1000 @var{ID}))}\n"
"@var{ssh-port}: @code{(+ 10022 (* 1000 @var{ID}))}\n"
"@var{vnc-port}: @code{(+ 15900 (* 1000 @var{ID}))}\n"
msgstr ""
"@var{secrets-port}: @code{(+ 11004 (* 1000 @var{ID}))}\n"
"@var{ssh-port}: @code{(+ 10022 (* 1000 @var{ID}))}\n"
"@var{vnc-port}: @code{(+ 15900 (* 1000 @var{ID}))}\n"

#. type: cindex
#: guix-git/doc/guix.texi:38529
#, fuzzy, no-wrap
msgid "childhurd, offloading"
msgstr "下发"

#. type: cindex
#: guix-git/doc/guix.texi:38530
#, fuzzy, no-wrap
msgid "Hurd, offloading"
msgstr "下发"

#. type: item
#: guix-git/doc/guix.texi:38531
#, fuzzy, no-wrap
msgid "@code{offloading?} (default: @code{#t})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38533
#, fuzzy
msgid "Whether to automatically set up offloading of builds to the childhurd."
msgstr "是否自动设置将构建任务转移到childhurd。"

#. type: table
#: guix-git/doc/guix.texi:38537
#, fuzzy
msgid "When enabled, this lets you run GNU/Hurd builds on the host and have them transparently offloaded to the VM, for instance when running a command like this:"
msgstr "启用时,这允许您在主机上运行GNU/Hurd构建,并将其透明地转移到虚拟机,例如在运行如下命令时:"

#. type: example
#: guix-git/doc/guix.texi:38540
#, fuzzy, no-wrap
msgid "guix build coreutils -s i586-gnu\n"
msgstr "guix build coreutils -s i586-gnu\n"

#. type: table
#: guix-git/doc/guix.texi:38543
#, fuzzy
msgid "This option automatically sets up offloading like so:"
msgstr "此选项自动设置转移,如下所示:"

#. type: enumerate
#: guix-git/doc/guix.texi:38550
#, fuzzy
msgid "Authorizing the childhurd's key on the host so that the host accepts build results coming from the childhurd, which can be done like so (@pxref{Invoking guix archive, @command{guix archive --authorize}}, for more on that)."
msgstr "在主机上授权childhurd的密钥,以便主机接受来自childhurd的构建结果,可以通过如下方式完成(@pxref{Invoking guix archive, @command{guix archive --authorize}},有关更多信息)。"

#. type: enumerate
#: guix-git/doc/guix.texi:38554
#, fuzzy
msgid "Creating a user account called @code{offloading} dedicated to offloading in the childhurd."
msgstr "创建一个名为@code{offloading}的用户帐户,专门用于在childhurd中进行转移。"

#. type: enumerate
#: guix-git/doc/guix.texi:38558
#, fuzzy
msgid "Creating an SSH key pair on the host and making it an authorized key of the @code{offloading} account in the childhurd."
msgstr "在主机上创建 SSH 密钥对,并将其作为子 Hurd 中 @code{offloading} 账户的授权密钥。"

#. type: enumerate
#: guix-git/doc/guix.texi:38562
#, fuzzy
msgid "Adding the childhurd to @file{/etc/guix/machines.scm} (@pxref{Daemon Offload Setup})."
msgstr "将子 Hurd 添加到 @file{/etc/guix/machines.scm} 中(@pxref{Daemon Offload Setup})。"

#. type: item
#: guix-git/doc/guix.texi:38564
#, fuzzy, no-wrap
msgid "@code{secret-root} (default: @file{/etc/childhurd})"
msgstr "@code{private-key}(默认值:@file{~root/.ssh/id_rsa})"

#. type: table
#: guix-git/doc/guix.texi:38569
#, fuzzy
msgid "The root directory with out-of-band secrets to be installed into the childhurd once it runs.  Childhurds are volatile which means that on every startup, secrets such as the SSH host keys and Guix signing key are recreated."
msgstr "根目录包含将在子 Hurd 运行时安装的带外秘密。子 Hurd 是易失性的,这意味着在每次启动时,SSH 主机密钥和 Guix 签名密钥等秘密会被重新创建。"

#. type: table
#: guix-git/doc/guix.texi:38573
#, fuzzy
msgid "If the @file{/etc/childhurd} directory does not exist, the @code{secret-service} running in the Childhurd will be sent an empty list of secrets."
msgstr "如果 @file{/etc/childhurd} 目录不存在,运行在 Childhurd 中的 @code{secret-service} 将会收到一个空的秘密列表。"

#. type: table
#: guix-git/doc/guix.texi:38576
#, fuzzy
msgid "By default, the service automatically populates @file{/etc/childhurd} with the following non-volatile secrets, unless they already exist:"
msgstr "默认情况下,该服务会自动用以下非易失性秘密填充 @file{/etc/childhurd},除非它们已经存在:"

#. type: example
#: guix-git/doc/guix.texi:38586
#, fuzzy, no-wrap
msgid ""
"/etc/childhurd/etc/guix/acl\n"
"/etc/childhurd/etc/guix/signing-key.pub\n"
"/etc/childhurd/etc/guix/signing-key.sec\n"
"/etc/childhurd/etc/ssh/authorized_keys.d/offloading\n"
"/etc/childhurd/etc/ssh/ssh_host_ed25519_key\n"
"/etc/childhurd/etc/ssh/ssh_host_ecdsa_key\n"
"/etc/childhurd/etc/ssh/ssh_host_ed25519_key.pub\n"
"/etc/childhurd/etc/ssh/ssh_host_ecdsa_key.pub\n"
msgstr ""
"/etc/childhurd/etc/guix/acl\n"
"/etc/childhurd/etc/guix/signing-key.pub\n"
"/etc/childhurd/etc/guix/signing-key.sec\n"
"/etc/childhurd/etc/ssh/authorized_keys.d/offloading\n"
"/etc/childhurd/etc/ssh/ssh_host_ed25519_key\n"
"/etc/childhurd/etc/ssh/ssh_host_ecdsa_key\n"
"/etc/childhurd/etc/ssh/ssh_host_ed25519_key.pub\n"
"/etc/childhurd/etc/ssh/ssh_host_ecdsa_key.pub\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38595
#, fuzzy
msgid "Note that by default the VM image is volatile, i.e., once stopped the contents are lost.  If you want a stateful image instead, override the configuration's @code{image} and @code{options} without the @code{--snapshot} flag using something along these lines:"
msgstr "请注意,默认情况下,虚拟机镜像是易失性的,即一旦停止,内容将丢失。如果您想要一个有状态的镜像,请覆盖配置中的 @code{image} 和 @code{options},而不使用 @code{--snapshot} 标志,使用类似以下内容:"

#. type: lisp
#: guix-git/doc/guix.texi:38601
#, fuzzy, no-wrap
msgid ""
"(service hurd-vm-service-type\n"
"         (hurd-vm-configuration\n"
"          (image   (const \"/out/of/store/writable/hurd.img\"))\n"
"          (options '())))\n"
msgstr ""
"(service hurd-vm-service-type\n"
"         (hurd-vm-configuration\n"
"          (image   (const \"/out/of/store/writable/hurd.img\"))\n"
"          (options '())))\n"

#. type: subsubheading
#: guix-git/doc/guix.texi:38603
#, fuzzy, no-wrap
msgid "Ganeti"
msgstr "Ganeti"

#. type: cindex
#: guix-git/doc/guix.texi:38605
#, fuzzy, no-wrap
msgid "ganeti"
msgstr "ganeti"

#. type: quotation
#: guix-git/doc/guix.texi:38612
#, fuzzy
msgid "This service is considered experimental.  Configuration options may be changed in a backwards-incompatible manner, and not all features have been thorougly tested.  Users of this service are encouraged to share their experience at @email{guix-devel@@gnu.org}."
msgstr "该服务被视为实验性。配置选项可能会以向后不兼容的方式更改,并且并非所有功能都经过彻底测试。鼓励使用此服务的用户在 @email{guix-devel@@gnu.org} 分享他们的经验。"

#. type: Plain text
#: guix-git/doc/guix.texi:38622
#, fuzzy
msgid "Ganeti is a virtual machine management system.  It is designed to keep virtual machines running on a cluster of servers even in the event of hardware failures, and to make maintenance and recovery tasks easy.  It consists of multiple services which are described later in this section.  In addition to the Ganeti service, you will need the OpenSSH service (@pxref{Networking Services, @code{openssh-service-type}}), and update the @file{/etc/hosts} file (@pxref{Service Reference, @code{hosts-service-type}}) with the cluster name and address (or use a DNS server)."
msgstr "Ganeti 是一个虚拟机管理系统。它旨在使虚拟机在服务器集群上持续运行,即使在硬件故障的情况下,也能简化维护和恢复任务。它由多个服务组成,这些服务将在本节后面描述。除了 Ganeti 服务外,您还需要 OpenSSH 服务(@pxref{Networking Services, @code{openssh-service-type}}),并更新 @file{/etc/hosts} 文件(@pxref{Service Reference, @code{hosts-service-type}}),以包含集群名称和地址(或使用 DNS 服务器)。"

#. type: Plain text
#: guix-git/doc/guix.texi:38627
#, fuzzy
msgid "All nodes participating in a Ganeti cluster should have the same Ganeti and @file{/etc/hosts} configuration.  Here is an example configuration for a Ganeti cluster node that supports multiple storage backends, and installs the @code{debootstrap} and @code{guix} @dfn{OS providers}:"
msgstr "参与Ganeti集群的所有节点应具有相同的Ganeti和@file{/etc/hosts}配置。以下是支持多个存储后端的Ganeti集群节点的示例配置,并安装@code{debootstrap}和@code{guix} @dfn{操作系统提供者}:"

#. type: lisp
#: guix-git/doc/guix.texi:38634
#, fuzzy, no-wrap
msgid ""
"(use-package-modules virtualization)\n"
"(use-service-modules base ganeti networking ssh)\n"
"(operating-system\n"
"  ;; @dots{}\n"
"  (host-name \"node1\")\n"
"\n"
msgstr ""
"(use-package-modules virtualization)\n"
"(use-service-modules base ganeti networking ssh)\n"
"(operating-system\n"
"  ;; @dots{}\n"
"  (host-name \"node1\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:38655
#, fuzzy, no-wrap
msgid ""
"  ;; Install QEMU so we can use KVM-based instances, and LVM, DRBD and Ceph\n"
"  ;; in order to use the \"plain\", \"drbd\" and \"rbd\" storage backends.\n"
"  (packages (append (map specification->package\n"
"                         '(\"qemu\" \"lvm2\" \"drbd-utils\" \"ceph\"\n"
"                           ;; Add the debootstrap and guix OS providers.\n"
"                           \"ganeti-instance-guix\" \"ganeti-instance-debootstrap\"))\n"
"                    %base-packages))\n"
"  (services\n"
"   (append (list (service static-networking-service-type\n"
"                          (list (static-networking\n"
"                                 (addresses\n"
"                                  (list (network-address\n"
"                                         (device \"eth0\")\n"
"                                         (value \"192.168.1.201/24\"))))\n"
"                                 (routes\n"
"                                  (list (network-route\n"
"                                         (destination \"default\")\n"
"                                         (gateway \"192.168.1.254\"))))\n"
"                                 (name-servers '(\"192.168.1.252\"\n"
"                                                 \"192.168.1.253\")))))\n"
"\n"
msgstr ""
"  ;; 安装QEMU,以便我们可以使用基于KVM的实例,以及LVM、DRBD和Ceph\n"
"  ;; 以使用“plain”、“drbd”和“rbd”存储后端。\n"
"  (packages (append (map specification->package\n"
"                         '(\"qemu\" \"lvm2\" \"drbd-utils\" \"ceph\"\n"
"                           ;; 添加debootstrap和guix操作系统提供者。\n"
"                           \"ganeti-instance-guix\" \"ganeti-instance-debootstrap\"))\n"
"                    %base-packages))\n"
"  (services\n"
"   (append (list (service static-networking-service-type\n"
"                          (list (static-networking\n"
"                                 (addresses\n"
"                                  (list (network-address\n"
"                                         (device \"eth0\")\n"
"                                         (value \"192.168.1.201/24\"))))\n"
"                                 (routes\n"
"                                  (list (network-route\n"
"                                         (destination \"default\")\n"
"                                         (gateway \"192.168.1.254\"))))\n"
"                                 (name-servers '(\"192.168.1.252\"\n"
"                                                 \"192.168.1.253\")))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:38660
#, fuzzy, no-wrap
msgid ""
"                 ;; Ganeti uses SSH to communicate between nodes.\n"
"                 (service openssh-service-type\n"
"                          (openssh-configuration\n"
"                           (permit-root-login 'prohibit-password)))\n"
"\n"
msgstr ""
"                 ;; Ganeti使用SSH在节点之间进行通信。\n"
"                 (service openssh-service-type\n"
"                          (openssh-configuration\n"
"                           (permit-root-login 'prohibit-password)))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:38668
#, fuzzy, no-wrap
msgid ""
"                 (simple-service 'ganeti-hosts-entries hosts-service-type\n"
"                                 (list\n"
"                                   (host \"192.168.1.200\" \"ganeti.example.com\")\n"
"                                   (host \"192.168.1.201\" \"node1.example.com\"\n"
"                                         '(\"node1\"))\n"
"                                   (host \"192.168.1.202\" \"node2.example.com\"\n"
"                                         '(\"node2\"))))\n"
"\n"
msgstr ""
"                 (simple-service 'ganeti-hosts-entries hosts-service-type\n"
"                                 (list\n"
"                                   (host \"192.168.1.200\" \"ganeti.example.com\")\n"
"                                   (host \"192.168.1.201\" \"node1.example.com\"\n"
"                                         '(\"node1\"))\n"
"                                   (host \"192.168.1.202\" \"node2.example.com\"\n"
"                                         '(\"node2\"))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:38678
#, fuzzy, no-wrap
msgid ""
"                 (service ganeti-service-type\n"
"                          (ganeti-configuration\n"
"                           ;; This list specifies allowed file system paths\n"
"                           ;; for storing virtual machine images.\n"
"                           (file-storage-paths '(\"/srv/ganeti/file-storage\"))\n"
"                           ;; This variable configures a single \"variant\" for\n"
"                           ;; both Debootstrap and Guix that works with KVM.\n"
"                           (os %default-ganeti-os))))\n"
"           %base-services)))\n"
msgstr ""
"                 (service ganeti-service-type\n"
"                          (ganeti-configuration\n"
"                           ;; 此列表指定允许的文件系统路径\n"
"                           ;; 用于存储虚拟机镜像。\n"
"                           (file-storage-paths '(\"/srv/ganeti/file-storage\"))\n"
"                           ;; 此变量配置一个适用于\n"
"                           ;; Debootstrap 和 Guix 的单一“变体”,可与 KVM 一起使用。\n"
"                           (os %default-ganeti-os))))\n"
"           %base-services)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38686
#, fuzzy
msgid "Users are advised to read the @url{https://docs.ganeti.org/docs/ganeti/3.0/html/admin.html,Ganeti administrators guide} to learn about the various cluster options and day-to-day operations.  There is also a @url{https://guix.gnu.org/blog/2020/running-a-ganeti-cluster-on-guix/,blog post} describing how to configure and initialize a small cluster."
msgstr "建议用户阅读 @url{https://docs.ganeti.org/docs/ganeti/3.0/html/admin.html,Ganeti 管理员指南} 以了解各种集群选项和日常操作。还有一篇 @url{https://guix.gnu.org/blog/2020/running-a-ganeti-cluster-on-guix/,博客文章} 描述了如何配置和初始化一个小型集群。"

#. type: defvar
#: guix-git/doc/guix.texi:38687
#, fuzzy, no-wrap
msgid "ganeti-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:38690
#, fuzzy
msgid "This is a service type that includes all the various services that Ganeti nodes should run."
msgstr "这是一种服务类型,包括 Ganeti 节点应运行的各种服务。"

#. type: defvar
#: guix-git/doc/guix.texi:38695
#, fuzzy
msgid "Its value is a @code{ganeti-configuration} object that defines the package to use for CLI operations, as well as configuration for the various daemons.  Allowed file storage paths and available guest operating systems are also configured through this data type."
msgstr "它的值是一个 @code{ganeti-configuration} 对象,定义了用于 CLI 操作的包,以及各种守护进程的配置。允许的文件存储路径和可用的客户操作系统也通过此数据类型进行配置。"

#. type: deftp
#: guix-git/doc/guix.texi:38697
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-configuration"
msgstr "{数据类型} ganeti-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:38699
#, fuzzy
msgid "The @code{ganeti} service takes the following configuration options:"
msgstr "@code{ganeti} 服务接受以下配置选项:"

#. type: item
#: guix-git/doc/guix.texi:38701 guix-git/doc/guix.texi:38951
#: guix-git/doc/guix.texi:39001 guix-git/doc/guix.texi:39031
#: guix-git/doc/guix.texi:39058 guix-git/doc/guix.texi:39090
#: guix-git/doc/guix.texi:39143 guix-git/doc/guix.texi:39163
#: guix-git/doc/guix.texi:39189 guix-git/doc/guix.texi:39222
#: guix-git/doc/guix.texi:39262
#, fuzzy, no-wrap
msgid "@code{ganeti} (default: @code{ganeti})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:38706
#, fuzzy
msgid "The @code{ganeti} package to use.  It will be installed to the system profile and make @command{gnt-cluster}, @command{gnt-instance}, etc available.  Note that the value specified here does not affect the other services as each refer to a specific @code{ganeti} package (see below)."
msgstr "要使用的 @code{ganeti} 包。它将被安装到系统配置文件中,并使 @command{gnt-cluster}、@command{gnt-instance} 等可用。请注意,这里指定的值不会影响其他服务,因为每个服务都引用特定的 @code{ganeti} 包(见下文)。"

#. type: item
#: guix-git/doc/guix.texi:38707
#, fuzzy, no-wrap
msgid "@code{noded-configuration} (default: @code{(ganeti-noded-configuration)})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: itemx
#: guix-git/doc/guix.texi:38708
#, fuzzy, no-wrap
msgid "@code{confd-configuration} (default: @code{(ganeti-confd-configuration)})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: itemx
#: guix-git/doc/guix.texi:38709
#, fuzzy, no-wrap
msgid "@code{wconfd-configuration} (default: @code{(ganeti-wconfd-configuration)})"
msgstr "@code{wconfd-configuration}(默认值:@code{(ganeti-wconfd-configuration)})"

#. type: itemx
#: guix-git/doc/guix.texi:38710
#, fuzzy, no-wrap
msgid "@code{luxid-configuration} (default: @code{(ganeti-luxid-configuration)})"
msgstr "@code{luxid-configuration}(默认值:@code{(ganeti-luxid-configuration)})"

#. type: itemx
#: guix-git/doc/guix.texi:38711
#, fuzzy, no-wrap
msgid "@code{rapi-configuration} (default: @code{(ganeti-rapi-configuration)})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: itemx
#: guix-git/doc/guix.texi:38712
#, fuzzy, no-wrap
msgid "@code{kvmd-configuration} (default: @code{(ganeti-kvmd-configuration)})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: itemx
#: guix-git/doc/guix.texi:38713
#, fuzzy, no-wrap
msgid "@code{mond-configuration} (default: @code{(ganeti-mond-configuration)})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: itemx
#: guix-git/doc/guix.texi:38714
#, fuzzy, no-wrap
msgid "@code{metad-configuration} (default: @code{(ganeti-metad-configuration)})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: itemx
#: guix-git/doc/guix.texi:38715
#, fuzzy, no-wrap
msgid "@code{watcher-configuration} (default: @code{(ganeti-watcher-configuration)})"
msgstr "@code{authentication-hook}(默认值:@code{#f})"

#. type: itemx
#: guix-git/doc/guix.texi:38716
#, fuzzy, no-wrap
msgid "@code{cleaner-configuration} (default: @code{(ganeti-cleaner-configuration)})"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:38721
#, fuzzy
msgid "These options control the various daemons and cron jobs that are distributed with Ganeti.  The possible values for these are described in detail below.  To override a setting, you must use the configuration type for that service:"
msgstr "这些选项控制与 Ganeti 一起分发的各种守护进程和定时任务。这些选项的可能值在下面详细描述。要覆盖设置,您必须使用该服务的配置类型:"

#. type: lisp
#: guix-git/doc/guix.texi:38731
#, fuzzy, no-wrap
msgid ""
"(service ganeti-service-type\n"
"         (ganeti-configuration\n"
"          (rapi-configuration\n"
"           (ganeti-rapi-configuration\n"
"            (interface \"eth1\"))))\n"
"          (watcher-configuration\n"
"           (ganeti-watcher-configuration\n"
"            (rapi-ip \"10.0.0.1\"))))\n"
msgstr ""
"(服务 ganeti-service-type\n"
"         (ganeti-configuration\n"
"          (rapi-configuration\n"
"           (ganeti-rapi-configuration\n"
"            (interface \"eth1\"))))\n"
"          (watcher-configuration\n"
"           (ganeti-watcher-configuration\n"
"            (rapi-ip \"10.0.0.1\"))))\n"

#. type: item
#: guix-git/doc/guix.texi:38733
#, fuzzy, no-wrap
msgid "@code{file-storage-paths} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:38735
#, fuzzy
msgid "List of allowed directories for file storage backend."
msgstr "允许的文件存储后端目录列表。"

#. type: item
#: guix-git/doc/guix.texi:38736
#, fuzzy, no-wrap
msgid "@code{hooks} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:38739
#, fuzzy
msgid "When set, this should be a file-like object containing a directory with @url{https://docs.ganeti.org/docs/ganeti/3.0/html/hooks.html,cluster execution hooks}."
msgstr "设置后,这应该是一个类似文件的对象,包含一个目录,目录中有 @url{https://docs.ganeti.org/docs/ganeti/3.0/html/hooks.html,集群执行钩子}。"

#. type: item
#: guix-git/doc/guix.texi:38740
#, fuzzy, no-wrap
msgid "@code{os} (default: @code{%default-ganeti-os})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:38742
#, fuzzy
msgid "List of @code{<ganeti-os>} records."
msgstr "@code{<ganeti-os>} 记录的列表。"

#. type: deftp
#: guix-git/doc/guix.texi:38746
#, fuzzy
msgid "In essence @code{ganeti-service-type} is shorthand for declaring each service individually:"
msgstr "本质上 @code{ganeti-service-type} 是逐个声明每个服务的简写:"

#. type: lisp
#: guix-git/doc/guix.texi:38757
#, fuzzy, no-wrap
msgid ""
"(service ganeti-noded-service-type)\n"
"(service ganeti-confd-service-type)\n"
"(service ganeti-wconfd-service-type)\n"
"(service ganeti-luxid-service-type)\n"
"(service ganeti-kvmd-service-type)\n"
"(service ganeti-mond-service-type)\n"
"(service ganeti-metad-service-type)\n"
"(service ganeti-watcher-service-type)\n"
"(service ganeti-cleaner-service-type)\n"
msgstr ""
"(服务 ganeti-noded-service-type)\n"
"(服务 ganeti-confd-service-type)\n"
"(服务 ganeti-wconfd-service-type)\n"
"(服务 ganeti-luxid-service-type)\n"
"(服务 ganeti-kvmd-service-type)\n"
"(服务 ganeti-mond-service-type)\n"
"(服务 ganeti-metad-service-type)\n"
"(服务 ganeti-watcher-service-type)\n"
"(服务 ganeti-cleaner-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:38761
#, fuzzy
msgid "Plus a service extension for @code{etc-service-type} that configures the file storage backend and OS variants."
msgstr "加上一个 @code{etc-service-type} 的服务扩展,用于配置文件存储后端和操作系统变体。"

#. type: deftp
#: guix-git/doc/guix.texi:38764
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-os"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:38767
#, fuzzy
msgid "This data type is suitable for passing to the @code{os} parameter of @code{ganeti-configuration}.  It takes the following parameters:"
msgstr "此数据类型适合传递给 @code{ganeti-configuration} 的 @code{os} 参数。它接受以下参数:"

#. type: table
#: guix-git/doc/guix.texi:38773
#, fuzzy
msgid "The name for this OS provider.  It is only used to specify where the configuration ends up.  Setting it to ``debootstrap'' will create @file{/etc/ganeti/instance-debootstrap}."
msgstr "此操作系统提供者的名称。它仅用于指定配置的最终位置。将其设置为 ``debootstrap'' 将创建 @file{/etc/ganeti/instance-debootstrap}。"

#. type: item
#: guix-git/doc/guix.texi:38774
#, fuzzy, no-wrap
msgid "@code{extension} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38777
#, fuzzy
msgid "The file extension for variants of this OS type.  For example @file{.conf} or @file{.scm}.  It will be appended to the variant file name if set."
msgstr "此操作系统类型变体的文件扩展名。例如 @file{.conf} 或 @file{.scm}。如果设置,将附加到变体文件名。"

#. type: item
#: guix-git/doc/guix.texi:38778
#, fuzzy, no-wrap
msgid "@code{variants} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:38782
#, fuzzy
msgid "This must be either a list of @code{ganeti-os-variant} objects for this OS, or a ``file-like'' object (@pxref{G-Expressions, file-like objects})  representing the variants directory."
msgstr "这必须是此操作系统的 @code{ganeti-os-variant} 对象列表,或者是一个表示变体目录的 ``类似文件'' 对象 (@pxref{G-Expressions, 类似文件对象})。"

#. type: table
#: guix-git/doc/guix.texi:38786
#, fuzzy
msgid "To use the Guix OS provider with variant definitions residing in a local directory instead of declaring individual variants (see @var{guix-variants} below), you can do:"
msgstr "要使用 Guix 操作系统提供者,并且变体定义位于本地目录中,而不是逐个声明变体(见下文 @var{guix-variants}),您可以这样做:"

#. type: lisp
#: guix-git/doc/guix.texi:38792
#, fuzzy, no-wrap
msgid ""
"(ganeti-os\n"
" (name \"guix\")\n"
" (variants (local-file \"ganeti-guix-variants\"\n"
"                       #:recursive? #true)))\n"
msgstr ""
"(ganeti-os\n"
" (name \"guix\")\n"
" (variants (local-file \"ganeti-guix-variants\"\n"
"                       #:recursive? #true)))\n"

#. type: table
#: guix-git/doc/guix.texi:38798
#, fuzzy
msgid "Note that you will need to maintain the @file{variants.list} file (see @code{@url{https://docs.ganeti.org/docs/ganeti/3.0/man/ganeti-os-interface.html, ganeti-os-interface(7)}})  manually in this case."
msgstr "请注意,在这种情况下,您需要手动维护 @file{variants.list} 文件(见 @code{@url{https://docs.ganeti.org/docs/ganeti/3.0/man/ganeti-os-interface.html, ganeti-os-interface(7)}})。"

#. type: deftp
#: guix-git/doc/guix.texi:38802
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-os-variant"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:38805
#, fuzzy
msgid "This is the data type for a Ganeti OS variant.  It takes the following parameters:"
msgstr "这是一个Ganeti操作系统变体的数据类型。它接受以下参数:"

#. type: table
#: guix-git/doc/guix.texi:38809
#, fuzzy
msgid "The name of this variant."
msgstr "这个用户手册的许可证。"

#. type: code{#1}
#: guix-git/doc/guix.texi:38810
#, no-wrap
msgid "configuration"
msgstr "configuration"

#. type: table
#: guix-git/doc/guix.texi:38812
#, fuzzy
msgid "A configuration file for this variant."
msgstr "此变体的配置文件。"

#. type: defvar
#: guix-git/doc/guix.texi:38815
#, fuzzy, no-wrap
msgid "%default-debootstrap-hooks"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: defvar
#: guix-git/doc/guix.texi:38817
#, fuzzy
msgid "This variable contains hooks to configure networking and the GRUB bootloader."
msgstr "此变量包含配置网络和GRUB引导加载程序的钩子。"

#. type: defvar
#: guix-git/doc/guix.texi:38819
#, fuzzy, no-wrap
msgid "%default-debootstrap-extra-pkgs"
msgstr "%default-debootstrap-extra-pkgs"

#. type: defvar
#: guix-git/doc/guix.texi:38821
#, fuzzy
msgid "This variable contains a list of packages suitable for a fully-virtualized guest."
msgstr "此变量包含适合完全虚拟化客户机的包列表。"

#. type: deftp
#: guix-git/doc/guix.texi:38823
#, fuzzy, no-wrap
msgid "{Data Type} debootstrap-configuration"
msgstr "{数据类型} debootstrap-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:38826
#, fuzzy
msgid "This data type creates configuration files suitable for the debootstrap OS provider."
msgstr "此数据类型创建适合debootstrap OS提供程序的配置文件。"

#. type: item
#: guix-git/doc/guix.texi:38828
#, fuzzy, no-wrap
msgid "@code{hooks} (default: @code{%default-debootstrap-hooks})"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38832
#, fuzzy
msgid "When not @code{#f}, this must be a G-expression that specifies a directory with scripts that will run when the OS is installed.  It can also be a list of @code{(name . file-like)} pairs.  For example:"
msgstr "当不是@code{#f}时,这必须是一个G表达式,指定一个包含在安装操作系统时将运行的脚本的目录。它也可以是@code{(name . file-like)}对的列表。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:38835
#, fuzzy, no-wrap
msgid "`((99-hello-world . ,(plain-file \"#!/bin/sh\\necho Hello, World\")))\n"
msgstr "`((99-hello-world . ,(plain-file \"#!/bin/sh\\necho Hello, World\")))\n"

#. type: table
#: guix-git/doc/guix.texi:38840
#, fuzzy
msgid "That will create a directory with one executable named @code{99-hello-world} and run it every time this variant is installed.  If set to @code{#f}, hooks in @file{/etc/ganeti/instance-debootstrap/hooks} will be used, if any."
msgstr "这将创建一个名为@code{99-hello-world}的可执行文件的目录,并在每次安装此变体时运行它。如果设置为@code{#f},将使用@file{/etc/ganeti/instance-debootstrap/hooks}中的钩子(如果有的话)。"

#. type: item
#: guix-git/doc/guix.texi:38840
#, fuzzy, no-wrap
msgid "@code{proxy} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:38842
#, fuzzy
msgid "Optional HTTP proxy to use."
msgstr "可选的HTTP代理。"

#. type: item
#: guix-git/doc/guix.texi:38842 guix-git/doc/guix.texi:41254
#, fuzzy, no-wrap
msgid "@code{mirror} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:38845
#, fuzzy
msgid "The Debian mirror.  Typically something like @code{http://ftp.no.debian.org/debian}.  The default varies depending on the distribution."
msgstr "Debian镜像。通常类似于@code{http://ftp.no.debian.org/debian}。默认值因发行版而异。"

#. type: item
#: guix-git/doc/guix.texi:38845
#, fuzzy, no-wrap
msgid "@code{arch} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38848
#, fuzzy
msgid "The dpkg architecture.  Set to @code{armhf} to debootstrap an ARMv7 instance on an AArch64 host.  Default is to use the current system architecture."
msgstr "dpkg架构。设置为@code{armhf}以在AArch64主机上debootstrap一个ARMv7实例。默认使用当前系统架构。"

#. type: item
#: guix-git/doc/guix.texi:38848
#, fuzzy, no-wrap
msgid "@code{suite} (default: @code{\"stable\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:38851
#, fuzzy
msgid "When set, this must be a Debian distribution ``suite'' such as @code{buster} or @code{focal}.  If set to @code{#f}, the default for the OS provider is used."
msgstr "设置时,这必须是Debian发行版的“套件”,例如@code{buster}或@code{focal}。如果设置为@code{#f},则使用OS提供程序的默认值。"

#. type: item
#: guix-git/doc/guix.texi:38851
#, fuzzy, no-wrap
msgid "@code{extra-pkgs} (default: @code{%default-debootstrap-extra-pkgs})"
msgstr "@code{extra-pkgs}(默认:@code{%default-debootstrap-extra-pkgs})"

#. type: table
#: guix-git/doc/guix.texi:38854
#, fuzzy
msgid "List of extra packages that will get installed by dpkg in addition to the minimal system."
msgstr "将由dpkg安装的额外软件包列表,除了最小系统之外。"

#. type: item
#: guix-git/doc/guix.texi:38854
#, fuzzy, no-wrap
msgid "@code{components} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38857
#, fuzzy
msgid "When set, must be a list of Debian repository ``components''.  For example @code{'(\"main\" \"contrib\")}."
msgstr "设置时,必须是Debian存储库的“组件”列表。例如@code{'(\"main\" \"contrib\")}。"

#. type: item
#: guix-git/doc/guix.texi:38857
#, fuzzy, no-wrap
msgid "@code{generate-cache?} (default: @code{#t})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:38859
#, fuzzy
msgid "Whether to automatically cache the generated debootstrap archive."
msgstr "是否自动缓存生成的debootstrap归档。"

#. type: item
#: guix-git/doc/guix.texi:38859
#, fuzzy, no-wrap
msgid "@code{clean-cache} (default: @code{14})"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38862
#, fuzzy
msgid "Discard the cache after this amount of days.  Use @code{#f} to never clear the cache."
msgstr "在此天数后丢弃缓存。使用@code{#f}以永不清除缓存。"

#. type: item
#: guix-git/doc/guix.texi:38862
#, fuzzy, no-wrap
msgid "@code{partition-style} (default: @code{'msdos})"
msgstr "@code{compression-level}(默认值:@code{3})"

#. type: table
#: guix-git/doc/guix.texi:38865
#, fuzzy
msgid "The type of partition to create.  When set, it must be one of @code{'msdos}, @code{'none} or a string."
msgstr "要创建的分区类型。设置时,它必须是@code{'msdos}、@code{'none}或字符串之一。"

#. type: item
#: guix-git/doc/guix.texi:38865
#, fuzzy, no-wrap
msgid "@code{partition-alignment} (default: @code{2048})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:38867
#, fuzzy
msgid "Alignment of the partition in sectors."
msgstr "分区在扇区中的对齐方式。"

#. type: deffn
#: guix-git/doc/guix.texi:38870
#, fuzzy, no-wrap
msgid "{Procedure} debootstrap-variant name configuration"
msgstr "实例化一个系统配置。"

#. type: deffn
#: guix-git/doc/guix.texi:38873
#, fuzzy
msgid "This is a helper procedure that creates a @code{ganeti-os-variant} record.  It takes two parameters: a name and a @code{debootstrap-configuration} object."
msgstr "这是一个辅助过程,创建一个@code{ganeti-os-variant}记录。它接受两个参数:一个名称和一个@code{debootstrap-configuration}对象。"

#. type: deffn
#: guix-git/doc/guix.texi:38875
#, fuzzy, no-wrap
msgid "{Procedure} debootstrap-os variants@dots{}"
msgstr "{Procedure} debootstrap-os variants@dots{}"

#. type: deffn
#: guix-git/doc/guix.texi:38878
#, fuzzy
msgid "This is a helper procedure that creates a @code{ganeti-os} record.  It takes a list of variants created with @code{debootstrap-variant}."
msgstr "这是一个辅助过程,用于创建一个 @code{ganeti-os} 记录。它接受一个由 @code{debootstrap-variant} 创建的变体列表。"

#. type: deffn
#: guix-git/doc/guix.texi:38880
#, fuzzy, no-wrap
msgid "{Procedure} guix-variant name configuration"
msgstr "系统配置"

#. type: deffn
#: guix-git/doc/guix.texi:38885
#, fuzzy
msgid "This is a helper procedure that creates a @code{ganeti-os-variant} record for use with the Guix OS provider.  It takes a name and a G-expression that returns a ``file-like'' (@pxref{G-Expressions, file-like objects}) object containing a Guix System configuration."
msgstr "这是一个辅助过程,用于为 Guix OS 提供者创建一个 @code{ganeti-os-variant} 记录。它接受一个名称和一个返回“文件类”(@pxref{G-Expressions, file-like objects})对象的 G 表达式,该对象包含 Guix 系统配置。"

#. type: deffn
#: guix-git/doc/guix.texi:38887
#, fuzzy, no-wrap
msgid "{Procedure} guix-os variants@dots{}"
msgstr "{Procedure} guix-os variants@dots{}"

#. type: deffn
#: guix-git/doc/guix.texi:38890
#, fuzzy
msgid "This is a helper procedure that creates a @code{ganeti-os} record.  It takes a list of variants produced by @code{guix-variant}."
msgstr "这是一个辅助过程,用于创建一个 @code{ganeti-os} 记录。它接受一个由 @code{guix-variant} 生成的变体列表。"

#. type: defvar
#: guix-git/doc/guix.texi:38892
#, fuzzy, no-wrap
msgid "%default-debootstrap-variants"
msgstr "%default-debootstrap-variants"

#. type: defvar
#: guix-git/doc/guix.texi:38896
#, fuzzy
msgid "This is a convenience variable to make the debootstrap provider work ``out of the box'' without users having to declare variants manually.  It contains a single debootstrap variant with the default configuration:"
msgstr "这是一个便利变量,使 debootstrap 提供者能够“开箱即用”,用户无需手动声明变体。它包含一个具有默认配置的单一 debootstrap 变体:"

#. type: lisp
#: guix-git/doc/guix.texi:38901
#, fuzzy, no-wrap
msgid ""
"(list (debootstrap-variant\n"
"       \"default\"\n"
"       (debootstrap-configuration)))\n"
msgstr ""
"(list (debootstrap-variant\n"
"       \"default\"\n"
"       (debootstrap-configuration)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:38904
#, fuzzy, no-wrap
msgid "%default-guix-variants"
msgstr "%default-guix-variants"

#. type: defvar
#: guix-git/doc/guix.texi:38908
#, fuzzy
msgid "This is a convenience variable to make the Guix OS provider work without additional configuration.  It creates a virtual machine that has an SSH server, a serial console, and authorizes the Ganeti hosts SSH keys."
msgstr "这是一个便利变量,使 Guix OS 提供者能够在没有额外配置的情况下工作。它创建一个具有 SSH 服务器、串行控制台的虚拟机,并授权 Ganeti 主机的 SSH 密钥。"

#. type: lisp
#: guix-git/doc/guix.texi:38914
#, fuzzy, no-wrap
msgid ""
"(list (guix-variant\n"
"       \"default\"\n"
"       (file-append ganeti-instance-guix\n"
"                    \"/share/doc/ganeti-instance-guix/examples/dynamic.scm\")))\n"
msgstr ""
"(list (guix-variant\n"
"       \"default\"\n"
"       (file-append ganeti-instance-guix\n"
"                    \"/share/doc/ganeti-instance-guix/examples/dynamic.scm\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38920
#, fuzzy
msgid "Users can implement support for OS providers unbeknownst to Guix by extending the @code{ganeti-os} and @code{ganeti-os-variant} records appropriately.  For example:"
msgstr "用户可以通过适当地扩展 @code{ganeti-os} 和 @code{ganeti-os-variant} 记录来实现对 Guix 不知情的 OS 提供者的支持。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:38929
#, fuzzy, no-wrap
msgid ""
"(ganeti-os\n"
" (name \"custom\")\n"
" (extension \".conf\")\n"
" (variants\n"
"  (list (ganeti-os-variant\n"
"         (name \"foo\")\n"
"         (configuration (plain-file \"bar\" \"this is fine\"))))))\n"
msgstr ""
"(ganeti-os\n"
" (name \"custom\")\n"
" (extension \".conf\")\n"
" (variants\n"
"  (list (ganeti-os-variant\n"
"         (name \"foo\")\n"
"         (configuration (plain-file \"bar\" \"这很好\"))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:38934
#, fuzzy
msgid "That creates @file{/etc/ganeti/instance-custom/variants/foo.conf} which points to a file in the store with contents @code{this is fine}.  It also creates @file{/etc/ganeti/instance-custom/variants/variants.list} with contents @code{foo}."
msgstr "这会创建 @file{/etc/ganeti/instance-custom/variants/foo.conf},指向存储中内容为 @code{这很好} 的文件。它还会创建 @file{/etc/ganeti/instance-custom/variants/variants.list},内容为 @code{foo}。"

#. type: Plain text
#: guix-git/doc/guix.texi:38937
#, fuzzy
msgid "Obviously this may not work for all OS providers out there.  If you find the interface limiting, please reach out to @email{guix-devel@@gnu.org}."
msgstr "显然,这可能并不适用于所有的 OS 提供者。如果您发现接口有限,请联系 @email{guix-devel@@gnu.org}。"

#. type: Plain text
#: guix-git/doc/guix.texi:38940
#, fuzzy
msgid "The rest of this section documents the various services that are included by @code{ganeti-service-type}."
msgstr "本节的其余部分记录了由 @code{ganeti-service-type} 包含的各种服务。"

#. type: defvar
#: guix-git/doc/guix.texi:38941
#, fuzzy, no-wrap
msgid "ganeti-noded-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:38945
#, fuzzy
msgid "@command{ganeti-noded} is the daemon responsible for node-specific functions within the Ganeti system.  The value of this service must be a @code{ganeti-noded-configuration} object."
msgstr "@command{ganeti-noded} 是负责 Ganeti 系统中节点特定功能的守护进程。该服务的值必须是一个 @code{ganeti-noded-configuration} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:38947
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-noded-configuration"
msgstr "{数据类型} ganeti-noded-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:38949
#, fuzzy
msgid "This is the configuration for the @code{ganeti-noded} service."
msgstr "这是 @code{ganeti-noded} 服务的配置。"

#. type: table
#: guix-git/doc/guix.texi:38953 guix-git/doc/guix.texi:39003
#: guix-git/doc/guix.texi:39033 guix-git/doc/guix.texi:39060
#: guix-git/doc/guix.texi:39092 guix-git/doc/guix.texi:39145
#: guix-git/doc/guix.texi:39165 guix-git/doc/guix.texi:39191
#: guix-git/doc/guix.texi:39224
#, fuzzy
msgid "The @code{ganeti} package to use for this service."
msgstr "用于此服务的 @code{ganeti} 包。"

#. type: item
#: guix-git/doc/guix.texi:38954
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{1811})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:38956
#, fuzzy
msgid "The TCP port on which the node daemon listens for network requests."
msgstr "节点守护进程监听网络请求的 TCP 端口。"

#. type: item
#: guix-git/doc/guix.texi:38957 guix-git/doc/guix.texi:39007
#: guix-git/doc/guix.texi:39099 guix-git/doc/guix.texi:39169
#, fuzzy, no-wrap
msgid "@code{address} (default: @code{\"0.0.0.0\"})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:38960
#, fuzzy
msgid "The network address that the daemon will bind to.  The default address means bind to all available addresses."
msgstr "守护进程将绑定到的网络地址。默认地址意味着绑定到所有可用地址。"

#. type: table
#: guix-git/doc/guix.texi:38964
#, fuzzy
msgid "When this is set, it must be a specific network interface (e.g.@: @code{eth0})  that the daemon will bind to."
msgstr "当设置此项时,它必须是守护进程将绑定的特定网络接口(例如:@code{eth0})。"

#. type: item
#: guix-git/doc/guix.texi:38965 guix-git/doc/guix.texi:39107
#, fuzzy, no-wrap
msgid "@code{max-clients} (default: @code{20})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38969
#, fuzzy
msgid "This sets a limit on the maximum number of simultaneous client connections that the daemon will handle.  Connections above this count are accepted, but no responses will be sent until enough connections have closed."
msgstr "这设置了守护进程将处理的最大同时客户端连接数的限制。超过此数量的连接将被接受,但在关闭足够的连接之前不会发送响应。"

#. type: item
#: guix-git/doc/guix.texi:38970 guix-git/doc/guix.texi:39112
#, fuzzy, no-wrap
msgid "@code{ssl?} (default: @code{#t})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:38974
#, fuzzy
msgid "Whether to use SSL/TLS to encrypt network communications.  The certificate is automatically provisioned by the cluster and can be rotated with @command{gnt-cluster renew-crypto}."
msgstr "是否使用 SSL/TLS 加密网络通信。证书由集群自动提供,并可以通过 @command{gnt-cluster renew-crypto} 进行轮换。"

#. type: item
#: guix-git/doc/guix.texi:38975 guix-git/doc/guix.texi:39115
#, fuzzy, no-wrap
msgid "@code{ssl-key} (default: @file{\"/var/lib/ganeti/server.pem\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:38977 guix-git/doc/guix.texi:39117
#, fuzzy
msgid "This can be used to provide a specific encryption key for TLS communications."
msgstr "这可以用于提供 TLS 通信的特定加密密钥。"

#. type: item
#: guix-git/doc/guix.texi:38978 guix-git/doc/guix.texi:39118
#, fuzzy, no-wrap
msgid "@code{ssl-cert} (default: @file{\"/var/lib/ganeti/server.pem\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:38980 guix-git/doc/guix.texi:39120
#, fuzzy
msgid "This can be used to provide a specific certificate for TLS communications."
msgstr "这可以用于提供 TLS 通信的特定证书。"

#. type: table
#: guix-git/doc/guix.texi:38984 guix-git/doc/guix.texi:39124
#, fuzzy
msgid "When true, the daemon performs additional logging for debugging purposes.  Note that this will leak encryption details to the log files, use with caution."
msgstr "当为真时,守护进程会执行额外的日志记录以进行调试。请注意,这会将加密细节泄露到日志文件中,请谨慎使用。"

#. type: defvar
#: guix-git/doc/guix.texi:38988
#, fuzzy, no-wrap
msgid "ganeti-confd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:38994
#, fuzzy
msgid "@command{ganeti-confd} answers queries related to the configuration of a Ganeti cluster.  The purpose of this daemon is to have a highly available and fast way to query cluster configuration values.  It is automatically active on all @dfn{master candidates}.  The value of this service must be a @code{ganeti-confd-configuration} object."
msgstr "@command{ganeti-confd} 回答与 Ganeti 集群配置相关的查询。该守护进程的目的是提供一种高度可用和快速的方式来查询集群配置值。它在所有 @dfn{主候选} 上自动激活。该服务的值必须是一个 @code{ganeti-confd-configuration} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:38997
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-confd-configuration"
msgstr "{数据类型} ganeti-confd-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:38999
#, fuzzy
msgid "This is the configuration for the @code{ganeti-confd} service."
msgstr "这是 @code{ganeti-confd} 服务的配置。"

#. type: item
#: guix-git/doc/guix.texi:39004
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{1814})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:39006
#, fuzzy
msgid "The UDP port on which to listen for network requests."
msgstr "监听网络请求的 UDP 端口。"

#. type: table
#: guix-git/doc/guix.texi:39009
#, fuzzy
msgid "Network address that the daemon will bind to."
msgstr "守护进程将绑定到的网络地址。"

#. type: table
#: guix-git/doc/guix.texi:39012 guix-git/doc/guix.texi:39041
#: guix-git/doc/guix.texi:39068 guix-git/doc/guix.texi:39148
#: guix-git/doc/guix.texi:39175 guix-git/doc/guix.texi:39201
#, fuzzy
msgid "When true, the daemon performs additional logging for debugging purposes."
msgstr "当为真时,守护进程会执行额外的日志记录以进行调试。"

#. type: defvar
#: guix-git/doc/guix.texi:39016
#, fuzzy, no-wrap
msgid "ganeti-wconfd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:39022
#, fuzzy
msgid "@command{ganeti-wconfd} is the daemon that has authoritative knowledge about the cluster configuration and is the only entity that can accept changes to it.  All jobs that need to modify the configuration will do so by sending appropriate requests to this daemon.  It only runs on the @dfn{master node} and will automatically disable itself on other nodes."
msgstr "@command{ganeti-wconfd} 是一个具有集群配置权威知识的守护进程,是唯一可以接受对此进行更改的实体。所有需要修改配置的作业都将通过向该守护进程发送适当的请求来实现。它仅在 @dfn{master node} 上运行,并将在其他节点上自动禁用。"

#. type: defvar
#: guix-git/doc/guix.texi:39025
#, fuzzy
msgid "The value of this service must be a @code{ganeti-wconfd-configuration} object."
msgstr "该服务的值必须是一个 @code{ganeti-wconfd-configuration} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:39027
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-wconfd-configuration"
msgstr "{数据类型} ganeti-wconfd-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:39029
#, fuzzy
msgid "This is the configuration for the @code{ganeti-wconfd} service."
msgstr "这是 @code{ganeti-wconfd} 服务的配置。"

#. type: item
#: guix-git/doc/guix.texi:39034 guix-git/doc/guix.texi:39061
#, fuzzy, no-wrap
msgid "@code{no-voting?} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:39038
#, fuzzy
msgid "The daemon will refuse to start if the majority of cluster nodes does not agree that it is running on the master node.  Set to @code{#t} to start even if a quorum can not be reached (dangerous, use with caution)."
msgstr "如果大多数集群节点不同意它在主节点上运行,守护进程将拒绝启动。设置为 @code{#t} 即使无法达到法定人数也会启动(危险,谨慎使用)。"

#. type: defvar
#: guix-git/doc/guix.texi:39045
#, fuzzy, no-wrap
msgid "ganeti-luxid-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:39050
#, fuzzy
msgid "@command{ganeti-luxid} is a daemon used to answer queries related to the configuration and the current live state of a Ganeti cluster.  Additionally, it is the authoritative daemon for the Ganeti job queue.  Jobs can be submitted via this daemon and it schedules and starts them."
msgstr "@command{ganeti-luxid} 是一个用于回答与 Ganeti 集群的配置和当前实时状态相关查询的守护进程。此外,它是 Ganeti 作业队列的权威守护进程。作业可以通过该守护进程提交,并由其调度和启动。"

#. type: defvar
#: guix-git/doc/guix.texi:39052
#, fuzzy
msgid "It takes a @code{ganeti-luxid-configuration} object."
msgstr "它需要一个 @code{ganeti-luxid-configuration} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:39054
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-luxid-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:39056
#, fuzzy
msgid "This is the configuration for the @code{ganeti-luxid} service."
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:39065
#, fuzzy
msgid "The daemon will refuse to start if it cannot verify that the majority of cluster nodes believes that it is running on the master node.  Set to @code{#t} to ignore such checks and start anyway (this can be dangerous)."
msgstr "如果无法验证大多数集群节点认为它在主节点上运行,守护进程将拒绝启动。设置为 @code{#t} 以忽略此类检查并继续启动(这可能是危险的)。"

#. type: defvar
#: guix-git/doc/guix.texi:39072
#, fuzzy, no-wrap
msgid "ganeti-rapi-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:39076
#, fuzzy
msgid "@command{ganeti-rapi} provides a remote API for Ganeti clusters.  It runs on the master node and can be used to perform cluster actions programmatically via a JSON-based RPC protocol."
msgstr "@command{ganeti-rapi} 为 Ganeti 集群提供远程 API。它在主节点上运行,可以通过基于 JSON 的 RPC 协议以编程方式执行集群操作。"

#. type: defvar
#: guix-git/doc/guix.texi:39082
#, fuzzy
msgid "Most query operations are allowed without authentication (unless @var{require-authentication?} is set), whereas write operations require explicit authorization via the @file{/var/lib/ganeti/rapi/users} file.  See the @url{https://docs.ganeti.org/docs/ganeti/3.0/html/rapi.html, Ganeti Remote API documentation} for more information."
msgstr "大多数查询操作在没有身份验证的情况下是允许的(除非 @var{require-authentication?} 被设置),而写操作则需要通过 @file{/var/lib/ganeti/rapi/users} 文件进行明确授权。有关更多信息,请参见 @url{https://docs.ganeti.org/docs/ganeti/3.0/html/rapi.html, Ganeti 远程 API 文档}。"

#. type: defvar
#: guix-git/doc/guix.texi:39084
#, fuzzy
msgid "The value of this service must be a @code{ganeti-rapi-configuration} object."
msgstr "该服务的值必须是一个 @code{ganeti-rapi-configuration} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:39086
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-rapi-configuration"
msgstr "{数据类型} ganeti-rapi-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:39088
#, fuzzy
msgid "This is the configuration for the @code{ganeti-rapi} service."
msgstr "这是 @code{ganeti-rapi} 服务的配置。"

#. type: item
#: guix-git/doc/guix.texi:39093
#, fuzzy, no-wrap
msgid "@code{require-authentication?} (default: @code{#f})"
msgstr "@code{authentication-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:39095
#, fuzzy
msgid "Whether to require authentication even for read-only operations."
msgstr "是否即使对于只读操作也需要身份验证。"

#. type: item
#: guix-git/doc/guix.texi:39096
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{5080})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:39098
#, fuzzy
msgid "The TCP port on which to listen to API requests."
msgstr "监听API请求的TCP端口。"

#. type: table
#: guix-git/doc/guix.texi:39102
#, fuzzy
msgid "The network address that the service will bind to.  By default it listens on all configured addresses."
msgstr "服务将绑定到的网络地址。默认情况下,它监听所有配置的地址。"

#. type: table
#: guix-git/doc/guix.texi:39106
#, fuzzy
msgid "When set, it must specify a specific network interface such as @code{eth0} that the daemon will bind to."
msgstr "设置时,必须指定一个特定的网络接口,例如@code{eth0},守护进程将绑定到该接口。"

#. type: table
#: guix-git/doc/guix.texi:39111
#, fuzzy
msgid "The maximum number of simultaneous client requests to handle.  Further connections are allowed, but no responses are sent until enough connections have closed."
msgstr "处理的最大同时客户端请求数。允许进一步的连接,但在足够的连接关闭之前不会发送响应。"

#. type: table
#: guix-git/doc/guix.texi:39114
#, fuzzy
msgid "Whether to use SSL/TLS encryption on the RAPI port."
msgstr "是否在RAPI端口上使用SSL/TLS加密。"

#. type: defvar
#: guix-git/doc/guix.texi:39128
#, fuzzy, no-wrap
msgid "ganeti-kvmd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:39136
#, fuzzy
msgid "@command{ganeti-kvmd} is responsible for determining whether a given KVM instance was shut down by an administrator or a user.  Normally Ganeti will restart an instance that was not stopped through Ganeti itself.  If the cluster option @code{user_shutdown} is true, this daemon monitors the @code{QMP} socket provided by QEMU and listens for shutdown events, and marks the instance as @dfn{USER_down} instead of @dfn{ERROR_down} when it shuts down gracefully by itself."
msgstr "@command{ganeti-kvmd}负责确定给定的KVM实例是由管理员还是用户关闭的。通常,Ganeti会重新启动未通过Ganeti本身停止的实例。如果集群选项@code{user_shutdown}为真,则该守护进程监视QEMU提供的@code{QMP}套接字并监听关闭事件,并在实例自行优雅关闭时将其标记为@dfn{USER_down}而不是@dfn{ERROR_down}。"

#. type: defvar
#: guix-git/doc/guix.texi:39138
#, fuzzy
msgid "It takes a @code{ganeti-kvmd-configuration} object."
msgstr "它需要一个@code{ganeti-kvmd-configuration}对象。"

#. type: deftp
#: guix-git/doc/guix.texi:39140
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-kvmd-configuration"
msgstr "{数据类型} ganeti-kvmd-configuration"

#. type: defvar
#: guix-git/doc/guix.texi:39152
#, fuzzy, no-wrap
msgid "ganeti-mond-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:39156
#, fuzzy
msgid "@command{ganeti-mond} is an optional daemon that provides Ganeti monitoring functionality.  It is responsible for running data collectors and publish the collected information through a HTTP interface."
msgstr "@command{ganeti-mond}是一个可选的守护进程,提供Ganeti监控功能。它负责运行数据收集器并通过HTTP接口发布收集的信息。"

#. type: defvar
#: guix-git/doc/guix.texi:39158
#, fuzzy
msgid "It takes a @code{ganeti-mond-configuration} object."
msgstr "它需要一个@code{ganeti-mond-configuration}对象。"

#. type: deftp
#: guix-git/doc/guix.texi:39160
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-mond-configuration"
msgstr "{数据类型} ganeti-mond-configuration"

#. type: item
#: guix-git/doc/guix.texi:39166
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{1815})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:39168 guix-git/doc/guix.texi:39194
#, fuzzy
msgid "The port on which the daemon will listen."
msgstr "守护进程将监听的端口。"

#. type: table
#: guix-git/doc/guix.texi:39172
#, fuzzy
msgid "The network address that the daemon will bind to.  By default it binds to all available interfaces."
msgstr "守护进程将绑定到的网络地址。默认情况下,它绑定到所有可用接口。"

#. type: defvar
#: guix-git/doc/guix.texi:39179
#, fuzzy, no-wrap
msgid "ganeti-metad-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:39182
#, fuzzy
msgid "@command{ganeti-metad} is an optional daemon that can be used to provide information about the cluster to instances or OS install scripts."
msgstr "@command{ganeti-metad}是一个可选的守护进程,可用于向实例或操作系统安装脚本提供有关集群的信息。"

#. type: defvar
#: guix-git/doc/guix.texi:39184
#, fuzzy
msgid "It takes a @code{ganeti-metad-configuration} object."
msgstr "它需要一个@code{ganeti-metad-configuration}对象。"

#. type: deftp
#: guix-git/doc/guix.texi:39186
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-metad-configuration"
msgstr "{数据类型} build-machine"

#. type: table
#: guix-git/doc/guix.texi:39198
#, fuzzy
msgid "If set, the daemon will bind to this address only.  If left unset, the behavior depends on the cluster configuration."
msgstr "如果设置,守护进程将仅绑定到此地址。如果未设置,则行为取决于集群配置。"

#. type: defvar
#: guix-git/doc/guix.texi:39205
#, fuzzy, no-wrap
msgid "ganeti-watcher-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:39213
#, fuzzy
msgid "@command{ganeti-watcher} is a script designed to run periodically and ensure the health of a cluster.  It will automatically restart instances that have stopped without Ganeti's consent, and repairs DRBD links in case a node has rebooted.  It also archives old cluster jobs and restarts Ganeti daemons that are not running.  If the cluster parameter @code{ensure_node_health} is set, the watcher will also shutdown instances and DRBD devices if the node it is running on is declared offline by known master candidates."
msgstr "@command{ganeti-watcher}是一个旨在定期运行并确保集群健康的脚本。它会自动重新启动未经Ganeti同意而停止的实例,并在节点重启的情况下修复DRBD链接。它还会归档旧的集群作业并重新启动未运行的Ganeti守护进程。如果集群参数@code{ensure_node_health}被设置,观察者还会在其运行的节点被已知的主候选人声明为离线时关闭实例和DRBD设备。"

#. type: defvar
#: guix-git/doc/guix.texi:39215
#, fuzzy
msgid "It can be paused on all nodes with @command{gnt-cluster watcher pause}."
msgstr "可以在所有节点上暂停,使用 @command{gnt-cluster watcher pause}。"

#. type: defvar
#: guix-git/doc/guix.texi:39217
#, fuzzy
msgid "The service takes a @code{ganeti-watcher-configuration} object."
msgstr "该服务需要一个 @code{ganeti-watcher-configuration} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:39219
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-watcher-configuration"
msgstr "{数据类型} ganeti-watcher-configuration"

#. type: item
#: guix-git/doc/guix.texi:39225
#, fuzzy, no-wrap
msgid "@code{schedule} (default: @code{'(next-second-from (next-minute (range 0 60 5)))})"
msgstr "@code{schedule}(默认值:@code{'(next-second-from (next-minute (range 0 60 5)))})"

#. type: table
#: guix-git/doc/guix.texi:39227
#, fuzzy
msgid "How often to run the script.  The default is every five minutes."
msgstr "脚本运行的频率。默认是每五分钟一次。"

#. type: item
#: guix-git/doc/guix.texi:39228
#, fuzzy, no-wrap
msgid "@code{rapi-ip} (default: @code{#f})"
msgstr "@code{cleanup-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:39231
#, fuzzy
msgid "This option needs to be specified only if the RAPI daemon is configured to use a particular interface or address.  By default the cluster address is used."
msgstr "只有在 RAPI 守护进程配置为使用特定接口或地址时,才需要指定此选项。默认使用集群地址。"

#. type: item
#: guix-git/doc/guix.texi:39232
#, fuzzy, no-wrap
msgid "@code{job-age} (default: @code{(* 6 3600)})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:39235
#, fuzzy
msgid "Archive cluster jobs older than this age, specified in seconds.  The default is 6 hours.  This keeps @command{gnt-job list} manageable."
msgstr "归档比此年龄更旧的集群作业,单位为秒。默认值为 6 小时。这使得 @command{gnt-job list} 更易于管理。"

#. type: item
#: guix-git/doc/guix.texi:39236
#, fuzzy, no-wrap
msgid "@code{verify-disks?} (default: @code{#t})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:39240
#, fuzzy
msgid "If this is @code{#f}, the watcher will not try to repair broken DRBD links automatically.  Administrators will need to use @command{gnt-cluster verify-disks} manually instead."
msgstr "如果这是 @code{#f},观察者将不会尝试自动修复损坏的 DRBD 链接。管理员需要手动使用 @command{gnt-cluster verify-disks}。"

#. type: table
#: guix-git/doc/guix.texi:39243
#, fuzzy
msgid "When @code{#t}, the script performs additional logging for debugging purposes."
msgstr "当 @code{#t} 时,脚本会执行额外的日志记录以用于调试。"

#. type: defvar
#: guix-git/doc/guix.texi:39247
#, fuzzy, no-wrap
msgid "ganeti-cleaner-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:39255
#, fuzzy
msgid "@command{ganeti-cleaner} is a script designed to run periodically and remove old files from the cluster.  This service type controls two @dfn{cron jobs}: one intended for the master node that permanently purges old cluster jobs, and one intended for every node that removes expired X509 certificates, keys, and outdated @command{ganeti-watcher} information.  Like all Ganeti services, it is safe to include even on non-master nodes as it will disable itself as necessary."
msgstr "@command{ganeti-cleaner} 是一个设计为定期运行并从集群中删除旧文件的脚本。该服务类型控制两个 @dfn{cron 作业}:一个用于主节点,永久清除旧的集群作业,另一个用于每个节点,删除过期的 X509 证书、密钥和过时的 @command{ganeti-watcher} 信息。与所有 Ganeti 服务一样,即使在非主节点上包含它也是安全的,因为它会根据需要禁用自己。"

#. type: defvar
#: guix-git/doc/guix.texi:39257
#, fuzzy
msgid "It takes a @code{ganeti-cleaner-configuration} object."
msgstr "它需要一个 @code{ganeti-cleaner-configuration} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:39259
#, fuzzy, no-wrap
msgid "{Data Type} ganeti-cleaner-configuration"
msgstr "{数据类型} ganeti-cleaner-configuration"

#. type: table
#: guix-git/doc/guix.texi:39264
#, fuzzy
msgid "The @code{ganeti} package to use for the @command{gnt-cleaner} command."
msgstr "用于 @command{gnt-cleaner} 命令的 @code{ganeti} 包。"

#. type: item
#: guix-git/doc/guix.texi:39265
#, fuzzy, no-wrap
msgid "@code{master-schedule} (default: @code{\"45 1 * * *\"})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:39268
#, fuzzy
msgid "How often to run the master cleaning job.  The default is once per day, at 01:45:00."
msgstr "运行主清理作业的频率。默认值为每天一次,时间为 01:45:00。"

#. type: item
#: guix-git/doc/guix.texi:39269
#, fuzzy, no-wrap
msgid "@code{node-schedule} (default: @code{\"45 2 * * *\"})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:39272
#, fuzzy
msgid "How often to run the node cleaning job.  The default is once per day, at 02:45:00."
msgstr "运行节点清理作业的频率。默认值为每天一次,时间为 02:45:00。"

#. type: Plain text
#: guix-git/doc/guix.texi:39286
#, fuzzy
msgid "The @code{(gnu services version-control)} module provides a service to allow remote access to local Git repositories.  There are three options: the @code{git-daemon-service-type}, which provides access to repositories via the @code{git://} unsecured TCP-based protocol, extending the @code{nginx} web server to proxy some requests to @code{git-http-backend}, or providing a web interface with @code{cgit-service-type}."
msgstr "@code{(gnu services version-control)} 模块提供了一项服务,以允许远程访问本地 Git 仓库。有三个选项:@code{git-daemon-service-type},通过 @code{git://} 不安全的基于 TCP 的协议提供对仓库的访问,扩展 @code{nginx} 网络服务器以将某些请求代理到 @code{git-http-backend},或使用 @code{cgit-service-type} 提供 Web 界面。"

#. type: defvar
#: guix-git/doc/guix.texi:39287
#, fuzzy, no-wrap
msgid "git-daemon-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:39290
#, fuzzy
msgid "Type for a service that runs @command{git daemon}, a simple TCP server to expose repositories over the Git protocol for anonymous access."
msgstr "用于运行 @command{git daemon} 的服务类型,一个简单的 TCP 服务器,用于通过 Git 协议公开存储库以供匿名访问。"

#. type: defvar
#: guix-git/doc/guix.texi:39295
#, fuzzy
msgid "The value for this service type is a @code{<git-daemon-configuration>} record, by default it allows read-only access to exported@footnote{By creating the magic file @file{git-daemon-export-ok} in the repository directory.} repositories under @file{/srv/git}."
msgstr "此服务类型的值是 @code{<git-daemon-configuration>} 记录,默认情况下,它允许对 @file{/srv/git} 下导出的@footnote{通过在存储库目录中创建魔法文件 @file{git-daemon-export-ok}。} 存储库的只读访问。"

#. type: deftp
#: guix-git/doc/guix.texi:39297
#, fuzzy, no-wrap
msgid "{Data Type} git-daemon-configuration"
msgstr "{数据类型} git-daemon-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:39299
#, fuzzy
msgid "Data type representing the configuration for @code{git-daemon-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:39301
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{git})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:39303 guix-git/doc/guix.texi:39363
#, fuzzy
msgid "Package object of the Git distributed version control system."
msgstr "Git 分布式版本控制系统的包对象。"

#. type: item
#: guix-git/doc/guix.texi:39304 guix-git/doc/guix.texi:39367
#, fuzzy, no-wrap
msgid "@code{export-all?} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:39307
#, fuzzy
msgid "Whether to allow access for all Git repositories, even if they do not have the @file{git-daemon-export-ok} file."
msgstr "是否允许访问所有 Git 存储库,即使它们没有 @file{git-daemon-export-ok} 文件。"

#. type: item
#: guix-git/doc/guix.texi:39308
#, fuzzy, no-wrap
msgid "@code{base-path} (default: @file{/srv/git})"
msgstr "@code{base-path}(默认值:@file{/srv/git})"

#. type: table
#: guix-git/doc/guix.texi:39314
#, fuzzy
msgid "Whether to remap all the path requests as relative to the given path.  If you run @command{git daemon} with @code{(base-path \"/srv/git\")} on @samp{example.com}, then if you later try to pull @indicateurl{git://example.com/hello.git}, git daemon will interpret the path as @file{/srv/git/hello.git}."
msgstr "是否将所有路径请求重新映射为相对于给定路径。如果您在 @samp{example.com} 上使用 @command{git daemon} 运行 @code{(base-path \"/srv/git\")},那么如果您稍后尝试拉取 @indicateurl{git://example.com/hello.git},git daemon 将把路径解释为 @file{/srv/git/hello.git}。"

#. type: item
#: guix-git/doc/guix.texi:39315
#, fuzzy, no-wrap
msgid "@code{user-path} (default: @code{#f})"
msgstr "@code{max-journal-depth}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:39323
#, fuzzy
msgid "Whether to allow @code{~user} notation to be used in requests.  When specified with empty string, requests to @indicateurl{git://host/~alice/foo} is taken as a request to access @code{foo} repository in the home directory of user @code{alice}.  If @code{(user-path \"@var{path}\")} is specified, the same request is taken as a request to access @file{@var{path}/foo} repository in the home directory of user @code{alice}."
msgstr "是否允许在请求中使用 @code{~user} 表示法。当指定为空字符串时,对 @indicateurl{git://host/~alice/foo} 的请求被视为访问用户 @code{alice} 的主目录中的 @code{foo} 存储库的请求。如果指定了 @code{(user-path \"@var{path}\")},则同样的请求被视为访问用户 @code{alice} 的主目录中的 @file{@var{path}/foo} 存储库的请求。"

#. type: item
#: guix-git/doc/guix.texi:39324
#, fuzzy, no-wrap
msgid "@code{listen} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:39327
#, fuzzy
msgid "Whether to listen on specific IP addresses or hostnames, defaults to all."
msgstr "是否监听特定的 IP 地址或主机名,默认值为所有。"

#. type: item
#: guix-git/doc/guix.texi:39328
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:39330
#, fuzzy
msgid "Whether to listen on an alternative port, which defaults to 9418."
msgstr "是否监听替代端口,默认值为 9418。"

#. type: item
#: guix-git/doc/guix.texi:39331
#, fuzzy, no-wrap
msgid "@code{whitelist} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:39333
#, fuzzy
msgid "If not empty, only allow access to this list of directories."
msgstr "如果不为空,仅允许访问此目录列表。"

#. type: table
#: guix-git/doc/guix.texi:39337
#, fuzzy
msgid "Extra options that will be passed to @command{git daemon}.@footnote{Run @command{man git-daemon} for more information.}"
msgstr "将传递给 @command{git daemon} 的额外选项。@footnote{运行 @command{man git-daemon} 获取更多信息。}"

#. type: Plain text
#: guix-git/doc/guix.texi:39351
#, fuzzy
msgid "The @code{git://} protocol lacks authentication.  When you pull from a repository fetched via @code{git://}, you don't know whether the data you receive was modified or is even coming from the specified host, and your connection is subject to eavesdropping.  It's better to use an authenticated and encrypted transport, such as @code{https}.  Although Git allows you to serve repositories using unsophisticated file-based web servers, there is a faster protocol implemented by the @code{git-http-backend} program.  This program is the back-end of a proper Git web service.  It is designed to sit behind a FastCGI proxy.  @xref{Web Services}, for more on running the necessary @code{fcgiwrap} daemon."
msgstr "@code{git://} 协议缺乏身份验证。当您从通过 @code{git://} 获取的存储库中拉取时,您不知道接收到的数据是否被修改,甚至是否来自指定的主机,并且您的连接可能会被窃听。最好使用经过身份验证和加密的传输,例如 @code{https}。尽管 Git 允许您使用简单的基于文件的 Web 服务器提供存储库,但 @code{git-http-backend} 程序实现了一种更快的协议。该程序是一个适当的 Git Web 服务的后端。它旨在位于 FastCGI 代理后面。有关运行必要的 @code{fcgiwrap} 守护进程的更多信息,请参见 @xref{Web Services}。"

#. type: Plain text
#: guix-git/doc/guix.texi:39354
#, fuzzy
msgid "Guix has a separate configuration data type for serving Git repositories over HTTP."
msgstr "Guix 有一个单独的配置数据类型,用于通过 HTTP 提供 Git 仓库。"

#. type: deftp
#: guix-git/doc/guix.texi:39355
#, fuzzy, no-wrap
msgid "{Data Type} git-http-configuration"
msgstr "{数据类型} git-http-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:39359
#, fuzzy
msgid "Data type representing the configuration for a future @code{git-http-service-type}; can currently be used to configure Nginx through @code{git-http-nginx-location-configuration}."
msgstr "表示未来 @code{git-http-service-type} 配置的数据类型;目前可以通过 @code{git-http-nginx-location-configuration} 配置 Nginx。"

#. type: item
#: guix-git/doc/guix.texi:39361
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{git})"
msgstr "@code{package}(默认值:@var{git})"

#. type: item
#: guix-git/doc/guix.texi:39364
#, fuzzy, no-wrap
msgid "@code{git-root} (default: @file{/srv/git})"
msgstr "@code{git-root}(默认值:@file{/srv/git})"

#. type: table
#: guix-git/doc/guix.texi:39366
#, fuzzy
msgid "Directory containing the Git repositories to expose to the world."
msgstr "包含要向外界公开的 Git 仓库的目录。"

#. type: table
#: guix-git/doc/guix.texi:39370
#, fuzzy
msgid "Whether to expose access for all Git repositories in @var{git-root}, even if they do not have the @file{git-daemon-export-ok} file."
msgstr "是否公开对 @var{git-root} 中所有 Git 仓库的访问,即使它们没有 @file{git-daemon-export-ok} 文件。"

#. type: item
#: guix-git/doc/guix.texi:39371
#, fuzzy, no-wrap
msgid "@code{uri-path} (default: @samp{/git/})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:39376
#, fuzzy
msgid "Path prefix for Git access.  With the default @samp{/git/} prefix, this will map @indicateurl{http://@var{server}/git/@var{repo}.git} to @file{/srv/git/@var{repo}.git}.  Requests whose URI paths do not begin with this prefix are not passed on to this Git instance."
msgstr "Git 访问的路径前缀。使用默认的 @samp{/git/} 前缀,这将把 @indicateurl{http://@var{server}/git/@var{repo}.git} 映射到 @file{/srv/git/@var{repo}.git}。URI 路径不以此前缀开头的请求不会传递给此 Git 实例。"

#. type: item
#: guix-git/doc/guix.texi:39377
#, fuzzy, no-wrap
msgid "@code{fcgiwrap-socket} (default: @code{127.0.0.1:9000})"
msgstr "@code{fcgiwrap-socket}(默认值:@code{127.0.0.1:9000})"

#. type: table
#: guix-git/doc/guix.texi:39380
#, fuzzy
msgid "The socket on which the @code{fcgiwrap} daemon is listening.  @xref{Web Services}."
msgstr "@code{fcgiwrap} 守护进程正在监听的套接字。@xref{Web Services}。"

#. type: Plain text
#: guix-git/doc/guix.texi:39387
#, fuzzy
msgid "There is no @code{git-http-service-type}, currently; instead you can create an @code{nginx-location-configuration} from a @code{git-http-configuration} and then add that location to a web server."
msgstr "目前没有 @code{git-http-service-type};相反,您可以从 @code{git-http-configuration} 创建一个 @code{nginx-location-configuration},然后将该位置添加到 Web 服务器。"

#. type: deffn
#: guix-git/doc/guix.texi:39388
#, fuzzy, no-wrap
msgid "{Procedure} git-http-nginx-location-configuration @"
msgstr "{数据类型} build-machine"

#. type: deffn
#: guix-git/doc/guix.texi:39393
#, fuzzy
msgid "[config=(git-http-configuration)] Compute an @code{nginx-location-configuration} that corresponds to the given Git http configuration.  An example nginx service definition to serve the default @file{/srv/git} over HTTPS might be:"
msgstr "[config=(git-http-configuration)] 计算与给定 Git http 配置对应的 @code{nginx-location-configuration}。一个示例 nginx 服务定义,用于通过 HTTPS 提供默认的 @file{/srv/git} 可能是:"

#. type: lisp
#: guix-git/doc/guix.texi:39410
#, fuzzy, no-wrap
msgid ""
"(service nginx-service-type\n"
"         (nginx-configuration\n"
"          (server-blocks\n"
"           (list\n"
"            (nginx-server-configuration\n"
"             (listen '(\"443 ssl\"))\n"
"             (server-name \"git.my-host.org\")\n"
"             (ssl-certificate\n"
"              \"/etc/certs/git.my-host.org/fullchain.pem\")\n"
"             (ssl-certificate-key\n"
"              \"/etc/certs/git.my-host.org/privkey.pem\")\n"
"             (locations\n"
"              (list\n"
"               (git-http-nginx-location-configuration\n"
"                (git-http-configuration (uri-path \"/\"))))))))))\n"
msgstr ""
"(service nginx-service-type\n"
"         (nginx-configuration\n"
"          (server-blocks\n"
"           (list\n"
"            (nginx-server-configuration\n"
"             (listen '(\"443 ssl\"))\n"
"             (server-name \"git.my-host.org\")\n"
"             (ssl-certificate\n"
"              \"/etc/certs/git.my-host.org/fullchain.pem\")\n"
"             (ssl-certificate-key\n"
"              \"/etc/certs/git.my-host.org/privkey.pem\")\n"
"             (locations\n"
"              (list\n"
"               (git-http-nginx-location-configuration\n"
"                (git-http-configuration (uri-path \"/\"))))))))))\n"

#. type: deffn
#: guix-git/doc/guix.texi:39417
#, fuzzy
msgid "This example assumes that you are using Let's Encrypt to get your TLS certificate.  @xref{Certificate Services}.  The default @code{certbot} service will redirect all HTTP traffic on @code{git.my-host.org} to HTTPS@.  You will also need to add an @code{fcgiwrap} proxy to your system services.  @xref{Web Services}."
msgstr "此示例假设您正在使用 Let's Encrypt 获取 TLS 证书。@xref{Certificate Services}。默认的 @code{certbot} 服务将把所有 @code{git.my-host.org} 上的 HTTP 流量重定向到 HTTPS@。您还需要向系统服务添加一个 @code{fcgiwrap} 代理。@xref{Web Services}。"

#. type: subsubheading
#: guix-git/doc/guix.texi:39419
#, fuzzy, no-wrap
msgid "Cgit Service"
msgstr "Cgit 服务"

#. type: cindex
#: guix-git/doc/guix.texi:39421
#, fuzzy, no-wrap
msgid "Cgit service"
msgstr "Cgit 服务"

#. type: cindex
#: guix-git/doc/guix.texi:39422
#, fuzzy, no-wrap
msgid "Git, web interface"
msgstr "Git,网页界面"

#. type: Plain text
#: guix-git/doc/guix.texi:39425
#, fuzzy
msgid "@uref{https://git.zx2c4.com/cgit/, Cgit} is a web frontend for Git repositories written in C."
msgstr "@uref{https://git.zx2c4.com/cgit/, Cgit} 是一个用 C 编写的 Git 仓库的网页前端。"

#. type: Plain text
#: guix-git/doc/guix.texi:39428
#, fuzzy
msgid "The following example will configure the service with default values.  By default, Cgit can be accessed on port 80 (@code{http://localhost:80})."
msgstr "以下示例将使用默认值配置服务。默认情况下,可以在端口 80 上访问 Cgit (@code{http://localhost:80})。"

#. type: lisp
#: guix-git/doc/guix.texi:39431
#, fuzzy, no-wrap
msgid "(service cgit-service-type)\n"
msgstr "(service cgit-service-type)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:39435
#, fuzzy
msgid "The @code{file-object} type designates either a file-like object (@pxref{G-Expressions, file-like objects}) or a string."
msgstr "@code{file-object} 类型指定一个文件类对象 (@pxref{G-Expressions, file-like objects}) 或一个字符串。"

#. type: Plain text
#: guix-git/doc/guix.texi:39439
#, fuzzy
msgid "Available @code{cgit-configuration} fields are:"
msgstr "可用的 @code{cgit-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:39440
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} package package"
msgstr "{@code{cgit-configuration} parameter} package package"

#. type: deftypevr
#: guix-git/doc/guix.texi:39442
#, fuzzy
msgid "The CGIT package."
msgstr "CGIT 包。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39445
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} nginx-server-configuration-list nginx"
msgstr "{@code{cgit-configuration} parameter} nginx-server-configuration-list nginx"

#. type: deftypevr
#: guix-git/doc/guix.texi:39447
#, fuzzy
msgid "NGINX configuration."
msgstr "NGINX 配置。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39450
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object about-filter"
msgstr "{@code{cgit-configuration} parameter} file-object about-filter"

#. type: deftypevr
#: guix-git/doc/guix.texi:39453
#, fuzzy
msgid "Specifies a command which will be invoked to format the content of about pages (both top-level and for each repository)."
msgstr "指定一个命令,该命令将被调用以格式化关于页面的内容(包括顶级页面和每个仓库的页面)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39458
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string agefile"
msgstr "{@code{cgit-configuration} parameter} string agefile"

#. type: deftypevr
#: guix-git/doc/guix.texi:39461
#, fuzzy
msgid "Specifies a path, relative to each repository path, which can be used to specify the date and time of the youngest commit in the repository."
msgstr "指定一个路径,相对于每个仓库路径,用于指定仓库中最新提交的日期和时间。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39466
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object auth-filter"
msgstr "{@code{cgit-configuration} parameter} file-object auth-filter"

#. type: deftypevr
#: guix-git/doc/guix.texi:39469
#, fuzzy
msgid "Specifies a command that will be invoked for authenticating repository access."
msgstr "指定一个命令,该命令将被调用以进行仓库访问的身份验证。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39474
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string branch-sort"
msgstr "{@code{cgit-configuration} parameter} string branch-sort"

#. type: deftypevr
#: guix-git/doc/guix.texi:39477
#, fuzzy
msgid "Flag which, when set to @samp{age}, enables date ordering in the branch ref list, and when set @samp{name} enables ordering by branch name."
msgstr "标志,当设置为 @samp{age} 时,启用分支引用列表中的日期排序;当设置为 @samp{name} 时,启用按分支名称排序。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39479
#, fuzzy
msgid "Defaults to @samp{\"name\"}."
msgstr "默认为 @samp{\"name\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39482
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string cache-root"
msgstr "{@code{cgit-configuration} parameter} string cache-root"

#. type: deftypevr
#: guix-git/doc/guix.texi:39484
#, fuzzy
msgid "Path used to store the cgit cache entries."
msgstr "用于存储 cgit 缓存条目的路径。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39486
#, fuzzy
msgid "Defaults to @samp{\"/var/cache/cgit\"}."
msgstr "默认为 @samp{\"/var/cache/cgit\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39489
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer cache-static-ttl"
msgstr "{@code{cgit-configuration} parameter} integer cache-static-ttl"

#. type: deftypevr
#: guix-git/doc/guix.texi:39492
#, fuzzy
msgid "Number which specifies the time-to-live, in minutes, for the cached version of repository pages accessed with a fixed SHA1."
msgstr "指定以分钟为单位的生存时间,适用于使用固定 SHA1 访问的仓库页面的缓存版本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39494 guix-git/doc/guix.texi:39938
#, fuzzy
msgid "Defaults to @samp{-1}."
msgstr "默认为 @samp{-1}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39497
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer cache-dynamic-ttl"
msgstr "{@code{cgit-configuration} parameter} integer cache-dynamic-ttl"

#. type: deftypevr
#: guix-git/doc/guix.texi:39500
#, fuzzy
msgid "Number which specifies the time-to-live, in minutes, for the cached version of repository pages accessed without a fixed SHA1."
msgstr "指定以分钟为单位的生存时间,适用于未使用固定 SHA1 访问的仓库页面的缓存版本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39505
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer cache-repo-ttl"
msgstr "{@code{cgit-configuration} parameter} integer cache-repo-ttl"

#. type: deftypevr
#: guix-git/doc/guix.texi:39508
#, fuzzy
msgid "Number which specifies the time-to-live, in minutes, for the cached version of the repository summary page."
msgstr "指定以分钟为单位的生存时间,适用于仓库摘要页面的缓存版本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39513
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer cache-root-ttl"
msgstr "{@code{cgit-configuration} 参数} 整数 cache-root-ttl"

#. type: deftypevr
#: guix-git/doc/guix.texi:39516
#, fuzzy
msgid "Number which specifies the time-to-live, in minutes, for the cached version of the repository index page."
msgstr "指定缓存版本的仓库索引页面的生存时间(以分钟为单位)的数字。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39521
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer cache-scanrc-ttl"
msgstr "{@code{cgit-configuration} 参数} 整数 cache-scanrc-ttl"

#. type: deftypevr
#: guix-git/doc/guix.texi:39524
#, fuzzy
msgid "Number which specifies the time-to-live, in minutes, for the result of scanning a path for Git repositories."
msgstr "指定扫描路径以查找 Git 仓库结果的生存时间(以分钟为单位)的数字。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39529
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer cache-about-ttl"
msgstr "{@code{cgit-configuration} 参数} 整数 cache-about-ttl"

#. type: deftypevr
#: guix-git/doc/guix.texi:39532
#, fuzzy
msgid "Number which specifies the time-to-live, in minutes, for the cached version of the repository about page."
msgstr "指定缓存版本的仓库关于页面的生存时间(以分钟为单位)的数字。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39537
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer cache-snapshot-ttl"
msgstr "{@code{cgit-configuration} 参数} 整数 cache-snapshot-ttl"

#. type: deftypevr
#: guix-git/doc/guix.texi:39540
#, fuzzy
msgid "Number which specifies the time-to-live, in minutes, for the cached version of snapshots."
msgstr "指定快照的缓存版本的生存时间(以分钟为单位)的数字。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39545
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer cache-size"
msgstr "{@code{cgit-configuration} 参数} 整数 cache-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:39548
#, fuzzy
msgid "The maximum number of entries in the cgit cache.  When set to @samp{0}, caching is disabled."
msgstr "cgit 缓存中的最大条目数。当设置为 @samp{0} 时,缓存被禁用。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39553
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean case-sensitive-sort?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 case-sensitive-sort?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39555
#, fuzzy
msgid "Sort items in the repo list case sensitively."
msgstr "在仓库列表中区分大小写地排序项目。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39560
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} list clone-prefix"
msgstr "{@code{cgit-configuration} 参数} 列表 clone-prefix"

#. type: deftypevr
#: guix-git/doc/guix.texi:39563
#, fuzzy
msgid "List of common prefixes which, when combined with a repository URL, generates valid clone URLs for the repository."
msgstr "常见前缀的列表,当与仓库 URL 组合时,生成有效的仓库克隆 URL。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39568
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} list clone-url"
msgstr "{@code{cgit-configuration} 参数} 列表 clone-url"

#. type: deftypevr
#: guix-git/doc/guix.texi:39570
#, fuzzy
msgid "List of @code{clone-url} templates."
msgstr "@code{clone-url} 模板的列表。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39575
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object commit-filter"
msgstr "{@code{cgit-configuration} 参数} 文件对象 commit-filter"

#. type: deftypevr
#: guix-git/doc/guix.texi:39577
#, fuzzy
msgid "Command which will be invoked to format commit messages."
msgstr "将被调用以格式化提交消息的命令。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39582
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string commit-sort"
msgstr "{@code{cgit-configuration} 参数} 字符串 commit-sort"

#. type: deftypevr
#: guix-git/doc/guix.texi:39586 guix-git/doc/guix.texi:40145
#, fuzzy
msgid "Flag which, when set to @samp{date}, enables strict date ordering in the commit log, and when set to @samp{topo} enables strict topological ordering."
msgstr "标志,当设置为 @samp{date} 时,启用提交日志中的严格日期排序;当设置为 @samp{topo} 时,启用严格的拓扑排序。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39588
#, fuzzy
msgid "Defaults to @samp{\"git log\"}."
msgstr "默认为 @samp{\"git log\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39591
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object css"
msgstr "{@code{cgit-configuration} 参数} 文件对象 css"

#. type: deftypevr
#: guix-git/doc/guix.texi:39593
#, fuzzy
msgid "URL which specifies the css document to include in all cgit pages."
msgstr "指定要包含在所有 cgit 页面中的 css 文档的 URL。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39595
#, fuzzy
msgid "Defaults to @samp{\"/share/cgit/cgit.css\"}."
msgstr "默认为 @samp{\"/share/cgit/cgit.css\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39598
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object email-filter"
msgstr "{@code{cgit-configuration} 参数} 文件对象 email-filter"

#. type: deftypevr
#: guix-git/doc/guix.texi:39602
#, fuzzy
msgid "Specifies a command which will be invoked to format names and email address of committers, authors, and taggers, as represented in various places throughout the cgit interface."
msgstr "指定将被调用以格式化提交者、作者和标签者的姓名和电子邮件地址的命令,这些信息在 cgit 界面的各个地方表示。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39607
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean embedded?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 embedded?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39610
#, fuzzy
msgid "Flag which, when set to @samp{#t}, will make cgit generate a HTML fragment suitable for embedding in other HTML pages."
msgstr "标志,当设置为 @samp{#t} 时,将使 cgit 生成适合嵌入其他 HTML 页面中的 HTML 片段。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39615
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-commit-graph?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-commit-graph?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39619
#, fuzzy
msgid "Flag which, when set to @samp{#t}, will make cgit print an ASCII-art commit history graph to the left of the commit messages in the repository log page."
msgstr "标志,当设置为 @samp{#t} 时,将使 cgit 在仓库日志页面的提交消息左侧打印 ASCII 艺术提交历史图。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39624
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-filter-overrides?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-filter-overrides?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39627
#, fuzzy
msgid "Flag which, when set to @samp{#t}, allows all filter settings to be overridden in repository-specific cgitrc files."
msgstr "标志,当设置为 @samp{#t} 时,允许在特定于仓库的 cgitrc 文件中覆盖所有过滤器设置。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39632
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-follow-links?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-follow-links?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39635
#, fuzzy
msgid "Flag which, when set to @samp{#t}, allows users to follow a file in the log view."
msgstr "标志,当设置为 @samp{#t} 时,允许用户在日志视图中跟踪文件。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39640
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-http-clone?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-http-clone?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39643
#, fuzzy
msgid "If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git clones."
msgstr "如果设置为 @samp{#t},cgit 将作为 Git 克隆的无脑 HTTP 端点。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39648
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-index-links?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-index-links?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39651
#, fuzzy
msgid "Flag which, when set to @samp{#t}, will make cgit generate extra links \"summary\", \"commit\", \"tree\" for each repo in the repository index."
msgstr "标志,当设置为 @samp{#t} 时,将使 cgit 为仓库索引中的每个仓库生成额外的链接“摘要”、“提交”、“树”。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39656
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-index-owner?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-index-owner?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39659
#, fuzzy
msgid "Flag which, when set to @samp{#t}, will make cgit display the owner of each repo in the repository index."
msgstr "标志,当设置为 @samp{#t} 时,将使 cgit 在仓库索引中显示每个仓库的所有者。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39664
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-log-filecount?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-log-filecount?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39667
#, fuzzy
msgid "Flag which, when set to @samp{#t}, will make cgit print the number of modified files for each commit on the repository log page."
msgstr "标志,当设置为 @samp{#t} 时,将使 cgit 在仓库日志页面打印每个提交的修改文件数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39672
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-log-linecount?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-log-linecount?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39675
#, fuzzy
msgid "Flag which, when set to @samp{#t}, will make cgit print the number of added and removed lines for each commit on the repository log page."
msgstr "标志,当设置为 @samp{#t} 时,将使 cgit 在仓库日志页面打印每个提交的添加和删除行数。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39680
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-remote-branches?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-remote-branches?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39683 guix-git/doc/guix.texi:40208
#, fuzzy
msgid "Flag which, when set to @code{#t}, will make cgit display remote branches in the summary and refs views."
msgstr "标志,当设置为 @code{#t} 时,将使 cgit 在摘要和引用视图中显示远程分支。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39688
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-subject-links?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-subject-links?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39692
#, fuzzy
msgid "Flag which, when set to @code{1}, will make cgit use the subject of the parent commit as link text when generating links to parent commits in commit view."
msgstr "标志,当设置为 @code{1} 时,将使 cgit 在生成指向父提交的链接时使用父提交的主题作为链接文本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39697
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-html-serving?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-html-serving?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39701
#, fuzzy
msgid "Flag which, when set to @samp{#t}, will make cgit use the subject of the parent commit as link text when generating links to parent commits in commit view."
msgstr "标志,当设置为 @samp{#t} 时,将使 cgit 在生成指向父提交的链接时使用父提交的主题作为链接文本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39706
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-tree-linenumbers?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-tree-linenumbers?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39709
#, fuzzy
msgid "Flag which, when set to @samp{#t}, will make cgit generate linenumber links for plaintext blobs printed in the tree view."
msgstr "标志,当设置为 @samp{#t} 时,将使 cgit 为在树视图中打印的纯文本 blob 生成行号链接。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39714
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean enable-git-config?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 enable-git-config?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39717
#, fuzzy
msgid "Flag which, when set to @samp{#f}, will allow cgit to use Git config to set any repo specific settings."
msgstr "标志,当设置为 @samp{#f} 时,将允许 cgit 使用 Git 配置来设置任何特定于 repo 的设置。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39722
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object favicon"
msgstr "{@code{cgit-configuration} 参数} 文件对象 favicon"

#. type: deftypevr
#: guix-git/doc/guix.texi:39724
#, fuzzy
msgid "URL used as link to a shortcut icon for cgit."
msgstr "用作 cgit 的快捷图标链接的 URL。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39726
#, fuzzy
msgid "Defaults to @samp{\"/favicon.ico\"}."
msgstr "默认为 @samp{\"/favicon.ico\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39729
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string footer"
msgstr "{@code{cgit-configuration} 参数} 字符串 footer"

#. type: deftypevr
#: guix-git/doc/guix.texi:39733
#, fuzzy
msgid "The content of the file specified with this option will be included verbatim at the bottom of all pages (i.e.@: it replaces the standard \"generated by...\"@: message)."
msgstr "使用此选项指定的文件的内容将逐字包含在所有页面的底部(即:它替换了标准的“生成于...”消息)。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39738
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string head-include"
msgstr "{@code{cgit-configuration} 参数} 字符串 head-include"

#. type: deftypevr
#: guix-git/doc/guix.texi:39741
#, fuzzy
msgid "The content of the file specified with this option will be included verbatim in the HTML HEAD section on all pages."
msgstr "使用此选项指定的文件的内容将逐字包含在所有页面的 HTML HEAD 部分。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39746
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string header"
msgstr "{@code{cgit-configuration} 参数} 字符串 header"

#. type: deftypevr
#: guix-git/doc/guix.texi:39749
#, fuzzy
msgid "The content of the file specified with this option will be included verbatim at the top of all pages."
msgstr "使用此选项指定的文件的内容将逐字包含在所有页面的顶部。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39754
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object include"
msgstr "{@code{cgit-configuration} 参数} 文件对象 include"

#. type: deftypevr
#: guix-git/doc/guix.texi:39757
#, fuzzy
msgid "Name of a configfile to include before the rest of the current config- file is parsed."
msgstr "在解析当前配置文件的其余部分之前要包含的配置文件的名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39762
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string index-header"
msgstr "{@code{cgit-configuration} 参数} 字符串 index-header"

#. type: deftypevr
#: guix-git/doc/guix.texi:39765
#, fuzzy
msgid "The content of the file specified with this option will be included verbatim above the repository index."
msgstr "使用此选项指定的文件的内容将逐字包含在仓库索引的上方。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39770
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string index-info"
msgstr "{@code{cgit-configuration} 参数} 字符串 index-info"

#. type: deftypevr
#: guix-git/doc/guix.texi:39773
#, fuzzy
msgid "The content of the file specified with this option will be included verbatim below the heading on the repository index page."
msgstr "使用此选项指定的文件的内容将逐字包含在仓库索引页面的标题下方。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39778
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean local-time?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 local-time?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39781
#, fuzzy
msgid "Flag which, if set to @samp{#t}, makes cgit print commit and tag times in the servers timezone."
msgstr "标志,如果设置为 @samp{#t},则使 cgit 在服务器时区中打印提交和标签时间。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39786
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object logo"
msgstr "{@code{cgit-configuration} 参数} 文件对象 logo"

#. type: deftypevr
#: guix-git/doc/guix.texi:39789
#, fuzzy
msgid "URL which specifies the source of an image which will be used as a logo on all cgit pages."
msgstr "指定将用作所有 cgit 页面上徽标的图像源的 URL。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39791
#, fuzzy
msgid "Defaults to @samp{\"/share/cgit/cgit.png\"}."
msgstr "默认为 @samp{\"/share/cgit/cgit.png\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39794
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string logo-link"
msgstr "{@code{cgit-configuration} 参数} 字符串 logo-link"

#. type: deftypevr
#: guix-git/doc/guix.texi:39796 guix-git/doc/guix.texi:40254
#, fuzzy
msgid "URL loaded when clicking on the cgit logo image."
msgstr "单击 cgit 徽标图像时加载的 URL。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39801
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object owner-filter"
msgstr "{@code{cgit-configuration} 参数} 文件对象 owner-filter"

#. type: deftypevr
#: guix-git/doc/guix.texi:39804
#, fuzzy
msgid "Command which will be invoked to format the Owner column of the main page."
msgstr "将被调用以格式化主页的所有者列的命令。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39809
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer max-atom-items"
msgstr "{@code{cgit-configuration} 参数} 整数 max-atom-items"

#. type: deftypevr
#: guix-git/doc/guix.texi:39811
#, fuzzy
msgid "Number of items to display in atom feeds view."
msgstr "在 atom feeds 视图中显示的项目数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39816
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer max-commit-count"
msgstr "{@code{cgit-configuration} 参数} 整数 max-commit-count"

#. type: deftypevr
#: guix-git/doc/guix.texi:39818
#, fuzzy
msgid "Number of entries to list per page in \"log\" view."
msgstr "在“日志”视图中每页列出的条目数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39823
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer max-message-length"
msgstr "{@code{cgit-configuration} 参数} 整数 max-message-length"

#. type: deftypevr
#: guix-git/doc/guix.texi:39825
#, fuzzy
msgid "Number of commit message characters to display in \"log\" view."
msgstr "在“日志”视图中显示的提交消息字符数。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39827 guix-git/doc/guix.texi:39843
#, fuzzy
msgid "Defaults to @samp{80}."
msgstr "默认为 @samp{80}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39830
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer max-repo-count"
msgstr "{@code{cgit-configuration} 参数} 整数 max-repo-count"

#. type: deftypevr
#: guix-git/doc/guix.texi:39833
#, fuzzy
msgid "Specifies the number of entries to list per page on the repository index page."
msgstr "指定在仓库索引页面每页列出的条目数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39838
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer max-repodesc-length"
msgstr "{@code{cgit-configuration} 参数} 整数 max-repodesc-length"

#. type: deftypevr
#: guix-git/doc/guix.texi:39841
#, fuzzy
msgid "Specifies the maximum number of repo description characters to display on the repository index page."
msgstr "指定在仓库索引页面上显示的最大仓库描述字符数。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39846
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer max-blob-size"
msgstr "{@code{cgit-configuration} 参数} 整数 max-blob-size"

#. type: deftypevr
#: guix-git/doc/guix.texi:39848
#, fuzzy
msgid "Specifies the maximum size of a blob to display HTML for in KBytes."
msgstr "指定以 KBytes 为单位显示 HTML 的 blob 的最大大小。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39853
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string max-stats"
msgstr "{@code{cgit-configuration} 参数} 字符串 max-stats"

#. type: deftypevr
#: guix-git/doc/guix.texi:39856
#, fuzzy
msgid "Maximum statistics period.  Valid values are @samp{week},@samp{month}, @samp{quarter} and @samp{year}."
msgstr "最大统计周期。有效值为 @samp{week}、@samp{month}、@samp{quarter} 和 @samp{year}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39861
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} mimetype-alist mimetype"
msgstr "{@code{cgit-configuration} 参数} mimetype-alist mimetype"

#. type: deftypevr
#: guix-git/doc/guix.texi:39863
#, fuzzy
msgid "Mimetype for the specified filename extension."
msgstr "指定文件名扩展名的 MIME 类型。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39867
#, fuzzy
msgid "Defaults to @samp{'((gif \"image/gif\") (html \"text/html\") (jpg \"image/jpeg\") (jpeg \"image/jpeg\") (pdf \"application/pdf\") (png \"image/png\") (svg \"image/svg+xml\"))}."
msgstr "默认为 @samp{'((gif \"image/gif\") (html \"text/html\") (jpg \"image/jpeg\") (jpeg \"image/jpeg\") (pdf \"application/pdf\") (png \"image/png\") (svg \"image/svg+xml\"))}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39870
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object mimetype-file"
msgstr "{@code{cgit-configuration} 参数} file-object mimetype-file"

#. type: deftypevr
#: guix-git/doc/guix.texi:39872
#, fuzzy
msgid "Specifies the file to use for automatic mimetype lookup."
msgstr "指定用于自动 MIME 类型查找的文件。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39877
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string module-link"
msgstr "{@code{cgit-configuration} 参数} 字符串 module-link"

#. type: deftypevr
#: guix-git/doc/guix.texi:39880
#, fuzzy
msgid "Text which will be used as the formatstring for a hyperlink when a submodule is printed in a directory listing."
msgstr "当子模块在目录列表中打印时,将用作超链接格式字符串的文本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39885
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean nocache?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 nocache?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39887
#, fuzzy
msgid "If set to the value @samp{#t} caching will be disabled."
msgstr "如果设置为 @samp{#t},则将禁用缓存。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39892
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean noplainemail?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 noplainemail?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39895
#, fuzzy
msgid "If set to @samp{#t} showing full author email addresses will be disabled."
msgstr "如果设置为 @samp{#t},则将禁用显示完整的作者电子邮件地址。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39900
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean noheader?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 noheader?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39903
#, fuzzy
msgid "Flag which, when set to @samp{#t}, will make cgit omit the standard header on all pages."
msgstr "标志,当设置为 @samp{#t} 时,将使 cgit 在所有页面上省略标准头部。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39908
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} project-list project-list"
msgstr "{@code{cgit-configuration} 参数} project-list project-list"

#. type: deftypevr
#: guix-git/doc/guix.texi:39912
#, fuzzy
msgid "A list of subdirectories inside of @code{repository-directory}, relative to it, that should loaded as Git repositories.  An empty list means that all subdirectories will be loaded."
msgstr "在 @code{repository-directory} 内部的子目录列表,相对于它,应该作为 Git 仓库加载。空列表意味着将加载所有子目录。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39917
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object readme"
msgstr "{@code{cgit-configuration} 参数} 文件对象 readme"

#. type: deftypevr
#: guix-git/doc/guix.texi:39920
#, fuzzy
msgid "Text which will be used as default @code{repository-cgit-configuration} @code{readme}."
msgstr "将用作默认 @code{repository-cgit-configuration} @code{readme} 的文本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39925
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean remove-suffix?"
msgstr "{@code{cgit-configuration} 参数} 布尔值 remove-suffix?"

#. type: deftypevr
#: guix-git/doc/guix.texi:39929
#, fuzzy
msgid "If set to @code{#t} and @code{repository-directory} is enabled, if any repositories are found with a suffix of @code{.git}, this suffix will be removed for the URL and name."
msgstr "如果设置为 @code{#t} 并且 @code{repository-directory} 被启用,如果发现任何后缀为 @code{.git} 的仓库,则该后缀将从 URL 和名称中删除。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39934
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer renamelimit"
msgstr "{@code{cgit-configuration} 参数} 整数 renamelimit"

#. type: deftypevr
#: guix-git/doc/guix.texi:39936
#, fuzzy
msgid "Maximum number of files to consider when detecting renames."
msgstr "检测重命名时考虑的最大文件数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39941
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string repository-sort"
msgstr "{@code{cgit-configuration} 参数} 字符串 repository-sort"

#. type: deftypevr
#: guix-git/doc/guix.texi:39943
#, fuzzy
msgid "The way in which repositories in each section are sorted."
msgstr "每个部分中仓库的排序方式。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39948
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} robots-list robots"
msgstr "{@code{cgit-configuration} 参数} robots-list robots"

#. type: deftypevr
#: guix-git/doc/guix.texi:39950
#, fuzzy
msgid "Text used as content for the @code{robots} meta-tag."
msgstr "用作 @code{robots} 元标签内容的文本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39952
#, fuzzy
msgid "Defaults to @samp{'(\"noindex\" \"nofollow\")}."
msgstr "默认为 @samp{'(\"noindex\" \"nofollow\")}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39955
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string root-desc"
msgstr "{@code{cgit-configuration} 参数} 字符串 root-desc"

#. type: deftypevr
#: guix-git/doc/guix.texi:39957
#, fuzzy
msgid "Text printed below the heading on the repository index page."
msgstr "在仓库索引页面标题下打印的文本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39959
#, fuzzy
msgid "Defaults to @samp{\"a fast webinterface for the git dscm\"}."
msgstr "默认为 @samp{\"一个快速的 git dscm 网络界面\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39962
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string root-readme"
msgstr "{@code{cgit-configuration} 参数} 字符串 root-readme"

#. type: deftypevr
#: guix-git/doc/guix.texi:39965
#, fuzzy
msgid "The content of the file specified with this option will be included verbatim below the ``about'' link on the repository index page."
msgstr "使用此选项指定的文件的内容将逐字包含在仓库索引页面的 ``关于'' 链接下方。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39970
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string root-title"
msgstr "{@code{cgit-configuration} 参数} 字符串 root-title"

#. type: deftypevr
#: guix-git/doc/guix.texi:39972
#, fuzzy
msgid "Text printed as heading on the repository index page."
msgstr "在仓库索引页面上打印为标题的文本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39977
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean scan-hidden-path"
msgstr "{@code{cgit-configuration} 参数} 布尔值 scan-hidden-path"

#. type: deftypevr
#: guix-git/doc/guix.texi:39983
#, fuzzy
msgid "If set to @samp{#t} and repository-directory is enabled, repository-directory will recurse into directories whose name starts with a period.  Otherwise, repository-directory will stay away from such directories, considered as ``hidden''.  Note that this does not apply to the @file{.git} directory in non-bare repos."
msgstr "如果设置为 @samp{#t} 并且 repository-directory 被启用,repository-directory 将递归进入名称以句点开头的目录。否则,repository-directory 将避免这些被视为 ``隐藏'' 的目录。请注意,这不适用于非裸仓库中的 @file{.git} 目录。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39988
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} list snapshots"
msgstr "{@code{cgit-configuration} 参数} 列表 snapshots"

#. type: deftypevr
#: guix-git/doc/guix.texi:39991
#, fuzzy
msgid "Text which specifies the default set of snapshot formats that cgit generates links for."
msgstr "指定 cgit 生成链接的默认快照格式集的文本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:39996
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} repository-directory repository-directory"
msgstr "{@code{cgit-configuration} 参数} repository-directory repository-directory"

#. type: deftypevr
#: guix-git/doc/guix.texi:39999
#, fuzzy
msgid "Name of the directory to scan for repositories (represents @code{scan-path})."
msgstr "扫描存储库的目录名称(表示 @code{scan-path})。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40001
#, fuzzy
msgid "Defaults to @samp{\"/srv/git\"}."
msgstr "默认为 @samp{\"/srv/git\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40004
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string section"
msgstr "{@code{cgit-configuration} 参数} 字符串部分"

#. type: deftypevr
#: guix-git/doc/guix.texi:40007 guix-git/doc/guix.texi:40323
#, fuzzy
msgid "The name of the current repository section - all repositories defined after this option will inherit the current section name."
msgstr "当前存储库部分的名称 - 在此选项之后定义的所有存储库将继承当前部分名称。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40012
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string section-sort"
msgstr "{@code{cgit-configuration} 参数} 字符串部分排序"

#. type: deftypevr
#: guix-git/doc/guix.texi:40015
#, fuzzy
msgid "Flag which, when set to @samp{1}, will sort the sections on the repository listing by name."
msgstr "标志,当设置为 @samp{1} 时,将按名称对存储库列表中的部分进行排序。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40020
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer section-from-path"
msgstr "{@code{cgit-configuration} 参数} 整数部分从路径"

#. type: deftypevr
#: guix-git/doc/guix.texi:40023
#, fuzzy
msgid "A number which, if defined prior to repository-directory, specifies how many path elements from each repo path to use as a default section name."
msgstr "一个数字,如果在 repository-directory 之前定义,指定要用作默认部分名称的每个存储库路径的路径元素数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40028
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} boolean side-by-side-diffs?"
msgstr "{@code{cgit-configuration} 参数} 布尔值并排差异?"

#. type: deftypevr
#: guix-git/doc/guix.texi:40031
#, fuzzy
msgid "If set to @samp{#t} shows side-by-side diffs instead of unidiffs per default."
msgstr "如果设置为 @samp{#t},则默认显示并排差异,而不是单一差异。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40036
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} file-object source-filter"
msgstr "{@code{cgit-configuration} 参数} 文件对象源过滤器"

#. type: deftypevr
#: guix-git/doc/guix.texi:40039
#, fuzzy
msgid "Specifies a command which will be invoked to format plaintext blobs in the tree view."
msgstr "指定将被调用以格式化树视图中的纯文本 blob 的命令。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40044
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer summary-branches"
msgstr "{@code{cgit-configuration} 参数} 整数摘要分支"

#. type: deftypevr
#: guix-git/doc/guix.texi:40047
#, fuzzy
msgid "Specifies the number of branches to display in the repository ``summary'' view."
msgstr "指定在存储库“摘要”视图中显示的分支数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40052
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer summary-log"
msgstr "{@code{cgit-configuration} 参数} 整数摘要日志"

#. type: deftypevr
#: guix-git/doc/guix.texi:40055
#, fuzzy
msgid "Specifies the number of log entries to display in the repository ``summary'' view."
msgstr "指定在存储库“摘要”视图中显示的日志条目数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40060
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} integer summary-tags"
msgstr "{@code{cgit-configuration} 参数} 整数摘要标签"

#. type: deftypevr
#: guix-git/doc/guix.texi:40063
#, fuzzy
msgid "Specifies the number of tags to display in the repository ``summary'' view."
msgstr "指定在存储库“摘要”视图中显示的标签数量。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40068
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string strict-export"
msgstr "{@code{cgit-configuration} 参数} 字符串严格导出"

#. type: deftypevr
#: guix-git/doc/guix.texi:40071
#, fuzzy
msgid "Filename which, if specified, needs to be present within the repository for cgit to allow access to that repository."
msgstr "文件名,如果指定,则需要在存储库中存在,以便 cgit 允许访问该存储库。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40076
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} string virtual-root"
msgstr "{@code{cgit-configuration} 参数} 字符串虚拟根"

#. type: deftypevr
#: guix-git/doc/guix.texi:40078
#, fuzzy
msgid "URL which, if specified, will be used as root for all cgit links."
msgstr "URL,如果指定,将用作所有 cgit 链接的根。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40080
#, fuzzy
msgid "Defaults to @samp{\"/\"}."
msgstr "默认为 @samp{\"/\"}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40083
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} repository-cgit-configuration-list repositories"
msgstr "{@code{cgit-configuration} 参数} 存储库 cgit 配置列表"

#. type: deftypevr
#: guix-git/doc/guix.texi:40085
#, fuzzy
msgid "A list of @code{repository-cgit-configuration} records."
msgstr "{数据类型} build-machine"

#. type: deftypevr
#: guix-git/doc/guix.texi:40089
#, fuzzy
msgid "Available @code{repository-cgit-configuration} fields are:"
msgstr "可用的 @code{repository-cgit-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:40090
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-list snapshots"
msgstr "{@code{repository-cgit-configuration} 参数} 存储库列表快照"

#. type: deftypevr
#: guix-git/doc/guix.texi:40093
#, fuzzy
msgid "A mask of snapshot formats for this repo that cgit generates links for, restricted by the global @code{snapshots} setting."
msgstr "此存储库的快照格式掩码,cgit 为其生成链接,受全局 @code{snapshots} 设置的限制。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40098
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-file-object source-filter"
msgstr "{@code{repository-cgit-configuration} 参数} 存储库文件对象源过滤器"

#. type: deftypevr
#: guix-git/doc/guix.texi:40100
#, fuzzy
msgid "Override the default @code{source-filter}."
msgstr "覆盖默认的 @code{source-filter}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40105
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string url"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string url"

#. type: deftypevr
#: guix-git/doc/guix.texi:40107
#, fuzzy
msgid "The relative URL used to access the repository."
msgstr "用于访问存储库的相对 URL。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40112
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-file-object about-filter"
msgstr "{@code{repository-cgit-configuration} 参数} repo-file-object about-filter"

#. type: deftypevr
#: guix-git/doc/guix.texi:40114
#, fuzzy
msgid "Override the default @code{about-filter}."
msgstr "覆盖默认的 @code{about-filter}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40119
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string branch-sort"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string branch-sort"

#. type: deftypevr
#: guix-git/doc/guix.texi:40122
#, fuzzy
msgid "Flag which, when set to @samp{age}, enables date ordering in the branch ref list, and when set to @samp{name} enables ordering by branch name."
msgstr "当设置为 @samp{age} 时,标志启用分支引用列表中的日期排序;当设置为 @samp{name} 时,启用按分支名称排序。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40127
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-list clone-url"
msgstr "{@code{repository-cgit-configuration} 参数} repo-list clone-url"

#. type: deftypevr
#: guix-git/doc/guix.texi:40129
#, fuzzy
msgid "A list of URLs which can be used to clone repo."
msgstr "可以用于克隆存储库的 URL 列表。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40134
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-file-object commit-filter"
msgstr "{@code{repository-cgit-configuration} 参数} repo-file-object commit-filter"

#. type: deftypevr
#: guix-git/doc/guix.texi:40136
#, fuzzy
msgid "Override the default @code{commit-filter}."
msgstr "覆盖默认的 @code{commit-filter}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40141
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string commit-sort"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string commit-sort"

#. type: deftypevr
#: guix-git/doc/guix.texi:40150
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string defbranch"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string defbranch"

#. type: deftypevr
#: guix-git/doc/guix.texi:40155
#, fuzzy
msgid "The name of the default branch for this repository.  If no such branch exists in the repository, the first branch name (when sorted) is used as default instead.  By default branch pointed to by HEAD, or ``master'' if there is no suitable HEAD."
msgstr "此存储库的默认分支名称。如果存储库中不存在这样的分支,则使用第一个分支名称(按排序)作为默认值。默认情况下,HEAD 指向的分支,或者如果没有合适的 HEAD,则为 ``master''。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40160
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string desc"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string desc"

#. type: deftypevr
#: guix-git/doc/guix.texi:40162
#, fuzzy
msgid "The value to show as repository description."
msgstr "作为存储库描述显示的值。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40167
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string homepage"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string homepage"

#. type: deftypevr
#: guix-git/doc/guix.texi:40169
#, fuzzy
msgid "The value to show as repository homepage."
msgstr "作为存储库主页显示的值。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40174
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-file-object email-filter"
msgstr "{@code{repository-cgit-configuration} 参数} repo-file-object email-filter"

#. type: deftypevr
#: guix-git/doc/guix.texi:40176
#, fuzzy
msgid "Override the default @code{email-filter}."
msgstr "覆盖默认的 @code{email-filter}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40181
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-commit-graph?"
msgstr "{@code{repository-cgit-configuration} 参数} maybe-repo-boolean enable-commit-graph?"

#. type: deftypevr
#: guix-git/doc/guix.texi:40184
#, fuzzy
msgid "A flag which can be used to disable the global setting @code{enable-commit-graph?}."
msgstr "可以用于禁用全局设置 @code{enable-commit-graph?} 的标志。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40189
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-log-filecount?"
msgstr "{@code{repository-cgit-configuration} 参数} maybe-repo-boolean enable-log-filecount?"

#. type: deftypevr
#: guix-git/doc/guix.texi:40192
#, fuzzy
msgid "A flag which can be used to disable the global setting @code{enable-log-filecount?}."
msgstr "可以用于禁用全局设置 @code{enable-log-filecount?} 的标志。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40197
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-log-linecount?"
msgstr "{@code{repository-cgit-configuration} 参数} maybe-repo-boolean enable-log-linecount?"

#. type: deftypevr
#: guix-git/doc/guix.texi:40200
#, fuzzy
msgid "A flag which can be used to disable the global setting @code{enable-log-linecount?}."
msgstr "可以用于禁用全局设置 @code{enable-log-linecount?} 的标志。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40205
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-remote-branches?"
msgstr "{@code{repository-cgit-configuration} 参数} maybe-repo-boolean enable-remote-branches?"

#. type: deftypevr
#: guix-git/doc/guix.texi:40213
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-subject-links?"
msgstr "{@code{repository-cgit-configuration} 参数} maybe-repo-boolean enable-subject-links?"

#. type: deftypevr
#: guix-git/doc/guix.texi:40216
#, fuzzy
msgid "A flag which can be used to override the global setting @code{enable-subject-links?}."
msgstr "一个可以用来覆盖全局设置 @code{enable-subject-links?} 的标志。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40221
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-html-serving?"
msgstr "{@code{repository-cgit-configuration} 参数} maybe-repo-boolean enable-html-serving?"

#. type: deftypevr
#: guix-git/doc/guix.texi:40224
#, fuzzy
msgid "A flag which can be used to override the global setting @code{enable-html-serving?}."
msgstr "一个可以用来覆盖全局设置 @code{enable-html-serving?} 的标志。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40229
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-boolean hide?"
msgstr "{@code{repository-cgit-configuration} 参数} repo-boolean hide?"

#. type: deftypevr
#: guix-git/doc/guix.texi:40232
#, fuzzy
msgid "Flag which, when set to @code{#t}, hides the repository from the repository index."
msgstr "当设置为 @code{#t} 时,标志会隐藏该仓库在仓库索引中的显示。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40237
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-boolean ignore?"
msgstr "{@code{repository-cgit-configuration} 参数} repo-boolean ignore?"

#. type: deftypevr
#: guix-git/doc/guix.texi:40239
#, fuzzy
msgid "Flag which, when set to @samp{#t}, ignores the repository."
msgstr "当设置为 @samp{#t} 时,标志会忽略该仓库。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40244
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-file-object logo"
msgstr "{@code{repository-cgit-configuration} 参数} repo-file-object logo"

#. type: deftypevr
#: guix-git/doc/guix.texi:40247
#, fuzzy
msgid "URL which specifies the source of an image which will be used as a logo on this repo’s pages."
msgstr "指定将用作该仓库页面上徽标的图像源的 URL。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40252
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string logo-link"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string logo-link"

#. type: deftypevr
#: guix-git/doc/guix.texi:40259
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-file-object owner-filter"
msgstr "{@code{repository-cgit-configuration} 参数} repo-file-object owner-filter"

#. type: deftypevr
#: guix-git/doc/guix.texi:40261
#, fuzzy
msgid "Override the default @code{owner-filter}."
msgstr "覆盖默认的 @code{owner-filter}。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40266
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string module-link"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string module-link"

#. type: deftypevr
#: guix-git/doc/guix.texi:40270
#, fuzzy
msgid "Text which will be used as the formatstring for a hyperlink when a submodule is printed in a directory listing.  The arguments for the formatstring are the path and SHA1 of the submodule commit."
msgstr "当在目录列表中打印子模块时,将用作超链接格式字符串的文本。格式字符串的参数是子模块提交的路径和 SHA1。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40275
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} module-link-path module-link-path"
msgstr "{@code{repository-cgit-configuration} 参数} module-link-path module-link-path"

#. type: deftypevr
#: guix-git/doc/guix.texi:40279
#, fuzzy
msgid "Text which will be used as the formatstring for a hyperlink when a submodule with the specified subdirectory path is printed in a directory listing."
msgstr "当在目录列表中打印具有指定子目录路径的子模块时,将用作超链接格式字符串的文本。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40284
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string max-stats"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string max-stats"

#. type: deftypevr
#: guix-git/doc/guix.texi:40286
#, fuzzy
msgid "Override the default maximum statistics period."
msgstr "覆盖默认的最大统计周期。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40291
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string name"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string name"

#. type: deftypevr
#: guix-git/doc/guix.texi:40293
#, fuzzy
msgid "The value to show as repository name."
msgstr "显示为仓库名称的值。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40298
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string owner"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string owner"

#. type: deftypevr
#: guix-git/doc/guix.texi:40300
#, fuzzy
msgid "A value used to identify the owner of the repository."
msgstr "用于标识仓库所有者的值。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40305
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string path"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string path"

#. type: deftypevr
#: guix-git/doc/guix.texi:40307
#, fuzzy
msgid "An absolute path to the repository directory."
msgstr "指向仓库目录的绝对路径。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40312
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string readme"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string readme"

#. type: deftypevr
#: guix-git/doc/guix.texi:40315
#, fuzzy
msgid "A path (relative to repo) which specifies a file to include verbatim as the ``About'' page for this repo."
msgstr "一个相对于仓库的路径,指定一个文件作为该仓库的“关于”页面逐字包含。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40320
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-string section"
msgstr "{@code{repository-cgit-configuration} 参数} repo-string 部分"

#. type: deftypevr
#: guix-git/doc/guix.texi:40328
#, fuzzy, no-wrap
msgid "{@code{repository-cgit-configuration} parameter} repo-list extra-options"
msgstr "{@code{repository-cgit-configuration} 参数} repo-list 额外选项"

#. type: deftypevr
#: guix-git/doc/guix.texi:40330 guix-git/doc/guix.texi:40339
#, fuzzy
msgid "Extra options will be appended to cgitrc file."
msgstr "额外选项将被附加到 cgitrc 文件中。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40337
#, fuzzy, no-wrap
msgid "{@code{cgit-configuration} parameter} list extra-options"
msgstr "{@code{cgit-configuration} 参数} 列表 额外选项"

#. type: Plain text
#: guix-git/doc/guix.texi:40351
#, fuzzy
msgid "However, it could be that you just want to get a @code{cgitrc} up and running.  In that case, you can pass an @code{opaque-cgit-configuration} as a record to @code{cgit-service-type}.  As its name indicates, an opaque configuration does not have easy reflective capabilities."
msgstr "然而,您可能只是想让 @code{cgitrc} 正常运行。在这种情况下,您可以将 @code{opaque-cgit-configuration} 作为记录传递给 @code{cgit-service-type}。顾名思义,透明配置没有简单的反射能力。"

#. type: Plain text
#: guix-git/doc/guix.texi:40353
#, fuzzy
msgid "Available @code{opaque-cgit-configuration} fields are:"
msgstr "可用的 @code{opaque-cgit-configuration} 字段有:"

#. type: deftypevr
#: guix-git/doc/guix.texi:40354
#, fuzzy, no-wrap
msgid "{@code{opaque-cgit-configuration} parameter} package cgit"
msgstr "{@code{opaque-cgit-configuration} 参数} 包 cgit"

#. type: deftypevr
#: guix-git/doc/guix.texi:40356
#, fuzzy
msgid "The cgit package."
msgstr "cgit 包。"

#. type: deftypevr
#: guix-git/doc/guix.texi:40358
#, fuzzy, no-wrap
msgid "{@code{opaque-cgit-configuration} parameter} string string"
msgstr "{@code{opaque-cgit-configuration} 参数} 字符串 字符串"

#. type: deftypevr
#: guix-git/doc/guix.texi:40360
#, fuzzy
msgid "The contents of the @code{cgitrc}, as a string."
msgstr "@code{cgitrc} 的内容,作为字符串。"

#. type: Plain text
#: guix-git/doc/guix.texi:40364
#, fuzzy
msgid "For example, if your @code{cgitrc} is just the empty string, you could instantiate a cgit service like this:"
msgstr "例如,如果您的 @code{cgitrc} 只是空字符串,您可以像这样实例化一个 cgit 服务:"

#. type: lisp
#: guix-git/doc/guix.texi:40369
#, fuzzy, no-wrap
msgid ""
"(service cgit-service-type\n"
"         (opaque-cgit-configuration\n"
"          (cgitrc \"\")))\n"
msgstr ""
"(service cgit-service-type\n"
"         (opaque-cgit-configuration\n"
"          (cgitrc \"\")))\n"

#. type: subsubheading
#: guix-git/doc/guix.texi:40371
#, fuzzy, no-wrap
msgid "Gitolite Service"
msgstr "Gitolite 服务"

#. type: cindex
#: guix-git/doc/guix.texi:40373
#, fuzzy, no-wrap
msgid "Gitolite service"
msgstr "Gitolite 服务"

#. type: cindex
#: guix-git/doc/guix.texi:40374
#, fuzzy, no-wrap
msgid "Git, hosting"
msgstr "Git,托管"

#. type: Plain text
#: guix-git/doc/guix.texi:40377
#, fuzzy
msgid "@uref{https://gitolite.com/gitolite/, Gitolite} is a tool for hosting Git repositories on a central server."
msgstr "@uref{https://gitolite.com/gitolite/, Gitolite} 是一个在中央服务器上托管 Git 仓库的工具。"

#. type: Plain text
#: guix-git/doc/guix.texi:40380
#, fuzzy
msgid "Gitolite can handle multiple repositories and users, and supports flexible configuration of the permissions for the users on the repositories."
msgstr "Gitolite 可以处理多个仓库和用户,并支持对用户在仓库上的权限进行灵活配置。"

#. type: Plain text
#: guix-git/doc/guix.texi:40383
#, fuzzy
msgid "The following example will configure Gitolite using the default @code{git} user, and the provided SSH public key."
msgstr "以下示例将使用默认的 @code{git} 用户和提供的 SSH 公钥配置 Gitolite。"

#. type: lisp
#: guix-git/doc/guix.texi:40390
#, fuzzy, no-wrap
msgid ""
"(service gitolite-service-type\n"
"         (gitolite-configuration\n"
"           (admin-pubkey (plain-file\n"
"                           \"yourname.pub\"\n"
"                           \"ssh-rsa AAAA... guix@@example.com\"))))\n"
msgstr ""
"(service gitolite-service-type\n"
"         (gitolite-configuration\n"
"           (admin-pubkey (plain-file\n"
"                           \"yourname.pub\"\n"
"                           \"ssh-rsa AAAA... guix@@example.com\"))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:40395
#, fuzzy
msgid "Gitolite is configured through a special admin repository which you can clone, for example, if you setup Gitolite on @code{example.com}, you would run the following command to clone the admin repository."
msgstr "Gitolite 通过一个特殊的管理员仓库进行配置,您可以克隆该仓库,例如,如果您在 @code{example.com} 上设置 Gitolite,您可以运行以下命令来克隆管理员仓库。"

#. type: example
#: guix-git/doc/guix.texi:40398
#, fuzzy, no-wrap
msgid "git clone git@@example.com:gitolite-admin\n"
msgstr "git clone git@@example.com:gitolite-admin\n"

#. type: Plain text
#: guix-git/doc/guix.texi:40404
#, fuzzy
msgid "When the Gitolite service is activated, the provided @code{admin-pubkey} will be inserted in to the @file{keydir} directory in the gitolite-admin repository.  If this results in a change in the repository, it will be committed using the message ``gitolite setup by GNU Guix''."
msgstr "当 Gitolite 服务被激活时,提供的 @code{admin-pubkey} 将被插入到 gitolite-admin 仓库中的 @file{keydir} 目录中。如果这导致仓库发生变化,它将使用消息 ``gitolite setup by GNU Guix'' 提交。"

#. type: deftp
#: guix-git/doc/guix.texi:40405
#, fuzzy, no-wrap
msgid "{Data Type} gitolite-configuration"
msgstr "{数据类型} gitolite-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:40407
#, fuzzy
msgid "Data type representing the configuration for @code{gitolite-service-type}."
msgstr "表示@code{gitolite-service-type}配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:40409
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{gitolite})"
msgstr "@code{package}(默认:@var{gitolite})"

#. type: table
#: guix-git/doc/guix.texi:40415
#, fuzzy
msgid "Gitolite package to use.  There are optional Gitolite dependencies that are not included in the default package, such as Redis and git-annex.  These features can be made available by using the @code{make-gitolite} procedure in the @code{(gnu packages version-control}) module to produce a variant of Gitolite with the desired additional dependencies."
msgstr "要使用的Gitolite包。默认包中不包括可选的Gitolite依赖项,例如Redis和git-annex。可以通过在@code{(gnu packages version-control)}模块中使用@code{make-gitolite}过程来生成具有所需附加依赖项的Gitolite变体,从而使这些功能可用。"

#. type: table
#: guix-git/doc/guix.texi:40418
#, fuzzy
msgid "The following code returns a package in which the Redis and git-annex programs can be invoked by Gitolite's scripts:"
msgstr "以下代码返回一个包,其中Redis和git-annex程序可以通过Gitolite的脚本调用:"

#. type: example
#: guix-git/doc/guix.texi:40424
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu packages databases)\n"
"             (gnu packages haskell-apps)\n"
"             (gnu packages version-control))\n"
"(make-gitolite (list redis git-annex))\n"
msgstr ""
"(use-modules (gnu packages databases)\n"
"             (gnu packages haskell-apps)\n"
"             (gnu packages version-control))\n"
"(make-gitolite (list redis git-annex))\n"

#. type: item
#: guix-git/doc/guix.texi:40426
#, fuzzy, no-wrap
msgid "@code{user} (default: @var{git})"
msgstr "@code{user}(默认:@var{git})"

#. type: table
#: guix-git/doc/guix.texi:40429
#, fuzzy
msgid "User to use for Gitolite.  This will be user that you use when accessing Gitolite over SSH."
msgstr "用于Gitolite的用户。这将是您在通过SSH访问Gitolite时使用的用户。"

#. type: item
#: guix-git/doc/guix.texi:40430
#, fuzzy, no-wrap
msgid "@code{group} (default: @var{git})"
msgstr "@code{group}(默认:@var{git})"

#. type: table
#: guix-git/doc/guix.texi:40432
#, fuzzy
msgid "Group to use for Gitolite."
msgstr "用于Gitolite的组。"

#. type: item
#: guix-git/doc/guix.texi:40433
#, fuzzy, no-wrap
msgid "@code{home-directory} (default: @var{\"/var/lib/gitolite\"})"
msgstr "@code{home-directory}(默认:@var{\"/var/lib/gitolite\"})"

#. type: table
#: guix-git/doc/guix.texi:40435
#, fuzzy
msgid "Directory in which to store the Gitolite configuration and repositories."
msgstr "存储Gitolite配置和仓库的目录。"

#. type: item
#: guix-git/doc/guix.texi:40436
#, fuzzy, no-wrap
msgid "@code{rc-file} (default: @var{(gitolite-rc-file)})"
msgstr "@code{rc-file}(默认:@var{(gitolite-rc-file)})"

#. type: table
#: guix-git/doc/guix.texi:40439
#, fuzzy
msgid "A ``file-like'' object (@pxref{G-Expressions, file-like objects}), representing the configuration for Gitolite."
msgstr "一个“类文件”对象(@pxref{G-Expressions, file-like objects}),表示Gitolite的配置。"

#. type: item
#: guix-git/doc/guix.texi:40440
#, fuzzy, no-wrap
msgid "@code{admin-pubkey} (default: @var{#f})"
msgstr "@code{admin-pubkey}(默认:@var{#f})"

#. type: table
#: guix-git/doc/guix.texi:40444
#, fuzzy
msgid "A ``file-like'' object (@pxref{G-Expressions, file-like objects}) used to setup Gitolite.  This will be inserted in to the @file{keydir} directory within the gitolite-admin repository."
msgstr "一个“类文件”对象(@pxref{G-Expressions, file-like objects}),用于设置Gitolite。这将被插入到gitolite-admin仓库中的@file{keydir}目录。"

#. type: table
#: guix-git/doc/guix.texi:40446
#, fuzzy
msgid "To specify the SSH key as a string, use the @code{plain-file} function."
msgstr "要将SSH密钥指定为字符串,请使用@code{plain-file}函数。"

#. type: lisp
#: guix-git/doc/guix.texi:40449
#, fuzzy, no-wrap
msgid "(plain-file \"yourname.pub\" \"ssh-rsa AAAA... guix@@example.com\")\n"
msgstr "(plain-file \"yourname.pub\" \"ssh-rsa AAAA... guix@@example.com\")\n"

#. type: deftp
#: guix-git/doc/guix.texi:40454
#, fuzzy, no-wrap
msgid "{Data Type} gitolite-rc-file"
msgstr "{数据类型} gitolite-rc-file"

#. type: deftp
#: guix-git/doc/guix.texi:40456
#, fuzzy
msgid "Data type representing the Gitolite RC file."
msgstr "表示Gitolite RC文件的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:40458
#, fuzzy, no-wrap
msgid "@code{umask} (default: @code{#o0077})"
msgstr "@code{umask}(默认:@code{#o0077})"

#. type: table
#: guix-git/doc/guix.texi:40461
#, fuzzy
msgid "This controls the permissions Gitolite sets on the repositories and their contents."
msgstr "这控制Gitolite在仓库及其内容上设置的权限。"

#. type: table
#: guix-git/doc/guix.texi:40465
#, fuzzy
msgid "A value like @code{#o0027} will give read access to the group used by Gitolite (by default: @code{git}).  This is necessary when using Gitolite with software like cgit or gitweb."
msgstr "像@code{#o0027}这样的值将为Gitolite使用的组(默认:@code{git})提供读取权限。当使用Gitolite与cgit或gitweb等软件时,这是必要的。"

#. type: item
#: guix-git/doc/guix.texi:40466
#, fuzzy, no-wrap
msgid "@code{local-code} (default: @code{\"$rc@{GL_ADMIN_BASE@}/local\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:40469
#, fuzzy
msgid "Allows you to add your own non-core programs, or even override the shipped ones with your own."
msgstr "允许您添加自己的非核心程序,甚至用自己的程序覆盖已提供的程序。"

#. type: table
#: guix-git/doc/guix.texi:40474
#, fuzzy
msgid "Please supply the FULL path to this variable. By default, directory called \"local\" in your gitolite clone is used, providing the benefits of versioning them as well as making changes to them without having to log on to the server."
msgstr "请提供此变量的完整路径。默认情况下,将使用您 gitolite 克隆中的名为“local”的目录,这样可以享受版本控制的好处,并且可以在不登录服务器的情况下对其进行更改。"

#. type: item
#: guix-git/doc/guix.texi:40475
#, fuzzy, no-wrap
msgid "@code{unsafe-pattern} (default: @code{#f})"
msgstr "@code{max-journal-depth}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40480
#, fuzzy
msgid "An optional Perl regular expression for catching unsafe configurations in the configuration file.  See @uref{https://gitolite.com/gitolite/git-config.html#compensating-for-unsafe_patt, Gitolite's documentation} for more information."
msgstr "用于捕获配置文件中不安全配置的可选 Perl 正则表达式。有关更多信息,请参见 @uref{https://gitolite.com/gitolite/git-config.html#compensating-for-unsafe_patt, Gitolite 的文档}。"

#. type: table
#: guix-git/doc/guix.texi:40487
#, fuzzy
msgid "When the value is not @code{#f}, it should be a string containing a Perl regular expression, such as @samp{\"[`~#\\$\\&()|;<>]\"}, which is the default value used by gitolite.  It rejects any special character in configuration that might be interpreted by a shell, which is useful when sharing the administration burden with other people that do not otherwise have shell access on the server."
msgstr "当值不是 @code{#f} 时,它应该是一个包含 Perl 正则表达式的字符串,例如 @samp{\"[`~#\\$\\&()|;<>]\"},这是 gitolite 使用的默认值。它拒绝配置中可能被 shell 解释的任何特殊字符,这在与没有 shell 访问权限的其他人共享管理工作时非常有用。"

#. type: item
#: guix-git/doc/guix.texi:40488
#, fuzzy, no-wrap
msgid "@code{git-config-keys} (default: @code{\"\"})"
msgstr "@code{git-config-keys}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:40491
#, fuzzy
msgid "Gitolite allows you to set git config values using the @samp{config} keyword.  This setting allows control over the config keys to accept."
msgstr "Gitolite 允许您使用 @samp{config} 关键字设置 git 配置值。此设置允许控制接受的配置键。"

#. type: item
#: guix-git/doc/guix.texi:40492
#, fuzzy, no-wrap
msgid "@code{roles} (default: @code{'((\"READERS\" . 1) (\"WRITERS\" . ))})"
msgstr "@code{roles}(默认值:@code{'((\"READERS\" . 1) (\"WRITERS\" . ))})"

#. type: table
#: guix-git/doc/guix.texi:40494
#, fuzzy
msgid "Set the role names allowed to be used by users running the perms command."
msgstr "设置允许用户在运行 perms 命令时使用的角色名称。"

#. type: item
#: guix-git/doc/guix.texi:40495
#, fuzzy, no-wrap
msgid "@code{enable} (default: @code{'(\"help\" \"desc\" \"info\" \"perms\" \"writable\" \"ssh-authkeys\" \"git-config\" \"daemon\" \"gitweb\")})"
msgstr "@code{enable}(默认值:@code{'(\"help\" \"desc\" \"info\" \"perms\" \"writable\" \"ssh-authkeys\" \"git-config\" \"daemon\" \"gitweb\")})"

#. type: table
#: guix-git/doc/guix.texi:40497
#, fuzzy
msgid "This setting controls the commands and features to enable within Gitolite."
msgstr "此设置控制在 Gitolite 中启用的命令和功能。"

#. type: subsubheading
#: guix-git/doc/guix.texi:40502
#, fuzzy, no-wrap
msgid "Gitile Service"
msgstr "邮件服务"

#. type: cindex
#: guix-git/doc/guix.texi:40504
#, fuzzy, no-wrap
msgid "Gitile service"
msgstr "邮件服务"

#. type: cindex
#: guix-git/doc/guix.texi:40505
#, fuzzy, no-wrap
msgid "Git, forge"
msgstr "Git,forge"

#. type: Plain text
#: guix-git/doc/guix.texi:40508
#, fuzzy
msgid "@uref{https://git.lepiller.eu/gitile, Gitile} is a Git forge for viewing public git repository contents from a web browser."
msgstr "@uref{https://git.lepiller.eu/gitile, Gitile} 是一个用于从网页浏览器查看公共 git 存储库内容的 Git forge。"

#. type: Plain text
#: guix-git/doc/guix.texi:40514
#, fuzzy
msgid "Gitile works best in collaboration with Gitolite, and will serve the public repositories from Gitolite by default.  The service should listen only on a local port, and a webserver should be configured to serve static resources.  The gitile service provides an easy way to extend the Nginx service for that purpose (@pxref{NGINX})."
msgstr "Gitile 最好与 Gitolite 协作,并默认从 Gitolite 提供公共存储库。该服务应仅在本地端口上监听,并且应配置一个 Web 服务器来提供静态资源。gitile 服务提供了一种简单的方法来扩展 Nginx 服务以实现该目的(@pxref{NGINX})。"

#. type: Plain text
#: guix-git/doc/guix.texi:40518
#, fuzzy
msgid "The following example will configure Gitile to serve repositories from a custom location, with some default messages for the home page and the footers."
msgstr "以下示例将配置 Gitile 从自定义位置提供存储库,并为主页和页脚提供一些默认消息。"

#. type: lisp
#: guix-git/doc/guix.texi:40541
#, fuzzy, no-wrap
msgid ""
"(service gitile-service-type\n"
"         (gitile-configuration\n"
"           (repositories \"/srv/git\")\n"
"           (base-git-url \"https://myweb.site/git\")\n"
"           (index-title \"My git repositories\")\n"
"           (intro '((p \"This is all my public work!\")))\n"
"           (footer '((p \"This is the end\")))\n"
"           (nginx\n"
"             (nginx-server-configuration\n"
"               (ssl-certificate\n"
"                 \"/etc/certs/myweb.site/fullchain.pem\")\n"
"               (ssl-certificate-key\n"
"                 \"/etc/certs/myweb.site/privkey.pem\")\n"
"               (listen '(\"443 ssl http2\" \"[::]:443 ssl http2\"))\n"
"               (locations\n"
"                 (list\n"
"                   ;; Allow for https anonymous fetch on /git/ urls.\n"
"                   (git-http-nginx-location-configuration\n"
"                     (git-http-configuration\n"
"                       (uri-path \"/git/\")\n"
"                       (git-root \"/var/lib/gitolite/repositories\")))))))))\n"
msgstr ""
"(service gitile-service-type\n"
"         (gitile-configuration\n"
"           (repositories \"/srv/git\")\n"
"           (base-git-url \"https://myweb.site/git\")\n"
"           (index-title \"我的 git 存储库\")\n"
"           (intro '((p \"这是我所有的公共工作!\")))\n"
"           (footer '((p \"结束\")))\n"
"           (nginx\n"
"             (nginx-server-configuration\n"
"               (ssl-certificate\n"
"                 \"/etc/certs/myweb.site/fullchain.pem\")\n"
"               (ssl-certificate-key\n"
"                 \"/etc/certs/myweb.site/privkey.pem\")\n"
"               (listen '(\"443 ssl http2\" \"[::]:443 ssl http2\"))\n"
"               (locations\n"
"                 (list\n"
"                   ;; 允许在 /git/ URLs 上进行 https 匿名获取。\n"
"                   (git-http-nginx-location-configuration\n"
"                     (git-http-configuration\n"
"                       (uri-path \"/git/\")\n"
"                       (git-root \"/var/lib/gitolite/repositories\")))))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:40550
#, fuzzy
msgid "In addition to the configuration record, you should configure your git repositories to contain some optional information.  First, your public repositories need to contain the @file{git-daemon-export-ok} magic file that allows Git to export the repository.  Gitile uses the presence of this file to detect public repositories it should make accessible.  To do so with Gitolite for instance, modify your @file{conf/gitolite.conf} to include this in the repositories you want to make public:"
msgstr "除了配置记录,您还应该配置您的 git 仓库以包含一些可选信息。首先,您的公共仓库需要包含 @file{git-daemon-export-ok} 魔法文件,以允许 Git 导出该仓库。Gitile 使用此文件的存在来检测它应该公开的公共仓库。要使用 Gitolite 实现此功能,请修改您的 @file{conf/gitolite.conf} 以将其包含在您想要公开的仓库中:"

#. type: example
#: guix-git/doc/guix.texi:40554
#, fuzzy, no-wrap
msgid ""
"repo foo\n"
"    R = daemon\n"
msgstr ""
"repo foo\n"
"    R = daemon\n"

#. type: Plain text
#: guix-git/doc/guix.texi:40560
#, fuzzy
msgid "In addition, Gitile can read the repository configuration to display more information on the repository.  Gitile uses the gitweb namespace for its configuration.  As an example, you can use the following in your @file{conf/gitolite.conf}:"
msgstr "此外,Gitile 可以读取仓库配置以显示有关该仓库的更多信息。Gitile 使用 gitweb 命名空间进行其配置。作为示例,您可以在 @file{conf/gitolite.conf} 中使用以下内容:"

#. type: example
#: guix-git/doc/guix.texi:40567
#, fuzzy, no-wrap
msgid ""
"repo foo\n"
"    R = daemon\n"
"    desc = A long description, optionally with <i>HTML</i>, shown on the index page\n"
"    config gitweb.name = The Foo Project\n"
"    config gitweb.synopsis = A short description, shown on the main page of the project\n"
msgstr ""
"repo foo\n"
"    R = daemon\n"
"    desc = 一个长描述,可选地带有 <i>HTML</i>,显示在索引页面上\n"
"    config gitweb.name = Foo 项目\n"
"    config gitweb.synopsis = 一个简短描述,显示在项目的主页上\n"

#. type: Plain text
#: guix-git/doc/guix.texi:40573
#, fuzzy
msgid "Do not forget to commit and push these changes once you are satisfied.  You may need to change your gitolite configuration to allow the previous configuration options to be set.  One way to do that is to add the following service definition:"
msgstr "一旦您满意,请不要忘记提交并推送这些更改。您可能需要更改您的 gitolite 配置,以允许设置先前的配置选项。实现此目的的一种方法是添加以下服务定义:"

#. type: lisp
#: guix-git/doc/guix.texi:40585
#, fuzzy, no-wrap
msgid ""
"(service gitolite-service-type\n"
"          (gitolite-configuration\n"
"            (admin-pubkey (local-file \"key.pub\"))\n"
"            (rc-file\n"
"              (gitolite-rc-file\n"
"                (umask #o0027)\n"
"                ;; Allow to set any configuration key\n"
"                (git-config-keys \".*\")\n"
"                ;; Allow any text as a valid configuration value\n"
"                (unsafe-patt \"^$\")))))\n"
msgstr ""
"(service gitolite-service-type\n"
"          (gitolite-configuration\n"
"            (admin-pubkey (local-file \"key.pub\"))\n"
"            (rc-file\n"
"              (gitolite-rc-file\n"
"                (umask #o0027)\n"
"                ;; 允许设置任何配置键\n"
"                (git-config-keys \".*\")\n"
"                ;; 允许任何文本作为有效的配置值\n"
"                (unsafe-patt \"^$\")))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:40587
#, fuzzy, no-wrap
msgid "{Data Type} gitile-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:40589
#, fuzzy
msgid "Data type representing the configuration for @code{gitile-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:40591
#, fuzzy, no-wrap
msgid "@code{package} (default: @var{gitile})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:40593
#, fuzzy
msgid "Gitile package to use."
msgstr "软件包数据类型。"

#. type: table
#: guix-git/doc/guix.texi:40596
#, fuzzy
msgid "The host on which gitile is listening."
msgstr "gitile 正在监听的主机。"

#. type: item
#: guix-git/doc/guix.texi:40597
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{8080})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:40599
#, fuzzy
msgid "The port on which gitile is listening."
msgstr "gitile 正在监听的端口。"

#. type: item
#: guix-git/doc/guix.texi:40600
#, fuzzy, no-wrap
msgid "@code{database} (default: @code{\"/var/lib/gitile/gitile-db.sql\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:40602
#, fuzzy
msgid "The location of the database."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:40603
#, fuzzy, no-wrap
msgid "@code{repositories} (default: @code{\"/var/lib/gitolite/repositories\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:40607
#, fuzzy
msgid "The location of the repositories.  Note that only public repositories will be shown by Gitile.  To make a repository public, add an empty @file{git-daemon-export-ok} file at the root of that repository."
msgstr "仓库的位置。请注意,只有公共仓库会被 Gitile 显示。要使仓库公开,请在该仓库的根目录中添加一个空的 @file{git-daemon-export-ok} 文件。"

#. type: code{#1}
#: guix-git/doc/guix.texi:40608
#, fuzzy, no-wrap
msgid "base-git-url"
msgstr "base-git-url"

#. type: table
#: guix-git/doc/guix.texi:40610
#, fuzzy
msgid "The base git url that will be used to show clone commands."
msgstr "将用于显示克隆命令的基本 git url。"

#. type: item
#: guix-git/doc/guix.texi:40611
#, fuzzy, no-wrap
msgid "@code{index-title} (default: @code{\"Index\"})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:40613
#, fuzzy
msgid "The page title for the index page that lists all the available repositories."
msgstr "列出所有可用仓库的索引页面的页面标题。"

#. type: item
#: guix-git/doc/guix.texi:40614
#, fuzzy, no-wrap
msgid "@code{intro} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:40617
#, fuzzy
msgid "The intro content, as a list of sxml expressions.  This is shown above the list of repositories, on the index page."
msgstr "介绍内容,作为 sxml 表达式的列表。 这显示在索引页面的存储库列表上方。"

#. type: item
#: guix-git/doc/guix.texi:40618
#, fuzzy, no-wrap
msgid "@code{footer} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:40621
#, fuzzy
msgid "The footer content, as a list of sxml expressions.  This is shown on every page served by Gitile."
msgstr "页脚内容,作为 sxml 表达式的列表。 这在 Gitile 提供的每个页面上显示。"

#. type: code{#1}
#: guix-git/doc/guix.texi:40622
#, fuzzy, no-wrap
msgid "nginx"
msgstr "nginx"

#. type: table
#: guix-git/doc/guix.texi:40625
#, fuzzy
msgid "An nginx server block that will be extended and used as a reverse proxy by Gitile to serve its pages, and as a normal web server to serve its assets."
msgstr "一个 nginx 服务器块,将被扩展并用作 Gitile 的反向代理来提供其页面,并作为普通的 Web 服务器来提供其资产。"

#. type: table
#: guix-git/doc/guix.texi:40629
#, fuzzy
msgid "You can use this block to add more custom URLs to your domain, such as a @code{/git/} URL for anonymous clones, or serving any other files you would like to serve."
msgstr "您可以使用此块向您的域添加更多自定义 URL,例如用于匿名克隆的 @code{/git/} URL,或提供您希望提供的任何其他文件。"

#. type: subsubheading
#: guix-git/doc/guix.texi:40636
#, fuzzy, no-wrap
msgid "Joycond service"
msgstr "声音服务"

#. type: cindex
#: guix-git/doc/guix.texi:40637
#, fuzzy, no-wrap
msgid "joycond"
msgstr "joycond"

#. type: cindex
#: guix-git/doc/guix.texi:40638
#, fuzzy, no-wrap
msgid "nintendo controllers"
msgstr "任天堂控制器"

#. type: Plain text
#: guix-git/doc/guix.texi:40642
#, fuzzy
msgid "The joycond service allows the pairing of Nintendo joycon game controllers over Bluetooth. (@pxref{Desktop Services} for setting up Bluetooth.)"
msgstr "joycond 服务允许通过蓝牙配对任天堂 joycon 游戏控制器。 (有关设置蓝牙的信息,请参见 @pxref{Desktop Services}。)"

#. type: deftp
#: guix-git/doc/guix.texi:40643
#, fuzzy, no-wrap
msgid "{Data Type} joycond-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:40645
#, fuzzy
msgid "Data type representing the configuration of @command{joycond}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:40647
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{joycond})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:40649
#, fuzzy
msgid "The joycond package to use."
msgstr "软件包数据类型。"

#. type: defvar
#: guix-git/doc/guix.texi:40652
#, fuzzy, no-wrap
msgid "joycond-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:40657
#, fuzzy
msgid "Service type for the joycond service.  It also extends the @code{udev-service-type} with the @code{joycond} package (provided via the @code{joycond-configuration} configuration), so that joycond controllers can be detected and used by an unprivileged user."
msgstr "joycond 服务的服务类型。 它还扩展了 @code{udev-service-type},并使用 @code{joycond} 包(通过 @code{joycond-configuration} 配置提供),以便 joycond 控制器可以被非特权用户检测和使用。"

#. type: subsubheading
#: guix-git/doc/guix.texi:40659
#, fuzzy, no-wrap
msgid "The Battle for Wesnoth Service"
msgstr "《韦斯诺斯之战》服务"

#. type: cindex
#: guix-git/doc/guix.texi:40660
#, fuzzy, no-wrap
msgid "wesnothd"
msgstr "wesnothd"

#. type: Plain text
#: guix-git/doc/guix.texi:40664
#, fuzzy
msgid "@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn based tactical strategy game, with several single player campaigns, and multiplayer games (both networked and local)."
msgstr "@uref{https://wesnoth.org, 《韦斯诺斯之战》} 是一款幻想类回合制战术策略游戏,拥有多个单人战役和多人游戏(包括网络和本地)。"

#. type: defvar
#: guix-git/doc/guix.texi:40665
#, fuzzy, no-wrap
msgid "wesnothd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:40669
#, fuzzy
msgid "Service type for the wesnothd service.  Its value must be a @code{wesnothd-configuration} object.  To run wesnothd in the default configuration, instantiate it as:"
msgstr "wesnothd 服务的服务类型。 其值必须是 @code{wesnothd-configuration} 对象。 要在默认配置下运行 wesnothd,请实例化为:"

#. type: lisp
#: guix-git/doc/guix.texi:40672
#, fuzzy, no-wrap
msgid "(service wesnothd-service-type)\n"
msgstr "(service wesnothd-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:40675
#, fuzzy, no-wrap
msgid "{Data Type} wesnothd-configuration"
msgstr "{数据类型} wesnothd-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:40677
#, fuzzy
msgid "Data type representing the configuration of @command{wesnothd}."
msgstr "表示 @command{wesnothd} 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:40679
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{wesnoth-server})"
msgstr "@code{package}(默认值:@code{wesnoth-server})"

#. type: table
#: guix-git/doc/guix.texi:40681
#, fuzzy
msgid "The wesnoth server package to use."
msgstr "要使用的 wesnoth 服务器包。"

#. type: item
#: guix-git/doc/guix.texi:40682
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{15000})"
msgstr "@code{port}(默认值:@code{15000})"

#. type: table
#: guix-git/doc/guix.texi:40684 guix-git/doc/guix.texi:41250
#, fuzzy
msgid "The port to bind the server to."
msgstr "要绑定服务器的端口。"

#. type: cindex
#: guix-git/doc/guix.texi:40690
#, fuzzy, no-wrap
msgid "pam-mount"
msgstr "pam-mount"

#. type: Plain text
#: guix-git/doc/guix.texi:40695
#, fuzzy
msgid "The @code{(gnu services pam-mount)} module provides a service allowing users to mount volumes when they log in.  It should be able to mount any volume format supported by the system."
msgstr "@code{(gnu services pam-mount)} 模块提供了一项服务,允许用户在登录时挂载卷。 它应该能够挂载系统支持的任何卷格式。"

#. type: defvar
#: guix-git/doc/guix.texi:40696
#, fuzzy, no-wrap
msgid "pam-mount-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:40698
#, fuzzy
msgid "Service type for PAM Mount support."
msgstr "PAM Mount 支持的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:40700
#, fuzzy, no-wrap
msgid "{Data Type} pam-mount-configuration"
msgstr "{数据类型} pam-mount-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:40702
#, fuzzy
msgid "Data type representing the configuration of PAM Mount."
msgstr "管理操作系统配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:40706
#, no-wrap
msgid "rules"
msgstr "rules"

#. type: table
#: guix-git/doc/guix.texi:40709
#, fuzzy
msgid "The configuration rules that will be used to generate @file{/etc/security/pam_mount.conf.xml}."
msgstr "将用于生成 @file{/etc/security/pam_mount.conf.xml} 的配置规则。"

#. type: table
#: guix-git/doc/guix.texi:40713
#, fuzzy
msgid "The configuration rules are SXML elements (@pxref{SXML,,, guile, GNU Guile Reference Manual}), and the default ones don't mount anything for anyone at login:"
msgstr "配置规则是 SXML 元素(@pxref{SXML,,, guile, GNU Guile Reference Manual),默认情况下不会在登录时为任何人挂载任何内容:"

#. type: lisp
#: guix-git/doc/guix.texi:40728
#, fuzzy, no-wrap
msgid ""
"`((debug (@@ (enable \"0\")))\n"
"  (mntoptions (@@ (allow ,(string-join\n"
"                          '(\"nosuid\" \"nodev\" \"loop\"\n"
"                            \"encryption\" \"fsck\" \"nonempty\"\n"
"                            \"allow_root\" \"allow_other\")\n"
"                          \",\"))))\n"
"  (mntoptions (@@ (require \"nosuid,nodev\")))\n"
"  (logout (@@ (wait \"0\")\n"
"             (hup \"0\")\n"
"             (term \"no\")\n"
"             (kill \"no\")))\n"
"  (mkmountpoint (@@ (enable \"1\")\n"
"                   (remove \"true\"))))\n"
msgstr ""
"`((调试 (@@ (启用 \"0\")))\n"
"  (mntoptions (@@ (允许 ,(string-join\n"
"                          '(\"nosuid\" \"nodev\" \"loop\"\n"
"                            \"encryption\" \"fsck\" \"nonempty\"\n"
"                            \"allow_root\" \"allow_other\")\n"
"                          \",\"))))\n"
"  (mntoptions (@@ (要求 \"nosuid,nodev\")))\n"
"  (注销 (@@ (等待 \"0\")\n"
"             (hup \"0\")\n"
"             (term \"no\")\n"
"             (kill \"no\")))\n"
"  (创建挂载点 (@@ (启用 \"1\")\n"
"                   (移除 \"true\"))))\n"

#. type: table
#: guix-git/doc/guix.texi:40734
#, fuzzy
msgid "Some @code{volume} elements must be added to automatically mount volumes at login.  Here's an example allowing the user @code{alice} to mount her encrypted @env{HOME} directory and allowing the user @code{bob} to mount the partition where he stores his data:"
msgstr "某些 @code{volume} 元素必须添加以在登录时自动挂载卷。 这是一个示例,允许用户 @code{alice} 挂载她的加密 @env{HOME} 目录,并允许用户 @code{bob} 挂载他存储数据的分区:"

#. type: lisp
#: guix-git/doc/guix.texi:40759
#, fuzzy, no-wrap
msgid ""
"(define pam-mount-rules\n"
"`((debug (@@ (enable \"0\")))\n"
"            (volume (@@ (user \"alice\")\n"
"                       (fstype \"crypt\")\n"
"                       (path \"/dev/sda2\")\n"
"                       (mountpoint \"/home/alice\")))\n"
"            (volume (@@ (user \"bob\")\n"
"                       (fstype \"auto\")\n"
"                       (path \"/dev/sdb3\")\n"
"                       (mountpoint \"/home/bob/data\")\n"
"                       (options \"defaults,autodefrag,compress\")))\n"
"            (mntoptions (@@ (allow ,(string-join\n"
"                                    '(\"nosuid\" \"nodev\" \"loop\"\n"
"                                      \"encryption\" \"fsck\" \"nonempty\"\n"
"                                      \"allow_root\" \"allow_other\")\n"
"                                    \",\"))))\n"
"            (mntoptions (@@ (require \"nosuid,nodev\")))\n"
"            (logout (@@ (wait \"0\")\n"
"                       (hup \"0\")\n"
"                       (term \"no\")\n"
"                       (kill \"no\")))\n"
"            (mkmountpoint (@@ (enable \"1\")\n"
"                             (remove \"true\")))))\n"
"\n"
msgstr ""
"(定义 pam-mount-rules\n"
"`((调试 (@@ (启用 \"0\")))\n"
"            (卷 (@@ (用户 \"alice\")\n"
"                       (文件系统类型 \"crypt\")\n"
"                       (路径 \"/dev/sda2\")\n"
"                       (挂载点 \"/home/alice\")))\n"
"            (卷 (@@ (用户 \"bob\")\n"
"                       (文件系统类型 \"auto\")\n"
"                       (路径 \"/dev/sdb3\")\n"
"                       (挂载点 \"/home/bob/data\")\n"
"                       (选项 \"defaults,autodefrag,compress\")))\n"
"            (mntoptions (@@ (允许 ,(string-join\n"
"                                    '(\"nosuid\" \"nodev\" \"loop\"\n"
"                                      \"encryption\" \"fsck\" \"nonempty\"\n"
"                                      \"allow_root\" \"allow_other\")\n"
"                                    \",\"))))\n"
"            (mntoptions (@@ (要求 \"nosuid,nodev\")))\n"
"            (注销 (@@ (等待 \"0\")\n"
"                       (hup \"0\")\n"
"                       (term \"no\")\n"
"                       (kill \"no\")))\n"
"            (创建挂载点 (@@ (启用 \"1\")\n"
"                             (移除 \"true\")))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:40763
#, fuzzy, no-wrap
msgid ""
"(service pam-mount-service-type\n"
"         (pam-mount-configuration\n"
"           (rules pam-mount-rules)))\n"
msgstr ""
"(服务 pam-mount-service-type\n"
"         (pam-mount-configuration\n"
"           (规则 pam-mount-rules)))\n"

#. type: table
#: guix-git/doc/guix.texi:40767
#, fuzzy
msgid "The complete list of possible options can be found in the man page for @uref{http://pam-mount.sourceforge.net/pam_mount.conf.5.html, pam_mount.conf}."
msgstr "可能选项的完整列表可以在 @uref{http://pam-mount.sourceforge.net/pam_mount.conf.5.html, pam_mount.conf} 的手册页中找到。"

#. type: subheading
#: guix-git/doc/guix.texi:40770
#, fuzzy, no-wrap
msgid "PAM Mount Volume Service"
msgstr "声音服务"

#. type: cindex
#: guix-git/doc/guix.texi:40771
#, fuzzy, no-wrap
msgid "pam volume mounting"
msgstr "PAM卷挂载"

#. type: Plain text
#: guix-git/doc/guix.texi:40778
#, fuzzy
msgid "PAM mount volumes are automatically mounted at login by the PAM login service according to a set of per-volume rules.  Because they are mounted by PAM the password entered during login may be used directly to mount authenticated volumes, such as @code{cifs}, using the same credentials."
msgstr "PAM挂载卷在登录时由PAM登录服务根据每个卷的规则自动挂载。由于它们是由PAM挂载的,因此在登录时输入的密码可以直接用于挂载经过身份验证的卷,例如@code{cifs},使用相同的凭据。"

#. type: Plain text
#: guix-git/doc/guix.texi:40781
#, fuzzy
msgid "These volumes will be added in addition to any volumes directly specified in @code{pam-mount-rules}."
msgstr "这些卷将被添加到在@code{pam-mount-rules}中直接指定的任何卷中。"

#. type: Plain text
#: guix-git/doc/guix.texi:40785
#, fuzzy
msgid "Here is an example of a rule which will mount a remote CIFS share from @file{//remote-server/share} into a sub-directory of @file{/shares} named after the user logging in:"
msgstr "以下是一个规则示例,该规则将从@file{//remote-server/share}挂载一个远程CIFS共享到@file{/shares}中的一个子目录,该子目录以登录用户的名称命名:"

#. type: lisp
#: guix-git/doc/guix.texi:40795
#, fuzzy, no-wrap
msgid ""
"(simple-service 'pam-mount-remote-share pam-mount-volume-service-type\n"
"                (list (pam-mount-volume\n"
"                       (secondary-group \"users\")\n"
"                       (file-system-type \"cifs\")\n"
"                       (server \"remote-server\")\n"
"                       (file-name \"share\")\n"
"                       (mount-point \"/shares/%(USER)\")\n"
"                       (options \"nosuid,nodev,seal,cifsacl\"))))\n"
msgstr ""
"(simple-service 'pam-mount-remote-share pam-mount-volume-service-type\n"
"                (list (pam-mount-volume\n"
"                       (secondary-group \"users\")\n"
"                       (file-system-type \"cifs\")\n"
"                       (server \"remote-server\")\n"
"                       (file-name \"share\")\n"
"                       (mount-point \"/shares/%(USER)\")\n"
"                       (options \"nosuid,nodev,seal,cifsacl\"))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:40797
#, fuzzy, no-wrap
msgid "{Data Type} pam-mount-volume-service-type"
msgstr "邮件服务"

#. type: deftp
#: guix-git/doc/guix.texi:40802
#, fuzzy
msgid "Configuration for a single volume to be mounted.  Any fields not specified will be omitted from the run-time PAM configuration.  See @uref{http://pam-mount.sourceforge.net/pam_mount.conf.5.html, the man page} for the default values when unspecified."
msgstr "要挂载的单个卷的配置。任何未指定的字段将在运行时PAM配置中省略。有关未指定时的默认值,请参见@uref{http://pam-mount.sourceforge.net/pam_mount.conf.5.html, 手册页}。"

#. type: item
#: guix-git/doc/guix.texi:40804
#, fuzzy, no-wrap
msgid "@code{user-name} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40806
#, fuzzy
msgid "Mount the volume for the given user."
msgstr "为给定用户挂载卷。"

#. type: item
#: guix-git/doc/guix.texi:40807
#, fuzzy, no-wrap
msgid "@code{user-id} (type: maybe-integer-or-range)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40811
#, fuzzy
msgid "Mount the volume for the user with this ID.  This field may also be specified as a pair of @code{(start . end)} indicating a range of user IDs for whom to mount the volume."
msgstr "为具有此ID的用户挂载卷。此字段也可以指定为一对@code{(start . end)},表示要挂载卷的用户ID范围。"

#. type: item
#: guix-git/doc/guix.texi:40812
#, fuzzy, no-wrap
msgid "@code{primary-group} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40814
#, fuzzy
msgid "Mount the volume for users with this primary group name."
msgstr "为具有此主要组名称的用户挂载卷。"

#. type: item
#: guix-git/doc/guix.texi:40815
#, fuzzy, no-wrap
msgid "@code{group-id} (type: maybe-integer-or-range)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40819
#, fuzzy
msgid "Mount the volume for the users with this primary group ID.  This field may also be specified as a cons cell of @code{(start . end)} indicating a range of group ids for whom to mount the volume."
msgstr "为具有此主要组ID的用户挂载卷。此字段也可以指定为@code{(start . end)}的cons单元,表示要挂载卷的组ID范围。"

#. type: item
#: guix-git/doc/guix.texi:40820
#, fuzzy, no-wrap
msgid "@code{secondary-group} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40823
#, fuzzy
msgid "Mount the volume for users who are members of this group as either a primary or secondary group."
msgstr "为作为主要或次要组的成员的用户挂载卷。"

#. type: item
#: guix-git/doc/guix.texi:40824
#, fuzzy, no-wrap
msgid "@code{file-system-type} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40826
#, fuzzy
msgid "The file system type for the volume being mounted (e.g., @code{cifs})"
msgstr "正在挂载的卷的文件系统类型(例如,@code{cifs})"

#. type: item
#: guix-git/doc/guix.texi:40827
#, fuzzy, no-wrap
msgid "@code{no-mount-as-root?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:40831
#, fuzzy
msgid "Whether or not to mount the volume with root privileges.  This is normally disabled, but may be enabled for mounts of type @code{fuse}, or other user-level mounts."
msgstr "是否以root权限挂载卷。通常情况下,这会被禁用,但可以为@code{fuse}类型的挂载或其他用户级挂载启用。"

#. type: item
#: guix-git/doc/guix.texi:40832
#, fuzzy, no-wrap
msgid "@code{server} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40834
#, fuzzy
msgid "The name of the remote server to mount the volume from, when necessary."
msgstr "远程服务器的名称,以便在必要时挂载卷。"

#. type: item
#: guix-git/doc/guix.texi:40835
#, fuzzy, no-wrap
msgid "@code{file-name} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40838
#, fuzzy
msgid "The location of the volume, either local or remote, depending on the @code{file-system-type}."
msgstr "卷的位置,可以是本地或远程,具体取决于 @code{file-system-type}。"

#. type: item
#: guix-git/doc/guix.texi:40839
#, fuzzy, no-wrap
msgid "@code{mount-point} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40844
#, fuzzy
msgid "Where to mount the volume in the local file-system.  This may be set to @file{~} to indicate the home directory of the user logging in.  If this field is omitted then @file{/etc/fstab} is consulted for the mount destination."
msgstr "在本地文件系统中挂载卷的位置。可以设置为 @file{~},以指示登录用户的主目录。如果省略此字段,则会参考 @file{/etc/fstab} 以获取挂载目标。"

#. type: item
#: guix-git/doc/guix.texi:40845
#, fuzzy, no-wrap
msgid "@code{options} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40847
#, fuzzy
msgid "The options to be passed as-is to the underlying mount program."
msgstr "要直接传递给底层挂载程序的选项。"

#. type: item
#: guix-git/doc/guix.texi:40848
#, fuzzy, no-wrap
msgid "@code{ssh?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:40851
#, fuzzy
msgid "Enable this option to pass the login password to SSH for use with mounts involving SSH (e.g., @code{sshfs})."
msgstr "启用此选项以将登录密码传递给 SSH,以便与涉及 SSH 的挂载一起使用(例如,@code{sshfs})。"

#. type: item
#: guix-git/doc/guix.texi:40852
#, fuzzy, no-wrap
msgid "@code{cipher} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40855
#, fuzzy
msgid "Cryptsetup cipher name for the volume.  To be used with the @code{crypt} @code{file-system-type}."
msgstr "卷的 Cryptsetup 加密名称。用于 @code{crypt} @code{file-system-type}。"

#. type: item
#: guix-git/doc/guix.texi:40856
#, fuzzy, no-wrap
msgid "@code{file-system-key-cipher} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40858
#, fuzzy
msgid "Cipher name used by the target volume."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:40859
#, fuzzy, no-wrap
msgid "@code{file-system-key-hash} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40861
#, fuzzy
msgid "SSL hash name used by the target volume."
msgstr "目标卷使用的 SSL 哈希名称。"

#. type: item
#: guix-git/doc/guix.texi:40862
#, fuzzy, no-wrap
msgid "@code{file-system-key-file-name} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40864
#, fuzzy
msgid "File name of the file system key for the target volume."
msgstr "目标卷的文件系统密钥的文件名。"

#. type: subsubheading
#: guix-git/doc/guix.texi:40872
#, fuzzy, no-wrap
msgid "Build Farm Front-End (BFFE)"
msgstr "构建农场前端 (BFFE)"

#. type: Plain text
#: guix-git/doc/guix.texi:40876
#, fuzzy
msgid "The @uref{https://git.cbaines.net/guix/bffe/,Build Farm Front-End} assists with building Guix packages in bulk.  It's responsible for submitting builds and displaying the status of the build farm."
msgstr "@uref{https://git.cbaines.net/guix/bffe/,构建农场前端} 协助批量构建 Guix 包。它负责提交构建并显示构建农场的状态。"

#. type: defvar
#: guix-git/doc/guix.texi:40877
#, fuzzy, no-wrap
msgid "bffe-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:40880
#, fuzzy
msgid "Service type for the Build Farm Front-End.  Its value must be a @code{bffe-configuration} object."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:40882
#, fuzzy, no-wrap
msgid "{Data Type} bffe-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:40884
#, fuzzy
msgid "Data type representing the configuration of the Build Farm Front-End."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:40886
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{bffe})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:40888
#, fuzzy
msgid "The Build Farm Front-End package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:40889
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"bffe\"})"
msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#. type: table
#: guix-git/doc/guix.texi:40891 guix-git/doc/guix.texi:40962
#: guix-git/doc/guix.texi:41018 guix-git/doc/guix.texi:41152
#: guix-git/doc/guix.texi:41244
#, fuzzy
msgid "The system user to run the service as."
msgstr "mcron服务。"

#. type: item
#: guix-git/doc/guix.texi:40892
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"bffe\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:40894 guix-git/doc/guix.texi:40965
#: guix-git/doc/guix.texi:41155 guix-git/doc/guix.texi:41247
#, fuzzy
msgid "The system group to run the service as."
msgstr "作为服务运行的系统组。"

#. type: table
#: guix-git/doc/guix.texi:40898
#, fuzzy
msgid "A list of arguments to the Build Farm Front-End.  These are passed to the @code{run-bffe-service} procedure when starting the service."
msgstr "构建农场前端的参数列表。这些参数在启动服务时传递给 @code{run-bffe-service} 过程。"

#. type: table
#: guix-git/doc/guix.texi:40903
#, fuzzy
msgid "For example, the following value directs the Build Farm Front-End to submit builds for derivations available from @code{data.guix.gnu.org} to the Build Coordinator instance assumed to be running on the same machine."
msgstr "例如,以下值指示构建农场前端将来自 @code{data.guix.gnu.org} 的派生提交给假定在同一台机器上运行的构建协调器实例。"

#. type: example
#: guix-git/doc/guix.texi:40923
#, fuzzy, no-wrap
msgid ""
"(list\n"
" #:build\n"
" (list\n"
"  (build-from-guix-data-service\n"
"   (data-service-url \"https://data.guix.gnu.org\")\n"
"   (build-coordinator-url \"http://127.0.0.1:8746\")\n"
"   (branches '(\"master\"))\n"
"   (systems '(\"x86_64-linux\" \"i686-linux\"))\n"
"   (systems-and-targets\n"
"    (map (lambda (target)\n"
"           (cons \"x86_64-linux\" target))\n"
"         '(\"aarch64-linux-gnu\"\n"
"           \"i586-pc-gnu\")))\n"
"   (build-priority (const 0))))\n"
" #:web-server-args\n"
" '(#:event-source \"https://example.com\"\n"
"   #:controller-args\n"
"   (#:title \"example.com build farm\")))\n"
msgstr ""
"(list\n"
" #:build\n"
" (list\n"
"  (build-from-guix-data-service\n"
"   (data-service-url \"https://data.guix.gnu.org\")\n"
"   (build-coordinator-url \"http://127.0.0.1:8746\")\n"
"   (branches '(\"master\"))\n"
"   (systems '(\"x86_64-linux\" \"i686-linux\"))\n"
"   (systems-and-targets\n"
"    (map (lambda (target)\n"
"           (cons \"x86_64-linux\" target))\n"
"         '(\"aarch64-linux-gnu\"\n"
"           \"i586-pc-gnu\")))\n"
"   (build-priority (const 0))))\n"
" #:web-server-args\n"
" '(#:event-source \"https://example.com\"\n"
"   #:controller-args\n"
"   (#:title \"example.com 构建农场\")))\n"

#. type: item
#: guix-git/doc/guix.texi:40925 guix-git/doc/guix.texi:40998
#, fuzzy, no-wrap
msgid "@code{extra-environment-variables} (default: @var{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:40927 guix-git/doc/guix.texi:41000
#: guix-git/doc/guix.texi:41337
#, fuzzy
msgid "Extra environment variables to set via the shepherd service."
msgstr "构建环境"

#. type: subsubheading
#: guix-git/doc/guix.texi:40931
#, fuzzy, no-wrap
msgid "Guix Build Coordinator"
msgstr "Guix 构建协调器"

#. type: Plain text
#: guix-git/doc/guix.texi:40937
#, fuzzy
msgid "The @uref{https://git.cbaines.net/guix/build-coordinator/,Guix Build Coordinator} aids in distributing derivation builds among machines running an @dfn{agent}.  The build daemon is still used to build the derivations, but the Guix Build Coordinator manages allocating builds and working with the results."
msgstr "@uref{https://git.cbaines.net/guix/build-coordinator/,Guix 构建协调器} 有助于在运行 @dfn{agent} 的机器之间分配派生构建。构建守护进程仍然用于构建派生,但 Guix 构建协调器负责分配构建并处理结果。"

#. type: Plain text
#: guix-git/doc/guix.texi:40943
#, fuzzy
msgid "The Guix Build Coordinator consists of one @dfn{coordinator}, and one or more connected @dfn{agent} processes.  The coordinator process handles clients submitting builds, and allocating builds to agents.  The agent processes talk to a build daemon to actually perform the builds, then send the results back to the coordinator."
msgstr "Guix构建协调器由一个@dfn{协调器}和一个或多个连接的@dfn{代理}进程组成。协调器进程处理提交构建的客户端,并将构建分配给代理。代理进程与构建守护进程通信以实际执行构建,然后将结果发送回协调器。"

#. type: Plain text
#: guix-git/doc/guix.texi:40947
#, fuzzy
msgid "There is a script to run the coordinator component of the Guix Build Coordinator, but the Guix service uses a custom Guile script instead, to provide better integration with G-expressions used in the configuration."
msgstr "有一个脚本用于运行Guix构建协调器的协调器组件,但Guix服务使用自定义的Guile脚本,以便更好地与配置中使用的G表达式集成。"

#. type: defvar
#: guix-git/doc/guix.texi:40948
#, fuzzy, no-wrap
msgid "guix-build-coordinator-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:40951
#, fuzzy
msgid "Service type for the Guix Build Coordinator.  Its value must be a @code{guix-build-coordinator-configuration} object."
msgstr "Guix构建协调器的服务类型。其值必须是一个@code{guix-build-coordinator-configuration}对象。"

#. type: deftp
#: guix-git/doc/guix.texi:40953
#, fuzzy, no-wrap
msgid "{Data Type} guix-build-coordinator-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:40955
#, fuzzy
msgid "Data type representing the configuration of the Guix Build Coordinator."
msgstr "表示Guix构建协调器配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:40957
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{guix-build-coordinator})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:40959 guix-git/doc/guix.texi:41015
#, fuzzy
msgid "The Guix Build Coordinator package to use."
msgstr "要使用的Guix构建协调器包。"

#. type: item
#: guix-git/doc/guix.texi:40960
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"guix-build-coordinator\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:40963
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"guix-build-coordinator\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:40966
#, fuzzy, no-wrap
msgid "@code{database-uri-string} (default: @code{\"sqlite:///var/lib/guix-build-coordinator/guix_build_coordinator.db\"})"
msgstr "@code{database-uri-string}(默认值:@code{\"sqlite:///var/lib/guix-build-coordinator/guix_build_coordinator.db\"})"

#. type: table
#: guix-git/doc/guix.texi:40968
#, fuzzy
msgid "The URI to use for the database."
msgstr "用于数据库的URI。"

#. type: item
#: guix-git/doc/guix.texi:40969
#, fuzzy, no-wrap
msgid "@code{agent-communication-uri} (default: @code{\"http://0.0.0.0:8745\"})"
msgstr "@code{authentication-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40971
#, fuzzy
msgid "The URI describing how to listen to requests from agent processes."
msgstr "描述如何监听来自代理进程请求的URI。"

#. type: item
#: guix-git/doc/guix.texi:40972
#, fuzzy, no-wrap
msgid "@code{client-communication-uri} (default: @code{\"http://127.0.0.1:8746\"})"
msgstr "@code{authentication-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40976
#, fuzzy
msgid "The URI describing how to listen to requests from clients.  The client API allows submitting builds and currently isn't authenticated, so take care when configuring this value."
msgstr "描述如何监听来自客户端请求的URI。客户端API允许提交构建,目前没有身份验证,因此在配置此值时请小心。"

#. type: item
#: guix-git/doc/guix.texi:40977
#, fuzzy, no-wrap
msgid "@code{allocation-strategy} (default: @code{#~basic-build-allocation-strategy})"
msgstr "@code{allocation-strategy}(默认值:@code{#~basic-build-allocation-strategy})"

#. type: table
#: guix-git/doc/guix.texi:40981
#, fuzzy
msgid "A G-expression for the allocation strategy to be used.  This is a procedure that takes the datastore as an argument and populates the allocation plan in the database."
msgstr "用于分配策略的G表达式。这是一个将数据存储作为参数并填充数据库中分配计划的过程。"

#. type: item
#: guix-git/doc/guix.texi:40982
#, fuzzy, no-wrap
msgid "@code{hooks} (default: @var{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:40985
#, fuzzy
msgid "An association list of hooks.  These provide a way to execute arbitrary code upon certain events, like a build result being processed."
msgstr "钩子的关联列表。这些提供了一种在某些事件发生时执行任意代码的方法,例如处理构建结果。"

#. type: item
#: guix-git/doc/guix.texi:40986
#, fuzzy, no-wrap
msgid "@code{parallel-hooks} (default: @var{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:40990
#, fuzzy
msgid "Hooks can be configured to run in parallel.  This parameter is an association list of hooks to do in parallel, where the key is the symbol for the hook and the value is the number of threads to run."
msgstr "钩子可以配置为并行运行。此参数是一个钩子的关联列表,其中键是钩子的符号,值是要运行的线程数。"

#. type: item
#: guix-git/doc/guix.texi:40991
#, fuzzy, no-wrap
msgid "@code{listen-repl} (default: @var{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:40994
msgid "Port or filename to spawn a REPL listening on, pass @code{#t} to listen on the default port or @code{#f} to disable."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:40995
#, fuzzy, no-wrap
msgid "@code{guile} (default: @code{guile-3.0-latest})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:40997
#, fuzzy
msgid "The Guile package with which to run the Guix Build Coordinator."
msgstr "用于运行Guix构建协调器的Guile包。"

#. type: defvar
#: guix-git/doc/guix.texi:41004
#, fuzzy, no-wrap
msgid "guix-build-coordinator-agent-service-type"
msgstr "{数据类型} build-machine"

#. type: defvar
#: guix-git/doc/guix.texi:41007
#, fuzzy
msgid "Service type for a Guix Build Coordinator agent.  Its value must be a @code{guix-build-coordinator-agent-configuration} object."
msgstr "Guix构建协调器代理的服务类型。其值必须是一个@code{guix-build-coordinator-agent-configuration}对象。"

#. type: deftp
#: guix-git/doc/guix.texi:41009
#, fuzzy, no-wrap
msgid "{Data Type} guix-build-coordinator-agent-configuration"
msgstr "{数据类型} guix-build-coordinator-agent-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:41011
#, fuzzy
msgid "Data type representing the configuration a Guix Build Coordinator agent."
msgstr "表示Guix构建协调器代理配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:41013
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{guix-build-coordinator/agent-only})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:41016
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"guix-build-coordinator-agent\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:41019
#, fuzzy, no-wrap
msgid "@code{coordinator} (default: @code{\"http://localhost:8745\"})"
msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#. type: table
#: guix-git/doc/guix.texi:41021
#, fuzzy
msgid "The URI to use when connecting to the coordinator."
msgstr "连接到协调器时使用的 URI。"

#. type: code{#1}
#: guix-git/doc/guix.texi:41022
#, no-wrap
msgid "authentication"
msgstr "authentication"

#. type: table
#: guix-git/doc/guix.texi:41025
#, fuzzy
msgid "Record describing how this agent should authenticate with the coordinator.  Possible record types are described below."
msgstr "描述该代理如何与协调器进行身份验证的记录。可能的记录类型如下所述。"

#. type: item
#: guix-git/doc/guix.texi:41026
#, fuzzy, no-wrap
msgid "@code{systems} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41029
#, fuzzy
msgid "The systems for which this agent should fetch builds.  The agent process will use the current system it's running on as the default."
msgstr "该代理应获取构建的系统。代理进程将使用其运行的当前系统作为默认值。"

#. type: item
#: guix-git/doc/guix.texi:41030
#, fuzzy, no-wrap
msgid "@code{max-parallel-builds} (default: @code{#f})"
msgstr "@code{parallel-builds}(默认值:@code{1})"

#. type: table
#: guix-git/doc/guix.texi:41032
#, fuzzy
msgid "The number of builds to perform in parallel."
msgstr "那台机器上可以并行运行的构建任务数量。"

#. type: item
#: guix-git/doc/guix.texi:41033
#, fuzzy, no-wrap
msgid "@code{max-parallel-uploads} (default: @code{#f})"
msgstr "@code{parallel-builds}(默认值:@code{1})"

#. type: table
#: guix-git/doc/guix.texi:41035
#, fuzzy
msgid "The number of uploads to perform in parallel."
msgstr "那台机器上可以并行运行的构建任务数量。"

#. type: item
#: guix-git/doc/guix.texi:41036
#, fuzzy, no-wrap
msgid "@code{max-allocated-builds} (default: @code{#f})"
msgstr "@code{parallel-builds}(默认值:@code{1})"

#. type: table
#: guix-git/doc/guix.texi:41038
#, fuzzy
msgid "The maximum number of builds this agent can be allocated."
msgstr "那台机器上可以并行运行的构建任务数量。"

#. type: item
#: guix-git/doc/guix.texi:41039
#, fuzzy, no-wrap
msgid "@code{max-1min-load-average} (default: @code{#f})"
msgstr "@code{max-journal-usage}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41043
#, fuzzy
msgid "Load average value to look at when considering starting new builds, if the 1 minute load average exceeds this value, the agent will wait before starting new builds."
msgstr "在考虑启动新构建时要查看的负载平均值,如果 1 分钟负载平均值超过此值,代理将在启动新构建之前等待。"

#. type: table
#: guix-git/doc/guix.texi:41047
#, fuzzy
msgid "This will be unspecified if the value is @code{#f}, and the agent will use the number of cores reported by the system as the max 1 minute load average."
msgstr "如果值为 @code{#f},则此值将未指定,代理将使用系统报告的核心数作为最大 1 分钟负载平均值。"

#. type: item
#: guix-git/doc/guix.texi:41048
#, fuzzy, no-wrap
msgid "@code{derivation-substitute-urls} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41051
#, fuzzy
msgid "URLs from which to attempt to fetch substitutes for derivations, if the derivations aren't already available."
msgstr "尝试从中获取衍生物替代品的 URL,如果衍生物尚不可用。"

#. type: item
#: guix-git/doc/guix.texi:41052
#, fuzzy, no-wrap
msgid "@code{non-derivation-substitute-urls} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41055
#, fuzzy
msgid "URLs from which to attempt to fetch substitutes for build inputs, if the input store items aren't already available."
msgstr "尝试从中获取构建输入替代品的 URL,如果输入存储项尚不可用。"

#. type: item
#: guix-git/doc/guix.texi:41056 guix-git/doc/guix.texi:41171
#, fuzzy, no-wrap
msgid "@code{extra-options} (default: @var{'()})"
msgstr "@code{extra-options}(默认值:@var{'()})"

#. type: table
#: guix-git/doc/guix.texi:41058
#, fuzzy
msgid "Extra command line options for @code{guix-build-coordinator-agent}."
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: deftp
#: guix-git/doc/guix.texi:41061
#, fuzzy, no-wrap
msgid "{Data Type} guix-build-coordinator-agent-password-auth"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:41064
#, fuzzy
msgid "Data type representing an agent authenticating with a coordinator via a UUID and password."
msgstr "表示通过 UUID 和密码与协调器进行身份验证的代理的数据类型。"

#. type: table
#: guix-git/doc/guix.texi:41070 guix-git/doc/guix.texi:41086
#, fuzzy
msgid "The UUID of the agent.  This should be generated by the coordinator process, stored in the coordinator database, and used by the intended agent."
msgstr "代理的 UUID。应由协调器进程生成,存储在协调器数据库中,并由预期的代理使用。"

#. type: table
#: guix-git/doc/guix.texi:41073
#, fuzzy
msgid "The password to use when connecting to the coordinator."
msgstr "连接到协调器时使用的密码。"

#. type: deftp
#: guix-git/doc/guix.texi:41077
#, fuzzy, no-wrap
msgid "{Data Type} guix-build-coordinator-agent-password-file-auth"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:41080
#, fuzzy
msgid "Data type representing an agent authenticating with a coordinator via a UUID and password read from a file."
msgstr "表示通过从文件读取的 UUID 和密码与协调器进行身份验证的代理的数据类型。"

#. type: code{#1}
#: guix-git/doc/guix.texi:41087
#, fuzzy, no-wrap
msgid "password-file"
msgstr "密码文件"

#. type: table
#: guix-git/doc/guix.texi:41090
#, fuzzy
msgid "A file containing the password to use when connecting to the coordinator."
msgstr "包含连接到协调器时使用的密码的文件。"

#. type: deftp
#: guix-git/doc/guix.texi:41094
#, fuzzy, no-wrap
msgid "{Data Type} guix-build-coordinator-agent-dynamic-auth"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:41097
#, fuzzy
msgid "Data type representing an agent authenticating with a coordinator via a dynamic auth token and agent name."
msgstr "表示通过动态身份验证令牌和代理名称与协调器进行身份验证的代理的数据类型。"

#. type: code{#1}
#: guix-git/doc/guix.texi:41099 guix-git/doc/guix.texi:41116
#, fuzzy, no-wrap
msgid "agent-name"
msgstr "通道"

#. type: table
#: guix-git/doc/guix.texi:41103 guix-git/doc/guix.texi:41120
#, fuzzy
msgid "Name of an agent, this is used to match up to an existing entry in the database if there is one.  When no existing entry is found, a new entry is automatically added."
msgstr "代理的名称,用于与数据库中现有条目匹配。如果未找到现有条目,则会自动添加新条目。"

#. type: code{#1}
#: guix-git/doc/guix.texi:41104
#, fuzzy, no-wrap
msgid "token"
msgstr "令牌"

#. type: table
#: guix-git/doc/guix.texi:41107
#, fuzzy
msgid "Dynamic auth token, this is created and stored in the coordinator database, and is used by the agent to authenticate."
msgstr "动态身份验证令牌,该令牌在协调器数据库中创建并存储,由代理用于身份验证。"

#. type: deftp
#: guix-git/doc/guix.texi:41111
#, fuzzy, no-wrap
msgid "{Data Type} guix-build-coordinator-agent-dynamic-auth-with-file"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:41114
#, fuzzy
msgid "Data type representing an agent authenticating with a coordinator via a dynamic auth token read from a file and agent name."
msgstr "表示通过从文件读取的动态身份验证令牌和代理名称与协调器进行身份验证的代理的数据类型。"

#. type: code{#1}
#: guix-git/doc/guix.texi:41121
#, fuzzy, no-wrap
msgid "token-file"
msgstr "令牌文件"

#. type: table
#: guix-git/doc/guix.texi:41124
#, fuzzy
msgid "File containing the dynamic auth token, this is created and stored in the coordinator database, and is used by the agent to authenticate."
msgstr "包含动态身份验证令牌的文件,该令牌在协调器数据库中创建并存储,由代理用于身份验证。"

#. type: subsubheading
#: guix-git/doc/guix.texi:41128
#, fuzzy, no-wrap
msgid "Guix Data Service"
msgstr "数据库服务"

#. type: Plain text
#: guix-git/doc/guix.texi:41132
#, fuzzy
msgid "The @uref{http://data.guix.gnu.org,Guix Data Service} processes, stores and provides data about GNU Guix.  This includes information about packages, derivations and lint warnings."
msgstr "@uref{http://data.guix.gnu.org,Guix 数据服务} 处理、存储并提供有关 GNU Guix 的数据。这包括有关软件包、派生和 lint 警告的信息。"

#. type: Plain text
#: guix-git/doc/guix.texi:41135
#, fuzzy
msgid "The data is stored in a PostgreSQL database, and available through a web interface."
msgstr "数据存储在 PostgreSQL 数据库中,并通过 Web 界面提供。"

#. type: defvar
#: guix-git/doc/guix.texi:41136
#, fuzzy, no-wrap
msgid "guix-data-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41141
#, fuzzy
msgid "Service type for the Guix Data Service.  Its value must be a @code{guix-data-service-configuration} object.  The service optionally extends the getmail service, as the guix-commits mailing list is used to find out about changes in the Guix git repository."
msgstr "Guix 数据服务的服务类型。其值必须是一个 @code{guix-data-service-configuration} 对象。该服务可选地扩展 getmail 服务,因为 guix-commits 邮件列表用于了解 Guix git 仓库中的更改。"

#. type: deftp
#: guix-git/doc/guix.texi:41143
#, fuzzy, no-wrap
msgid "{Data Type} guix-data-service-configuration"
msgstr "{数据类型} guix-data-service-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:41145 guix-git/doc/guix.texi:41237
#, fuzzy
msgid "Data type representing the configuration of the Guix Data Service."
msgstr "表示 Guix 数据服务配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:41147
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{guix-data-service})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:41149
#, fuzzy
msgid "The Guix Data Service package to use."
msgstr "要使用的 Guix 数据服务包。"

#. type: item
#: guix-git/doc/guix.texi:41150
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"guix-data-service\"})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: item
#: guix-git/doc/guix.texi:41153
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"guix-data-service\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:41156
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{8765})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41158
#, fuzzy
msgid "The port to bind the web service to."
msgstr "rottlog服务。"

#. type: table
#: guix-git/doc/guix.texi:41161
#, fuzzy
msgid "The host to bind the web service to."
msgstr "rottlog服务。"

#. type: item
#: guix-git/doc/guix.texi:41162
#, fuzzy, no-wrap
msgid "@code{getmail-idle-mailboxes} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41165
#, fuzzy
msgid "If set, this is the list of mailboxes that the getmail service will be configured to listen to."
msgstr "如果设置,这是 getmail 服务将配置为监听的邮箱列表。"

#. type: item
#: guix-git/doc/guix.texi:41166
#, fuzzy, no-wrap
msgid "@code{commits-getmail-retriever-configuration} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41170
#, fuzzy
msgid "If set, this is the @code{getmail-retriever-configuration} object with which to configure getmail to fetch mail from the guix-commits mailing list."
msgstr "如果设置,这是 @code{getmail-retriever-configuration} 对象,用于配置 getmail 从 guix-commits 邮件列表中获取邮件。"

#. type: table
#: guix-git/doc/guix.texi:41173
#, fuzzy
msgid "Extra command line options for @code{guix-data-service}."
msgstr "@code{guix-data-service} 的额外命令行选项。"

#. type: item
#: guix-git/doc/guix.texi:41174
#, fuzzy, no-wrap
msgid "@code{extra-process-jobs-options} (default: @var{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:41176
#, fuzzy
msgid "Extra command line options for @code{guix-data-service-process-jobs}."
msgstr "@code{guix-data-service-process-jobs} 的额外命令行选项。"

#. type: item
#: guix-git/doc/guix.texi:41177
#, fuzzy, no-wrap
msgid "@code{git-repositories} (default: @var{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41179
#, fuzzy
msgid "List of git-repository information to insert into the database."
msgstr "要插入数据库的 git 仓库信息列表。"

#. type: item
#: guix-git/doc/guix.texi:41180
#, fuzzy, no-wrap
msgid "@code{build-servers} (default: @var{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41182
#, fuzzy
msgid "List of build-server information to insert into the database."
msgstr "mcron服务。"

#. type: defvar
#: guix-git/doc/guix.texi:41187 guix-git/doc/guix.texi:41196
#, fuzzy, no-wrap
msgid "guix-home-service-type"
msgstr "邮件服务"

#. type: subsubheading
#: guix-git/doc/guix.texi:41187
#, fuzzy, no-wrap
msgid "Guix Home Service"
msgstr "游戏服务"

#. type: Plain text
#: guix-git/doc/guix.texi:41195
#, fuzzy
msgid "The Guix Home service is a way to let Guix System deploy the home environment of one or more users (@pxref{Home Configuration}, for more on Guix Home).  That way, the system configuration embeds declarations of the home environment of those users and can be used to deploy everything consistently at once, saving users the need to run @command{guix home reconfigure} independently."
msgstr "Guix Home 服务是一种让 Guix 系统部署一个或多个用户的家庭环境的方法(@pxref{家庭配置},有关 Guix Home 的更多信息)。这样,系统配置嵌入了这些用户家庭环境的声明,并可以用于一致地一次性部署所有内容,节省用户独立运行 @command{guix home reconfigure} 的需要。"

#. type: defvar
#: guix-git/doc/guix.texi:41201
#, fuzzy
msgid "Service type for the Guix Home service.  Its value must be a list of lists containing user and home environment pairs.  The key of each pair is a string representing the user to deploy the configuration under and the value is a home-environment configuration."
msgstr "Guix Home 服务的服务类型。其值必须是包含用户和家庭环境对的列表的列表。每对的键是一个表示要在其下部署配置的用户的字符串,值是一个家庭环境配置。"

#. type: lisp
#: guix-git/doc/guix.texi:41204
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu home))\n"
"\n"
msgstr ""
"(use-modules (gnu packages base))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:41208
#, fuzzy, no-wrap
msgid ""
"(define my-home\n"
"  (home-environment\n"
"    @dots{}))\n"
"\n"
msgstr ""
"(define my-home\n"
"  (home-environment\n"
"    @dots{}))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:41213
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  (services (append (list (service guix-home-service-type\n"
"                                   `((\"alice\" ,my-home))))\n"
"                    %base-services)))\n"
msgstr ""
"(operating-system\n"
"  (services (append (list (service guix-home-service-type\n"
"                                   `((\"alice\" ,my-home))))\n"
"                    %base-services)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:41217
#, fuzzy
msgid "This service can be extended by other services to add additional home environments, as in this example:"
msgstr "该服务可以通过其他服务扩展,以添加额外的家庭环境,如以下示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:41221
#, fuzzy, no-wrap
msgid ""
"(simple-service 'my-extra-home guix-home-service-type\n"
"                `((\"bob\" ,my-extra-home)))\n"
msgstr ""
"(simple-service 'my-extra-home guix-home-service-type\n"
"                `((\"bob\" ,my-extra-home)))\n"

#. type: subsubheading
#: guix-git/doc/guix.texi:41224
#, fuzzy, no-wrap
msgid "Nar Herder"
msgstr "纳尔驯兽师"

#. type: Plain text
#: guix-git/doc/guix.texi:41227
#, fuzzy
msgid "The @uref{https://git.cbaines.net/guix/nar-herder/about/,Nar Herder} is a utility for managing a collection of nars."
msgstr "@uref{https://git.cbaines.net/guix/nar-herder/about/,纳尔驯兽师} 是一个用于管理一组 nars 的工具。"

#. type: defvar
#: guix-git/doc/guix.texi:41228
#, fuzzy, no-wrap
msgid "nar-herder-type"
msgstr "nar-herder-type"

#. type: defvar
#: guix-git/doc/guix.texi:41233
#, fuzzy
msgid "Service type for the Guix Data Service.  Its value must be a @code{nar-herder-configuration} object.  The service optionally extends the getmail service, as the guix-commits mailing list is used to find out about changes in the Guix git repository."
msgstr "Guix 数据服务的服务类型。它的值必须是一个 @code{nar-herder-configuration} 对象。该服务可选地扩展 getmail 服务,因为 guix-commits 邮件列表用于了解 Guix git 仓库中的更改。"

#. type: deftp
#: guix-git/doc/guix.texi:41235
#, fuzzy, no-wrap
msgid "{Data Type} nar-herder-configuration"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:41239
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{nar-herder})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41241
#, fuzzy
msgid "The Nar Herder package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:41242
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"nar-herder\"})"
msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#. type: item
#: guix-git/doc/guix.texi:41245
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"nar-herder\"})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: item
#: guix-git/doc/guix.texi:41248
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{8734})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41253
#, fuzzy
msgid "The host to bind the server to."
msgstr "rottlog服务。"

#. type: table
#: guix-git/doc/guix.texi:41258
#, fuzzy
msgid "Optional URL of the other Nar Herder instance which should be mirrored.  This means that this Nar Herder instance will download it's database, and keep it up to date."
msgstr "应镜像的其他纳尔驯兽师实例的可选 URL。这意味着此纳尔驯兽师实例将下载其数据库,并保持更新。"

#. type: item
#: guix-git/doc/guix.texi:41259
#, fuzzy, no-wrap
msgid "@code{database} (default: @code{\"/var/lib/nar-herder/nar_herder.db\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:41264
#, fuzzy
msgid "Location for the database.  If this Nar Herder instance is mirroring another, the database will be downloaded if it doesn't exist.  If this Nar Herder instance isn't mirroring another, an empty database will be created."
msgstr "数据库的位置。如果此纳尔驯兽师实例正在镜像另一个实例,则如果数据库不存在,将下载该数据库。如果此纳尔驯兽师实例不镜像另一个实例,将创建一个空数据库。"

#. type: item
#: guix-git/doc/guix.texi:41265
#, fuzzy, no-wrap
msgid "@code{database-dump} (default: @code{\"/var/lib/nar-herder/nar_herder_dump.db\"})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:41269
#, fuzzy
msgid "Location of the database dump.  This is created and regularly updated by taking a copy of the database.  This is the version of the database that is available to download."
msgstr "数据库转储的位置。这是通过复制数据库创建并定期更新的。这是可供下载的数据库版本。"

#. type: item
#: guix-git/doc/guix.texi:41270
#, fuzzy, no-wrap
msgid "@code{storage} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41272
#, fuzzy
msgid "Optional location in which to store nars."
msgstr "存储 nars 的可选位置。"

#. type: item
#: guix-git/doc/guix.texi:41273
#, fuzzy, no-wrap
msgid "@code{storage-limit} (default: @code{\"none\"})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41276
#, fuzzy
msgid "Limit in bytes for the nars stored in the storage location.  This can also be set to ``none'' so that there is no limit."
msgstr "存储位置中存储的 nars 的字节限制。也可以设置为“none”,以便没有限制。"

#. type: table
#: guix-git/doc/guix.texi:41279
#, fuzzy
msgid "When the storage location exceeds this size, nars are removed according to the nar removal criteria."
msgstr "当存储位置超过此大小时,将根据 nar 删除标准删除 nars。"

#. type: item
#: guix-git/doc/guix.texi:41280
#, fuzzy, no-wrap
msgid "@code{storage-nar-removal-criteria} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:41283
#, fuzzy
msgid "Criteria used to remove nars from the storage location.  These are used in conjunction with the storage limit."
msgstr "用于从存储位置删除 nars 的标准。这些标准与存储限制一起使用。"

#. type: table
#: guix-git/doc/guix.texi:41288
#, fuzzy
msgid "When the storage location exceeds the storage limit size, nars will be checked against the nar removal criteria and if any of the criteria match, they will be removed.  This will continue until the storage location is below the storage limit size."
msgstr "当存储位置超过存储限制大小时,将根据 nar 删除标准检查 nars,如果任何标准匹配,则将其删除。这将持续进行,直到存储位置低于存储限制大小。"

#. type: table
#: guix-git/doc/guix.texi:41292
#, fuzzy
msgid "Each criteria is specified by a string, then an equals sign, then another string. Currently, only one criteria is supported, checking if a nar is stored on another Nar Herder instance."
msgstr "每个标准由一个字符串指定,然后是一个等号,然后是另一个字符串。目前,仅支持一个标准,检查 nar 是否存储在另一个纳尔驯兽师实例上。"

#. type: table
#: guix-git/doc/guix.texi:41300
#, fuzzy
msgid "This allows the user's Guix to keep substitute information in cache for @var{ttl}."
msgstr "这允许用户的 Guix 在 @var{ttl} 中缓存替代信息。"

#. type: item
#: guix-git/doc/guix.texi:41301 guix-git/doc/guix.texi:41369
#, fuzzy, no-wrap
msgid "@code{new-ttl} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41305
#, fuzzy
msgid "If specified, this will override the @code{ttl} setting when used for the @code{Cache-Control} headers, but this value will be used when scheduling the removal of nars."
msgstr "如果指定,这将覆盖用于 @code{Cache-Control} 头的 @code{ttl} 设置,但在调度 nars 的删除时将使用此值。"

#. type: table
#: guix-git/doc/guix.texi:41308
#, fuzzy
msgid "Use this setting when the TTL is being reduced to avoid removing nars while clients still have cached narinfos."
msgstr "在减少 TTL 时使用此设置,以避免在客户端仍然缓存 narinfos 时删除 nars。"

#. type: item
#: guix-git/doc/guix.texi:41315
#, fuzzy, no-wrap
msgid "@code{log-level} (default: @code{'DEBUG})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:41318
#, fuzzy
msgid "Log level to use, specify a log level like @code{'INFO} to stop logging individual requests."
msgstr "要使用的日志级别,指定一个日志级别,例如 @code{'INFO} 以停止记录单个请求。"

#. type: item
#: guix-git/doc/guix.texi:41319
#, fuzzy, no-wrap
msgid "@code{cached-compressions} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:41323
#, fuzzy
msgid "Activate generating cached nars with different compression details from the stored nars.  This is a list of nar-herder-cached-compression-configuration records."
msgstr "激活生成与存储的 nars 具有不同压缩细节的缓存 nars。这是 nar-herder-cached-compression-configuration 记录的列表。"

#. type: item
#: guix-git/doc/guix.texi:41324
#, fuzzy, no-wrap
msgid "@code{min-uses} (default: @code{3})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41327
#, fuzzy
msgid "When cached-compressions are enabled, generate cached nars when at least this number of requests are made for a nar."
msgstr "当启用缓存压缩时,当对一个 nar 发出至少此数量的请求时生成缓存 nars。"

#. type: item
#: guix-git/doc/guix.texi:41328
#, fuzzy, no-wrap
msgid "@code{workers} (default: @code{2})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:41330
#, fuzzy
msgid "Number of cached nars to generate at a time."
msgstr "一次生成的缓存 nars 数量。"

#. type: item
#: guix-git/doc/guix.texi:41331
#, fuzzy, no-wrap
msgid "@code{nar-source} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41334
#, fuzzy
msgid "Location to fetch nars from when computing cached compressions.  By default, the storage location will be used."
msgstr "在计算缓存压缩时,从何处获取 nars。默认情况下,将使用存储位置。"

#. type: item
#: guix-git/doc/guix.texi:41335
#, fuzzy, no-wrap
msgid "@code{extra-environment-variables} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: deftp
#: guix-git/doc/guix.texi:41341
#, fuzzy, no-wrap
msgid "{Data Type} nar-herder-cached-compression-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:41343
#, fuzzy
msgid "Data type representing the cached compression configuration."
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:41347
#, fuzzy
msgid "Type of compression to use, e.g. @code{'zstd}."
msgstr "要使用的压缩类型,例如 @code{'zstd}。"

#. type: table
#: guix-git/doc/guix.texi:41350
#, fuzzy
msgid "Level of the compression to use."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:41351
#, fuzzy, no-wrap
msgid "@code{directory} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41354
#, fuzzy
msgid "Location to store the cached nars.  If unspecified, they will be stored in /var/cache/nar-herder/nar/TYPE."
msgstr "存储缓存 nars 的位置。如果未指定,它们将存储在 /var/cache/nar-herder/nar/TYPE 中。"

#. type: item
#: guix-git/doc/guix.texi:41355
#, fuzzy, no-wrap
msgid "@code{directory-max-size} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41357
#, fuzzy
msgid "Maximum size in bytes of the directory."
msgstr "目录的最大字节大小。"

#. type: item
#: guix-git/doc/guix.texi:41358
#, fuzzy, no-wrap
msgid "@code{unused-removal-duration} (default: @code{#f})"
msgstr "@code{max-journal-depth}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41361
#, fuzzy
msgid "If a cached nar isn't used for @code{unused-removal-duration}, it will be scheduled for removal."
msgstr "如果缓存 nar 在 @code{unused-removal-duration} 内未被使用,它将被安排删除。"

#. type: table
#: guix-git/doc/guix.texi:41364
#, fuzzy
msgid "@var{unused-removal-duration} must denote a duration: @code{5d} means 5 days, @code{1m} means 1 month, and so on."
msgstr "@var{unused-removal-duration} 必须表示一个持续时间:@code{5d} 表示 5 天,@code{1m} 表示 1 个月,等等。"

#. type: table
#: guix-git/doc/guix.texi:41368
#, fuzzy
msgid "If specified this overrides the @code{ttl} used for narinfos when this cached compression is available."
msgstr "如果指定,这将覆盖在此缓存压缩可用时用于 narinfos 的 @code{ttl}。"

#. type: table
#: guix-git/doc/guix.texi:41372
#, fuzzy
msgid "As with the @code{new-ttl} option for @code{nar-herder-configuration}, this value will override the @code{ttl} when used for narinfo requests."
msgstr "与 @code{nar-herder-configuration} 的 @code{new-ttl} 选项一样,当用于 narinfo 请求时,此值将覆盖 @code{ttl}。"

#. type: cindex
#: guix-git/doc/guix.texi:41379
#, fuzzy, no-wrap
msgid "oom"
msgstr "oom"

#. type: cindex
#: guix-git/doc/guix.texi:41380
#, fuzzy, no-wrap
msgid "out of memory killer"
msgstr "内存不足杀手"

#. type: cindex
#: guix-git/doc/guix.texi:41381
#, fuzzy, no-wrap
msgid "earlyoom"
msgstr "earlyoom"

#. type: cindex
#: guix-git/doc/guix.texi:41382
#, fuzzy, no-wrap
msgid "early out of memory daemon"
msgstr "早期内存不足守护进程"

#. type: subsubheading
#: guix-git/doc/guix.texi:41383
#, fuzzy, no-wrap
msgid "Early OOM Service"
msgstr "邮件服务"

#. type: Plain text
#: guix-git/doc/guix.texi:41390
#, fuzzy
msgid "@uref{https://github.com/rfjakob/earlyoom,Early OOM}, also known as Earlyoom, is a minimalist out of memory (OOM) daemon that runs in user space and provides a more responsive and configurable alternative to the in-kernel OOM killer.  It is useful to prevent the system from becoming unresponsive when it runs out of memory."
msgstr "@uref{https://github.com/rfjakob/earlyoom,Early OOM},也称为 Earlyoom,是一个在用户空间运行的极简内存不足 (OOM) 守护进程,提供比内核 OOM 杀手更具响应性和可配置性的替代方案。它有助于防止系统在内存不足时变得无响应。"

#. type: defvar
#: guix-git/doc/guix.texi:41391
#, fuzzy, no-wrap
msgid "earlyoom-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41396
#, fuzzy
msgid "The service type for running @command{earlyoom}, the Early OOM daemon.  Its value must be a @code{earlyoom-configuration} object, described below.  The service can be instantiated in its default configuration with:"
msgstr "运行 @command{earlyoom} 的服务类型,即 Early OOM 守护进程。其值必须是一个 @code{earlyoom-configuration} 对象,下面将描述。该服务可以使用默认配置实例化:"

#. type: lisp
#: guix-git/doc/guix.texi:41399
#, fuzzy, no-wrap
msgid "(service earlyoom-service-type)\n"
msgstr "(service earlyoom-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:41402
#, fuzzy, no-wrap
msgid "{Data Type} earlyoom-configuration"
msgstr "{数据类型} earlyoom-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:41404
#, fuzzy
msgid "This is the configuration record for the @code{earlyoom-service-type}."
msgstr "这是 @code{earlyoom-service-type} 的配置记录。"

#. type: item
#: guix-git/doc/guix.texi:41406
#, fuzzy, no-wrap
msgid "@code{earlyoom} (default: @var{earlyoom})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:41408
#, fuzzy
msgid "The Earlyoom package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:41409
#, fuzzy, no-wrap
msgid "@code{minimum-available-memory} (default: @code{10})"
msgstr "@code{parallel-builds}(默认值:@code{1})"

#. type: table
#: guix-git/doc/guix.texi:41411
#, fuzzy
msgid "The threshold for the minimum @emph{available} memory, in percentages."
msgstr "可用内存的最小阈值,以百分比表示。"

#. type: item
#: guix-git/doc/guix.texi:41412
#, fuzzy, no-wrap
msgid "@code{minimum-free-swap} (default: @code{10})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:41414
#, fuzzy
msgid "The threshold for the minimum free swap memory, in percentages."
msgstr "最小空闲交换内存的阈值,以百分比表示。"

#. type: item
#: guix-git/doc/guix.texi:41415
#, fuzzy, no-wrap
msgid "@code{prefer-regexp} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41418
#, fuzzy
msgid "A regular expression (as a string) to match the names of the processes that should be preferably killed."
msgstr "一个正则表达式(作为字符串),用于匹配应该优先终止的进程名称。"

#. type: item
#: guix-git/doc/guix.texi:41419
#, fuzzy, no-wrap
msgid "@code{avoid-regexp} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41422
#, fuzzy
msgid "A regular expression (as a string) to match the names of the processes that should @emph{not} be killed."
msgstr "一个正则表达式(作为字符串),用于匹配不应该被终止的进程名称。"

#. type: item
#: guix-git/doc/guix.texi:41423
#, fuzzy, no-wrap
msgid "@code{memory-report-interval} (default: @code{0})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41426
#, fuzzy
msgid "The interval in seconds at which a memory report is printed.  It is disabled by default."
msgstr "打印内存报告的时间间隔(以秒为单位)。默认情况下是禁用的。"

#. type: item
#: guix-git/doc/guix.texi:41427
#, fuzzy, no-wrap
msgid "@code{ignore-positive-oom-score-adj?} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41430
#, fuzzy
msgid "A boolean indicating whether the positive adjustments set in @file{/proc/*/oom_score_adj} should be ignored."
msgstr "一个布尔值,指示是否应忽略在 @file{/proc/*/oom_score_adj} 中设置的正向调整。"

#. type: item
#: guix-git/doc/guix.texi:41431
#, fuzzy, no-wrap
msgid "@code{show-debug-messages?} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41434
#, fuzzy
msgid "A boolean indicating whether debug messages should be printed.  The logs are saved at @file{/var/log/earlyoom.log}."
msgstr "一个布尔值,指示是否应打印调试消息。日志保存在 @file{/var/log/earlyoom.log} 中。"

#. type: item
#: guix-git/doc/guix.texi:41435
#, fuzzy, no-wrap
msgid "@code{send-notification-command} (default: @code{#f})"
msgstr "@code{authentication-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41438
#, fuzzy
msgid "This can be used to provide a custom command used for sending notifications."
msgstr "这可以用于提供用于发送通知的自定义命令。"

#. type: subsubheading
#: guix-git/doc/guix.texi:41441
#, fuzzy, no-wrap
msgid "fstrim Service"
msgstr "邮件服务"

#. type: cindex
#: guix-git/doc/guix.texi:41442
#, fuzzy, no-wrap
msgid "fstrim service"
msgstr "DNS服务"

#. type: cindex
#: guix-git/doc/guix.texi:41443
#, fuzzy, no-wrap
msgid "solid state drives, periodic trim"
msgstr "固态硬盘,定期修剪"

#. type: cindex
#: guix-git/doc/guix.texi:41444
#, fuzzy, no-wrap
msgid "solid state drives, trim"
msgstr "固态硬盘,修剪"

#. type: Plain text
#: guix-git/doc/guix.texi:41448
#, fuzzy
msgid "The command @command{fstrim} can be used to discard (or @dfn{trim})  unused blocks on a mounted file system."
msgstr "命令 @command{fstrim} 可用于丢弃(或 @dfn{修剪})已挂载文件系统上的未使用块。"

#. type: quotation
#: guix-git/doc/guix.texi:41457
#, fuzzy
msgid "Running @command{fstrim} frequently, or even using @command{mount -o discard}, might negatively affect the lifetime of poor-quality SSD devices.  For most desktop and server systems a sufficient trimming frequency is once a week.  Note that not all devices support a queued trim, so each trim command incurs a performance penalty on whatever else might be trying to use the disk at the time."
msgstr "频繁运行 @command{fstrim},甚至使用 @command{mount -o discard},可能会对低质量 SSD 设备的使用寿命产生负面影响。对于大多数桌面和服务器系统,足够的修剪频率是每周一次。请注意,并非所有设备都支持排队修剪,因此每个修剪命令都会对当时可能尝试使用磁盘的其他操作产生性能损失。"

#. type: defvar
#: guix-git/doc/guix.texi:41459
#, fuzzy, no-wrap
msgid "fstrim-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41463
#, fuzzy
msgid "Type for a service that periodically runs @command{fstrim}, whose value must be an @code{<fstrim-configuration>} object.  The service can be instantiated in its default configuration with:"
msgstr "一个服务的类型,该服务定期运行 @command{fstrim},其值必须是 @code{<fstrim-configuration>} 对象。该服务可以使用默认配置实例化:"

#. type: lisp
#: guix-git/doc/guix.texi:41466
#, fuzzy, no-wrap
msgid "(service fstrim-service-type)\n"
msgstr "(service home-znc-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:41470
#, fuzzy, no-wrap
msgid "{Data Type} fstrim-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:41472
#, fuzzy
msgid "Available @code{fstrim-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:41474
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{util-linux}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:41476
#, fuzzy
msgid "The package providing the @command{fstrim} command."
msgstr "软件包管理命令。"

#. type: item
#: guix-git/doc/guix.texi:41477
#, fuzzy, no-wrap
msgid "@code{schedule} (default: @code{\"0 0 * * 0\"}) (type: mcron-time)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:41482
#, fuzzy
msgid "Schedule for launching @command{fstrim}.  This can be a procedure, a list or a string.  For additional information, see @ref{Guile Syntax,,Job specification,mcron,the mcron manual}.  By default this is set to run weekly on Sunday at 00:00."
msgstr "启动 @command{fstrim} 的计划。这可以是一个过程、一个列表或一个字符串。有关更多信息,请参见 @ref{Guile Syntax,,Job specification,mcron,the mcron manual}。默认情况下,这设置为每周在星期日的 00:00 运行。"

#. type: item
#: guix-git/doc/guix.texi:41483
#, fuzzy, no-wrap
msgid "@code{listed-in} (default: @code{'(\"/etc/fstab\" \"/proc/self/mountinfo\")}) (type: maybe-list-of-strings)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:41488
#, fuzzy
msgid "List of files in fstab or kernel mountinfo format.  All missing or empty files are silently ignored.  The evaluation of the list @emph{stops} after the first non-empty file.  File systems with @code{X-fstrim.notrim} mount option in fstab are skipped."
msgstr "fstab 或内核 mountinfo 格式的文件列表。所有缺失或空的文件将被静默忽略。列表的评估在第一个非空文件后 @emph{停止}。在 fstab 中具有 @code{X-fstrim.notrim} 挂载选项的文件系统将被跳过。"

#. type: item
#: guix-git/doc/guix.texi:41489
#, fuzzy, no-wrap
msgid "@code{verbose?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41491
#, fuzzy
msgid "Verbose execution."
msgstr "详细执行。"

#. type: item
#: guix-git/doc/guix.texi:41492
#, fuzzy, no-wrap
msgid "@code{quiet-unsupported?} (default: @code{#t}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:41494
#, fuzzy
msgid "Suppress error messages if trim operation (ioctl) is unsupported."
msgstr "如果不支持修剪操作(ioctl),则抑制错误消息。"

#. type: item
#: guix-git/doc/guix.texi:41495
#, fuzzy, no-wrap
msgid "@code{extra-arguments} (type: maybe-list-of-strings)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41498
#, fuzzy
msgid "Extra options to append to @command{fstrim} (run @samp{man fstrim} for more information)."
msgstr "附加到 @command{fstrim} 的额外选项(运行 @samp{man fstrim} 获取更多信息)。"

#. type: cindex
#: guix-git/doc/guix.texi:41503
#, fuzzy, no-wrap
msgid "modprobe"
msgstr "modprobe"

#. type: cindex
#: guix-git/doc/guix.texi:41504
#, fuzzy, no-wrap
msgid "kernel module loader"
msgstr "内核模块加载器"

#. type: subsubheading
#: guix-git/doc/guix.texi:41505
#, fuzzy, no-wrap
msgid "Kernel Module Loader Service"
msgstr "内核模块加载器服务"

#. type: Plain text
#: guix-git/doc/guix.texi:41511
#, fuzzy
msgid "The kernel module loader service allows one to load loadable kernel modules at boot.  This is especially useful for modules that don't autoload and need to be manually loaded, as is the case with @code{ddcci}."
msgstr "内核模块加载器服务允许在启动时加载可加载的内核模块。这对于那些不自动加载且需要手动加载的模块尤其有用,例如 @code{ddcci}。"

#. type: defvar
#: guix-git/doc/guix.texi:41512
#, fuzzy, no-wrap
msgid "kernel-module-loader-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41518
#, fuzzy
msgid "The service type for loading loadable kernel modules at boot with @command{modprobe}.  Its value must be a list of strings representing module names.  For example loading the drivers provided by @code{ddcci-driver-linux}, in debugging mode by passing some module parameters, can be done as follow:"
msgstr "用于在启动时通过 @command{modprobe} 加载可加载内核模块的服务类型。其值必须是表示模块名称的字符串列表。例如,通过传递一些模块参数以调试模式加载 @code{ddcci-driver-linux} 提供的驱动程序,可以如下进行:"

#. type: lisp
#: guix-git/doc/guix.texi:41523
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu) (gnu services))\n"
"(use-package-modules linux)\n"
"(use-service-modules linux)\n"
"\n"
msgstr ""
"(use-modules (gnu) (gnu services))\n"
"(use-package-modules linux)\n"
"(use-service-modules linux)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:41527
#, fuzzy, no-wrap
msgid ""
"(define ddcci-config\n"
"  (plain-file \"ddcci.conf\"\n"
"              \"options ddcci dyndbg delay=120\"))\n"
"\n"
msgstr ""
"(define ddcci-config\n"
"  (plain-file \"ddcci.conf\"\n"
"              \"options ddcci dyndbg delay=120\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:41537
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ...\n"
"  (services (cons* (service kernel-module-loader-service-type\n"
"                            '(\"ddcci\" \"ddcci_backlight\"))\n"
"                   (simple-service 'ddcci-config etc-service-type\n"
"                                   (list `(\"modprobe.d/ddcci.conf\"\n"
"                                           ,ddcci-config)))\n"
"                   %base-services))\n"
"  (kernel-loadable-modules (list ddcci-driver-linux)))\n"
msgstr ""
"(operating-system\n"
"  ...\n"
"  (services (cons* (service kernel-module-loader-service-type\n"
"                            '(\"ddcci\" \"ddcci_backlight\"))\n"
"                   (simple-service 'ddcci-config etc-service-type\n"
"                                   (list `(\"modprobe.d/ddcci.conf\"\n"
"                                           ,ddcci-config)))\n"
"                   %base-services))\n"
"  (kernel-loadable-modules (list ddcci-driver-linux)))\n"

#. type: subsubheading
#: guix-git/doc/guix.texi:41540
#, fuzzy, no-wrap
msgid "Cachefilesd Service"
msgstr "证书服务"

#. type: cindex
#: guix-git/doc/guix.texi:41542
#, fuzzy, no-wrap
msgid "cachefilesd"
msgstr "--cache-failures"

#. type: cindex
#: guix-git/doc/guix.texi:41543
#, fuzzy, no-wrap
msgid "fscache, file system caching (Linux)"
msgstr "fscache,文件系统缓存(Linux)"

#. type: Plain text
#: guix-git/doc/guix.texi:41547
#, fuzzy
msgid "The Cachefilesd service starts a daemon that caches network file system data locally.  It is especially useful for NFS and AFS shares, where it reduces latencies for repeated access when reading files."
msgstr "Cachefilesd 服务启动一个守护进程,该进程在本地缓存网络文件系统数据。它对于 NFS 和 AFS 共享尤其有用,因为它减少了重复访问文件时的延迟。"

#. type: Plain text
#: guix-git/doc/guix.texi:41549
#, fuzzy
msgid "The daemon can be configured as follows:"
msgstr "守护进程可以如下配置:"

#. type: lisp
#: guix-git/doc/guix.texi:41554
#, fuzzy, no-wrap
msgid ""
"(service cachefilesd-service-type\n"
"         (cachefilesd-configuration\n"
"           (cache-directory \"/var/cache/fscache\")))\n"
msgstr ""
"(service dovecot-service-type\n"
"         (dovecot-configuration\n"
"           (mail-location \"maildir:~/.mail\")))\n"

#. type: defvar
#: guix-git/doc/guix.texi:41556
#, fuzzy, no-wrap
msgid "cachefilesd-service-type"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:41560
#, fuzzy
msgid "The service type for starting @command{cachefilesd}.  The value for this service type is a @code{cachefilesd-configuration}, whose only required field is @var{cache-directory}."
msgstr "用于启动 @command{cachefilesd} 的服务类型。该服务类型的值是一个 @code{cachefilesd-configuration},其唯一必需字段是 @var{cache-directory}。"

#. type: deftp
#: guix-git/doc/guix.texi:41564
#, fuzzy, no-wrap
msgid "{Data Type} cachefilesd-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:41566
#, fuzzy
msgid "Available @code{cachefilesd-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:41568
#, fuzzy, no-wrap
msgid "@code{cachefilesd} (default: @code{cachefilesd}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:41570
#, fuzzy
msgid "The cachefilesd package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:41571
#, fuzzy, no-wrap
msgid "@code{debug-output?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41573
#, fuzzy
msgid "Print debugging output to stderr."
msgstr "生成调试输出。"

#. type: item
#: guix-git/doc/guix.texi:41574
#, fuzzy, no-wrap
msgid "@code{use-syslog?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41576
#, fuzzy
msgid "Log to syslog facility instead of stdout."
msgstr "记录到 syslog 设施而不是 stdout。"

#. type: item
#: guix-git/doc/guix.texi:41577
#, fuzzy, no-wrap
msgid "@code{scan?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41579
#, fuzzy
msgid "Scan for cacheable objects."
msgstr "扫描可缓存对象。"

#. type: item
#: guix-git/doc/guix.texi:41580
#, fuzzy, no-wrap
msgid "@code{cache-directory} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41582
#, fuzzy
msgid "Location of the cache directory."
msgstr "缓存目录的位置。"

#. type: item
#: guix-git/doc/guix.texi:41583
#, fuzzy, no-wrap
msgid "@code{cache-name} (default: @code{\"CacheFiles\"}) (type: maybe-string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:41585
#, fuzzy
msgid "Name of cache (keep unique)."
msgstr "缓存名称(保持唯一)。"

#. type: item
#: guix-git/doc/guix.texi:41586
#, fuzzy, no-wrap
msgid "@code{security-context} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41588
#, fuzzy
msgid "SELinux security context."
msgstr "SELinux 安全上下文。"

#. type: item
#: guix-git/doc/guix.texi:41589
#, fuzzy, no-wrap
msgid "@code{pause-culling-for-block-percentage} (default: @code{7}) (type: maybe-non-negative-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41591
#, fuzzy
msgid "Pause culling when available blocks exceed this percentage."
msgstr "当可用块超过此百分比时暂停清除。"

#. type: item
#: guix-git/doc/guix.texi:41592
#, fuzzy, no-wrap
msgid "@code{pause-culling-for-file-percentage} (default: @code{7}) (type: maybe-non-negative-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41594
#, fuzzy
msgid "Pause culling when available files exceed this percentage."
msgstr "当可用文件超过此百分比时暂停清除。"

#. type: item
#: guix-git/doc/guix.texi:41595
#, fuzzy, no-wrap
msgid "@code{resume-culling-for-block-percentage} (default: @code{5}) (type: maybe-non-negative-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41597
#, fuzzy
msgid "Start culling when available blocks drop below this percentage."
msgstr "当可用块低于此百分比时开始清除。"

#. type: item
#: guix-git/doc/guix.texi:41598
#, fuzzy, no-wrap
msgid "@code{resume-culling-for-file-percentage} (default: @code{5}) (type: maybe-non-negative-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41600
#, fuzzy
msgid "Start culling when available files drop below this percentage."
msgstr "当可用文件低于此百分比时开始清除。"

#. type: item
#: guix-git/doc/guix.texi:41601
#, fuzzy, no-wrap
msgid "@code{pause-caching-for-block-percentage} (default: @code{1}) (type: maybe-non-negative-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41604
#, fuzzy
msgid "Pause further allocations when available blocks drop below this percentage."
msgstr "当可用块低于此百分比时暂停进一步分配。"

#. type: item
#: guix-git/doc/guix.texi:41605
#, fuzzy, no-wrap
msgid "@code{pause-caching-for-file-percentage} (default: @code{1}) (type: maybe-non-negative-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41608
#, fuzzy
msgid "Pause further allocations when available files drop below this percentage."
msgstr "当可用文件低于此百分比时暂停进一步分配。"

#. type: item
#: guix-git/doc/guix.texi:41609
#, fuzzy, no-wrap
msgid "@code{log2-table-size} (default: @code{12}) (type: maybe-non-negative-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41611
#, fuzzy
msgid "Size of tables holding cullable objects in logarithm of base 2."
msgstr "持有可清除对象的表的大小以2为底的对数表示。"

#. type: item
#: guix-git/doc/guix.texi:41612
#, fuzzy, no-wrap
msgid "@code{cull?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41614
#, fuzzy
msgid "Create free space by culling (consumes system load)."
msgstr "通过清除创建空闲空间(消耗系统负载)。"

#. type: item
#: guix-git/doc/guix.texi:41615
#, fuzzy, no-wrap
msgid "@code{trace-function-entry-in-kernel-module?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41617
#, fuzzy
msgid "Trace function entry in the kernel module (for debugging)."
msgstr "跟踪内核模块中的函数入口(用于调试)。"

#. type: item
#: guix-git/doc/guix.texi:41618
#, fuzzy, no-wrap
msgid "@code{trace-function-exit-in-kernel-module?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41620
#, fuzzy
msgid "Trace function exit in the kernel module (for debugging)."
msgstr "跟踪内核模块中的函数退出(用于调试)。"

#. type: item
#: guix-git/doc/guix.texi:41621
#, fuzzy, no-wrap
msgid "@code{trace-internal-checkpoints-in-kernel-module?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41623
#, fuzzy
msgid "Trace internal checkpoints in the kernel module (for debugging)."
msgstr "跟踪内核模块中的内部检查点(用于调试)。"

#. type: cindex
#: guix-git/doc/guix.texi:41628
#, fuzzy, no-wrap
msgid "rasdaemon"
msgstr "后台进程"

#. type: cindex
#: guix-git/doc/guix.texi:41629
#, fuzzy, no-wrap
msgid "Platform Reliability, Availability and Serviceability daemon"
msgstr "平台可靠性、可用性和可维护性守护进程"

#. type: subsubheading
#: guix-git/doc/guix.texi:41630
#, fuzzy, no-wrap
msgid "Rasdaemon Service"
msgstr "邮件服务"

#. type: Plain text
#: guix-git/doc/guix.texi:41635
#, fuzzy
msgid "The Rasdaemon service provides a daemon which monitors platform @acronym{RAS, Reliability@comma{} Availability@comma{} and Serviceability} reports from Linux kernel trace events, logging them to syslogd."
msgstr "Rasdaemon服务提供一个守护进程,监控来自Linux内核跟踪事件的平台@acronym{RAS, 可靠性@comma{} 可用性@comma{} 和可维护性}报告,并将其记录到syslogd。"

#. type: Plain text
#: guix-git/doc/guix.texi:41638
#, fuzzy
msgid "Reliability, Availability and Serviceability is a concept used on servers meant to measure their robustness."
msgstr "可靠性、可用性和可维护性是用于衡量服务器稳健性的概念。"

#. type: Plain text
#: guix-git/doc/guix.texi:41641
#, fuzzy
msgid "@strong{Relability} is the probability that a system will produce correct outputs:"
msgstr "@strong{可靠性}是系统产生正确输出的概率:"

#. type: item
#: guix-git/doc/guix.texi:41643
#, fuzzy, no-wrap
msgid "Generally measured as Mean Time Between Failures (MTBF), and"
msgstr "通常以平均故障间隔时间(MTBF)来衡量,并且"

#. type: item
#: guix-git/doc/guix.texi:41644
#, fuzzy, no-wrap
msgid "Enhanced by features that help to avoid, detect and repair hardware"
msgstr "通过帮助避免、检测和修复硬件故障的功能增强。"

#. type: itemize
#: guix-git/doc/guix.texi:41646
#, fuzzy
msgid "faults"
msgstr "故障"

#. type: Plain text
#: guix-git/doc/guix.texi:41650
#, fuzzy
msgid "@strong{Availability} is the probability that a system is operational at a given time:"
msgstr "@strong{可用性}是系统在给定时间内可操作的概率:"

#. type: item
#: guix-git/doc/guix.texi:41652
#, fuzzy, no-wrap
msgid "Generally measured as a percentage of downtime per a period of time, and"
msgstr "通常以一段时间内的停机时间百分比来衡量,并且"

#. type: item
#: guix-git/doc/guix.texi:41653
#, fuzzy, no-wrap
msgid "Often uses mechanisms to detect and correct hardware faults in runtime."
msgstr "通常使用机制在运行时检测和纠正硬件故障。"

#. type: Plain text
#: guix-git/doc/guix.texi:41658
#, fuzzy
msgid "@strong{Serviceability} is the simplicity and speed with which a system can be repaired or maintained:"
msgstr "@strong{可维护性}是系统修复或维护的简单性和速度:"

#. type: item
#: guix-git/doc/guix.texi:41660
#, fuzzy, no-wrap
msgid "Generally measured on Mean Time Between Repair (MTBR)."
msgstr "通常以平均修复时间(MTBR)来衡量。"

#. type: Plain text
#: guix-git/doc/guix.texi:41665
#, fuzzy
msgid "Among the monitoring measures, the most usual ones include:"
msgstr "在监控措施中,最常见的包括:"

#. type: item
#: guix-git/doc/guix.texi:41667
#, fuzzy, no-wrap
msgid "CPU – detect errors at instruction execution and at L1/L2/L3 caches;"
msgstr "CPU – 在指令执行和L1/L2/L3缓存中检测错误;"

#. type: item
#: guix-git/doc/guix.texi:41668
#, fuzzy, no-wrap
msgid "Memory – add error correction logic (ECC) to detect and correct errors;"
msgstr "内存 – 添加错误校正逻辑(ECC)以检测和纠正错误;"

#. type: item
#: guix-git/doc/guix.texi:41669
#, fuzzy, no-wrap
msgid "I/O – add CRC checksums for transferred data;"
msgstr "I/O – 为传输数据添加CRC校验和;"

#. type: item
#: guix-git/doc/guix.texi:41670
#, fuzzy, no-wrap
msgid "Storage – RAID, journal file systems, checksums, Self-Monitoring,"
msgstr "存储 – RAID、日志文件系统、校验和、自我监测、"

#. type: itemize
#: guix-git/doc/guix.texi:41672
#, fuzzy
msgid "Analysis and Reporting Technology (SMART)."
msgstr "分析和报告技术(SMART)。"

#. type: Plain text
#: guix-git/doc/guix.texi:41678
#, fuzzy
msgid "By monitoring the number of occurrences of error detections, it is possible to identify if the probability of hardware errors is increasing, and, on such case, do a preventive maintenance to replace a degraded component while those errors are correctable."
msgstr "通过监控错误检测的发生次数,可以识别硬件错误的概率是否在增加,并在这种情况下进行预防性维护,以在这些错误可纠正时更换退化组件。"

#. type: Plain text
#: guix-git/doc/guix.texi:41682
#, fuzzy
msgid "For detailed information about the types of error events gathered and how to make sense of them, see the kernel administrator's guide at @url{https://www.kernel.org/doc/html/latest/admin-guide/ras.html}."
msgstr "有关收集的错误事件类型的详细信息以及如何理解它们,请参阅内核管理员指南,网址为 @url{https://www.kernel.org/doc/html/latest/admin-guide/ras.html}。"

#. type: defvar
#: guix-git/doc/guix.texi:41683
#, fuzzy, no-wrap
msgid "rasdaemon-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41686
#, fuzzy
msgid "Service type for the @command{rasdaemon} service.  It accepts a @code{rasdaemon-configuration} object.  Instantiating like"
msgstr "@command{rasdaemon} 服务的服务类型。它接受一个 @code{rasdaemon-configuration} 对象。实例化如下"

#. type: lisp
#: guix-git/doc/guix.texi:41689
#, fuzzy, no-wrap
msgid "(service rasdaemon-service-type)\n"
msgstr "(service rasdaemon-service-type)\n"

#. type: defvar
#: guix-git/doc/guix.texi:41693
#, fuzzy
msgid "will load with a default configuration, which monitors all events and logs to syslogd."
msgstr "将加载默认配置,该配置监控所有事件并记录到 syslogd。"

#. type: deftp
#: guix-git/doc/guix.texi:41695
#, fuzzy, no-wrap
msgid "{Data Type} rasdaemon-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:41697
#, fuzzy
msgid "The data type representing the configuration of @command{rasdaemon}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:41699
#, fuzzy, no-wrap
msgid "@code{record?} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41704
#, fuzzy
msgid "A boolean indicating whether to record the events in an SQLite database.  This provides a more structured access to the information contained in the log file.  The database location is hard-coded to @file{/var/lib/rasdaemon/ras-mc_event.db}."
msgstr "一个布尔值,指示是否在 SQLite 数据库中记录事件。这提供了对日志文件中包含的信息的更结构化的访问。数据库位置被硬编码为 @file{/var/lib/rasdaemon/ras-mc_event.db}。"

#. type: cindex
#: guix-git/doc/guix.texi:41708
#, fuzzy, no-wrap
msgid "zram"
msgstr "zram"

#. type: cindex
#: guix-git/doc/guix.texi:41709
#, fuzzy, no-wrap
msgid "compressed swap"
msgstr "压缩交换"

#. type: cindex
#: guix-git/doc/guix.texi:41710
#, fuzzy, no-wrap
msgid "Compressed RAM-based block devices"
msgstr "基于 RAM 的压缩块设备"

#. type: subsubheading
#: guix-git/doc/guix.texi:41711
#, fuzzy, no-wrap
msgid "Zram Device Service"
msgstr "游戏服务"

#. type: Plain text
#: guix-git/doc/guix.texi:41717
#, fuzzy
msgid "The Zram device service provides a compressed swap device in system memory.  The Linux Kernel documentation has more information about @uref{https://www.kernel.org/doc/html/latest/admin-guide/blockdev/zram.html,zram} devices."
msgstr "Zram 设备服务提供了一个在系统内存中的压缩交换设备。Linux 内核文档中有关于 @uref{https://www.kernel.org/doc/html/latest/admin-guide/blockdev/zram.html,zram} 设备的更多信息。"

#. type: defvar
#: guix-git/doc/guix.texi:41718
#, fuzzy, no-wrap
msgid "zram-device-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41722
#, fuzzy
msgid "This service creates the zram block device, formats it as swap and enables it as a swap device.  The service's value is a @code{zram-device-configuration} record."
msgstr "该服务创建 zram 块设备,将其格式化为交换并将其启用为交换设备。该服务的值是一个 @code{zram-device-configuration} 记录。"

#. type: deftp
#: guix-git/doc/guix.texi:41723
#, fuzzy, no-wrap
msgid "{Data Type} zram-device-configuration"
msgstr "{数据类型} zram-device-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:41726
#, fuzzy
msgid "This is the data type representing the configuration for the zram-device service."
msgstr "这是表示 zram-device 服务配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:41728
#, fuzzy, no-wrap
msgid "@code{size} (default @code{\"1G\"})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:41732
#, fuzzy
msgid "This is the amount of space you wish to provide for the zram device.  It accepts a string and can be a number of bytes or use a suffix, eg.: @code{\"512M\"} or @code{1024000}."
msgstr "这是您希望为 zram 设备提供的空间量。它接受一个字符串,可以是字节数或使用后缀,例如:@code{\"512M\"} 或 @code{1024000}。"

#. type: item
#: guix-git/doc/guix.texi:41732
#, fuzzy, no-wrap
msgid "@code{compression-algorithm} (default @code{'lzo})"
msgstr "@code{compression-level}(默认值:@code{3})"

#. type: table
#: guix-git/doc/guix.texi:41736
#, fuzzy
msgid "This is the compression algorithm you wish to use.  It is difficult to list all the possible compression options, but common ones supported by Guix's Linux Libre Kernel include @code{'lzo}, @code{'lz4} and @code{'zstd}."
msgstr "这是您希望使用的压缩算法。列出所有可能的压缩选项是困难的,但 Guix 的 Linux Libre 内核支持的常见选项包括 @code{'lzo}、@code{'lz4} 和 @code{'zstd}。"

#. type: item
#: guix-git/doc/guix.texi:41736
#, fuzzy, no-wrap
msgid "@code{memory-limit} (default @code{0})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41743
#, fuzzy
msgid "This is the maximum amount of memory which the zram device can use.  Setting it to '0' disables the limit.  While it is generally expected that compression will be 2:1, it is possible that uncompressable data can be written to swap and this is a method to limit how much memory can be used.  It accepts a string and can be a number of bytes or use a suffix, eg.: @code{\"2G\"}."
msgstr "这是 zram 设备可以使用的最大内存量。将其设置为 '0' 将禁用限制。虽然通常预期压缩比为 2:1,但可能会有无法压缩的数据写入交换,这是限制可以使用多少内存的一种方法。它接受一个字符串,可以是字节数或使用后缀,例如:@code{\"2G\"}。"

#. type: item
#: guix-git/doc/guix.texi:41743
#, fuzzy, no-wrap
msgid "@code{priority} (default @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41748
#, fuzzy
msgid "This is the priority of the swap device created from the zram device.  @xref{Swap Space} for a description of swap priorities.  You might want to set a specific priority for the zram device, otherwise it could end up not being used much for the reasons described there."
msgstr "这是从 zram 设备创建的交换设备的优先级。有关交换优先级的描述,请参见 @xref{Swap Space}。您可能希望为 zram 设备设置特定的优先级,否则它可能由于那里描述的原因而不被充分使用。"

#. type: defvar
#: guix-git/doc/guix.texi:41756
#, fuzzy, no-wrap
msgid "hurd-console-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41758
#, fuzzy
msgid "This service starts the fancy @code{VGA} console client on the Hurd."
msgstr "该服务在 Hurd 上启动华丽的 @code{VGA} 控制台客户端。"

#. type: defvar
#: guix-git/doc/guix.texi:41760
#, fuzzy
msgid "The service's value is a @code{hurd-console-configuration} record."
msgstr "该服务的值是一个 @code{hurd-console-configuration} 记录。"

#. type: deftp
#: guix-git/doc/guix.texi:41762
#, fuzzy, no-wrap
msgid "{Data Type} hurd-console-configuration"
msgstr "{数据类型} hurd-console-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:41765
#, fuzzy
msgid "This is the data type representing the configuration for the hurd-console-service."
msgstr "这是表示 hurd-console-service 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:41767 guix-git/doc/guix.texi:41783
#, fuzzy, no-wrap
msgid "@code{hurd} (default: @var{hurd})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:41769 guix-git/doc/guix.texi:41785
#, fuzzy
msgid "The Hurd package to use."
msgstr "软件包数据类型。"

#. type: defvar
#: guix-git/doc/guix.texi:41772
#, fuzzy, no-wrap
msgid "hurd-getty-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41774
#, fuzzy
msgid "This service starts a tty using the Hurd @code{getty} program."
msgstr "该服务使用 Hurd @code{getty} 程序启动一个 tty。"

#. type: defvar
#: guix-git/doc/guix.texi:41776
#, fuzzy
msgid "The service's value is a @code{hurd-getty-configuration} record."
msgstr "该服务的值是一个 @code{hurd-getty-configuration} 记录。"

#. type: deftp
#: guix-git/doc/guix.texi:41778
#, fuzzy, no-wrap
msgid "{Data Type} hurd-getty-configuration"
msgstr "{数据类型} hurd-getty-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:41781
#, fuzzy
msgid "This is the data type representing the configuration for the hurd-getty-service."
msgstr "这是表示 hurd-getty-service 配置的数据类型。"

#. type: table
#: guix-git/doc/guix.texi:41788
#, fuzzy
msgid "The name of the console this Getty runs on---e.g., @code{\"tty1\"}."
msgstr "此 Getty 运行的控制台名称——例如,@code{\"tty1\"}。"

#. type: item
#: guix-git/doc/guix.texi:41789
#, fuzzy, no-wrap
msgid "@code{baud-rate} (default: @code{38400})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:41791
#, fuzzy
msgid "An integer specifying the baud rate of the tty."
msgstr "指定 tty 的波特率的整数。"

#. type: cindex
#: guix-git/doc/guix.texi:41798
#, fuzzy, no-wrap
msgid "fingerprint"
msgstr "指纹"

#. type: subsubheading
#: guix-git/doc/guix.texi:41799
#, fuzzy, no-wrap
msgid "Fingerprint Service"
msgstr "指纹服务"

#. type: Plain text
#: guix-git/doc/guix.texi:41803
#, fuzzy
msgid "The @code{(gnu services authentication)} module provides a DBus service to read and identify fingerprints via a fingerprint sensor."
msgstr "@code{(gnu services authentication)} 模块提供一个 DBus 服务,通过指纹传感器读取和识别指纹。"

#. type: defvar
#: guix-git/doc/guix.texi:41804
#, fuzzy, no-wrap
msgid "fprintd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41807
#, fuzzy
msgid "The service type for @command{fprintd}, which provides the fingerprint reading capability."
msgstr "@command{fprintd} 的服务类型,提供指纹读取功能。"

#. type: lisp
#: guix-git/doc/guix.texi:41810
#, fuzzy, no-wrap
msgid "(service fprintd-service-type)\n"
msgstr "(服务 fprintd-service-type)\n"

#. type: cindex
#: guix-git/doc/guix.texi:41813
#, fuzzy, no-wrap
msgid "sysctl"
msgstr "sysctl"

#. type: subsubheading
#: guix-git/doc/guix.texi:41814
#, fuzzy, no-wrap
msgid "System Control Service"
msgstr "系统控制服务"

#. type: Plain text
#: guix-git/doc/guix.texi:41818
#, fuzzy
msgid "The @code{(gnu services sysctl)} provides a service to configure kernel parameters at boot."
msgstr "@code{(gnu services sysctl)} 提供一个服务,用于在启动时配置内核参数。"

#. type: defvar
#: guix-git/doc/guix.texi:41819
#, fuzzy, no-wrap
msgid "sysctl-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41823
#, fuzzy
msgid "The service type for @command{sysctl}, which modifies kernel parameters under @file{/proc/sys/}.  To enable IPv4 forwarding, it can be instantiated as:"
msgstr "@command{sysctl} 的服务类型,它在 @file{/proc/sys/} 下修改内核参数。要启用 IPv4 转发,可以实例化为:"

#. type: lisp
#: guix-git/doc/guix.texi:41828
#, fuzzy, no-wrap
msgid ""
"(service sysctl-service-type\n"
"         (sysctl-configuration\n"
"           (settings '((\"net.ipv4.ip_forward\" . \"1\")))))\n"
msgstr ""
"(服务 sysctl-service-type\n"
"         (sysctl-configuration\n"
"           (settings '((\"net.ipv4.ip_forward\" . \"1\")))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:41835
#, fuzzy
msgid "Since @code{sysctl-service-type} is used in the default lists of services, @code{%base-services} and @code{%desktop-services}, you can use @code{modify-services} to change its configuration and add the kernel parameters that you want (@pxref{Service Reference, @code{modify-services}})."
msgstr "由于 @code{sysctl-service-type} 在服务的默认列表 @code{%base-services} 和 @code{%desktop-services} 中使用,您可以使用 @code{modify-services} 来更改其配置并添加您想要的内核参数 (@pxref{Service Reference, @code{modify-services}})。"

#. type: lisp
#: guix-git/doc/guix.texi:41842
#, fuzzy, no-wrap
msgid ""
"(modify-services %base-services\n"
"  (sysctl-service-type config =>\n"
"                       (sysctl-configuration\n"
"                         (settings (append '((\"net.ipv4.ip_forward\" . \"1\"))\n"
"                                           %default-sysctl-settings)))))\n"
msgstr ""
"(modify-services %base-services\n"
"  (sysctl-service-type config =>\n"
"                       (sysctl-configuration\n"
"                         (settings (append '((\"net.ipv4.ip_forward\" . \"1\"))\n"
"                                           %default-sysctl-settings)))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:41846
#, fuzzy, no-wrap
msgid "{Data Type} sysctl-configuration"
msgstr "{数据类型} sysctl-配置"

#. type: deftp
#: guix-git/doc/guix.texi:41848
#, fuzzy
msgid "The data type representing the configuration of @command{sysctl}."
msgstr "表示@command{sysctl}配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:41850
#, fuzzy, no-wrap
msgid "@code{sysctl} (default: @code{(file-append procps \"/sbin/sysctl\"})"
msgstr "@code{sysctl}(默认:@code{(file-append procps \"/sbin/sysctl\"})"

#. type: table
#: guix-git/doc/guix.texi:41852
#, fuzzy
msgid "The @command{sysctl} executable to use."
msgstr "要使用的@command{sysctl}可执行文件。"

#. type: item
#: guix-git/doc/guix.texi:41853
#, fuzzy, no-wrap
msgid "@code{settings} (default: @code{%default-sysctl-settings})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:41855
#, fuzzy
msgid "An association list specifies kernel parameters and their values."
msgstr "一个关联列表指定内核参数及其值。"

#. type: defvar
#: guix-git/doc/guix.texi:41858
#, fuzzy, no-wrap
msgid "%default-sysctl-settings"
msgstr "%default-sysctl-settings"

#. type: defvar
#: guix-git/doc/guix.texi:41861
#, fuzzy
msgid "An association list specifying the default @command{sysctl} parameters on Guix System."
msgstr "一个关联列表,指定Guix系统上的默认@command{sysctl}参数。"

#. type: cindex
#: guix-git/doc/guix.texi:41863
#, fuzzy, no-wrap
msgid "pcscd"
msgstr "pcscd"

#. type: subsubheading
#: guix-git/doc/guix.texi:41864
#, fuzzy, no-wrap
msgid "PC/SC Smart Card Daemon Service"
msgstr "PC/SC智能卡守护进程服务"

#. type: Plain text
#: guix-git/doc/guix.texi:41871
#, fuzzy
msgid "The @code{(gnu services security-token)} module provides the following service to run @command{pcscd}, the PC/SC Smart Card Daemon.  @command{pcscd} is the daemon program for pcsc-lite and the MuscleCard framework.  It is a resource manager that coordinates communications with smart card readers, smart cards and cryptographic tokens that are connected to the system."
msgstr "@code{(gnu services security-token)}模块提供以下服务以运行@command{pcscd},即PC/SC智能卡守护进程。@command{pcscd}是pcsc-lite和MuscleCard框架的守护程序。它是一个资源管理器,协调与连接到系统的智能卡读卡器、智能卡和加密令牌之间的通信。"

#. type: defvar
#: guix-git/doc/guix.texi:41872
#, fuzzy, no-wrap
msgid "pcscd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41876
#, fuzzy
msgid "Service type for the @command{pcscd} service.  Its value must be a @code{pcscd-configuration} object.  To run pcscd in the default configuration, instantiate it as:"
msgstr "@command{pcscd}服务的服务类型。其值必须是一个@code{pcscd-configuration}对象。要在默认配置下运行pcscd,请实例化为:"

#. type: lisp
#: guix-git/doc/guix.texi:41879
#, fuzzy, no-wrap
msgid "(service pcscd-service-type)\n"
msgstr "(service pcscd-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:41882
#, fuzzy, no-wrap
msgid "{Data Type} pcscd-configuration"
msgstr "{数据类型} pcscd-配置"

#. type: deftp
#: guix-git/doc/guix.texi:41884
#, fuzzy
msgid "The data type representing the configuration of @command{pcscd}."
msgstr "表示@command{pcscd}配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:41886
#, fuzzy, no-wrap
msgid "@code{pcsc-lite} (default: @code{pcsc-lite})"
msgstr "@code{pcsc-lite}(默认:@code{pcsc-lite})"

#. type: table
#: guix-git/doc/guix.texi:41888
#, fuzzy
msgid "The pcsc-lite package that provides pcscd."
msgstr "提供pcscd的pcsc-lite软件包。"

#. type: item
#: guix-git/doc/guix.texi:41888
#, fuzzy, no-wrap
msgid "@code{usb-drivers} (default: @code{(list ccid)})"
msgstr "@code{usb-drivers}(默认:@code{(list ccid)})"

#. type: table
#: guix-git/doc/guix.texi:41891
#, fuzzy
msgid "List of packages that provide USB drivers to pcscd.  Drivers are expected to be under @file{pcsc/drivers} in the store directory of the package."
msgstr "提供USB驱动程序给pcscd的软件包列表。驱动程序预计位于软件包的存储目录中的@file{pcsc/drivers}下。"

#. type: cindex
#: guix-git/doc/guix.texi:41894
#, fuzzy, no-wrap
msgid "LIRC"
msgstr "LIRC"

#. type: subsubheading
#: guix-git/doc/guix.texi:41895
#, fuzzy, no-wrap
msgid "LIRC Service"
msgstr "VPN服务"

#. type: Plain text
#: guix-git/doc/guix.texi:41898
#, fuzzy
msgid "The @code{(gnu services lirc)} module provides the following service."
msgstr "@code{(gnu services lirc)}模块提供以下服务。"

#. type: defvar
#: guix-git/doc/guix.texi:41899
#, fuzzy, no-wrap
msgid "lirc-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41902
#, fuzzy
msgid "Type for a service that runs @url{http://www.lirc.org, LIRC}, a daemon that decodes infrared signals from remote controls."
msgstr "运行@url{http://www.lirc.org, LIRC}的服务类型,这是一个解码遥控器红外信号的守护程序。"

#. type: defvar
#: guix-git/doc/guix.texi:41904
#, fuzzy
msgid "The value for this service is a @code{<lirc-configuration>} object."
msgstr "此服务的值是一个@code{<lirc-configuration>}对象。"

#. type: deftp
#: guix-git/doc/guix.texi:41906
#, fuzzy, no-wrap
msgid "{Data Type} lirc-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:41908
#, fuzzy
msgid "Data type representing the configuration of @command{lircd}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:41910
#, fuzzy, no-wrap
msgid "@code{lirc} (default: @code{lirc}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:41912
#, fuzzy
msgid "Package object for @command{lirc}."
msgstr "软件包管理命令。"

#. type: item
#: guix-git/doc/guix.texi:41913
#, fuzzy, no-wrap
msgid "@code{device} (default: @code{#f}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: itemx
#: guix-git/doc/guix.texi:41914
#, fuzzy, no-wrap
msgid "@code{driver} (default: @code{#f}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: itemx
#: guix-git/doc/guix.texi:41915
#, fuzzy, no-wrap
msgid "@code{config-file} (default: @code{#f}) (type: string-or-file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:41917
#, fuzzy
msgid "TODO.  See @command{lircd} manual for details."
msgstr "TODO。有关详细信息,请参见@command{lircd}手册。"

#. type: item
#: guix-git/doc/guix.texi:41918
#, fuzzy, no-wrap
msgid "@code{extra-options} (default: @code{'()}) (type: list-of-string)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:41920
#, fuzzy
msgid "Additional command-line options to pass to @command{lircd}."
msgstr "传递给@command{lircd}的附加命令行选项。"

#. type: cindex
#: guix-git/doc/guix.texi:41927
#, fuzzy, no-wrap
msgid "SPICE"
msgstr "SPICE"

#. type: subsubheading
#: guix-git/doc/guix.texi:41928
#, fuzzy, no-wrap
msgid "SPICE Service"
msgstr "DNS服务"

#. type: Plain text
#: guix-git/doc/guix.texi:41931
#, fuzzy
msgid "The @code{(gnu services spice)} module provides the following service."
msgstr "@code{(gnu services spice)}模块提供以下服务。"

#. type: defvar
#: guix-git/doc/guix.texi:41932
#, fuzzy, no-wrap
msgid "spice-vdagent-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41936
#, fuzzy
msgid "Type of the service that runs @url{https://www.spice-space.org, VDAGENT}, a daemon that enables sharing the clipboard with a vm and setting the guest display resolution when the graphical console window resizes."
msgstr "运行@url{https://www.spice-space.org, VDAGENT}的服务类型,这是一个守护程序,允许与虚拟机共享剪贴板,并在图形控制台窗口调整大小时设置来宾显示分辨率。"

#. type: deftp
#: guix-git/doc/guix.texi:41938
#, fuzzy, no-wrap
msgid "{Data Type} spice-vdagent-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:41941
#, fuzzy
msgid "Data type representing the configuration of @code{spice-vdagent-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:41943
#, fuzzy, no-wrap
msgid "@code{spice-vdagent} (default: @code{spice-vdagent}) (type: file-like)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:41945
#, fuzzy
msgid "Package object for VDAGENT."
msgstr "VDAGENT的包对象。"

#. type: cindex
#: guix-git/doc/guix.texi:41949
#, fuzzy, no-wrap
msgid "inputattach"
msgstr "inputattach"

#. type: subsubheading
#: guix-git/doc/guix.texi:41950
#, fuzzy, no-wrap
msgid "inputattach Service"
msgstr "inputattach服务"

#. type: cindex
#: guix-git/doc/guix.texi:41952
#, fuzzy, no-wrap
msgid "tablet input, for Xorg"
msgstr "用于Xorg的平板输入"

#. type: cindex
#: guix-git/doc/guix.texi:41953
#, fuzzy, no-wrap
msgid "touchscreen input, for Xorg"
msgstr "用于Xorg的触摸屏输入"

#. type: Plain text
#: guix-git/doc/guix.texi:41957
#, fuzzy
msgid "The @uref{https://linuxwacom.github.io/, inputattach} service allows you to use input devices such as Wacom tablets, touchscreens, or joysticks with the Xorg display server."
msgstr "@uref{https://linuxwacom.github.io/, inputattach}服务允许您使用输入设备,如Wacom平板、触摸屏或操纵杆,与Xorg显示服务器一起使用。"

#. type: defvar
#: guix-git/doc/guix.texi:41958
#, fuzzy, no-wrap
msgid "inputattach-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41961
#, fuzzy
msgid "Type of a service that runs @command{inputattach} on a device and dispatches events from it."
msgstr "在设备上运行@command{inputattach}并从中分发事件的服务类型。"

#. type: deftp
#: guix-git/doc/guix.texi:41963
#, fuzzy, no-wrap
msgid "{Data Type} inputattach-configuration"
msgstr "{数据类型} inputattach-配置"

#. type: item
#: guix-git/doc/guix.texi:41965
#, fuzzy, no-wrap
msgid "@code{device-type} (default: @code{\"wacom\"})"
msgstr "@code{device-type}(默认值:@code{\"wacom\"})"

#. type: table
#: guix-git/doc/guix.texi:41968
#, fuzzy
msgid "The type of device to connect to.  Run @command{inputattach --help}, from the @code{inputattach} package, to see the list of supported device types."
msgstr "要连接的设备类型。运行@command{inputattach --help},来自@code{inputattach}包,以查看支持的设备类型列表。"

#. type: item
#: guix-git/doc/guix.texi:41969
#, fuzzy, no-wrap
msgid "@code{device} (default: @code{\"/dev/ttyS0\"})"
msgstr "@code{device}(默认值:@code{\"/dev/ttyS0\"})"

#. type: table
#: guix-git/doc/guix.texi:41971
#, fuzzy
msgid "The device file to connect to the device."
msgstr "要连接到设备的设备文件。"

#. type: table
#: guix-git/doc/guix.texi:41975
#, fuzzy
msgid "Baud rate to use for the serial connection.  Should be a number or @code{#f}."
msgstr "用于串行连接的波特率。应为数字或@code{#f}。"

#. type: table
#: guix-git/doc/guix.texi:41978
#, fuzzy
msgid "If true, this must be the name of a file to log messages to."
msgstr "如果为真,则必须是一个文件的名称,用于记录消息。"

#. type: subsubheading
#: guix-git/doc/guix.texi:41981 guix-git/doc/guix.texi:49669
#, fuzzy, no-wrap
msgid "Dictionary Service"
msgstr "定义服务"

#. type: cindex
#: guix-git/doc/guix.texi:41982
#, fuzzy, no-wrap
msgid "dictionary"
msgstr "字典"

#. type: Plain text
#: guix-git/doc/guix.texi:41985
#, fuzzy
msgid "The @code{(gnu services dict)} module provides the following service:"
msgstr "@code{(gnu services dict)}模块提供以下服务:"

#. type: defvar
#: guix-git/doc/guix.texi:41986
#, fuzzy, no-wrap
msgid "dicod-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:41989 guix-git/doc/guix.texi:49677
#, fuzzy
msgid "This is the type of the service that runs the @command{dicod} daemon, an implementation of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual})."
msgstr "这是运行@command{dicod}守护进程的服务类型,DICT服务器的实现(@pxref{Dicod,,, dico, GNU Dico Manual})。"

#. type: defvar
#: guix-git/doc/guix.texi:41993 guix-git/doc/guix.texi:49681
#, fuzzy
msgid "You can add @command{open localhost} to your @file{~/.dico} file to make @code{localhost} the default server for @command{dico} client (@pxref{Initialization File,,, dico, GNU Dico Manual})."
msgstr "您可以将@command{open localhost}添加到您的@file{~/.dico}文件中,以使@code{localhost}成为@command{dico}客户端的默认服务器(@pxref{Initialization File,,, dico, GNU Dico Manual})。"

#. type: quotation
#: guix-git/doc/guix.texi:41998
#, fuzzy
msgid "This service is also available for Guix Home, where it runs directly with your user privileges (@pxref{Miscellaneous Home Services, @code{home-dicod-service-type}})."
msgstr "此服务也可用于Guix Home,在那里它直接以您的用户权限运行(@pxref{Miscellaneous Home Services, @code{home-dicod-service-type}})。"

#. type: deftp
#: guix-git/doc/guix.texi:42001
#, fuzzy, no-wrap
msgid "{Data Type} dicod-configuration"
msgstr "{数据类型} dicod-配置"

#. type: deftp
#: guix-git/doc/guix.texi:42003
#, fuzzy
msgid "Data type representing the configuration of dicod."
msgstr "表示dicod配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:42005
#, fuzzy, no-wrap
msgid "@code{dico} (default: @var{dico})"
msgstr "@code{dico}(默认值:@var{dico})"

#. type: table
#: guix-git/doc/guix.texi:42007
#, fuzzy
msgid "Package object of the GNU Dico dictionary server."
msgstr "GNU Dico字典服务器的包对象。"

#. type: item
#: guix-git/doc/guix.texi:42008
#, fuzzy, no-wrap
msgid "@code{interfaces} (default: @var{'(\"localhost\")})"
msgstr "@code{interfaces}(默认值:@var{'(\"localhost\")})"

#. type: table
#: guix-git/doc/guix.texi:42012
#, fuzzy
msgid "This is the list of IP addresses and ports and possibly socket file names to listen to (@pxref{Server Settings, @code{listen} directive,, dico, GNU Dico Manual})."
msgstr "这是要监听的IP地址和端口以及可能的套接字文件名的列表(@pxref{Server Settings, @code{listen} directive,, dico, GNU Dico Manual})。"

#. type: item
#: guix-git/doc/guix.texi:42013
#, fuzzy, no-wrap
msgid "@code{handlers} (default: @var{'()})"
msgstr "@code{handlers}(默认值:@var{'()})"

#. type: table
#: guix-git/doc/guix.texi:42015
#, fuzzy
msgid "List of @code{<dicod-handler>} objects denoting handlers (module instances)."
msgstr "表示处理程序(模块实例)的@code{<dicod-handler>}对象列表。"

#. type: item
#: guix-git/doc/guix.texi:42016
#, fuzzy, no-wrap
msgid "@code{databases} (default: @var{(list %dicod-database:gcide)})"
msgstr "@code{databases}(默认值:@var{(list %dicod-database:gcide)})"

#. type: table
#: guix-git/doc/guix.texi:42018
#, fuzzy
msgid "List of @code{<dicod-database>} objects denoting dictionaries to be served."
msgstr "表示要提供的字典的@code{<dicod-database>}对象列表。"

#. type: deftp
#: guix-git/doc/guix.texi:42021
#, fuzzy, no-wrap
msgid "{Data Type} dicod-handler"
msgstr "{数据类型} dicod-handler"

#. type: deftp
#: guix-git/doc/guix.texi:42023
#, fuzzy
msgid "Data type representing a dictionary handler (module instance)."
msgstr "表示字典处理程序(模块实例)的数据类型。"

#. type: table
#: guix-git/doc/guix.texi:42027
#, fuzzy
msgid "Name of the handler (module instance)."
msgstr "处理程序(模块实例)的名称。"

#. type: item
#: guix-git/doc/guix.texi:42028
#, fuzzy, no-wrap
msgid "@code{module} (default: @var{#f})"
msgstr "@code{module}(默认值:@var{#f})"

#. type: table
#: guix-git/doc/guix.texi:42032
#, fuzzy
msgid "Name of the dicod module of the handler (instance).  If it is @code{#f}, the module has the same name as the handler.  (@pxref{Modules,,, dico, GNU Dico Manual})."
msgstr "处理程序(实例)的 dicod 模块名称。如果是 @code{#f},则模块与处理程序同名。(@pxref{模块,,, dico, GNU Dico 手册})。"

#. type: table
#: guix-git/doc/guix.texi:42035
#, fuzzy
msgid "List of strings or gexps representing the arguments for the module handler"
msgstr "表示模块处理程序参数的字符串或 gexp 列表"

#. type: deftp
#: guix-git/doc/guix.texi:42038
#, fuzzy, no-wrap
msgid "{Data Type} dicod-database"
msgstr "{数据类型} dicod-database"

#. type: deftp
#: guix-git/doc/guix.texi:42040
#, fuzzy
msgid "Data type representing a dictionary database."
msgstr "表示字典数据库的数据类型。"

#. type: table
#: guix-git/doc/guix.texi:42044
#, fuzzy
msgid "Name of the database, will be used in DICT commands."
msgstr "数据库的名称,将在 DICT 命令中使用。"

#. type: code{#1}
#: guix-git/doc/guix.texi:42045
#, fuzzy, no-wrap
msgid "handler"
msgstr "处理程序"

#. type: table
#: guix-git/doc/guix.texi:42048
#, fuzzy
msgid "Name of the dicod handler (module instance) used by this database (@pxref{Handlers,,, dico, GNU Dico Manual})."
msgstr "此数据库使用的 dicod 处理程序(模块实例)的名称 (@pxref{处理程序,,, dico, GNU Dico 手册})。"

#. type: item
#: guix-git/doc/guix.texi:42049
#, fuzzy, no-wrap
msgid "@code{complex?} (default: @var{#f})"
msgstr "@code{complex?}(默认值:@var{#f})"

#. type: table
#: guix-git/doc/guix.texi:42052
#, fuzzy
msgid "Whether the database configuration complex.  The complex configuration will need a corresponding @code{<dicod-handler>} object, otherwise not."
msgstr "数据库配置是否复杂。复杂配置将需要相应的 @code{<dicod-handler>} 对象,否则不需要。"

#. type: table
#: guix-git/doc/guix.texi:42056
#, fuzzy
msgid "List of strings or gexps representing the arguments for the database (@pxref{Databases,,, dico, GNU Dico Manual})."
msgstr "表示数据库参数的字符串或 gexp 列表 (@pxref{数据库,,, dico, GNU Dico 手册})。"

#. type: defvar
#: guix-git/doc/guix.texi:42059
#, fuzzy, no-wrap
msgid "%dicod-database:gcide"
msgstr "%dicod-database:gcide"

#. type: defvar
#: guix-git/doc/guix.texi:42062
#, fuzzy
msgid "A @code{<dicod-database>} object serving the GNU Collaborative International Dictionary of English using the @code{gcide} package."
msgstr "一个 @code{<dicod-database>} 对象,使用 @code{gcide} 包提供 GNU 协作国际英语词典。"

#. type: deffn
#: guix-git/doc/guix.texi:42064
#, no-wrap
msgid "{Procedure} dicod-freedict-database dictionary-name"
msgstr ""

#. type: deffn
#: guix-git/doc/guix.texi:42070
msgid "Returns a record of type @code{dicod-database} for purpose of configuring a database for the FreeDict multilingual dictionary named by @var{dictionary-name}, a string such as @code{\"kur-eng\"} for the Kurdish-to-English dictionary, into a service of type @code{dicod-service-type}."
msgstr ""

#. type: defvar
#: guix-git/doc/guix.texi:42072
#, fuzzy, no-wrap
#| msgid "%dicod-database:gcide"
msgid "%dicod-databases:freedict"
msgstr "%dicod-database:gcide"

#. type: defvar
#: guix-git/doc/guix.texi:42077
msgid "A relatively large list of records of type @code{dicod-database}, made available for users who wish to configure all the FreeDict multilingual dictionaries provided by the @code{freedict-dictionaries} package into a service of type @code{dicod-service-type}."
msgstr ""

#. type: Plain text
#: guix-git/doc/guix.texi:42083
msgid "The following is an example @code{dicod-service-type} configuration, extending a @command{dicod} daemon serving databases for the wordnet and gcide dictionaries, as well as a selection of FreeDict multilingual dictionaries."
msgstr ""

#. type: lisp
#: guix-git/doc/guix.texi:42102
#, fuzzy, no-wrap
#| msgid ""
#| "(service dicod-service-type\n"
#| "         (dicod-configuration\n"
#| "          (handlers (list\n"
#| "                     (dicod-handler\n"
#| "                      (name \"wordnet\")\n"
#| "                      (module \"wordnet\")\n"
#| "                      (options\n"
#| "                       (list #~(string-append \"wnhome=\" #$wordnet))))))\n"
#| "          (databases (list\n"
#| "                      (dicod-database\n"
#| "                       (name \"wordnet\")\n"
#| "                       (complex? #t)\n"
#| "                       (handler \"wordnet\"))\n"
#| "                      %dicod-database:gcide))))\n"
msgid ""
"(service dicod-service-type\n"
"         (dicod-configuration\n"
"          (handlers (list\n"
"                     (dicod-handler\n"
"                      (name \"wordnet\")\n"
"                      (module \"wordnet\")\n"
"                      (options\n"
"                       (list #~(string-append \"wnhome=\" #$wordnet))))))\n"
"          (databases (cons*\n"
"                      (dicod-database\n"
"                       (name \"wordnet\")\n"
"                       (complex? #t)\n"
"                       (handler \"wordnet\"))\n"
"                      %dicod-database:gcide\n"
"                      (map\n"
"                       dicod-freedict-database\n"
"                       '(\"fra-eng\" \"eng-fra\" \"eng-spa\" \"spa-eng\"))))))\n"
msgstr ""
"(服务 dicod-service-type\n"
"         (dicod-configuration\n"
"          (handlers (list\n"
"                     (dicod-handler\n"
"                      (name \"wordnet\")\n"
"                      (module \"wordnet\")\n"
"                      (options\n"
"                       (list #~(string-append \"wnhome=\" #$wordnet))))))\n"
"          (databases (list\n"
"                      (dicod-database\n"
"                       (name \"wordnet\")\n"
"                       (complex? #t)\n"
"                       (handler \"wordnet\"))\n"
"                      %dicod-database:gcide))))\n"

#. type: cindex
#: guix-git/doc/guix.texi:42104
#, fuzzy, no-wrap
msgid "Docker"
msgstr "Docker"

#. type: subsubheading
#: guix-git/doc/guix.texi:42105
#, fuzzy, no-wrap
msgid "Docker Service"
msgstr "Docker 服务"

#. type: Plain text
#: guix-git/doc/guix.texi:42108
#, fuzzy
msgid "The @code{(gnu services docker)} module provides the following services."
msgstr "@code{(gnu services docker)} 模块提供以下服务。"

#. type: cindex
#: guix-git/doc/guix.texi:42109
#, fuzzy, no-wrap
msgid "containerd, container runtime"
msgstr "containerd,容器运行时"

#. type: defvar
#: guix-git/doc/guix.texi:42110
#, fuzzy, no-wrap
msgid "containerd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:42118
#, fuzzy
msgid "This service type operates containerd @url{https://containerd.io,containerd}, a daemon responsible for overseeing the entire container lifecycle on its host system. This includes image handling, storage management, container execution, supervision, low-level storage operations, network connections, and more."
msgstr "此服务类型操作 containerd @url{https://containerd.io,containerd},一个负责监督其主机系统上整个容器生命周期的守护进程。这包括图像处理、存储管理、容器执行、监督、低级存储操作、网络连接等。"

#. type: deftp
#: guix-git/doc/guix.texi:42121
#, fuzzy, no-wrap
msgid "{Data Type} containerd-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:42123
#, fuzzy
msgid "This is the data type representing the configuration of containerd."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:42126
#, fuzzy, no-wrap
msgid "@code{containerd} (default: @code{containerd})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:42128
#, fuzzy
msgid "The containerd daemon package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:42129 guix-git/doc/guix.texi:42179
#, fuzzy, no-wrap
msgid "@code{debug?} (default @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42131 guix-git/doc/guix.texi:42181
#, fuzzy
msgid "Enable or disable debug output."
msgstr "怎么开启或关闭substitute。"

#. type: table
#: guix-git/doc/guix.texi:42134
#, fuzzy
msgid "List of environment variables to set for @command{containerd}."
msgstr "构建环境"

#. type: table
#: guix-git/doc/guix.texi:42137 guix-git/doc/guix.texi:42190
#, fuzzy
msgid "This must be a list of strings where each string has the form @samp{@var{key}=@var{value}} as in this example:"
msgstr "这必须是一个字符串列表,其中每个字符串的形式为@samp{@var{key}=@var{value}},如本示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:42141
#, fuzzy, no-wrap
msgid ""
"(list \"HTTP_PROXY=socks5://127.0.0.1:9150\"\n"
"      \"HTTPS_PROXY=socks5://127.0.0.1:9150\")\n"
msgstr ""
"(list \"HTTP_PROXY=socks5://127.0.0.1:9150\"\n"
"      \"HTTPS_PROXY=socks5://127.0.0.1:9150\")\n"

#. type: defvar
#: guix-git/doc/guix.texi:42146
#, fuzzy, no-wrap
msgid "docker-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:42151
#, fuzzy
msgid "This is the type of the service that runs @url{https://www.docker.com,Docker}, a daemon that can execute application bundles (sometimes referred to as ``containers'') in isolated environments."
msgstr "这是运行@url{https://www.docker.com,Docker}的服务类型,一个可以在隔离环境中执行应用程序包(有时称为“容器”)的守护进程。"

#. type: defvar
#: guix-git/doc/guix.texi:42156
#, fuzzy
msgid "The @code{containerd-service-type} service need to be added to a system configuration, otherwise a message about not any service provides @code{containerd} will be displayed during @code{guix system reconfigure}."
msgstr "需要将@code{containerd-service-type}服务添加到系统配置中,否则在@code{guix system reconfigure}期间将显示关于没有任何服务提供@code{containerd}的消息。"

#. type: deftp
#: guix-git/doc/guix.texi:42159
#, fuzzy, no-wrap
msgid "{Data Type} docker-configuration"
msgstr "{数据类型} docker-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:42161
#, fuzzy
msgid "This is the data type representing the configuration of Docker and Containerd."
msgstr "这是表示Docker和Containerd配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:42164
#, fuzzy, no-wrap
msgid "@code{docker} (default: @code{docker})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:42166
#, fuzzy
msgid "The Docker daemon package to use."
msgstr "要使用的Docker守护进程包。"

#. type: item
#: guix-git/doc/guix.texi:42167
#, fuzzy, no-wrap
msgid "@code{docker-cli} (default: @code{docker-cli})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:42169
#, fuzzy
msgid "The Docker client package to use."
msgstr "要使用的Docker客户端包。"

#. type: item
#: guix-git/doc/guix.texi:42170
#, fuzzy, no-wrap
msgid "@code{containerd} (default: @var{containerd})"
msgstr "@code{containerd}(默认值:@var{containerd})"

#. type: table
#: guix-git/doc/guix.texi:42172
#, fuzzy
msgid "This field is deprecated in favor of @code{containerd-service-type} service."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:42173
#, fuzzy, no-wrap
msgid "@code{proxy} (default @var{docker-libnetwork-cmd-proxy})"
msgstr "@code{proxy}(默认值@var{docker-libnetwork-cmd-proxy})"

#. type: table
#: guix-git/doc/guix.texi:42175
#, fuzzy
msgid "The Docker user-land networking proxy package to use."
msgstr "要使用的Docker用户空间网络代理包。"

#. type: item
#: guix-git/doc/guix.texi:42176
#, fuzzy, no-wrap
msgid "@code{enable-proxy?} (default @code{#t})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42178
#, fuzzy
msgid "Enable or disable the use of the Docker user-land networking proxy."
msgstr "启用或禁用Docker用户空间网络代理的使用。"

#. type: item
#: guix-git/doc/guix.texi:42182
#, fuzzy, no-wrap
msgid "@code{enable-iptables?} (default @code{#t})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:42184
#, fuzzy
msgid "Enable or disable the addition of iptables rules."
msgstr "启用或禁用iptables规则的添加。"

#. type: table
#: guix-git/doc/guix.texi:42187
#, fuzzy
msgid "List of environment variables to set for @command{dockerd}."
msgstr "为@command{dockerd}设置的环境变量列表。"

#. type: lisp
#: guix-git/doc/guix.texi:42194
#, fuzzy, no-wrap
msgid ""
"(list \"LANGUAGE=eo:ca:eu\"\n"
"      \"TMPDIR=/tmp/dockerd\")\n"
msgstr ""
"(list \"LANGUAGE=eo:ca:eu\"\n"
"      \"TMPDIR=/tmp/dockerd\")\n"

#. type: item
#: guix-git/doc/guix.texi:42196
#, fuzzy, no-wrap
msgid "@code{config-file} (type: maybe-file-like)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42198
#, fuzzy
msgid "JSON configuration file pass to @command{dockerd}."
msgstr "传递给@command{dockerd}的JSON配置文件。"

#. type: cindex
#: guix-git/doc/guix.texi:42202
#, fuzzy, no-wrap
msgid "Singularity, container service"
msgstr "Singularity,容器服务"

#. type: defvar
#: guix-git/doc/guix.texi:42203
#, fuzzy, no-wrap
msgid "singularity-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:42208
#, fuzzy
msgid "This is the type of the service that allows you to run @url{https://www.sylabs.io/singularity/, Singularity}, a Docker-style tool to create and run application bundles (aka. ``containers'').  The value for this service is the Singularity package to use."
msgstr "这是允许您运行@url{https://www.sylabs.io/singularity/, Singularity}的服务类型,一个Docker风格的工具,用于创建和运行应用程序包(即“容器”)。该服务的值是要使用的Singularity包。"

#. type: defvar
#: guix-git/doc/guix.texi:42212
#, fuzzy
msgid "The service does not install a daemon; instead, it installs helper programs as setuid-root (@pxref{Privileged Programs}) such that unprivileged users can invoke @command{singularity run} and similar commands."
msgstr "该服务不安装守护进程;相反,它安装了作为setuid-root的辅助程序(@pxref{Privileged Programs}),以便普通用户可以调用@command{singularity run}和类似命令。"

#. type: cindex
#: guix-git/doc/guix.texi:42214
#, fuzzy, no-wrap
msgid "Rootless Podman"
msgstr "无根Podman"

#. type: subsubheading
#: guix-git/doc/guix.texi:42215
#, fuzzy, no-wrap
msgid "Rootless Podman Service"
msgstr "游戏服务"

#. type: cindex
#: guix-git/doc/guix.texi:42217
#, fuzzy, no-wrap
msgid "rootless podman, container management tool"
msgstr "无根podman,容器管理工具"

#. type: cindex
#: guix-git/doc/guix.texi:42218
#, fuzzy, no-wrap
msgid "podman, rootless"
msgstr "podman,无根"

#. type: cindex
#: guix-git/doc/guix.texi:42219
#, fuzzy, no-wrap
msgid "container management, podman"
msgstr "软件包管理命令。"

#. type: Plain text
#: guix-git/doc/guix.texi:42221
#, fuzzy
msgid "The @code{(gnu services containers)} module provides the following service."
msgstr "@code{(gnu services containers)}模块提供以下服务。"

#. type: defvar
#: guix-git/doc/guix.texi:42223
#, fuzzy, no-wrap
msgid "rootless-podman-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:42226
#, fuzzy
msgid "This is the service type for @url{https://podman.io, Podman} is a container management tool."
msgstr "这是@url{https://podman.io, Podman}的服务类型,它是一个容器管理工具。"

#. type: defvar
#: guix-git/doc/guix.texi:42233
#, fuzzy
msgid "In addition to providing a drop-in replacement for Docker, Podman offers the ability to run containers in ``root-less'' mode, meaning that regular users can deploy containers without elevated privileges.  It does so mainly by leveraging two Linux kernel features: unprivileged user namespaces, and subordinate user and group IDs (@pxref{subordinate-user-group-ids, the subordinate user and group ID service})."
msgstr "除了提供Docker的替代品外,Podman还提供以“无根”模式运行容器的能力,这意味着普通用户可以在没有提升权限的情况下部署容器。它主要通过利用两个Linux内核特性来实现:无特权用户命名空间和从属用户和组ID(@pxref{subordinate-user-group-ids, 从属用户和组ID服务})。"

#. type: defvar
#: guix-git/doc/guix.texi:42236
#, fuzzy
msgid "The @code{rootless-podman-service-type} sets up the system to allow unprivileged users to run @command{podman} commands:"
msgstr "@code{rootless-podman-service-type} 设置系统以允许非特权用户运行 @command{podman} 命令:"

#. type: lisp
#: guix-git/doc/guix.texi:42239
#, fuzzy, no-wrap
msgid ""
"(use-service-modules containers networking @dots{})\n"
"\n"
msgstr ""
"(use-modules (gnu packages base))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:42246
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (users (cons (user-account\n"
"                (name \"alice\")\n"
"                (comment \"Bob's sister\")\n"
"                (group \"users\")\n"
"\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (users (cons (user-account\n"
"                (name \"alice\")\n"
"                (comment \"Bob的妹妹\")\n"
"                (group \"users\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:42261
#, fuzzy, no-wrap
msgid ""
"                ;; Adding the account to the \"cgroup\" group\n"
"                ;; makes it possible to run podman commands.\n"
"                (supplementary-groups '(\"cgroup\" \"wheel\"\n"
"                                        \"audio\" \"video\")))\n"
"               %base-user-accounts))\n"
"  (services\n"
"    (append (list (service iptables-service-type)\n"
"                  (service rootless-podman-service-type\n"
"                           (rootless-podman-configuration\n"
"                             (subgids\n"
"                               (list (subid-range (name \"alice\"))))\n"
"                             (subuids\n"
"                               (list (subid-range (name \"alice\")))))))\n"
"            %base-services)))\n"
msgstr ""
"                ;; 将账户添加到 \"cgroup\" 组\n"
"                ;; 使得可以运行 podman 命令。\n"
"                (supplementary-groups '(\"cgroup\" \"wheel\"\n"
"                                        \"audio\" \"video\")))\n"
"               %base-user-accounts))\n"
"  (services\n"
"    (append (list (service iptables-service-type)\n"
"                  (service rootless-podman-service-type\n"
"                           (rootless-podman-configuration\n"
"                             (subgids\n"
"                               (list (subid-range (name \"alice\"))))\n"
"                             (subuids\n"
"                               (list (subid-range (name \"alice\")))))))\n"
"            %base-services)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:42266
#, fuzzy
msgid "The @code{iptables-service-type} is required for Podman to be able to setup its own networks.  Due to the change in user groups and file systems it is recommended to reboot (or at least logout), before trying to run Podman commands."
msgstr "@code{iptables-service-type} 是 Podman 能够设置其自身网络所必需的。由于用户组和文件系统的变化,建议在尝试运行 Podman 命令之前重启(或至少注销)。"

#. type: defvar
#: guix-git/doc/guix.texi:42268
#, fuzzy
msgid "To test your installation you can run:"
msgstr "要测试您的安装,您可以运行:"

#. type: example
#: guix-git/doc/guix.texi:42277
#, fuzzy, no-wrap
msgid ""
"$ podman run -it --rm docker.io/alpine cat /etc/*release*\n"
"NAME=\"Alpine Linux\"\n"
"ID=alpine\n"
"VERSION_ID=3.20.2\n"
"PRETTY_NAME=\"Alpine Linux v3.20\"\n"
"HOME_URL=\"https://alpinelinux.org/\"\n"
"BUG_REPORT_URL=\"https://gitlab.alpinelinux.org/alpine/aports/-/issues\"\n"
msgstr ""
"$ podman run -it --rm docker.io/alpine cat /etc/*release*\n"
"NAME=\"Alpine Linux\"\n"
"ID=alpine\n"
"VERSION_ID=3.20.2\n"
"PRETTY_NAME=\"Alpine Linux v3.20\"\n"
"HOME_URL=\"https://alpinelinux.org/\"\n"
"BUG_REPORT_URL=\"https://gitlab.alpinelinux.org/alpine/aports/-/issues\"\n"

#. type: deftp
#: guix-git/doc/guix.texi:42283
#, fuzzy, no-wrap
msgid "{Data Type} rootless-podman-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:42285
#, fuzzy
msgid "Available @code{rootless-podman-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:42287
#, fuzzy, no-wrap
msgid "@code{podman} (default: @code{podman}) (type: package-or-#f)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:42290
#, fuzzy
msgid "The Podman package that will be installed in the system profile.  Pass @code{#f} to not install Podman."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:42291
#, fuzzy, no-wrap
msgid "@code{group-name} (default: @code{\"cgroup\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:42294
#, fuzzy
msgid "The name of the group that will own /sys/fs/cgroup resources.  Users that want to use rootless Podman have to be in this group."
msgstr "将拥有 /sys/fs/cgroup 资源的组的名称。希望使用无根 Podman 的用户必须在此组中。"

#. type: item
#: guix-git/doc/guix.texi:42295
#, fuzzy, no-wrap
msgid "@code{containers-registries} (type: lowerable)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:42298
#, fuzzy
msgid "A string or a gexp evaluating to the path of Podman's @code{containers/registries.conf} configuration file."
msgstr "一个字符串或一个 gexp,评估为 Podman 的 @code{containers/registries.conf} 配置文件的路径。"

#. type: item
#: guix-git/doc/guix.texi:42299
#, fuzzy, no-wrap
msgid "@code{containers-storage} (type: lowerable)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:42302
#, fuzzy
msgid "A string or a gexp evaluating to the path of Podman's @code{containers/storage.conf} configuration file."
msgstr "一个字符串或一个 gexp,评估为 Podman 的 @code{containers/storage.conf} 配置文件的路径。"

#. type: item
#: guix-git/doc/guix.texi:42303
#, fuzzy, no-wrap
msgid "@code{containers-policy} (type: lowerable)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42306
#, fuzzy
msgid "A string or a gexp evaluating to the path of Podman's @code{containers/policy.json} configuration file."
msgstr "一个字符串或一个 gexp,评估为 Podman 的 @code{containers/policy.json} 配置文件的路径。"

#. type: item
#: guix-git/doc/guix.texi:42307
#, fuzzy, no-wrap
msgid "@code{pam-limits} (type: list-of-pam-limits-entries)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42309
#, fuzzy
msgid "The PAM limits to be set for rootless Podman."
msgstr "为无根 Podman 设置的 PAM 限制。"

#. type: item
#: guix-git/doc/guix.texi:42310
#, fuzzy, no-wrap
msgid "@code{subgids} (default: @code{()}) (type: list-of-subid-ranges)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42313
#, fuzzy
msgid "A list of subid ranges representing the subgids that will be available for each configured user."
msgstr "表示每个配置用户可用的 subgids 的 subid 范围列表。"

#. type: item
#: guix-git/doc/guix.texi:42314
#, fuzzy, no-wrap
msgid "@code{subuids} (default: @code{()}) (type: list-of-subid-ranges)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42317
#, fuzzy
msgid "A list of subid ranges representing the subuids that will be available for each configured user."
msgstr "一个子ID范围的列表,表示每个配置用户将可用的子UID。"

#. type: cindex
#: guix-git/doc/guix.texi:42325
#, fuzzy, no-wrap
msgid "OCI-backed, Shepherd services"
msgstr "Shepherd服务"

#. type: subsubheading
#: guix-git/doc/guix.texi:42326
#, fuzzy, no-wrap
msgid "OCI backed services"
msgstr "网络文件系统相关的服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:42334
#, fuzzy
msgid "Should you wish to manage your Docker containers with the same consistent interface you use for your other Shepherd services, @var{oci-container-service-type} is the tool to use: given an @acronym{Open Container Initiative, OCI} container image, it will run it in a Shepherd service.  One example where this is useful: it lets you run services that are available as Docker/OCI images but not yet packaged for Guix."
msgstr "如果您希望使用与其他Shepherd服务相同的一致接口来管理Docker容器,@var{oci-container-service-type}是您需要使用的工具:给定一个@acronym{Open Container Initiative, OCI}容器镜像,它将在Shepherd服务中运行。一个有用的例子是:它允许您运行作为Docker/OCI镜像提供但尚未为Guix打包的服务。"

#. type: defvar
#: guix-git/doc/guix.texi:42335
#, fuzzy, no-wrap
msgid "oci-container-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:42339
#, fuzzy
msgid "This is a thin wrapper around Docker's CLI that executes OCI images backed processes as Shepherd Services."
msgstr "这是Docker CLI的一个薄包装,它将执行OCI镜像支持的进程作为Shepherd服务。"

#. type: lisp
#: guix-git/doc/guix.texi:42365
#, fuzzy, no-wrap
msgid ""
"(service oci-container-service-type\n"
"         (list\n"
"          (oci-container-configuration\n"
"           (network \"host\")\n"
"           (image\n"
"            (oci-image\n"
"             (repository \"guile\")\n"
"             (tag \"3\")\n"
"             (value (specifications->manifest '(\"guile\")))\n"
"             (pack-options '(#:symlinks ((\"/bin/guile\" -> \"bin/guile\"))\n"
"                             #:max-layers 2))))\n"
"           (entrypoint \"/bin/guile\")\n"
"           (command\n"
"            '(\"-c\" \"(display \\\"hello!\\n\\\")\")))\n"
"          (oci-container-configuration\n"
"           (image \"prom/prometheus\")\n"
"           (ports\n"
"             '((\"9000\" . \"9000\")\n"
"               (\"9090\" . \"9090\"))))\n"
"          (oci-container-configuration\n"
"           (image \"grafana/grafana:10.0.1\")\n"
"           (network \"host\")\n"
"           (volumes\n"
"             '(\"/var/lib/grafana:/var/lib/grafana\")))))\n"
msgstr ""
"(service oci-container-service-type\n"
"         (list\n"
"          (oci-container-configuration\n"
"           (network \"host\")\n"
"           (image\n"
"            (oci-image\n"
"             (repository \"guile\")\n"
"             (tag \"3\")\n"
"             (value (specifications->manifest '(\"guile\")))\n"
"             (pack-options '(#:symlinks ((\"/bin/guile\" -> \"bin/guile\"))\n"
"                             #:max-layers 2))))\n"
"           (entrypoint \"/bin/guile\")\n"
"           (command\n"
"            '(\"-c\" \"(display \\\"hello!\\n\\\")\")))\n"
"          (oci-container-configuration\n"
"           (image \"prom/prometheus\")\n"
"           (ports\n"
"             '((\"9000\" . \"9000\")\n"
"               (\"9090\" . \"9090\"))))\n"
"          (oci-container-configuration\n"
"           (image \"grafana/grafana:10.0.1\")\n"
"           (network \"host\")\n"
"           (volumes\n"
"             '(\"/var/lib/grafana:/var/lib/grafana\")))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:42378
#, fuzzy
msgid "In this example three different Shepherd services are going to be added to the system.  Each @code{oci-container-configuration} record translates to a @code{docker run} invocation and its fields directly map to options.  You can refer to the @url{https://docs.docker.com/engine/reference/commandline/run,upstream} documentation for the semantics of each value.  If the images are not found, they will be @url{https://docs.docker.com/engine/reference/commandline/pull/,pulled}.  The services with @code{(network \"host\")} are going to be attached to the host network and are supposed to behave like native processes with regard to networking."
msgstr "在这个例子中,将有三个不同的Shepherd服务被添加到系统中。每个@code{oci-container-configuration}记录转换为一个@code{docker run}调用,其字段直接映射到选项。您可以参考@url{https://docs.docker.com/engine/reference/commandline/run,upstream}文档以了解每个值的语义。如果未找到镜像,它们将被@url{https://docs.docker.com/engine/reference/commandline/pull/,拉取}。带有@code{(network \"host\")}的服务将连接到主机网络,并应在网络方面表现得像本地进程。"

#. type: deftp
#: guix-git/doc/guix.texi:42383
#, fuzzy, no-wrap
msgid "{Data Type} oci-container-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:42385
#, fuzzy
msgid "Available @code{oci-container-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:42387
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"oci-container\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:42389
#, fuzzy
msgid "The user under whose authority docker commands will be run."
msgstr "运行docker命令的用户权限。"

#. type: item
#: guix-git/doc/guix.texi:42390
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"docker\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:42392
#, fuzzy
msgid "The group under whose authority docker commands will be run."
msgstr "运行docker命令的用户组权限。"

#. type: item
#: guix-git/doc/guix.texi:42393
#, fuzzy, no-wrap
msgid "@code{command} (default: @code{'()}) (type: list-of-strings)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42395
#, fuzzy
msgid "Overwrite the default command (@code{CMD}) of the image."
msgstr "覆盖镜像的默认命令(@code{CMD})。"

#. type: item
#: guix-git/doc/guix.texi:42396
#, fuzzy, no-wrap
msgid "@code{entrypoint} (default: @code{\"\"}) (type: string)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:42398
#, fuzzy
msgid "Overwrite the default entrypoint (@code{ENTRYPOINT}) of the image."
msgstr "覆盖镜像的默认入口点(@code{ENTRYPOINT})。"

#. type: item
#: guix-git/doc/guix.texi:42399
#, fuzzy, no-wrap
msgid "@code{host-environment} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42407
#, fuzzy
msgid "Set environment variables in the host environment where @command{docker run} is invoked.  This is especially useful to pass secrets from the host to the container without having them on the @command{docker run}'s command line: by setting the @code{MYSQL_PASSWORD} on the host and by passing @code{--env MYSQL_PASSWORD} through the @code{extra-arguments} field, it is possible to securely set values in the container environment.  This field's value can be a list of pairs or strings, even mixed:"
msgstr "在调用@command{docker run}的主机环境中设置环境变量。这对于将主机上的秘密传递给容器特别有用,而不必在@command{docker run}的命令行中显示它们:通过在主机上设置@code{MYSQL_PASSWORD}并通过@code{extra-arguments}字段传递@code{--env MYSQL_PASSWORD},可以安全地在容器环境中设置值。该字段的值可以是成对或字符串的列表,甚至是混合的:"

#. type: lisp
#: guix-git/doc/guix.texi:42411
#, fuzzy, no-wrap
msgid ""
"(list '(\"LANGUAGE\\\" . \"eo:ca:eu\")\n"
"      \"JAVA_HOME=/opt/java\")\n"
msgstr ""
"(list '(\"LANGUAGE\\\" . \"eo:ca:eu\")\n"
"      \"JAVA_HOME=/opt/java\")\n"

#. type: table
#: guix-git/doc/guix.texi:42415
#, fuzzy
msgid "Pair members can be strings, gexps or file-like objects. Strings are passed directly to @code{make-forkexec-constructor}."
msgstr "对成员可以是字符串、gexps或类文件对象。字符串直接传递给@code{make-forkexec-constructor}。"

#. type: item
#: guix-git/doc/guix.texi:42416
#, fuzzy, no-wrap
msgid "@code{environment} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42418
#, fuzzy
msgid "Set environment variables. This can be a list of pairs or strings, even mixed:"
msgstr "设置环境变量。这可以是成对或字符串的列表,甚至是混合的:"

#. type: lisp
#: guix-git/doc/guix.texi:42422
#, fuzzy, no-wrap
msgid ""
"(list '(\"LANGUAGE\" . \"eo:ca:eu\")\n"
"      \"JAVA_HOME=/opt/java\")\n"
msgstr ""
"(list '(\"LANGUAGE\" . \"eo:ca:eu\")\n"
"      \"JAVA_HOME=/opt/java\")\n"

#. type: table
#: guix-git/doc/guix.texi:42428
#, fuzzy
msgid "Pair members can be strings, gexps or file-like objects.  Strings are passed directly to the Docker CLI.  You can refer to the @uref{https://docs.docker.com/engine/reference/commandline/run/#env,upstream} documentation for semantics."
msgstr "对成员可以是字符串、gexps或类文件对象。字符串直接传递给Docker CLI。您可以参考@uref{https://docs.docker.com/engine/reference/commandline/run/#env,upstream}文档以获取语义。"

#. type: item
#: guix-git/doc/guix.texi:42429
#, fuzzy, no-wrap
msgid "@code{image} (type: string-or-oci-image)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42434
#, fuzzy
msgid "The image used to build the container.  It can be a string or an @code{oci-image} record.  Strings are resolved by the Docker Engine, and follow the usual format @code{myregistry.local:5000/testing/test-image:tag}."
msgstr "用于构建容器的镜像。它可以是字符串或@code{oci-image}记录。字符串由Docker引擎解析,并遵循通常的格式@code{myregistry.local:5000/testing/test-image:tag}。"

#. type: item
#: guix-git/doc/guix.texi:42435
#, fuzzy, no-wrap
msgid "@code{provision} (default: @code{\"\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42437
#, fuzzy
msgid "Set the name of the provisioned Shepherd service."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:42438 guix-git/doc/guix.texi:43354
#, fuzzy, no-wrap
msgid "@code{requirement} (default: @code{'()}) (type: list-of-symbols)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42441
#, fuzzy
msgid "Set additional Shepherd services dependencies to the provisioned Shepherd service."
msgstr "远程机器的主机名。"

#. type: table
#: guix-git/doc/guix.texi:42446
#, fuzzy
msgid "When @code{log-file} is set, it names the file to which the service's standard output and standard error are redirected.  @code{log-file} is created if it does not exist, otherwise it is appended to."
msgstr "当@code{log-file}被设置时,它命名服务的标准输出和标准错误重定向的文件。如果@code{log-file}不存在,则会创建它,否则将追加到该文件。"

#. type: item
#: guix-git/doc/guix.texi:42447
#, fuzzy, no-wrap
msgid "@code{auto-start?} (default: @code{#t}) (type: boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:42450
#, fuzzy
msgid "Whether this service should be started automatically by the Shepherd.  If it is @code{#f}, the service has to be started manually with @command{herd start}."
msgstr "此服务是否应由Shepherd自动启动。如果为@code{#f},则必须手动使用@command{herd start}启动服务。"

#. type: item
#: guix-git/doc/guix.texi:42451
#, fuzzy, no-wrap
msgid "@code{respawn?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42454
#, fuzzy
msgid "Whether to have Shepherd restart the service when it stops, for instance when the underlying process dies."
msgstr "是否让Shepherd在服务停止时重新启动该服务,例如当底层进程死亡时。"

#. type: item
#: guix-git/doc/guix.texi:42455
#, fuzzy, no-wrap
msgid "@code{shepherd-actions} (default: @code{'()}) (type: list-of-symbols)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42458
#, fuzzy
msgid "This is a list of @code{shepherd-action} records defining actions supported by the service."
msgstr "这是一个@code{shepherd-action}记录的列表,定义了服务支持的操作。"

#. type: item
#: guix-git/doc/guix.texi:42459
#, fuzzy, no-wrap
msgid "@code{network} (default: @code{\"\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42461
#, fuzzy
msgid "Set a Docker network for the spawned container."
msgstr "为生成的容器设置 Docker 网络。"

#. type: item
#: guix-git/doc/guix.texi:42462
#, fuzzy, no-wrap
msgid "@code{ports} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42465
#, fuzzy
msgid "Set the port or port ranges to expose from the spawned container.  This can be a list of pairs or strings, even mixed:"
msgstr "设置要从生成的容器中暴露的端口或端口范围。这可以是成对的列表或字符串,甚至是混合的:"

#. type: lisp
#: guix-git/doc/guix.texi:42469
#, fuzzy, no-wrap
msgid ""
"(list '(\"8080\" . \"80\")\n"
"      \"10443:443\")\n"
msgstr ""
"(list '(\"8080\" . \"80\")\n"
"      \"10443:443\")\n"

#. type: table
#: guix-git/doc/guix.texi:42475
#, fuzzy
msgid "Pair members can be strings, gexps or file-like objects.  Strings are passed directly to the Docker CLI.  You can refer to the @uref{https://docs.docker.com/engine/reference/commandline/run/#publish,upstream} documentation for semantics."
msgstr "对成员可以是字符串、gexp 或类文件对象。字符串直接传递给 Docker CLI。您可以参考 @uref{https://docs.docker.com/engine/reference/commandline/run/#publish,upstream} 文档以获取语义。"

#. type: item
#: guix-git/doc/guix.texi:42476
#, fuzzy, no-wrap
msgid "@code{volumes} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42479
#, fuzzy
msgid "Set volume mappings for the spawned container.  This can be a list of pairs or strings, even mixed:"
msgstr "为生成的容器设置卷映射。这可以是成对的列表或字符串,甚至是混合的:"

#. type: lisp
#: guix-git/doc/guix.texi:42483
#, fuzzy, no-wrap
msgid ""
"(list '(\"/root/data/grafana\" . \"/var/lib/grafana\")\n"
"      \"/gnu/store:/gnu/store\")\n"
msgstr ""
"(list '(\"/root/data/grafana\" . \"/var/lib/grafana\")\n"
"      \"/gnu/store:/gnu/store\")\n"

#. type: table
#: guix-git/doc/guix.texi:42489
#, fuzzy
msgid "Pair members can be strings, gexps or file-like objects.  Strings are passed directly to the Docker CLI.  You can refer to the @uref{https://docs.docker.com/engine/reference/commandline/run/#volume,upstream} documentation for semantics."
msgstr "对成员可以是字符串、gexp 或类文件对象。字符串直接传递给 Docker CLI。您可以参考 @uref{https://docs.docker.com/engine/reference/commandline/run/#volume,upstream} 文档以获取语义。"

#. type: item
#: guix-git/doc/guix.texi:42490
#, fuzzy, no-wrap
msgid "@code{container-user} (default: @code{\"\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42494
#, fuzzy
msgid "Set the current user inside the spawned container.  You can refer to the @url{https://docs.docker.com/engine/reference/run/#user,upstream} documentation for semantics."
msgstr "设置生成的容器内的当前用户。您可以参考 @url{https://docs.docker.com/engine/reference/run/#user,upstream} 文档以获取语义。"

#. type: item
#: guix-git/doc/guix.texi:42495
#, fuzzy, no-wrap
msgid "@code{workdir} (default: @code{\"\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:42500
#, fuzzy
msgid "Set the current working directory for the spawned Shepherd service.  You can refer to the @url{https://docs.docker.com/engine/reference/run/#workdir,upstream} documentation for semantics."
msgstr "设置生成的 Shepherd 服务的当前工作目录。您可以参考 @url{https://docs.docker.com/engine/reference/run/#workdir,upstream} 文档以获取语义。"

#. type: item
#: guix-git/doc/guix.texi:42501
#, fuzzy, no-wrap
msgid "@code{extra-arguments} (default: @code{'()}) (type: list)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:42504
#, fuzzy
msgid "A list of strings, gexps or file-like objects that will be directly passed to the @command{docker run} invocation."
msgstr "一个字符串、gexp 或类文件对象的列表,将直接传递给 @command{docker run} 调用。"

#. type: deftp
#: guix-git/doc/guix.texi:42514
#, fuzzy, no-wrap
msgid "{Data Type} oci-image"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:42516
#, fuzzy
msgid "Available @code{oci-image} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:42518 guix-git/doc/guix.texi:43338
#, fuzzy, no-wrap
msgid "@code{repository} (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42521
#, fuzzy
msgid "A string like @code{myregistry.local:5000/testing/test-image} that names the OCI image."
msgstr "一个类似 @code{myregistry.local:5000/testing/test-image} 的字符串,用于命名 OCI 镜像。"

#. type: item
#: guix-git/doc/guix.texi:42522
#, fuzzy, no-wrap
msgid "@code{tag} (default: @code{\"latest\"}) (type: string)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:42524
#, fuzzy
msgid "A string representing the OCI image tag.  Defaults to @code{latest}."
msgstr "表示 OCI 镜像标签的字符串。默认为 @code{latest}。"

#. type: item
#: guix-git/doc/guix.texi:42525
#, fuzzy, no-wrap
msgid "@code{value} (type: oci-lowerable-image)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42529
#, fuzzy
msgid "A @code{manifest} or @code{operating-system} record that will be lowered into an OCI compatible tarball.  Otherwise this field's value can be a gexp or a file-like object that evaluates to an OCI compatible tarball."
msgstr "一个 @code{manifest} 或 @code{operating-system} 记录,将被降级为 OCI 兼容的 tarball。否则,此字段的值可以是 gexp 或评估为 OCI 兼容 tarball 的类文件对象。"

#. type: item
#: guix-git/doc/guix.texi:42530
#, fuzzy, no-wrap
msgid "@code{pack-options} (default: @code{'()}) (type: list)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:42534
#, fuzzy
msgid "An optional set of keyword arguments that will be passed to the @code{docker-image} procedure from @code{guix scripts pack}.  They can be used to replicate @command{guix pack} behavior:"
msgstr "可选的一组关键字参数,将从 @code{guix scripts pack} 传递给 @code{docker-image} 过程。它们可用于复制 @command{guix pack} 的行为:"

#. type: lisp
#: guix-git/doc/guix.texi:42543
#, fuzzy, no-wrap
msgid ""
"(oci-image\n"
"  (repository \"guile\")\n"
"  (tag \"3\")\n"
"  (value\n"
"    (specifications->manifest '(\"guile\")))\n"
"  (pack-options '(#:symlinks ((\"/bin/guile\" -> \"bin/guile\"))\n"
"                  #:max-layers 2)))\n"
msgstr ""
"(oci-image\n"
"  (repository \"guile\")\n"
"  (tag \"3\")\n"
"  (value\n"
"    (specifications->manifest '(\"guile\")))\n"
"  (pack-options '(#:symlinks ((\"/bin/guile\" -> \"bin/guile\"))\n"
"                  #:max-layers 2)))\n"

#. type: table
#: guix-git/doc/guix.texi:42547
#, fuzzy
msgid "If the @code{value} field is an @code{operating-system} record, this field's value will be ignored."
msgstr "如果 @code{value} 字段是 @code{operating-system} 记录,则该字段的值将被忽略。"

#. type: item
#: guix-git/doc/guix.texi:42548
#, fuzzy, no-wrap
msgid "@code{system} (default: @code{\"\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42550
#, fuzzy
msgid "Attempt to build for a given system, e.g.@: \"i686-linux\""
msgstr "尝试为给定系统构建,例如: \"i686-linux\""

#. type: item
#: guix-git/doc/guix.texi:42551
#, fuzzy, no-wrap
msgid "@code{target} (default: @code{\"\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42553
#, fuzzy
msgid "Attempt to cross-build for a given triple, e.g.@: \"aarch64-linux-gnu\""
msgstr "尝试为给定三元组交叉构建,例如: \"aarch64-linux-gnu\""

#. type: item
#: guix-git/doc/guix.texi:42554
#, fuzzy, no-wrap
msgid "@code{grafts?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42556
#, fuzzy
msgid "Whether to allow grafting or not in the pack build."
msgstr "是否允许在包构建中进行 grafting。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:42565
#, fuzzy
msgid "subordinate-user-group-ids"
msgstr "从属用户组 ID"

#. type: cindex
#: guix-git/doc/guix.texi:42565
#, fuzzy, no-wrap
msgid "subordinate user and group IDs"
msgstr "从属用户和组 ID"

#. type: cindex
#: guix-git/doc/guix.texi:42566
#, fuzzy, no-wrap
msgid "subid, subordinate user and group IDs"
msgstr "subid,从属用户和组 ID"

#. type: subsubheading
#: guix-git/doc/guix.texi:42567
#, fuzzy, no-wrap
msgid "Subordinate User and Group ID Service"
msgstr "从属用户和组 ID 服务"

#. type: Plain text
#: guix-git/doc/guix.texi:42577
#, fuzzy
msgid "Among the virtualization facilities implemented by the Linux kernel is the concept of @dfn{subordinate IDs}.  Subordinate IDs allow for mapping user and group IDs inside process namespaces to user and group IDs of the host system.  Subordinate user ID ranges (subuids) allow users to map virtual user IDs inside containers to the user ID of an unprivileged user of the host system.  Subordinate group ID ranges (subgids), instead map virtual group IDs to the group ID of an unprivileged user on the host system.  You can access @code{subuid(5)} and @code{subgid(5)} Linux man pages for more details."
msgstr "在 Linux 内核实现的虚拟化功能中,有 @dfn{从属 ID} 的概念。从属 ID 允许将进程命名空间内的用户和组 ID 映射到主机系统的用户和组 ID。从属用户 ID 范围(subuids)允许用户将容器内的虚拟用户 ID 映射到主机系统的非特权用户 ID。从属组 ID 范围(subgids)则将虚拟组 ID 映射到主机系统上非特权用户的组 ID。有关更多详细信息,您可以访问 @code{subuid(5)} 和 @code{subgid(5)} Linux 手册页。"

#. type: Plain text
#: guix-git/doc/guix.texi:42582
#, fuzzy
msgid "The @code{(gnu system shadow)} module exposes the @code{subids-service-type}, its configuration record @code{subids-configuration} and its extension record @code{subids-extension}."
msgstr "@code{(gnu system shadow)} 模块暴露了 @code{subids-service-type}、其配置记录 @code{subids-configuration} 和其扩展记录 @code{subids-extension}。"

#. type: Plain text
#: guix-git/doc/guix.texi:42585
#, fuzzy
msgid "With @code{subids-service-type}, subuids and subgids ranges can be reserved for users that desire so:"
msgstr "使用 @code{subids-service-type},可以为希望这样做的用户保留 subuids 和 subgids 范围:"

#. type: lisp
#: guix-git/doc/guix.texi:42590 guix-git/doc/guix.texi:42643
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu system shadow)     ;for 'subids-service-type'\n"
"             (gnu system accounts)   ;for 'subid-range'\n"
"             @dots{})\n"
"\n"
msgstr ""
"(use-modules (gnu system shadow)     ;用于 'subids-service-type'\n"
"             (gnu system accounts)   ;用于 'subid-range'\n"
"             @dots{})\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:42606
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services\n"
"    (list\n"
"      (simple-service 'alice-bob-subids\n"
"                      subids-service-type\n"
"                      (subids-extension\n"
"                        (subgids\n"
"                         (list\n"
"                          (subid-range (name \"alice\"))))\n"
"                        (subuids\n"
"                         (list\n"
"                          (subid-range (name \"alice\"))\n"
"                          (subid-range (name \"bob\")\n"
"                                       (start 100700)))))))))\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services\n"
"    (list\n"
"      (simple-service 'alice-bob-subids\n"
"                      subids-service-type\n"
"                      (subids-extension\n"
"                        (subgids\n"
"                         (list\n"
"                          (subid-range (name \"alice\"))))\n"
"                        (subuids\n"
"                         (list\n"
"                          (subid-range (name \"alice\"))\n"
"                          (subid-range (name \"bob\")\n"
"                                       (start 100700)))))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:42615
#, fuzzy
msgid "Users (definitely other services), usually, are supposed to extend the service instead of adding subids directly to @code{subids-configuration}, unless the want to change the default behavior for root.  With default settings the @code{subids-service-type} adds, if it's not already there, a configuration for the root account to both @file{/etc/subuid} and @file{/etc/subgid}, possibly starting at the minimum possible subid.  Otherwise the root subuids and subgids ranges are fitted wherever possible."
msgstr "用户(肯定还有其他服务)通常应该扩展服务,而不是直接将 subids 添加到 @code{subids-configuration} 中,除非他们想要更改 root 的默认行为。使用默认设置,@code{subids-service-type} 会在 @file{/etc/subuid} 和 @file{/etc/subgid} 中添加 root 账户的配置(如果尚未存在),可能从最小的 subid 开始。否则,root 的 subuids 和 subgids 范围会尽可能适配。"

#. type: Plain text
#: guix-git/doc/guix.texi:42617
#, fuzzy
msgid "The above configuration will yield the following:"
msgstr "目前这些平台提供软件包:"

#. type: example
#: guix-git/doc/guix.texi:42626
#, fuzzy, no-wrap
msgid ""
"# cat /etc/subgid\n"
"root:100000:65536\n"
"alice:165536:65536\n"
"# cat /etc/subuid\n"
"root:100000:700\n"
"bob:100700:65536\n"
"alice:166236:65536\n"
msgstr ""
"# cat /etc/subgid  \n"
"root:100000:65536  \n"
"alice:165536:65536  \n"
"# cat /etc/subuid  \n"
"root:100000:700  \n"
"bob:100700:65536  \n"
"alice:166236:65536\n"

#. type: deftp
#: guix-git/doc/guix.texi:42630
#, fuzzy, no-wrap
msgid "{Data Type} subids-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:42638
#, fuzzy
msgid "With default settings the @code{subids-service-type} adds, if it's not already there, a configuration for the root account to both @file{/etc/subuid} and @file{/etc/subgid}, possibly starting at the minimum possible subid.  To disable the default behavior and provide your own definition for the root subid ranges you can set to @code{#f} the @code{add-root?} field:"
msgstr "在默认设置下,@code{subids-service-type} 会添加一个配置给 root 账户到 @file{/etc/subuid} 和 @file{/etc/subgid},如果它还不存在的话,可能从最小的 subid 开始。要禁用默认行为并提供您自己的 root subid 范围定义,您可以将 @code{add-root?} 字段设置为 @code{#f}:"

#. type: lisp
#: guix-git/doc/guix.texi:42670
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (services\n"
"    (list\n"
"      (service subids-service-type\n"
"               (subids-configuration\n"
"                (add-root? #f)\n"
"                (subgids\n"
"                  (subid-range (name \"root\")\n"
"                               (start 120000)\n"
"                               (count 100)))\n"
"                (subuids\n"
"                  (subid-range (name \"root\")\n"
"                               (start 120000)\n"
"                               (count 100)))))\n"
"      (simple-service 'alice-bob-subids\n"
"                      subids-service-type\n"
"                      (subids-extension\n"
"                        (subgids\n"
"                         (list\n"
"                          (subid-range (name \"alice\"))))\n"
"                        (subuids\n"
"                         (list\n"
"                          (subid-range (name \"alice\"))\n"
"                          (subid-range (name \"bob\")\n"
"                                       (start 100700)))))))))\n"
msgstr ""
"(操作系统  \n"
"  ;; @dots{}  \n"
"  (服务  \n"
"    (列表  \n"
"      (服务 subids-service-type  \n"
"               (subids-configuration  \n"
"                (add-root? #f)  \n"
"                (subgids  \n"
"                  (subid-range (name \"root\")  \n"
"                               (start 120000)  \n"
"                               (count 100)))  \n"
"                (subuids  \n"
"                  (subid-range (name \"root\")  \n"
"                               (start 120000)  \n"
"                               (count 100)))))  \n"
"      (simple-service 'alice-bob-subids  \n"
"                      subids-service-type  \n"
"                      (subids-extension  \n"
"                        (subgids  \n"
"                         (列表  \n"
"                          (subid-range (name \"alice\"))))  \n"
"                        (subuids  \n"
"                         (列表  \n"
"                          (subid-range (name \"alice\"))  \n"
"                          (subid-range (name \"bob\")  \n"
"                                       (start 100700)))))))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:42673
#, fuzzy
msgid "Available @code{subids-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:42675
#, fuzzy, no-wrap
msgid "@code{add-root?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42677
#, fuzzy
msgid "Whether to automatically configure subuids and subgids for root."
msgstr "是否自动为 root 配置 subuids 和 subgids。"

#. type: item
#: guix-git/doc/guix.texi:42678 guix-git/doc/guix.texi:42704
#, fuzzy, no-wrap
msgid "@code{subgids} (default: @code{'()}) (type: list-of-subid-ranges)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42683
#, fuzzy
msgid "The list of @code{subid-range}s that will be serialized to @code{/etc/subgid}.  If a range doesn't specify a start it will be fitted based on its number of requested subids.  If a range doesn't specify a count the default size of 65536 will be assumed."
msgstr "将序列化到 @code{/etc/subgid} 的 @code{subid-range} 列表。如果一个范围没有指定起始值,它将根据请求的 subids 数量进行调整。如果一个范围没有指定计数,将假定默认大小为 65536。"

#. type: item
#: guix-git/doc/guix.texi:42684 guix-git/doc/guix.texi:42709
#, fuzzy, no-wrap
msgid "@code{subuids} (default: @code{'()}) (type: list-of-subid-ranges)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42689
#, fuzzy
msgid "The list of @code{subid-range}s that will be serialized to @code{/etc/subuid}.  If a range doesn't specify a start it will be fitted based on its number of requested subids.  If a range doesn't specify a count the default size of 65536 will be assumed."
msgstr "将序列化到 @code{/etc/subuid} 的 @code{subid-range} 列表。如果一个范围没有指定起始值,它将根据请求的 subids 数量进行调整。如果一个范围没有指定计数,将假定默认大小为 65536。"

#. type: deftp
#: guix-git/doc/guix.texi:42698
#, fuzzy, no-wrap
msgid "{Data Type} subids-extension"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:42701
#, fuzzy
msgid "Available @code{subids-extension} fields are:"
msgstr "{数据类型} build-machine"

#. type: table
#: guix-git/doc/guix.texi:42708
#, fuzzy
msgid "The list of @code{subid-range}s that will be appended to @code{subids-configuration-subgids}.  Entries with the same name are deduplicated upon merging."
msgstr "将附加到 @code{subids-configuration-subgids} 的 @code{subid-range} 列表。 合并时具有相同名称的条目会被去重。"

#. type: table
#: guix-git/doc/guix.texi:42713
#, fuzzy
msgid "The list of @code{subid-range}s that will be appended to @code{subids-configuration-subuids}.  Entries with the same name are deduplicated upon merging."
msgstr "将附加到 @code{subids-configuration-subuids} 的 @code{subid-range} 列表。 合并时具有相同名称的条目会被去重。"

#. type: deftp
#: guix-git/doc/guix.texi:42722
#, fuzzy, no-wrap
msgid "{Data Type} subid-range"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:42726
#, fuzzy
msgid "The @code{subid-range} record is defined at @code{(gnu system accounts)}.  Available fields are:"
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:42731
#, fuzzy
msgid "The name of the user or group that will own this range."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:42732
#, fuzzy, no-wrap
msgid "@code{start} (default: @code{#f}) (type: integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:42735
#, fuzzy
msgid "The first requested subid.  When false the first available subid with enough contiguous subids will be assigned."
msgstr "请求的第一个 subid。 当为 false 时,将分配第一个可用的具有足够连续 subid 的 subid。"

#. type: item
#: guix-git/doc/guix.texi:42736
#, fuzzy, no-wrap
msgid "@code{count} (default: @code{#f}) (type: integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:42739
#, fuzzy
msgid "The number of total allocated subids.  When #f the default of 65536 will be assumed ."
msgstr "总分配的 subid 数量。 当为 #f 时,将假定默认值为 65536。"

#. type: cindex
#: guix-git/doc/guix.texi:42746
#, fuzzy, no-wrap
msgid "Audit"
msgstr "审计"

#. type: subsubheading
#: guix-git/doc/guix.texi:42747
#, fuzzy, no-wrap
msgid "Auditd Service"
msgstr "音频服务"

#. type: Plain text
#: guix-git/doc/guix.texi:42750
#, fuzzy
msgid "The @code{(gnu services auditd)} module provides the following service."
msgstr "@code{(gnu services auditd)} 模块提供以下服务。"

#. type: defvar
#: guix-git/doc/guix.texi:42751
#, fuzzy, no-wrap
msgid "auditd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:42756
#, fuzzy
msgid "This is the type of the service that runs @url{https://people.redhat.com/sgrubb/audit/,auditd}, a daemon that tracks security-relevant information on your system."
msgstr "这是运行 @url{https://people.redhat.com/sgrubb/audit/,auditd} 的服务类型,auditd 是一个跟踪系统上与安全相关信息的守护进程。"

#. type: defvar
#: guix-git/doc/guix.texi:42758
#, fuzzy
msgid "Examples of things that can be tracked:"
msgstr "可以跟踪的内容示例:"

#. type: enumerate
#: guix-git/doc/guix.texi:42762
#, fuzzy
msgid "File accesses"
msgstr "文件系统"

#. type: enumerate
#: guix-git/doc/guix.texi:42764
#, fuzzy
msgid "System calls"
msgstr "系统安装"

#. type: enumerate
#: guix-git/doc/guix.texi:42766
#, fuzzy
msgid "Invoked commands"
msgstr "调用的命令"

#. type: enumerate
#: guix-git/doc/guix.texi:42768
#, fuzzy
msgid "Failed login attempts"
msgstr "登录失败尝试"

#. type: enumerate
#: guix-git/doc/guix.texi:42770
#, fuzzy
msgid "Firewall filtering"
msgstr "防火墙过滤"

#. type: enumerate
#: guix-git/doc/guix.texi:42772
#, fuzzy
msgid "Network access"
msgstr "网络服务"

#. type: defvar
#: guix-git/doc/guix.texi:42783
#, fuzzy
msgid "@command{auditctl} from the @code{audit} package can be used in order to add or remove events to be tracked (until the next reboot).  In order to permanently track events, put the command line arguments of auditctl into a file called @code{audit.rules} in the configuration directory (see below).  @command{aureport} from the @code{audit} package can be used in order to view a report of all recorded events.  The audit daemon by default logs into the file @file{/var/log/audit.log}."
msgstr "@command{auditctl} 来自 @code{audit} 包,可用于添加或删除要跟踪的事件(直到下次重启)。 要永久跟踪事件,请将 auditctl 的命令行参数放入名为 @code{audit.rules} 的文件中,该文件位于配置目录中(见下文)。 @command{aureport} 来自 @code{audit} 包,可用于查看所有记录事件的报告。 默认情况下,审计守护进程记录到文件 @file{/var/log/audit.log} 中。"

#. type: deftp
#: guix-git/doc/guix.texi:42786
#, fuzzy, no-wrap
msgid "{Data Type} auditd-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:42788
#, fuzzy
msgid "This is the data type representing the configuration of auditd."
msgstr "这是表示 auditd 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:42791
#, fuzzy, no-wrap
msgid "@code{audit} (default: @code{audit})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:42793
#, fuzzy
msgid "The audit package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:42794
#, fuzzy, no-wrap
msgid "@code{configuration-directory} (default: @code{%default-auditd-configuration-directory})"
msgstr "@code{configuration-directory}(默认:@code{%default-auditd-configuration-directory})"

#. type: table
#: guix-git/doc/guix.texi:42798
#, fuzzy
msgid "The directory containing the configuration file for the audit package, which must be named @code{auditd.conf}, and optionally some audit rules to instantiate on startup."
msgstr "包含审计包配置文件的目录,该文件必须命名为 @code{auditd.conf},并可选地包含一些在启动时实例化的审计规则。"

#. type: cindex
#: guix-git/doc/guix.texi:42802
#, fuzzy, no-wrap
msgid "rshiny"
msgstr "rshiny"

#. type: subsubheading
#: guix-git/doc/guix.texi:42803
#, fuzzy, no-wrap
msgid "R-Shiny service"
msgstr "电话服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:42806
#, fuzzy
msgid "The @code{(gnu services science)} module provides the following service."
msgstr "@code{(gnu services science)} 模块提供以下服务。"

#. type: defvar
#: guix-git/doc/guix.texi:42807
#, fuzzy, no-wrap
msgid "rshiny-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:42812
#, fuzzy
msgid "This is a type of service which is used to run a webapp created with @code{r-shiny}.  This service sets the @env{R_LIBS_USER} environment variable and runs the provided script to call @code{runApp}."
msgstr "这是一种用于运行使用 @code{r-shiny} 创建的 webapp 的服务。 此服务设置 @env{R_LIBS_USER} 环境变量并运行提供的脚本以调用 @code{runApp}。"

#. type: deftp
#: guix-git/doc/guix.texi:42813
#, fuzzy, no-wrap
msgid "{Data Type} rshiny-configuration"
msgstr "{数据类型} rshiny-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:42815
#, fuzzy
msgid "This is the data type representing the configuration of rshiny."
msgstr "这是表示 rshiny 配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:42818
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{r-shiny})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42820
#, fuzzy
msgid "The package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:42821
#, fuzzy, no-wrap
msgid "@code{binary} (default @code{\"rshiny\"})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:42824
#, fuzzy
msgid "The name of the binary or shell script located at @code{package/bin/} to run when the service is run."
msgstr "在服务运行时要运行的位于 @code{package/bin/} 的二进制文件或 shell 脚本的名称。"

#. type: table
#: guix-git/doc/guix.texi:42826
#, fuzzy
msgid "The common way to create this file is as follows:"
msgstr "创建此文件的常见方法如下:"

#. type: lisp
#: guix-git/doc/guix.texi:42843
#, fuzzy, no-wrap
msgid ""
"@dots{}\n"
"(let* ((out       (assoc-ref %outputs \"out\"))\n"
"       (targetdir (string-append out \"/share/\" ,name))\n"
"       (app       (string-append out \"/bin/\" ,name))\n"
"       (Rbin      (search-input-file %build-inputs \"/bin/Rscript\")))\n"
"  ;; @dots{}\n"
"  (mkdir-p (string-append out \"/bin\"))\n"
"  (call-with-output-file app\n"
"    (lambda (port)\n"
"      (format port\n"
"\"#!~a\n"
"library(shiny)\n"
"setwd(\\\"~a\\\")\n"
"runApp(launch.browser=0, port=4202)~%\\n\"\n"
"      Rbin targetdir))))\n"
msgstr ""
"@dots{}\n"
"(let* ((out       (assoc-ref %outputs \"out\"))\n"
"       (targetdir (string-append out \"/share/\" ,name))\n"
"       (app       (string-append out \"/bin/\" ,name))\n"
"       (Rbin      (search-input-file %build-inputs \"/bin/Rscript\")))\n"
"  ;; @dots{}\n"
"  (mkdir-p (string-append out \"/bin\"))\n"
"  (call-with-output-file app\n"
"    (lambda (port)\n"
"      (format port\n"
"\"#!~a\n"
"library(shiny)\n"
"setwd(\\\"~a\\\")\n"
"runApp(launch.browser=0, port=4202)~%\\n\"\n"
"      Rbin targetdir))))\n"

#. type: cindex
#: guix-git/doc/guix.texi:42849
#, fuzzy, no-wrap
msgid "Nix"
msgstr "Nix"

#. type: subsubheading
#: guix-git/doc/guix.texi:42850
#, fuzzy, no-wrap
msgid "Nix service"
msgstr "DNS服务"

#. type: Plain text
#: guix-git/doc/guix.texi:42853
#, fuzzy
msgid "The @code{(gnu services nix)} module provides the following service."
msgstr "@code{(gnu services nix)} 模块提供以下服务。"

#. type: defvar
#: guix-git/doc/guix.texi:42854
#, fuzzy, no-wrap
msgid "nix-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:42859
#, fuzzy
msgid "This is the type of the service that runs build daemon of the @url{https://nixos.org/nix/, Nix} package manager.  Here is an example showing how to use it:"
msgstr "这是运行 @url{https://nixos.org/nix/, Nix} 包管理器构建守护进程的服务类型。以下是一个示例,展示如何使用它:"

#. type: lisp
#: guix-git/doc/guix.texi:42864
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu))\n"
"(use-service-modules nix)\n"
"(use-package-modules package-management)\n"
"\n"
msgstr ""
"(use-modules (gnu))\n"
"(use-service-modules nix)\n"
"(use-package-modules package-management)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:42869
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (packages (append (list nix)\n"
"                    %base-packages))\n"
"\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (packages (append (list nix)\n"
"                    %base-packages))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:42872
#, fuzzy, no-wrap
msgid ""
"  (services (append (list (service nix-service-type))\n"
"                    %base-services)))\n"
msgstr ""
"  (services (append (list (service nix-service-type))\n"
"                    %base-services)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:42875
#, fuzzy
msgid "After @command{guix system reconfigure} configure Nix for your user:"
msgstr "在 @command{guix system reconfigure} 之后,为您的用户配置 Nix:"

#. type: item
#: guix-git/doc/guix.texi:42877
#, fuzzy, no-wrap
msgid "Add a Nix channel and update it.  See"
msgstr "添加一个 Nix 通道并更新它。请参见"

#. type: itemize
#: guix-git/doc/guix.texi:42881
#, fuzzy
msgid "@url{https://wiki.nixos.org/wiki/Nix_channels, Nix channels} for more information about the available channels.  If you would like to use the unstable Nix channel you can do this by running:"
msgstr "@url{https://wiki.nixos.org/wiki/Nix_channels, Nix channels} 以获取有关可用通道的更多信息。如果您想使用不稳定的 Nix 通道,可以通过运行以下命令来实现:"

#. type: example
#: guix-git/doc/guix.texi:42885
#, fuzzy, no-wrap
msgid ""
"$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable\n"
"$ nix-channel --update\n"
msgstr ""
"$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable\n"
"$ nix-channel --update\n"

#. type: item
#: guix-git/doc/guix.texi:42887
#, fuzzy, no-wrap
msgid "Create your Nix profile directory:"
msgstr "创建您的 Nix 配置文件目录:"

#. type: example
#: guix-git/doc/guix.texi:42892
#, fuzzy, no-wrap
msgid ""
"$ sudo mkdir -p /nix/var/nix/profiles/per-user/$USER\n"
"$ sudo chown $USER:root /nix/var/nix/profiles/per-user/$USER\n"
msgstr ""
"$ sudo mkdir -p /nix/var/nix/profiles/per-user/$USER\n"
"$ sudo chown $USER:root /nix/var/nix/profiles/per-user/$USER\n"

#. type: item
#: guix-git/doc/guix.texi:42894
#, fuzzy, no-wrap
msgid "Create a symlink to your profile and activate Nix profile:"
msgstr "创建指向您的配置文件的符号链接并激活 Nix 配置文件:"

#. type: example
#: guix-git/doc/guix.texi:42899
#, fuzzy, no-wrap
msgid ""
"$ ln -s \"/nix/var/nix/profiles/per-user/$USER/profile\" ~/.nix-profile\n"
"$ source /run/current-system/profile/etc/profile.d/nix.sh\n"
msgstr ""
"$ ln -s \"/nix/var/nix/profiles/per-user/$USER/profile\" ~/.nix-profile\n"
"$ source /run/current-system/profile/etc/profile.d/nix.sh\n"

#. type: deftp
#: guix-git/doc/guix.texi:42905
#, fuzzy, no-wrap
msgid "{Data Type} nix-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:42907
#, fuzzy
msgid "This data type represents the configuration of the Nix daemon."
msgstr "此数据类型表示 Nix 守护进程的配置。"

#. type: item
#: guix-git/doc/guix.texi:42909
#, fuzzy, no-wrap
msgid "@code{nix} (default: @code{nix})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:42911
#, fuzzy
msgid "The Nix package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:42912
#, fuzzy, no-wrap
msgid "@code{sandbox} (default: @code{#t})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:42914
#, fuzzy
msgid "Specifies whether builds are sandboxed by default."
msgstr "指定构建是否默认在沙箱中进行。"

#. type: item
#: guix-git/doc/guix.texi:42915
#, fuzzy, no-wrap
msgid "@code{build-directory} (default: @code{\"/tmp\"})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:42919
#, fuzzy
msgid "The directory where build directory are stored during builds.  This is useful to change if, for example, the default location does not have enough space to hold build trees for big packages."
msgstr "构建期间存储构建目录的目录。如果默认位置没有足够的空间来容纳大型包的构建树,则更改此位置是有用的。"

#. type: table
#: guix-git/doc/guix.texi:42923
#, fuzzy
msgid "This is similar to setting the @env{TMPDIR} environment variable for @command{guix-daemon}.  @ref{Build Environment Setup, @env{TMPDIR}}, for more info."
msgstr "这类似于为 @command{guix-daemon} 设置 @env{TMPDIR} 环境变量。有关更多信息,请参见 @ref{Build Environment Setup, @env{TMPDIR}}。"

#. type: item
#: guix-git/doc/guix.texi:42924
#, fuzzy, no-wrap
msgid "@code{build-sandbox-items} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:42927
#, fuzzy
msgid "This is a list of strings or objects appended to the @code{build-sandbox-items} field of the configuration file."
msgstr "这是一个字符串或对象的列表,附加到配置文件的 @code{build-sandbox-items} 字段。"

#. type: table
#: guix-git/doc/guix.texi:42935
#, fuzzy
msgid "Extra command line options for @code{nix-service-type}."
msgstr "@code{nix-service-type} 的额外命令行选项。"

#. type: cindex
#: guix-git/doc/guix.texi:42938
#, fuzzy, no-wrap
msgid "Fail2Ban"
msgstr "Fail2Ban"

#. type: subsubheading
#: guix-git/doc/guix.texi:42939
#, fuzzy, no-wrap
msgid "Fail2Ban service"
msgstr "邮件服务"

#. type: Plain text
#: guix-git/doc/guix.texi:42945
#, fuzzy
msgid "@uref{http://www.fail2ban.org/, @code{fail2ban}} scans log files (e.g. @code{/var/log/apache/error_log}) and bans IP addresses that show malicious signs -- repeated password failures, attempts to make use of exploits, etc."
msgstr "@uref{http://www.fail2ban.org/, @code{fail2ban}} 扫描日志文件(例如 @code{/var/log/apache/error_log}),并禁止显示恶意迹象的 IP 地址——重复的密码失败、尝试利用漏洞等。"

#. type: Plain text
#: guix-git/doc/guix.texi:42948
#, fuzzy
msgid "@code{fail2ban-service-type} service type is provided by the @code{(gnu services security)} module."
msgstr "@code{fail2ban-service-type} 服务类型由 @code{(gnu services security)} 模块提供。"

#. type: Plain text
#: guix-git/doc/guix.texi:42951
#, fuzzy
msgid "This service type runs the @code{fail2ban} daemon.  It can be configured in various ways, which are:"
msgstr "该服务类型运行 @code{fail2ban} 守护进程。可以通过多种方式进行配置,具体如下:"

#. type: item
#: guix-git/doc/guix.texi:42953
#, fuzzy, no-wrap
msgid "Basic configuration"
msgstr "系统配置"

#. type: table
#: guix-git/doc/guix.texi:42956
#, fuzzy
msgid "The basic parameters of the Fail2Ban service can be configured via its @code{fail2ban} configuration, which is documented below."
msgstr "Fail2Ban 服务的基本参数可以通过其 @code{fail2ban} 配置进行配置,具体文档如下。"

#. type: item
#: guix-git/doc/guix.texi:42957
#, fuzzy, no-wrap
msgid "User-specified jail extensions"
msgstr "用户指定的监狱扩展"

#. type: table
#: guix-git/doc/guix.texi:42960
#, fuzzy
msgid "The @code{fail2ban-jail-service} function can be used to add new Fail2Ban jails."
msgstr "@code{fail2ban-jail-service} 函数可用于添加新的 Fail2Ban 监狱。"

#. type: item
#: guix-git/doc/guix.texi:42961
#, fuzzy, no-wrap
msgid "Shepherd extension mechanism"
msgstr "Shepherd 扩展机制"

#. type: table
#: guix-git/doc/guix.texi:42964
#, fuzzy
msgid "Service developers can extend the @code{fail2ban-service-type} service type itself via the usual service extension mechanism."
msgstr "服务开发人员可以通过常规的服务扩展机制扩展 @code{fail2ban-service-type} 服务类型本身。"

#. type: defvar
#: guix-git/doc/guix.texi:42966
#, fuzzy, no-wrap
msgid "fail2ban-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:42970
#, fuzzy
msgid "This is the type of the service that runs @code{fail2ban} daemon.  Below is an example of a basic, explicit configuration:"
msgstr "这是运行 @code{fail2ban} 守护进程的服务类型。以下是基本显式配置的示例:"

#. type: lisp
#: guix-git/doc/guix.texi:42985
#, fuzzy, no-wrap
msgid ""
"(append\n"
" (list\n"
"  (service fail2ban-service-type\n"
"           (fail2ban-configuration\n"
"            (extra-jails\n"
"             (list\n"
"              (fail2ban-jail-configuration\n"
"               (name \"sshd\")\n"
"               (enabled? #t))))))\n"
"  ;; There is no implicit dependency on an actual SSH\n"
"  ;; service, so you need to provide one.\n"
"  (service openssh-service-type))\n"
" %base-services)\n"
msgstr ""
"(append\n"
" (list\n"
"  (service fail2ban-service-type\n"
"           (fail2ban-configuration\n"
"            (extra-jails\n"
"             (list\n"
"              (fail2ban-jail-configuration\n"
"               (name \"sshd\")\n"
"               (enabled? #t))))))\n"
"  ;; 没有对实际 SSH 服务的隐式依赖,\n"
"  ;; 所以你需要提供一个。\n"
"  (service openssh-service-type))\n"
" %base-services)\n"

#. type: deffn
#: guix-git/doc/guix.texi:42988
#, fuzzy, no-wrap
msgid "{Procedure} fail2ban-jail-service svc-type jail"
msgstr "邮件服务"

#. type: deffn
#: guix-git/doc/guix.texi:42991
#, fuzzy
msgid "Extend @var{svc-type}, a @code{<service-type>} object with @var{jail}, a @code{fail2ban-jail-configuration} object."
msgstr "扩展 @var{svc-type},一个 @code{<service-type>} 对象与 @var{jail},一个 @code{fail2ban-jail-configuration} 对象。"

#. type: lisp
#: guix-git/doc/guix.texi:43007
#, fuzzy, no-wrap
msgid ""
"(append\n"
" (list\n"
"  (service\n"
"   ;; The 'fail2ban-jail-service' procedure can extend any service type\n"
"   ;; with a fail2ban jail.  This removes the requirement to explicitly\n"
"   ;; extend services with fail2ban-service-type.\n"
"   (fail2ban-jail-service\n"
"    openssh-service-type\n"
"    (fail2ban-jail-configuration\n"
"     (name \"sshd\")\n"
"     (enabled? #t)))\n"
"   (openssh-configuration ...))))\n"
msgstr ""
"(append\n"
" (list\n"
"  (service\n"
"   ;; 'fail2ban-jail-service' 过程可以用 fail2ban 监狱扩展任何服务类型。\n"
"   ;; 这消除了明确扩展服务与 fail2ban-service-type 的要求。\n"
"   (fail2ban-jail-service\n"
"    openssh-service-type\n"
"    (fail2ban-jail-configuration\n"
"     (name \"sshd\")\n"
"     (enabled? #t)))\n"
"   (openssh-configuration ...))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:43012
#, fuzzy
msgid "Below is the reference for the different @code{jail-service-type} configuration records."
msgstr "以下是不同 @code{jail-service-type} 配置记录的参考。"

#. type: deftp
#: guix-git/doc/guix.texi:43017
#, fuzzy, no-wrap
msgid "{Data Type} fail2ban-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:43019
#, fuzzy
msgid "Available @code{fail2ban-configuration} fields are:"
msgstr "可用的 @code{fail2ban-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:43021
#, fuzzy, no-wrap
msgid "@code{fail2ban} (default: @code{fail2ban}) (type: package)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43025
#, fuzzy
msgid "The @code{fail2ban} package to use.  It is used for both binaries and as base default configuration that is to be extended with @code{<fail2ban-jail-configuration>} objects."
msgstr "要使用的 @code{fail2ban} 包。它用于二进制文件和作为基础默认配置,需通过 @code{<fail2ban-jail-configuration>} 对象进行扩展。"

#. type: item
#: guix-git/doc/guix.texi:43026
#, fuzzy, no-wrap
msgid "@code{run-directory} (default: @code{\"/var/run/fail2ban\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43028
#, fuzzy
msgid "The state directory for the @code{fail2ban} daemon."
msgstr "@code{fail2ban} 守护进程的状态目录。"

#. type: item
#: guix-git/doc/guix.texi:43029
#, fuzzy, no-wrap
msgid "@code{jails} (default: @code{'()}) (type: list-of-fail2ban-jail-configurations)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43032
#, fuzzy
msgid "Instances of @code{<fail2ban-jail-configuration>} collected from extensions."
msgstr "从扩展中收集的 @code{<fail2ban-jail-configuration>} 实例。"

#. type: item
#: guix-git/doc/guix.texi:43033
#, fuzzy, no-wrap
msgid "@code{extra-jails} (default: @code{'()}) (type: list-of-fail2ban-jail-configurations)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:43035
#, fuzzy
msgid "Instances of @code{<fail2ban-jail-configuration>} explicitly provided."
msgstr "显式提供的 @code{<fail2ban-jail-configuration>} 实例。"

#. type: item
#: guix-git/doc/guix.texi:43036 guix-git/doc/guix.texi:43165
#, fuzzy, no-wrap
msgid "@code{extra-content} (default: @code{'()}) (type: text-config)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43039
#, fuzzy
msgid "Extra raw content to add to the end of the @file{jail.local} file, provided as a list of file-like objects."
msgstr "要添加到 @file{jail.local} 文件末尾的额外原始内容,以文件对象列表的形式提供。"

#. type: deftp
#: guix-git/doc/guix.texi:43044
#, fuzzy, no-wrap
msgid "{Data Type} fail2ban-ignore-cache-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:43046
#, fuzzy
msgid "Available @code{fail2ban-ignore-cache-configuration} fields are:"
msgstr "可用的 @code{fail2ban-ignore-cache-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:43048
#, fuzzy, no-wrap
msgid "@code{key} (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43050
#, fuzzy
msgid "Cache key."
msgstr "缓存键。"

#. type: item
#: guix-git/doc/guix.texi:43051
#, fuzzy, no-wrap
msgid "@code{max-count} (type: integer)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43053
#, fuzzy
msgid "Cache size."
msgstr "缓存大小。"

#. type: item
#: guix-git/doc/guix.texi:43054
#, fuzzy, no-wrap
msgid "@code{max-time} (type: integer)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43056
#, fuzzy
msgid "Cache time."
msgstr "缓存时间。"

#. type: deftp
#: guix-git/doc/guix.texi:43061
#, fuzzy, no-wrap
msgid "{Data Type} fail2ban-jail-action-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:43063
#, fuzzy
msgid "Available @code{fail2ban-jail-action-configuration} fields are:"
msgstr "可用的 @code{fail2ban-jail-action-configuration} 字段有:"

#. type: table
#: guix-git/doc/guix.texi:43067
#, fuzzy
msgid "Action name."
msgstr "动作名称。"

#. type: item
#: guix-git/doc/guix.texi:43068
#, fuzzy, no-wrap
msgid "@code{arguments} (default: @code{'()}) (type: list-of-arguments)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:43070
#, fuzzy
msgid "Action arguments."
msgstr "动作参数。"

#. type: deftp
#: guix-git/doc/guix.texi:43075
#, fuzzy, no-wrap
msgid "{Data Type} fail2ban-jail-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:43077
#, fuzzy
msgid "Available @code{fail2ban-jail-configuration} fields are:"
msgstr "可用的 @code{fail2ban-jail-configuration} 字段有:"

#. type: table
#: guix-git/doc/guix.texi:43081
#, fuzzy
msgid "Required name of this jail configuration."
msgstr "这个用户手册的许可证。"

#. type: table
#: guix-git/doc/guix.texi:43084
#, fuzzy
msgid "Whether this jail is enabled."
msgstr "此监狱是否启用。"

#. type: item
#: guix-git/doc/guix.texi:43085
#, fuzzy, no-wrap
msgid "@code{backend} (type: maybe-symbol)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43089
#, fuzzy
msgid "Backend to use to detect changes in the @code{log-path}.  The default is 'auto.  To consult the defaults of the jail configuration, refer to the @file{/etc/fail2ban/jail.conf} file of the @code{fail2ban} package."
msgstr "用于检测 @code{log-path} 中变化的后端。默认值为 'auto'。要查看监狱配置的默认值,请参考 @file{/etc/fail2ban/jail.conf} 文件,该文件属于 @code{fail2ban} 包。"

#. type: item
#: guix-git/doc/guix.texi:43090
#, fuzzy, no-wrap
msgid "@code{max-retry} (type: maybe-integer)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43093
#, fuzzy
msgid "The number of failures before a host gets banned (e.g.  @code{(max-retry 5)})."
msgstr "在主机被禁止之前的失败次数(例如 @code{(max-retry 5)})。"

#. type: item
#: guix-git/doc/guix.texi:43094
#, fuzzy, no-wrap
msgid "@code{max-matches} (type: maybe-integer)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43097
#, fuzzy
msgid "The number of matches stored in ticket (resolvable via tag @code{<matches>}) in action."
msgstr "在动作中存储的票证中的匹配次数(可通过标签 @code{<matches>} 解析)。"

#. type: item
#: guix-git/doc/guix.texi:43098
#, fuzzy, no-wrap
msgid "@code{find-time} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43105
#, fuzzy
msgid "The time window during which the maximum retry count must be reached for an IP address to be banned.  A host is banned if it has generated @code{max-retry} during the last @code{find-time} seconds (e.g.  @code{(find-time \"10m\")}).  It can be provided in seconds or using Fail2Ban's \"time abbreviation format\", as described in @command{man 5 jail.conf}."
msgstr "在此时间窗口内,必须达到最大重试次数才能禁止 IP 地址。如果主机在过去 @code{find-time} 秒内生成了 @code{max-retry},则会被禁止(例如 @code{(find-time \"10m\")})。可以以秒或使用 Fail2Ban 的“时间缩写格式”提供,如 @command{man 5 jail.conf} 中所述。"

#. type: item
#: guix-git/doc/guix.texi:43106
#, fuzzy, no-wrap
msgid "@code{ban-time} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43109
#, fuzzy
msgid "The duration, in seconds or time abbreviated format, that a ban should last.  (e.g.  @code{(ban-time \"10m\")})."
msgstr "禁止持续的时间,以秒或时间缩写格式表示。(例如 @code{(ban-time \"10m\")})。"

#. type: item
#: guix-git/doc/guix.texi:43110
#, fuzzy, no-wrap
msgid "@code{ban-time-increment?} (type: maybe-boolean)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:43113
#, fuzzy
msgid "Whether to consider past bans to compute increases to the default ban time of a specific IP address."
msgstr "是否考虑过去的禁止记录,以计算特定 IP 地址默认禁止时间的增加。"

#. type: item
#: guix-git/doc/guix.texi:43114
#, fuzzy, no-wrap
msgid "@code{ban-time-factor} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43116
#, fuzzy
msgid "The coefficient to use to compute an exponentially growing ban time."
msgstr "用于计算指数增长禁止时间的系数。"

#. type: item
#: guix-git/doc/guix.texi:43117
#, fuzzy, no-wrap
msgid "@code{ban-time-formula} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43119
#, fuzzy
msgid "This is the formula used to calculate the next value of a ban time."
msgstr "这是用于计算下一个禁止时间值的公式。"

#. type: item
#: guix-git/doc/guix.texi:43120
#, fuzzy, no-wrap
msgid "@code{ban-time-multipliers} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43122
#, fuzzy
msgid "Used to calculate next value of ban time instead of formula."
msgstr "用于计算下一个禁止时间值,而不是公式。"

#. type: item
#: guix-git/doc/guix.texi:43123
#, fuzzy, no-wrap
msgid "@code{ban-time-max-time} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43125
#, fuzzy
msgid "The maximum number of seconds a ban should last."
msgstr "禁止持续的最大秒数。"

#. type: item
#: guix-git/doc/guix.texi:43126
#, fuzzy, no-wrap
msgid "@code{ban-time-rnd-time} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43130
#, fuzzy
msgid "The maximum number of seconds a randomized ban time should last.  This can be useful to stop ``clever'' botnets calculating the exact time an IP address can be unbanned again."
msgstr "随机禁止时间的最大秒数。这对于阻止“聪明”的僵尸网络计算IP地址何时可以被解除禁止非常有用。"

#. type: item
#: guix-git/doc/guix.texi:43131
#, fuzzy, no-wrap
msgid "@code{ban-time-overall-jails?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:43135
#, fuzzy
msgid "When true, it specifies the search of an IP address in the database should be made across all jails.  Otherwise, only the current jail of the ban IP address is considered."
msgstr "当为真时,它指定在数据库中搜索IP地址应跨所有监狱进行。否则,仅考虑被禁止IP地址的当前监狱。"

#. type: item
#: guix-git/doc/guix.texi:43136
#, fuzzy, no-wrap
msgid "@code{ignore-self?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:43138
#, fuzzy
msgid "Never ban the local machine's own IP address."
msgstr "永远不要禁止本地机器的自身IP地址。"

#. type: item
#: guix-git/doc/guix.texi:43139
#, fuzzy, no-wrap
msgid "@code{ignore-ip} (default: @code{'()}) (type: list-of-strings)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:43143
#, fuzzy
msgid "A list of IP addresses, CIDR masks or DNS hosts to ignore.  @code{fail2ban} will not ban a host which matches an address in this list."
msgstr "要忽略的IP地址、CIDR掩码或DNS主机的列表。@code{fail2ban}不会禁止与此列表中的地址匹配的主机。"

#. type: item
#: guix-git/doc/guix.texi:43144
#, fuzzy, no-wrap
msgid "@code{ignore-cache} (type: maybe-fail2ban-ignore-cache-configuration)"
msgstr "@code{ignore-cache}(类型:maybe-fail2ban-ignore-cache-configuration)"

#. type: table
#: guix-git/doc/guix.texi:43146
#, fuzzy
msgid "Provide cache parameters for the ignore failure check."
msgstr "提供忽略失败检查的缓存参数。"

#. type: item
#: guix-git/doc/guix.texi:43147
#, fuzzy, no-wrap
msgid "@code{filter} (type: maybe-fail2ban-jail-filter-configuration)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:43151
#, fuzzy
msgid "The filter to use by the jail, specified via a @code{<fail2ban-jail-filter-configuration>} object.  By default, jails have names matching their filter name."
msgstr "监狱使用的过滤器,通过@code{<fail2ban-jail-filter-configuration>}对象指定。默认情况下,监狱的名称与其过滤器名称匹配。"

#. type: item
#: guix-git/doc/guix.texi:43152
#, fuzzy, no-wrap
msgid "@code{log-time-zone} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43154
#, fuzzy
msgid "The default time zone for log lines that do not have one."
msgstr "没有时区的日志行的默认时区。"

#. type: item
#: guix-git/doc/guix.texi:43155
#, fuzzy, no-wrap
msgid "@code{log-encoding} (type: maybe-symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:43158
#, fuzzy
msgid "The encoding of the log files handled by the jail.  Possible values are: @code{'ascii}, @code{'utf-8} and @code{'auto}."
msgstr "监狱处理的日志文件的编码。可能的值为:@code{'ascii}、@code{'utf-8}和@code{'auto}。"

#. type: item
#: guix-git/doc/guix.texi:43159
#, fuzzy, no-wrap
msgid "@code{log-path} (default: @code{'()}) (type: list-of-strings)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:43161
#, fuzzy
msgid "The file names of the log files to be monitored."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:43162
#, fuzzy, no-wrap
msgid "@code{action} (default: @code{'()}) (type: list-of-fail2ban-jail-actions)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:43164
#, fuzzy
msgid "A list of @code{<fail2ban-jail-action-configuration>}."
msgstr "@code{<fail2ban-jail-action-configuration>}的列表。"

#. type: table
#: guix-git/doc/guix.texi:43168
#, fuzzy
msgid "Extra content for the jail configuration, provided as a list of file-like objects."
msgstr "实例化一个系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:43173
#, fuzzy, no-wrap
msgid "{Data Type} fail2ban-jail-filter-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:43175
#, fuzzy
msgid "Available @code{fail2ban-jail-filter-configuration} fields are:"
msgstr "可用的@code{fail2ban-jail-filter-configuration}字段有:"

#. type: table
#: guix-git/doc/guix.texi:43179
#, fuzzy
msgid "Filter to use."
msgstr "用户界面"

#. type: item
#: guix-git/doc/guix.texi:43180
#, fuzzy, no-wrap
msgid "@code{mode} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43182
#, fuzzy
msgid "Mode for filter."
msgstr "过滤器的模式。"

#. type: cindex
#: guix-git/doc/guix.texi:43189
#, fuzzy, no-wrap
msgid "resize-file-system"
msgstr "网络文件系统"

#. type: subsubheading
#: guix-git/doc/guix.texi:43190
#, fuzzy, no-wrap
msgid "Resize File System Service"
msgstr "必要的系统服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:43196
#, fuzzy
msgid "This service type lets you resize a live file system during boot, which can be convenient if a Guix image is flashed on an SD Card (e.g. for an embedded device) or uploaded to a VPS.  In both cases the medium the image will reside upon may be larger than the image you want to produce."
msgstr "此服务类型允许您在启动期间调整实时文件系统的大小,这在将Guix映像闪存到SD卡(例如,用于嵌入式设备)或上传到VPS时可能很方便。在这两种情况下,映像将驻留的介质可能比您想要生成的映像要大。"

#. type: Plain text
#: guix-git/doc/guix.texi:43198
#, fuzzy
msgid "For an embedded device booting from an SD card you may use something like:"
msgstr "对于从SD卡启动的嵌入式设备,您可以使用类似的内容:"

#. type: lisp
#: guix-git/doc/guix.texi:43204
#, fuzzy, no-wrap
msgid ""
"(service resize-file-system-service-type\n"
"         (resize-file-system-configuration\n"
"          (file-system\n"
"           (file-system (device (file-system-label \"root\"))\n"
"                        (type \"ext4\")))))\n"
msgstr ""
"(service screen-locker-service-type\n"
"         (screen-locker-configuration\n"
"           \"xlock\" (file-append xlockmore \"/bin/xlock\") #f))\n"

#. type: quotation
#: guix-git/doc/guix.texi:43211
#, fuzzy
msgid "Be extra cautious to use the correct device and type.  The service has little error handling of its own and relies on the underlying tools.  Wrong use could end in loss of data or the corruption of the operating system."
msgstr "特别小心使用正确的设备和类型。该服务几乎没有自己的错误处理,依赖于底层工具。错误使用可能导致数据丢失或操作系统损坏。"

#. type: Plain text
#: guix-git/doc/guix.texi:43216
#, fuzzy
msgid "Partitions and file systems are grown to the maximum size available.  File systems can only grow when they are on the last partition on a device and have empty space available."
msgstr "分区和文件系统扩展到可用的最大大小。文件系统只能在设备的最后一个分区上扩展,并且必须有可用的空闲空间。"

#. type: Plain text
#: guix-git/doc/guix.texi:43219
#, fuzzy
msgid "This service supports the ext2, ext3, ext4, btrfs, and bcachefs file systems."
msgstr "此服务支持ext2、ext3、ext4、btrfs和bcachefs文件系统。"

#. type: item
#: guix-git/doc/guix.texi:43222
#, fuzzy, no-wrap
msgid "@code{file-system} (type: file-system)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43226
#, fuzzy
msgid "The file-system object to resize (@pxref{File Systems}).  This object must have the @code{device} and @code{type} fields set.  Other fields are ignored."
msgstr "要调整大小的文件系统对象(@pxref{File Systems})。此对象必须设置@code{device}和@code{type}字段。其他字段将被忽略。"

#. type: item
#: guix-git/doc/guix.texi:43227
#, fuzzy, no-wrap
msgid "@code{cloud-utils} (default: @code{cloud-utils}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43230
#, fuzzy
msgid "The cloud-utils package to use.  This package is used for the @code{growpart} command."
msgstr "要使用的 cloud-utils 包。此包用于 @code{growpart} 命令。"

#. type: item
#: guix-git/doc/guix.texi:43231
#, fuzzy, no-wrap
msgid "@code{e2fsprogs} (default: @code{e2fsprogs}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43234
#, fuzzy
msgid "The e2fsprogs package to use, used for resizing ext2, ext3, and ext4 file systems."
msgstr "要使用的 e2fsprogs 包,用于调整 ext2、ext3 和 ext4 文件系统的大小。"

#. type: item
#: guix-git/doc/guix.texi:43235
#, fuzzy, no-wrap
msgid "@code{btrfs-progs} (default: @code{btrfs-progs}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43237
#, fuzzy
msgid "The btrfs-progs package to use, used for resizing the btrfs file system."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:43238
#, fuzzy, no-wrap
msgid "@code{bcachefs-tools} (default: @code{bcachefs-tools}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43240
#, fuzzy
msgid "The bcachefs-tools package to use, used for resizing the bcachefs file system."
msgstr "要使用的 bcachefs-tools 包,用于调整 bcachefs 文件系统的大小。"

#. type: cindex
#: guix-git/doc/guix.texi:43243
#, fuzzy, no-wrap
msgid "Backup"
msgstr "备份"

#. type: subsubheading
#: guix-git/doc/guix.texi:43244
#, fuzzy, no-wrap
msgid "Backup Services"
msgstr "基础服务"

#. type: Plain text
#: guix-git/doc/guix.texi:43248
#, fuzzy
msgid "The @code{(gnu services backup)} module offers services for backing up file system trees.  For now, it provides the @code{restic-backup-service-type}."
msgstr "@code{(gnu services backup)} 模块提供用于备份文件系统树的服务。目前,它提供 @code{restic-backup-service-type}。"

#. type: Plain text
#: guix-git/doc/guix.texi:43253
#, fuzzy
msgid "With @code{restic-backup-service-type}, you can periodically back up directories and files with @uref{https://restic.net/, Restic}, which supports end-to-end encryption and deduplication.  Consider the following configuration:"
msgstr "使用 @code{restic-backup-service-type},您可以定期备份目录和文件,使用 @uref{https://restic.net/, Restic},它支持端到端加密和去重。考虑以下配置:"

#. type: lisp
#: guix-git/doc/guix.texi:43257
#, fuzzy, no-wrap
msgid ""
"(use-service-modules backup @dots{}) ;for 'restic-backup-service-type'\n"
"(use-package-modules sync @dots{})   ;for 'rclone'\n"
"\n"
msgstr ""
"(use-service-modules backup @dots{}) ;用于 'restic-backup-service-type'\n"
"(use-package-modules sync @dots{})   ;用于 'rclone'\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:43279
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (packages (append (list rclone)    ;for use by restic\n"
"                    %base-packages))\n"
"  (services\n"
"    (list\n"
"      (service restic-backup-service-type\n"
"               (restic-backup-configuration\n"
"                 (jobs\n"
"                   (list (restic-backup-job\n"
"                           (name \"remote-ftp\")\n"
"                           (repository \"rclone:remote-ftp:backup/restic\")\n"
"                           (password-file \"/root/.restic\")\n"
"                           ;; Every day at 23.\n"
"                           (schedule \"0 23 * * *\")\n"
"                           (files '(\"/root/.restic\"\n"
"                                    \"/root/.config/rclone\"\n"
"                                    \"/etc/ssh/ssh_host_rsa_key\"\n"
"                                    \"/etc/ssh/ssh_host_rsa_key.pub\"\n"
"                                    \"/etc/guix/signing-key.pub\"\n"
"                                    \"/etc/guix/signing-key.sec\"))))))))))\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (packages (append (list rclone)    ;供 restic 使用\n"
"                    %base-packages))\n"
"  (services\n"
"    (list\n"
"      (service restic-backup-service-type\n"
"               (restic-backup-configuration\n"
"                 (jobs\n"
"                   (list (restic-backup-job\n"
"                           (name \"remote-ftp\")\n"
"                           (repository \"rclone:remote-ftp:backup/restic\")\n"
"                           (password-file \"/root/.restic\")\n"
"                           ;; 每天 23 点。\n"
"                           (schedule \"0 23 * * *\")\n"
"                           (files '(\"/root/.restic\"\n"
"                                    \"/root/.config/rclone\"\n"
"                                    \"/etc/ssh/ssh_host_rsa_key\"\n"
"                                    \"/etc/ssh/ssh_host_rsa_key.pub\"\n"
"                                    \"/etc/guix/signing-key.pub\"\n"
"                                    \"/etc/guix/signing-key.sec\"))))))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:43285
#, fuzzy
msgid "Each @code{restic-backup-job} translates to a Shepherd timer which sets the @env{RESTIC_PASSWORD} environment variable by reading the first line of @code{password-file} and runs @command{restic backup}, creating backups using rclone of all the files listed in the @code{files} field."
msgstr "每个 @code{restic-backup-job} 转换为一个 Shepherd 定时器,该定时器通过读取 @code{password-file} 的第一行来设置 @env{RESTIC_PASSWORD} 环境变量,并运行 @command{restic backup},使用 rclone 创建 @code{files} 字段中列出的所有文件的备份。"

#. type: Plain text
#: guix-git/doc/guix.texi:43288
#, fuzzy
msgid "The @code{restic-backup-service-type} provides the ability to instantaneously trigger a backup with the @code{trigger} Shepherd action:"
msgstr "@code{restic-backup-service-type} 提供了通过 @code{trigger} Shepherd 动作即时触发备份的能力:"

#. type: example
#: guix-git/doc/guix.texi:43291
#, fuzzy, no-wrap
msgid "sudo herd trigger remote-ftp\n"
msgstr "sudo herd trigger remote-ftp\n"

#. type: deftp
#: guix-git/doc/guix.texi:43295
#, fuzzy, no-wrap
msgid "{Data Type} restic-backup-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:43297
#, fuzzy
msgid "Available @code{restic-backup-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:43299
#, fuzzy, no-wrap
msgid "@code{jobs} (default: @code{'()}) (type: list-of-restic-backup-jobs)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:43301
#, fuzzy
msgid "The list of backup jobs for the current system."
msgstr "mcron服务。"

#. type: deftp
#: guix-git/doc/guix.texi:43311
#, fuzzy, no-wrap
msgid "{Data Type} restic-backup-job"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:43313
#, fuzzy
msgid "Available @code{restic-backup-job} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:43315
#, fuzzy, no-wrap
msgid "@code{restic} (default: @code{restic}) (type: package)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43317
#, fuzzy
msgid "The restic package to be used for the current job."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:43318
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{\"root\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43320
#, fuzzy
msgid "The user used for running the current job."
msgstr "mcron服务。"

#. type: item
#: guix-git/doc/guix.texi:43321
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{\"root\"}) (type: string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43323
#, fuzzy
msgid "The group used for running the current job."
msgstr "mcron服务。"

#. type: table
#: guix-git/doc/guix.texi:43328
#, fuzzy
msgid "The file system path to the log file for this job.  By default the file will have be @file{/var/log/restic-backup/@var{job-name}.log}, where @var{job-name} is the name defined in the @code{name} field."
msgstr "此作业的日志文件的文件系统路径。默认情况下,文件将为 @file{/var/log/restic-backup/@var{job-name}.log},其中 @var{job-name} 是在 @code{name} 字段中定义的名称。"

#. type: item
#: guix-git/doc/guix.texi:43329
#, fuzzy, no-wrap
msgid "@code{max-duration} (type: maybe-number)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43332
#, fuzzy
msgid "The maximum duration in seconds that a job may last.  Past @code{max-duration} seconds, the job is forcefully terminated."
msgstr "作业可能持续的最大时间(以秒为单位)。超过 @code{max-duration} 秒后,作业将被强制终止。"

#. type: item
#: guix-git/doc/guix.texi:43333
#, fuzzy, no-wrap
msgid "@code{wait-for-termination?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43337
#, fuzzy
msgid "Wait until the job has finished before considering executing it again; otherwise, perform it strictly on every occurrence of event, at the risk of having multiple instances running concurrently."
msgstr "在考虑再次执行作业之前,请等待作业完成;否则,严格在每次事件发生时执行,可能会导致多个实例同时运行。"

#. type: table
#: guix-git/doc/guix.texi:43340
#, fuzzy
msgid "The restic repository target of this job."
msgstr "其他可能的工具。"

#. type: table
#: guix-git/doc/guix.texi:43343
#, fuzzy
msgid "A string denoting a name for this job."
msgstr "表示此作业名称的字符串。"

#. type: item
#: guix-git/doc/guix.texi:43344
#, fuzzy, no-wrap
msgid "@code{password-file} (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43348
#, fuzzy
msgid "Name of the password file, readable by the configured @code{user}, that will be used to set the @env{RESTIC_PASSWORD} environment variable for the current job."
msgstr "密码文件的名称,由配置的 @code{user} 可读,将用于为当前作业设置 @env{RESTIC_PASSWORD} 环境变量。"

#. type: item
#: guix-git/doc/guix.texi:43349
#, fuzzy, no-wrap
msgid "@code{schedule} (type: gexp-or-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43353
#, fuzzy
msgid "A string or a gexp representing the frequency of the backup.  Gexp must evaluate to @code{calendar-event} records or to strings.  Strings must contain Vixie cron date lines."
msgstr "表示备份频率的字符串或 gexp。Gexp 必须评估为 @code{calendar-event} 记录或字符串。字符串必须包含 Vixie cron 日期行。"

#. type: table
#: guix-git/doc/guix.texi:43356
#, fuzzy
msgid "The list of Shepherd services that this backup job depends upon."
msgstr "此备份作业所依赖的 Shepherd 服务列表。"

#. type: item
#: guix-git/doc/guix.texi:43357
#, fuzzy, no-wrap
msgid "@code{files} (default: @code{'()}) (type: list-of-lowerables)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:43360
#, fuzzy
msgid "The list of files or directories to be backed up.  It must be a list of values that can be lowered to strings."
msgstr "要备份的文件或目录列表。它必须是可以降低为字符串的值列表。"

#. type: table
#: guix-git/doc/guix.texi:43363
#, fuzzy
msgid "Whether to enable verbose output for the current backup job."
msgstr "是否为当前备份作业启用详细输出。"

#. type: item
#: guix-git/doc/guix.texi:43364
#, fuzzy, no-wrap
msgid "@code{extra-flags} (default: @code{'()}) (type: list-of-lowerables)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43368
#, fuzzy
msgid "A list of values that are lowered to strings.  These will be passed as command-line arguments to the current job @command{restic backup} invocation."
msgstr "降低为字符串的值列表。这些将作为命令行参数传递给当前作业 @command{restic backup} 的调用。"

#. type: cindex
#: guix-git/doc/guix.texi:43375
#, fuzzy, no-wrap
msgid "DLNA/UPnP"
msgstr "DLNA/UPnP"

#. type: subsubheading
#: guix-git/doc/guix.texi:43376
#, fuzzy, no-wrap
msgid "DLNA/UPnP Services"
msgstr "DNS服务"

#. type: Plain text
#: guix-git/doc/guix.texi:43383
#, fuzzy
msgid "The @code{(gnu services upnp)} module offers services related to @acronym{UPnP, Universal Plug and Play} and @acronym{DLNA, Digital Living Network Alliance}, networking protocols that can be used for media streaming and device interoperability within a local network.  For now, this module provides the @code{readymedia-service-type}."
msgstr "@code{(gnu services upnp)} 模块提供与 @acronym{UPnP, Universal Plug and Play} 和 @acronym{DLNA, Digital Living Network Alliance} 相关的服务,这些网络协议可用于在本地网络中进行媒体流传输和设备互操作性。目前,此模块提供 @code{readymedia-service-type}。"

#. type: Plain text
#: guix-git/doc/guix.texi:43390
#, fuzzy
msgid "@uref{https://sourceforge.net/projects/minidlna/, ReadyMedia} (formerly known as MiniDLNA) is a DLNA/UPnP-AV media server.  The project's daemon, @code{minidlnad}, can serve media files (audio, pictures, and video) to DLNA/UPnP-AV clients available on the network.  @code{readymedia-service-type} is a Guix service that wraps around ReadyMedia's @code{minidlnad}."
msgstr "@uref{https://sourceforge.net/projects/minidlna/, ReadyMedia}(前称 MiniDLNA)是一个 DLNA/UPnP-AV 媒体服务器。该项目的守护进程 @code{minidlnad} 可以向网络上的 DLNA/UPnP-AV 客户端提供媒体文件(音频、图片和视频)。@code{readymedia-service-type} 是一个 Guix 服务,封装了 ReadyMedia 的 @code{minidlnad}。"

#. type: Plain text
#: guix-git/doc/guix.texi:43392
#, fuzzy
msgid "Consider the following configuration:"
msgstr "系统配置"

#. type: lisp
#: guix-git/doc/guix.texi:43394
#, fuzzy, no-wrap
msgid ""
"(use-service-modules upnp @dots{})\n"
"\n"
msgstr ""
"(use-modules (gnu packages base))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:43411
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  @dots{}\n"
"  (services\n"
"   (list (service readymedia-service-type\n"
"                  (readymedia-configuration\n"
"                   (media-directories\n"
"                    (list (readymedia-media-directory\n"
"                           (path \"/media/audio\")\n"
"                           (types '(A)))\n"
"                          (readymedia-media-directory\n"
"                           (path \"/media/video\")\n"
"                           (types '(V)))\n"
"                          (readymedia-media-directory\n"
"                           (path \"/media/misc\"))))\n"
"                   (extra-config '((\"notify_interval\" . \"60\")))))\n"
"         @dots{})))\n"
msgstr ""
"(操作系统\n"
"  @dots{}\n"
"  (服务\n"
"   (列表 (服务 readymedia-service-type\n"
"                  (readymedia-配置\n"
"                   (媒体目录\n"
"                    (列表 (readymedia-media-directory\n"
"                           (路径 \"/media/audio\")\n"
"                           (类型 '(A)))\n"
"                          (readymedia-media-directory\n"
"                           (路径 \"/media/video\")\n"
"                           (类型 '(V)))\n"
"                          (readymedia-media-directory\n"
"                           (路径 \"/media/misc\"))))\n"
"                   (额外配置 '((\"notify_interval\" . \"60\")))))\n"
"         @dots{})))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:43417
#, fuzzy
msgid "This sets up the ReadyMedia daemon to serve files from the media folders specified in @code{media-directories}.  The @code{media-directories} field is mandatory.  All other fields (such as network ports and the server name) come with a predefined default and can be omitted."
msgstr "这将设置 ReadyMedia 守护进程以从 @code{media-directories} 中指定的媒体文件夹提供文件。 @code{media-directories} 字段是必需的。 所有其他字段(如网络端口和服务器名称)都有预定义的默认值,可以省略。"

#. type: deftp
#: guix-git/doc/guix.texi:43420
#, fuzzy, no-wrap
msgid "{Data Type} readymedia-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:43422
#, fuzzy
msgid "Available @code{readymedia-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:43424
#, fuzzy, no-wrap
msgid "@code{readymedia} (default: @code{readymedia}) (type: package)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43426
#, fuzzy
msgid "The ReadyMedia package to be used for the service."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:43427
#, fuzzy, no-wrap
msgid "@code{friendly-name} (default: @code{#f}) (type: maybe-string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:43429
#, fuzzy
msgid "A custom name that will be displayed on connected clients."
msgstr "将在连接的客户端上显示的自定义名称。"

#. type: item
#: guix-git/doc/guix.texi:43430
#, fuzzy, no-wrap
msgid "@code{media-directories} (type: list)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43433
#, fuzzy
msgid "The list of media folders to serve content from.  Each item is a @code{readymedia-media-directory}."
msgstr "提供内容的媒体文件夹列表。 每个项目都是一个 @code{readymedia-media-directory}。"

#. type: item
#: guix-git/doc/guix.texi:43434
#, fuzzy, no-wrap
msgid "@code{cache-directory} (default: @code{\"/var/cache/readymedia\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43438
#, fuzzy
msgid "A folder for ReadyMedia's cache files.  If not existing already, the folder will be created as part of the service activation and the ReadyMedia user will be assigned ownership."
msgstr "ReadyMedia 的缓存文件夹。 如果尚不存在,该文件夹将在服务激活时创建,并将分配给 ReadyMedia 用户所有权。"

#. type: item
#: guix-git/doc/guix.texi:43439
#, fuzzy, no-wrap
msgid "@code{log-directory} (default: @code{\"/var/log/readymedia\"}) (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43443
#, fuzzy
msgid "A folder for ReadyMedia's log files.  If not existing already, the folder will be created as part of the service activation and the ReadyMedia user will be assigned ownership."
msgstr "ReadyMedia 的日志文件夹。 如果尚不存在,该文件夹将在服务激活时创建,并将分配给 ReadyMedia 用户所有权。"

#. type: item
#: guix-git/doc/guix.texi:43444
#, fuzzy, no-wrap
msgid "@code{port} (default: @code{#f}) (type: maybe-integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:43446
#, fuzzy
msgid "A custom port that the service will be listening on."
msgstr "服务将监听的自定义端口。"

#. type: item
#: guix-git/doc/guix.texi:43447
#, fuzzy, no-wrap
msgid "@code{extra-config} (default: @code{'()}) (type: alist)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:43449
#, fuzzy
msgid "An association list of further options, as accepted by ReadyMedia."
msgstr "进一步选项的关联列表,ReadyMedia 接受这些选项。"

#. type: deftp
#: guix-git/doc/guix.texi:43457
#, fuzzy, no-wrap
msgid "{Data Type} readymedia-media-directory"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:43461
#, fuzzy
msgid "A @code{media-directories} entry includes a folder @code{path} and, optionally, the @code{types} of media files included within the folder."
msgstr "一个 @code{media-directories} 条目包括一个文件夹 @code{path},并且可选地包括文件夹内包含的媒体文件的 @code{types}。"

#. type: item
#: guix-git/doc/guix.texi:43463
#, fuzzy, no-wrap
msgid "@code{path} (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43465
#, fuzzy
msgid "The media folder location."
msgstr "日志轮替"

#. type: item
#: guix-git/doc/guix.texi:43466
#, fuzzy, no-wrap
msgid "@code{types} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:43471
#, fuzzy
msgid "A list indicating the types of file included in the media folder.  Valid values are combinations of individual media types, i.e. symbol @code{A} for audio, @code{P} for pictures, @code{V} for video.  An empty list means that no type is specified."
msgstr "指示媒体文件夹中包含的文件类型的列表。 有效值是单个媒体类型的组合,即符号 @code{A} 表示音频,@code{P} 表示图片,@code{V} 表示视频。 空列表表示未指定类型。"

#. type: cindex
#: guix-git/doc/guix.texi:43480
#, fuzzy, no-wrap
msgid "privileged programs"
msgstr "setuid程序"

#. type: cindex
#: guix-git/doc/guix.texi:43481
#, fuzzy, no-wrap
msgid "setuid programs"
msgstr "setuid 程序"

#. type: cindex
#: guix-git/doc/guix.texi:43482
#, fuzzy, no-wrap
msgid "setgid programs"
msgstr "setuid程序"

#. type: cindex
#: guix-git/doc/guix.texi:43483
#, fuzzy, no-wrap
msgid "capabilities, POSIX"
msgstr "能力,POSIX"

#. type: cindex
#: guix-git/doc/guix.texi:43484
#, fuzzy, no-wrap
msgid "setcap"
msgstr "setcap"

#. type: Plain text
#: guix-git/doc/guix.texi:43494
#, fuzzy
msgid "Some programs need to run with elevated privileges, even when they are launched by unprivileged users.  A notorious example is the @command{passwd} program, which users can run to change their password, and which needs to access the @file{/etc/passwd} and @file{/etc/shadow} files---something normally restricted to root, for obvious security reasons.  To address that, @command{passwd} should be @dfn{setuid-root}, meaning that it always runs with root privileges (@pxref{How Change Persona,,, libc, The GNU C Library Reference Manual}, for more info about the setuid mechanism)."
msgstr "某些程序需要以提升的权限运行,即使它们是由没有特权的用户启动的。 一个臭名昭著的例子是 @command{passwd} 程序,用户可以运行该程序来更改他们的密码,并且需要访问 @file{/etc/passwd} 和 @file{/etc/shadow} 文件——出于明显的安全原因,这通常是限制给 root 的。 为了解决这个问题,@command{passwd} 应该是 @dfn{setuid-root},这意味着它始终以 root 权限运行(有关 setuid 机制的更多信息,请参见 @pxref{如何更改身份,,, libc, GNU C 库参考手册})。"

#. type: Plain text
#: guix-git/doc/guix.texi:43501
#, fuzzy
msgid "The store itself @emph{cannot} contain privileged programs: that would be a security issue since any user on the system can write derivations that populate the store (@pxref{The Store}).  Thus, a different mechanism is used: instead of directly granting permissions to files that are in the store, we let the system administrator @emph{declare} which programs should be entrusted with these additional privileges."
msgstr "商店本身 @emph{不能} 包含特权程序:这将是一个安全问题,因为系统上的任何用户都可以编写填充商店的派生物 (@pxref{The Store})。因此,使用了不同的机制:我们不直接授予在商店中的文件权限,而是让系统管理员 @emph{声明} 哪些程序应该被赋予这些额外的特权。"

#. type: Plain text
#: guix-git/doc/guix.texi:43508
#, fuzzy
msgid "The @code{privileged-programs} field of an @code{operating-system} declaration contains a list of @code{<privileged-program>} denoting the names of programs to have a setuid or setgid bit set (@pxref{Using the Configuration System}).  For instance, the @command{mount.nfs} program, which is part of the nfs-utils package, with a setuid root can be designated like this:"
msgstr "@code{operating-system} 声明的 @code{privileged-programs} 字段包含一个 @code{<privileged-program>} 的列表,表示要设置 setuid 或 setgid 位的程序名称 (@pxref{Using the Configuration System})。例如,@command{mount.nfs} 程序,它是 nfs-utils 包的一部分,具有 setuid root,可以这样指定:"

#. type: lisp
#: guix-git/doc/guix.texi:43513
#, fuzzy, no-wrap
msgid ""
"(privileged-program\n"
"  (program (file-append nfs-utils \"/sbin/mount.nfs\"))\n"
"  (setuid? #t))\n"
msgstr ""
"(privileged-program\n"
"  (program (file-append nfs-utils \"/sbin/mount.nfs\"))\n"
"  (setuid? #t))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:43518
#, fuzzy
msgid "And then, to make @command{mount.nfs} setuid on your system, add the previous example to your operating system declaration by appending it to @code{%default-privileged-programs} like this:"
msgstr "然后,为了在您的系统上使 @command{mount.nfs} 设置 setuid,请将前面的示例添加到您的操作系统声明中,通过将其附加到 @code{%default-privileged-programs},如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:43527
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; Some fields omitted...\n"
"  (privileged-programs\n"
"    (append (list (privileged-program\n"
"                    (program (file-append nfs-utils \"/sbin/mount.nfs\"))\n"
"                    (setuid? #t)))\n"
"            %default-privileged-programs)))\n"
msgstr ""
"(operating-system\n"
"  ;; 一些字段省略...\n"
"  (privileged-programs\n"
"    (append (list (privileged-program\n"
"                    (program (file-append nfs-utils \"/sbin/mount.nfs\"))\n"
"                    (setuid? #t)))\n"
"            %default-privileged-programs)))\n"

#. type: deftp
#: guix-git/doc/guix.texi:43529
#, fuzzy, no-wrap
msgid "{Data Type} privileged-program"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:43531
#, fuzzy
msgid "This data type represents a program with special privileges, such as setuid"
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:43535
#, fuzzy
msgid "A file-like object to which all given privileges should apply."
msgstr "一个文件类似对象,所有给定的特权都应适用。"

#. type: item
#: guix-git/doc/guix.texi:43536
#, fuzzy, no-wrap
msgid "@code{setuid?} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43538
#, fuzzy
msgid "Whether to set user setuid bit."
msgstr "是否设置用户 setuid 位。"

#. type: item
#: guix-git/doc/guix.texi:43539
#, fuzzy, no-wrap
msgid "@code{setgid?} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43541
#, fuzzy
msgid "Whether to set group setgid bit."
msgstr "是否设置组 setgid 位。"

#. type: item
#: guix-git/doc/guix.texi:43542
#, fuzzy, no-wrap
msgid "@code{user} (default: @code{0})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:43545
#, fuzzy
msgid "UID (integer) or user name (string) for the user owner of the program, defaults to root."
msgstr "程序的用户所有者的 UID(整数)或用户名(字符串),默认为 root。"

#. type: item
#: guix-git/doc/guix.texi:43546
#, fuzzy, no-wrap
msgid "@code{group} (default: @code{0})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:43549
#, fuzzy
msgid "GID (integer) group name (string) for the group owner of the program, defaults to root."
msgstr "程序的组所有者的 GID(整数)或组名(字符串),默认为 root。"

#. type: item
#: guix-git/doc/guix.texi:43550
#, fuzzy, no-wrap
msgid "@code{capabilities} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:43554
#, fuzzy
msgid "A string representing the program's POSIX capabilities, as described by the @code{cap_to_text(3)} man page from the libcap package, or @code{#f} to make no changes."
msgstr "表示程序 POSIX 能力的字符串,如 libcap 包中的 @code{cap_to_text(3)} 手册页所述,或 @code{#f} 以不进行更改。"

#. type: Plain text
#: guix-git/doc/guix.texi:43560
#, fuzzy
msgid "A default set of privileged programs is defined by the @code{%default-privileged-programs} variable of the @code{(gnu system)} module."
msgstr "默认的特权程序集由 @code{%default-privileged-programs} 变量定义,该变量属于 @code{(gnu system)} 模块。"

#. type: defvar
#: guix-git/doc/guix.texi:43561
#, fuzzy, no-wrap
msgid "{Scheme Variable} %default-privileged-programs"
msgstr "{Scheme 变量} %default-privileged-programs"

#. type: defvar
#: guix-git/doc/guix.texi:43564
#, fuzzy
msgid "A list of @code{<privileged-program>} denoting common programs with elevated privileges."
msgstr "一个 @code{<privileged-program>} 的列表,表示具有提升特权的常见程序。"

#. type: defvar
#: guix-git/doc/guix.texi:43567
#, fuzzy
msgid "The list includes commands such as @command{passwd}, @command{ping}, @command{su}, and @command{sudo}."
msgstr "该列表包括诸如 @command{passwd}、@command{ping}、@command{su} 和 @command{sudo} 的命令。"

#. type: Plain text
#: guix-git/doc/guix.texi:43573
#, fuzzy
msgid "Under the hood, the actual privileged programs are created in the @file{/run/privileged/bin} directory at system activation time.  The files in this directory refer to the ``real'' binaries, which are in the store."
msgstr "在底层,实际的特权程序是在系统激活时创建于 @file{/run/privileged/bin} 目录中。该目录中的文件指向“真实”的二进制文件,这些文件存储在商店中。"

#. type: cindex
#: guix-git/doc/guix.texi:43577
#, fuzzy, no-wrap
msgid "HTTPS, certificates"
msgstr "HTTPS,证书"

#. type: cindex
#: guix-git/doc/guix.texi:43578
#, fuzzy, no-wrap
msgid "X.509 certificates"
msgstr "X.509 证书"

#. type: cindex
#: guix-git/doc/guix.texi:43579
#, fuzzy, no-wrap
msgid "TLS"
msgstr "TLS"

#. type: Plain text
#: guix-git/doc/guix.texi:43586
#, fuzzy
msgid "Web servers available over HTTPS (that is, HTTP over the transport-layer security mechanism, TLS) send client programs an @dfn{X.509 certificate} that the client can then use to @emph{authenticate} the server.  To do that, clients verify that the server's certificate is signed by a so-called @dfn{certificate authority} (CA).  But to verify the CA's signature, clients must have first acquired the CA's certificate."
msgstr "通过 HTTPS(即通过传输层安全机制 TLS 的 HTTP)提供的 Web 服务器向客户端程序发送 @dfn{X.509 证书},客户端可以使用该证书来 @emph{验证} 服务器。为此,客户端需要验证服务器的证书是否由所谓的 @dfn{证书颁发机构}(CA)签名。但是,要验证 CA 的签名,客户端必须首先获得 CA 的证书。"

#. type: Plain text
#: guix-git/doc/guix.texi:43590
#, fuzzy
msgid "Web browsers such as GNU@tie{}IceCat include their own set of CA certificates, such that they are able to verify CA signatures out-of-the-box."
msgstr "诸如 GNU@tie{}IceCat 的 Web 浏览器包含自己的 CA 证书集,因此它们能够开箱即用地验证 CA 签名。"

#. type: Plain text
#: guix-git/doc/guix.texi:43594
#, fuzzy
msgid "However, most other programs that can talk HTTPS---@command{wget}, @command{git}, @command{w3m}, etc.---need to be told where CA certificates can be found."
msgstr "然而,大多数其他可以进行 HTTPS 通信的程序——@command{wget}、@command{git}、@command{w3m} 等——需要被告知 CA 证书可以在哪里找到。"

#. type: Plain text
#: guix-git/doc/guix.texi:43602
#, fuzzy
msgid "For users of Guix System, this is done by adding a package that provides certificates to the @code{packages} field of the @code{operating-system} declaration (@pxref{operating-system Reference}).  Guix includes one such package, @code{nss-certs}, which is a set of CA certificates provided as part of Mozilla's Network Security Services."
msgstr "对于 Guix 系统的用户,可以通过将提供证书的包添加到 @code{operating-system} 声明的 @code{packages} 字段中来完成此操作(@pxref{operating-system Reference})。Guix 包含一个这样的包 @code{nss-certs},它是一组作为 Mozilla 网络安全服务一部分提供的 CA 证书。"

#. type: Plain text
#: guix-git/doc/guix.texi:43607
#, fuzzy
msgid "This package is part of @code{%base-packages}, so there is no need to explicitly add it.  The @file{/etc/ssl/certs} directory, which is where most applications and libraries look for certificates by default, points to the certificates installed globally."
msgstr "该包是 @code{%base-packages} 的一部分,因此无需显式添加。@file{/etc/ssl/certs} 目录是大多数应用程序和库默认查找证书的地方,指向全局安装的证书。"

#. type: Plain text
#: guix-git/doc/guix.texi:43617
#, fuzzy
msgid "Unprivileged users, including users of Guix on a foreign distro, can also install their own certificate package in their profile.  A number of environment variables need to be defined so that applications and libraries know where to find them.  Namely, the OpenSSL library honors the @env{SSL_CERT_DIR} and @env{SSL_CERT_FILE} variables.  Some applications add their own environment variables; for instance, the Git version control system honors the certificate bundle pointed to by the @env{GIT_SSL_CAINFO} environment variable.  Thus, you would typically run something like:"
msgstr "非特权用户,包括在外部发行版上使用 Guix 的用户,也可以在其个人资料中安装自己的证书包。需要定义多个环境变量,以便应用程序和库知道在哪里查找它们。即,OpenSSL 库会尊重 @env{SSL_CERT_DIR} 和 @env{SSL_CERT_FILE} 变量。一些应用程序会添加自己的环境变量;例如,Git 版本控制系统会尊重由 @env{GIT_SSL_CAINFO} 环境变量指向的证书包。因此,您通常会运行类似以下的命令:"

#. type: example
#: guix-git/doc/guix.texi:43623
#, fuzzy, no-wrap
msgid ""
"guix install nss-certs\n"
"export SSL_CERT_DIR=\"$HOME/.guix-profile/etc/ssl/certs\"\n"
"export SSL_CERT_FILE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
"export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"\n"
msgstr ""
"guix 安装 nss-certs\n"
"export SSL_CERT_DIR=\"$HOME/.guix-profile/etc/ssl/certs\"\n"
"export SSL_CERT_FILE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
"export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:43628
#, fuzzy
msgid "As another example, R requires the @env{CURL_CA_BUNDLE} environment variable to point to a certificate bundle, so you would have to run something like this:"
msgstr "作为另一个示例,R 需要 @env{CURL_CA_BUNDLE} 环境变量指向证书包,因此您需要运行类似以下内容的命令:"

#. type: example
#: guix-git/doc/guix.texi:43632
#, fuzzy, no-wrap
msgid ""
"guix install nss-certs\n"
"export CURL_CA_BUNDLE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
msgstr ""
"guix 安装 nss-certs\n"
"export CURL_CA_BUNDLE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:43636
#, fuzzy
msgid "For other applications you may want to look up the required environment variable in the relevant documentation."
msgstr "对于其他应用程序,您可能需要在相关文档中查找所需的环境变量。"

#. type: cindex
#: guix-git/doc/guix.texi:43641
#, fuzzy, no-wrap
msgid "name service switch"
msgstr "名称服务开关"

#. type: cindex
#: guix-git/doc/guix.texi:43642
#, fuzzy, no-wrap
msgid "NSS"
msgstr "NSS"

#. type: Plain text
#: guix-git/doc/guix.texi:43651
#, fuzzy
msgid "The @code{(gnu system nss)} module provides bindings to the configuration file of the libc @dfn{name service switch} or @dfn{NSS} (@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}).  In a nutshell, the NSS is a mechanism that allows libc to be extended with new ``name'' lookup methods for system databases, which includes host names, service names, user accounts, and more (@pxref{Name Service Switch, System Databases and Name Service Switch,, libc, The GNU C Library Reference Manual})."
msgstr "@code{(gnu system nss)} 模块提供对 libc @dfn{名称服务开关} 或 @dfn{NSS} 的配置文件的绑定 (@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual})。简而言之,NSS 是一种机制,允许 libc 通过新的“名称”查找方法扩展系统数据库,包括主机名、服务名、用户帐户等 (@pxref{Name Service Switch, System Databases and Name Service Switch,, libc, The GNU C Library Reference Manual})。"

#. type: Plain text
#: guix-git/doc/guix.texi:43658
#, fuzzy
msgid "The NSS configuration specifies, for each system database, which lookup method is to be used, and how the various methods are chained together---for instance, under which circumstances NSS should try the next method in the list.  The NSS configuration is given in the @code{name-service-switch} field of @code{operating-system} declarations (@pxref{operating-system Reference, @code{name-service-switch}})."
msgstr "NSS 配置为每个系统数据库指定要使用的查找方法,以及各种方法如何链接在一起——例如,在什么情况下 NSS 应该尝试列表中的下一个方法。NSS 配置在 @code{operating-system} 声明的 @code{name-service-switch} 字段中给出 (@pxref{operating-system Reference, @code{name-service-switch}})。"

#. type: cindex
#: guix-git/doc/guix.texi:43659
#, fuzzy, no-wrap
msgid "nss-mdns"
msgstr "nss-mdns"

#. type: cindex
#: guix-git/doc/guix.texi:43660
#, fuzzy, no-wrap
msgid ".local, host name lookup"
msgstr ".local,主机名查找"

#. type: Plain text
#: guix-git/doc/guix.texi:43665
#, fuzzy
msgid "As an example, the declaration below configures the NSS to use the @uref{https://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns} back-end}, which supports host name lookups over multicast DNS (mDNS)  for host names ending in @code{.local}:"
msgstr "作为示例,下面的声明配置 NSS 使用 @uref{https://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns} 后端},该后端支持对以 @code{.local} 结尾的主机名进行多播 DNS (mDNS) 的主机名查找:"

#. type: lisp
#: guix-git/doc/guix.texi:43669
#, fuzzy, no-wrap
msgid ""
"(name-service-switch\n"
"   (hosts (list %files    ;first, check /etc/hosts\n"
"\n"
msgstr ""
"(name-service-switch\n"
"   (hosts (list %files    ;首先,检查 /etc/hosts\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:43674
#, fuzzy, no-wrap
msgid ""
"                ;; If the above did not succeed, try\n"
"                ;; with 'mdns_minimal'.\n"
"                (name-service\n"
"                  (name \"mdns_minimal\")\n"
"\n"
msgstr ""
"                ;; 如果上述未成功,请尝试\n"
"                ;; 使用 'mdns_minimal'。\n"
"                (name-service\n"
"                  (name \"mdns_minimal\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:43680
#, fuzzy, no-wrap
msgid ""
"                  ;; 'mdns_minimal' is authoritative for\n"
"                  ;; '.local'.  When it returns \"not found\",\n"
"                  ;; no need to try the next methods.\n"
"                  (reaction (lookup-specification\n"
"                             (not-found => return))))\n"
"\n"
msgstr ""
"                  ;; 'mdns_minimal' 是 '.local' 的权威\n"
"                  ;; 当它返回“未找到”时,\n"
"                  ;; 无需尝试下一个方法。\n"
"                  (reaction (lookup-specification\n"
"                             (not-found => return))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:43684
#, fuzzy, no-wrap
msgid ""
"                ;; Then fall back to DNS.\n"
"                (name-service\n"
"                  (name \"dns\"))\n"
"\n"
msgstr ""
"                ;; 然后回退到 DNS。\n"
"                (name-service\n"
"                  (name \"dns\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:43688
#, fuzzy, no-wrap
msgid ""
"                ;; Finally, try with the \"full\" 'mdns'.\n"
"                (name-service\n"
"                  (name \"mdns\")))))\n"
msgstr ""
"                ;; 最后,尝试使用“完整”的 'mdns'。\n"
"                (name-service\n"
"                  (name \"mdns\")))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:43693
#, fuzzy
msgid "Do not worry: the @code{%mdns-host-lookup-nss} variable (see below)  contains this configuration, so you will not have to type it if all you want is to have @code{.local} host lookup working."
msgstr "不要担心:@code{%mdns-host-lookup-nss} 变量(见下文)包含此配置,因此如果您只想让 @code{.local} 主机查找工作,您无需输入它。"

#. type: Plain text
#: guix-git/doc/guix.texi:43701
#, fuzzy
msgid "Note that, in this case, in addition to setting the @code{name-service-switch} of the @code{operating-system} declaration, you also need to use @code{avahi-service-type} (@pxref{Networking Services, @code{avahi-service-type}}), or @code{%desktop-services}, which includes it (@pxref{Desktop Services}).  Doing this makes @code{nss-mdns} accessible to the name service cache daemon (@pxref{Base Services, @code{nscd-service}})."
msgstr "请注意,在这种情况下,除了设置 @code{operating-system} 声明的 @code{name-service-switch} 外,您还需要使用 @code{avahi-service-type}(@pxref{Networking Services, @code{avahi-service-type}}),或 @code{%desktop-services},它包含它(@pxref{Desktop Services})。这样做使得 @code{nss-mdns} 可供名称服务缓存守护进程使用(@pxref{Base Services, @code{nscd-service}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:43704
#, fuzzy
msgid "For convenience, the following variables provide typical NSS configurations."
msgstr "为了方便,以下变量提供典型的 NSS 配置。"

#. type: defvar
#: guix-git/doc/guix.texi:43705
#, fuzzy, no-wrap
msgid "%default-nss"
msgstr "%default-nss"

#. type: defvar
#: guix-git/doc/guix.texi:43708
#, fuzzy
msgid "This is the default name service switch configuration, a @code{name-service-switch} object."
msgstr "这是默认的名称服务切换配置,一个 @code{name-service-switch} 对象。"

#. type: defvar
#: guix-git/doc/guix.texi:43710
#, fuzzy, no-wrap
msgid "%mdns-host-lookup-nss"
msgstr "%mdns-host-lookup-nss"

#. type: defvar
#: guix-git/doc/guix.texi:43713
#, fuzzy
msgid "This is the name service switch configuration with support for host name lookup over multicast DNS (mDNS) for host names ending in @code{.local}."
msgstr "这是支持通过多播 DNS (mDNS) 查找以 @code{.local} 结尾的主机名的名称服务切换配置。"

#. type: Plain text
#: guix-git/doc/guix.texi:43723
#, fuzzy
msgid "The reference for name service switch configuration is given below.  It is a direct mapping of the configuration file format of the C library , so please refer to the C library manual for more information (@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}).  Compared to the configuration file format of libc NSS, it has the advantage not only of adding this warm parenthetic feel that we like, but also static checks: you will know about syntax errors and typos as soon as you run @command{guix system}."
msgstr "名称服务切换配置的参考如下。它是 C 库配置文件格式的直接映射,因此请参考 C 库手册以获取更多信息(@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual})。与 libc NSS 的配置文件格式相比,它不仅增加了我们喜欢的温暖的插入感,而且还进行了静态检查:您将在运行 @command{guix system} 时立即知道语法错误和拼写错误。"

#. type: deftp
#: guix-git/doc/guix.texi:43724
#, fuzzy, no-wrap
msgid "{Data Type} name-service-switch"
msgstr "{数据类型} name-service-switch"

#. type: deftp
#: guix-git/doc/guix.texi:43729
#, fuzzy
msgid "This is the data type representation the configuration of libc's name service switch (NSS).  Each field below represents one of the supported system databases."
msgstr "这是libc的名称服务开关(NSS)配置的数据类型表示。下面的每个字段代表一个支持的系统数据库。"

#. type: item
#: guix-git/doc/guix.texi:43731
#, fuzzy, no-wrap
msgid "aliases"
msgstr "别名"

#. type: itemx
#: guix-git/doc/guix.texi:43732
#, fuzzy, no-wrap
msgid "ethers"
msgstr "以太网"

#. type: itemx
#: guix-git/doc/guix.texi:43734
#, fuzzy, no-wrap
msgid "gshadow"
msgstr "gshadow"

#. type: itemx
#: guix-git/doc/guix.texi:43735
#, fuzzy, no-wrap
msgid "hosts"
msgstr "主机"

#. type: itemx
#: guix-git/doc/guix.texi:43736
#, fuzzy, no-wrap
msgid "initgroups"
msgstr "初始化组"

#. type: itemx
#: guix-git/doc/guix.texi:43737
#, fuzzy, no-wrap
msgid "netgroup"
msgstr "网络组"

#. type: itemx
#: guix-git/doc/guix.texi:43738
#, fuzzy, no-wrap
msgid "networks"
msgstr "网络"

#. type: itemx
#: guix-git/doc/guix.texi:43741
#, fuzzy, no-wrap
msgid "rpc"
msgstr "rpc"

#. type: itemx
#: guix-git/doc/guix.texi:43743
#, fuzzy, no-wrap
msgid "shadow"
msgstr "shadow"

#. type: table
#: guix-git/doc/guix.texi:43746
#, fuzzy
msgid "The system databases handled by the NSS@.  Each of these fields must be a list of @code{<name-service>} objects (see below)."
msgstr "NSS处理的系统数据库。每个字段必须是一个@code{<name-service>}对象的列表(见下文)。"

#. type: deftp
#: guix-git/doc/guix.texi:43749
#, fuzzy, no-wrap
msgid "{Data Type} name-service"
msgstr "{数据类型} 名称服务"

#. type: deftp
#: guix-git/doc/guix.texi:43753
#, fuzzy
msgid "This is the data type representing an actual name service and the associated lookup action."
msgstr "这是表示实际名称服务及其相关查找操作的数据类型。"

#. type: table
#: guix-git/doc/guix.texi:43758
#, fuzzy
msgid "A string denoting the name service (@pxref{Services in the NSS configuration,,, libc, The GNU C Library Reference Manual})."
msgstr "一个表示名称服务的字符串(@pxref{NSS配置中的服务,,, libc, GNU C库参考手册})。"

#. type: table
#: guix-git/doc/guix.texi:43763
#, fuzzy
msgid "Note that name services listed here must be visible to nscd.  This is achieved by passing the @code{#:name-services} argument to @code{nscd-service} the list of packages providing the needed name services (@pxref{Base Services, @code{nscd-service}})."
msgstr "请注意,此处列出的名称服务必须对nscd可见。这是通过将@code{#:name-services}参数传递给@code{nscd-service}来实现的,后者提供所需名称服务的包列表(@pxref{基础服务, @code{nscd-service}})。"

#. type: item
#: guix-git/doc/guix.texi:43764
#, fuzzy, no-wrap
msgid "reaction"
msgstr "反应"

#. type: table
#: guix-git/doc/guix.texi:43768
#, fuzzy
msgid "An action specified using the @code{lookup-specification} macro (@pxref{Actions in the NSS configuration,,, libc, The GNU C Library Reference Manual}).  For example:"
msgstr "使用@code{lookup-specification}宏指定的操作(@pxref{NSS配置中的操作,,, libc, GNU C库参考手册})。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:43772
#, fuzzy, no-wrap
msgid ""
"(lookup-specification (unavailable => continue)\n"
"                      (success => return))\n"
msgstr ""
"(lookup-specification (unavailable => continue)\n"
"                      (success => return))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:43786
#, fuzzy
msgid "For bootstrapping purposes, the Linux-Libre kernel is passed an @dfn{initial RAM disk}, or @dfn{initrd}.  An initrd contains a temporary root file system as well as an initialization script.  The latter is responsible for mounting the real root file system, and for loading any kernel modules that may be needed to achieve that."
msgstr "出于引导目的,Linux-Libre内核被传递一个@dfn{初始RAM磁盘},或@dfn{initrd}。initrd包含一个临时根文件系统以及一个初始化脚本。后者负责挂载真实的根文件系统,并加载可能需要的任何内核模块以实现这一点。"

#. type: Plain text
#: guix-git/doc/guix.texi:43795
#, fuzzy
msgid "The @code{initrd-modules} field of an @code{operating-system} declaration allows you to specify Linux-libre kernel modules that must be available in the initrd.  In particular, this is where you would list modules needed to actually drive the hard disk where your root partition is---although the default value of @code{initrd-modules} should cover most use cases.  For example, assuming you need the @code{megaraid_sas} module in addition to the default modules to be able to access your root file system, you would write:"
msgstr "@code{operating-system}声明的@code{initrd-modules}字段允许您指定必须在initrd中可用的Linux-libre内核模块。特别是,这里是您列出实际驱动根分区所在硬盘所需模块的地方——尽管@code{initrd-modules}的默认值应该涵盖大多数用例。例如,假设您需要@code{megaraid_sas}模块,除了默认模块之外,以便能够访问您的根文件系统,您可以这样写:"

#. type: lisp
#: guix-git/doc/guix.texi:43800
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n"
msgstr ""
"(operating-system\n"
"  ;; @dots{}\n"
"  (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:43802
#, fuzzy, no-wrap
msgid "%base-initrd-modules"
msgstr "%base-initrd-modules"

#. type: defvar
#: guix-git/doc/guix.texi:43804
#, fuzzy
msgid "This is the list of kernel modules included in the initrd by default."
msgstr "这是默认包含在 initrd 中的内核模块列表。"

#. type: Plain text
#: guix-git/doc/guix.texi:43812
#, fuzzy
msgid "Furthermore, if you need lower-level customization, the @code{initrd} field of an @code{operating-system} declaration allows you to specify which initrd you would like to use.  The @code{(gnu system linux-initrd)} module provides three ways to build an initrd: the high-level @code{base-initrd} procedure and the low-level @code{raw-initrd} and @code{expression->initrd} procedures."
msgstr "此外,如果您需要更低级的自定义,@code{operating-system} 声明的 @code{initrd} 字段允许您指定希望使用的 initrd。 @code{(gnu system linux-initrd)} 模块提供三种构建 initrd 的方法:高级的 @code{base-initrd} 过程和低级的 @code{raw-initrd} 和 @code{expression->initrd} 过程。"

#. type: Plain text
#: guix-git/doc/guix.texi:43817
#, fuzzy
msgid "The @code{base-initrd} procedure is intended to cover most common uses.  For example, if you want to add a bunch of kernel modules to be loaded at boot time, you can define the @code{initrd} field of the operating system declaration like this:"
msgstr "@code{base-initrd} 过程旨在覆盖大多数常见用法。例如,如果您想添加一堆在启动时加载的内核模块,可以像这样定义操作系统声明的 @code{initrd} 字段:"

#. type: lisp
#: guix-git/doc/guix.texi:43825
#, fuzzy, no-wrap
msgid ""
"(initrd (lambda (file-systems . rest)\n"
"          ;; Create a standard initrd but set up networking\n"
"          ;; with the parameters QEMU expects by default.\n"
"          (apply base-initrd file-systems\n"
"                 #:qemu-networking? #t\n"
"                 rest)))\n"
msgstr ""
"(initrd (lambda (file-systems . rest)\n"
"          ;; 创建一个标准的 initrd,但设置网络\n"
"          ;; 使用 QEMU 默认期望的参数。\n"
"          (apply base-initrd file-systems\n"
"                 #:qemu-networking? #t\n"
"                 rest)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:43830
#, fuzzy
msgid "The @code{base-initrd} procedure also handles common use cases that involves using the system as a QEMU guest, or as a ``live'' system with volatile root file system."
msgstr "@code{base-initrd} 过程还处理将系统用作 QEMU 客户端或作为具有易失性根文件系统的“实时”系统的常见用例。"

#. type: Plain text
#: guix-git/doc/guix.texi:43837
#, fuzzy
msgid "The @code{base-initrd} procedure is built from @code{raw-initrd} procedure.  Unlike @code{base-initrd}, @code{raw-initrd} doesn't do anything high-level, such as trying to guess which kernel modules and packages should be included to the initrd.  An example use of @code{raw-initrd} is when a user has a custom Linux kernel configuration and default kernel modules included by @code{base-initrd} are not available."
msgstr "@code{base-initrd} 过程是由 @code{raw-initrd} 过程构建的。与 @code{base-initrd} 不同,@code{raw-initrd} 不执行任何高级操作,例如尝试猜测应该包含哪些内核模块和软件包到 initrd 中。 @code{raw-initrd} 的一个示例用法是当用户有自定义的 Linux 内核配置,而 @code{base-initrd} 包含的默认内核模块不可用时。"

#. type: Plain text
#: guix-git/doc/guix.texi:43842
#, fuzzy
msgid "The initial RAM disk produced by @code{base-initrd} or @code{raw-initrd} honors several options passed on the Linux kernel command line (that is, arguments passed @i{via} the @code{linux} command of GRUB, or the @code{-append} option of QEMU), notably:"
msgstr "@code{base-initrd} 或 @code{raw-initrd} 生成的初始 RAM 磁盘遵循在 Linux 内核命令行上传递的几个选项(即,通过 GRUB 的 @code{linux} 命令或 QEMU 的 @code{-append} 选项传递的参数),特别是:"

#. type: item
#: guix-git/doc/guix.texi:43844
#, fuzzy, no-wrap
msgid "gnu.load=@var{boot}"
msgstr "gnu.load=@var{boot}"

#. type: table
#: guix-git/doc/guix.texi:43847
#, fuzzy
msgid "Tell the initial RAM disk to load @var{boot}, a file containing a Scheme program, once it has mounted the root file system."
msgstr "告诉初始 RAM 磁盘在挂载根文件系统后加载 @var{boot},这是一个包含 Scheme 程序的文件。"

#. type: table
#: guix-git/doc/guix.texi:43851
#, fuzzy
msgid "Guix uses this option to yield control to a boot program that runs the service activation programs and then spawns the GNU@tie{}Shepherd, the initialization system."
msgstr "Guix 使用此选项将控制权交给一个引导程序,该程序运行服务激活程序,然后生成 GNU@tie{}Shepherd,初始化系统。"

#. type: item
#: guix-git/doc/guix.texi:43852
#, fuzzy, no-wrap
msgid "root=@var{root}"
msgstr "root=@var{root}"

#. type: table
#: guix-git/doc/guix.texi:43857
#, fuzzy
msgid "Mount @var{root} as the root file system.  @var{root} can be a device name like @code{/dev/sda1}, a file system label, or a file system UUID.  When unspecified, the device name from the root file system of the operating system declaration is used."
msgstr "将 @var{root} 挂载为根文件系统。 @var{root} 可以是设备名称,如 @code{/dev/sda1},文件系统标签或文件系统 UUID。当未指定时,将使用操作系统声明的根文件系统中的设备名称。"

#. type: item
#: guix-git/doc/guix.texi:43858
#, fuzzy, no-wrap
msgid "rootfstype=@var{type}"
msgstr "--log-compression=@var{type}"

#. type: table
#: guix-git/doc/guix.texi:43862
#, fuzzy
msgid "Set the type of the root file system.  It overrides the @code{type} field of the root file system specified via the @code{operating-system} declaration, if any."
msgstr "设置根文件系统的类型。如果有的话,它会覆盖通过 @code{operating-system} 声明指定的根文件系统的 @code{type} 字段。"

#. type: item
#: guix-git/doc/guix.texi:43863
#, fuzzy, no-wrap
msgid "rootflags=@var{options}"
msgstr "rootflags=@var{options}"

#. type: table
#: guix-git/doc/guix.texi:43867
#, fuzzy
msgid "Set the mount @emph{options} of the root file system.  It overrides the @code{options} field of the root file system specified via the @code{operating-system} declaration, if any."
msgstr "设置根文件系统的挂载 @emph{options}。如果有的话,它会覆盖通过 @code{operating-system} 声明指定的根文件系统的 @code{options} 字段。"

#. type: item
#: guix-git/doc/guix.texi:43868
#, fuzzy, no-wrap
msgid "fsck.mode=@var{mode}"
msgstr "--rounds=@var{N}"

#. type: table
#: guix-git/doc/guix.texi:43874
#, fuzzy
msgid "Whether to check the @var{root} file system for errors before mounting it.  @var{mode} is one of @code{skip} (never check), @code{force} (always check), or @code{auto} to respect the root @code{<file-system>} object's @code{check?} setting (@pxref{File Systems}) and run a full scan only if the file system was not cleanly shut down."
msgstr "在挂载 @var{root} 文件系统之前,是否检查其错误。 @var{mode} 是 @code{skip}(从不检查)、@code{force}(始终检查)或 @code{auto},以尊重根 @code{<file-system>} 对象的 @code{check?} 设置(@pxref{File Systems}),并仅在文件系统未正常关闭时运行完整扫描。"

#. type: table
#: guix-git/doc/guix.texi:43877
#, fuzzy
msgid "@code{auto} is the default if this option is not present or if @var{mode} is not one of the above."
msgstr "@code{auto} 是默认值,如果此选项不存在或 @var{mode} 不是上述之一。"

#. type: item
#: guix-git/doc/guix.texi:43878
#, fuzzy, no-wrap
msgid "fsck.repair=@var{level}"
msgstr "fsck.repair=@var{level}"

#. type: table
#: guix-git/doc/guix.texi:43883
#, fuzzy
msgid "The level of repairs to perform automatically if errors are found in the @var{root} file system.  @var{level} is one of @code{no} (do not write to @var{root} at all if possible), @code{yes} (repair as much as possible), or @code{preen} to repair problems considered safe to repair automatically."
msgstr "如果在 @var{root} 文件系统中发现错误,则自动执行的修复级别。 @var{level} 是 @code{no}(如果可能,不对 @var{root} 进行写入)、@code{yes}(尽可能修复)或 @code{preen},以修复被认为安全的自动修复问题。"

#. type: table
#: guix-git/doc/guix.texi:43886
#, fuzzy
msgid "@code{preen} is the default if this option is not present or if @var{level} is not one of the above."
msgstr "@code{preen} 是默认值,如果此选项不存在或 @var{level} 不是上述之一。"

#. type: item
#: guix-git/doc/guix.texi:43887
#, fuzzy, no-wrap
msgid "gnu.system=@var{system}"
msgstr "--system=@var{system}"

#. type: table
#: guix-git/doc/guix.texi:43890
#, fuzzy
msgid "Have @file{/run/booted-system} and @file{/run/current-system} point to @var{system}."
msgstr "使 @file{/run/booted-system} 和 @file{/run/current-system} 指向 @var{system}。"

#. type: item
#: guix-git/doc/guix.texi:43891
#, fuzzy, no-wrap
msgid "modprobe.blacklist=@var{modules}@dots{}"
msgstr "modprobe.blacklist=@var{modules}@dots{}"

#. type: cindex
#: guix-git/doc/guix.texi:43892
#, fuzzy, no-wrap
msgid "module, black-listing"
msgstr "模块,黑名单"

#. type: cindex
#: guix-git/doc/guix.texi:43893
#, fuzzy, no-wrap
msgid "black list, of kernel modules"
msgstr "内核模块的黑名单"

#. type: table
#: guix-git/doc/guix.texi:43898
#, fuzzy
msgid "Instruct the initial RAM disk as well as the @command{modprobe} command (from the kmod package) to refuse to load @var{modules}.  @var{modules} must be a comma-separated list of module names---e.g., @code{usbkbd,9pnet}."
msgstr "指示初始 RAM 磁盘以及 @command{modprobe} 命令(来自 kmod 包)拒绝加载 @var{modules}。 @var{modules} 必须是以逗号分隔的模块名称列表,例如 @code{usbkbd,9pnet}。"

#. type: item
#: guix-git/doc/guix.texi:43899
#, fuzzy, no-wrap
msgid "gnu.repl"
msgstr "gnu.repl"

#. type: table
#: guix-git/doc/guix.texi:43905
#, fuzzy
msgid "Start a read-eval-print loop (REPL) from the initial RAM disk before it tries to load kernel modules and to mount the root file system.  Our marketing team calls it @dfn{boot-to-Guile}.  The Schemer in you will love it.  @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}, for more information on Guile's REPL."
msgstr "在初始 RAM 磁盘上启动一个读-评估-打印循环(REPL),在它尝试加载内核模块和挂载根文件系统之前。我们的市场团队称之为 @dfn{boot-to-Guile}。你会喜欢它的。有关 Guile REPL 的更多信息,请参见 @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}。"

#. type: Plain text
#: guix-git/doc/guix.texi:43911
#, fuzzy
msgid "Now that you know all the features that initial RAM disks produced by @code{base-initrd} and @code{raw-initrd} provide, here is how to use it and customize it further."
msgstr "现在您已经了解了由@code{base-initrd}和@code{raw-initrd}生成的所有功能,下面是如何使用它并进一步自定义它。"

#. type: deffn
#: guix-git/doc/guix.texi:43914
#, fuzzy, no-wrap
msgid "{Procedure} raw-initrd file-systems @"
msgstr "网络文件系统"

#. type: deffn
#: guix-git/doc/guix.texi:43930
#, fuzzy
msgid "[#:linux-modules '()] [#:pre-mount #t] [#:mapped-devices '()] @ [#:keyboard-layout #f] [#:helper-packages '()] @ [#:qemu-networking? #f] [#:volatile-root? #f] Return a derivation that builds a raw initrd.  @var{file-systems} is a list of file systems to be mounted by the initrd, possibly in addition to the root file system specified on the kernel command line via @option{root}.  @var{linux-modules} is a list of kernel modules to be loaded at boot time.  @var{mapped-devices} is a list of device mappings to realize before @var{file-systems} are mounted (@pxref{Mapped Devices}).  @var{pre-mount} is a G-expression to evaluate before realizing @var{mapped-devices}.  @var{helper-packages} is a list of packages to be copied in the initrd.  It may include @code{e2fsck/static} or other packages needed by the initrd to check the root file system."
msgstr "[#:linux-modules '()] [#:pre-mount #t] [#:mapped-devices '()] @ [#:keyboard-layout #f] [#:helper-packages '()] @ [#:qemu-networking? #f] [#:volatile-root? #f] 返回一个构建原始initrd的派生物。 @var{file-systems}是一个文件系统列表,将由initrd挂载,可能还包括通过@option{root}在内核命令行上指定的根文件系统。 @var{linux-modules}是一个在启动时加载的内核模块列表。 @var{mapped-devices}是一个设备映射列表,在挂载@var{file-systems}之前实现(@pxref{Mapped Devices})。 @var{pre-mount}是一个在实现@var{mapped-devices}之前评估的G表达式。 @var{helper-packages}是一个将在initrd中复制的包列表。它可能包括@code{e2fsck/static}或其他initrd检查根文件系统所需的包。"

#. type: deffn
#: guix-git/doc/guix.texi:43936 guix-git/doc/guix.texi:43960
#, fuzzy
msgid "When true, @var{keyboard-layout} is a @code{<keyboard-layout>} record denoting the desired console keyboard layout.  This is done before @var{mapped-devices} are set up and before @var{file-systems} are mounted such that, should the user need to enter a passphrase or use the REPL, this happens using the intended keyboard layout."
msgstr "当为真时,@var{keyboard-layout}是一个@code{<keyboard-layout>}记录,表示所需的控制台键盘布局。这是在设置@var{mapped-devices}和挂载@var{file-systems}之前完成的,因此,如果用户需要输入密码或使用REPL,这将使用预期的键盘布局进行。"

#. type: deffn
#: guix-git/doc/guix.texi:43940
#, fuzzy
msgid "When @var{qemu-networking?} is true, set up networking with the standard QEMU parameters.  When @var{virtio?} is true, load additional modules so that the initrd can be used as a QEMU guest with para-virtualized I/O drivers."
msgstr "当@var{qemu-networking?}为真时,使用标准QEMU参数设置网络。当@var{virtio?}为真时,加载额外的模块,以便initrd可以作为具有准虚拟化I/O驱动程序的QEMU客户机使用。"

#. type: deffn
#: guix-git/doc/guix.texi:43943
#, fuzzy
msgid "When @var{volatile-root?} is true, the root file system is writable but any changes to it are lost."
msgstr "当@var{volatile-root?}为真时,根文件系统是可写的,但对其所做的任何更改都会丢失。"

#. type: deffn
#: guix-git/doc/guix.texi:43945
#, fuzzy, no-wrap
msgid "{Procedure} base-initrd file-systems @"
msgstr "网络文件系统"

#. type: deffn
#: guix-git/doc/guix.texi:43954
#, fuzzy
msgid "[#:mapped-devices '()] [#:keyboard-layout #f] @ [#:qemu-networking? #f] [#:volatile-root? #f] @ [#:linux-modules '()] Return as a file-like object a generic initrd, with kernel modules taken from @var{linux}.  @var{file-systems} is a list of file-systems to be mounted by the initrd, possibly in addition to the root file system specified on the kernel command line via @option{root}.  @var{mapped-devices} is a list of device mappings to realize before @var{file-systems} are mounted."
msgstr "[#:mapped-devices '()] [#:keyboard-layout #f] @ [#:qemu-networking? #f] [#:volatile-root? #f] @ [#:linux-modules '()] 返回一个类似文件的对象,一个通用的initrd,内核模块来自@var{linux}。 @var{file-systems}是一个文件系统列表,将由initrd挂载,可能还包括通过@option{root}在内核命令行上指定的根文件系统。 @var{mapped-devices}是一个设备映射列表,在挂载@var{file-systems}之前实现。"

#. type: deffn
#: guix-git/doc/guix.texi:43962
#, fuzzy
msgid "@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-initrd}."
msgstr "@var{qemu-networking?} 和 @var{volatile-root?} 的行为与 @code{raw-initrd} 中相同。"

#. type: deffn
#: guix-git/doc/guix.texi:43967
#, fuzzy
msgid "The initrd is automatically populated with all the kernel modules necessary for @var{file-systems} and for the given options.  Additional kernel modules can be listed in @var{linux-modules}.  They will be added to the initrd, and loaded at boot time in the order in which they appear."
msgstr "initrd 会自动填充所有必要的内核模块,以支持 @var{file-systems} 和给定的选项。额外的内核模块可以在 @var{linux-modules} 中列出。它们将被添加到 initrd 中,并在启动时按出现的顺序加载。"

#. type: Plain text
#: guix-git/doc/guix.texi:43974
#, fuzzy
msgid "Needless to say, the initrds we produce and use embed a statically-linked Guile, and the initialization program is a Guile program.  That gives a lot of flexibility.  The @code{expression->initrd} procedure builds such an initrd, given the program to run in that initrd."
msgstr "不必说,我们生成和使用的 initrd 嵌入了一个静态链接的 Guile,初始化程序是一个 Guile 程序。这提供了很大的灵活性。@code{expression->initrd} 过程构建这样的 initrd,给定要在该 initrd 中运行的程序。"

#. type: deffn
#: guix-git/doc/guix.texi:43975
#, fuzzy, no-wrap
msgid "{Procedure} expression->initrd exp @"
msgstr "{过程} expression->initrd exp @"

#. type: deffn
#: guix-git/doc/guix.texi:43981
#, fuzzy
msgid "[#:guile %guile-static-initrd] [#:name \"guile-initrd\"] Return as a file-like object a Linux initrd (a gzipped cpio archive)  containing @var{guile} and that evaluates @var{exp}, a G-expression, upon booting.  All the derivations referenced by @var{exp} are automatically copied to the initrd."
msgstr "[#:guile %guile-static-initrd] [#:name \"guile-initrd\"] 作为类文件对象返回一个 Linux initrd(一个 gzipped cpio 存档),其中包含 @var{guile},并在启动时评估 @var{exp},一个 G 表达式。所有 @var{exp} 引用的派生物会自动复制到 initrd 中。"

#. type: cindex
#: guix-git/doc/guix.texi:43987
#, fuzzy, no-wrap
msgid "boot loader"
msgstr "引导加载程序"

#. type: Plain text
#: guix-git/doc/guix.texi:43994
#, fuzzy
msgid "The operating system supports multiple bootloaders.  The bootloader is configured using @code{bootloader-configuration} declaration.  All the fields of this structure are bootloader agnostic except for one field, @code{bootloader} that indicates the bootloader to be configured and installed."
msgstr "操作系统支持多个引导加载程序。引导加载程序使用 @code{bootloader-configuration} 声明进行配置。该结构的所有字段都是与引导加载程序无关的,除了一个字段 @code{bootloader},它指示要配置和安装的引导加载程序。"

#. type: Plain text
#: guix-git/doc/guix.texi:43999
#, fuzzy
msgid "Some of the bootloaders do not honor every field of @code{bootloader-configuration}.  For instance, the extlinux bootloader does not support themes and thus ignores the @code{theme} field."
msgstr "一些引导加载程序不遵循 @code{bootloader-configuration} 的每个字段。例如,extlinux 引导加载程序不支持主题,因此忽略 @code{theme} 字段。"

#. type: deftp
#: guix-git/doc/guix.texi:44000
#, fuzzy, no-wrap
msgid "{Data Type} bootloader-configuration"
msgstr "{数据类型} bootloader-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:44002
#, fuzzy
msgid "The type of a bootloader configuration declaration."
msgstr "引导加载程序配置声明的类型。"

#. type: cindex
#: guix-git/doc/guix.texi:44006
#, fuzzy, no-wrap
msgid "EFI, bootloader"
msgstr "EFI,引导加载程序"

#. type: cindex
#: guix-git/doc/guix.texi:44007
#, fuzzy, no-wrap
msgid "UEFI, bootloader"
msgstr "UEFI,引导加载程序"

#. type: cindex
#: guix-git/doc/guix.texi:44008
#, fuzzy, no-wrap
msgid "BIOS, bootloader"
msgstr "BIOS,引导加载程序"

#. type: table
#: guix-git/doc/guix.texi:44014
#, fuzzy
msgid "The bootloader to use, as a @code{bootloader} object.  For now @code{grub-bootloader}, @code{grub-efi-bootloader}, @code{grub-efi-removable-bootloader}, @code{grub-efi-netboot-bootloader}, @code{grub-efi-netboot-removable-bootloader}, @code{extlinux-bootloader} and @code{u-boot-bootloader} are supported."
msgstr "要使用的引导加载程序,作为 @code{bootloader} 对象。目前支持 @code{grub-bootloader}、@code{grub-efi-bootloader}、@code{grub-efi-removable-bootloader}、@code{grub-efi-netboot-bootloader}、@code{grub-efi-netboot-removable-bootloader}、@code{extlinux-bootloader} 和 @code{u-boot-bootloader}。"

#. type: cindex
#: guix-git/doc/guix.texi:44015
#, fuzzy, no-wrap
msgid "ARM, bootloaders"
msgstr "ARM,引导加载程序"

#. type: cindex
#: guix-git/doc/guix.texi:44016
#, fuzzy, no-wrap
msgid "AArch64, bootloaders"
msgstr "AArch64,引导加载程序"

#. type: table
#: guix-git/doc/guix.texi:44021
#, fuzzy
msgid "Available bootloaders are described in @code{(gnu bootloader @dots{})} modules.  In particular, @code{(gnu bootloader u-boot)} contains definitions of bootloaders for a wide range of ARM and AArch64 systems, using the @uref{https://www.denx.de/wiki/U-Boot/, U-Boot bootloader}."
msgstr "可用的引导加载程序在 @code{(gnu bootloader @dots{})} 模块中描述。特别是,@code{(gnu bootloader u-boot)} 包含适用于广泛 ARM 和 AArch64 系统的引导加载程序的定义,使用 @uref{https://www.denx.de/wiki/U-Boot/, U-Boot 引导加载程序}。"

#. type: table
#: guix-git/doc/guix.texi:44025
#, fuzzy
msgid "@code{grub-bootloader} allows you to boot in particular Intel-based machines in ``legacy'' BIOS mode."
msgstr "@code{grub-bootloader} 允许您在特定的基于 Intel 的机器上以 ``legacy'' BIOS 模式启动。"

#. type: table
#: guix-git/doc/guix.texi:44031
#, fuzzy
msgid "@code{grub-efi-bootloader} allows to boot on modern systems using the @dfn{Unified Extensible Firmware Interface} (UEFI).  This is what you should use if the installation image contains a @file{/sys/firmware/efi} directory when you boot it on your system."
msgstr "@code{grub-efi-bootloader} 允许在现代系统上使用 @dfn{统一可扩展固件接口} (UEFI) 启动。如果安装映像在您的系统上启动时包含 @file{/sys/firmware/efi} 目录,则应使用此选项。"

#. type: vindex
#: guix-git/doc/guix.texi:44032
#, fuzzy, no-wrap
msgid "grub-efi-removable-bootloader"
msgstr "grub-efi-removable-bootloader"

#. type: table
#: guix-git/doc/guix.texi:44039
#, fuzzy
msgid "@code{grub-efi-removable-bootloader} allows you to boot your system from removable media by writing the GRUB file to the UEFI-specification location of @file{/EFI/BOOT/BOOTX64.efi} of the boot directory, usually @file{/boot/efi}.  This is also useful for some UEFI firmwares that ``forget'' their configuration from their non-volatile storage. Like @code{grub-efi-bootloader}, this can only be used if the @file{/sys/firmware/efi} directory is available."
msgstr "@code{grub-efi-removable-bootloader} 允许您通过将 GRUB 文件写入 UEFI 规范位置 @file{/EFI/BOOT/BOOTX64.efi} 的启动目录(通常是 @file{/boot/efi})来从可移动介质启动系统。这对于一些 ``忘记'' 从其非易失性存储中配置的 UEFI 固件也很有用。与 @code{grub-efi-bootloader} 一样,只有在 @file{/sys/firmware/efi} 目录可用时才能使用。"

#. type: quotation
#: guix-git/doc/guix.texi:44044 guix-git/doc/guix.texi:44118
#, fuzzy
msgid "This @emph{will} overwrite the GRUB file from any other operating systems that also place their GRUB file in the UEFI-specification location; making them unbootable."
msgstr "此 @emph{将} 会覆盖任何其他操作系统的 GRUB 文件,这些操作系统也将其 GRUB 文件放置在 UEFI 规范位置;使它们无法启动。"

#. type: vindex
#: guix-git/doc/guix.texi:44046
#, fuzzy, no-wrap
msgid "grub-efi-netboot-bootloader"
msgstr "grub-efi-netboot-bootloader"

#. type: table
#: guix-git/doc/guix.texi:44050
#, fuzzy
msgid "@code{grub-efi-netboot-bootloader} allows you to boot your system over network through TFTP@.  In combination with an NFS root file system this allows you to build a diskless Guix system."
msgstr "@code{grub-efi-netboot-bootloader} 允许您通过 TFTP@ 在网络上启动系统。结合 NFS 根文件系统,这使您能够构建无盘的 Guix 系统。"

#. type: table
#: guix-git/doc/guix.texi:44057
#, fuzzy
msgid "The installation of the @code{grub-efi-netboot-bootloader} generates the content of the TFTP root directory at @code{targets} (@pxref{Bootloader Configuration, @code{targets}}) below the sub-directory @file{efi/Guix}, to be served by a TFTP server.  You may want to mount your TFTP server directories onto the @code{targets} to move the required files to the TFTP server automatically during installation."
msgstr "@code{grub-efi-netboot-bootloader} 的安装会在 @code{targets} (@pxref{Bootloader Configuration, @code{targets}}) 下的子目录 @file{efi/Guix} 中生成 TFTP 根目录的内容,以供 TFTP 服务器提供。您可能希望将 TFTP 服务器目录挂载到 @code{targets} 上,以便在安装过程中自动将所需文件移动到 TFTP 服务器。"

#. type: table
#: guix-git/doc/guix.texi:44066
#, fuzzy
msgid "If you plan to use an NFS root file system as well (actually if you mount the store from an NFS share), then the TFTP server needs to serve the file @file{/boot/grub/grub.cfg} and other files from the store (like GRUBs background image, the kernel (@pxref{operating-system Reference, @code{kernel}}) and the initrd (@pxref{operating-system Reference, @code{initrd}})), too.  All these files from the store will be accessed by GRUB through TFTP with their normal store path, for example as @file{tftp://tftp-server/gnu/store/…-initrd/initrd.cpio.gz}."
msgstr "如果您计划使用 NFS 根文件系统(实际上如果您从 NFS 共享挂载存储),那么 TFTP 服务器还需要提供文件 @file{/boot/grub/grub.cfg} 和存储中的其他文件(如 GRUB 的背景图像、内核 (@pxref{operating-system Reference, @code{kernel}}) 和 initrd (@pxref{operating-system Reference, @code{initrd}}))。所有这些来自存储的文件将通过 TFTP 以其正常的存储路径访问,例如 @file{tftp://tftp-server/gnu/store/…-initrd/initrd.cpio.gz}。"

#. type: table
#: guix-git/doc/guix.texi:44075
#, fuzzy
msgid "Two symlinks are created to make this possible.  For each target in the @code{targets} field, the first symlink is @samp{target}@file{/efi/Guix/boot/grub/grub.cfg} pointing to @file{../../../boot/grub/grub.cfg}, where @samp{target} may be @file{/boot}.  In this case the link is not leaving the served TFTP root directory, but otherwise it does.  The second link is @samp{target}@file{/gnu/store} and points to @file{../gnu/store}.  This link is leaving the served TFTP root directory."
msgstr "创建了两个符号链接以实现这一点。对于@code{targets}字段中的每个目标,第一个符号链接是@samp{target}@file{/efi/Guix/boot/grub/grub.cfg},指向@file{../../../boot/grub/grub.cfg},其中@samp{target}可以是@file{/boot}。在这种情况下,链接并没有离开提供的TFTP根目录,但在其他情况下则会。第二个链接是@samp{target}@file{/gnu/store},指向@file{../gnu/store}。这个链接是离开提供的TFTP根目录。"

#. type: table
#: guix-git/doc/guix.texi:44081
#, fuzzy
msgid "The assumption behind all this is that you have an NFS server exporting the root file system for your Guix system, and additionally a TFTP server exporting your @code{targets} directories—usually a single @file{/boot}—from that same root file system for your Guix system.  In this constellation the symlinks will work."
msgstr "这一切的假设是你有一个NFS服务器导出你的Guix系统的根文件系统,并且还有一个TFTP服务器从同一个根文件系统导出你的@code{targets}目录——通常是一个单一的@file{/boot}。在这种情况下,符号链接将会工作。"

#. type: table
#: guix-git/doc/guix.texi:44086
#, fuzzy
msgid "For other constellations you will have to program your own bootloader installer, which then takes care to make necessary files from the store accessible through TFTP, for example by copying them into the TFTP root directory for your @code{targets}."
msgstr "对于其他情况,你将需要编写自己的引导加载程序安装程序,它将负责通过TFTP使存储中的必要文件可访问,例如通过将它们复制到你的@code{targets}的TFTP根目录中。"

#. type: table
#: guix-git/doc/guix.texi:44092
#, fuzzy
msgid "It is important to note that symlinks pointing outside the TFTP root directory may need to be allowed in the configuration of your TFTP server.  Further the store link exposes the whole store through TFTP@.  Both points need to be considered carefully for security aspects.  It is advised to disable any TFTP write access!"
msgstr "重要的是要注意,指向TFTP根目录外部的符号链接可能需要在你的TFTP服务器的配置中被允许。此外,存储链接通过TFTP暴露整个存储。两个点都需要仔细考虑安全方面。建议禁用任何TFTP写入访问!"

#. type: table
#: guix-git/doc/guix.texi:44095
#, fuzzy
msgid "Please note, that this bootloader will not modify the ‘UEFI Boot Manager’ of the system."
msgstr "请注意,这个引导加载程序不会修改系统的“UEFI引导管理器”。"

#. type: table
#: guix-git/doc/guix.texi:44100
#, fuzzy
msgid "Beside the @code{grub-efi-netboot-bootloader}, the already mentioned TFTP and NFS servers, you also need a properly configured DHCP server to make the booting over netboot possible.  For all this we can currently only recommend you to look for instructions about @acronym{PXE, Preboot eXecution Environment}."
msgstr "除了@code{grub-efi-netboot-bootloader}、前面提到的TFTP和NFS服务器外,你还需要一个正确配置的DHCP服务器,以使网络引导成为可能。对于这一切,我们目前只能建议你查找关于@acronym{PXE,预引导执行环境}的说明。"

#. type: table
#: guix-git/doc/guix.texi:44107
#, fuzzy
msgid "If a local EFI System Partition (ESP) or a similar partition with a FAT file system is mounted in @code{targets}, then symlinks cannot be created.  In this case everything will be prepared for booting from local storage, matching the behavior of @code{grub-efi-bootloader}, with the difference that all GRUB binaries are copied to @code{targets}, necessary for booting over the network."
msgstr "如果在@code{targets}中挂载了本地EFI系统分区(ESP)或类似的FAT文件系统分区,则无法创建符号链接。在这种情况下,一切都将为从本地存储引导做好准备,符合@code{grub-efi-bootloader}的行为,唯一的区别是所有GRUB二进制文件都被复制到@code{targets}中,这是网络引导所必需的。"

#. type: vindex
#: guix-git/doc/guix.texi:44108
#, fuzzy, no-wrap
msgid "grub-efi-netboot-removable-bootloader"
msgstr "grub-efi-netboot-removable-bootloader"

#. type: table
#: guix-git/doc/guix.texi:44113
#, fuzzy
msgid "@code{grub-efi-netboot-removable-bootloader} is identical to @code{grub-efi-netboot-bootloader} with the exception that the sub-directory @file{efi/boot} will be used instead of @file{efi/Guix} to comply with the UEFI specification for removable media."
msgstr "@code{grub-efi-netboot-removable-bootloader} 与 @code{grub-efi-netboot-bootloader} 相同,唯一的区别是将使用子目录 @file{efi/boot} 而不是 @file{efi/Guix},以符合可移动媒体的 UEFI 规范。"

#. type: table
#: guix-git/doc/guix.texi:44123
#, fuzzy
msgid "This is a list of strings denoting the targets onto which to install the bootloader."
msgstr "这是一个字符串列表,表示要安装引导加载程序的目标。"

#. type: table
#: guix-git/doc/guix.texi:44134
#, fuzzy
msgid "The interpretation of targets depends on the bootloader in question.  For @code{grub-bootloader}, for example, they should be device names understood by the bootloader @command{installer} command, such as @code{/dev/sda} or @code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB Manual}).  For @code{grub-efi-bootloader} and @code{grub-efi-removable-bootloader} they should be mount points of the EFI file system, usually @file{/boot/efi}.  For @code{grub-efi-netboot-bootloader}, @code{targets} should be the mount points corresponding to TFTP root directories served by your TFTP server."
msgstr "目标的解释取决于相关的引导加载程序。例如,对于 @code{grub-bootloader},它们应该是引导加载程序 @command{installer} 命令理解的设备名称,如 @code{/dev/sda} 或 @code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB Manual})。对于 @code{grub-efi-bootloader} 和 @code{grub-efi-removable-bootloader},它们应该是 EFI 文件系统的挂载点,通常是 @file{/boot/efi}。对于 @code{grub-efi-netboot-bootloader},@code{targets} 应该是与您的 TFTP 服务器提供的 TFTP 根目录相对应的挂载点。"

#. type: item
#: guix-git/doc/guix.texi:44135
#, fuzzy, no-wrap
msgid "@code{menu-entries} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:44139
#, fuzzy
msgid "A possibly empty list of @code{menu-entry} objects (see below), denoting entries to appear in the bootloader menu, in addition to the current system entry and the entry pointing to previous system generations."
msgstr "一个可能为空的 @code{menu-entry} 对象列表(见下文),表示除了当前系统条目和指向以前系统版本的条目外,出现在引导加载程序菜单中的条目。"

#. type: item
#: guix-git/doc/guix.texi:44140
#, fuzzy, no-wrap
msgid "@code{default-entry} (default: @code{0})"
msgstr "@code{default-entry}(默认值:@code{0})"

#. type: table
#: guix-git/doc/guix.texi:44143
#, fuzzy
msgid "The index of the default boot menu entry.  Index 0 is for the entry of the current system."
msgstr "默认引导菜单条目的索引。索引 0 是当前系统的条目。"

#. type: item
#: guix-git/doc/guix.texi:44144
#, fuzzy, no-wrap
msgid "@code{timeout} (default: @code{5})"
msgstr "@code{timeout}(默认值:@code{5})"

#. type: table
#: guix-git/doc/guix.texi:44147
#, fuzzy
msgid "The number of seconds to wait for keyboard input before booting.  Set to 0 to boot immediately, and to -1 to wait indefinitely."
msgstr "在启动之前等待键盘输入的秒数。设置为 0 以立即启动,设置为 -1 以无限期等待。"

#. type: cindex
#: guix-git/doc/guix.texi:44148
#, fuzzy, no-wrap
msgid "keyboard layout, for the bootloader"
msgstr "引导加载程序的键盘布局"

#. type: table
#: guix-git/doc/guix.texi:44152
#, fuzzy
msgid "If this is @code{#f}, the bootloader's menu (if any) uses the default keyboard layout, usually US@tie{}English (``qwerty'')."
msgstr "如果这是 @code{#f},引导加载程序的菜单(如果有的话)使用默认的键盘布局,通常是美式英语(``qwerty'')。"

#. type: table
#: guix-git/doc/guix.texi:44155
#, fuzzy
msgid "Otherwise, this must be a @code{keyboard-layout} object (@pxref{Keyboard Layout})."
msgstr "否则,这必须是一个 @code{keyboard-layout} 对象(@pxref{Keyboard Layout})。"

#. type: quotation
#: guix-git/doc/guix.texi:44159
#, fuzzy
msgid "This option is currently ignored by bootloaders other than @code{grub} and @code{grub-efi}."
msgstr "此选项目前被除 @code{grub} 和 @code{grub-efi} 之外的引导加载程序忽略。"

#. type: item
#: guix-git/doc/guix.texi:44161
#, fuzzy, no-wrap
msgid "@code{theme} (default: @var{#f})"
msgstr "@code{theme}(默认值:@var{#f})"

#. type: table
#: guix-git/doc/guix.texi:44165
#, fuzzy
msgid "The bootloader theme object describing the theme to use.  If no theme is provided, some bootloaders might use a default theme, that's true for GRUB."
msgstr "描述要使用的引导加载程序主题对象。如果未提供主题,一些引导加载程序可能会使用默认主题,GRUB 就是如此。"

#. type: item
#: guix-git/doc/guix.texi:44166
#, fuzzy, no-wrap
msgid "@code{terminal-outputs} (default: @code{'(gfxterm)})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:44173
#, fuzzy
msgid "The output terminals used for the bootloader boot menu, as a list of symbols.  GRUB accepts the values: @code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, @code{morse}, and @code{pkmodem}.  This field corresponds to the GRUB variable @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple configuration,,, grub,GNU GRUB manual})."
msgstr "用于引导加载程序引导菜单的输出终端,作为符号列表。GRUB 接受的值有:@code{console}、@code{serial}、@code{serial_@{0-3@}}、@code{gfxterm}、@code{vga_text}、@code{mda_text}、@code{morse} 和 @code{pkmodem}。此字段对应于 GRUB 变量 @code{GRUB_TERMINAL_OUTPUT}(@pxref{Simple configuration,,, grub,GNU GRUB manual})。"

#. type: item
#: guix-git/doc/guix.texi:44174
#, fuzzy, no-wrap
msgid "@code{terminal-inputs} (default: @code{'()})"
msgstr "@code{terminal-inputs}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:44182
#, fuzzy
msgid "The input terminals used for the bootloader boot menu, as a list of symbols.  For GRUB, the default is the native platform terminal as determined at run-time.  GRUB accepts the values: @code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and @code{usb_keyboard}.  This field corresponds to the GRUB variable @code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,, grub,GNU GRUB manual})."
msgstr "用于引导加载程序引导菜单的输入终端,作为符号列表。对于 GRUB,默认值是运行时确定的本地平台终端。GRUB 接受以下值:@code{console}、@code{serial}、@code{serial_@{0-3@}}、@code{at_keyboard} 和 @code{usb_keyboard}。此字段对应于 GRUB 变量 @code{GRUB_TERMINAL_INPUT}(@pxref{简单配置,,, grub,GNU GRUB 手册})。"

#. type: item
#: guix-git/doc/guix.texi:44183
#, fuzzy, no-wrap
msgid "@code{serial-unit} (default: @code{#f})"
msgstr "@code{serial-unit}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:44187
#, fuzzy
msgid "The serial unit used by the bootloader, as an integer from 0 to 3.  For GRUB, it is chosen at run-time; currently GRUB chooses 0, which corresponds to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
msgstr "引导加载程序使用的串行单元,范围为 0 到 3 的整数。对于 GRUB,它在运行时选择;目前 GRUB 选择 0,对应于 COM1(@pxref{串行终端,,, grub,GNU GRUB 手册})。"

#. type: item
#: guix-git/doc/guix.texi:44188
#, fuzzy, no-wrap
msgid "@code{serial-speed} (default: @code{#f})"
msgstr "@code{serial-speed}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:44192
#, fuzzy
msgid "The speed of the serial interface, as an integer.  For GRUB, the default value is chosen at run-time; currently GRUB chooses 9600@tie{}bps (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
msgstr "串行接口的速度,作为整数。对于 GRUB,默认值在运行时选择;目前 GRUB 选择 9600@tie{}bps(@pxref{串行终端,,, grub,GNU GRUB 手册})。"

#. type: item
#: guix-git/doc/guix.texi:44193
#, fuzzy, no-wrap
msgid "@code{device-tree-support?} (default: @code{#t})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:44196
#, fuzzy
msgid "Whether to support Linux @uref{https://en.wikipedia.org/wiki/Devicetree, device tree} files loading."
msgstr "是否支持加载 Linux @uref{https://en.wikipedia.org/wiki/Devicetree, 设备树} 文件。"

#. type: table
#: guix-git/doc/guix.texi:44201
#, fuzzy
msgid "This option in enabled by default.  In some cases involving the @code{u-boot} bootloader, where the device tree has already been loaded in RAM, it can be handy to disable the option by setting it to @code{#f}."
msgstr "此选项默认启用。在某些涉及 @code{u-boot} 引导加载程序的情况下,如果设备树已经加载到 RAM 中,通过将其设置为 @code{#f} 来禁用该选项可能会很方便。"

#. type: item
#: guix-git/doc/guix.texi:44202
#, fuzzy, no-wrap
msgid "@code{extra-initrd} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:44206
#, fuzzy
msgid "File name of an additional initrd to load during the boot.  It may or may not point to a file in the store, but the main use case is for out-of-store files containing secrets."
msgstr "在引导过程中加载的额外 initrd 的文件名。它可能指向存储中的文件,也可能不指向,但主要用例是包含秘密的存储外文件。"

#. type: table
#: guix-git/doc/guix.texi:44214
#, fuzzy
msgid "In order to be able to provide decryption keys for the LUKS device, they need to be available in the initial ram disk.  However they cannot be stored inside the usual initrd, since it is stored in the store and being a world-readable (as files in the store are) is not a desired property for a initrd containing decryption keys.  You can therefore use this field to instruct GRUB to also load a manually created initrd not stored in the store."
msgstr "为了能够为 LUKS 设备提供解密密钥,它们需要在初始 RAM 磁盘中可用。然而,它们不能存储在通常的 initrd 中,因为它存储在存储中,并且作为存储中的文件是可被全世界读取的(这不是包含解密密钥的 initrd 的期望属性)。因此,您可以使用此字段指示 GRUB 还加载一个不存储在存储中的手动创建的 initrd。"

#. type: table
#: guix-git/doc/guix.texi:44217
#, fuzzy
msgid "For any use case not involving secrets, you should use regular initrd (@pxref{operating-system Reference, @code{initrd}}) instead."
msgstr "对于任何不涉及秘密的用例,您应该使用常规 initrd(@pxref{操作系统参考, @code{initrd}})。"

#. type: table
#: guix-git/doc/guix.texi:44219
#, fuzzy
msgid "Suitable image can be created for example like this:"
msgstr "可以像这样创建合适的映像:"

#. type: example
#: guix-git/doc/guix.texi:44223
#, fuzzy, no-wrap
msgid ""
"echo /key-file.bin | cpio -oH newc >/key-file.cpio\n"
"chmod 0000 /key-file.cpio\n"
msgstr ""
"回显 /key-file.bin | cpio -oH newc >/key-file.cpio\n"
"chmod 0000 /key-file.cpio\n"

#. type: table
#: guix-git/doc/guix.texi:44226
#, fuzzy
msgid "After it is created, you can use it in this manner:"
msgstr "创建后,您可以以这种方式使用它:"

#. type: lisp
#: guix-git/doc/guix.texi:44243
#, fuzzy, no-wrap
msgid ""
";; Operating system with encrypted boot partition\n"
"(operating-system\n"
"  ...\n"
"  (bootloader (bootloader-configuration\n"
"               (bootloader grub-efi-bootloader)\n"
"               (targets '(\"/boot/efi\"))\n"
"               ;; Load the initrd with a key file\n"
"               (extra-initrd \"/key-file.cpio\")))\n"
"  (mapped-devices\n"
"   (list (mapped-device\n"
"          (source (uuid \"12345678-1234-1234-1234-123456789abc\"))\n"
"          (target \"my-root\")\n"
"          (type (luks-device-mapping-with-options\n"
"                 ;; And use it to unlock the root device\n"
"                 #:key-file \"/key-file.bin\"))))))\n"
msgstr ""
";; 具有加密引导分区的操作系统\n"
"(operating-system\n"
"  ...\n"
"  (bootloader (bootloader-configuration\n"
"               (bootloader grub-efi-bootloader)\n"
"               (targets '(\"/boot/efi\"))\n"
"               ;; 使用密钥文件加载 initrd\n"
"               (extra-initrd \"/key-file.cpio\")))\n"
"  (mapped-devices\n"
"   (list (mapped-device\n"
"          (source (uuid \"12345678-1234-1234-1234-123456789abc\"))\n"
"          (target \"my-root\")\n"
"          (type (luks-device-mapping-with-options\n"
"                 ;; 并用它解锁根设备\n"
"                 #:key-file \"/key-file.bin\"))))))\n"

#. type: table
#: guix-git/doc/guix.texi:44248
#, fuzzy
msgid "Be careful when using this option, since pointing to a file that is not readable by the grub while booting will cause the boot to fail and require a manual edit of the initrd line in the grub menu."
msgstr "使用此选项时要小心,因为指向一个在引导时 grub 无法读取的文件将导致引导失败,并需要手动编辑 grub 菜单中的 initrd 行。"

#. type: table
#: guix-git/doc/guix.texi:44250
#, fuzzy
msgid "Currently only supported by GRUB."
msgstr "目前仅由 GRUB 支持。"

#. type: cindex
#: guix-git/doc/guix.texi:44254
#, fuzzy, no-wrap
msgid "dual boot"
msgstr "双重引导"

#. type: cindex
#: guix-git/doc/guix.texi:44255
#, fuzzy, no-wrap
msgid "boot menu"
msgstr "引导菜单"

#. type: Plain text
#: guix-git/doc/guix.texi:44261
#, fuzzy
msgid "Should you want to list additional boot menu entries @i{via} the @code{menu-entries} field above, you will need to create them with the @code{menu-entry} form.  For example, imagine you want to be able to boot another distro (hard to imagine!), you can define a menu entry along these lines:"
msgstr "如果您想通过上面的 @code{menu-entries} 字段列出其他引导菜单条目,您需要使用 @code{menu-entry} 形式创建它们。例如,假设您希望能够引导另一个发行版(很难想象!),您可以定义一个类似于以下内容的菜单条目:"

#. type: lisp
#: guix-git/doc/guix.texi:44268
#, fuzzy, no-wrap
msgid ""
"(menu-entry\n"
"  (label \"The Other Distro\")\n"
"  (linux \"/boot/old/vmlinux-2.6.32\")\n"
"  (linux-arguments '(\"root=/dev/sda2\"))\n"
"  (initrd \"/boot/old/initrd\"))\n"
msgstr ""
"(menu-entry\n"
"  (label \"另一个发行版\")\n"
"  (linux \"/boot/old/vmlinux-2.6.32\")\n"
"  (linux-arguments '(\"root=/dev/sda2\"))\n"
"  (initrd \"/boot/old/initrd\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:44271
#, fuzzy
msgid "Details below."
msgstr "详细信息如下。"

#. type: deftp
#: guix-git/doc/guix.texi:44272
#, fuzzy, no-wrap
msgid "{Data Type} menu-entry"
msgstr "{数据类型} 菜单条目"

#. type: deftp
#: guix-git/doc/guix.texi:44274
#, fuzzy
msgid "The type of an entry in the bootloader menu."
msgstr "引导加载程序菜单中条目的类型。"

#. type: table
#: guix-git/doc/guix.texi:44279
#, fuzzy
msgid "The label to show in the menu---e.g., @code{\"GNU\"}."
msgstr "在菜单中显示的标签---例如,@code{\"GNU\"}。"

#. type: item
#: guix-git/doc/guix.texi:44280
#, fuzzy, no-wrap
msgid "@code{linux} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:44282
#, fuzzy
msgid "The Linux kernel image to boot, for example:"
msgstr "要引导的 Linux 内核映像,例如:"

#. type: lisp
#: guix-git/doc/guix.texi:44285
#, fuzzy, no-wrap
msgid "(file-append linux-libre \"/bzImage\")\n"
msgstr "(file-append linux-libre \"/bzImage\")\n"

#. type: table
#: guix-git/doc/guix.texi:44290
#, fuzzy
msgid "For GRUB, it is also possible to specify a device explicitly in the file path using GRUB's device naming convention (@pxref{Naming convention,,, grub, GNU GRUB manual}), for example:"
msgstr "对于 GRUB,还可以使用 GRUB 的设备命名约定在文件路径中显式指定设备(@pxref{命名约定,,, grub, GNU GRUB 手册}),例如:"

#. type: example
#: guix-git/doc/guix.texi:44293
#, fuzzy, no-wrap
msgid "\"(hd0,msdos1)/boot/vmlinuz\"\n"
msgstr "\"(hd0,msdos1)/boot/vmlinuz\"\n"

#. type: table
#: guix-git/doc/guix.texi:44297
#, fuzzy
msgid "If the device is specified explicitly as above, then the @code{device} field is ignored entirely."
msgstr "如果设备如上所述显式指定,则 @code{device} 字段将完全被忽略。"

#. type: item
#: guix-git/doc/guix.texi:44298
#, fuzzy, no-wrap
msgid "@code{linux-arguments} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:44301
#, fuzzy
msgid "The list of extra Linux kernel command-line arguments---e.g., @code{'(\"console=ttyS0\")}."
msgstr "额外的 Linux 内核命令行参数列表---例如,@code{'(\"console=ttyS0\")}。"

#. type: item
#: guix-git/doc/guix.texi:44302
#, fuzzy, no-wrap
msgid "@code{initrd} (default: @code{#f})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:44305
#, fuzzy
msgid "A G-Expression or string denoting the file name of the initial RAM disk to use (@pxref{G-Expressions})."
msgstr "一个 G-表达式或字符串,表示要使用的初始 RAM 磁盘的文件名 (@pxref{G-Expressions})."

#. type: table
#: guix-git/doc/guix.texi:44309
#, fuzzy
msgid "The device where the kernel and initrd are to be found---i.e., for GRUB, @dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual})."
msgstr "内核和 initrd 所在的设备——即,对于 GRUB,此菜单项的 @dfn{root} (@pxref{root,,, grub, GNU GRUB manual})."

#. type: table
#: guix-git/doc/guix.texi:44315
#, fuzzy
msgid "This may be a file system label (a string), a file system UUID (a bytevector, @pxref{File Systems}), or @code{#f}, in which case the bootloader will search the device containing the file specified by the @code{linux} field (@pxref{search,,, grub, GNU GRUB manual}).  It must @emph{not} be an OS device name such as @file{/dev/sda1}."
msgstr "这可以是文件系统标签(字符串)、文件系统 UUID(字节向量,@pxref{File Systems}),或 @code{#f},在这种情况下,启动加载程序将搜索包含 @code{linux} 字段指定的文件的设备 (@pxref{search,,, grub, GNU GRUB manual}). 它必须 @emph{not} 是操作系统设备名称,例如 @file{/dev/sda1}."

#. type: item
#: guix-git/doc/guix.texi:44316
#, fuzzy, no-wrap
msgid "@code{multiboot-kernel} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:44320
#, fuzzy
msgid "The kernel to boot in Multiboot-mode (@pxref{multiboot,,, grub, GNU GRUB manual}).  When this field is set, a Multiboot menu-entry is generated.  For example:"
msgstr "在 Multiboot 模式下启动的内核 (@pxref{multiboot,,, grub, GNU GRUB manual}). 当设置此字段时,将生成一个 Multiboot 菜单项。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:44323
#, fuzzy, no-wrap
msgid "(file-append mach \"/boot/gnumach\")\n"
msgstr "(file-append mach \"/boot/gnumach\")\n"

#. type: item
#: guix-git/doc/guix.texi:44325
#, fuzzy, no-wrap
msgid "@code{multiboot-arguments} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:44327
#, fuzzy
msgid "The list of extra command-line arguments for the multiboot-kernel."
msgstr "用于 multiboot 内核的额外命令行参数列表."

#. type: table
#: guix-git/doc/guix.texi:44330
#, fuzzy
msgid "For example, when running in QEMU it can be useful to use a text-based console (use options @option{--nographic} @option{--serial mon:stdio}):"
msgstr "例如,当在 QEMU 中运行时,使用基于文本的控制台可能很有用(使用选项 @option{--nographic} @option{--serial mon:stdio}):"

#. type: lisp
#: guix-git/doc/guix.texi:44333
#, fuzzy, no-wrap
msgid "'(\"console=com0\")\n"
msgstr "'(\"console=com0\")\n"

#. type: table
#: guix-git/doc/guix.texi:44339
#, fuzzy
msgid "To use the new and still experimental @uref{https://darnassus.sceen.net/~hurd-web/rump_kernel/, rumpdisk user-level disk driver} instead of GNU@tie{}Mach's in-kernel IDE driver, set @code{kernel-arguments} to:"
msgstr "要使用新的且仍在实验中的 @uref{https://darnassus.sceen.net/~hurd-web/rump_kernel/, rumpdisk 用户级磁盘驱动程序},而不是 GNU@tie{}Mach 的内核 IDE 驱动程序,请将 @code{kernel-arguments} 设置为:"

#. type: lisp
#: guix-git/doc/guix.texi:44342
#, fuzzy, no-wrap
msgid "'(\"noide\")\n"
msgstr "'(\"noide\")\n"

#. type: table
#: guix-git/doc/guix.texi:44345
#, fuzzy
msgid "Of course, these options can be combined:"
msgstr "当然,这些选项可以组合:"

#. type: lisp
#: guix-git/doc/guix.texi:44348
#, fuzzy, no-wrap
msgid "'(\"console=com0\" \"noide\")\n"
msgstr "'(\"console=com0\" \"noide\")\n"

#. type: item
#: guix-git/doc/guix.texi:44350
#, fuzzy, no-wrap
msgid "@code{multiboot-modules} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:44352
#, fuzzy
msgid "The list of commands for loading Multiboot modules.  For example:"
msgstr "加载 Multiboot 模块的命令列表。例如:"

#. type: lisp
#: guix-git/doc/guix.texi:44358
#, fuzzy, no-wrap
msgid ""
"(list (list (file-append hurd \"/hurd/ext2fs.static\") \"ext2fs\"\n"
"             @dots{})\n"
"      (list (file-append libc \"/lib/ld.so.1\") \"exec\"\n"
"             @dots{}))\n"
msgstr "(list (list (file-append hurd \"/hurd/ext2fs.static\") \"ext2fs\" @dots{}) (list (file-append libc \"/lib/ld.so.1\") \"exec\" @dots{}))\n"

#. type: item
#: guix-git/doc/guix.texi:44360
#, fuzzy, no-wrap
msgid "@code{chain-loader} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:44365
#, fuzzy
msgid "A string that can be accepted by @code{grub}'s @code{chainloader} directive. This has no effect if either @code{linux} or @code{multiboot-kernel} fields are specified. The following is an example of chainloading a different GNU/Linux system."
msgstr "可以被 @code{grub} 的 @code{chainloader} 指令接受的字符串。如果指定了 @code{linux} 或 @code{multiboot-kernel} 字段,则此项没有效果。以下是链加载不同 GNU/Linux 系统的示例."

#. type: lisp
#: guix-git/doc/guix.texi:44376
#, fuzzy, no-wrap
msgid ""
"(bootloader\n"
" (bootloader-configuration\n"
"  ;; @dots{}\n"
"  (menu-entries\n"
"   (list\n"
"    (menu-entry\n"
"     (label \"GNU/Linux\")\n"
"     (device (uuid \"1C31-A17C\" 'fat))\n"
"     (chain-loader \"/EFI/GNULinux/grubx64.efi\"))))))\n"
msgstr "(bootloader (bootloader-configuration ;; @dots{} (menu-entries (list (menu-entry (label \"GNU/Linux\") (device (uuid \"1C31-A17C\" 'fat)) (chain-loader \"/EFI/GNULinux/grubx64.efi\"))))))\n"

#. type: cindex
#: guix-git/doc/guix.texi:44381 guix-git/doc/guix.texi:44441
#, fuzzy, no-wrap
msgid "HDPI"
msgstr "高清 DPI"

#. type: cindex
#: guix-git/doc/guix.texi:44382 guix-git/doc/guix.texi:44442
#, fuzzy, no-wrap
msgid "HiDPI"
msgstr "高分辨率 DPI"

#. type: cindex
#: guix-git/doc/guix.texi:44383 guix-git/doc/guix.texi:44443
#, fuzzy, no-wrap
msgid "resolution"
msgstr "隔离"

#. type: Plain text
#: guix-git/doc/guix.texi:44387
#, fuzzy
msgid "For now only GRUB has theme support.  GRUB themes are created using the @code{grub-theme} form, which is not fully documented yet."
msgstr "目前只有 GRUB 支持主题。 GRUB 主题是使用 @code{grub-theme} 形式创建的,尚未完全记录."

#. type: deftp
#: guix-git/doc/guix.texi:44388
#, fuzzy, no-wrap
msgid "{Data Type} grub-theme"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:44390
#, fuzzy
msgid "Data type representing the configuration of the GRUB theme."
msgstr "表示GRUB主题配置的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:44392
#, fuzzy, no-wrap
msgid "@code{gfxmode} (default: @code{'(\"auto\")})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:44395
#, fuzzy
msgid "The GRUB @code{gfxmode} to set (a list of screen resolution strings, @pxref{gfxmode,,, grub, GNU GRUB manual})."
msgstr "要设置的GRUB @code{gfxmode}(一系列屏幕分辨率字符串,@pxref{gfxmode,,, grub, GNU GRUB手册})。"

#. type: deffn
#: guix-git/doc/guix.texi:44398
#, fuzzy, no-wrap
msgid "{Procedure} grub-theme"
msgstr "{数据类型} build-machine"

#. type: deffn
#: guix-git/doc/guix.texi:44402
#, fuzzy
msgid "Return the default GRUB theme used by the operating system if no @code{theme} field is specified in @code{bootloader-configuration} record."
msgstr "如果在@code{bootloader-configuration}记录中未指定@code{theme}字段,则返回操作系统使用的默认GRUB主题。"

#. type: deffn
#: guix-git/doc/guix.texi:44405
#, fuzzy
msgid "It comes with a fancy background image displaying the GNU and Guix logos."
msgstr "它带有一个华丽的背景图像,展示了GNU和Guix的标志。"

#. type: Plain text
#: guix-git/doc/guix.texi:44409
#, fuzzy
msgid "For example, to override the default resolution, you may use something like"
msgstr "例如,要覆盖默认分辨率,您可以使用类似以下内容:"

#. type: lisp
#: guix-git/doc/guix.texi:44417
#, fuzzy, no-wrap
msgid ""
"(bootloader\n"
" (bootloader-configuration\n"
" ;; @dots{}\n"
" (theme (grub-theme\n"
"         (inherit (grub-theme))\n"
"         (gfxmode '(\"1024x786x32\" \"auto\"))))))\n"
msgstr ""
"(bootloader\n"
" (bootloader-configuration\n"
" ;; @dots{}\n"
" (theme (grub-theme\n"
"         (inherit (grub-theme))\n"
"         (gfxmode '(\"1024x786x32\" \"auto\"))))))\n"

#. type: section
#: guix-git/doc/guix.texi:44420
#, no-wrap
msgid "Invoking @command{guix system}"
msgstr "调用@command{guix system}"

#. type: command{#1}
#: guix-git/doc/guix.texi:44422
#, fuzzy, no-wrap
msgid "guix system"
msgstr "Guix系统"

#. type: Plain text
#: guix-git/doc/guix.texi:44426
#, fuzzy
msgid "Once you have written an operating system declaration as seen in the previous section, it can be @dfn{instantiated} using the @command{guix system} command.  The synopsis is:"
msgstr "一旦您按照前一节所见编写了操作系统声明,就可以使用@command{guix system}命令进行@dfn{实例化}。其概要为:"

#. type: example
#: guix-git/doc/guix.texi:44429
#, fuzzy, no-wrap
msgid "guix system @var{options}@dots{} @var{action} @var{file}\n"
msgstr "guix system @var{options}@dots{} @var{action} @var{file}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:44435
#, fuzzy
msgid "@var{file} must be the name of a file containing an @code{operating-system} declaration.  @var{action} specifies how the operating system is instantiated.  Currently the following values are supported:"
msgstr "@var{file}必须是包含@code{operating-system}声明的文件名。@var{action}指定操作系统的实例化方式。目前支持以下值:"

#. type: item
#: guix-git/doc/guix.texi:44437 guix-git/doc/guix.texi:49721
#, fuzzy, no-wrap
msgid "search"
msgstr "search"

#. type: table
#: guix-git/doc/guix.texi:44440
#, fuzzy
msgid "Display available service type definitions that match the given regular expressions, sorted by relevance:"
msgstr "显示与给定正则表达式匹配的可用服务类型定义,按相关性排序:"

#. type: example
#: guix-git/doc/guix.texi:44462
#, fuzzy, no-wrap
msgid ""
"$ guix system search console\n"
"name: console-fonts\n"
"location: gnu/services/base.scm:806:2\n"
"extends: shepherd-root\n"
"description: Install the given fonts on the specified ttys (fonts are per\n"
"+ virtual console on GNU/Linux).  The value of this service is a list of\n"
"+ tty/font pairs.  The font can be the name of a font provided by the `kbd'\n"
"+ package or any valid argument to `setfont', as in this example:\n"
"+\n"
"+      '((\"tty1\" . \"LatGrkCyr-8x16\")\n"
"+        (\"tty2\" . (file-append\n"
"+                      font-tamzen\n"
"+                      \"/share/kbd/consolefonts/TamzenForPowerline10x20.psf\"))\n"
"+        (\"tty3\" . (file-append\n"
"+                      font-terminus\n"
"+                      \"/share/consolefonts/ter-132n\"))) ; for HDPI\n"
"relevance: 9\n"
"\n"
msgstr ""
"$ guix system search console\n"
"name: console-fonts\n"
"location: gnu/services/base.scm:806:2\n"
"extends: shepherd-root\n"
"description: 在指定的tty上安装给定的字体(字体是每个\n"
"+ GNU/Linux上的虚拟控制台)。该服务的值是一个\n"
"+ tty/font对的列表。字体可以是由`kbd'提供的字体名称\n"
"+ 或任何有效的`setfont'参数,如以下示例所示:\n"
"+\n"
"+      '((\"tty1\" . \"LatGrkCyr-8x16\")\n"
"+        (\"tty2\" . (file-append\n"
"+                      font-tamzen\n"
"+                      \"/share/kbd/consolefonts/TamzenForPowerline10x20.psf\"))\n"
"+        (\"tty3\" . (file-append\n"
"+                      font-terminus\n"
"+                      \"/share/consolefonts/ter-132n\"))) ; for HDPI\n"
"relevance: 9\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:44468
#, fuzzy, no-wrap
msgid ""
"name: mingetty\n"
"location: gnu/services/base.scm:1190:2\n"
"extends: shepherd-root\n"
"description: Provide console login using the `mingetty' program.\n"
"relevance: 2\n"
"\n"
msgstr ""
"name: mingetty\n"
"location: gnu/services/base.scm:1190:2\n"
"extends: shepherd-root\n"
"description: 使用`mingetty'程序提供控制台登录。\n"
"relevance: 2\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:44475
#, fuzzy, no-wrap
msgid ""
"name: login\n"
"location: gnu/services/base.scm:860:2\n"
"extends: pam\n"
"description: Provide a console log-in service as specified by its\n"
"+ configuration value, a `login-configuration' object.\n"
"relevance: 2\n"
"\n"
msgstr ""
"名称:登录\n"
"位置:gnu/services/base.scm:860:2\n"
"扩展:pam\n"
"描述:提供一个控制台登录服务,具体由其\n"
"+ 配置值,一个 `login-configuration' 对象指定。\n"
"相关性:2\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:44477 guix-git/doc/guix.texi:49757
#, fuzzy, no-wrap
msgid "@dots{}\n"
msgstr "@dots{}\n"

#. type: table
#: guix-git/doc/guix.texi:44482
#, fuzzy
msgid "As for @command{guix package --search}, the result is written in @code{recutils} format, which makes it easy to filter the output (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
msgstr "至于 @command{guix package --search},结果以 @code{recutils} 格式写入,这使得过滤输出变得容易 (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})。"

#. type: cindex
#: guix-git/doc/guix.texi:44483 guix-git/doc/guix.texi:49806
#, fuzzy, no-wrap
msgid "service type definition, editing"
msgstr "服务类型定义,编辑"

#. type: cindex
#: guix-git/doc/guix.texi:44484 guix-git/doc/guix.texi:49807
#, fuzzy, no-wrap
msgid "editing, service type definition"
msgstr "添加新的服务定义。"

#. type: item
#: guix-git/doc/guix.texi:44485 guix-git/doc/guix.texi:49808
#, fuzzy, no-wrap
msgid "edit"
msgstr "编辑"

#. type: table
#: guix-git/doc/guix.texi:44487
#, fuzzy
msgid "Edit or view the definition of the given service types."
msgstr "编辑或查看给定服务类型的定义。"

#. type: table
#: guix-git/doc/guix.texi:44491
#, fuzzy
msgid "For example, the command below opens your editor, as specified by the @env{EDITOR} environment variable, on the definition of the @code{openssh} service type:"
msgstr "例如,下面的命令会打开您的编辑器,具体由 @env{EDITOR} 环境变量指定,针对 @code{openssh} 服务类型的定义:"

#. type: example
#: guix-git/doc/guix.texi:44494
#, fuzzy, no-wrap
msgid "guix system edit openssh\n"
msgstr "guix system describe\n"

#. type: item
#: guix-git/doc/guix.texi:44496 guix-git/doc/guix.texi:49819
#, fuzzy, no-wrap
msgid "reconfigure"
msgstr "重新配置"

#. type: table
#: guix-git/doc/guix.texi:44501
#, fuzzy
msgid "Build the operating system described in @var{file}, activate it, and switch to it@footnote{This action (and the related actions @code{switch-generation} and @code{roll-back}) are usable only on systems already running Guix System.}."
msgstr "构建在 @var{file} 中描述的操作系统,激活它,并切换到它@footnote{此操作(以及相关操作 @code{switch-generation} 和 @code{roll-back})仅在已经运行 Guix 系统的系统上可用。}。"

#. type: quotation
#: guix-git/doc/guix.texi:44509
#, fuzzy
msgid "It is highly recommended to run @command{guix pull} once before you run @command{guix system reconfigure} for the first time (@pxref{Invoking guix pull}).  Failing to do that you would see an older version of Guix once @command{reconfigure} has completed."
msgstr "强烈建议在第一次运行 @command{guix system reconfigure} 之前先运行 @command{guix pull} (@pxref{Invoking guix pull})。 如果不这样做,您将在 @command{reconfigure} 完成后看到旧版本的 Guix。"

#. type: table
#: guix-git/doc/guix.texi:44517
#, fuzzy
msgid "This effects all the configuration specified in @var{file}: user accounts, system services, global package list, privileged programs, etc.  The command starts system services specified in @var{file} that are not currently running; if a service is currently running this command will arrange for it to be upgraded the next time it is stopped (e.g.@: by @code{herd stop X} or @code{herd restart X})."
msgstr "这会影响 @var{file} 中指定的所有配置:用户帐户、系统服务、全局软件包列表、特权程序等。该命令启动 @var{file} 中指定的当前未运行的系统服务;如果某个服务当前正在运行,该命令将安排在下次停止时升级它(例如:通过 @code{herd stop X} 或 @code{herd restart X})。"

#. type: table
#: guix-git/doc/guix.texi:44523
#, fuzzy
msgid "This command creates a new generation whose number is one greater than the current generation (as reported by @command{guix system list-generations}).  If that generation already exists, it will be overwritten.  This behavior mirrors that of @command{guix package} (@pxref{Invoking guix package})."
msgstr "该命令创建一个新版本,其编号比当前版本大一(由 @command{guix system list-generations} 报告)。如果该版本已经存在,它将被覆盖。此行为与 @command{guix package} 的行为相似 (@pxref{Invoking guix package})。"

#. type: table
#: guix-git/doc/guix.texi:44528
#, fuzzy
msgid "It adds a bootloader menu entry for the new OS configuration, ---unless @option{--no-bootloader} is passed.  For GRUB, it moves entries for older configurations to a submenu, allowing you to choose an older system generation at boot time should you need it."
msgstr "它为新的操作系统配置添加了一个引导加载程序菜单项,---除非传递了 @option{--no-bootloader}。对于 GRUB,它将旧配置的条目移动到子菜单中,以便在启动时选择旧的系统版本(如果需要)。"

#. type: cindex
#: guix-git/doc/guix.texi:44529
#, fuzzy, no-wrap
msgid "kexec, for fast reboots"
msgstr "kexec,用于快速重启"

#. type: cindex
#: guix-git/doc/guix.texi:44530
#, fuzzy, no-wrap
msgid "rebooting @i{via} Linux kexec"
msgstr "通过 Linux kexec 重启 @i{via}"

#. type: table
#: guix-git/doc/guix.texi:44537
#, fuzzy
msgid "On Linux, @command{guix system reconfigure} also loads the new system for fast reboot @i{via} kexec: running @command{reboot --kexec} will boot the new system by directly executing its kernel, thus bypassing the BIOS initialization phase and bootloader (@pxref{Invoking reboot,,, shepherd, The GNU Shepherd Manual}).  You can avoid this behavior by passing the @option{--no-kexec} option."
msgstr "在 Linux 上,@command{guix system reconfigure} 也会加载新系统以快速重启 @i{via} kexec:运行 @command{reboot --kexec} 将通过直接执行其内核来启动新系统,从而绕过 BIOS 初始化阶段和引导加载程序 (@pxref{Invoking reboot,,, shepherd, The GNU Shepherd Manual})。您可以通过传递 @option{--no-kexec} 选项来避免这种行为。"

#. type: cindex
#: guix-git/doc/guix.texi:44538 guix-git/doc/guix.texi:44900
#: guix-git/doc/guix.texi:46052
#, fuzzy, no-wrap
msgid "provenance tracking, of the operating system"
msgstr "配置操作系统。"

#. type: table
#: guix-git/doc/guix.texi:44543
#, fuzzy
msgid "Upon completion, the new system is deployed under @file{/run/current-system}.  This directory contains @dfn{provenance meta-data}: the list of channels in use (@pxref{Channels}) and @var{file} itself, when available.  You can view it by running:"
msgstr "完成后,新系统部署在 @file{/run/current-system} 下。该目录包含 @dfn{来源元数据}:正在使用的频道列表 (@pxref{Channels}) 和 @var{file} 本身(如果可用)。您可以通过运行以下命令查看它:"

#. type: table
#: guix-git/doc/guix.texi:44552
#, fuzzy
msgid "This information is useful should you later want to inspect how this particular generation was built.  In fact, assuming @var{file} is self-contained, you can later rebuild generation @var{n} of your operating system with:"
msgstr "这些信息在您稍后想要检查此特定版本是如何构建时非常有用。实际上,假设 @var{file} 是自包含的,您可以稍后使用以下命令重建操作系统的版本 @var{n}:"

#. type: example
#: guix-git/doc/guix.texi:44558
#, fuzzy, no-wrap
msgid ""
"guix time-machine \\\n"
"  -C /var/guix/profiles/system-@var{n}-link/channels.scm -- \\\n"
"  system reconfigure \\\n"
"  /var/guix/profiles/system-@var{n}-link/configuration.scm\n"
msgstr ""
"guix time-machine \\\n"
"  -C /var/guix/profiles/system-@var{n}-link/channels.scm -- \\\n"
"  system reconfigure \\\n"
"  /var/guix/profiles/system-@var{n}-link/configuration.scm\n"

#. type: table
#: guix-git/doc/guix.texi:44564
#, fuzzy
msgid "You can think of it as some sort of built-in version control! Your system is not just a binary artifact: @emph{it carries its own source}.  @xref{Service Reference, @code{provenance-service-type}}, for more information on provenance tracking."
msgstr "您可以将其视为某种内置版本控制!您的系统不仅仅是一个二进制工件:@emph{它携带着自己的源代码}。有关来源跟踪的更多信息,请参见 @xref{Service Reference, @code{provenance-service-type}}。"

#. type: table
#: guix-git/doc/guix.texi:44570
#, fuzzy
msgid "By default, @command{reconfigure} @emph{prevents you from downgrading your system}, which could (re)introduce security vulnerabilities and also cause problems with ``stateful'' services such as database management systems.  You can override that behavior by passing @option{--allow-downgrades}."
msgstr "默认情况下,@command{reconfigure} @emph{防止您降级系统},这可能会(重新)引入安全漏洞,并且还可能导致“有状态”服务(例如数据库管理系统)出现问题。您可以通过传递 @option{--allow-downgrades} 选项来覆盖该行为。"

#. type: item
#: guix-git/doc/guix.texi:44571 guix-git/doc/guix.texi:49879
#, fuzzy, no-wrap
msgid "switch-generation"
msgstr "切换版本"

#. type: table
#: guix-git/doc/guix.texi:44580
#, fuzzy
msgid "Switch to an existing system generation.  This action atomically switches the system profile to the specified system generation.  It also rearranges the system's existing bootloader menu entries.  It makes the menu entry for the specified system generation the default, and it moves the entries for the other generations to a submenu, if supported by the bootloader being used.  The next time the system boots, it will use the specified system generation."
msgstr "切换到现有的系统版本。此操作原子性地将系统配置文件切换到指定的系统版本。它还会重新排列系统现有的引导加载程序菜单项。它将指定系统版本的菜单项设为默认项,并将其他版本的菜单项移动到子菜单中(如果所使用的引导加载程序支持)。下次系统启动时,将使用指定的系统版本。"

#. type: table
#: guix-git/doc/guix.texi:44584
#, fuzzy
msgid "The bootloader itself is not being reinstalled when using this command.  Thus, the installed bootloader is used with an updated configuration file."
msgstr "使用此命令时,启动加载程序本身不会被重新安装。因此,已安装的启动加载程序将与更新的配置文件一起使用。"

#. type: table
#: guix-git/doc/guix.texi:44588
#, fuzzy
msgid "The target generation can be specified explicitly by its generation number.  For example, the following invocation would switch to system generation 7:"
msgstr "目标代可以通过其代号明确指定。例如,以下调用将切换到系统代 7:"

#. type: example
#: guix-git/doc/guix.texi:44591
#, fuzzy, no-wrap
msgid "guix system switch-generation 7\n"
msgstr "guix system switch-generation 7\n"

#. type: table
#: guix-git/doc/guix.texi:44599 guix-git/doc/guix.texi:49898
#, fuzzy
msgid "The target generation can also be specified relative to the current generation with the form @code{+N} or @code{-N}, where @code{+3} means ``3 generations ahead of the current generation,'' and @code{-1} means ``1 generation prior to the current generation.'' When specifying a negative value such as @code{-1}, you must precede it with @code{--} to prevent it from being parsed as an option.  For example:"
msgstr "目标代也可以相对于当前代以 @code{+N} 或 @code{-N} 的形式指定,其中 @code{+3} 意味着“比当前代提前 3 代”,而 @code{-1} 意味着“比当前代早 1 代”。在指定负值如 @code{-1} 时,必须在前面加上 @code{--} 以防止其被解析为选项。例如:"

#. type: example
#: guix-git/doc/guix.texi:44602
#, fuzzy, no-wrap
msgid "guix system switch-generation -- -1\n"
msgstr "guix system switch-generation -- -1\n"

#. type: table
#: guix-git/doc/guix.texi:44610
#, fuzzy
msgid "Currently, the effect of invoking this action is @emph{only} to switch the system profile to an existing generation and rearrange the bootloader menu entries.  To actually start using the target system generation, you must reboot after running this action.  In the future, it will be updated to do the same things as @command{reconfigure}, like activating and deactivating services."
msgstr "目前,调用此操作的效果是 @emph{仅}将系统配置文件切换到现有代,并重新排列启动加载程序菜单条目。要实际开始使用目标系统代,您必须在运行此操作后重新启动。将来,它将更新为执行与 @command{reconfigure} 相同的操作,例如激活和停用服务。"

#. type: table
#: guix-git/doc/guix.texi:44612 guix-git/doc/guix.texi:49904
#, fuzzy
msgid "This action will fail if the specified generation does not exist."
msgstr "如果指定的代不存在,则此操作将失败。"

#. type: item
#: guix-git/doc/guix.texi:44613 guix-git/doc/guix.texi:49905
#, fuzzy, no-wrap
msgid "roll-back"
msgstr "回滚"

#. type: table
#: guix-git/doc/guix.texi:44619
#, fuzzy
msgid "Switch to the preceding system generation.  The next time the system boots, it will use the preceding system generation.  This is the inverse of @command{reconfigure}, and it is exactly the same as invoking @command{switch-generation} with an argument of @code{-1}."
msgstr "切换到前一个系统代。下次系统启动时,将使用前一个系统代。这是 @command{reconfigure} 的逆操作,完全等同于调用 @command{switch-generation} 并传递 @code{-1} 作为参数。"

#. type: table
#: guix-git/doc/guix.texi:44623
#, fuzzy
msgid "Currently, as with @command{switch-generation}, you must reboot after running this action to actually start using the preceding system generation."
msgstr "目前,与 @command{switch-generation} 一样,您必须在运行此操作后重新启动,以实际开始使用前一个系统代。"

#. type: item
#: guix-git/doc/guix.texi:44624 guix-git/doc/guix.texi:49911
#, fuzzy, no-wrap
msgid "delete-generations"
msgstr "删除代"

#. type: cindex
#: guix-git/doc/guix.texi:44625
#, fuzzy, no-wrap
msgid "deleting system generations"
msgstr "删除系统代"

#. type: cindex
#: guix-git/doc/guix.texi:44626 guix-git/doc/guix.texi:49913
#, fuzzy, no-wrap
msgid "saving space"
msgstr "节省空间"

#. type: table
#: guix-git/doc/guix.texi:44630
#, fuzzy
msgid "Delete system generations, making them candidates for garbage collection (@pxref{Invoking guix gc}, for information on how to run the ``garbage collector'')."
msgstr "删除系统代,使其成为垃圾收集的候选者(有关如何运行“垃圾收集器”的信息,请参见 @pxref{Invoking guix gc})。"

#. type: table
#: guix-git/doc/guix.texi:44634
#, fuzzy
msgid "This works in the same way as @samp{guix package --delete-generations} (@pxref{Invoking guix package, @option{--delete-generations}}).  With no arguments, all system generations but the current one are deleted:"
msgstr "这与 @samp{guix package --delete-generations} 的工作方式相同(@pxref{Invoking guix package, @option{--delete-generations}})。没有参数时,除了当前代外,所有系统代都将被删除:"

#. type: example
#: guix-git/doc/guix.texi:44637
#, fuzzy, no-wrap
msgid "guix system delete-generations\n"
msgstr "guix 系统删除代际\n"

#. type: table
#: guix-git/doc/guix.texi:44641
#, fuzzy
msgid "You can also select the generations you want to delete.  The example below deletes all the system generations that are more than two months old:"
msgstr "您还可以选择要删除的代际。下面的示例删除所有超过两个月的系统代际:"

#. type: example
#: guix-git/doc/guix.texi:44644
#, fuzzy, no-wrap
msgid "guix system delete-generations 2m\n"
msgstr "guix 系统删除代际 2m\n"

#. type: table
#: guix-git/doc/guix.texi:44649
#, fuzzy
msgid "Running this command automatically reinstalls the bootloader with an updated list of menu entries---e.g., the ``old generations'' sub-menu in GRUB no longer lists the generations that have been deleted."
msgstr "运行此命令会自动重新安装引导加载程序,并更新菜单项列表——例如,GRUB 中的“旧代际”子菜单不再列出已删除的代际。"

#. type: table
#: guix-git/doc/guix.texi:44654
#, fuzzy
msgid "Build the derivation of the operating system, which includes all the configuration files and programs needed to boot and run the system.  This action does not actually install anything."
msgstr "构建操作系统的派生版本,其中包括启动和运行系统所需的所有配置文件和程序。此操作实际上并不会安装任何东西。"

#. type: item
#: guix-git/doc/guix.texi:44655
#, fuzzy, no-wrap
msgid "init"
msgstr "初始化"

#. type: table
#: guix-git/doc/guix.texi:44659
#, fuzzy
msgid "Populate the given directory with all the files necessary to run the operating system specified in @var{file}.  This is useful for first-time installations of Guix System.  For instance:"
msgstr "用 @var{file} 中指定的操作系统所需的所有文件填充给定目录。这对于 Guix 系统的首次安装非常有用。例如:"

#. type: example
#: guix-git/doc/guix.texi:44662
#, fuzzy, no-wrap
msgid "guix system init my-os-config.scm /mnt\n"
msgstr "guix 系统初始化 my-os-config.scm /mnt\n"

#. type: table
#: guix-git/doc/guix.texi:44669
#, fuzzy
msgid "copies to @file{/mnt} all the store items required by the configuration specified in @file{my-os-config.scm}.  This includes configuration files, packages, and so on.  It also creates other essential files needed for the system to operate correctly---e.g., the @file{/etc}, @file{/var}, and @file{/run} directories, and the @file{/bin/sh} file."
msgstr "将 @file{/mnt} 中所需的所有存储项复制到 @file{my-os-config.scm} 中指定的配置。这包括配置文件、软件包等。它还创建系统正常运行所需的其他基本文件——例如,@file{/etc}、@file{/var} 和 @file{/run} 目录,以及 @file{/bin/sh} 文件。"

#. type: table
#: guix-git/doc/guix.texi:44673
#, fuzzy
msgid "This command also installs bootloader on the targets specified in @file{my-os-config}, unless the @option{--no-bootloader} option was passed."
msgstr "此命令还会在 @file{my-os-config} 中指定的目标上安装引导加载程序,除非传递了 @option{--no-bootloader} 选项。"

#. type: item
#: guix-git/doc/guix.texi:44674
#, fuzzy, no-wrap
msgid "installer"
msgstr "gnu/installer"

#. type: table
#: guix-git/doc/guix.texi:44680
#, fuzzy
msgid "Run the installer.  Usually the installer is built as an @file{iso} image, copied to a USB Stick or DVD, and booted from (@ref{USB Stick and DVD Installation}).  If your machine already runs Guix and you still want to run the installer, e.g., for testing purposes, you can skip the step of creating an @file{iso} and run for instance:"
msgstr "运行安装程序。通常,安装程序作为 @file{iso} 映像构建,复制到 USB 闪存或 DVD 中,并从中启动(@ref{USB Stick and DVD Installation})。如果您的机器已经运行 Guix,您仍然想运行安装程序,例如出于测试目的,您可以跳过创建 @file{iso} 的步骤,运行例如:"

#. type: example
#: guix-git/doc/guix.texi:44683
#, fuzzy, no-wrap
msgid "guix system installer --dry-run\n"
msgstr "guix package --list-available\n"

#. type: quotation
#: guix-git/doc/guix.texi:44689
#, fuzzy
msgid "If you do not use @option{--dry-run} then you need to run as root.  Be @emph{very careful} when running the installer as root, it can cause data loss or render your system unbootable!"
msgstr "如果您不使用 @option{--dry-run},则需要以 root 身份运行。以 root 身份运行安装程序时要 @emph{非常小心},这可能会导致数据丢失或使您的系统无法启动!"

#. type: item
#: guix-git/doc/guix.texi:44691
#, fuzzy, no-wrap
msgid "vm"
msgstr "虚拟机"

#. type: cindex
#: guix-git/doc/guix.texi:44692 guix-git/doc/guix.texi:45465
#, fuzzy, no-wrap
msgid "virtual machine"
msgstr "虚拟机"

#. type: cindex
#: guix-git/doc/guix.texi:44693
#, fuzzy, no-wrap
msgid "VM"
msgstr "虚拟机"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:44697
#, fuzzy
msgid "guix system vm"
msgstr "guix 系统虚拟机"

#. type: table
#: guix-git/doc/guix.texi:44697
#, fuzzy
msgid "Build a virtual machine (VM) that contains the operating system declared in @var{file}, and return a script to run that VM."
msgstr "构建一个包含 @var{file} 中声明的操作系统的虚拟机(VM),并返回一个运行该虚拟机的脚本。"

#. type: quotation
#: guix-git/doc/guix.texi:44705
#, fuzzy
msgid "The @code{vm} action and others below can use KVM support in the Linux-libre kernel.  Specifically, if the machine has hardware virtualization support, the corresponding KVM kernel module should be loaded, and the @file{/dev/kvm} device node must exist and be readable and writable by the user and by the build users of the daemon (@pxref{Build Environment Setup})."
msgstr "@code{vm} 操作和下面的其他操作可以使用 Linux-libre 内核中的 KVM 支持。具体来说,如果机器具有硬件虚拟化支持,则应加载相应的 KVM 内核模块,并且 @file{/dev/kvm} 设备节点必须存在,并且用户和守护进程的构建用户必须可读可写(@pxref{Build Environment Setup})。"

#. type: table
#: guix-git/doc/guix.texi:44710
#, fuzzy
msgid "Arguments given to the script are passed to QEMU as in the example below, which enables networking and requests 1@tie{}GiB of RAM for the emulated machine:"
msgstr "传递给脚本的参数将作为下面示例中的参数传递给 QEMU,这将启用网络并请求 1@tie{}GiB 的 RAM 用于模拟的机器:"

#. type: example
#: guix-git/doc/guix.texi:44713
#, fuzzy, no-wrap
msgid "$ /gnu/store/@dots{}-run-vm.sh -m 1024 -smp 2 -nic user,model=virtio-net-pci\n"
msgstr "$ /gnu/store/@dots{}-run-vm.sh -m 1024 -smp 2 -nic user,model=virtio-net-pci\n"

#. type: table
#: guix-git/doc/guix.texi:44716
#, fuzzy
msgid "It's possible to combine the two steps into one:"
msgstr "可以将这两个步骤合并为一个:"

#. type: example
#: guix-git/doc/guix.texi:44719
#, fuzzy, no-wrap
msgid "$ $(guix system vm my-config.scm) -m 1024 -smp 2 -nic user,model=virtio-net-pci\n"
msgstr "$ $(guix system vm my-config.scm) -m 1024 -smp 2 -nic user,model=virtio-net-pci\n"

#. type: table
#: guix-git/doc/guix.texi:44722
#, fuzzy
msgid "The VM shares its store with the host system."
msgstr "虚拟机与主机系统共享其存储。"

#. type: table
#: guix-git/doc/guix.texi:44727
#, fuzzy
msgid "By default, the root file system of the VM is mounted volatile; the @option{--persistent} option can be provided to make it persistent instead.  In that case, the VM disk-image file will be copied from the store to the @env{TMPDIR} directory to make it writable."
msgstr "默认情况下,虚拟机的根文件系统是以易失性方式挂载的;可以提供 @option{--persistent} 选项使其变为持久性。在这种情况下,虚拟机的磁盘映像文件将从存储中复制到 @env{TMPDIR} 目录以使其可写。"

#. type: table
#: guix-git/doc/guix.texi:44732
#, fuzzy
msgid "Additional file systems can be shared between the host and the VM using the @option{--share} and @option{--expose} command-line options: the former specifies a directory to be shared with write access, while the latter provides read-only access to the shared directory."
msgstr "可以使用 @option{--share} 和 @option{--expose} 命令行选项在主机和虚拟机之间共享额外的文件系统:前者指定一个具有写入权限的共享目录,而后者提供对共享目录的只读访问。"

#. type: table
#: guix-git/doc/guix.texi:44736
#, fuzzy
msgid "The example below creates a VM in which the user's home directory is accessible read-only, and where the @file{/exchange} directory is a read-write mapping of @file{$HOME/tmp} on the host:"
msgstr "下面的示例创建了一个虚拟机,其中用户的主目录可读,但 @file{/exchange} 目录是主机上 @file{$HOME/tmp} 的读写映射:"

#. type: example
#: guix-git/doc/guix.texi:44740
#, fuzzy, no-wrap
msgid ""
"guix system vm my-config.scm \\\n"
"   --expose=$HOME --share=$HOME/tmp=/exchange\n"
msgstr ""
"guix system vm my-config.scm \\\n"
"   --expose=$HOME --share=$HOME/tmp=/exchange\n"

#. type: table
#: guix-git/doc/guix.texi:44745
#, fuzzy
msgid "On GNU/Linux, the default is to boot directly to the kernel; this has the advantage of requiring only a very tiny root disk image since the store of the host can then be mounted."
msgstr "在 GNU/Linux 上,默认情况下直接引导到内核;这具有只需一个非常小的根磁盘映像的优点,因为主机的存储可以被挂载。"

#. type: table
#: guix-git/doc/guix.texi:44750
#, fuzzy
msgid "The @option{--full-boot} option forces a complete boot sequence, starting with the bootloader.  This requires more disk space since a root image containing at least the kernel, initrd, and bootloader data files must be created."
msgstr "@option{--full-boot} 选项强制执行完整的引导序列,从引导加载程序开始。这需要更多的磁盘空间,因为必须创建一个包含至少内核、initrd 和引导加载程序数据文件的根映像。"

#. type: table
#: guix-git/doc/guix.texi:44753
#, fuzzy
msgid "The @option{--image-size} option can be used to specify the size of the image."
msgstr "可以使用 @option{--image-size} 选项指定映像的大小。"

#. type: table
#: guix-git/doc/guix.texi:44760
#, fuzzy
msgid "The @option{--no-graphic} option will instruct @command{guix system} to spawn a headless VM that will use the invoking tty for IO.  Among other things, this enables copy-pasting, and scrollback.  Use the @kbd{ctrl-a} prefix to issue QEMU commands; e.g.@: @kbd{ctrl-a h} prints a help, @kbd{ctrl-a x} quits the VM, and @kbd{ctrl-a c} switches between the QEMU monitor and the VM."
msgstr "@option{--no-graphic} 选项将指示 @command{guix system} 启动一个无头虚拟机,该虚拟机将使用调用的 tty 进行 IO。除此之外,这还启用复制粘贴和滚动。使用 @kbd{ctrl-a} 前缀发出 QEMU 命令;例如: @kbd{ctrl-a h} 打印帮助,@kbd{ctrl-a x} 退出虚拟机,@kbd{ctrl-a c} 切换 QEMU 监视器和虚拟机之间。"

#. type: cindex
#: guix-git/doc/guix.texi:44761
#, fuzzy, no-wrap
msgid "System images, creation in various formats"
msgstr "系统镜像,以各种格式创建"

#. type: cindex
#: guix-git/doc/guix.texi:44762
#, fuzzy, no-wrap
msgid "Creating system images in various formats"
msgstr "以各种格式创建系统镜像"

#. type: cindex
#: guix-git/doc/guix.texi:44764
#, fuzzy, no-wrap
msgid "image, creating disk images"
msgstr "镜像,创建磁盘镜像"

#. type: table
#: guix-git/doc/guix.texi:44776
#, fuzzy
msgid "The @code{image} command can produce various image types.  The image type can be selected using the @option{--image-type} option.  It defaults to @code{mbr-hybrid-raw}.  When its value is @code{iso9660}, the @option{--label} option can be used to specify a volume ID with @code{image}.  By default, the root file system of a disk image is mounted non-volatile; the @option{--volatile} option can be provided to make it volatile instead.  When using @code{image}, the bootloader installed on the generated image is taken from the provided @code{operating-system} definition.  The following example demonstrates how to generate an image that uses the @code{grub-efi-bootloader} bootloader and boot it with QEMU:"
msgstr "@code{image} 命令可以生成各种镜像类型。镜像类型可以使用 @option{--image-type} 选项进行选择。默认值为 @code{mbr-hybrid-raw}。当其值为 @code{iso9660} 时,可以使用 @option{--label} 选项通过 @code{image} 指定卷 ID。默认情况下,磁盘镜像的根文件系统是以非易失性方式挂载的;可以提供 @option{--volatile} 选项使其变为易失性。当使用 @code{image} 时,生成的镜像上安装的引导加载程序来自提供的 @code{operating-system} 定义。以下示例演示如何生成一个使用 @code{grub-efi-bootloader} 引导加载程序的镜像并使用 QEMU 启动它:"

#. type: example
#: guix-git/doc/guix.texi:44784
#, fuzzy, no-wrap
msgid ""
"image=$(guix system image --image-type=qcow2 \\\n"
"        gnu/system/examples/lightweight-desktop.tmpl)\n"
"cp $image /tmp/my-image.qcow2\n"
"chmod +w /tmp/my-image.qcow2\n"
"qemu-system-x86_64 -enable-kvm -hda /tmp/my-image.qcow2 -m 1000 \\\n"
"                   -bios $(guix build ovmf-x86-64)/share/firmware/ovmf_x64.bin\n"
msgstr ""
"image=$(guix system image --image-type=qcow2 \\\n"
"        gnu/system/examples/lightweight-desktop.tmpl)\n"
"cp $image /tmp/my-image.qcow2\n"
"chmod +w /tmp/my-image.qcow2\n"
"qemu-system-x86_64 -enable-kvm -hda /tmp/my-image.qcow2 -m 1000 \\\n"
"                   -bios $(guix build ovmf-x86-64)/share/firmware/ovmf_x64.bin\n"

#. type: table
#: guix-git/doc/guix.texi:44790
#, fuzzy
msgid "When using the @code{mbr-hybrid-raw} image type, a raw disk image is produced; it can be copied as is to a USB stick, for instance.  Assuming @code{/dev/sdc} is the device corresponding to a USB stick, one can copy the image to it using the following command:"
msgstr "当使用 @code{mbr-hybrid-raw} 镜像类型时,会生成一个原始磁盘镜像;例如,可以直接将其复制到 USB 闪存驱动器。假设 @code{/dev/sdc} 是对应于 USB 闪存驱动器的设备,可以使用以下命令将镜像复制到它:"

#. type: example
#: guix-git/doc/guix.texi:44793
#, fuzzy, no-wrap
msgid "# dd if=$(guix system image my-os.scm) of=/dev/sdc status=progress\n"
msgstr "# dd if=$(guix system image my-os.scm) of=/dev/sdc status=progress\n"

#. type: table
#: guix-git/doc/guix.texi:44797
#, fuzzy
msgid "The @code{--list-image-types} command lists all the available image types."
msgstr "@code{--list-image-types} 命令列出所有可用的镜像类型。"

#. type: cindex
#: guix-git/doc/guix.texi:44798
#, fuzzy, no-wrap
msgid "creating virtual machine images"
msgstr "创建虚拟机镜像"

#. type: table
#: guix-git/doc/guix.texi:44807
#, fuzzy
msgid "When using the @code{qcow2} image type, the returned image is in qcow2 format, which the QEMU emulator can efficiently use. @xref{Running Guix in a VM}, for more information on how to run the image in a virtual machine.  The @code{grub-bootloader} bootloader is always used independently of what is declared in the @code{operating-system} file passed as argument.  This is to make it easier to work with QEMU, which uses the SeaBIOS BIOS by default, expecting a bootloader to be installed in the Master Boot Record (MBR)."
msgstr "当使用 @code{qcow2} 镜像类型时,返回的镜像为 qcow2 格式,QEMU 模拟器可以高效使用。有关如何在虚拟机中运行镜像的更多信息,请参见 @xref{Running Guix in a VM}。无论在传递的 @code{operating-system} 文件中声明的内容如何,始终使用 @code{grub-bootloader} 引导加载程序。这是为了使与 QEMU 的配合更加容易,因为 QEMU 默认使用 SeaBIOS BIOS,期望在主引导记录 (MBR) 中安装引导加载程序。"

#. type: cindex
#: guix-git/doc/guix.texi:44808
#, fuzzy, no-wrap
msgid "docker-image, creating docker images"
msgstr "docker-image,创建 docker 镜像"

#. type: table
#: guix-git/doc/guix.texi:44814
#, fuzzy
msgid "When using the @code{docker} image type, a Docker image is produced.  Guix builds the image from scratch, not from a pre-existing Docker base image.  As a result, it contains @emph{exactly} what you define in the operating system configuration file.  You can then load the image and launch a Docker container using commands like the following:"
msgstr "使用 @code{docker} 镜像类型时,会生成一个 Docker 镜像。Guix 从头开始构建该镜像,而不是从现有的 Docker 基础镜像开始。因此,它包含您在操作系统配置文件中定义的 @emph{确切} 内容。然后,您可以使用以下命令加载镜像并启动 Docker 容器:"

#. type: example
#: guix-git/doc/guix.texi:44819
#, fuzzy, no-wrap
msgid ""
"image_id=\"$(docker load < guix-system-docker-image.tar.gz)\"\n"
"container_id=\"$(docker create $image_id)\"\n"
"docker start $container_id\n"
msgstr ""
"image_id=\"$(docker load < guix-system-docker-image.tar.gz)\"\n"
"container_id=\"$(docker create $image_id)\"\n"
"docker start $container_id\n"

#. type: table
#: guix-git/doc/guix.texi:44826
#, fuzzy
msgid "This command starts a new Docker container from the specified image.  It will boot the Guix system in the usual manner, which means it will start any services you have defined in the operating system configuration.  You can get an interactive shell running in the container using @command{docker exec}:"
msgstr "此命令从指定的镜像启动一个新的 Docker 容器。它将以通常的方式启动 Guix 系统,这意味着它将启动您在操作系统配置中定义的任何服务。您可以使用 @command{docker exec} 在容器中获得一个交互式 shell:"

#. type: example
#: guix-git/doc/guix.texi:44829
#, fuzzy, no-wrap
msgid "docker exec -ti $container_id /run/current-system/profile/bin/bash --login\n"
msgstr "docker exec -ti $container_id /run/current-system/profile/bin/bash --login\n"

#. type: table
#: guix-git/doc/guix.texi:44836
#, fuzzy
msgid "Depending on what you run in the Docker container, it may be necessary to give the container additional permissions.  For example, if you intend to build software using Guix inside of the Docker container, you may need to pass the @option{--privileged} option to @code{docker create}."
msgstr "根据您在 Docker 容器中运行的内容,可能需要为容器提供额外的权限。例如,如果您打算在 Docker 容器中使用 Guix 构建软件,您可能需要将 @option{--privileged} 选项传递给 @code{docker create}。"

#. type: table
#: guix-git/doc/guix.texi:44840
#, fuzzy
msgid "Last, the @option{--network} option applies to @command{guix system docker-image}: it produces an image where network is supposedly shared with the host, and thus without services like nscd or NetworkManager."
msgstr "最后,@option{--network} 选项适用于 @command{guix system docker-image}:它生成一个镜像,其中网络假定与主机共享,因此没有像 nscd 或 NetworkManager 这样的服务。"

#. type: table
#: guix-git/doc/guix.texi:44848
#, fuzzy
msgid "Return a script to run the operating system declared in @var{file} within a container.  Containers are a set of lightweight isolation mechanisms provided by the kernel Linux-libre.  Containers are substantially less resource-demanding than full virtual machines since the kernel, shared objects, and other resources can be shared with the host system; this also means they provide thinner isolation."
msgstr "返回一个脚本,以在容器中运行在 @var{file} 中声明的操作系统。容器是一组由 Linux-libre 内核提供的轻量级隔离机制。由于内核、共享对象和其他资源可以与主机系统共享,因此容器的资源需求远低于完整的虚拟机;这也意味着它们提供了更薄的隔离。"

#. type: table
#: guix-git/doc/guix.texi:44852
#, fuzzy
msgid "Currently, the script must be run as root in order to support more than a single user and group.  The container shares its store with the host system."
msgstr "目前,脚本必须以 root 身份运行,以支持多个用户和组。容器与主机系统共享其存储。"

#. type: table
#: guix-git/doc/guix.texi:44856
#, fuzzy
msgid "As with the @code{vm} action (@pxref{guix system vm}), additional file systems to be shared between the host and container can be specified using the @option{--share} and @option{--expose} options:"
msgstr "与 @code{vm} 操作(@pxref{guix system vm})一样,可以使用 @option{--share} 和 @option{--expose} 选项指定要在主机和容器之间共享的附加文件系统:"

#. type: example
#: guix-git/doc/guix.texi:44860
#, fuzzy, no-wrap
msgid ""
"guix system container my-config.scm \\\n"
"   --expose=$HOME --share=$HOME/tmp=/exchange\n"
msgstr "guix 系统容器 my-config.scm \\ --expose=$HOME --share=$HOME/tmp=/exchange\n"

#. type: table
#: guix-git/doc/guix.texi:44865
#, fuzzy
msgid "The @option{--share} and @option{--expose} options can also be passed to the generated script to bind-mount additional directories into the container."
msgstr "@option{--share} 和 @option{--expose} 选项也可以传递给生成的脚本,以将额外的目录绑定挂载到容器中。"

#. type: quotation
#: guix-git/doc/guix.texi:44868
#, fuzzy
msgid "This option requires Linux-libre 3.19 or newer."
msgstr "此选项需要 Linux-libre 3.19 或更高版本。"

#. type: Plain text
#: guix-git/doc/guix.texi:44875 guix-git/doc/guix.texi:50022
#, fuzzy
msgid "@var{options} can contain any of the common build options (@pxref{Common Build Options}).  In addition, @var{options} can contain one of the following:"
msgstr "@var{options} 可以包含任何常见的构建选项 (@pxref{Common Build Options})。此外,@var{options} 可以包含以下之一:"

#. type: table
#: guix-git/doc/guix.texi:44884
#, fuzzy
msgid "Consider the operating-system @var{expr} evaluates to.  This is an alternative to specifying a file which evaluates to an operating system.  This is used to generate the Guix system installer @pxref{Building the Installation Image})."
msgstr "考虑操作系统 @var{expr} 评估的结果。这是指定一个评估为操作系统的文件的替代方法。这用于生成 Guix 系统安装程序 @pxref{Building the Installation Image})。"

#. type: table
#: guix-git/doc/guix.texi:44889
#, fuzzy
msgid "Attempt to build for @var{system} instead of the host system type.  This works as per @command{guix build} (@pxref{Invoking guix build})."
msgstr "尝试为 @var{system} 构建,而不是主机系统类型。这按 @command{guix build} 的方式工作 (@pxref{Invoking guix build})。"

#. type: table
#: guix-git/doc/guix.texi:44899
#, fuzzy
msgid "Return the derivation file name of the given operating system without building anything."
msgstr "返回给定操作系统的派生文件名,而不构建任何东西。"

#. type: table
#: guix-git/doc/guix.texi:44908
#, fuzzy
msgid "As discussed above, @command{guix system init} and @command{guix system reconfigure} always save provenance information @i{via} a dedicated service (@pxref{Service Reference, @code{provenance-service-type}}).  However, other commands don't do that by default.  If you wish to, say, create a virtual machine image that contains provenance information, you can run:"
msgstr "如上所述,@command{guix system init} 和 @command{guix system reconfigure} 始终通过专用服务 @i{via} 保存来源信息 (@pxref{Service Reference, @code{provenance-service-type}})。然而,其他命令默认不这样做。如果您希望,例如,创建一个包含来源信息的虚拟机映像,您可以运行:"

#. type: example
#: guix-git/doc/guix.texi:44911
#, fuzzy, no-wrap
msgid "guix system image -t qcow2 --save-provenance config.scm\n"
msgstr "guix system image -t qcow2 --save-provenance config.scm\n"

#. type: table
#: guix-git/doc/guix.texi:44918
#, fuzzy
msgid "That way, the resulting image will effectively ``embed its own source'' in the form of meta-data in @file{/run/current-system}.  With that information, one can rebuild the image to make sure it really contains what it pretends to contain; or they could use that to derive a variant of the image."
msgstr "这样,生成的映像将有效地“嵌入其自身的源”,以元数据的形式存在于 @file{/run/current-system} 中。凭借这些信息,可以重建映像,以确保它确实包含它声称包含的内容;或者可以用它来推导出映像的变体。"

#. type: item
#: guix-git/doc/guix.texi:44919
#, fuzzy, no-wrap
msgid "--image-type=@var{type}"
msgstr "--log-compression=@var{type}"

#. type: table
#: guix-git/doc/guix.texi:44922
#, fuzzy
msgid "For the @code{image} action, create an image with given @var{type}."
msgstr "对于 @code{image} 操作,创建具有给定 @var{type} 的映像。"

#. type: table
#: guix-git/doc/guix.texi:44925
#, fuzzy
msgid "When this option is omitted, @command{guix system} uses the @code{mbr-hybrid-raw} image type."
msgstr "当省略此选项时,@command{guix system} 使用 @code{mbr-hybrid-raw} 映像类型。"

#. type: cindex
#: guix-git/doc/guix.texi:44926
#, fuzzy, no-wrap
msgid "ISO-9660 format"
msgstr "ISO-9660 格式"

#. type: cindex
#: guix-git/doc/guix.texi:44927
#, fuzzy, no-wrap
msgid "CD image format"
msgstr "CD 映像格式"

#. type: cindex
#: guix-git/doc/guix.texi:44928
#, fuzzy, no-wrap
msgid "DVD image format"
msgstr "DVD 映像格式"

#. type: table
#: guix-git/doc/guix.texi:44931
#, fuzzy
msgid "@option{--image-type=iso9660} produces an ISO-9660 image, suitable for burning on CDs and DVDs."
msgstr "@option{--image-type=iso9660} 生成适合在 CD 和 DVD 上刻录的 ISO-9660 映像。"

#. type: item
#: guix-git/doc/guix.texi:44932
#, fuzzy, no-wrap
msgid "--image-size=@var{size}"
msgstr "--image-size=@var{size}"

#. type: table
#: guix-git/doc/guix.texi:44937
#, fuzzy
msgid "For the @code{image} action, create an image of the given @var{size}.  @var{size} may be a number of bytes, or it may include a unit as a suffix (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})."
msgstr "对于 @code{image} 操作,创建给定 @var{size} 的映像。@var{size} 可以是字节数,或者可以包含单位作为后缀 (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})。"

#. type: table
#: guix-git/doc/guix.texi:44941
#, fuzzy
msgid "When this option is omitted, @command{guix system} computes an estimate of the image size as a function of the size of the system declared in @var{file}."
msgstr "当省略此选项时,@command{guix system} 会根据在 @var{file} 中声明的系统大小计算映像大小的估计值。"

#. type: table
#: guix-git/doc/guix.texi:44946
#, fuzzy
msgid "For the @code{container} action, allow containers to access the host network, that is, do not create a network namespace."
msgstr "对于 @code{container} 操作,允许容器访问主机网络,即不创建网络命名空间。"

#. type: item
#: guix-git/doc/guix.texi:44952
#, fuzzy, no-wrap
msgid "--skip-checks"
msgstr "--skip-checks"

#. type: table
#: guix-git/doc/guix.texi:44954
#, fuzzy
msgid "Skip pre-installation safety checks."
msgstr "跳过预安装安全检查。"

#. type: table
#: guix-git/doc/guix.texi:44961
#, fuzzy
msgid "By default, @command{guix system init} and @command{guix system reconfigure} perform safety checks: they make sure the file systems that appear in the @code{operating-system} declaration actually exist (@pxref{File Systems}), and that any Linux kernel modules that may be needed at boot time are listed in @code{initrd-modules} (@pxref{Initial RAM Disk}).  Passing this option skips these tests altogether."
msgstr "默认情况下,@command{guix system init} 和 @command{guix system reconfigure} 会执行安全检查:它们确保在 @code{operating-system} 声明中出现的文件系统实际上存在 (@pxref{File Systems}),并且在启动时可能需要的任何 Linux 内核模块都列在 @code{initrd-modules} 中 (@pxref{Initial RAM Disk})。传递此选项会完全跳过这些测试。"

#. type: table
#: guix-git/doc/guix.texi:44964
#, fuzzy
msgid "Instruct @command{guix system reconfigure} to allow system downgrades."
msgstr "指示 @command{guix system reconfigure} 允许系统降级。"

#. type: table
#: guix-git/doc/guix.texi:44972
#, fuzzy
msgid "By default, @command{reconfigure} prevents you from downgrading your system.  It achieves that by comparing the provenance info of your system (shown by @command{guix system describe}) with that of your @command{guix} command (shown by @command{guix describe}).  If the commits for @command{guix} are not descendants of those used for your system, @command{guix system reconfigure} errors out.  Passing @option{--allow-downgrades} allows you to bypass these checks."
msgstr "默认情况下,@command{reconfigure} 阻止您降级系统。它通过比较您的系统的来源信息(由 @command{guix system describe} 显示)与您的 @command{guix} 命令的来源信息(由 @command{guix describe} 显示)来实现。如果 @command{guix} 的提交不是用于您的系统的提交的后代,则 @command{guix system reconfigure} 会出错。传递 @option{--allow-downgrades} 允许您绕过这些检查。"

#. type: cindex
#: guix-git/doc/guix.texi:44978
#, fuzzy, no-wrap
msgid "on-error"
msgstr "on-error"

#. type: cindex
#: guix-git/doc/guix.texi:44979
#, fuzzy, no-wrap
msgid "on-error strategy"
msgstr "on-error 策略"

#. type: cindex
#: guix-git/doc/guix.texi:44980
#, fuzzy, no-wrap
msgid "error strategy"
msgstr "错误策略"

#. type: item
#: guix-git/doc/guix.texi:44981
#, fuzzy, no-wrap
msgid "--on-error=@var{strategy}"
msgstr "--on-error=@var{strategy}"

#. type: table
#: guix-git/doc/guix.texi:44984
#, fuzzy
msgid "Apply @var{strategy} when an error occurs when reading @var{file}.  @var{strategy} may be one of the following:"
msgstr "在读取 @var{file} 时发生错误时应用 @var{strategy}。@var{strategy} 可以是以下之一:"

#. type: item
#: guix-git/doc/guix.texi:44986
#, fuzzy, no-wrap
msgid "nothing-special"
msgstr "nothing-special"

#. type: table
#: guix-git/doc/guix.texi:44988
#, fuzzy
msgid "Report the error concisely and exit.  This is the default strategy."
msgstr "简洁地报告错误并退出。这是默认策略。"

#. type: item
#: guix-git/doc/guix.texi:44989
#, fuzzy, no-wrap
msgid "backtrace"
msgstr "backtrace"

#. type: table
#: guix-git/doc/guix.texi:44991
#, fuzzy
msgid "Likewise, but also display a backtrace."
msgstr "同样,但还会显示回溯。"

#. type: item
#: guix-git/doc/guix.texi:44992
#, fuzzy, no-wrap
msgid "debug"
msgstr "debug"

#. type: table
#: guix-git/doc/guix.texi:44998
#, fuzzy
msgid "Report the error and enter Guile's debugger.  From there, you can run commands such as @code{,bt} to get a backtrace, @code{,locals} to display local variable values, and more generally inspect the state of the program.  @xref{Debug Commands,,, guile, GNU Guile Reference Manual}, for a list of available debugging commands."
msgstr "报告错误并进入 Guile 的调试器。从那里,您可以运行命令,例如 @code{,bt} 获取回溯,@code{,locals} 显示局部变量值,以及更一般地检查程序的状态。有关可用调试命令的列表,请参见 @xref{Debug Commands,,, guile, GNU Guile Reference Manual}。"

#. type: Plain text
#: guix-git/doc/guix.texi:45005
#, fuzzy
msgid "Once you have built, configured, re-configured, and re-re-configured your Guix installation, you may find it useful to list the operating system generations available on disk---and that you can choose from the bootloader boot menu:"
msgstr "一旦您构建、配置、重新配置并重新再配置了您的 Guix 安装,您可能会发现列出可在磁盘上使用的操作系统版本(您可以从引导加载程序引导菜单中选择)是有用的:"

#. type: item
#: guix-git/doc/guix.texi:45008 guix-git/doc/guix.texi:49938
#, fuzzy, no-wrap
msgid "describe"
msgstr "描述"

#. type: table
#: guix-git/doc/guix.texi:45011
#, fuzzy
msgid "Describe the running system generation: its file name, the kernel and bootloader used, etc., as well as provenance information when available."
msgstr "描述正在运行的系统生成:其文件名、使用的内核和引导加载程序等,以及可用的来源信息。"

#. type: table
#: guix-git/doc/guix.texi:45018
#, fuzzy
msgid "The @code{--list-installed} flag is available, with the same syntax that is used in @command{guix package --list-installed} (@pxref{Invoking guix package}).  When the flag is used, the description will include a list of packages that are currently installed in the system profile, with optional filtering based on a regular expression."
msgstr "@code{--list-installed} 标志可用,语法与 @command{guix package --list-installed} 中使用的相同 (@pxref{Invoking guix package})。当使用该标志时,描述将包括当前安装在系统配置中的软件包列表,并可根据正则表达式进行可选过滤。"

#. type: quotation
#: guix-git/doc/guix.texi:45025
#, fuzzy
msgid "The @emph{running} system generation---referred to by @file{/run/current-system}---is not necessarily the @emph{current} system generation---referred to by @file{/var/guix/profiles/system}: it differs when, for instance, you chose from the bootloader menu to boot an older generation."
msgstr "@emph{运行}系统生成——通过 @file{/run/current-system} 引用——不一定是 @emph{当前}系统生成——通过 @file{/var/guix/profiles/system} 引用:当例如您从引导加载程序菜单选择启动旧的生成时,它们是不同的。"

#. type: quotation
#: guix-git/doc/guix.texi:45029
#, fuzzy
msgid "It can also differ from the @emph{booted} system generation---referred to by @file{/run/booted-system}---for instance because you reconfigured the system in the meantime."
msgstr "它也可能与 @emph{已启动}系统生成——通过 @file{/run/booted-system} 引用——不同,例如因为您在此期间重新配置了系统。"

#. type: item
#: guix-git/doc/guix.texi:45031 guix-git/doc/guix.texi:49953
#, fuzzy, no-wrap
msgid "list-generations"
msgstr "列出生成"

#. type: table
#: guix-git/doc/guix.texi:45036
#, fuzzy
msgid "List a summary of each generation of the operating system available on disk, in a human-readable way.  This is similar to the @option{--list-generations} option of @command{guix package} (@pxref{Invoking guix package})."
msgstr "以人类可读的方式列出可用磁盘上每个操作系统生成的摘要。这类似于 @command{guix package} 的 @option{--list-generations} 选项 (@pxref{Invoking guix package})。"

#. type: table
#: guix-git/doc/guix.texi:45041 guix-git/doc/guix.texi:49963
#, fuzzy
msgid "Optionally, one can specify a pattern, with the same syntax that is used in @command{guix package --list-generations}, to restrict the list of generations displayed.  For instance, the following command displays generations that are up to 10 days old:"
msgstr "可选地,可以指定一个模式,语法与 @command{guix package --list-generations} 中使用的相同,以限制显示的生成列表。例如,以下命令显示最多 10 天的生成:"

#. type: example
#: guix-git/doc/guix.texi:45044
#, fuzzy, no-wrap
msgid "$ guix system list-generations 10d\n"
msgstr "$ guix system list-generations 10d\n"

#. type: table
#: guix-git/doc/guix.texi:45050
#, fuzzy
msgid "The @code{--list-installed} flag may also be specified, with the same syntax that is used in @command{guix package --list-installed}.  This may be helpful if trying to determine when a package was added to the system."
msgstr "@code{--list-installed} 标志也可以指定,语法与 @command{guix package --list-installed} 中使用的相同。如果尝试确定软件包何时添加到系统中,这可能会很有帮助。"

#. type: Plain text
#: guix-git/doc/guix.texi:45056
#, fuzzy
msgid "The @command{guix system} command has even more to offer! The following sub-commands allow you to visualize how your system services relate to each other:"
msgstr "@command{guix system} 命令提供了更多功能!以下子命令允许您可视化系统服务之间的关系:"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:45058
#, fuzzy
msgid "system-extension-graph"
msgstr "系统扩展图"

#. type: item
#: guix-git/doc/guix.texi:45060 guix-git/doc/guix.texi:49993
#, fuzzy, no-wrap
msgid "extension-graph"
msgstr "扩展图"

#. type: table
#: guix-git/doc/guix.texi:45067
#, fuzzy
msgid "Emit to standard output the @dfn{service extension graph} of the operating system defined in @var{file} (@pxref{Service Composition}, for more information on service extensions).  By default the output is in Dot/Graphviz format, but you can choose a different format with @option{--graph-backend}, as with @command{guix graph} (@pxref{Invoking guix graph, @option{--backend}}):"
msgstr "将操作系统中定义的 @dfn{服务扩展图} 输出到标准输出,文件为 @var{file} (@pxref{Service Composition},有关服务扩展的更多信息)。默认情况下,输出为 Dot/Graphviz 格式,但您可以使用 @option{--graph-backend} 选择不同的格式,如 @command{guix graph} 中所示 (@pxref{Invoking guix graph, @option{--backend}}):"

#. type: table
#: guix-git/doc/guix.texi:45069 guix-git/doc/guix.texi:50002
#, fuzzy
msgid "The command:"
msgstr "命令:"

#. type: example
#: guix-git/doc/guix.texi:45072
#, fuzzy, no-wrap
msgid "$ guix system extension-graph @var{file} | xdot -\n"
msgstr "$ guix system extension-graph @var{file} | xdot -\n"

#. type: table
#: guix-git/doc/guix.texi:45075 guix-git/doc/guix.texi:50008
#, fuzzy
msgid "shows the extension relations among services."
msgstr "显示服务之间的扩展关系。"

#. type: quotation
#: guix-git/doc/guix.texi:45078
#, fuzzy
msgid "The @command{dot} program is provided by the @code{graphviz} package."
msgstr "@command{dot} 程序由 @code{graphviz} 包提供。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:45081
#, fuzzy
msgid "system-shepherd-graph"
msgstr "system-shepherd-graph"

#. type: item
#: guix-git/doc/guix.texi:45081 guix-git/doc/guix.texi:50010
#, fuzzy, no-wrap
msgid "shepherd-graph"
msgstr "shepherd-graph"

#. type: table
#: guix-git/doc/guix.texi:45086
#, fuzzy
msgid "Emit to standard output the @dfn{dependency graph} of shepherd services of the operating system defined in @var{file}.  @xref{Shepherd Services}, for more information and for an example graph."
msgstr "将操作系统中定义在 @var{file} 中的 shepherd 服务的 @dfn{依赖图} 输出到标准输出。有关更多信息和示例图,请参见 @xref{Shepherd Services}。"

#. type: table
#: guix-git/doc/guix.texi:45089 guix-git/doc/guix.texi:50017
#, fuzzy
msgid "Again, the default output format is Dot/Graphviz, but you can pass @option{--graph-backend} to select a different one."
msgstr "同样,默认输出格式是 Dot/Graphviz,但您可以传递 @option{--graph-backend} 以选择其他格式。"

#. type: section
#: guix-git/doc/guix.texi:45093
#, no-wrap
msgid "Invoking @command{guix deploy}"
msgstr "调用@command{guix deploy}"

#. type: command{#1}
#: guix-git/doc/guix.texi:45095
#, no-wrap
msgid "guix deploy"
msgstr "guix deploy"

#. type: Plain text
#: guix-git/doc/guix.texi:45102
#, fuzzy
msgid "We've already seen @code{operating-system} declarations used to manage a machine's configuration locally.  Suppose you need to configure multiple machines, though---perhaps you're managing a service on the web that's comprised of several servers.  @command{guix deploy} enables you to use those same @code{operating-system} declarations to manage multiple remote hosts at once as a logical ``deployment''."
msgstr "我们已经看到 @code{operating-system} 声明用于本地管理机器的配置。不过,假设您需要配置多台机器——也许您正在管理一个由多个服务器组成的网络服务。@command{guix deploy} 使您能够使用相同的 @code{operating-system} 声明来同时管理多个远程主机,作为一个逻辑“部署”。"

#. type: quotation
#: guix-git/doc/guix.texi:45107
#, fuzzy
msgid "The functionality described in this section is still under development and is subject to change.  Get in touch with us on @email{guix-devel@@gnu.org}!"
msgstr "本节中描述的功能仍在开发中,可能会有所更改。请通过 @email{guix-devel@@gnu.org} 与我们联系!"

#. type: example
#: guix-git/doc/guix.texi:45111
#, fuzzy, no-wrap
msgid "guix deploy @var{file}\n"
msgstr "guix deploy @var{file}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45115
#, fuzzy
msgid "Such an invocation will deploy the machines that the code within @var{file} evaluates to.  As an example, @var{file} might contain a definition like this:"
msgstr "这样的调用将部署 @var{file} 中代码评估的机器。例如,@var{file} 可能包含如下定义:"

#. type: lisp
#: guix-git/doc/guix.texi:45122
#, fuzzy, no-wrap
msgid ""
";; This is a Guix deployment of a \"bare bones\" setup, with\n"
";; no X11 display server, to a machine with an SSH daemon\n"
";; listening on localhost:2222. A configuration such as this\n"
";; may be appropriate for virtual machine with ports\n"
";; forwarded to the host's loopback interface.\n"
"\n"
msgstr ""
";; 这是一个 Guix 部署的“基本”设置,没有 X11 显示服务器,部署到一个在 localhost:2222 上监听的 SSH 守护进程的机器。这样的配置可能适合于端口转发到主机回环接口的虚拟机。\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:45125
#, fuzzy, no-wrap
msgid ""
"(use-service-modules networking ssh)\n"
"(use-package-modules bootloaders)\n"
"\n"
msgstr ""
"(use-service-modules networking ssh) (use-package-modules bootloaders)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:45146
#, fuzzy, no-wrap
msgid ""
"(define %system\n"
"  (operating-system\n"
"   (host-name \"gnu-deployed\")\n"
"   (timezone \"Etc/UTC\")\n"
"   (bootloader (bootloader-configuration\n"
"                (bootloader grub-bootloader)\n"
"                (targets '(\"/dev/vda\"))\n"
"                (terminal-outputs '(console))))\n"
"   (file-systems (cons (file-system\n"
"                        (mount-point \"/\")\n"
"                        (device \"/dev/vda1\")\n"
"                        (type \"ext4\"))\n"
"                       %base-file-systems))\n"
"   (services\n"
"    (append (list (service dhcp-client-service-type)\n"
"                  (service openssh-service-type\n"
"                           (openssh-configuration\n"
"                            (permit-root-login #t)\n"
"                            (allow-empty-passwords? #t))))\n"
"            %base-services))))\n"
"\n"
msgstr ""
"(define %system (operating-system (host-name \"gnu-deployed\") (timezone \"Etc/UTC\") (bootloader (bootloader-configuration (bootloader grub-bootloader) (targets '(\"/dev/vda\")) (terminal-outputs '(console)))) (file-systems (cons (file-system (mount-point \"/\") (device \"/dev/vda1\") (type \"ext4\")) %base-file-systems)) (services (append (list (service dhcp-client-service-type) (service openssh-service-type (openssh-configuration (permit-root-login #t) (allow-empty-passwords? #t)))) %base-services))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:45156
#, fuzzy, no-wrap
msgid ""
"(list (machine\n"
"       (operating-system %system)\n"
"       (environment managed-host-environment-type)\n"
"       (configuration (machine-ssh-configuration\n"
"                       (host-name \"localhost\")\n"
"                       (system \"x86_64-linux\")\n"
"                       (user \"alice\")\n"
"                       (identity \"./id_rsa\")\n"
"                       (port 2222)))))\n"
msgstr ""
"(list (machine\n"
"       (operating-system %system)\n"
"       (environment managed-host-environment-type)\n"
"       (configuration (machine-ssh-configuration\n"
"                       (host-name \"localhost\")\n"
"                       (system \"x86_64-linux\")\n"
"                       (user \"alice\")\n"
"                       (identity \"./id_rsa\")\n"
"                       (port 2222)))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45169
#, fuzzy
msgid "The file should evaluate to a list of @var{machine} objects.  This example, upon being deployed, will create a new generation on the remote system realizing the @code{operating-system} declaration @code{%system}.  @code{environment} and @code{configuration} specify how the machine should be provisioned---that is, how the computing resources should be created and managed.  The above example does not create any resources, as a @code{'managed-host} is a machine that is already running the Guix system and available over the network.  This is a particularly simple case; a more complex deployment may involve, for example, starting virtual machines through a Virtual Private Server (VPS) provider.  In such a case, a different @var{environment} type would be used."
msgstr "该文件应评估为一个 @var{machine} 对象的列表。 这个示例在部署时,将在远程系统上创建一个新的代际,实现 @code{operating-system} 声明 @code{%system}。 @code{environment} 和 @code{configuration} 指定了机器应如何配置——即计算资源应如何创建和管理。 上面的示例不创建任何资源,因为 @code{'managed-host} 是一台已经运行 Guix 系统并可通过网络访问的机器。 这是一个特别简单的情况;更复杂的部署可能涉及,例如,通过虚拟专用服务器 (VPS) 提供商启动虚拟机。 在这种情况下,将使用不同的 @var{environment} 类型。"

#. type: Plain text
#: guix-git/doc/guix.texi:45174
#, fuzzy
msgid "Do note that you first need to generate a key pair on the coordinator machine to allow the daemon to export signed archives of files from the store (@pxref{Invoking guix archive}), though this step is automatic on Guix System:"
msgstr "请注意,您首先需要在协调器机器上生成一对密钥,以允许守护进程从存储中导出已签名的文件档案 (@pxref{Invoking guix archive}),尽管在 Guix 系统上此步骤是自动的:"

#. type: Plain text
#: guix-git/doc/guix.texi:45182
#, fuzzy
msgid "Each target machine must authorize the key of the master machine so that it accepts store items it receives from the coordinator:"
msgstr "每台构建机器都必须认证主机器的公钥,从而接收从主机器接收的仓库文件:"

#. type: example
#: guix-git/doc/guix.texi:45185
#, fuzzy, no-wrap
msgid "# guix archive --authorize < coordinator-public-key.txt\n"
msgstr "# guix archive --authorize < master-public-key.txt\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45196
#, fuzzy
msgid "@code{user}, in this example, specifies the name of the user account to log in as to perform the deployment.  Its default value is @code{root}, but root login over SSH may be forbidden in some cases.  To work around this, @command{guix deploy} can log in as an unprivileged user and employ @code{sudo} to escalate privileges.  This will only work if @code{sudo} is currently installed on the remote and can be invoked non-interactively as @code{user}.  That is, the line in @code{sudoers} granting @code{user} the ability to use @code{sudo} must contain the @code{NOPASSWD} tag.  This can be accomplished with the following operating system configuration snippet:"
msgstr "@code{user} 在这个示例中指定了用于登录以执行部署的用户帐户名称。 其默认值为 @code{root},但在某些情况下可能禁止通过 SSH 进行 root 登录。 为了解决这个问题,@command{guix deploy} 可以以非特权用户身份登录,并使用 @code{sudo} 提升权限。 这仅在 @code{sudo} 当前安装在远程机器上并且可以以非交互方式作为 @code{user} 调用时有效。 也就是说,@code{sudoers} 中授予 @code{user} 使用 @code{sudo} 的能力的行必须包含 @code{NOPASSWD} 标签。 这可以通过以下操作系统配置片段来实现:"

#. type: lisp
#: guix-git/doc/guix.texi:45200
#, fuzzy, no-wrap
msgid ""
"(use-modules ...\n"
"             (gnu system))               ;for %sudoers-specification\n"
"\n"
msgstr ""
"(use-modules ...\n"
"             (gnu system))               ;用于 %sudoers-specification\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:45202
#, fuzzy, no-wrap
msgid ""
"(define %user \"username\")\n"
"\n"
msgstr ""
"(define %user \"username\")\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:45210
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ...\n"
"  (sudoers-file\n"
"     (plain-file \"sudoers\"\n"
"                 (string-append (plain-file-content %sudoers-specification)\n"
"                                (format #f \"~a ALL = NOPASSWD: ALL~%\"\n"
"                                        %user)))))\n"
"\n"
msgstr ""
"(operating-system\n"
"  ...\n"
"  (sudoers-file\n"
"     (plain-file \"sudoers\"\n"
"                 (string-append (plain-file-content %sudoers-specification)\n"
"                                (format #f \"~a ALL = NOPASSWD: ALL~%\"\n"
"                                        %user)))))\n"
"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45215
#, fuzzy
msgid "For more information regarding the format of the @file{sudoers} file, consult @command{man sudoers}."
msgstr "有关 @file{sudoers} 文件格式的更多信息,请查阅 @command{man sudoers}。"

#. type: Plain text
#: guix-git/doc/guix.texi:45220
#, fuzzy
msgid "Once you've deployed a system on a set of machines, you may find it useful to run a command on all of them.  The @option{--execute} or @option{-x} option lets you do that; the example below runs @command{uname -a} on all the machines listed in the deployment file:"
msgstr "一旦您在一组机器上部署了系统,您可能会发现对所有机器运行命令是有用的。 @option{--execute} 或 @option{-x} 选项可以让您做到这一点;下面的示例在部署文件中列出的所有机器上运行 @command{uname -a}:"

#. type: example
#: guix-git/doc/guix.texi:45223
#, fuzzy, no-wrap
msgid "guix deploy @var{file} -x -- uname -a\n"
msgstr "guix deploy @var{file} -x -- uname -a\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45227
#, fuzzy
msgid "One thing you may often need to do after deployment is restart specific services on all the machines, which you can do like so:"
msgstr "部署后,您可能经常需要在所有机器上重新启动特定服务,您可以这样做:"

#. type: example
#: guix-git/doc/guix.texi:45230
#, fuzzy, no-wrap
msgid "guix deploy @var{file} -x -- herd restart @var{service}\n"
msgstr "guix deploy @var{file} -x -- herd restart @var{service}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45234
#, fuzzy
msgid "The @command{guix deploy -x} command returns zero if and only if the command succeeded on all the machines."
msgstr "@command{guix deploy -x} 命令仅在所有机器上成功时返回零。"

#. type: Plain text
#: guix-git/doc/guix.texi:45239
#, fuzzy
msgid "Below are the data types you need to know about when writing a deployment file."
msgstr "以下是编写部署文件时需要了解的数据类型。"

#. type: deftp
#: guix-git/doc/guix.texi:45240
#, fuzzy, no-wrap
msgid "{Data Type} machine"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:45243
#, fuzzy
msgid "This is the data type representing a single machine in a heterogeneous Guix deployment."
msgstr "这是表示异构 Guix 部署中单个机器的数据类型。"

#. type: table
#: guix-git/doc/guix.texi:45247
#, fuzzy
msgid "The object of the operating system configuration to deploy."
msgstr "管理操作系统配置。"

#. type: code{#1}
#: guix-git/doc/guix.texi:45248
#, no-wrap
msgid "environment"
msgstr "environment"

#. type: table
#: guix-git/doc/guix.texi:45250
#, fuzzy
msgid "An @code{environment-type} describing how the machine should be provisioned."
msgstr "描述机器应如何配置的 @code{environment-type}。"

#. type: item
#: guix-git/doc/guix.texi:45251
#, fuzzy, no-wrap
msgid "@code{configuration} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:45256
#, fuzzy
msgid "An object describing the configuration for the machine's @code{environment}.  If the @code{environment} has a default configuration, @code{#f} may be used.  If @code{#f} is used for an environment with no default configuration, however, an error will be thrown."
msgstr "描述机器 @code{environment} 配置的对象。如果 @code{environment} 有默认配置,可以使用 @code{#f}。但是,如果 @code{#f} 用于没有默认配置的环境,将会抛出错误。"

#. type: deftp
#: guix-git/doc/guix.texi:45259
#, fuzzy, no-wrap
msgid "{Data Type} machine-ssh-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:45262
#, fuzzy
msgid "This is the data type representing the SSH client parameters for a machine with an @code{environment} of @code{managed-host-environment-type}."
msgstr "这是表示具有 @code{managed-host-environment-type} 的机器的 SSH 客户端参数的数据类型。"

#. type: item
#: guix-git/doc/guix.texi:45265 guix-git/doc/guix.texi:45350
#, fuzzy, no-wrap
msgid "@code{build-locally?} (default: @code{#t})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:45267
#, fuzzy
msgid "If false, system derivations will be built on the machine being deployed to."
msgstr "如果为假,系统派生物将在被部署的机器上构建。"

#. type: code{#1}
#: guix-git/doc/guix.texi:45267 guix-git/doc/guix.texi:50140
#, no-wrap
msgid "system"
msgstr "system"

#. type: table
#: guix-git/doc/guix.texi:45270
#, fuzzy
msgid "The system type describing the architecture of the machine being deployed to---e.g., @code{\"x86_64-linux\"}."
msgstr "远程机器的系统类型--如,@code{\"x86_64-linux\"}。"

#. type: item
#: guix-git/doc/guix.texi:45270 guix-git/doc/guix.texi:45345
#, fuzzy, no-wrap
msgid "@code{authorize?} (default: @code{#t})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:45273
#, fuzzy
msgid "If true, the coordinator's signing key will be added to the remote's ACL keyring."
msgstr "如果为真,协调者的签名密钥将被添加到远程的 ACL 密钥环中。"

#. type: item
#: guix-git/doc/guix.texi:45275
#, fuzzy, no-wrap
msgid "@code{identity} (default: @code{#f})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:45278
#, fuzzy
msgid "If specified, the path to the SSH private key to use to authenticate with the remote host."
msgstr "如果指定,使用的 SSH 私钥的路径,用于与远程主机进行身份验证。"

#. type: item
#: guix-git/doc/guix.texi:45279
#, fuzzy, no-wrap
msgid "@code{host-key} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:45281
#, fuzzy
msgid "This should be the SSH host key of the machine, which looks like this:"
msgstr "这应该是机器的 SSH 主机密钥,格式如下:"

#. type: example
#: guix-git/doc/guix.texi:45284
#, fuzzy, no-wrap
msgid "ssh-ed25519 AAAAC3Nz@dots{} root@@example.org\n"
msgstr "ssh-ed25519 AAAAC3NzaC@dots{}mde+UhL hint@@example.org\n"

#. type: table
#: guix-git/doc/guix.texi:45289
#, fuzzy
msgid "When @code{host-key} is @code{#f}, the server is authenticated against the @file{~/.ssh/known_hosts} file, just like the OpenSSH @command{ssh} client does."
msgstr "当 @code{host-key} 为 @code{#f} 时,服务器会根据 @file{~/.ssh/known_hosts} 文件进行身份验证,就像 OpenSSH @command{ssh} 客户端一样。"

#. type: item
#: guix-git/doc/guix.texi:45290 guix-git/doc/guix.texi:45342
#, fuzzy, no-wrap
msgid "@code{allow-downgrades?} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:45292 guix-git/doc/guix.texi:45344
#, fuzzy
msgid "Whether to allow potential downgrades."
msgstr "是否允许潜在的降级。"

#. type: table
#: guix-git/doc/guix.texi:45300
#, fuzzy
msgid "Like @command{guix system reconfigure}, @command{guix deploy} compares the channel commits currently deployed on the remote host (as returned by @command{guix system describe}) to those currently in use (as returned by @command{guix describe}) to determine whether commits currently in use are descendants of those deployed.  When this is not the case and @code{allow-downgrades?} is false, it raises an error.  This ensures you do not accidentally downgrade remote machines."
msgstr "与 @command{guix system reconfigure} 类似,@command{guix deploy} 比较当前在远程主机上部署的通道提交(由 @command{guix system describe} 返回)与当前使用的提交(由 @command{guix describe} 返回),以确定当前使用的提交是否是已部署提交的后代。当情况不是这样且 @code{allow-downgrades?} 为 false 时,它会引发错误。这确保您不会意外地降级远程机器。"

#. type: item
#: guix-git/doc/guix.texi:45301
#, fuzzy, no-wrap
msgid "@code{safety-checks?} (default: @code{#t})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:45307
#, fuzzy
msgid "Whether to perform ``safety checks'' before deployment.  This includes verifying that devices and file systems referred to in the operating system configuration actually exist on the target machine, and making sure that Linux modules required to access storage devices at boot time are listed in the @code{initrd-modules} field of the operating system."
msgstr "是否在部署前执行“安全检查”。这包括验证操作系统配置中提到的设备和文件系统在目标机器上确实存在,并确保在启动时访问存储设备所需的 Linux 模块列在操作系统的 @code{initrd-modules} 字段中。"

#. type: table
#: guix-git/doc/guix.texi:45310
#, fuzzy
msgid "These safety checks ensure that you do not inadvertently deploy a system that would fail to boot.  Be careful before turning them off!"
msgstr "这些安全检查确保您不会无意中部署一个无法启动的系统。在关闭它们之前请小心!"

#. type: deftp
#: guix-git/doc/guix.texi:45313
#, fuzzy, no-wrap
msgid "{Data Type} digital-ocean-configuration"
msgstr "{数据类型} digital-ocean-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:45316
#, fuzzy
msgid "This is the data type describing the Droplet that should be created for a machine with an @code{environment} of @code{digital-ocean-environment-type}."
msgstr "这是描述应为具有 @code{digital-ocean-environment-type} 的机器创建的 Droplet 的数据类型。"

#. type: code{#1}
#: guix-git/doc/guix.texi:45318 guix-git/doc/guix.texi:45385
#, no-wrap
msgid "ssh-key"
msgstr "ssh-key"

#. type: table
#: guix-git/doc/guix.texi:45321
#, fuzzy
msgid "The path to the SSH private key to use to authenticate with the remote host.  In the future, this field may not exist."
msgstr "用于与远程主机进行身份验证的 SSH 私钥的路径。将来,此字段可能不存在。"

#. type: code{#1}
#: guix-git/doc/guix.texi:45321
#, fuzzy, no-wrap
msgid "tags"
msgstr "标签"

#. type: table
#: guix-git/doc/guix.texi:45324
#, fuzzy
msgid "A list of string ``tags'' that uniquely identify the machine.  Must be given such that no two machines in the deployment have the same set of tags."
msgstr "唯一标识机器的字符串“标签”列表。必须给出,以确保在部署中没有两台机器具有相同的标签集。"

#. type: code{#1}
#: guix-git/doc/guix.texi:45324
#, fuzzy, no-wrap
msgid "region"
msgstr "区域"

#. type: table
#: guix-git/doc/guix.texi:45326
#, fuzzy
msgid "A Digital Ocean region slug, such as @code{\"nyc3\"}."
msgstr "数字海洋区域标识符,例如 @code{\"nyc3\"}。"

#. type: table
#: guix-git/doc/guix.texi:45328
#, fuzzy
msgid "A Digital Ocean size slug, such as @code{\"s-1vcpu-1gb\"}"
msgstr "数字海洋大小标识符,例如 @code{\"s-1vcpu-1gb\"}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:45328
#, fuzzy, no-wrap
msgid "enable-ipv6?"
msgstr "enable-ipv6?"

#. type: table
#: guix-git/doc/guix.texi:45330
#, fuzzy
msgid "Whether or not the droplet should be created with IPv6 networking."
msgstr "Droplet 是否应使用 IPv6 网络创建。"

#. type: deftp
#: guix-git/doc/guix.texi:45333
#, fuzzy, no-wrap
msgid "{Data Type} hetzner-configuration"
msgstr "{数据类型} tor-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:45339
#, fuzzy
msgid "This is the data type describing the server that should be created for a machine with an @code{environment} of @code{hetzner-environment-type}. It allows you to configure deployment to a @acronym{VPS, virtual private server} hosted by @uref{https://www.hetzner.com, Hetzner}."
msgstr "这是描述应为具有 @code{digital-ocean-environment-type} 的机器创建的 Droplet 的数据类型。"

#. type: table
#: guix-git/doc/guix.texi:45349
msgid "If true, the public signing key @code{\"/etc/guix/signing-key.pub\"} of the machine that invokes @command{guix deploy} will be added to the operating system ACL keyring of the target machine."
msgstr ""

#. type: table
#: guix-git/doc/guix.texi:45358
msgid "If true, system derivations will be built on the machine that invokes @command{guix deploy}, otherwise derivations are build on the target machine.  Set this to @code{#f} if the machine you are deploying from has a different architecture than the target machine and you can't build derivations for the target architecture by other means, like offloading (@pxref{Daemon Offload Setup}) or emulation (@pxref{transparent-emulation-qemu, Transparent Emulation with QEMU})."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:45359
#, fuzzy, no-wrap
msgid "@code{delete?} (default: @code{#t})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:45363
msgid "If true, the server will be deleted when an error happens in the provisioning phase. If false, the server will be kept in order to debug any issues."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:45364
#, fuzzy, no-wrap
msgid "@code{labels} (default: @code{'()})"
msgstr "@code{acls}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:45369
msgid "A user defined alist of key/value pairs attached to the SSH key and the server on the Hetzner API.  Keys and values must be strings, e.g. @code{'((\"environment\" . \"development\"))}.  For more information, see @uref{https://docs.hetzner.cloud/#labels, Labels}."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:45370
#, fuzzy, no-wrap
msgid "@code{location} (default: @code{\"fsn1\"})"
msgstr "@code{locations}(默认:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:45375
msgid "The name of a @uref{https://docs.hetzner.com/cloud/general/locations, location} to create the server in.  For example, @code{\"fsn1\"} corresponds to the Hetzner site in Falkenstein, Germany, while @code{\"sin\"} corresponds to its site in Singapore."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:45376
#, fuzzy, no-wrap
msgid "@code{server-type} (default: @code{\"cx42\"})"
msgstr "@code{secret}(默认值:@code{\"\"})"

#. type: table
#: guix-git/doc/guix.texi:45384
msgid "The name of the @uref{https://docs.hetzner.com/cloud/servers/overview#server-types, server type} this virtual server should be created with.  For example, @code{\"cx42\"} corresponds to a x86_64 server that has 8 VCPUs, 16 GB of memory and 160 GB of storage, while @code{\"cax31\"} to the AArch64 equivalent.  Other server types and their current prices can be found @uref{https://www.hetzner.com/cloud/#pricing, here}."
msgstr ""

#. type: table
#: guix-git/doc/guix.texi:45388
#, fuzzy
msgid "The file name of the SSH private key to use to authenticate with the remote host."
msgstr "如果指定,使用的 SSH 私钥的路径,用于与远程主机进行身份验证。"

#. type: deftp
#: guix-git/doc/guix.texi:45394
msgid "When deploying a machine for the first time, the following steps are taken to provision a server for the machine on the @uref{https://www.hetzner.com/cloud, Hetzner Cloud} service:"
msgstr ""

#. type: itemize
#: guix-git/doc/guix.texi:45399
msgid "Create the SSH key of the machine on the Hetzner API."
msgstr ""

#. type: itemize
#: guix-git/doc/guix.texi:45402
msgid "Create a server for the machine on the Hetzner API."
msgstr ""

#. type: itemize
#: guix-git/doc/guix.texi:45406
msgid "Format the root partition of the disk using the file system of the machine's operating system.  Supported file systems are btrfs and ext4."
msgstr ""

#. type: itemize
#: guix-git/doc/guix.texi:45412
msgid "Install a minimal Guix operating system on the server using the @uref{https://docs.hetzner.com/cloud/servers/getting-started/rescue-system, rescue mode}.  This minimal system is used to install the machine's operating system, after rebooting."
msgstr ""

#. type: itemize
#: guix-git/doc/guix.texi:45416
msgid "Reboot the server and apply the machine's operating system on the server."
msgstr ""

#. type: deftp
#: guix-git/doc/guix.texi:45421
msgid "Once the server has been provisioned and SSH is available, deployment continues by delegating it to the @code{managed-host-environment-type}."
msgstr ""

#. type: deftp
#: guix-git/doc/guix.texi:45428
msgid "Servers on the Hetzner Cloud service can be provisioned on the AArch64 architecture using UEFI boot mode, or on the x86_64 architecture using BIOS boot mode.  The @code{(gnu machine hetzner)} module exports the @code{%hetzner-os-arm} and @code{%hetzner-os-x86} operating systems that are compatible with those two architectures, and can be used as a base for defining your custom operating system."
msgstr ""

#. type: deftp
#: guix-git/doc/guix.texi:45435
msgid "The following example shows the definition of two machines that are deployed on the Hetzner Cloud service.  The first one uses the @code{%hetzner-os-arm} operating system to run a server with 16 shared vCPUs and 32 GB of RAM on the @code{aarch64} architecture, the second one uses the @code{%hetzner-os-x86} operating system on a server with 16 shared vCPUs and 32 GB of RAM on the @code{x86_64} architecture."
msgstr ""

#. type: lisp
#: guix-git/doc/guix.texi:45439
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu machine)\n"
"             (gnu machine hetzner))\n"
"\n"
msgstr ""
"(use-modules (gnu packages package-management)\n"
"             (guix channels))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:45452
#, fuzzy, no-wrap
msgid ""
"(list (machine\n"
"       (operating-system %hetzner-os-arm)\n"
"       (environment hetzner-environment-type)\n"
"       (configuration (hetzner-configuration\n"
"                       (server-type \"cax41\")\n"
"                       (ssh-key \"/home/charlie/.ssh/id_rsa\"))))\n"
"      (machine\n"
"       (operating-system %hetzner-os-x86)\n"
"       (environment hetzner-environment-type)\n"
"       (configuration (hetzner-configuration\n"
"                       (server-type \"cpx51\")\n"
"                       (ssh-key \"/home/charlie/.ssh/id_rsa\")))))\n"
msgstr ""
"(list (machine\n"
"       (operating-system %system)\n"
"       (environment managed-host-environment-type)\n"
"       (configuration (machine-ssh-configuration\n"
"                       (host-name \"localhost\")\n"
"                       (system \"x86_64-linux\")\n"
"                       (user \"alice\")\n"
"                       (identity \"./id_rsa\")\n"
"                       (port 2222)))))\n"

#. type: vindex
#: guix-git/doc/guix.texi:45454
#, no-wrap
msgid "GUIX_HETZNER_API_TOKEN"
msgstr ""

#. type: deftp
#: guix-git/doc/guix.texi:45459
msgid "Passing this file to @command{guix deploy} with the environment variable @env{GUIX_HETZNER_API_TOKEN} set to a valid Hetzner @uref{https://docs.hetzner.com/cloud/api/getting-started/generating-api-token, API key} should provision two machines for you."
msgstr ""

#. type: section
#: guix-git/doc/guix.texi:45463
#, fuzzy, no-wrap
msgid "Running Guix in a Virtual Machine"
msgstr "在虚拟机中运行 Guix"

#. type: Plain text
#: guix-git/doc/guix.texi:45471
#, fuzzy
msgid "To run Guix in a virtual machine (VM), one can use the pre-built Guix VM image distributed at @url{@value{BASE-URL}/guix-system-vm-image-@value{VERSION}.x86_64-linux.qcow2}.  This image is a compressed image in QCOW format.  You can pass it to an emulator such as @uref{https://qemu.org/, QEMU} (see below for details)."
msgstr "要在虚拟机(VM)中运行 Guix,可以使用在 @url{@value{BASE-URL}/guix-system-vm-image-@value{VERSION}.x86_64-linux.qcow2} 分发的预构建 Guix VM 镜像。此镜像是 QCOW 格式的压缩镜像。您可以将其传递给如 @uref{https://qemu.org/, QEMU} 的仿真器(详见下文)。"

#. type: Plain text
#: guix-git/doc/guix.texi:45478
#, fuzzy
msgid "This image boots the Xfce graphical environment and it contains some commonly used tools.  You can install more software in the image by running @command{guix package} in a terminal (@pxref{Invoking guix package}).  You can also reconfigure the system based on its initial configuration file available as @file{/run/current-system/configuration.scm} (@pxref{Using the Configuration System})."
msgstr "此映像启动 Xfce 图形环境,并包含一些常用工具。您可以通过在终端中运行 @command{guix package} 来在映像中安装更多软件 (@pxref{Invoking guix package})。您还可以根据其初始配置文件重新配置系统,该文件可在 @file{/run/current-system/configuration.scm} 中找到 (@pxref{Using the Configuration System})。"

#. type: Plain text
#: guix-git/doc/guix.texi:45481
#, fuzzy
msgid "Instead of using this pre-built image, one can also build their own image using @command{guix system image} (@pxref{Invoking guix system})."
msgstr "除了使用这个预构建的映像外,您还可以使用 @command{guix system image} 来构建自己的映像 (@pxref{Invoking guix system})。"

#. type: cindex
#: guix-git/doc/guix.texi:45482
#, fuzzy, no-wrap
msgid "QEMU"
msgstr "QEMU"

#. type: Plain text
#: guix-git/doc/guix.texi:45489
#, fuzzy
msgid "If you built your own image, you must copy it out of the store (@pxref{The Store}) and give yourself permission to write to the copy before you can use it.  When invoking QEMU, you must choose a system emulator that is suitable for your hardware platform.  Here is a minimal QEMU invocation that will boot the result of @command{guix system image -t qcow2} on x86_64 hardware:"
msgstr "如果您构建了自己的映像,您必须将其从存储中复制出来 (@pxref{The Store}),并在使用之前给予自己对副本的写入权限。在调用 QEMU 时,您必须选择适合您的硬件平台的系统仿真器。以下是一个最小的 QEMU 调用,它将在 x86_64 硬件上启动 @command{guix system image -t qcow2} 的结果:"

#. type: example
#: guix-git/doc/guix.texi:45496
#, fuzzy, no-wrap
msgid ""
"$ qemu-system-x86_64 \\\n"
"   -nic user,model=virtio-net-pci \\\n"
"   -enable-kvm -m 2048 \\\n"
"   -device virtio-blk,drive=myhd \\\n"
"   -drive if=none,file=guix-system-vm-image-@value{VERSION}.x86_64-linux.qcow2,id=myhd\n"
msgstr ""
"$ qemu-system-x86_64 \\\n"
"   -nic user,model=virtio-net-pci \\\n"
"   -enable-kvm -m 2048 \\\n"
"   -device virtio-blk,drive=myhd \\\n"
"   -drive if=none,file=guix-system-vm-image-@value{VERSION}.x86_64-linux.qcow2,id=myhd\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45499
#, fuzzy
msgid "Here is what each of these options means:"
msgstr "以下是这些选项的含义:"

#. type: item
#: guix-git/doc/guix.texi:45501
#, fuzzy, no-wrap
msgid "qemu-system-x86_64"
msgstr "qemu-system-x86_64"

#. type: table
#: guix-git/doc/guix.texi:45504
#, fuzzy
msgid "This specifies the hardware platform to emulate.  This should match the host."
msgstr "这指定了要仿真的硬件平台。它应该与主机匹配。"

#. type: item
#: guix-git/doc/guix.texi:45505
#, fuzzy, no-wrap
msgid "-nic user,model=virtio-net-pci"
msgstr "-nic user,model=virtio-net-pci"

#. type: table
#: guix-git/doc/guix.texi:45513
#, fuzzy
msgid "Enable the unprivileged user-mode network stack.  The guest OS can access the host but not vice versa.  This is the simplest way to get the guest OS online.  @code{model} specifies which network device to emulate: @code{virtio-net-pci} is a special device made for virtualized operating systems and recommended for most uses.  Assuming your hardware platform is x86_64, you can get a list of available NIC models by running @command{qemu-system-x86_64 -nic model=help}."
msgstr "启用非特权用户模式网络堆栈。来宾操作系统可以访问主机,但反之则不行。这是让来宾操作系统在线的最简单方法。@code{model} 指定要仿真的网络设备:@code{virtio-net-pci} 是为虚拟化操作系统制作的特殊设备,推荐用于大多数用途。假设您的硬件平台是 x86_64,您可以通过运行 @command{qemu-system-x86_64 -nic model=help} 来获取可用 NIC 模型的列表。"

#. type: item
#: guix-git/doc/guix.texi:45514
#, fuzzy, no-wrap
msgid "-enable-kvm"
msgstr "-enable-kvm"

#. type: table
#: guix-git/doc/guix.texi:45518
#, fuzzy
msgid "If your system has hardware virtualization extensions, enabling the virtual machine support (KVM) of the Linux kernel will make things run faster."
msgstr "如果您的系统具有硬件虚拟化扩展,启用 Linux 内核的虚拟机支持 (KVM) 将使事情运行得更快。"

#. type: item
#: guix-git/doc/guix.texi:45520
#, fuzzy, no-wrap
msgid "-m 2048"
msgstr "-m 2048"

#. type: table
#: guix-git/doc/guix.texi:45523
#, fuzzy
msgid "RAM available to the guest OS, in mebibytes.  Defaults to 128@tie{}MiB, which may be insufficient for some operations."
msgstr "分配给来宾操作系统的 RAM,单位为 MiB。默认为 128@tie{}MiB,这对于某些操作可能不足。"

#. type: item
#: guix-git/doc/guix.texi:45524
#, fuzzy, no-wrap
msgid "-device virtio-blk,drive=myhd"
msgstr "-设备 virtio-blk,驱动=myhd"

#. type: table
#: guix-git/doc/guix.texi:45529
#, fuzzy
msgid "Create a @code{virtio-blk} drive called ``myhd''.  @code{virtio-blk} is a ``paravirtualization'' mechanism for block devices that allows QEMU to achieve better performance than if it were emulating a complete disk drive.  See the QEMU and KVM documentation for more info."
msgstr "创建一个名为``myhd''的@code{virtio-blk}驱动。@code{virtio-blk}是一种用于块设备的``半虚拟化''机制,它允许QEMU实现比模拟完整磁盘驱动器更好的性能。有关更多信息,请参阅QEMU和KVM文档。"

#. type: item
#: guix-git/doc/guix.texi:45530
#, fuzzy, no-wrap
msgid "-drive if=none,file=/tmp/qemu-image,id=myhd"
msgstr "-驱动 if=none,文件=/tmp/qemu-image,id=myhd"

#. type: table
#: guix-git/doc/guix.texi:45534
#, fuzzy
msgid "Use our QCOW image, the @file{guix-system-vm-image-@value{VERSION}.x86_64-linux.qcow2} file, as the backing store of the ``myhd'' drive."
msgstr "使用我们的QCOW映像,@file{guix-system-vm-image-@value{VERSION}.x86_64-linux.qcow2}文件,作为``myhd''驱动的后备存储。"

#. type: Plain text
#: guix-git/doc/guix.texi:45544
#, fuzzy
msgid "The default @command{run-vm.sh} script that is returned by an invocation of @command{guix system vm} does not add a @command{-nic user} flag by default.  To get network access from within the vm add the @code{(dhcp-client-service)} to your system definition and start the VM using @command{$(guix system vm config.scm) -nic user}.  An important caveat of using @command{-nic user} for networking is that @command{ping} will not work, because it uses the ICMP protocol.  You'll have to use a different command to check for network connectivity, for example @command{guix download}."
msgstr "默认的@command{run-vm.sh}脚本在调用@command{guix system vm}时不会默认添加@command{-nic user}标志。要从虚拟机内部获得网络访问,请将@code{(dhcp-client-service)}添加到您的系统定义中,并使用@command{$(guix system vm config.scm) -nic user}启动虚拟机。使用@command{-nic user}进行网络连接的一个重要警告是@command{ping}将无法工作,因为它使用ICMP协议。您必须使用其他命令检查网络连接,例如@command{guix download}。"

#. type: subsection
#: guix-git/doc/guix.texi:45545
#, fuzzy, no-wrap
msgid "Connecting Through SSH"
msgstr "通过SSH连接"

#. type: Plain text
#: guix-git/doc/guix.texi:45553
#, fuzzy
msgid "To enable SSH inside a VM you need to add an SSH server like @code{openssh-service-type} to your VM (@pxref{Networking Services, @code{openssh-service-type}}).  In addition you need to forward the SSH port, 22 by default, to the host.  You can do this with"
msgstr "要在虚拟机内部启用SSH,您需要添加一个SSH服务器,例如@code{openssh-service-type}到您的虚拟机中(@pxref{Networking Services, @code{openssh-service-type}})。此外,您需要将SSH端口(默认是22)转发到主机。您可以使用以下命令实现:"

#. type: example
#: guix-git/doc/guix.texi:45556
#, fuzzy, no-wrap
msgid "$(guix system vm config.scm) -nic user,model=virtio-net-pci,hostfwd=tcp::10022-:22\n"
msgstr "$(guix system vm config.scm) -nic user,model=virtio-net-pci,hostfwd=tcp::10022-:22\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45559
#, fuzzy
msgid "To connect to the VM you can run"
msgstr "要连接到虚拟机,您可以运行:"

#. type: example
#: guix-git/doc/guix.texi:45562
#, fuzzy, no-wrap
msgid "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022 localhost\n"
msgstr "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022 localhost\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45569
#, fuzzy
msgid "The @command{-p} tells @command{ssh} the port you want to connect to.  @command{-o UserKnownHostsFile=/dev/null} prevents @command{ssh} from complaining every time you modify your @command{config.scm} file and the @command{-o StrictHostKeyChecking=no} prevents you from having to allow a connection to an unknown host every time you connect."
msgstr "@command{-p}告诉@command{ssh}您想要连接的端口。@command{-o UserKnownHostsFile=/dev/null}防止@command{ssh}在每次修改@command{config.scm}文件时发出警告,而@command{-o StrictHostKeyChecking=no}则防止您在每次连接时都需要允许连接到未知主机。"

#. type: quotation
#: guix-git/doc/guix.texi:45575
#, fuzzy
msgid "If you find the above @samp{hostfwd} example not to be working (e.g., your SSH client hangs attempting to connect to the mapped port of your VM), make sure that your Guix System VM has networking support, such as by using the @code{dhcp-client-service-type} service type."
msgstr "如果您发现上述@samp{hostfwd}示例无法正常工作(例如,您的SSH客户端在尝试连接到虚拟机的映射端口时挂起),请确保您的Guix系统虚拟机具有网络支持,例如使用@code{dhcp-client-service-type}服务类型。"

#. type: subsection
#: guix-git/doc/guix.texi:45577
#, fuzzy, no-wrap
msgid "Using @command{virt-viewer} with Spice"
msgstr "使用 @command{virt-viewer} 和 Spice"

#. type: Plain text
#: guix-git/doc/guix.texi:45583
#, fuzzy
msgid "As an alternative to the default @command{qemu} graphical client you can use the @command{remote-viewer} from the @command{virt-viewer} package.  To connect pass the @command{-spice port=5930,disable-ticketing} flag to @command{qemu}.  See previous section for further information on how to do this."
msgstr "作为默认 @command{qemu} 图形客户端的替代方案,您可以使用 @command{virt-viewer} 包中的 @command{remote-viewer}。要连接,请将 @command{-spice port=5930,disable-ticketing} 标志传递给 @command{qemu}。有关如何执行此操作的更多信息,请参见前一节。"

#. type: Plain text
#: guix-git/doc/guix.texi:45586
#, fuzzy
msgid "Spice also allows you to do some nice stuff like share your clipboard with your VM@.  To enable that you'll also have to pass the following flags to @command{qemu}:"
msgstr "Spice 还允许您做一些很不错的事情,比如与您的 VM 共享剪贴板@。要启用此功能,您还必须将以下标志传递给 @command{qemu}:"

#. type: example
#: guix-git/doc/guix.texi:45592
#, fuzzy, no-wrap
msgid ""
"-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5\n"
"-chardev spicevmc,name=vdagent,id=vdagent\n"
"-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\\\n"
"name=com.redhat.spice.0\n"
msgstr ""
"-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5\n"
"-chardev spicevmc,name=vdagent,id=vdagent\n"
"-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\\\n"
"name=com.redhat.spice.0\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45596
#, fuzzy
msgid "You'll also need to add the @code{(spice-vdagent-service)} to your system definition (@pxref{Miscellaneous Services, Spice service})."
msgstr "您还需要将 @code{(spice-vdagent-service)} 添加到您的系统定义中 (@pxref{Miscellaneous Services, Spice service})。"

#. type: Plain text
#: guix-git/doc/guix.texi:45603
#, fuzzy
msgid "The previous sections show the available services and how one can combine them in an @code{operating-system} declaration.  But how do we define them in the first place? And what is a service anyway?"
msgstr "前面的部分展示了可用的服务以及如何在 @code{operating-system} 声明中组合它们。但是我们首先如何定义它们?服务到底是什么?"

#. type: cindex
#: guix-git/doc/guix.texi:45616
#, fuzzy, no-wrap
msgid "daemons"
msgstr "守护进程"

#. type: Plain text
#: guix-git/doc/guix.texi:45629
#, fuzzy
msgid "Here we define a @dfn{service} as, broadly, something that extends the functionality of the operating system.  Often a service is a process---a @dfn{daemon}---started when the system boots: a secure shell server, a Web server, the Guix build daemon, etc.  Sometimes a service is a daemon whose execution can be triggered by another daemon---e.g., an FTP server started by @command{inetd} or a D-Bus service activated by @command{dbus-daemon}.  Occasionally, a service does not map to a daemon.  For instance, the ``account'' service collects user accounts and makes sure they exist when the system runs; the ``udev'' service collects device management rules and makes them available to the eudev daemon; the @file{/etc} service populates the @file{/etc} directory of the system."
msgstr "在这里,我们将 @dfn{服务} 广义地定义为扩展操作系统功能的东西。服务通常是一个进程——一个 @dfn{守护进程}——在系统启动时启动:一个安全外壳服务器、一个 Web 服务器、Guix 构建守护进程等。有时,服务是一个守护进程,其执行可以由另一个守护进程触发——例如,由 @command{inetd} 启动的 FTP 服务器或由 @command{dbus-daemon} 激活的 D-Bus 服务。偶尔,服务并不映射到守护进程。例如,“账户”服务收集用户账户并确保它们在系统运行时存在;“udev”服务收集设备管理规则并将其提供给 eudev 守护进程;@file{/etc} 服务填充系统的 @file{/etc} 目录。"

#. type: cindex
#: guix-git/doc/guix.texi:45630
#, fuzzy, no-wrap
msgid "service extensions"
msgstr "服务扩展"

#. type: Plain text
#: guix-git/doc/guix.texi:45642
#, fuzzy
msgid "Guix system services are connected by @dfn{extensions}.  For instance, the secure shell service @emph{extends} the Shepherd---the initialization system, running as PID@tie{}1---by giving it the command lines to start and stop the secure shell daemon (@pxref{Networking Services, @code{openssh-service-type}}); the UPower service extends the D-Bus service by passing it its @file{.service} specification, and extends the udev service by passing it device management rules (@pxref{Desktop Services, @code{upower-service}}); the Guix daemon service extends the Shepherd by passing it the command lines to start and stop the daemon, and extends the account service by passing it a list of required build user accounts (@pxref{Base Services})."
msgstr "Guix 系统服务通过 @dfn{扩展} 连接。例如,安全外壳服务 @emph{扩展} Shepherd——作为 PID@tie{}1 运行的初始化系统——通过提供启动和停止安全外壳守护进程的命令行 (@pxref{Networking Services, @code{openssh-service-type}});UPower 服务通过传递其 @file{.service} 规范扩展 D-Bus 服务,并通过传递设备管理规则扩展 udev 服务 (@pxref{Desktop Services, @code{upower-service}});Guix 守护进程服务通过传递启动和停止守护进程的命令行扩展 Shepherd,并通过传递所需构建用户账户的列表扩展账户服务 (@pxref{Base Services})。"

#. type: Plain text
#: guix-git/doc/guix.texi:45646
#, fuzzy
msgid "All in all, services and their ``extends'' relations form a directed acyclic graph (DAG).  If we represent services as boxes and extensions as arrows, a typical system might provide something like this:"
msgstr "总的来说,服务及其“扩展”关系形成一个有向无环图(DAG)。如果我们将服务表示为框,扩展表示为箭头,一个典型的系统可能提供如下内容:"

#. type: Plain text
#: guix-git/doc/guix.texi:45648
#, fuzzy
msgid "@image{images/service-graph,,5in,Typical service extension graph.}"
msgstr "@image{images/service-graph,,5in,典型的服务扩展图。}"

#. type: cindex
#: guix-git/doc/guix.texi:45649
#, fuzzy, no-wrap
msgid "system service"
msgstr "系统服务"

#. type: Plain text
#: guix-git/doc/guix.texi:45657
#, fuzzy
msgid "At the bottom, we see the @dfn{system service}, which produces the directory containing everything to run and boot the system, as returned by the @command{guix system build} command.  @xref{Service Reference}, to learn about the other service types shown here.  @xref{system-extension-graph, the @command{guix system extension-graph} command}, for information on how to generate this representation for a particular operating system definition."
msgstr "在底部,我们看到 @dfn{系统服务},它生成包含运行和启动系统所需的所有内容的目录,作为 @command{guix system build} 命令返回的结果。有关此处显示的其他服务类型,请参见 @xref{Service Reference}。有关如何为特定操作系统定义生成此表示的信息,请参见 @xref{system-extension-graph, @command{guix system extension-graph} 命令}。"

#. type: cindex
#: guix-git/doc/guix.texi:45658
#, fuzzy, no-wrap
msgid "service types"
msgstr "服务类型"

#. type: Plain text
#: guix-git/doc/guix.texi:45664
#, fuzzy
msgid "Technically, developers can define @dfn{service types} to express these relations.  There can be any number of services of a given type on the system---for instance, a system running two instances of the GNU secure shell server (lsh) has two instances of @code{lsh-service-type}, with different parameters."
msgstr "从技术上讲,开发人员可以定义 @dfn{服务类型} 来表达这些关系。系统上可以有任意数量的给定类型的服务——例如,运行两个 GNU 安全外壳服务器(lsh)实例的系统有两个 @code{lsh-service-type} 实例,具有不同的参数。"

#. type: Plain text
#: guix-git/doc/guix.texi:45667
#, fuzzy
msgid "The following section describes the programming interface for service types and services."
msgstr "以下部分描述了服务类型和服务的编程接口。"

#. type: Plain text
#: guix-git/doc/guix.texi:45674
#, fuzzy
msgid "A @dfn{service type} is a node in the DAG described above.  Let us start with a simple example, the service type for the Guix build daemon (@pxref{Invoking guix-daemon}):"
msgstr "@dfn{服务类型} 是上述 DAG 中的一个节点。让我们从一个简单的例子开始,即 Guix 构建守护进程的服务类型(@pxref{Invoking guix-daemon}):"

#. type: lisp
#: guix-git/doc/guix.texi:45684
#, fuzzy, no-wrap
msgid ""
"(define guix-service-type\n"
"  (service-type\n"
"   (name 'guix)\n"
"   (extensions\n"
"    (list (service-extension shepherd-root-service-type guix-shepherd-service)\n"
"          (service-extension account-service-type guix-accounts)\n"
"          (service-extension activation-service-type guix-activation)))\n"
"   (default-value (guix-configuration))))\n"
msgstr ""
"(define guix-service-type\n"
"  (service-type\n"
"   (name 'guix)\n"
"   (extensions\n"
"    (list (service-extension shepherd-root-service-type guix-shepherd-service)\n"
"          (service-extension account-service-type guix-accounts)\n"
"          (service-extension activation-service-type guix-activation)))\n"
"   (default-value (guix-configuration))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45688
#, fuzzy
msgid "It defines three things:"
msgstr "它定义了三件事:"

#. type: enumerate
#: guix-git/doc/guix.texi:45692
#, fuzzy
msgid "A name, whose sole purpose is to make inspection and debugging easier."
msgstr "一个名称,其唯一目的是使检查和调试更容易。"

#. type: enumerate
#: guix-git/doc/guix.texi:45697
#, fuzzy
msgid "A list of @dfn{service extensions}, where each extension designates the target service type and a procedure that, given the parameters of the service, returns a list of objects to extend the service of that type."
msgstr "一个 @dfn{服务扩展} 的列表,其中每个扩展指定目标服务类型和一个过程,该过程根据服务的参数返回一个对象列表,以扩展该类型的服务。"

#. type: enumerate
#: guix-git/doc/guix.texi:45700
#, fuzzy
msgid "Every service type has at least one service extension.  The only exception is the @dfn{boot service type}, which is the ultimate service."
msgstr "每个服务类型至少有一个服务扩展。唯一的例外是 @dfn{启动服务类型},它是最终服务。"

#. type: enumerate
#: guix-git/doc/guix.texi:45703
#, fuzzy
msgid "Optionally, a default value for instances of this type."
msgstr "可选地,为此类型的实例提供默认值。"

#. type: Plain text
#: guix-git/doc/guix.texi:45706
#, fuzzy
msgid "In this example, @code{guix-service-type} extends three services:"
msgstr "在这个示例中,@code{guix-service-type} 扩展了三个服务:"

#. type: defvar
#: guix-git/doc/guix.texi:45708 guix-git/doc/guix.texi:46367
#, fuzzy, no-wrap
msgid "shepherd-root-service-type"
msgstr "shepherd-root-service-type"

#. type: table
#: guix-git/doc/guix.texi:45713
#, fuzzy
msgid "The @code{guix-shepherd-service} procedure defines how the Shepherd service is extended.  Namely, it returns a @code{<shepherd-service>} object that defines how @command{guix-daemon} is started and stopped (@pxref{Shepherd Services})."
msgstr "@code{guix-shepherd-service} 过程定义了 Shepherd 服务的扩展方式。即,它返回一个 @code{<shepherd-service>} 对象,定义了 @command{guix-daemon} 的启动和停止方式(@pxref{Shepherd Services})。"

#. type: item
#: guix-git/doc/guix.texi:45714
#, fuzzy, no-wrap
msgid "account-service-type"
msgstr "account-service-type"

#. type: table
#: guix-git/doc/guix.texi:45719
#, fuzzy
msgid "This extension for this service is computed by @code{guix-accounts}, which returns a list of @code{user-group} and @code{user-account} objects representing the build user accounts (@pxref{Invoking guix-daemon})."
msgstr "此服务的扩展由 @code{guix-accounts} 计算,该过程返回一个 @code{user-group} 和 @code{user-account} 对象的列表,表示构建用户账户(@pxref{Invoking guix-daemon})。"

#. type: item
#: guix-git/doc/guix.texi:45720
#, fuzzy, no-wrap
msgid "activation-service-type"
msgstr "activation-service-type"

#. type: table
#: guix-git/doc/guix.texi:45724
#, fuzzy
msgid "Here @code{guix-activation} is a procedure that returns a gexp, which is a code snippet to run at ``activation time''---e.g., when the service is booted."
msgstr "这里 @code{guix-activation} 是一个返回 gexp 的过程,gexp 是在“激活时间”运行的代码片段——例如,当服务启动时。"

#. type: Plain text
#: guix-git/doc/guix.texi:45727
#, fuzzy
msgid "A service of this type is instantiated like this:"
msgstr "此类型的服务实例化如下:"

#. type: lisp
#: guix-git/doc/guix.texi:45733
#, fuzzy, no-wrap
msgid ""
"(service guix-service-type\n"
"         (guix-configuration\n"
"           (build-accounts 5)\n"
"           (extra-options '(\"--gc-keep-derivations\"))))\n"
msgstr ""
"(service guix-service-type\n"
"         (guix-configuration\n"
"           (build-accounts 5)\n"
"           (extra-options '(\"--gc-keep-derivations\"))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45741
#, fuzzy
msgid "The second argument to the @code{service} form is a value representing the parameters of this specific service instance.  @xref{guix-configuration-type, @code{guix-configuration}}, for information about the @code{guix-configuration} data type.  When the value is omitted, the default value specified by @code{guix-service-type} is used:"
msgstr "@code{service} 形式的第二个参数是一个值,表示此特定服务实例的参数。有关 @code{guix-configuration} 数据类型的信息,请参见 @xref{guix-configuration-type, @code{guix-configuration}}。当省略该值时,将使用 @code{guix-service-type} 指定的默认值:"

#. type: lisp
#: guix-git/doc/guix.texi:45744
#, fuzzy, no-wrap
msgid "(service guix-service-type)\n"
msgstr "(service guix-service-type)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45748
#, fuzzy
msgid "@code{guix-service-type} is quite simple because it extends other services but is not extensible itself."
msgstr "@code{guix-service-type} 非常简单,因为它扩展了其他服务,但本身不可扩展。"

#. type: Plain text
#: guix-git/doc/guix.texi:45752
#, fuzzy
msgid "The service type for an @emph{extensible} service looks like this:"
msgstr "@emph{可扩展} 服务的服务类型如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:45759
#, fuzzy, no-wrap
msgid ""
"(define udev-service-type\n"
"  (service-type (name 'udev)\n"
"                (extensions\n"
"                 (list (service-extension shepherd-root-service-type\n"
"                                          udev-shepherd-service)))\n"
"\n"
msgstr ""
"(define udev-service-type\n"
"  (service-type (name 'udev)\n"
"                (extensions\n"
"                 (list (service-extension shepherd-root-service-type\n"
"                                          udev-shepherd-service)))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:45766
#, fuzzy, no-wrap
msgid ""
"                (compose concatenate)       ;concatenate the list of rules\n"
"                (extend (lambda (config rules)\n"
"                          (udev-configuration\n"
"                           (inherit config)\n"
"                           (rules (append (udev-configuration-rules config)\n"
"                                          rules)))))))\n"
msgstr ""
"                (compose concatenate)       ;连接规则列表\n"
"                (extend (lambda (config rules)\n"
"                          (udev-configuration\n"
"                           (inherit config)\n"
"                           (rules (append (udev-configuration-rules config)\n"
"                                          rules)))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45772
#, fuzzy
msgid "This is the service type for the @uref{https://github.com/eudev-project/eudev, eudev device management daemon}.  Compared to the previous example, in addition to an extension of @code{shepherd-root-service-type}, we see two new fields:"
msgstr "这是 @uref{https://github.com/eudev-project/eudev, eudev 设备管理守护进程} 的服务类型。与之前的示例相比,除了 @code{shepherd-root-service-type} 的扩展外,我们还看到两个新字段:"

#. type: item
#: guix-git/doc/guix.texi:45774
#, fuzzy, no-wrap
msgid "compose"
msgstr "组合"

#. type: table
#: guix-git/doc/guix.texi:45777
#, fuzzy
msgid "This is the procedure to @dfn{compose} the list of extensions to services of this type."
msgstr "这是 @dfn{组合} 此类型服务的扩展列表的过程。"

#. type: table
#: guix-git/doc/guix.texi:45780
#, fuzzy
msgid "Services can extend the udev service by passing it lists of rules; we compose those extensions simply by concatenating them."
msgstr "服务可以通过传递规则列表来扩展 udev 服务;我们通过简单地将这些扩展连接在一起来组合它们。"

#. type: item
#: guix-git/doc/guix.texi:45781
#, fuzzy, no-wrap
msgid "extend"
msgstr "扩展"

#. type: table
#: guix-git/doc/guix.texi:45784
#, fuzzy
msgid "This procedure defines how the value of the service is @dfn{extended} with the composition of the extensions."
msgstr "此过程定义了如何通过扩展的组合来 @dfn{扩展} 服务的值。"

#. type: table
#: guix-git/doc/guix.texi:45789
#, fuzzy
msgid "Udev extensions are composed into a list of rules, but the udev service value is itself a @code{<udev-configuration>} record.  So here, we extend that record by appending the list of rules it contains to the list of contributed rules."
msgstr "Udev 扩展被组合成规则列表,但 udev 服务值本身是一个 @code{<udev-configuration>} 记录。因此,在这里,我们通过将其包含的规则列表附加到贡献规则列表来扩展该记录。"

#. type: table
#: guix-git/doc/guix.texi:45795
#, fuzzy
msgid "This is a string giving an overview of the service type.  The string can contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}).  The @command{guix system search} command searches these strings and displays them (@pxref{Invoking guix system})."
msgstr "这是一个字符串,概述了服务类型。该字符串可以包含 Texinfo 标记 (@pxref{Overview,,, texinfo, GNU Texinfo})。@command{guix system search} 命令搜索这些字符串并显示它们 (@pxref{Invoking guix system})。"

#. type: Plain text
#: guix-git/doc/guix.texi:45800
#, fuzzy
msgid "There can be only one instance of an extensible service type such as @code{udev-service-type}.  If there were more, the @code{service-extension} specifications would be ambiguous."
msgstr "可扩展服务类型(如 @code{udev-service-type})只能有一个实例。如果有多个,@code{service-extension} 规范将会模糊不清。"

#. type: Plain text
#: guix-git/doc/guix.texi:45803
#, fuzzy
msgid "Still here? The next section provides a reference of the programming interface for services."
msgstr "还在这里吗?下一部分提供了服务的编程接口参考。"

#. type: Plain text
#: guix-git/doc/guix.texi:45811
#, fuzzy
msgid "We have seen an overview of service types (@pxref{Service Types and Services}).  This section provides a reference on how to manipulate services and service types.  This interface is provided by the @code{(gnu services)} module."
msgstr "我们已经看到了服务类型的概述 (@pxref{Service Types and Services})。本节提供了如何操作服务和服务类型的参考。此接口由 @code{(gnu services)} 模块提供。"

#. type: deffn
#: guix-git/doc/guix.texi:45812
#, fuzzy, no-wrap
msgid "{Procedure} service type [value]"
msgstr "邮件服务"

#. type: deffn
#: guix-git/doc/guix.texi:45816
#, fuzzy
msgid "Return a new service of @var{type}, a @code{<service-type>} object (see below).  @var{value} can be any object; it represents the parameters of this particular service instance."
msgstr "返回一个新的 @var{type} 服务,一个 @code{<service-type>} 对象(见下文)。@var{value} 可以是任何对象;它表示此特定服务实例的参数。"

#. type: deffn
#: guix-git/doc/guix.texi:45820
#, fuzzy
msgid "When @var{value} is omitted, the default value specified by @var{type} is used; if @var{type} does not specify a default value, an error is raised."
msgstr "当省略 @var{value} 时,将使用 @var{type} 指定的默认值;如果 @var{type} 没有指定默认值,则会引发错误。"

#. type: deffn
#: guix-git/doc/guix.texi:45822
#, fuzzy
msgid "For instance, this:"
msgstr "例如,这个:"

#. type: lisp
#: guix-git/doc/guix.texi:45825
#, fuzzy, no-wrap
msgid "(service openssh-service-type)\n"
msgstr "(service openssh-service-type)\n"

#. type: deffn
#: guix-git/doc/guix.texi:45829
#, fuzzy
msgid "is equivalent to this:"
msgstr "等同于这个:"

#. type: lisp
#: guix-git/doc/guix.texi:45833
#, fuzzy, no-wrap
msgid ""
"(service openssh-service-type\n"
"         (openssh-configuration))\n"
msgstr ""
"(service openssh-service-type\n"
"         (openssh-configuration))\n"

#. type: deffn
#: guix-git/doc/guix.texi:45837
#, fuzzy
msgid "In both cases the result is an instance of @code{openssh-service-type} with the default configuration."
msgstr "在这两种情况下,结果都是一个具有默认配置的 @code{openssh-service-type} 实例。"

#. type: deffn
#: guix-git/doc/guix.texi:45839
#, fuzzy, no-wrap
msgid "{Procedure} service? obj"
msgstr "DNS服务"

#. type: deffn
#: guix-git/doc/guix.texi:45841
#, fuzzy
msgid "Return true if @var{obj} is a service."
msgstr "如果 @var{obj} 是一个服务,则返回 true。"

#. type: deffn
#: guix-git/doc/guix.texi:45843
#, fuzzy, no-wrap
msgid "{Procedure} service-kind service"
msgstr "服务类型和服务"

#. type: deffn
#: guix-git/doc/guix.texi:45845
#, fuzzy
msgid "Return the type of @var{service}---i.e., a @code{<service-type>} object."
msgstr "返回 @var{service} 的类型——即一个 @code{<service-type>} 对象。"

#. type: deffn
#: guix-git/doc/guix.texi:45847
#, fuzzy, no-wrap
msgid "{Procedure} service-value service"
msgstr "邮件服务"

#. type: deffn
#: guix-git/doc/guix.texi:45850
#, fuzzy
msgid "Return the value associated with @var{service}.  It represents its parameters."
msgstr "返回与 @var{service} 关联的值。它表示其参数。"

#. type: Plain text
#: guix-git/doc/guix.texi:45853
#, fuzzy
msgid "Here is an example of how a service is created and manipulated:"
msgstr "以下是如何创建和操作服务的示例:"

#. type: lisp
#: guix-git/doc/guix.texi:45862
#, fuzzy, no-wrap
msgid ""
"(define s\n"
"  (service nginx-service-type\n"
"           (nginx-configuration\n"
"            (nginx nginx)\n"
"            (log-directory log-directory)\n"
"            (run-directory run-directory)\n"
"            (file config-file))))\n"
"\n"
msgstr ""
"(define s\n"
"  (service nginx-service-type\n"
"           (nginx-configuration\n"
"            (nginx nginx)\n"
"            (log-directory log-directory)\n"
"            (run-directory run-directory)\n"
"            (file config-file))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:45865
#, fuzzy, no-wrap
msgid ""
"(service? s)\n"
"@result{} #t\n"
"\n"
msgstr ""
"(service? s)\n"
"@result{} #t\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:45868
#, fuzzy, no-wrap
msgid ""
"(eq? (service-kind s) nginx-service-type)\n"
"@result{} #t\n"
msgstr ""
"(eq? (service-kind s) nginx-service-type)\n"
"@result{} #t\n"

#. type: Plain text
#: guix-git/doc/guix.texi:45878
#, fuzzy
msgid "The @code{modify-services} form provides a handy way to change the parameters of some of the services of a list such as @code{%base-services} (@pxref{Base Services, @code{%base-services}}).  It evaluates to a list of services.  Of course, you could always use standard list combinators such as @code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile, GNU Guile Reference Manual}); @code{modify-services} simply provides a more concise form for this common pattern."
msgstr "@code{modify-services} 形式提供了一种方便的方法来更改列表中某些服务的参数,例如 @code{%base-services} (@pxref{Base Services, @code{%base-services}})。它的结果是一个服务列表。当然,你总是可以使用标准的列表组合器,例如 @code{map} 和 @code{fold} 来做到这一点 (@pxref{SRFI-1, List Library,, guile, GNU Guile Reference Manual});@code{modify-services} 只是为这个常见模式提供了一种更简洁的形式。"

#. type: defspec
#: guix-git/doc/guix.texi:45879
#, fuzzy, no-wrap
msgid "modify-services services @"
msgstr "modify-services services @"

#. type: defspec
#: guix-git/doc/guix.texi:45881
#, fuzzy
msgid "(type variable => body) @dots{}"
msgstr "(type variable => body) @dots{}"

#. type: defspec
#: guix-git/doc/guix.texi:45884
#, fuzzy
msgid "Modify the services listed in @var{services} according to the given clauses.  Each clause has the form:"
msgstr "根据给定的子句修改 @var{services} 中列出的服务。每个子句的形式为:"

#. type: example
#: guix-git/doc/guix.texi:45887
#, fuzzy, no-wrap
msgid "(@var{type} @var{variable} => @var{body})\n"
msgstr "(@var{type} @var{variable} => @var{body})\n"

#. type: defspec
#: guix-git/doc/guix.texi:45894
#, fuzzy
msgid "where @var{type} is a service type---e.g., @code{guix-service-type}---and @var{variable} is an identifier that is bound within the @var{body} to the service parameters---e.g., a @code{guix-configuration} instance---of the original service of that @var{type}."
msgstr "其中 @var{type} 是服务类型——例如 @code{guix-service-type}——而 @var{variable} 是在 @var{body} 中绑定到原始服务的服务参数的标识符——例如,一个 @code{guix-configuration} 实例——该服务的 @var{type}。"

#. type: defspec
#: guix-git/doc/guix.texi:45901
#, fuzzy
msgid "The @var{body} should evaluate to the new service parameters, which will be used to configure the new service.  This new service will replace the original in the resulting list.  Because a service's service parameters are created using @code{define-record-type*}, you can write a succinct @var{body} that evaluates to the new service parameters by using the @code{inherit} feature that @code{define-record-type*} provides."
msgstr "@var{body} 应该评估为新的服务参数,这些参数将用于配置新的服务。这个新服务将替换结果列表中的原始服务。由于服务的服务参数是使用 @code{define-record-type*} 创建的,因此你可以通过使用 @code{define-record-type*} 提供的 @code{inherit} 特性来编写一个简洁的 @var{body},使其评估为新的服务参数。"

#. type: defspec
#: guix-git/doc/guix.texi:45903
#, fuzzy
msgid "Clauses can also have the following form:"
msgstr "目前这些平台提供软件包:"

#. type: lisp
#: guix-git/doc/guix.texi:45906
#, no-wrap
msgid "(delete @var{type})\n"
msgstr "(delete @var{type})\n"

#. type: defspec
#: guix-git/doc/guix.texi:45910
#, fuzzy
msgid "Such a clause removes all services of the given @var{type} from @var{services}."
msgstr "这样的条款会从 @var{services} 中移除给定 @var{type} 的所有服务。"

#. type: defspec
#: guix-git/doc/guix.texi:45912
#, fuzzy
msgid "@xref{Using the Configuration System}, for example usage."
msgstr "@xref{使用配置系统},例如用法。"

#. type: Plain text
#: guix-git/doc/guix.texi:45919
#, fuzzy
msgid "Next comes the programming interface for service types.  This is something you want to know when writing new service definitions, but not necessarily when simply looking for ways to customize your @code{operating-system} declaration."
msgstr "接下来是服务类型的编程接口。这是您在编写新的服务定义时想要了解的内容,但在简单寻找自定义 @code{operating-system} 声明的方法时不一定需要。"

#. type: deftp
#: guix-git/doc/guix.texi:45920
#, fuzzy, no-wrap
msgid "{Data Type} service-type"
msgstr "{数据类型} 服务类型"

#. type: cindex
#: guix-git/doc/guix.texi:45921
#, fuzzy, no-wrap
msgid "service type"
msgstr "服务类型"

#. type: deftp
#: guix-git/doc/guix.texi:45924
#, fuzzy
msgid "This is the representation of a @dfn{service type} (@pxref{Service Types and Services})."
msgstr "这是 @dfn{服务类型} 的表示 (@pxref{服务类型和服务})。"

#. type: table
#: guix-git/doc/guix.texi:45928
#, fuzzy
msgid "This is a symbol, used only to simplify inspection and debugging."
msgstr "这是一个符号,仅用于简化检查和调试。"

#. type: code{#1}
#: guix-git/doc/guix.texi:45929
#, fuzzy, no-wrap
msgid "extensions"
msgstr "扩展"

#. type: table
#: guix-git/doc/guix.texi:45931
#, fuzzy
msgid "A non-empty list of @code{<service-extension>} objects (see below)."
msgstr "一个非空的 @code{<service-extension>} 对象列表(见下文)。"

#. type: item
#: guix-git/doc/guix.texi:45932
#, fuzzy, no-wrap
msgid "@code{compose} (default: @code{#f})"
msgstr "@code{compose}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:45936
#, fuzzy
msgid "If this is @code{#f}, then the service type denotes services that cannot be extended---i.e., services that do not receive ``values'' from other services."
msgstr "如果这是 @code{#f},则服务类型表示无法扩展的服务——即,不从其他服务接收“值”的服务。"

#. type: table
#: guix-git/doc/guix.texi:45940
#, fuzzy
msgid "Otherwise, it must be a one-argument procedure.  The procedure is called by @code{fold-services} and is passed a list of values collected from extensions.  It may return any single value."
msgstr "否则,它必须是一个单参数过程。该过程由 @code{fold-services} 调用,并传递从扩展收集的值列表。它可以返回任何单一值。"

#. type: item
#: guix-git/doc/guix.texi:45941
#, fuzzy, no-wrap
msgid "@code{extend} (default: @code{#f})"
msgstr "@code{extend}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:45943
#, fuzzy
msgid "If this is @code{#f}, services of this type cannot be extended."
msgstr "如果这是 @code{#f},则此类型的服务无法扩展。"

#. type: table
#: guix-git/doc/guix.texi:45949
#, fuzzy
msgid "Otherwise, it must be a two-argument procedure: @code{fold-services} calls it, passing it the initial value of the service as the first argument and the result of applying @code{compose} to the extension values as the second argument.  It must return a value that is a valid parameter value for the service instance."
msgstr "否则,它必须是一个双参数过程:@code{fold-services} 调用它,将服务的初始值作为第一个参数传递,并将应用 @code{compose} 到扩展值的结果作为第二个参数传递。它必须返回一个有效的服务实例参数值。"

#. type: table
#: guix-git/doc/guix.texi:45955
#, fuzzy
msgid "This is a string, possibly using Texinfo markup, describing in a couple of sentences what the service is about.  This string allows users to find about the service through @command{guix system search} (@pxref{Invoking guix system})."
msgstr "这是一个字符串,可能使用 Texinfo 标记,描述服务的内容,通常用几句话说明。这个字符串允许用户通过 @command{guix system search}(@pxref{调用 guix system})了解该服务。"

#. type: item
#: guix-git/doc/guix.texi:45956
#, fuzzy, no-wrap
msgid "@code{default-value} (default: @code{&no-default-value})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:45959
#, fuzzy
msgid "The default value associated for instances of this service type.  This allows users to use the @code{service} form without its second argument:"
msgstr "与此服务类型实例相关联的默认值。这允许用户在没有第二个参数的情况下使用 @code{service} 形式:"

#. type: lisp
#: guix-git/doc/guix.texi:45962
#, fuzzy, no-wrap
msgid "(service @var{type})\n"
msgstr "(service @var{type})\n"

#. type: table
#: guix-git/doc/guix.texi:45966
#, fuzzy
msgid "The returned service in this case has the default value specified by @var{type}."
msgstr "在这种情况下返回的服务具有 @var{type} 指定的默认值。"

#. type: deftp
#: guix-git/doc/guix.texi:45969
#, fuzzy
msgid "@xref{Service Types and Services}, for examples."
msgstr "@xref{服务类型和服务},以获取示例。"

#. type: deffn
#: guix-git/doc/guix.texi:45971
#, fuzzy, no-wrap
msgid "{Procedure} service-extension target-type compute"
msgstr "{过程} 服务扩展 目标类型 计算"

#. type: deffn
#: guix-git/doc/guix.texi:45976
#, fuzzy
msgid "Return a new extension for services of type @var{target-type}.  @var{compute} must be a one-argument procedure: @code{fold-services} calls it, passing it the value associated with the service that provides the extension; it must return a valid value for the target service."
msgstr "返回一个新的扩展,用于 @var{target-type} 类型的服务。@var{compute} 必须是一个单参数过程:@code{fold-services} 调用它,传递与提供扩展的服务相关联的值;它必须返回一个有效的目标服务值。"

#. type: deffn
#: guix-git/doc/guix.texi:45978
#, fuzzy, no-wrap
msgid "{Procedure} service-extension? obj"
msgstr "{Procedure} 服务扩展? obj"

#. type: deffn
#: guix-git/doc/guix.texi:45980
#, fuzzy
msgid "Return true if @var{obj} is a service extension."
msgstr "如果 @var{obj} 是一个服务扩展,则返回 true。"

#. type: Plain text
#: guix-git/doc/guix.texi:45986
#, fuzzy
msgid "Occasionally, you might want to simply extend an existing service.  This involves creating a new service type and specifying the extension of interest, which can be verbose; the @code{simple-service} procedure provides a shorthand for this."
msgstr "有时,您可能只想扩展现有的服务。这涉及创建一个新的服务类型并指定感兴趣的扩展,这可能会很冗长;@code{simple-service} 过程提供了一个简写。"

#. type: deffn
#: guix-git/doc/guix.texi:45987
#, fuzzy, no-wrap
msgid "{Procedure} simple-service name target value"
msgstr "{Procedure} simple-service 名称 目标 值"

#. type: deffn
#: guix-git/doc/guix.texi:45991
#, fuzzy
msgid "Return a service that extends @var{target} with @var{value}.  This works by creating a singleton service type @var{name}, of which the returned service is an instance."
msgstr "返回一个扩展 @var{target} 的服务,使用 @var{value}。这通过创建一个单例服务类型 @var{name} 来实现,返回的服务是该类型的一个实例。"

#. type: deffn
#: guix-git/doc/guix.texi:45994
#, fuzzy
msgid "For example, this extends mcron (@pxref{Scheduled Job Execution}) with an additional job:"
msgstr "例如,这扩展了 mcron (@pxref{Scheduled Job Execution}),增加了一个额外的作业:"

#. type: lisp
#: guix-git/doc/guix.texi:45998
#, fuzzy, no-wrap
msgid ""
"(simple-service 'my-mcron-job mcron-service-type\n"
"                #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n"
msgstr ""
"(simple-service 'my-mcron-job mcron-service-type\n"
"                #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:46008
#, fuzzy
msgid "At the core of the service abstraction lies the @code{fold-services} procedure, which is responsible for ``compiling'' a list of services down to a single directory that contains everything needed to boot and run the system---the directory shown by the @command{guix system build} command (@pxref{Invoking guix system}).  In essence, it propagates service extensions down the service graph, updating each node parameters on the way, until it reaches the root node."
msgstr "服务抽象的核心是 @code{fold-services} 过程,它负责将服务列表“编译”成一个包含启动和运行系统所需的一切的单一目录——该目录由 @command{guix system build} 命令显示 (@pxref{Invoking guix system})。本质上,它沿着服务图传播服务扩展,更新每个节点的参数,直到到达根节点。"

#. type: deffn
#: guix-git/doc/guix.texi:46009
#, fuzzy, no-wrap
msgid "{Procedure} fold-services services [#:target-type system-service-type]"
msgstr "{Procedure} fold-services 服务 [#:target-type system-service-type]"

#. type: deffn
#: guix-git/doc/guix.texi:46012
#, fuzzy
msgid "Fold @var{services} by propagating their extensions down to the root of type @var{target-type}; return the root service adjusted accordingly."
msgstr "通过将 @var{services} 的扩展传播到 @var{target-type} 的根节点来折叠它们;返回相应调整的根服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:46016
#, fuzzy
msgid "Lastly, the @code{(gnu services)} module also defines several essential service types, some of which are listed below."
msgstr "最后,@code{(gnu services)} 模块还定义了几个基本服务类型,其中一些列在下面。"

#. type: defvar
#: guix-git/doc/guix.texi:46017
#, fuzzy, no-wrap
msgid "system-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:46020
#, fuzzy
msgid "This is the root of the service graph.  It produces the system directory as returned by the @command{guix system build} command."
msgstr "这是服务图的根。它生成由 @command{guix system build} 命令返回的系统目录。"

#. type: defvar
#: guix-git/doc/guix.texi:46022
#, fuzzy, no-wrap
msgid "boot-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:46025
#, fuzzy
msgid "The type of the ``boot service'', which produces the @dfn{boot script}.  The boot script is what the initial RAM disk runs when booting."
msgstr "``启动服务''的类型,它生成 @dfn{启动脚本}。启动脚本是初始 RAM 磁盘在启动时运行的内容。"

#. type: defvar
#: guix-git/doc/guix.texi:46027
#, fuzzy, no-wrap
msgid "etc-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:46031
#, fuzzy
msgid "The type of the @file{/etc} service.  This service is used to create files under @file{/etc} and can be extended by passing it name/file tuples such as:"
msgstr "@file{/etc} 服务的类型。该服务用于在 @file{/etc} 下创建文件,并可以通过传递名称/文件元组进行扩展,例如:"

#. type: lisp
#: guix-git/doc/guix.texi:46034
#, fuzzy, no-wrap
msgid "(list `(\"issue\" ,(plain-file \"issue\" \"Welcome!\\n\")))\n"
msgstr "(list `(\"issue\" ,(plain-file \"issue\" \"欢迎!\\n\")))\n"

#. type: defvar
#: guix-git/doc/guix.texi:46038
#, fuzzy
msgid "In this example, the effect would be to add an @file{/etc/issue} file pointing to the given file."
msgstr "在这个例子中,效果是添加一个指向给定文件的 @file{/etc/issue} 文件。"

#. type: defvar
#: guix-git/doc/guix.texi:46040
#, fuzzy, no-wrap
msgid "privileged-program-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:46044
#, fuzzy
msgid "Type for the ``privileged-program service''.  This service collects lists of executable file names, passed as gexps, and adds them to the set of privileged programs on the system (@pxref{Privileged Programs})."
msgstr "为``特权程序服务''输入类型。该服务收集作为 gexps 传递的可执行文件名列表,并将它们添加到系统上的特权程序集合中 (@pxref{Privileged Programs})."

#. type: defvar
#: guix-git/doc/guix.texi:46046
#, fuzzy, no-wrap
msgid "profile-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:46050
#, fuzzy
msgid "Type of the service that populates the @dfn{system profile}---i.e., the programs under @file{/run/current-system/profile}.  Other services can extend it by passing it lists of packages to add to the system profile."
msgstr "填充 @dfn{系统配置文件} 的服务类型---即 @file{/run/current-system/profile} 下的程序。其他服务可以通过传递要添加到系统配置文件的包列表来扩展它。"

#. type: defvar
#: guix-git/doc/guix.texi:46054
#, fuzzy, no-wrap
msgid "provenance-service-type"
msgstr "provenance-service-type"

#. type: defvar
#: guix-git/doc/guix.texi:46058
#, fuzzy
msgid "This is the type of the service that records @dfn{provenance meta-data} in the system itself.  It creates several files under @file{/run/current-system}:"
msgstr "这是记录系统本身 @dfn{来源元数据} 的服务类型。它在 @file{/run/current-system} 下创建多个文件:"

#. type: item
#: guix-git/doc/guix.texi:46060
#, fuzzy, no-wrap
msgid "channels.scm"
msgstr "通道"

#. type: table
#: guix-git/doc/guix.texi:46065
#, fuzzy
msgid "This is a ``channel file'' that can be passed to @command{guix pull -C} or @command{guix time-machine -C}, and which describes the channels used to build the system, if that information was available (@pxref{Channels})."
msgstr "这是一个可以传递给 @command{guix pull -C} 或 @command{guix time-machine -C} 的``通道文件'',它描述了用于构建系统的通道,如果该信息可用的话 (@pxref{Channels})."

#. type: item
#: guix-git/doc/guix.texi:46066
#, fuzzy, no-wrap
msgid "configuration.scm"
msgstr "系统配置"

#. type: table
#: guix-git/doc/guix.texi:46071
#, fuzzy
msgid "This is the file that was passed as the value for this @code{provenance-service-type} service.  By default, @command{guix system reconfigure} automatically passes the OS configuration file it received on the command line."
msgstr "这是作为该 @code{provenance-service-type} 服务的值传递的文件。默认情况下,@command{guix system reconfigure} 会自动传递它在命令行上接收到的操作系统配置文件。"

#. type: item
#: guix-git/doc/guix.texi:46072
#, fuzzy, no-wrap
msgid "provenance"
msgstr "provenance"

#. type: table
#: guix-git/doc/guix.texi:46075
#, fuzzy
msgid "This contains the same information as the two other files but in a format that is more readily processable."
msgstr "这包含与另外两个文件相同的信息,但以更易处理的格式呈现。"

#. type: defvar
#: guix-git/doc/guix.texi:46079
#, fuzzy
msgid "In general, these two pieces of information (channels and configuration file) are enough to reproduce the operating system ``from source''."
msgstr "一般来说,这两条信息(通道和配置文件)足以从源代码重建操作系统。"

#. type: quotation
#: guix-git/doc/guix.texi:46080
#, fuzzy, no-wrap
msgid "Caveats"
msgstr "注意事项"

#. type: quotation
#: guix-git/doc/guix.texi:46087
#, fuzzy
msgid "This information is necessary to rebuild your operating system, but it is not always sufficient.  In particular, @file{configuration.scm} itself is insufficient if it is not self-contained---if it refers to external Guile modules or to extra files.  If you want @file{configuration.scm} to be self-contained, we recommend that modules or files it refers to be part of a channel."
msgstr "这些信息对于重建您的操作系统是必要的,但并不总是足够的。特别是,如果 @file{configuration.scm} 不是自包含的---如果它引用外部 Guile 模块或额外文件,则 @file{configuration.scm} 本身是不够的。如果您希望 @file{configuration.scm} 是自包含的,我们建议它引用的模块或文件成为通道的一部分。"

#. type: quotation
#: guix-git/doc/guix.texi:46095
#, fuzzy
msgid "Besides, provenance meta-data is ``silent'' in the sense that it does not change the bits contained in your system, @emph{except for the meta-data bits themselves}.  Two different OS configurations or sets of channels can lead to the same system, bit-for-bit; when @code{provenance-service-type} is used, these two systems will have different meta-data and thus different store file names, which makes comparison less trivial."
msgstr "此外,来源元数据是``静默的'',因为它不会改变您系统中包含的位,@emph{除了元数据位本身之外}。两个不同的操作系统配置或通道集可以逐位导致相同的系统;当使用 @code{provenance-service-type} 时,这两个系统将具有不同的元数据,因此具有不同的存储文件名,这使得比较变得不那么简单。"

#. type: defvar
#: guix-git/doc/guix.texi:46100
#, fuzzy
msgid "This service is automatically added to your operating system configuration when you use @command{guix system reconfigure}, @command{guix system init}, or @command{guix deploy}."
msgstr "当您使用 @command{guix system reconfigure}、@command{guix system init} 或 @command{guix deploy} 时,此服务会自动添加到您的操作系统配置中。"

#. type: defvar
#: guix-git/doc/guix.texi:46102
#, fuzzy, no-wrap
msgid "linux-loadable-module-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:46106
#, fuzzy
msgid "Type of the service that collects lists of packages containing kernel-loadable modules, and adds them to the set of kernel-loadable modules."
msgstr "收集包含可加载内核模块的软件包列表的服务类型,并将其添加到可加载内核模块的集合中。"

#. type: defvar
#: guix-git/doc/guix.texi:46109
#, fuzzy
msgid "This service type is intended to be extended by other service types, such as below:"
msgstr "此服务类型旨在被其他服务类型扩展,如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:46115
#, fuzzy, no-wrap
msgid ""
"(simple-service 'installing-module\n"
"                linux-loadable-module-service-type\n"
"                (list module-to-install-1\n"
"                      module-to-install-2))\n"
msgstr ""
"(simple-service 'installing-module\n"
"                linux-loadable-module-service-type\n"
"                (list module-to-install-1\n"
"                      module-to-install-2))\n"

#. type: defvar
#: guix-git/doc/guix.texi:46119
#, fuzzy
msgid "This does not actually load modules at bootup, only adds it to the kernel profile so that it @emph{can} be loaded by other means."
msgstr "这实际上并不会在启动时加载模块,只是将其添加到内核配置中,以便可以通过其他方式加载。"

#. type: cindex
#: guix-git/doc/guix.texi:46124
#, fuzzy, no-wrap
msgid "shepherd services"
msgstr "shepherd 服务"

#. type: cindex
#: guix-git/doc/guix.texi:46125
#, fuzzy, no-wrap
msgid "PID 1"
msgstr "PID 1"

#. type: cindex
#: guix-git/doc/guix.texi:46126
#, fuzzy, no-wrap
msgid "init system"
msgstr "初始化系统"

#. type: Plain text
#: guix-git/doc/guix.texi:46132
#, fuzzy
msgid "The @code{(gnu services shepherd)} module provides a way to define services managed by the GNU@tie{}Shepherd, which is the initialization system---the first process that is started when the system boots, also known as PID@tie{}1 (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual})."
msgstr "@code{(gnu services shepherd)} 模块提供了一种定义由 GNU@tie{}Shepherd 管理的服务的方法,它是初始化系统——在系统启动时启动的第一个进程,也称为 PID@tie{}1 (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual})。"

#. type: Plain text
#: guix-git/doc/guix.texi:46138
#, fuzzy
msgid "Services in the Shepherd can depend on each other.  For instance, the SSH daemon may need to be started after the syslog daemon has been started, which in turn can only happen once all the file systems have been mounted.  The simple operating system defined earlier (@pxref{Using the Configuration System}) results in a service graph like this:"
msgstr "Shepherd 中的服务可以相互依赖。例如,SSH 守护进程可能需要在 syslog 守护进程启动后启动,而后者只能在所有文件系统已挂载后才能启动。之前定义的简单操作系统 (@pxref{Using the Configuration System}) 产生了如下的服务图:"

#. type: Plain text
#: guix-git/doc/guix.texi:46140
#, fuzzy
msgid "@image{images/shepherd-graph,,5in,Typical shepherd service graph.}"
msgstr "@image{images/shepherd-graph,,5in,典型的 shepherd 服务图。}"

#. type: Plain text
#: guix-git/doc/guix.texi:46144
#, fuzzy
msgid "You can actually generate such a graph for any operating system definition using the @command{guix system shepherd-graph} command (@pxref{system-shepherd-graph, @command{guix system shepherd-graph}})."
msgstr "您实际上可以使用 @command{guix system shepherd-graph} 命令为任何操作系统定义生成这样的图 (@pxref{system-shepherd-graph, @command{guix system shepherd-graph}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:46148
#, fuzzy
msgid "The @code{%shepherd-root-service} is a service object representing PID@tie{}1, of type @code{shepherd-root-service-type}; it can be extended by passing it lists of @code{<shepherd-service>} objects."
msgstr "@code{%shepherd-root-service} 是一个服务对象,表示 PID@tie{}1,类型为 @code{shepherd-root-service-type};可以通过传递 @code{<shepherd-service>} 对象的列表来扩展它。"

#. type: deftp
#: guix-git/doc/guix.texi:46149
#, fuzzy, no-wrap
msgid "{Data Type} shepherd-service"
msgstr "{数据类型} shepherd-service"

#. type: deftp
#: guix-git/doc/guix.texi:46151
#, fuzzy
msgid "The data type representing a service managed by the Shepherd."
msgstr "表示由 Shepherd 管理的服务的数据类型。"

#. type: code{#1}
#: guix-git/doc/guix.texi:46153
#, fuzzy, no-wrap
msgid "provision"
msgstr "提供"

#. type: table
#: guix-git/doc/guix.texi:46155
#, fuzzy
msgid "This is a list of symbols denoting what the service provides."
msgstr "这是一个符号列表,表示服务提供的内容。"

#. type: table
#: guix-git/doc/guix.texi:46160
#, fuzzy
msgid "These are the names that may be passed to @command{herd start}, @command{herd status}, and similar commands (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual}).  @xref{Defining Services,,, shepherd, The GNU Shepherd Manual}, for details."
msgstr "这些是可以传递给 @command{herd start}、@command{herd status} 和类似命令的名称 (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})。有关详细信息,请参见 @xref{Defining Services,,, shepherd, The GNU Shepherd Manual}。"

#. type: item
#: guix-git/doc/guix.texi:46161
#, fuzzy, no-wrap
msgid "@code{requirement} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:46163
#, fuzzy
msgid "List of symbols denoting the Shepherd services this one depends on."
msgstr "表示此服务所依赖的牧羊服务的符号列表。"

#. type: cindex
#: guix-git/doc/guix.texi:46164
#, fuzzy, no-wrap
msgid "@code{user-processes} Shepherd service"
msgstr "牧羊服务的操作"

#. type: table
#: guix-git/doc/guix.texi:46170
msgid "With very few exceptions, services that start a daemon must depend at least on the @code{user-processes} service; this ensures that these daemons are started after all the file systems have been mounted and that, during shutdown, they are stopped before attempting to terminate remaining user processes."
msgstr ""

#. type: cindex
#: guix-git/doc/guix.texi:46171
#, fuzzy, no-wrap
msgid "one-shot services, for the Shepherd"
msgstr "一次性服务,供牧羊使用"

#. type: table
#: guix-git/doc/guix.texi:46176
#, fuzzy
msgid "Whether this service is @dfn{one-shot}.  One-shot services stop immediately after their @code{start} action has completed.  @xref{Slots of services,,, shepherd, The GNU Shepherd Manual}, for more info."
msgstr "此服务是否为 @dfn{一次性}。一次性服务在其 @code{start} 操作完成后立即停止。有关更多信息,请参见 @xref{服务的槽,,, shepherd, GNU Shepherd 手册}。"

#. type: item
#: guix-git/doc/guix.texi:46177
#, fuzzy, no-wrap
msgid "@code{respawn?} (default: @code{#t})"
msgstr "@code{respawn?}(默认值:@code{#t})"

#. type: table
#: guix-git/doc/guix.texi:46180
#, fuzzy
msgid "Whether to restart the service when it stops, for instance when the underlying process dies."
msgstr "当服务停止时,是否重新启动该服务,例如当底层进程死亡时。"

#. type: item
#: guix-git/doc/guix.texi:46181
#, fuzzy, no-wrap
msgid "@code{respawn-limit} (default: @code{#f})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:46185
#, fuzzy
msgid "Set a limit on how many times and how frequently a service may be restarted by Shepherd before it is disabled.  @xref{Defining Services,,, shepherd, The GNU Shepherd Manual}, for details."
msgstr "设置限制,规定在服务被禁用之前,牧羊可以重新启动服务的次数和频率。有关详细信息,请参见 @xref{定义服务,,, shepherd, GNU Shepherd 手册}。"

#. type: item
#: guix-git/doc/guix.texi:46186
#, fuzzy, no-wrap
msgid "@code{respawn-delay} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:46189
#, fuzzy
msgid "When true, this is the delay in seconds before restarting a failed service."
msgstr "为真时,这是在重新启动失败服务之前的延迟(以秒为单位)。"

#. type: item
#: guix-git/doc/guix.texi:46190
#, fuzzy, no-wrap
msgid "@code{start} (default: @code{#~(const #t)})"
msgstr "@code{port}(默认值:@code{22})"

#. type: itemx
#: guix-git/doc/guix.texi:46191
#, fuzzy, no-wrap
msgid "@code{stop} (default: @code{#~(const #f)})"
msgstr "@code{stop}(默认值:@code{#~(const #f)})"

#. type: table
#: guix-git/doc/guix.texi:46197
#, fuzzy
msgid "The @code{start} and @code{stop} fields refer to the Shepherd's facilities to start and stop processes (@pxref{Service De- and Constructors,,, shepherd, The GNU Shepherd Manual}).  They are given as G-expressions that get expanded in the Shepherd configuration file (@pxref{G-Expressions})."
msgstr "@code{start} 和 @code{stop} 字段指的是牧羊启动和停止进程的功能(@pxref{服务的去构造和构造,,, shepherd, GNU Shepherd 手册})。它们作为 G 表达式给出,在牧羊配置文件中展开(@pxref{G-表达式})。"

#. type: item
#: guix-git/doc/guix.texi:46198
#, fuzzy, no-wrap
msgid "@code{actions} (default: @code{'()})"
msgstr "@code{actions}(默认值:@code{'()})"

#. type: cindex
#: guix-git/doc/guix.texi:46199
#, fuzzy, no-wrap
msgid "actions, of Shepherd services"
msgstr "牧羊服务的操作"

#. type: table
#: guix-git/doc/guix.texi:46204
#, fuzzy
msgid "This is a list of @code{shepherd-action} objects (see below) defining @dfn{actions} supported by the service, in addition to the standard @code{start} and @code{stop} actions.  Actions listed here become available as @command{herd} sub-commands:"
msgstr "这是一个 @code{shepherd-action} 对象的列表(见下文),定义了服务支持的 @dfn{操作},除了标准的 @code{start} 和 @code{stop} 操作。这里列出的操作作为 @command{herd} 子命令可用:"

#. type: example
#: guix-git/doc/guix.texi:46207
#, fuzzy, no-wrap
msgid "herd @var{action} @var{service} [@var{arguments}@dots{}]\n"
msgstr "herd @var{action} @var{service} [@var{arguments}@dots{}]\n"

#. type: item
#: guix-git/doc/guix.texi:46209
#, fuzzy, no-wrap
msgid "@code{free-form} (default: @code{#f})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:46215
#, fuzzy
msgid "When set, this field replaces the @code{start}, @code{stop}, and @code{actions} fields.  It is meant to be used when the service definition comes from some other source, typically the service collection provided by the Shepherd proper (@pxref{Service Collection,,, shepherd, The GNU Shepherd Manual})."
msgstr "设置后,此字段将替代 @code{start}、@code{stop} 和 @code{actions} 字段。它旨在用于服务定义来自其他来源时,通常是由牧羊提供的服务集合(@pxref{服务集合,,, shepherd, GNU Shepherd 手册})。"

#. type: cindex
#: guix-git/doc/guix.texi:46216
#, fuzzy, no-wrap
msgid "REPL service, for shepherd"
msgstr "Shepherd服务"

#. type: table
#: guix-git/doc/guix.texi:46220
#, fuzzy
msgid "For example, the snippet below defines a service for the Shepherd's built-in @acronym{REPL, read-eval-print loop} service (@pxref{REPL Service,,, shepherd, The GNU Shepherd Manual}):"
msgstr "例如,下面的代码片段定义了一个牧羊内置的 @acronym{REPL, 读取-求值-打印循环} 服务(@pxref{REPL 服务,,, shepherd, GNU Shepherd 手册}):"

#. type: lisp
#: guix-git/doc/guix.texi:46226
#, fuzzy, no-wrap
msgid ""
"(shepherd-service\n"
"  (provision '(repl))\n"
"  (modules '((shepherd service repl)))\n"
"  (free-form #~(repl-service)))\n"
msgstr ""
"(shepherd-service\n"
"  (provision '(repl))\n"
"  (modules '((shepherd service repl)))\n"
"  (free-form #~(repl-service)))\n"

#. type: table
#: guix-git/doc/guix.texi:46232
#, fuzzy
msgid "In this case, the service object is returned by the @code{repl-service} procedure of the Shepherd, so all the @code{free-form} G-expression does is call that procedure.  Note that the @code{provision} field must be consistent with the actual service provision."
msgstr "在这种情况下,服务对象由牧羊的 @code{repl-service} 过程返回,因此所有的 @code{free-form} G 表达式所做的就是调用该过程。请注意,@code{provision} 字段必须与实际的服务提供一致。"

#. type: item
#: guix-git/doc/guix.texi:46233
#, fuzzy, no-wrap
msgid "@code{auto-start?} (default: @code{#t})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:46236
#, fuzzy
msgid "Whether this service should be started automatically by the Shepherd.  If it is @code{#f} the service has to be started manually with @code{herd start}."
msgstr "此服务是否应该由Shepherd自动启动。如果它是@code{#f},则必须手动使用@code{herd start}启动该服务。"

#. type: table
#: guix-git/doc/guix.texi:46239
#, fuzzy
msgid "A documentation string, as shown when running:"
msgstr "文档字符串,如运行时所示:"

#. type: example
#: guix-git/doc/guix.texi:46242
#, fuzzy, no-wrap
msgid "herd doc @var{service-name}\n"
msgstr "herd doc @var{service-name}\n"

#. type: table
#: guix-git/doc/guix.texi:46246
#, fuzzy
msgid "where @var{service-name} is one of the symbols in @code{provision} (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})."
msgstr "其中@var{service-name}是@code{provision}中的符号之一(@pxref{调用herd,,, shepherd, GNU Shepherd手册})。"

#. type: table
#: guix-git/doc/guix.texi:46250
#, fuzzy
msgid "This is the list of modules that must be in scope when @code{start} and @code{stop} are evaluated."
msgstr "这是在评估@code{start}和@code{stop}时必须在范围内的模块列表。"

#. type: Plain text
#: guix-git/doc/guix.texi:46258
#, fuzzy
msgid "The example below defines a Shepherd service that spawns @command{syslogd}, the system logger from the GNU Networking Utilities (@pxref{syslogd invocation, @command{syslogd},, inetutils, GNU Inetutils}):"
msgstr "下面的示例定义了一个Shepherd服务,该服务生成@command{syslogd},这是GNU网络实用程序中的系统日志记录器(@pxref{syslogd调用,@command{syslogd},, inetutils, GNU Inetutils}):"

#. type: example
#: guix-git/doc/guix.texi:46270
#, fuzzy, no-wrap
msgid ""
"(let ((config (plain-file \"syslogd.conf\" \"@dots{}\")))\n"
"  (shepherd-service\n"
"    (documentation \"Run the syslog daemon (syslogd).\")\n"
"    (provision '(syslogd))\n"
"    (requirement '(user-processes))\n"
"    (start #~(make-forkexec-constructor\n"
"               (list #$(file-append inetutils \"/libexec/syslogd\")\n"
"                     \"--rcfile\" #$config)\n"
"               #:pid-file \"/var/run/syslog.pid\"))\n"
"    (stop #~(make-kill-destructor))))\n"
msgstr ""
"(let ((config (plain-file \"syslogd.conf\" \"@dots{}\")))\n"
"  (shepherd-service\n"
"    (documentation \"运行syslog守护进程(syslogd)。\")\n"
"    (provision '(syslogd))\n"
"    (requirement '(user-processes))\n"
"    (start #~(make-forkexec-constructor\n"
"               (list #$(file-append inetutils \"/libexec/syslogd\")\n"
"                     \"--rcfile\" #$config)\n"
"               #:pid-file \"/var/run/syslog.pid\"))\n"
"    (stop #~(make-kill-destructor))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:46285
#, fuzzy
msgid "Key elements in this example are the @code{start} and @code{stop} fields: they are @dfn{staged} code snippets that use the @code{make-forkexec-constructor} procedure provided by the Shepherd and its dual, @code{make-kill-destructor} (@pxref{Service De- and Constructors,,, shepherd, The GNU Shepherd Manual}).  The @code{start} field will have @command{shepherd} spawn @command{syslogd} with the given option; note that we pass @code{config} after @option{--rcfile}, which is a configuration file declared above (contents of this file are omitted).  Likewise, the @code{stop} field tells how this service is to be stopped; in this case, it is stopped by making the @code{kill} system call on its PID@.  Code staging is achieved using G-expressions: @code{#~} stages code, while @code{#$} ``escapes'' back to host code (@pxref{G-Expressions})."
msgstr "此示例中的关键元素是@code{start}和@code{stop}字段:它们是@dfn{分阶段}的代码片段,使用Shepherd提供的@code{make-forkexec-constructor}过程及其对应的@code{make-kill-destructor}(@pxref{服务构造和解构,,, shepherd, GNU Shepherd手册})。@code{start}字段将使@command{shepherd}使用给定选项生成@command{syslogd};请注意,我们在@option{--rcfile}之后传递@code{config},这是上面声明的配置文件(此文件的内容已省略)。同样,@code{stop}字段说明如何停止此服务;在这种情况下,通过对其PID进行@code{kill}系统调用来停止它。代码分阶段是通过使用G表达式实现的:@code{#~}分阶段代码,而@code{#$}则“转义”回主机代码(@pxref{G-表达式})。"

#. type: deftp
#: guix-git/doc/guix.texi:46286
#, fuzzy, no-wrap
msgid "{Data Type} shepherd-action"
msgstr "{数据类型} shepherd-action"

#. type: deftp
#: guix-git/doc/guix.texi:46289
#, fuzzy
msgid "This is the data type that defines additional actions implemented by a Shepherd service (see above)."
msgstr "这是定义由Shepherd服务实现的附加操作的数据类型(见上文)。"

#. type: table
#: guix-git/doc/guix.texi:46293
#, fuzzy
msgid "Symbol naming the action."
msgstr "符号命名该操作。"

#. type: table
#: guix-git/doc/guix.texi:46296
#, fuzzy
msgid "This is a documentation string for the action.  It can be viewed by running:"
msgstr "这是该操作的文档字符串。可以通过运行以下命令查看:"

#. type: example
#: guix-git/doc/guix.texi:46299
#, fuzzy, no-wrap
msgid "herd doc @var{service} action @var{action}\n"
msgstr "herd doc @var{service} action @var{action}\n"

#. type: item
#: guix-git/doc/guix.texi:46301
#, fuzzy, no-wrap
msgid "procedure"
msgstr "过程"

#. type: table
#: guix-git/doc/guix.texi:46305
#, fuzzy
msgid "This should be a gexp that evaluates to a procedure of at least one argument, which is the ``running value'' of the service (@pxref{Slots of services,,, shepherd, The GNU Shepherd Manual})."
msgstr "这应该是一个 gexp,评估为至少一个参数的过程,该参数是服务的“运行值”(@pxref{Slots of services,,, shepherd, The GNU Shepherd Manual})。"

#. type: deftp
#: guix-git/doc/guix.texi:46309
#, fuzzy
msgid "The following example defines an action called @code{say-hello} that kindly greets the user:"
msgstr "以下示例定义了一个名为 @code{say-hello} 的操作,友好地向用户问好:"

#. type: lisp
#: guix-git/doc/guix.texi:46318
#, fuzzy, no-wrap
msgid ""
"(shepherd-action\n"
"  (name 'say-hello)\n"
"  (documentation \"Say hi!\")\n"
"  (procedure #~(lambda (running . args)\n"
"                 (format #t \"Hello, friend! arguments: ~s\\n\"\n"
"                         args)\n"
"                 #t)))\n"
msgstr ""
"(shepherd-action\n"
"  (name 'say-hello)\n"
"  (documentation \"打个招呼!\")\n"
"  (procedure #~(lambda (running . args)\n"
"                 (format #t \"你好,朋友! 参数: ~s\\n\"\n"
"                         args)\n"
"                 #t)))\n"

#. type: deftp
#: guix-git/doc/guix.texi:46321
#, fuzzy
msgid "Assuming this action is added to the @code{example} service, then you can do:"
msgstr "假设该操作已添加到 @code{example} 服务中,则可以执行:"

#. type: example
#: guix-git/doc/guix.texi:46327
#, fuzzy, no-wrap
msgid ""
"# herd say-hello example\n"
"Hello, friend! arguments: ()\n"
"# herd say-hello example a b c\n"
"Hello, friend! arguments: (\"a\" \"b\" \"c\")\n"
msgstr ""
"# herd say-hello example\n"
"你好,朋友! 参数: ()\n"
"# herd say-hello example a b c\n"
"你好,朋友! 参数: (\"a\" \"b\" \"c\")\n"

#. type: deftp
#: guix-git/doc/guix.texi:46332
#, fuzzy
msgid "This, as you can see, is a fairly sophisticated way to say hello.  @xref{Defining Services,,, shepherd, The GNU Shepherd Manual}, for more info on actions."
msgstr "如您所见,这是一种相当复杂的问候方式。有关操作的更多信息,请参见 @xref{Defining Services,,, shepherd, The GNU Shepherd Manual}。"

#. type: cindex
#: guix-git/doc/guix.texi:46334
#, fuzzy, no-wrap
msgid "configuration file, of Shepherd services"
msgstr "管理操作系统配置。"

#. type: deffn
#: guix-git/doc/guix.texi:46335
#, fuzzy, no-wrap
msgid "{Procedure} shepherd-configuration-action"
msgstr "{数据类型} build-machine"

#. type: deffn
#: guix-git/doc/guix.texi:46338
#, fuzzy
msgid "Return a @code{configuration} action to display @var{file}, which should be the name of the service's configuration file."
msgstr "返回一个 @code{configuration} 操作以显示 @var{file},该文件应为服务的配置文件名称。"

#. type: deffn
#: guix-git/doc/guix.texi:46342
#, fuzzy
msgid "It can be useful to equip services with that action.  For example, the service for the Tor anonymous router (@pxref{Networking Services, @code{tor-service-type}}) is defined roughly like this:"
msgstr "为服务配备该操作可能很有用。例如,Tor 匿名路由器的服务(@pxref{Networking Services, @code{tor-service-type}})大致定义如下:"

#. type: lisp
#: guix-git/doc/guix.texi:46348
#, fuzzy, no-wrap
msgid ""
"(let ((torrc (plain-file \"torrc\" @dots{})))\n"
"  (shepherd-service\n"
"    (provision '(tor))\n"
"    (requirement '(user-processes loopback syslogd))\n"
"\n"
msgstr ""
"(let ((torrc (plain-file \"torrc\" @dots{})))\n"
"  (shepherd-service\n"
"    (provision '(tor))\n"
"    (requirement '(user-processes loopback syslogd))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46355
#, fuzzy, no-wrap
msgid ""
"    (start #~(make-forkexec-constructor\n"
"              (list #$(file-append tor \"/bin/tor\") \"-f\" #$torrc)\n"
"              #:user \"tor\" #:group \"tor\"))\n"
"    (stop #~(make-kill-destructor))\n"
"    (actions (list (shepherd-configuration-action torrc)))\n"
"    (documentation \"Run the Tor anonymous network overlay.\")))\n"
msgstr ""
"    (start #~(make-forkexec-constructor\n"
"              (list #$(file-append tor \"/bin/tor\") \"-f\" #$torrc)\n"
"              #:user \"tor\" #:group \"tor\"))\n"
"    (stop #~(make-kill-destructor))\n"
"    (actions (list (shepherd-configuration-action torrc)))\n"
"    (documentation \"运行 Tor 匿名网络覆盖。\")))\n"

#. type: deffn
#: guix-git/doc/guix.texi:46359
#, fuzzy
msgid "Thanks to this action, administrators can inspect the configuration file passed to @command{tor} with this shell command:"
msgstr "多亏了这个操作,管理员可以使用以下 shell 命令检查传递给 @command{tor} 的配置文件:"

#. type: example
#: guix-git/doc/guix.texi:46362
#, no-wrap
msgid "cat $(herd configuration tor)\n"
msgstr "cat $(herd configuration tor)\n"

#. type: deffn
#: guix-git/doc/guix.texi:46365
#, fuzzy
msgid "This can come in as a handy debugging tool!"
msgstr "这可以作为一个方便的调试工具!"

#. type: defvar
#: guix-git/doc/guix.texi:46369
#, fuzzy
msgid "The service type for the Shepherd ``root service''---i.e., PID@tie{}1."
msgstr "Shepherd “根服务”的服务类型——即 PID@tie{}1。"

#. type: defvar
#: guix-git/doc/guix.texi:46374
#, fuzzy
msgid "This is the service type that extensions target when they want to create shepherd services (@pxref{Service Types and Services}, for an example).  Each extension must pass a list of @code{<shepherd-service>}.  Its value must be a @code{shepherd-configuration}, as described below."
msgstr "这是扩展在创建牧羊服务时所针对的服务类型(@pxref{服务类型和服务},例如)。每个扩展必须传递一个@code{<shepherd-service>}的列表。其值必须是一个@code{shepherd-configuration},如下所述。"

#. type: deftp
#: guix-git/doc/guix.texi:46376
#, fuzzy, no-wrap
msgid "{Data Type} shepherd-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:46378 guix-git/doc/guix.texi:48092
#, fuzzy
msgid "This data type represents the Shepherd's configuration."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:46380 guix-git/doc/guix.texi:48094
#, fuzzy, no-wrap
msgid "shepherd (default: @code{shepherd})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:46382 guix-git/doc/guix.texi:48096
#, fuzzy
msgid "The Shepherd package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:46383 guix-git/doc/guix.texi:48107
#, fuzzy, no-wrap
msgid "services (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:46387 guix-git/doc/guix.texi:48111
#, fuzzy
msgid "A list of @code{<shepherd-service>} to start.  You should probably use the service extension mechanism instead (@pxref{Shepherd Services})."
msgstr "要启动的@code{<shepherd-service>}列表。您可能应该使用服务扩展机制(@pxref{牧羊服务})。"

#. type: Plain text
#: guix-git/doc/guix.texi:46392
#, fuzzy
msgid "The following example specifies the Shepherd package for the operating system:"
msgstr "以下示例指定了操作系统的牧羊包:"

#. type: lisp
#: guix-git/doc/guix.texi:46407
#, fuzzy, no-wrap
msgid ""
"(operating-system\n"
"  ;; ...\n"
"  (services (append (list openssh-service-type))\n"
"            ;; ...\n"
"            %desktop-services)\n"
"  ;; ...\n"
"  ;; Use own Shepherd package.\n"
"  (essential-services\n"
"   (modify-services (operating-system-default-essential-services\n"
"                     this-operating-system)\n"
"     (shepherd-root-service-type config => (shepherd-configuration\n"
"                                            (inherit config)\n"
"                                            (shepherd my-shepherd))))))\n"
msgstr ""
"(operating-system\n"
"  ;; ...\n"
"  (services (append (list openssh-service-type))\n"
"            ;; ...\n"
"            %desktop-services)\n"
"  ;; ...\n"
"  ;; 使用自己的牧羊包。\n"
"  (essential-services\n"
"   (modify-services (operating-system-default-essential-services\n"
"                     this-operating-system)\n"
"     (shepherd-root-service-type config => (shepherd-configuration\n"
"                                            (inherit config)\n"
"                                            (shepherd my-shepherd))))))\n"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:46410
#, fuzzy
#| msgid "%shepherd-root-service"
msgid "shepherd-transient-timer-services"
msgstr "Shepherd服务"

#. type: cindex
#: guix-git/doc/guix.texi:46410
#, fuzzy, no-wrap
#| msgid "one-shot services, for the Shepherd"
msgid "@code{transient} service, Shepherd"
msgstr "一次性服务,供牧羊使用"

#. type: defvar
#: guix-git/doc/guix.texi:46411
#, fuzzy, no-wrap
#| msgid "shepherd-root-service-type"
msgid "shepherd-transient-service-type"
msgstr "shepherd-root-service-type"

#. type: defvar
#: guix-git/doc/guix.texi:46415
msgid "This service type represents the Shepherd's @code{transient} service, which lets you spawn commands in the background and interact with them as regular Shepherd service; it is similar to @command{systemd-run}."
msgstr ""

#. type: defvar
#: guix-git/doc/guix.texi:46419
#, fuzzy
#| msgid "For example, the command below opens your editor, as specified by the @env{EDITOR} environment variable, on the definition of the @code{openssh} service type:"
msgid "For example, the command below spawns @command{rsync} in the background, in an environment where the @env{SSH_AUTH_SOCK} environment variable has the given value:"
msgstr "例如,下面的命令会打开您的编辑器,具体由 @env{EDITOR} 环境变量指定,针对 @code{openssh} 服务类型的定义:"

#. type: example
#: guix-git/doc/guix.texi:46423
#, no-wrap
msgid ""
"herd spawn transient -E SSH_AUTH_SOCK=$SSH_AUTH_SOCK -- \\\n"
"  rsync -e ssh -vur . backup.example.org:\n"
msgstr ""

#. type: defvar
#: guix-git/doc/guix.texi:46427
msgid "@xref{Transient Service Maker,,, shepherd, The GNU Shepherd Manual}, for more info on the @code{transient} service."
msgstr ""

#. type: cindex
#: guix-git/doc/guix.texi:46429
#, fuzzy, no-wrap
#| msgid "one-shot services, for the Shepherd"
msgid "@code{timer} service, Shepherd"
msgstr "一次性服务,供牧羊使用"

#. type: defvar
#: guix-git/doc/guix.texi:46430
#, fuzzy, no-wrap
#| msgid "shepherd-root-service-type"
msgid "shepherd-timer-service-type"
msgstr "shepherd-root-service-type"

#. type: defvar
#: guix-git/doc/guix.texi:46434
msgid "This is the service type representing the Shepherd's @code{timer} service, which lets you schedule the execution of commands, similar to the venerable @command{at} command.  Here is an example:"
msgstr ""

#. type: example
#: guix-git/doc/guix.texi:46437
#, no-wrap
msgid "herd schedule timer at 07:00 -- mpg123 Music/alarm.mp3\n"
msgstr ""

#. type: defvar
#: guix-git/doc/guix.texi:46441
#, fuzzy
#| msgid "This, as you can see, is a fairly sophisticated way to say hello.  @xref{Defining Services,,, shepherd, The GNU Shepherd Manual}, for more info on actions."
msgid "@xref{Timer Service,,, shepherd, The GNU Shepherd Manual}, for more info on the @code{timer} service."
msgstr "如您所见,这是一种相当复杂的问候方式。有关操作的更多信息,请参见 @xref{Defining Services,,, shepherd, The GNU Shepherd Manual}。"

#. type: cindex
#: guix-git/doc/guix.texi:46443
#, fuzzy, no-wrap
msgid "system log service, from Shepherd"
msgstr "Shepherd服务"

#. type: cindex
#: guix-git/doc/guix.texi:46444
#, fuzzy, no-wrap
msgid "syslogd, Shepherd system log service"
msgstr "shepherd 服务"

#. type: defvar
#: guix-git/doc/guix.texi:46445
#, fuzzy, no-wrap
#| msgid "shepherd-root-service-type"
msgid "shepherd-system-log-service-type"
msgstr "shepherd-root-service-type"

#. type: defvar
#: guix-git/doc/guix.texi:46450
msgid "This service implements a @dfn{system log}, reading messages applications send to @file{/dev/log} and writing them to files or terminals according to user-defined rules.  It provides functionality traditionally implemented by @command{syslogd} programs."
msgstr ""

#. type: defvar
#: guix-git/doc/guix.texi:46453
#, fuzzy
msgid "The value of services of this type must be a @code{system-log-configuration} record, as described below."
msgstr "该服务的值是一个@code{ntpd-configuration}对象,如下所述。"

#. type: deftp
#: guix-git/doc/guix.texi:46457
#, fuzzy, no-wrap
msgid "{Data Type} system-log-configuration"
msgstr "{数据类型} syslog-configuration"

#. type: deftp
#: guix-git/doc/guix.texi:46459
#, fuzzy
msgid "Available @code{system-log-configuration} fields are:"
msgstr "可用的 @code{ssl-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:46461
#, fuzzy, no-wrap
msgid "@code{provision} (default: @code{(system-log syslogd)}) (type: list-of-symbols)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:46463
#, fuzzy
msgid "The name(s) of the system log service."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:46464
#, fuzzy, no-wrap
msgid "@code{requirement} (default: @code{(root-file-system)}) (type: list-of-symbols)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:46466
#, fuzzy
msgid "Dependencies of the system log service."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:46467
#, fuzzy, no-wrap
msgid "@code{kernel-log-file} (type: gexp-or-string-or-false)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:46469
msgid "File from which kernel messages are read, @file{/dev/kmsg} by default."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:46470
#, fuzzy, no-wrap
msgid "@code{message-destination} (default: @code{#f}) (type: gexp-or-false)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:46476
msgid "This gexp must evaluate to a procedure that, when passed a log message, returns the list of files to write it to; @code{#f} is equivalent to using @code{(default-message-destination-procedure)}.  @xref{System Log Service,,,shepherd,The GNU Shepherd Manual}, for information on how to write that procedure."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:46477
#, fuzzy, no-wrap
msgid "@code{date-format} (type: gexp-or-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:46483
msgid "String or string-valued gexp specifying how to format timestamps in log file.  It must be a valid string for @code{strftime} (@pxref{Time,,, guile,GNU Guile Reference Manual}), including delimiting space---e.g., @code{\"%c \"} for a format identical to that of traditional syslogd implementations."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:46484
#, fuzzy, no-wrap
msgid "@code{history-size} (type: gexp-or-integer)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:46487
msgid "Number of logging messages kept in memory for the purposes of making them available to @command{herd status system-log}."
msgstr ""

#. type: item
#: guix-git/doc/guix.texi:46488
#, fuzzy, no-wrap
msgid "@code{max-silent-time} (type: gexp-or-integer)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:46491
msgid "Time after which a mark is written to log files if nothing was logged during that time frame."
msgstr ""

#. type: defvar
#: guix-git/doc/guix.texi:46499
#, fuzzy, no-wrap
msgid "%shepherd-root-service"
msgstr "Shepherd服务"

#. type: defvar
#: guix-git/doc/guix.texi:46501
#, fuzzy
msgid "This service represents PID@tie{}1."
msgstr "该服务表示PID@tie{}1。"

#. type: cindex
#: guix-git/doc/guix.texi:46505
#, fuzzy, no-wrap
msgid "complex configurations"
msgstr "系统配置"

#. type: Plain text
#: guix-git/doc/guix.texi:46510
#, fuzzy
msgid "Some programs might have rather complex configuration files or formats, and to make it easier to create Scheme bindings for these configuration files, you can use the utilities defined in the @code{(gnu services configuration)} module."
msgstr "一些程序可能具有相当复杂的配置文件或格式,为了更容易为这些配置文件创建Scheme绑定,您可以使用@code{(gnu services configuration)}模块中定义的工具。"

#. type: Plain text
#: guix-git/doc/guix.texi:46517
#, fuzzy
msgid "The main utility is the @code{define-configuration} macro, a helper used to define a Scheme record type (@pxref{Record Overview,,, guile, GNU Guile Reference Manual}).  The fields from this Scheme record can be serialized using @dfn{serializers}, which are procedures that take some kind of Scheme value and translates them into another Scheme value or @ref{G-Expressions}."
msgstr "主要工具是@code{define-configuration}宏,这是一个用于定义Scheme记录类型的助手(@pxref{记录概述,,, guile, GNU Guile参考手册})。可以使用@dfn{序列化器}序列化此Scheme记录中的字段,序列化器是将某种Scheme值转换为另一种Scheme值或@ref{G-表达式}的过程。"

#. type: defmac
#: guix-git/doc/guix.texi:46518
#, fuzzy, no-wrap
msgid "define-configuration name clause1 clause2 @dots{}"
msgstr "define-configuration name clause1 clause2 @dots{}"

#. type: defmac
#: guix-git/doc/guix.texi:46521
#, fuzzy
msgid "Create a record type named @code{@var{name}} that contains the fields found in the clauses."
msgstr "创建一个名为@code{@var{name}}的记录类型,其中包含在条款中找到的字段。"

#. type: defmac
#: guix-git/doc/guix.texi:46523
#, fuzzy
msgid "A clause has the following form:"
msgstr "目前这些平台提供软件包:"

#. type: example
#: guix-git/doc/guix.texi:46530
#, fuzzy, no-wrap
msgid ""
"(@var{field-name}\n"
" @var{type-decl}\n"
" @var{documentation}\n"
" @var{option*}\n"
" @dots{})\n"
msgstr ""
"(@var{field-name}\n"
" @var{type-decl}\n"
" @var{documentation}\n"
" @var{option*}\n"
" @dots{})\n"

#. type: defmac
#: guix-git/doc/guix.texi:46534
#, fuzzy
msgid "@var{field-name} is an identifier that denotes the name of the field in the generated record."
msgstr "@var{field-name}是一个标识符,表示生成记录中字段的名称。"

#. type: defmac
#: guix-git/doc/guix.texi:46537
#, fuzzy
msgid "@var{type-decl} is either @code{@var{type}} for fields that require a value to be set or @code{(@var{type} @var{default-value})} otherwise."
msgstr "@var{type-decl}是@code{@var{type}},用于需要设置值的字段,或者@code{(@var{type} @var{default-value})},否则。"

#. type: defmac
#: guix-git/doc/guix.texi:46545
#, fuzzy
msgid "@var{type} is the type of the value corresponding to @var{field-name}; since Guile is untyped, a predicate procedure---@code{@var{type}?}---will be called on the value corresponding to the field to ensure that the value is of the correct type.  This means that if say, @var{type} is @code{package}, then a procedure named @code{package?} will be applied on the value to make sure that it is indeed a @code{<package>} object."
msgstr "@var{type} 是与 @var{field-name} 对应的值的类型;由于 Guile 是无类型的,将对与该字段对应的值调用一个谓词过程——@code{@var{type}?}——以确保该值是正确的类型。这意味着,如果说 @var{type} 是 @code{package},那么将对该值应用一个名为 @code{package?} 的过程,以确保它确实是一个 @code{<package>} 对象。"

#. type: defmac
#: guix-git/doc/guix.texi:46549
#, fuzzy
msgid "@var{default-value} is the default value corresponding to the field; if none is specified, the user is forced to provide a value when creating an object of the record type."
msgstr "@var{default-value} 是与该字段对应的默认值;如果未指定,则用户在创建记录类型的对象时被迫提供一个值。"

#. type: defmac
#: guix-git/doc/guix.texi:46554
#, fuzzy
msgid "@var{documentation} is a string formatted with Texinfo syntax which should provide a description of what setting this field does."
msgstr "@var{documentation} 是一个使用 Texinfo 语法格式化的字符串,应该提供关于设置此字段所做内容的描述。"

#. type: defmac
#: guix-git/doc/guix.texi:46556
#, fuzzy
msgid "@var{option*} is one of the following subclauses:"
msgstr "目前这些平台提供软件包:"

#. type: code{#1}
#: guix-git/doc/guix.texi:46558
#, fuzzy, no-wrap
msgid "empty-serializer"
msgstr "空序列化器"

#. type: table
#: guix-git/doc/guix.texi:46560
#, fuzzy
msgid "Exclude this field from serialization."
msgstr "从序列化中排除此字段。"

#. type: code{#1}
#: guix-git/doc/guix.texi:46561
#, fuzzy, no-wrap
msgid "(serializer @var{serializer})"
msgstr "--log-compression=@var{type}"

#. type: table
#: guix-git/doc/guix.texi:46568
#, fuzzy
msgid "@var{serializer} is the name of a procedure which takes two arguments, the first is the name of the field, and the second is the value corresponding to the field.  The procedure should return a string or @ref{G-Expressions} that represents the content that will be serialized to the configuration file.  If none is specified, a procedure of the name @code{serialize-@var{type}} will be used."
msgstr "@var{serializer} 是一个过程的名称,该过程接受两个参数,第一个是字段的名称,第二个是与该字段对应的值。该过程应返回一个字符串或 @ref{G-Expressions},表示将序列化到配置文件的内容。如果未指定,则将使用名为 @code{serialize-@var{type}} 的过程。"

#. type: table
#: guix-git/doc/guix.texi:46570
#, fuzzy
msgid "An example of a simple serializer procedure:"
msgstr "一个简单序列化器过程的示例:"

#. type: lisp
#: guix-git/doc/guix.texi:46574
#, fuzzy, no-wrap
msgid ""
"(define (serialize-boolean field-name value)\n"
"  (let ((value (if value \"true\" \"false\")))\n"
"    #~(string-append '#$field-name \" = \" #$value)))\n"
msgstr ""
"(define (serialize-boolean field-name value)\n"
"  (let ((value (if value \"true\" \"false\")))\n"
"    #~(string-append '#$field-name \" = \" #$value)))\n"

#. type: code{#1}
#: guix-git/doc/guix.texi:46576
#, fuzzy, no-wrap
msgid "(sanitizer @var{sanitizer})"
msgstr "(sanitizer @var{sanitizer})"

#. type: table
#: guix-git/doc/guix.texi:46581
#, fuzzy
msgid "@var{sanitizer} is a procedure which takes one argument, a user-supplied value, and returns a ``sanitized'' value for the field.  If no sanitizer is specified, a default sanitizer is used, which raises an error if the value is not of type @var{type}."
msgstr "@var{sanitizer} 是一个过程,接受一个参数,即用户提供的值,并返回该字段的“清理”值。如果未指定清理器,则使用默认清理器,如果值不是 @var{type} 类型,则会引发错误。"

#. type: table
#: guix-git/doc/guix.texi:46584
#, fuzzy
msgid "An example of a sanitizer for a field that accepts both strings and symbols looks like this:"
msgstr "一个接受字符串和符号的字段的清理器示例如下:"

#. type: lisp
#: guix-git/doc/guix.texi:46589
#, fuzzy, no-wrap
msgid ""
"(define (sanitize-foo value)\n"
"  (cond ((string? value) value)\n"
"        ((symbol? value) (symbol->string value))\n"
"        (else (error \"bad value\"))))\n"
msgstr ""
"(define (sanitize-foo value)\n"
"  (cond ((string? value) value)\n"
"        ((symbol? value) (symbol->string value))\n"
"        (else (error \"bad value\"))))\n"

#. type: defmac
#: guix-git/doc/guix.texi:46601
#, fuzzy
msgid "In some cases multiple different configuration records might be defined in the same file, but their serializers for the same type might have to be different, because they have different configuration formats.  For example, the @code{serialize-boolean} procedure for the Getmail service would have to be different from the one for the Transmission service.  To make it easier to deal with this situation, one can specify a serializer prefix by using the @code{prefix} literal in the @code{define-configuration} form.  This means that one doesn't have to manually specify a custom @var{serializer} for every field."
msgstr "在某些情况下,可能在同一文件中定义多个不同的配置记录,但它们的序列化器对于相同类型可能必须不同,因为它们具有不同的配置格式。例如,Getmail 服务的 @code{serialize-boolean} 过程必须与 Transmission 服务的不同。为了更容易处理这种情况,可以通过在 @code{define-configuration} 形式中使用 @code{prefix} 字面量来指定序列化器前缀。这意味着不必为每个字段手动指定自定义 @var{serializer}。"

#. type: lisp
#: guix-git/doc/guix.texi:46605
#, fuzzy, no-wrap
msgid ""
"(define (foo-serialize-string field-name value)\n"
"  @dots{})\n"
"\n"
msgstr ""
"(define (foo-serialize-string field-name value)\n"
"  @dots{})\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46608
#, fuzzy, no-wrap
msgid ""
"(define (bar-serialize-string field-name value)\n"
"  @dots{})\n"
"\n"
msgstr ""
"(define (bar-serialize-string field-name value)\n"
"  @dots{})\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46614
#, fuzzy, no-wrap
msgid ""
"(define-configuration foo-configuration\n"
"  (label\n"
"   string\n"
"   \"The name of label.\")\n"
"  (prefix foo-))\n"
"\n"
msgstr ""
"(define-configuration foo-configuration\n"
"  (label\n"
"   string\n"
"   \"标签的名称。\")\n"
"  (prefix foo-))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46620
#, fuzzy, no-wrap
msgid ""
"(define-configuration bar-configuration\n"
"  (ip-address\n"
"   string\n"
"   \"The IPv4 address for this device.\")\n"
"  (prefix bar-))\n"
msgstr ""
"(define-configuration bar-configuration\n"
"  (ip-address\n"
"   string\n"
"   \"此设备的IPv4地址。\")\n"
"  (prefix bar-))\n"

#. type: defmac
#: guix-git/doc/guix.texi:46626
#, fuzzy
msgid "However, in some cases you might not want to serialize any of the values of the record, to do this, you can use the @code{no-serialization} literal.  There is also the @code{define-configuration/no-serialization} macro which is a shorthand of this."
msgstr "然而,在某些情况下,您可能不想序列化记录的任何值,要做到这一点,您可以使用@code{no-serialization}字面量。还有@code{define-configuration/no-serialization}宏,它是此的简写。"

#. type: lisp
#: guix-git/doc/guix.texi:46634
#, fuzzy, no-wrap
msgid ""
";; Nothing will be serialized to disk.\n"
"(define-configuration foo-configuration\n"
"  (field\n"
"   (string \"test\")\n"
"   \"Some documentation.\")\n"
"  (no-serialization))\n"
"\n"
msgstr ""
";; 不会有任何内容被序列化到磁盘。\n"
"(define-configuration foo-configuration\n"
"  (field\n"
"   (string \"test\")\n"
"   \"一些文档。\")\n"
"  (no-serialization))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46640
#, fuzzy, no-wrap
msgid ""
";; The same thing as above.\n"
"(define-configuration/no-serialization bar-configuration\n"
"  (field\n"
"   (string \"test\")\n"
"   \"Some documentation.\"))\n"
msgstr ""
";; 与上面相同。\n"
"(define-configuration/no-serialization bar-configuration\n"
"  (field\n"
"   (string \"test\")\n"
"   \"一些文档。\"))\n"

#. type: defmac
#: guix-git/doc/guix.texi:46643
#, fuzzy, no-wrap
msgid "define-maybe type"
msgstr "{数据类型} build-machine"

#. type: defmac
#: guix-git/doc/guix.texi:46648
#, fuzzy
msgid "Sometimes a field should not be serialized if the user doesn’t specify a value.  To achieve this, you can use the @code{define-maybe} macro to define a ``maybe type''; if the value of a maybe type is left unset, or is set to the @code{%unset-value} value, then it will not be serialized."
msgstr "有时,如果用户没有指定值,则字段不应被序列化。要实现这一点,您可以使用@code{define-maybe}宏来定义一个“可能类型”;如果可能类型的值未设置,或设置为@code{%unset-value}值,则不会被序列化。"

#. type: defmac
#: guix-git/doc/guix.texi:46655
#, fuzzy
msgid "When defining a ``maybe type'', the corresponding serializer for the regular type will be used by default.  For example, a field of type @code{maybe-string} will be serialized using the @code{serialize-string} procedure by default, you can of course change this by specifying a custom serializer procedure.  Likewise, the type of the value would have to be a string, or left unspecified."
msgstr "在定义“可能类型”时,常规类型的相应序列化器将默认使用。例如,类型为@code{maybe-string}的字段将默认使用@code{serialize-string}过程进行序列化,您当然可以通过指定自定义序列化器过程来更改此行为。同样,值的类型必须是字符串,或未指定。"

#. type: lisp
#: guix-git/doc/guix.texi:46658
#, fuzzy, no-wrap
msgid ""
"(define-maybe string)\n"
"\n"
msgstr ""
"(define-maybe string)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46661
#, fuzzy, no-wrap
msgid ""
"(define (serialize-string field-name value)\n"
"  @dots{})\n"
"\n"
msgstr ""
"(define (serialize-string field-name value)\n"
"  @dots{})\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46668
#, fuzzy, no-wrap
msgid ""
"(define-configuration baz-configuration\n"
"  (name\n"
"   ;; If set to a string, the `serialize-string' procedure will be used\n"
"   ;; to serialize the string.  Otherwise this field is not serialized.\n"
"   maybe-string\n"
"   \"The name of this module.\"))\n"
msgstr ""
"(define-configuration baz-configuration\n"
"  (name\n"
"   ;; 如果设置为字符串,将使用`serialize-string'过程\n"
"   ;; 来序列化字符串。否则此字段不会被序列化。\n"
"   maybe-string\n"
"   \"此模块的名称。\"))\n"

#. type: defmac
#: guix-git/doc/guix.texi:46672
#, fuzzy
msgid "Like with @code{define-configuration}, one can set a prefix for the serializer name by using the @code{prefix} literal."
msgstr "与@code{define-configuration}一样,可以通过使用@code{prefix}字面量为序列化器名称设置前缀。"

#. type: lisp
#: guix-git/doc/guix.texi:46676
#, fuzzy, no-wrap
msgid ""
"(define-maybe integer\n"
"  (prefix baz-))\n"
"\n"
msgstr ""
"(define-maybe integer\n"
"  (prefix baz-))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46679
#, fuzzy, no-wrap
msgid ""
"(define (baz-serialize-integer field-name value)\n"
"  @dots{})\n"
msgstr ""
"(define (baz-serialize-integer 字段名称 值)\n"
"  @dots{})\n"

#. type: defmac
#: guix-git/doc/guix.texi:46686
#, fuzzy
msgid "There is also the @code{no-serialization} literal, which when set means that no serializer will be defined for the ``maybe type'', regardless of whether its value is set or not.  @code{define-maybe/no-serialization} is a shorthand for specifying the @code{no-serialization} literal."
msgstr "还有 @code{no-serialization} 字面量,当设置时意味着不会为“maybe 类型”定义序列化器,无论其值是否设置。 @code{define-maybe/no-serialization} 是指定 @code{no-serialization} 字面量的简写。"

#. type: lisp
#: guix-git/doc/guix.texi:46689
#, fuzzy, no-wrap
msgid ""
"(define-maybe/no-serialization symbol)\n"
"\n"
msgstr ""
"(define-maybe/no-serialization 符号)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46694
#, fuzzy, no-wrap
msgid ""
"(define-configuration/no-serialization test-configuration\n"
"  (mode\n"
"   maybe-symbol\n"
"   \"Docstring.\"))\n"
msgstr ""
"(define-configuration/no-serialization 测试配置\n"
"  (模式\n"
"   maybe-symbol\n"
"   \"文档字符串。\"))\n"

#. type: deffn
#: guix-git/doc/guix.texi:46697
#, fuzzy, no-wrap
msgid "{Procedure} maybe-value-set? value"
msgstr "{过程} maybe-value-set? 值"

#. type: deffn
#: guix-git/doc/guix.texi:46700
#, fuzzy
msgid "Predicate to check whether a user explicitly specified the value of a maybe field."
msgstr "谓词检查用户是否明确指定了 maybe 字段的值。"

#. type: deffn
#: guix-git/doc/guix.texi:46702
#, fuzzy, no-wrap
msgid "{Procedure} serialize-configuration configuration fields"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: deffn
#: guix-git/doc/guix.texi:46707
#, fuzzy
msgid "Return a G-expression that contains the values corresponding to the @var{fields} of @var{configuration}, a record that has been generated by @code{define-configuration}.  The G-expression can then be serialized to disk by using something like @code{mixed-text-file}."
msgstr "返回一个 G 表达式,该表达式包含与 @var{configuration} 的 @var{fields} 对应的值,@var{configuration} 是由 @code{define-configuration} 生成的记录。然后可以使用类似 @code{mixed-text-file} 的方法将 G 表达式序列化到磁盘。"

#. type: Plain text
#: guix-git/doc/guix.texi:46712
#, fuzzy
msgid "Once you have defined a configuration record, you will most likely also want to document it so that other people know to use it.  To help with that, there are two procedures, both of which are documented below."
msgstr "一旦定义了配置记录,您很可能还想记录它,以便其他人知道如何使用它。为此,有两个过程,下面都有文档说明。"

#. type: deffn
#: guix-git/doc/guix.texi:46713
#, fuzzy, no-wrap
msgid "{Procedure} generate-documentation documentation documentation-name"
msgstr "{过程} generate-documentation 文档 文档名称"

#. type: deffn
#: guix-git/doc/guix.texi:46719
#, fuzzy
msgid "Generate a Texinfo fragment from the docstrings in @var{documentation}, a list of @code{(@var{label} @var{fields} @var{sub-documentation} ...)}.  @var{label} should be a symbol and should be the name of the configuration record.  @var{fields} should be a list of all the fields available for the configuration record."
msgstr "从 @var{documentation} 中的文档字符串生成一个 Texinfo 片段,@var{documentation} 是一个 @code{(@var{label} @var{fields} @var{sub-documentation} ...)} 的列表。 @var{label} 应该是一个符号,并且应该是配置记录的名称。 @var{fields} 应该是配置记录可用的所有字段的列表。"

#. type: deffn
#: guix-git/doc/guix.texi:46726
#, fuzzy
msgid "@var{sub-documentation} is a @code{(@var{field-name} @var{configuration-name})} tuple.  @var{field-name} is the name of the field which takes another configuration record as its value, and @var{configuration-name} is the name of that configuration record.  The same value may be used for multiple @var{field-name}s, in case a field accepts different types of configurations."
msgstr "@var{sub-documentation} 是一个 @code{(@var{field-name} @var{configuration-name})} 元组。 @var{field-name} 是字段的名称,该字段将另一个配置记录作为其值,@var{configuration-name} 是该配置记录的名称。相同的值可以用于多个 @var{field-name},以防某个字段接受不同类型的配置。"

#. type: deffn
#: guix-git/doc/guix.texi:46733
#, fuzzy
msgid "@var{sub-documentation} is only needed if there are nested configuration records.  For example, the @code{getmail-configuration} record (@pxref{Mail Services}) accepts a @code{getmail-configuration-file} record in one of its @code{rcfile} field, therefore documentation for @code{getmail-configuration-file} is nested in @code{getmail-configuration}."
msgstr "@var{sub-documentation} 仅在存在嵌套配置记录时需要。例如,@code{getmail-configuration} 记录 (@pxref{Mail Services}) 在其 @code{rcfile} 字段之一中接受 @code{getmail-configuration-file} 记录,因此 @code{getmail-configuration-file} 的文档嵌套在 @code{getmail-configuration} 中。"

#. type: lisp
#: guix-git/doc/guix.texi:46740
#, fuzzy, no-wrap
msgid ""
"(generate-documentation\n"
"  `((getmail-configuration ,getmail-configuration-fields\n"
"     (rcfile getmail-configuration-file))\n"
"    @dots{})\n"
"  'getmail-configuration)\n"
msgstr ""
"(生成文档\n"
"  `((获取邮件配置 ,getmail-configuration-fields\n"
"     (rcfile getmail-configuration-file))\n"
"    @dots{})\n"
"  '获取邮件配置)\n"

#. type: deffn
#: guix-git/doc/guix.texi:46744
#, fuzzy
msgid "@var{documentation-name} should be a symbol and should be the name of the configuration record."
msgstr "@var{documentation-name} 应该是一个符号,并且应该是配置记录的名称。"

#. type: deffn
#: guix-git/doc/guix.texi:46747
#, fuzzy, no-wrap
msgid "{Procedure} configuration->documentation configuration-symbol"
msgstr "{过程} configuration->documentation configuration-symbol"

#. type: deffn
#: guix-git/doc/guix.texi:46753
#, fuzzy
msgid "Take @var{configuration-symbol}, the symbol corresponding to the name used when defining a configuration record with @code{define-configuration}, and print the Texinfo documentation of its fields.  This is useful if there aren’t any nested configuration records since it only prints the documentation for the top-level fields."
msgstr "获取 @var{configuration-symbol},这是在使用 @code{define-configuration} 定义配置记录时使用的名称对应的符号,并打印其字段的 Texinfo 文档。如果没有嵌套的配置记录,这将很有用,因为它只打印顶层字段的文档。"

#. type: Plain text
#: guix-git/doc/guix.texi:46761
#, fuzzy
msgid "As of right now, there is no automated way to generate documentation for configuration records and put them in the manual.  Instead, every time you make a change to the docstrings of a configuration record, you have to manually call @code{generate-documentation} or @code{configuration->documentation}, and paste the output into the @file{doc/guix.texi} file."
msgstr "截至目前,没有自动生成配置记录文档并将其放入手册的方法。相反,每次您更改配置记录的文档字符串时,您必须手动调用 @code{generate-documentation} 或 @code{configuration->documentation},并将输出粘贴到 @file{doc/guix.texi} 文件中。"

#. type: Plain text
#: guix-git/doc/guix.texi:46765
#, fuzzy
msgid "Below is an example of a record type created using @code{define-configuration} and friends."
msgstr "下面是使用 @code{define-configuration} 和相关函数创建的记录类型的示例。"

#. type: lisp
#: guix-git/doc/guix.texi:46772
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu services)\n"
"             (guix gexp)\n"
"             (gnu services configuration)\n"
"             (srfi srfi-26)\n"
"             (srfi srfi-1))\n"
"\n"
msgstr ""
"(使用模块 (gnu services)\n"
"             (guix gexp)\n"
"             (gnu services configuration)\n"
"             (srfi srfi-26)\n"
"             (srfi srfi-1))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46780
#, fuzzy, no-wrap
msgid ""
";; Turn field names, which are Scheme symbols into strings\n"
"(define (uglify-field-name field-name)\n"
"  (let ((str (symbol->string field-name)))\n"
"    ;; field? -> is-field\n"
"    (if (string-suffix? \"?\" str)\n"
"        (string-append \"is-\" (string-drop-right str 1))\n"
"        str)))\n"
"\n"
msgstr ""
";; 将字段名称(Scheme 符号)转换为字符串\n"
"(定义 (uglify-field-name field-name)\n"
"  (让 ((str (symbol->string field-name)))\n"
"    ;; 字段? -> is-field\n"
"    (如果 (string-suffix? \"?\" str)\n"
"        (string-append \"is-\" (string-drop-right str 1))\n"
"        str)))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46783
#, fuzzy, no-wrap
msgid ""
"(define (serialize-string field-name value)\n"
"  #~(string-append #$(uglify-field-name field-name) \" = \" #$value \"\\n\"))\n"
"\n"
msgstr ""
"(定义 (serialize-string field-name value)\n"
"  #~(string-append #$(uglify-field-name field-name) \" = \" #$value \"\\n\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46786
#, fuzzy, no-wrap
msgid ""
"(define (serialize-integer field-name value)\n"
"  (serialize-string field-name (number->string value)))\n"
"\n"
msgstr ""
"(定义 (serialize-integer field-name value)\n"
"  (serialize-string field-name (number->string value)))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46789
#, fuzzy, no-wrap
msgid ""
"(define (serialize-boolean field-name value)\n"
"  (serialize-string field-name (if value \"true\" \"false\")))\n"
"\n"
msgstr ""
"(定义 (serialize-boolean field-name value)\n"
"  (serialize-string field-name (如果 value \"true\" \"false\")))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46792
#, fuzzy, no-wrap
msgid ""
"(define (serialize-contact-name field-name value)\n"
"  #~(string-append \"\\n[\" #$value \"]\\n\"))\n"
"\n"
msgstr ""
"(定义 (serialize-contact-name field-name value)\n"
"  #~(string-append \"\\n[\" #$value \"]\\n\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46795
#, fuzzy, no-wrap
msgid ""
"(define (list-of-contact-configurations? lst)\n"
"  (every contact-configuration? lst))\n"
"\n"
msgstr ""
"(定义 (list-of-contact-configurations? lst)\n"
"  (每个 contact-configuration? lst))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46800
#, fuzzy, no-wrap
msgid ""
"(define (serialize-list-of-contact-configurations field-name value)\n"
"  #~(string-append #$@@(map (cut serialize-configuration <>\n"
"                                contact-configuration-fields)\n"
"                           value)))\n"
"\n"
msgstr ""
"(define (serialize-list-of-contact-configurations field-name value)\n"
"  #~(string-append #$@@(map (cut serialize-configuration <>\n"
"                                contact-configuration-fields)\n"
"                           value)))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46807
#, fuzzy, no-wrap
msgid ""
"(define (serialize-contacts-list-configuration configuration)\n"
"  (mixed-text-file\n"
"   \"contactrc\"\n"
"   #~(string-append \"[Owner]\\n\"\n"
"                    #$(serialize-configuration\n"
"                       configuration contacts-list-configuration-fields))))\n"
"\n"
msgstr ""
"(define (serialize-contacts-list-configuration configuration)\n"
"  (mixed-text-file\n"
"   \"contactrc\"\n"
"   #~(string-append \"[Owner]\\n\"\n"
"                    #$(serialize-configuration\n"
"                       configuration contacts-list-configuration-fields))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46810
#, fuzzy, no-wrap
msgid ""
"(define-maybe integer)\n"
"(define-maybe string)\n"
"\n"
msgstr ""
"(define-maybe integer)\n"
"(define-maybe string)\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46825
#, fuzzy, no-wrap
msgid ""
"(define-configuration contact-configuration\n"
"  (name\n"
"   string\n"
"   \"The name of the contact.\"\n"
"   serialize-contact-name)\n"
"  (phone-number\n"
"   maybe-integer\n"
"   \"The person's phone number.\")\n"
"  (email\n"
"   maybe-string\n"
"   \"The person's email address.\")\n"
"  (married?\n"
"   boolean\n"
"   \"Whether the person is married.\"))\n"
"\n"
msgstr ""
"(define-configuration contact-configuration\n"
"  (name\n"
"   string\n"
"   \"联系人的姓名。\"\n"
"   serialize-contact-name)\n"
"  (phone-number\n"
"   maybe-integer\n"
"   \"联系人的电话号码。\")\n"
"  (email\n"
"   maybe-string\n"
"   \"联系人的电子邮件地址。\")\n"
"  (married?\n"
"   boolean\n"
"   \"此人是否已婚。\"))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:46837
#, fuzzy, no-wrap
msgid ""
"(define-configuration contacts-list-configuration\n"
"  (name\n"
"   string\n"
"   \"The name of the owner of this contact list.\")\n"
"  (email\n"
"   string\n"
"   \"The owner's email address.\")\n"
"  (contacts\n"
"   (list-of-contact-configurations '())\n"
"   \"A list of @@code@{contact-configuration@} records which contain\n"
"information about all your contacts.\"))\n"
msgstr ""
"(define-configuration contacts-list-configuration\n"
"  (name\n"
"   string\n"
"   \"此联系人列表所有者的姓名。\")\n"
"  (email\n"
"   string\n"
"   \"所有者的电子邮件地址。\")\n"
"  (contacts\n"
"   (list-of-contact-configurations '())\n"
"   \"包含所有联系人信息的 @@code@{contact-configuration@} 记录的列表。\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:46840
#, fuzzy
msgid "A contacts list configuration could then be created like this:"
msgstr "联系人列表配置可以这样创建:"

#. type: lisp
#: guix-git/doc/guix.texi:46856
#, fuzzy, no-wrap
msgid ""
"(define my-contacts\n"
"  (contacts-list-configuration\n"
"   (name \"Alice\")\n"
"   (email \"alice@@example.org\")\n"
"   (contacts\n"
"    (list (contact-configuration\n"
"           (name \"Bob\")\n"
"           (phone-number 1234)\n"
"           (email \"bob@@gnu.org\")\n"
"           (married? #f))\n"
"          (contact-configuration\n"
"           (name \"Charlie\")\n"
"           (phone-number 0000)\n"
"           (married? #t))))))\n"
msgstr ""
"(define my-contacts\n"
"  (contacts-list-configuration\n"
"   (name \"Alice\")\n"
"   (email \"alice@@example.org\")\n"
"   (contacts\n"
"    (list (contact-configuration\n"
"           (name \"Bob\")\n"
"           (phone-number 1234)\n"
"           (email \"bob@@gnu.org\")\n"
"           (married? #f))\n"
"          (contact-configuration\n"
"           (name \"Charlie\")\n"
"           (phone-number 0000)\n"
"           (married? #t))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:46860
#, fuzzy
msgid "After serializing the configuration to disk, the resulting file would look like this:"
msgstr "在将配置序列化到磁盘后,生成的文件将如下所示:"

#. type: example
#: guix-git/doc/guix.texi:46865
#, fuzzy, no-wrap
msgid ""
"[owner]\n"
"name = Alice\n"
"email = alice@@example.org\n"
"\n"
msgstr ""
"[owner]\n"
"name = Alice\n"
"email = alice@@example.org\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:46870
#, fuzzy, no-wrap
msgid ""
"[Bob]\n"
"phone-number = 1234\n"
"email = bob@@gnu.org\n"
"is-married = false\n"
"\n"
msgstr ""
"[Bob]\n"
"phone-number = 1234\n"
"email = bob@@gnu.org\n"
"is-married = false\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:46874
#, fuzzy, no-wrap
msgid ""
"[Charlie]\n"
"phone-number = 0\n"
"is-married = true\n"
msgstr ""
"[Charlie]\n"
"phone-number = 0\n"
"is-married = true\n"

#. type: cindex
#: guix-git/doc/guix.texi:46878
#, fuzzy, no-wrap
msgid "troubleshooting, Guix System"
msgstr "故障排除,Guix 系统"

#. type: cindex
#: guix-git/doc/guix.texi:46879
#, fuzzy, no-wrap
msgid "guix system troubleshooting"
msgstr "guix system describe"

#. type: Plain text
#: guix-git/doc/guix.texi:46891
#, fuzzy
msgid "Guix System allows rebooting into a previous generation should the last one be malfunctioning, which makes it quite robust against being broken irreversibly.  This feature depends on GRUB being correctly functioning though, which means that if for whatever reasons your GRUB installation becomes corrupted during a system reconfiguration, you may not be able to easily boot into a previous generation.  A technique that can be used in this case is to @i{chroot} into your broken system and reconfigure it from there.  Such technique is explained below."
msgstr "Guix 系统允许在最后一个版本出现故障时重启到先前的版本,这使其在防止不可逆损坏方面相当强大。然而,此功能依赖于 GRUB 正常工作,这意味着如果由于某种原因您的 GRUB 安装在系统重新配置期间损坏,您可能无法轻松启动到先前的版本。在这种情况下,可以使用的技术是 @i{chroot} 进入您的损坏系统并从那里重新配置它。此技术将在下面解释。"

#. type: cindex
#: guix-git/doc/guix.texi:46892
#, fuzzy, no-wrap
msgid "chroot, guix system"
msgstr "chroot,guix系统"

#. type: cindex
#: guix-git/doc/guix.texi:46893
#, fuzzy, no-wrap
msgid "chrooting, guix system"
msgstr "chrooting,guix系统"

#. type: cindex
#: guix-git/doc/guix.texi:46894
#, fuzzy, no-wrap
msgid "repairing GRUB, via chroot"
msgstr "通过chroot修复GRUB"

#. type: Plain text
#: guix-git/doc/guix.texi:46907
#, fuzzy
msgid "This section details how to @i{chroot} to an already installed Guix System with the aim of reconfiguring it, for example to fix a broken GRUB installation.  The process is similar to how it would be done on other GNU/Linux systems, but there are some Guix System particularities such as the daemon and profiles that make it worthy of explaining here."
msgstr "本节详细说明如何@i{chroot}到已安装的Guix系统,以重新配置它,例如修复损坏的GRUB安装。该过程与在其他GNU/Linux系统上执行的方式类似,但有一些Guix系统的特性,例如守护进程和配置文件,使得在这里解释是值得的。"

#. type: enumerate
#: guix-git/doc/guix.texi:46916
#, fuzzy
msgid "Obtain a bootable image of Guix System.  It is recommended the latest development snapshot so the kernel and the tools used are at least as as new as those of your installed system; it can be retrieved from the @url{https://ci.guix.gnu.org/search/latest/ISO-9660?query=spec:images+status:success+system:x86_64-linux+image.iso, https://ci.guix.gnu.org} URL.  Follow the @pxref{USB Stick and DVD Installation} section for copying it to a bootable media."
msgstr "获取可引导的Guix系统镜像。建议使用最新的开发快照,以便内核和使用的工具至少与您已安装的系统一样新;可以从@url{https://ci.guix.gnu.org/search/latest/ISO-9660?query=spec:images+status:success+system:x86_64-linux+image.iso, https://ci.guix.gnu.org} URL中获取。请遵循@pxref{USB Stick and DVD Installation}部分将其复制到可引导媒体。"

#. type: enumerate
#: guix-git/doc/guix.texi:46925
#, fuzzy
msgid "Boot the image, and proceed with the graphical text-based installer until your network is configured.  Alternatively, you could configure the network manually by following the @ref{manual-installation-networking} section.  If you get the error @samp{RTNETLINK answers: Operation not possible due to RF-kill}, try @samp{rfkill list} followed by @samp{rfkill unblock 0}, where @samp{0} is your device identifier (ID)."
msgstr "启动镜像,并继续使用图形文本安装程序,直到您的网络配置完成。或者,您可以通过遵循@ref{manual-installation-networking}部分手动配置网络。如果您收到错误@samp{RTNETLINK answers: Operation not possible due to RF-kill},请尝试@samp{rfkill list},然后是@samp{rfkill unblock 0},其中@samp{0}是您的设备标识符(ID)。"

#. type: enumerate
#: guix-git/doc/guix.texi:46931
#, fuzzy
msgid "Switch to a virtual console (tty) if you haven't already by pressing simultaneously the @kbd{Control + Alt + F4} keys.  Mount your file system at @file{/mnt}.  Assuming your root partition is @file{/dev/sda2}, you would do:"
msgstr "如果您尚未切换到虚拟控制台(tty),请同时按下@kbd{Control + Alt + F4}键。将您的文件系统挂载到@file{/mnt}。假设您的根分区是@file{/dev/sda2},您可以执行:"

#. type: example
#: guix-git/doc/guix.texi:46934
#, fuzzy, no-wrap
msgid "mount /dev/sda2 /mnt\n"
msgstr "mount /dev/sda2 /mnt\n"

#. type: enumerate
#: guix-git/doc/guix.texi:46938
#, fuzzy
msgid "Mount special block devices and Linux-specific directories:"
msgstr "挂载特殊块设备和Linux特定目录:"

#. type: example
#: guix-git/doc/guix.texi:46943
#, fuzzy, no-wrap
msgid ""
"mount --rbind /proc /mnt/proc\n"
"mount --rbind /sys /mnt/sys\n"
"mount --rbind /dev /mnt/dev\n"
msgstr ""
"mount --rbind /proc /mnt/proc\n"
"mount --rbind /sys /mnt/sys\n"
"mount --rbind /dev /mnt/dev\n"

#. type: enumerate
#: guix-git/doc/guix.texi:46947
#, fuzzy
msgid "If your system is EFI-based, you must also mount the ESP partition.  Assuming it is @file{/dev/sda1}, you can do so with:"
msgstr "如果您的系统是基于EFI的,您还必须挂载ESP分区。假设它是@file{/dev/sda1},您可以这样做:"

#. type: example
#: guix-git/doc/guix.texi:46950
#, fuzzy, no-wrap
msgid "mount /dev/sda1 /mnt/boot/efi\n"
msgstr "mount /dev/sda1 /mnt/boot/efi\n"

#. type: enumerate
#: guix-git/doc/guix.texi:46954
#, fuzzy
msgid "Enter your system via chroot:"
msgstr "通过chroot进入您的系统:"

#. type: example
#: guix-git/doc/guix.texi:46957
#, fuzzy, no-wrap
msgid "chroot /mnt /bin/sh\n"
msgstr "chroot /mnt /bin/sh\n"

#. type: enumerate
#: guix-git/doc/guix.texi:46963
#, fuzzy
msgid "Source the system profile as well as your @var{user} profile to setup the environment, where @var{user} is the user name used for the Guix System you are attempting to repair:"
msgstr "源系统配置文件以及您的@var{user}配置文件以设置环境,其中@var{user}是您尝试修复的Guix系统所使用的用户名:"

#. type: example
#: guix-git/doc/guix.texi:46967
#, fuzzy, no-wrap
msgid ""
"source /var/guix/profiles/system/profile/etc/profile\n"
"source /home/@var{user}/.guix-profile/etc/profile\n"
msgstr "源 /var/guix/profiles/system/profile/etc/profile 源 /home/@var{user}/.guix-profile/etc/profile\n"

#. type: enumerate
#: guix-git/doc/guix.texi:46971
#, fuzzy
msgid "To ensure you are working with the Guix revision you normally would as your normal user, also source your current Guix profile:"
msgstr "为了确保您以正常用户身份使用的 Guix 修订版,请同时加载您当前的 Guix 配置文件:"

#. type: example
#: guix-git/doc/guix.texi:46974
#, fuzzy, no-wrap
msgid "source /home/@var{user}/.config/guix/current/etc/profile\n"
msgstr "源 /home/@var{user}/.config/guix/current/etc/profile\n"

#. type: enumerate
#: guix-git/doc/guix.texi:46978
#, fuzzy
msgid "Start a minimal @command{guix-daemon} in the background:"
msgstr "在后台启动一个最小的 @command{guix-daemon}:"

#. type: example
#: guix-git/doc/guix.texi:46981
#, fuzzy, no-wrap
msgid "guix-daemon --build-users-group=guixbuild --disable-chroot &\n"
msgstr "# guix-daemon --build-users-group=guixbuild\n"

#. type: enumerate
#: guix-git/doc/guix.texi:46985
#, fuzzy
msgid "Edit your Guix System configuration if needed, then reconfigure with:"
msgstr "如有需要,请编辑您的 Guix 系统配置,然后使用以下命令重新配置:"

#. type: example
#: guix-git/doc/guix.texi:46988
#, fuzzy, no-wrap
msgid "guix system reconfigure your-config.scm\n"
msgstr "guix package --list-available\n"

#. type: enumerate
#: guix-git/doc/guix.texi:46992
#, fuzzy
msgid "Finally, you should be good to reboot the system to test your fix."
msgstr "最后,您应该可以重新启动系统以测试您的修复。"

#. type: cindex
#: guix-git/doc/guix.texi:46997
#, fuzzy, no-wrap
msgid "home configuration"
msgstr "系统配置"

#. type: Plain text
#: guix-git/doc/guix.texi:47009
#, fuzzy
msgid "Guix supports declarative configuration of @dfn{home environments} by utilizing the configuration mechanism described in the previous chapter (@pxref{Defining Services}), but for user's dotfiles and packages.  It works both on Guix System and foreign distros and allows users to declare all the packages and services that should be installed and configured for the user.  Once a user has written a file containing a @code{home-environment} record, such a configuration can be @dfn{instantiated} by an unprivileged user with the @command{guix home} command (@pxref{Invoking guix home})."
msgstr "Guix 支持通过利用上一章中描述的配置机制(@pxref{Defining Services})来声明 @dfn{家庭环境} 的配置,但针对用户的点文件和软件包。它在 Guix 系统和外部发行版上均可使用,并允许用户声明应为用户安装和配置的所有软件包和服务。一旦用户编写了包含 @code{home-environment} 记录的文件,这样的配置可以由非特权用户使用 @command{guix home} 命令(@pxref{Invoking guix home})进行 @dfn{实例化}。"

#. type: Plain text
#: guix-git/doc/guix.texi:47020
#, fuzzy
msgid "The user's home environment usually consists of three basic parts: software, configuration, and state.  Software in mainstream distros are usually installed system-wide, but with GNU Guix most software packages can be installed on a per-user basis without needing root privileges, and are thus considered part of the user’s @dfn{home environment}.  Packages on their own are not very useful in many cases, because often they require some additional configuration, usually config files that reside in @env{XDG_CONFIG_HOME} (@file{~/.config} by default) or other directories.  Everything else can be considered state, like media files, application databases, and logs."
msgstr "用户的家庭环境通常由三个基本部分组成:软件、配置和状态。主流发行版中的软件通常是系统范围内安装的,但使用 GNU Guix,大多数软件包可以在每个用户的基础上安装,而无需根权限,因此被视为用户的 @dfn{家庭环境} 的一部分。单独的软件包在许多情况下并不是很有用,因为它们通常需要一些额外的配置,通常是位于 @env{XDG_CONFIG_HOME}(默认情况下为 @file{~/.config})或其他目录中的配置文件。其他所有内容都可以视为状态,例如媒体文件、应用程序数据库和日志。"

#. type: Plain text
#: guix-git/doc/guix.texi:47023
#, fuzzy
msgid "Using Guix for managing home environments provides a number of advantages:"
msgstr "使用 Guix 管理家庭环境提供了许多优势:"

#. type: item
#: guix-git/doc/guix.texi:47026
#, fuzzy, no-wrap
msgid "All software can be configured in one language (Guile Scheme),"
msgstr "所有软件都可以用一种语言(Guile Scheme)进行配置,"

#. type: itemize
#: guix-git/doc/guix.texi:47029
#, fuzzy
msgid "this gives users the ability to share values between configurations of different programs."
msgstr "这使用户能够在不同程序的配置之间共享值。"

#. type: item
#: guix-git/doc/guix.texi:47030
#, fuzzy, no-wrap
msgid "A well-defined home environment is self-contained and can be"
msgstr "一个定义良好的家庭环境是自包含的,可以是"

#. type: itemize
#: guix-git/doc/guix.texi:47033
#, fuzzy
msgid "created in a declarative and reproducible way---there is no need to grab external binaries or manually edit some configuration file."
msgstr "以声明性和可重现的方式创建——无需获取外部二进制文件或手动编辑某些配置文件。"

#. type: item
#: guix-git/doc/guix.texi:47034
#, fuzzy, no-wrap
msgid "After every @command{guix home reconfigure} invocation, a new home"
msgstr "在每次调用 @command{guix home reconfigure} 后,将创建一个新的家庭环境生成。"

#. type: itemize
#: guix-git/doc/guix.texi:47038
#, fuzzy
msgid "environment generation will be created.  This means that users can rollback to a previous home environment generation so they don’t have to worry about breaking their configuration."
msgstr "这意味着用户可以回滚到先前的家庭环境生成,因此他们不必担心破坏其配置。"

#. type: item
#: guix-git/doc/guix.texi:47039
#, fuzzy, no-wrap
msgid "It is possible to manage stateful data with Guix Home, this"
msgstr "可以使用 Guix Home 管理有状态数据,这"

#. type: itemize
#: guix-git/doc/guix.texi:47044
#, fuzzy
msgid "includes the ability to automatically clone Git repositories on the initial setup of the machine, and periodically running commands like @command{rsync} to sync data with another host.  This functionality is still in an experimental stage, though."
msgstr "包括在机器初始设置时自动克隆 Git 仓库的能力,以及定期运行像 @command{rsync} 这样的命令以与另一台主机同步数据。尽管该功能仍处于实验阶段。"

#. type: Plain text
#: guix-git/doc/guix.texi:47061
#, fuzzy
msgid "The home environment is configured by providing a @code{home-environment} declaration in a file that can be passed to the @command{guix home} command (@pxref{Invoking guix home}).  The easiest way to get started is by generating an initial configuration with @command{guix home import}:"
msgstr "家庭环境通过在可以传递给 @command{guix home} 命令的文件中提供 @code{home-environment} 声明进行配置(@pxref{Invoking guix home})。开始的最简单方法是使用 @command{guix home import} 生成初始配置:"

#. type: example
#: guix-git/doc/guix.texi:47064
#, fuzzy, no-wrap
msgid "guix home import ~/src/guix-config\n"
msgstr "guix home import ~/src/guix-config\n"

#. type: Plain text
#: guix-git/doc/guix.texi:47072
#, fuzzy
msgid "The @command{guix home import} command reads some of the ``dot files'' such as @file{~/.bashrc} found in your home directory and copies them to the given directory, @file{~/src/guix-config} in this case; it also reads the contents of your profile, @file{~/.guix-profile}, and, based on that, it populates @file{~/src/guix-config/home-configuration.scm} with a Home configuration that resembles your current configuration."
msgstr "@command{guix home import} 命令读取您主目录中找到的一些“点文件”,例如 @file{~/.bashrc},并将它们复制到给定目录,在这种情况下是 @file{~/src/guix-config};它还读取您的配置文件 @file{~/.guix-profile} 的内容,并基于此填充 @file{~/src/guix-config/home-configuration.scm},生成一个类似于您当前配置的家庭配置。"

#. type: Plain text
#: guix-git/doc/guix.texi:47078
#, fuzzy
msgid "A simple setup can include Bash and a custom text configuration, like in the example below.  Don't be afraid to declare home environment parts, which overlaps with your current dot files: before installing any configuration files, Guix Home will back up existing config files to a separate place in the home directory."
msgstr "一个简单的设置可以包括 Bash 和自定义文本配置,如下例所示。不要害怕声明家庭环境部分,这与您当前的点文件重叠:在安装任何配置文件之前,Guix Home 会将现有的配置文件备份到主目录中的一个单独位置。"

#. type: quotation
#: guix-git/doc/guix.texi:47084
#, fuzzy
msgid "It is highly recommended that you manage your shell or shells with Guix Home, because it will make sure that all the necessary scripts are sourced by the shell configuration file.  Otherwise you will need to do it manually. (@pxref{Configuring the Shell})."
msgstr "强烈建议您使用 Guix Home 管理您的 shell 或 shells,因为它将确保所有必要的脚本都由 shell 配置文件加载。否则,您需要手动完成这项工作。(@pxref{Configuring the Shell})。"

#. type: findex
#: guix-git/doc/guix.texi:47086
#, fuzzy, no-wrap
msgid "home-environment"
msgstr "构建环境"

#. type: vindex
#: guix-git/doc/guix.texi:47087
#, fuzzy, no-wrap
msgid "%base-home-services"
msgstr "其它服务。"

#. type: include
#: guix-git/doc/guix.texi:47089
#, fuzzy, no-wrap
msgid "he-config-bare-bones.scm"
msgstr "系统配置"

#. type: Plain text
#: guix-git/doc/guix.texi:47096
#, fuzzy
msgid "The @code{packages} field should be self-explanatory, it will install the list of packages into the user's profile.  The most important field is @code{services}, it contains a list of @dfn{home services}, which are the basic building blocks of a home environment."
msgstr "@code{packages} 字段应该是不言自明的,它将把包列表安装到用户的配置文件中。最重要的字段是 @code{services},它包含一系列 @dfn{home services},这些是家庭环境的基本构建块。"

#. type: Plain text
#: guix-git/doc/guix.texi:47104
#, fuzzy
msgid "There is no daemon (at least not necessarily) related to a home service, a home service is just an element that is used to declare part of home environment and extend other parts of it.  The extension mechanism discussed in the previous chapter (@pxref{Defining Services}) should not be confused with Shepherd services (@pxref{Shepherd Services}).  Using this extension mechanism and some Scheme code that glues things together gives the user the freedom to declare their own, very custom, home environments."
msgstr "与家庭服务相关的守护进程并不存在(至少不一定),家庭服务只是一个用于声明家庭环境部分并扩展其其他部分的元素。前一章讨论的扩展机制(@pxref{Defining Services})不应与 Shepherd 服务(@pxref{Shepherd Services})混淆。使用这个扩展机制和一些将事物连接在一起的 Scheme 代码,用户可以自由地声明他们自己的非常自定义的家庭环境。"

#. type: cindex
#: guix-git/doc/guix.texi:47105 guix-git/doc/guix.texi:49763
#, fuzzy, no-wrap
msgid "container, for @command{guix home}"
msgstr "@command{guix home} 的容器"

#. type: Plain text
#: guix-git/doc/guix.texi:47108
#, fuzzy
msgid "Once the configuration looks good, you can first test it in a throw-away ``container'':"
msgstr "一旦配置看起来不错,您可以先在一个临时的“容器”中进行测试:"

#. type: example
#: guix-git/doc/guix.texi:47111 guix-git/doc/guix.texi:49773
#, fuzzy, no-wrap
msgid "guix home container config.scm\n"
msgstr "guix package --list-available\n"

#. type: Plain text
#: guix-git/doc/guix.texi:47119
#, fuzzy
msgid "The command above spawns a shell where your home environment is running.  The shell runs in a container, meaning it's isolated from the rest of the system, so it's a good way to try out your configuration---you can see if configuration bits are missing or misbehaving, if daemons get started, and so on.  Once you exit that shell, you're back to the prompt of your original shell ``in the real world''."
msgstr "上述命令会生成一个 shell,您的家庭环境在其中运行。该 shell 在一个容器中运行,这意味着它与系统的其他部分隔离,因此这是尝试您的配置的好方法——您可以查看配置部分是否缺失或表现异常,守护进程是否启动,等等。一旦您退出该 shell,您将回到原始 shell 的提示符“在现实世界中”。"

#. type: Plain text
#: guix-git/doc/guix.texi:47122
#, fuzzy
msgid "Once you have a configuration file that suits your needs, you can reconfigure your home by running:"
msgstr "一旦您有一个适合您需求的配置文件,您可以通过运行以下命令重新配置您的家庭环境:"

#. type: example
#: guix-git/doc/guix.texi:47125
#, fuzzy, no-wrap
msgid "guix home reconfigure config.scm\n"
msgstr "guix home reconfigure config.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:47129
#, fuzzy
msgid "This ``builds'' your home environment and creates @file{~/.guix-home} pointing to it.  Voilà!"
msgstr "这会“构建”您的家庭环境并创建指向它的 @file{~/.guix-home}。瞧!"

#. type: quotation
#: guix-git/doc/guix.texi:47136
#, fuzzy
msgid "Make sure the operating system has elogind, systemd, or a similar mechanism to create the XDG run-time directory and has the @env{XDG_RUNTIME_DIR} variable set.  Failing that, the @file{on-first-login} script will not execute anything, and processes like user Shepherd and its descendants will not start."
msgstr "确保操作系统具有 elogind、systemd 或类似机制来创建 XDG 运行时目录,并且设置了 @env{XDG_RUNTIME_DIR} 变量。如果没有,@file{on-first-login} 脚本将不会执行任何内容,像用户 Shepherd 及其后代这样的进程将不会启动。"

#. type: Plain text
#: guix-git/doc/guix.texi:47143
#, fuzzy
msgid "If you're using Guix System, you can embed your home configuration in your system configuration such that @command{guix system reconfigure} will deploy both the system @emph{and} your home at once! @xref{guix-home-service-type, @code{guix-home-service-type}}, for how to do that."
msgstr "如果您使用的是 Guix 系统,您可以将家庭配置嵌入到系统配置中,以便 @command{guix system reconfigure} 可以同时部署系统和您的家庭!有关如何做到这一点,请参见 @xref{guix-home-service-type, @code{guix-home-service-type}}。"

#. type: Plain text
#: guix-git/doc/guix.texi:47148
#, fuzzy
msgid "This section is safe to skip if your shell or shells are managed by Guix Home.  Otherwise, read it carefully."
msgstr "如果您的 shell 或 shells 是由 Guix Home 管理的,则可以安全跳过此部分。否则,请仔细阅读。"

#. type: Plain text
#: guix-git/doc/guix.texi:47155
#, fuzzy
msgid "There are a few scripts that must be evaluated by a login shell to activate the home environment.  The shell startup files only read by login shells often have @code{profile} suffix.  For more information about login shells see @ref{Invoking Bash,,, bash, The GNU Bash Reference Manual} and see @ref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}."
msgstr "有一些脚本必须由登录 shell 评估以激活家庭环境。仅由登录 shell 读取的 shell 启动文件通常具有 @code{profile} 后缀。有关登录 shell 的更多信息,请参见 @ref{Invoking Bash,,, bash, The GNU Bash Reference Manual},并参见 @ref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}。"

#. type: Plain text
#: guix-git/doc/guix.texi:47162
#, fuzzy
msgid "The first script that needs to be sourced is @file{setup-environment}, which sets all the necessary environment variables (including variables declared by the user) and the second one is @file{on-first-login}, which starts Shepherd for the current user and performs actions declared by other home services that extends @code{home-run-on-first-login-service-type}."
msgstr "第一个需要被引入的脚本是 @file{setup-environment},它设置所有必要的环境变量(包括用户声明的变量),第二个是 @file{on-first-login},它为当前用户启动 Shepherd,并执行其他家庭服务声明的操作,这些服务扩展了 @code{home-run-on-first-login-service-type}。"

#. type: Plain text
#: guix-git/doc/guix.texi:47165
#, fuzzy
msgid "Guix Home will always create @file{~/.profile}, which contains the following lines:"
msgstr "Guix Home 将始终创建 @file{~/.profile},其中包含以下行:"

#. type: example
#: guix-git/doc/guix.texi:47170
#, fuzzy, no-wrap
msgid ""
"HOME_ENVIRONMENT=$HOME/.guix-home\n"
". $HOME_ENVIRONMENT/setup-environment\n"
"$HOME_ENVIRONMENT/on-first-login\n"
msgstr ""
"HOME_ENVIRONMENT=$HOME/.guix-home\n"
". $HOME_ENVIRONMENT/setup-environment\n"
"$HOME_ENVIRONMENT/on-first-login\n"

#. type: Plain text
#: guix-git/doc/guix.texi:47180
#, fuzzy
msgid "This makes POSIX compliant login shells activate the home environment.  However, in most cases this file won't be read by most modern shells, because they are run in non POSIX mode by default and have their own @file{*profile} startup files.  For example Bash will prefer @file{~/.bash_profile} in case it exists and only if it doesn't will it fallback to @file{~/.profile}.  Zsh (if no additional options are specified) will ignore @file{~/.profile}, even if @file{~/.zprofile} doesn't exist."
msgstr "这使得符合 POSIX 的登录 shell 激活家庭环境。然而,在大多数情况下,这个文件不会被大多数现代 shell 读取,因为它们默认以非 POSIX 模式运行,并且有自己的 @file{*profile} 启动文件。例如,Bash 会优先选择 @file{~/.bash_profile}(如果存在),只有在不存在时才会回退到 @file{~/.profile}。Zsh(如果没有指定其他选项)将忽略 @file{~/.profile},即使 @file{~/.zprofile} 不存在。"

#. type: Plain text
#: guix-git/doc/guix.texi:47185
#, fuzzy
msgid "To make your shell respect @file{~/.profile}, add @code{. ~/.profile} or @code{source ~/.profile} to the startup file for the login shell.  In case of Bash, it is @file{~/.bash_profile}, and in case of Zsh, it is @file{~/.zprofile}."
msgstr "要使您的 shell 尊重 @file{~/.profile},请将 @code{. ~/.profile} 或 @code{source ~/.profile} 添加到登录 shell 的启动文件中。在 Bash 的情况下,它是 @file{~/.bash_profile},在 Zsh 的情况下,它是 @file{~/.zprofile}。"

#. type: quotation
#: guix-git/doc/guix.texi:47189
#, fuzzy
msgid "This step is only required if your shell is @emph{not} managed by Guix Home.  Otherwise, everything will be done automatically."
msgstr "只有在您的 shell @emph{未} 由 Guix Home 管理的情况下,此步骤才是必需的。否则,一切将自动完成。"

#. type: cindex
#: guix-git/doc/guix.texi:47193
#, fuzzy, no-wrap
msgid "home services"
msgstr "其它服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:47202
#, fuzzy
msgid "A @dfn{home service} is not necessarily something that has a daemon and is managed by Shepherd (@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual}), in most cases it doesn't.  It's a simple building block of the home environment, often declaring a set of packages to be installed in the home environment profile, a set of config files to be symlinked into @env{XDG_CONFIG_HOME} (@file{~/.config} by default), and environment variables to be set by a login shell."
msgstr "@dfn{家庭服务} 不一定是有守护进程并由 Shepherd 管理的东西(@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual}),在大多数情况下,它不是。它是家庭环境的一个简单构建块,通常声明一组要安装在家庭环境配置文件中的软件包,一组要符号链接到 @env{XDG_CONFIG_HOME}(默认情况下为 @file{~/.config})的配置文件,以及要由登录 shell 设置的环境变量。"

#. type: Plain text
#: guix-git/doc/guix.texi:47210
#, fuzzy
msgid "There is a service extension mechanism (@pxref{Service Composition})  which allows home services to extend other home services and utilize capabilities they provide; for example: declare mcron jobs (@pxref{Top,,, mcron, GNU@tie{}Mcron}) by extending @ref{Mcron Home Service}; declare daemons by extending @ref{Shepherd Home Service}; add commands, which will be invoked on by the Bash by extending @ref{Shells Home Services, @code{home-bash-service-type}}."
msgstr "有一个服务扩展机制 (@pxref{Service Composition}),允许家庭服务扩展其他家庭服务并利用它们提供的功能;例如:通过扩展 @ref{Mcron Home Service} 声明 mcron 作业 (@pxref{Top,,, mcron, GNU@tie{}Mcron});通过扩展 @ref{Shepherd Home Service} 声明守护进程;添加命令,这些命令将在 Bash 中被调用,通过扩展 @ref{Shells Home Services, @code{home-bash-service-type}}。"

#. type: Plain text
#: guix-git/doc/guix.texi:47221
#, fuzzy
msgid "A good way to discover available home services is using the @command{guix home search} command (@pxref{Invoking guix home}).  After the required home services are found, include its module with the @code{use-modules} form (@pxref{use-modules,, Using Guile Modules, guile, The GNU Guile Reference Manual}), or the @code{#:use-modules} directive (@pxref{define-module,, Creating Guile Modules, guile, The GNU Guile Reference Manual}) and declare a home service using the @code{service} function, or extend a service type by declaring a new service with the @code{simple-service} procedure from @code{(gnu services)}."
msgstr "发现可用家庭服务的好方法是使用 @command{guix home search} 命令 (@pxref{Invoking guix home})。找到所需的家庭服务后,使用 @code{use-modules} 形式包含其模块 (@pxref{use-modules,, Using Guile Modules, guile, The GNU Guile Reference Manual}),或使用 @code{#:use-modules} 指令 (@pxref{define-module,, Creating Guile Modules, guile, The GNU Guile Reference Manual}),并使用 @code{service} 函数声明一个家庭服务,或通过从 @code{(gnu services)} 的 @code{simple-service} 过程声明一个新服务来扩展服务类型。"

#. type: Plain text
#: guix-git/doc/guix.texi:47249
#, fuzzy
msgid "There are a few essential home services defined in @code{(gnu home services)}, they are mostly for internal use and are required to build a home environment, but some of them will be useful for the end user."
msgstr "在 @code{(gnu home services)} 中定义了一些基本的家庭服务,它们主要用于内部使用,并且是构建家庭环境所必需的,但其中一些对最终用户会很有用。"

#. type: cindex
#: guix-git/doc/guix.texi:47250
#, fuzzy, no-wrap
msgid "environment variables"
msgstr "构建环境"

#. type: defvar
#: guix-git/doc/guix.texi:47252
#, fuzzy, no-wrap
msgid "home-environment-variables-service-type"
msgstr "构建环境"

#. type: defvar
#: guix-git/doc/guix.texi:47257
#, fuzzy
msgid "The service of this type will be instantiated by every home environment automatically by default, there is no need to define it, but someone may want to extend it with a list of pairs to set some environment variables."
msgstr "这种类型的服务将默认由每个家庭环境自动实例化,无需定义,但有人可能希望通过一对对的列表来扩展它,以设置一些环境变量。"

#. type: lisp
#: guix-git/doc/guix.texi:47261
#, fuzzy, no-wrap
msgid ""
"(list (\"ENV_VAR1\" . \"value1\")\n"
"      (\"ENV_VAR2\" . \"value2\"))\n"
msgstr ""
"(list (\"ENV_VAR1\" . \"value1\")\n"
"      (\"ENV_VAR2\" . \"value2\"))\n"

#. type: defvar
#: guix-git/doc/guix.texi:47266
#, fuzzy
msgid "The easiest way to extend a service type, without defining a new service type is to use the @code{simple-service} helper from @code{(gnu services)}."
msgstr "扩展服务类型的最简单方法是使用来自 @code{(gnu services)} 的 @code{simple-service} 辅助工具,而无需定义新的服务类型。"

#. type: findex
#: guix-git/doc/guix.texi:47267
#, fuzzy, no-wrap
msgid "literal-string"
msgstr "字面字符串"

#. type: lisp
#: guix-git/doc/guix.texi:47276
#, fuzzy, no-wrap
msgid ""
"(simple-service 'some-useful-env-vars-service\n"
"\t\thome-environment-variables-service-type\n"
"\t\t`((\"LESSHISTFILE\" . \"$XDG_CACHE_HOME/.lesshst\")\n"
"                  (\"SHELL\" . ,(file-append zsh \"/bin/zsh\"))\n"
"                  (\"USELESS_VAR\" . #f)\n"
"                  (\"_JAVA_AWT_WM_NONREPARENTING\" . #t)\n"
"                  (\"LITERAL_VALUE\" . ,(literal-string \"$@{abc@}\"))))\n"
msgstr ""
"(simple-service 'some-useful-env-vars-service\n"
"\t\thome-environment-variables-service-type\n"
"\t\t`((\"LESSHISTFILE\" . \"$XDG_CACHE_HOME/.lesshst\")\n"
"                  (\"SHELL\" . ,(file-append zsh \"/bin/zsh\"))\n"
"                  (\"USELESS_VAR\" . #f)\n"
"                  (\"_JAVA_AWT_WM_NONREPARENTING\" . #t)\n"
"                  (\"LITERAL_VALUE\" . ,(literal-string \"$@{abc@}\"))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:47281
#, fuzzy
msgid "If you include such a service in you home environment definition, it will add the following content to the @file{setup-environment} script (which is expected to be sourced by the login shell):"
msgstr "如果您在家庭环境定义中包含这样的服务,它将向@file{setup-environment}脚本添加以下内容(该脚本预计将被登录 shell 引用):"

#. type: example
#: guix-git/doc/guix.texi:47287
#, fuzzy, no-wrap
msgid ""
"export LESSHISTFILE=\"$XDG_CACHE_HOME/.lesshst\"\n"
"export SHELL=\"/gnu/store/2hsg15n644f0glrcbkb1kqknmmqdar03-zsh-5.8/bin/zsh\"\n"
"export _JAVA_AWT_WM_NONREPARENTING\n"
"export LITERAL_VALUE='$@{abc@}'\n"
msgstr ""
"export LESSHISTFILE=\"$XDG_CACHE_HOME/.lesshst\"  \n"
"export SHELL=\"/gnu/store/2hsg15n644f0glrcbkb1kqknmmqdar03-zsh-5.8/bin/zsh\"  \n"
"export _JAVA_AWT_WM_NONREPARENTING  \n"
"export LITERAL_VALUE='$@{abc@}'\n"

#. type: defvar
#: guix-git/doc/guix.texi:47293
#, fuzzy
msgid "Notice that @code{literal-string} above lets us declare that a value is to be interpreted as a @dfn{literal string}, meaning that ``special characters'' such as the dollar sign will not be interpreted by the shell."
msgstr "请注意,上面的@code{literal-string}让我们声明一个值将被解释为@dfn{字面字符串},这意味着“特殊字符”如美元符号将不会被 shell 解释。"

#. type: quotation
#: guix-git/doc/guix.texi:47299
#, fuzzy
msgid "Make sure that module @code{(gnu packages shells)} is imported with @code{use-modules} or any other way, this namespace contains the definition of the @code{zsh} package, which is used in the example above."
msgstr "确保模块@code{(gnu packages shells)}通过@code{use-modules}或其他任何方式导入,这个命名空间包含@code{zsh}包的定义,该包在上面的示例中使用。"

#. type: defvar
#: guix-git/doc/guix.texi:47312
#, fuzzy
msgid "The association list (@pxref{Association Lists, alists, Association Lists, guile, The GNU Guile Reference manual}) is a data structure containing key-value pairs, for @code{home-environment-variables-service-type} the key is always a string, the value can be a string, string-valued gexp (@pxref{G-Expressions}), file-like object (@pxref{G-Expressions, file-like object}) or boolean.  For gexps, the variable will be set to the value of the gexp; for file-like objects, it will be set to the path of the file in the store (@pxref{The Store}); for @code{#t}, it will export the variable without any value; and for @code{#f}, it will omit variable."
msgstr "关联列表(@pxref{Association Lists, alists, Association Lists, guile, The GNU Guile Reference manual})是一种包含键值对的数据结构,对于@code{home-environment-variables-service-type},键始终是字符串,值可以是字符串、字符串值的 gexp(@pxref{G-Expressions})、类文件对象(@pxref{G-Expressions, file-like object})或布尔值。对于 gexp,变量将被设置为 gexp 的值;对于类文件对象,它将被设置为存储中该文件的路径(@pxref{The Store});对于@code{#t},它将导出变量而不带任何值;对于@code{#f},它将省略变量。"

#. type: defvar
#: guix-git/doc/guix.texi:47315
#, fuzzy, no-wrap
msgid "home-profile-service-type"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:47321
#, fuzzy
msgid "The service of this type will be instantiated by every home environment automatically, there is no need to define it, but you may want to extend it with a list of packages if you want to install additional packages into your profile.  Other services, which need to make some programs available to the user will also extend this service type."
msgstr "这种类型的服务将由每个家庭环境自动实例化,无需定义,但如果您希望将其他软件包安装到您的配置文件中,您可能希望通过软件包列表扩展它。其他需要向用户提供某些程序的服务也将扩展此服务类型。"

#. type: defvar
#: guix-git/doc/guix.texi:47323
#, fuzzy
msgid "The extension value is just a list of packages:"
msgstr "扩展值只是一个软件包列表:"

#. type: lisp
#: guix-git/doc/guix.texi:47326
#, fuzzy, no-wrap
msgid "(list htop vim emacs)\n"
msgstr "(list htop vim emacs)\n"

#. type: defvar
#: guix-git/doc/guix.texi:47336
#, fuzzy
msgid "The same approach as @code{simple-service} (@pxref{Service Reference, simple-service}) for @code{home-environment-variables-service-type} can be used here, too.  Make sure that modules containing the specified packages are imported with @code{use-modules}.  To find a package or information about its module use @command{guix search} (@pxref{Invoking guix package}).  Alternatively, @code{specification->package} can be used to get the package record from a string without importing its related module."
msgstr "与@code{simple-service}(@pxref{Service Reference, simple-service})相同的方法也可以用于@code{home-environment-variables-service-type}。确保包含指定软件包的模块通过@code{use-modules}导入。要查找软件包或其模块的信息,请使用@command{guix search}(@pxref{Invoking guix package})。另外,可以使用@code{specification->package}从字符串获取软件包记录,而无需导入其相关模块。"

#. type: Plain text
#: guix-git/doc/guix.texi:47340
#, fuzzy
msgid "There are few more essential services, but users are not expected to extend them."
msgstr "还有一些更重要的服务,但不期望用户扩展它们。"

#. type: defvar
#: guix-git/doc/guix.texi:47341
#, fuzzy, no-wrap
msgid "home-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:47346
#, fuzzy
msgid "The root of home services DAG, it generates a folder, which later will be symlinked to @file{~/.guix-home}, it contains configurations, profile with binaries and libraries, and some necessary scripts to glue things together."
msgstr "家庭服务DAG的根,它生成一个文件夹,稍后将链接到@file{~/.guix-home},它包含配置、带有二进制文件和库的配置文件,以及一些必要的脚本来将事物粘合在一起。"

#. type: defvar
#: guix-git/doc/guix.texi:47348
#, fuzzy, no-wrap
msgid "home-run-on-first-login-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:47353
#, fuzzy
msgid "The service of this type generates a Guile script, which is expected to be executed by the login shell.  It is only executed if the special flag file inside @env{XDG_RUNTIME_DIR} hasn't been created, this prevents redundant executions of the script if multiple login shells are spawned."
msgstr "这种类型的服务生成一个Guile脚本,预计将由登录shell执行。只有在@env{XDG_RUNTIME_DIR}中的特殊标志文件尚未创建时,它才会被执行,这防止了在生成多个登录shell时脚本的冗余执行。"

#. type: defvar
#: guix-git/doc/guix.texi:47359
#, fuzzy
msgid "It can be extended with a gexp.  However, to autostart an application, users @emph{should not} use this service, in most cases it's better to extend @code{home-shepherd-service-type} with a Shepherd service (@pxref{Shepherd Services}), or extend the shell's startup file with the required command using the appropriate service type."
msgstr "它可以通过gexp进行扩展。然而,为了自动启动应用程序,用户@emph{不应该}使用此服务,在大多数情况下,最好使用Shepherd服务(@pxref{Shepherd Services})扩展@code{home-shepherd-service-type},或使用适当的服务类型扩展shell的启动文件以包含所需的命令。"

#. type: defvar
#: guix-git/doc/guix.texi:47361
#, fuzzy, no-wrap
msgid "home-files-service-type"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:47368
#, fuzzy
msgid "The service of this type allows to specify a list of files, which will go to @file{~/.guix-home/files}, usually this directory contains configuration files (to be more precise it contains symlinks to files in @file{/gnu/store}), which should be placed in @file{$XDG_CONFIG_DIR} or in rare cases in @file{$HOME}.  It accepts extension values in the following format:"
msgstr "这种类型的服务允许指定一个文件列表,这些文件将放入@file{~/.guix-home/files},通常该目录包含配置文件(更准确地说,它包含指向@file{/gnu/store}中文件的符号链接),这些文件应放置在@file{$XDG_CONFIG_DIR}中,或在少数情况下放置在@file{$HOME}中。它接受以下格式的扩展值:"

#. type: lisp
#: guix-git/doc/guix.texi:47372
#, fuzzy, no-wrap
msgid ""
"`((\".sway/config\" ,sway-file-like-object)\n"
"  (\".tmux.conf\" ,(local-file \"./tmux.conf\")))\n"
msgstr ""
"`((\".sway/config\" ,sway-file-like-object)  \n"
"  (\".tmux.conf\" ,(local-file \"./tmux.conf\")))\n"

#. type: defvar
#: guix-git/doc/guix.texi:47385
#, fuzzy
msgid "Each nested list contains two values: a subdirectory and file-like object.  After building a home environment @file{~/.guix-home/files} will be populated with appropriate content and all nested directories will be created accordingly, however, those files won't go any further until some other service will do it.  By default a @code{home-symlink-manager-service-type}, which creates necessary symlinks in home folder to files from @file{~/.guix-home/files} and backs up already existing, but clashing configs and other things, is a part of essential home services (enabled by default), but it's possible to use alternative services to implement more advanced use cases like read-only home.  Feel free to experiment and share your results."
msgstr "每个嵌套列表包含两个值:一个子目录和一个文件对象。在构建家庭环境后,@file{~/.guix-home/files}将填充适当的内容,所有嵌套目录将相应创建,然而,这些文件不会进一步处理,直到其他服务执行此操作。默认情况下,@code{home-symlink-manager-service-type}会在家庭文件夹中创建必要的符号链接,指向@file{~/.guix-home/files}中的文件,并备份已经存在但冲突的配置和其他内容,它是基本家庭服务的一部分(默认启用),但可以使用替代服务来实现更高级的用例,例如只读家庭。欢迎进行实验并分享您的结果。"

#. type: cindex
#: guix-git/doc/guix.texi:47387
#, fuzzy, no-wrap
msgid "dot files in Guix Home"
msgstr "Guix Home中的点文件"

#. type: Plain text
#: guix-git/doc/guix.texi:47391
#, fuzzy
msgid "It is often the case that Guix Home users already have a setup for versioning their user configuration files (also known as @emph{dot files}) in a single directory, and some way of automatically deploy changes to their user home."
msgstr "通常情况下,Guix Home用户已经有一个设置,用于在单个目录中对其用户配置文件(也称为@emph{点文件})进行版本控制,并以某种方式自动部署对其用户主目录的更改。"

#. type: cindex
#: guix-git/doc/guix.texi:47392
#, fuzzy, no-wrap
msgid "Stow-like dot file management"
msgstr "电源管理服务"

#. type: Plain text
#: guix-git/doc/guix.texi:47397
#, fuzzy
msgid "The @code{home-dotfiles-service-type} from @code{(gnu home services dotfiles)} is designed to ease the way into using Guix Home for this kind of users, allowing them to point the service to their dotfiles directory without migrating them to Guix native configurations."
msgstr "来自@code{(gnu home services dotfiles)}的@code{home-dotfiles-service-type}旨在简化这类用户使用Guix Home的方式,允许他们将服务指向其点文件目录,而无需将其迁移到Guix本地配置。"

#. type: Plain text
#: guix-git/doc/guix.texi:47401
#, fuzzy
msgid "Please keep in mind that it is advisable to keep your dotfiles directories under version control, for example in the same repository where you'd track your Guix Home configuration."
msgstr "请记住,建议将您的点文件目录保持在版本控制下,例如在您跟踪Guix Home配置的同一存储库中。"

#. type: Plain text
#: guix-git/doc/guix.texi:47404
#, fuzzy
msgid "There are two supported dotfiles directory layouts, for now. The @code{'plain} layout, which is structured as follows:"
msgstr "目前支持两种点文件目录布局。@code{'plain}布局,其结构如下:"

#. type: example
#: guix-git/doc/guix.texi:47421
#, fuzzy, no-wrap
msgid ""
"~$ tree -a ./dotfiles/\n"
"dotfiles/\n"
"├── .gitconfig\n"
"├── .gnupg\n"
"│   ├── gpg-agent.conf\n"
"│   └── gpg.conf\n"
"├── .guile\n"
"├── .config\n"
"│   ├── guix\n"
"│   │   └── channels.scm\n"
"│   └── nixpkgs\n"
"│       └── config.nix\n"
"├── .nix-channels\n"
"├── .tmux.conf\n"
"└── .vimrc\n"
msgstr ""
"~$ tree -a ./dotfiles/\n"
"dotfiles/\n"
"├── .gitconfig\n"
"├── .gnupg\n"
"│   ├── gpg-agent.conf\n"
"│   └── gpg.conf\n"
"├── .guile\n"
"├── .config\n"
"│   ├── guix\n"
"│   │   └── channels.scm\n"
"│   └── nixpkgs\n"
"│       └── config.nix\n"
"├── .nix-channels\n"
"├── .tmux.conf\n"
"└── .vimrc\n"

#. type: Plain text
#: guix-git/doc/guix.texi:47425
#, fuzzy
msgid "This tree structure is installed as is to the home directory upon @command{guix home reconfigure}."
msgstr "此树结构在@command{guix home reconfigure}时按原样安装到主目录。"

#. type: Plain text
#: guix-git/doc/guix.texi:47430
#, fuzzy
msgid "The @code{'stow} layout, which must follow the layout suggested by @uref{https://www.gnu.org/software/stow/, GNU Stow} presents an additional application specific directory layer, just like:"
msgstr "@code{'stow}布局,必须遵循@uref{https://www.gnu.org/software/stow/, GNU Stow}建议的布局,呈现一个额外的特定于应用程序的目录层,就像:"

#. type: example
#: guix-git/doc/guix.texi:47455
#, fuzzy, no-wrap
msgid ""
"~$ tree -a ./dotfiles/\n"
"dotfiles/\n"
"├── git\n"
"│   └── .gitconfig\n"
"├── gpg\n"
"│   └── .gnupg\n"
"│       ├── gpg-agent.conf\n"
"│       └── gpg.conf\n"
"├── guile\n"
"│   └── .guile\n"
"├── guix\n"
"│   └── .config\n"
"│       └── guix\n"
"│           └── channels.scm\n"
"├── nix\n"
"│   ├── .config\n"
"│   │   └── nixpkgs\n"
"│   │       └── config.nix\n"
"│   └── .nix-channels\n"
"├── tmux\n"
"│   └── .tmux.conf\n"
"└── vim\n"
"    └── .vimrc\n"
"\n"
msgstr ""
"~$ tree -a ./dotfiles/\n"
"dotfiles/\n"
"├── git\n"
"│   └── .gitconfig\n"
"├── gpg\n"
"│   └── .gnupg\n"
"│       ├── gpg-agent.conf\n"
"│       └── gpg.conf\n"
"├── guile\n"
"│   └── .guile\n"
"├── guix\n"
"│   └── .config\n"
"│       └── guix\n"
"│           └── channels.scm\n"
"├── nix\n"
"│   ├── .config\n"
"│   │   └── nixpkgs\n"
"│   │       └── config.nix\n"
"│   └── .nix-channels\n"
"├── tmux\n"
"│   └── .tmux.conf\n"
"└── vim\n"
"    └── .vimrc\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:47457
#, fuzzy, no-wrap
msgid "13 directories, 10 files\n"
msgstr "13个目录,10个文件\n"

#. type: Plain text
#: guix-git/doc/guix.texi:47463
#, fuzzy
msgid "For an informal specification please refer to the Stow manual (@pxref{Introduction,,, stow, The GNU Stow Manual}). This tree structure is installed following GNU Stow's logic to the home directory upon @command{guix home reconfigure}."
msgstr "有关非正式规范,请参阅Stow手册(@pxref{Introduction,,, stow, The GNU Stow Manual})。此树结构在@command{guix home reconfigure}时根据GNU Stow的逻辑安装到主目录。"

#. type: Plain text
#: guix-git/doc/guix.texi:47465
#, fuzzy
msgid "A suitable configuration with a @code{'plain} layout could be:"
msgstr "适合的@code{'plain}布局配置可以是:"

#. type: lisp
#: guix-git/doc/guix.texi:47473
#, fuzzy, no-wrap
msgid ""
"(home-environment\n"
"  ;; @dots{}\n"
"  (services\n"
"    (service home-dotfiles-service-type\n"
"             (home-dotfiles-configuration\n"
"               (directories '(\"./dotfiles\"))))))\n"
msgstr ""
"(service dovecot-service-type\n"
"         (dovecot-configuration\n"
"           (mail-location \"maildir:~/.mail\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:47476
#, fuzzy
msgid "The expected home directory state would then be:"
msgstr "预期的主目录状态将是:"

#. type: example
#: guix-git/doc/guix.texi:47492
#, fuzzy, no-wrap
msgid ""
".\n"
"├── .config\n"
"│   ├── guix\n"
"│   │   └── channels.scm\n"
"│   └── nixpkgs\n"
"│       └── config.nix\n"
"├── .gitconfig\n"
"├── .gnupg\n"
"│   ├── gpg-agent.conf\n"
"│   └── gpg.conf\n"
"├── .guile\n"
"├── .nix-channels\n"
"├── .tmux.conf\n"
"└── .vimrc\n"
msgstr ""
".\n"
"├── .config\n"
"│   ├── guix\n"
"│   │   └── channels.scm\n"
"│   └── nixpkgs\n"
"│       └── config.nix\n"
"├── .gitconfig\n"
"├── .gnupg\n"
"│   ├── gpg-agent.conf\n"
"│   └── gpg.conf\n"
"├── .guile\n"
"├── .nix-channels\n"
"├── .tmux.conf\n"
"└── .vimrc\n"

#. type: defvar
#: guix-git/doc/guix.texi:47494
#, fuzzy, no-wrap
msgid "home-dotfiles-service-type"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:47502
#, fuzzy
msgid "Return a service which is very similar to @code{home-files-service-type} (and actually extends it), but designed to ease the way into using Guix Home for users that already track their dotfiles under some kind of version control.  This service allows users to point Guix Home to their dotfiles directory and have their files automatically provisioned to their home directory, without migrating all of their dotfiles to Guix native configurations."
msgstr "返回一个与@code{home-files-service-type}非常相似的服务(实际上扩展了它),但旨在帮助已经在某种版本控制下跟踪其点文件的用户更轻松地使用Guix Home。该服务允许用户将Guix Home指向其点文件目录,并自动将其文件配置到其主目录,而无需将所有点文件迁移到Guix本地配置。"

#. type: deftp
#: guix-git/doc/guix.texi:47506
#, fuzzy, no-wrap
msgid "{Data Type} home-dotfiles-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:47508
#, fuzzy
msgid "Available @code{home-dotfiles-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:47510
#, fuzzy, no-wrap
msgid "@code{source-directory} (default: @code{(current-source-directory)}) (type: string)"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:47514
#, fuzzy
msgid "The path where dotfile directories are resolved.  By default dotfile directories are resolved relative the source location where @code{home-dotfiles-configuration} appears."
msgstr "解析点文件目录的路径。默认情况下,点文件目录相对于出现@code{home-dotfiles-configuration}的源位置进行解析。"

#. type: item
#: guix-git/doc/guix.texi:47515
#, fuzzy, no-wrap
msgid "@code{layout} (default: @code{'plain}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:47518
#, fuzzy
msgid "The intended layout of the specified @code{directory}.  It can be either @code{'stow} or @code{'plain}."
msgstr "指定@code{directory}的预期布局。可以是@code{'stow}或@code{'plain}。"

#. type: item
#: guix-git/doc/guix.texi:47519
#, fuzzy, no-wrap
msgid "@code{directories} (default: @code{'()}) (type: list-of-strings)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:47522
#, fuzzy
msgid "The list of dotfiles directories where @code{home-dotfiles-service-type} will look for application dotfiles."
msgstr "@code{home-dotfiles-service-type}将查找应用程序点文件的点文件目录列表。"

#. type: item
#: guix-git/doc/guix.texi:47523
#, fuzzy, no-wrap
msgid "@code{packages} (type: maybe-list-of-strings)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:47528
#, fuzzy
msgid "The names of a subset of the GNU Stow package layer directories.  When provided the @code{home-dotfiles-service-type} will only provision dotfiles from this subset of applications.  This field will be ignored if @code{layout} is set to @code{'plain}."
msgstr "GNU Stow软件包层目录的子集名称。当提供时,@code{home-dotfiles-service-type}将仅从此子集应用程序中配置点文件。如果@code{layout}设置为@code{'plain},则此字段将被忽略。"

#. type: item
#: guix-git/doc/guix.texi:47529
#, fuzzy, no-wrap
msgid "@code{excluded} (default: @code{'(\".*~\" \".*\\\\.swp\" \"\\\\.git\" \"\\\\.gitignore\")}) (type: list-of-strings)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:47532
#, fuzzy
msgid "The list of file patterns @code{home-dotfiles-service-type} will exclude while visiting each one of the @code{directories}."
msgstr "@code{home-dotfiles-service-type}在访问每个@code{directories}时将排除的文件模式列表。"

#. type: defvar
#: guix-git/doc/guix.texi:47540
#, fuzzy, no-wrap
msgid "home-xdg-configuration-files-service-type"
msgstr "管理操作系统配置。"

#. type: defvar
#: guix-git/doc/guix.texi:47547
#, fuzzy
msgid "The service is very similar to @code{home-files-service-type} (and actually extends it), but used for defining files, which will go to @file{~/.guix-home/files/.config}, which will be symlinked to @file{$XDG_CONFIG_DIR} by @code{home-symlink-manager-service-type} (for example) during activation.  It accepts extension values in the following format:"
msgstr "该服务与@code{home-files-service-type}非常相似(实际上扩展了它),但用于定义将进入@file{~/.guix-home/files/.config}的文件,这些文件将在激活期间由@code{home-symlink-manager-service-type}链接到@file{$XDG_CONFIG_DIR}(例如)。它接受以下格式的扩展值:"

#. type: lisp
#: guix-git/doc/guix.texi:47553
#, fuzzy, no-wrap
msgid ""
"`((\"sway/config\" ,sway-file-like-object)\n"
"  ;; -> ~/.guix-home/files/.config/sway/config\n"
"  ;; -> $XDG_CONFIG_DIR/sway/config (by symlink-manager)\n"
"  (\"tmux/tmux.conf\" ,(local-file \"./tmux.conf\")))\n"
msgstr ""
"`((\"sway/config\" ,sway-file-like-object)\n"
"  ;; -> ~/.guix-home/files/.config/sway/config\n"
"  ;; -> $XDG_CONFIG_DIR/sway/config (由symlink-manager)\n"
"  (\"tmux/tmux.conf\" ,(local-file \"./tmux.conf\")))\n"

#. type: defvar
#: guix-git/doc/guix.texi:47556
#, fuzzy, no-wrap
msgid "home-activation-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:47560
#, fuzzy
msgid "The service of this type generates a guile script, which runs on every @command{guix home reconfigure} invocation or any other action, which leads to the activation of the home environment."
msgstr "此类型的服务生成一个 guile 脚本,该脚本在每次调用 @command{guix home reconfigure} 或任何其他导致激活家庭环境的操作时运行。"

#. type: defvar
#: guix-git/doc/guix.texi:47562
#, fuzzy, no-wrap
msgid "home-symlink-manager-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:47566
#, fuzzy
msgid "The service of this type generates a guile script, which will be executed during activation of home environment, and do a few following steps:"
msgstr "此类型的服务生成一个 guile 脚本,该脚本将在激活家庭环境时执行,并执行以下几个步骤:"

#. type: enumerate
#: guix-git/doc/guix.texi:47571
#, fuzzy
msgid "Reads the content of @file{files/} directory of current and pending home environments."
msgstr "读取当前和待定家庭环境的 @file{files/} 目录的内容。"

#. type: enumerate
#: guix-git/doc/guix.texi:47576
#, fuzzy
msgid "Cleans up all symlinks created by symlink-manager on previous activation.  Also, sub-directories, which become empty also will be cleaned up."
msgstr "清理上次激活时由 symlink-manager 创建的所有符号链接。此外,变为空的子目录也将被清理。"

#. type: enumerate
#: guix-git/doc/guix.texi:47589
#, fuzzy
msgid "Creates new symlinks the following way: It looks @file{files/} directory (usually defined with @code{home-files-service-type}, @code{home-xdg-configuration-files-service-type} and maybe some others), takes the files from @file{files/.config/} subdirectory and put respective links in @env{XDG_CONFIG_DIR}.  For example symlink for @file{files/.config/sway/config} will end up in @file{$XDG_CONFIG_DIR/sway/config}.  The rest files in @file{files/} outside of @file{files/.config/} subdirectory will be treated slightly different: symlink will just go to @file{$HOME}.  @file{files/.some-program/config} will end up in @file{$HOME/.some-program/config}."
msgstr "以以下方式创建新的符号链接:它查看 @file{files/} 目录(通常由 @code{home-files-service-type}、@code{home-xdg-configuration-files-service-type} 和其他一些定义),从 @file{files/.config/} 子目录中获取文件,并在 @env{XDG_CONFIG_DIR} 中放置相应的链接。例如,@file{files/.config/sway/config} 的符号链接将最终位于 @file{$XDG_CONFIG_DIR/sway/config}。在 @file{files/} 中,@file{files/.config/} 子目录之外的其余文件将被稍微不同地处理:符号链接将直接指向 @file{$HOME}。@file{files/.some-program/config} 将最终位于 @file{$HOME/.some-program/config}。"

#. type: enumerate
#: guix-git/doc/guix.texi:47592
#, fuzzy
msgid "If some sub-directories are missing, they will be created."
msgstr "如果某些子目录缺失,它们将被创建。"

#. type: enumerate
#: guix-git/doc/guix.texi:47595
#, fuzzy
msgid "If there is a clashing files on the way, they will be backed up."
msgstr "如果路径上有冲突的文件,它们将被备份。"

#. type: defvar
#: guix-git/doc/guix.texi:47600
#, fuzzy
msgid "symlink-manager is a part of essential home services and is enabled and used by default."
msgstr "symlink-manager 是基本家庭服务的一部分,默认情况下已启用并使用。"

#. type: node
#: guix-git/doc/guix.texi:47603
#, fuzzy, no-wrap
msgid "Shells Home Services"
msgstr "Shepherd服务"

#. type: subsection
#: guix-git/doc/guix.texi:47604
#, fuzzy, no-wrap
msgid "Shells"
msgstr "Shells"

#. type: cindex
#: guix-git/doc/guix.texi:47606 guix-git/doc/guix.texi:49725
#, fuzzy, no-wrap
msgid "shell"
msgstr "shell"

#. type: cindex
#: guix-git/doc/guix.texi:47607
#, fuzzy, no-wrap
msgid "login shell"
msgstr "登录 shell"

#. type: cindex
#: guix-git/doc/guix.texi:47608
#, fuzzy, no-wrap
msgid "interactive shell"
msgstr "交互式 shell"

#. type: cindex
#: guix-git/doc/guix.texi:47609 guix-git/doc/guix.texi:49727
#, fuzzy, no-wrap
msgid "bash"
msgstr "bash"

#. type: cindex
#: guix-git/doc/guix.texi:47610 guix-git/doc/guix.texi:49728
#, fuzzy, no-wrap
msgid "zsh"
msgstr "zsh"

#. type: Plain text
#: guix-git/doc/guix.texi:47616
#, fuzzy
msgid "Shells play a quite important role in the environment initialization process, you can configure them manually as described in section @ref{Configuring the Shell}, but the recommended way is to use home services listed below.  It's both easier and more reliable."
msgstr "Shells 在环境初始化过程中扮演着相当重要的角色,您可以按照 @ref{Configuring the Shell} 部分中描述的方式手动配置它们,但推荐的方式是使用下面列出的家庭服务。这既简单又可靠。"

#. type: Plain text
#: guix-git/doc/guix.texi:47626
#, fuzzy
msgid "Each home environment instantiates @code{home-shell-profile-service-type}, which creates a @file{~/.profile} startup file for all POSIX-compatible shells.  This file contains all the necessary steps to properly initialize the environment, but many modern shells like Bash or Zsh prefer their own startup files, that's why the respective home services (@code{home-bash-service-type} and @code{home-zsh-service-type}) ensure that @file{~/.profile} is sourced by @file{~/.bash_profile} and @file{~/.zprofile}, respectively."
msgstr "每个家庭环境实例化 @code{home-shell-profile-service-type},为所有 POSIX 兼容的 shell 创建一个 @file{~/.profile} 启动文件。该文件包含正确初始化环境所需的所有步骤,但许多现代 shell(如 Bash 或 Zsh)更喜欢自己的启动文件,这就是为什么相应的家庭服务(@code{home-bash-service-type} 和 @code{home-zsh-service-type})确保 @file{~/.profile} 被 @file{~/.bash_profile} 和 @file{~/.zprofile} 分别引用。"

#. type: subsubheading
#: guix-git/doc/guix.texi:47627
#, fuzzy, no-wrap
msgid "Shell Profile Service"
msgstr "证书服务"

#. type: deftp
#: guix-git/doc/guix.texi:47629
#, fuzzy, no-wrap
msgid "{Data Type} home-shell-profile-configuration"
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:47631
#, fuzzy
msgid "Available @code{home-shell-profile-configuration} fields are:"
msgstr "可用的 @code{home-shell-profile-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:47633
#, fuzzy, no-wrap
msgid "@code{profile} (default: @code{'()}) (type: text-config)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:47643
#, fuzzy
msgid "@code{home-shell-profile} is instantiated automatically by @code{home-environment}, DO NOT create this service manually, it can only be extended.  @code{profile} is a list of file-like objects, which will go to @file{~/.profile}.  By default @file{~/.profile} contains the initialization code which must be evaluated by the login shell to make home-environment's profile available to the user, but other commands can be added to the file if it is really necessary.  In most cases shell's configuration files are preferred places for user's customizations.  Extend home-shell-profile service only if you really know what you do."
msgstr "@code{home-shell-profile} 由 @code{home-environment} 自动实例化,请勿手动创建此服务,它只能被扩展。 @code{profile} 是一个文件对象的列表,将被添加到 @file{~/.profile} 中。 默认情况下,@file{~/.profile} 包含初始化代码,必须由登录 shell 评估,以使 home-environment 的配置文件对用户可用,但如果确实必要,可以向文件中添加其他命令。在大多数情况下,shell 的配置文件是用户自定义的首选位置。 仅在您确实知道自己在做什么的情况下扩展 home-shell-profile 服务。"

#. type: subsubheading
#: guix-git/doc/guix.texi:47648
#, fuzzy, no-wrap
msgid "Bash Home Service"
msgstr "基础服务"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:47651
#, fuzzy
msgid "home-bash-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:47651
#, fuzzy, no-wrap
msgid "{Data Type} home-bash-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:47653
#, fuzzy
msgid "Available @code{home-bash-configuration} fields are:"
msgstr "可用的 @code{home-bash-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:47655
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{bash}) (type: package)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:47657
#, fuzzy
msgid "The Bash package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:47658
#, fuzzy, no-wrap
msgid "@code{guix-defaults?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:47661
#, fuzzy
msgid "Add sane defaults like reading @file{/etc/bashrc} and coloring the output of @command{ls} to the top of the @file{.bashrc} file."
msgstr "添加合理的默认值,例如读取 @file{/etc/bashrc} 并将 @command{ls} 的输出着色,放在 @file{.bashrc} 文件的顶部。"

#. type: item
#: guix-git/doc/guix.texi:47662 guix-git/doc/guix.texi:47733
#: guix-git/doc/guix.texi:47772
#, fuzzy, no-wrap
msgid "@code{environment-variables} (default: @code{'()}) (type: alist)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:47667
#, fuzzy
msgid "Association list of environment variables to set for the Bash session.  The rules for the @code{home-environment-variables-service-type} apply here (@pxref{Essential Home Services}).  The contents of this field will be added after the contents of the @code{bash-profile} field."
msgstr "要为 Bash 会话设置的环境变量的关联列表。 @code{home-environment-variables-service-type} 的规则适用于此 (@pxref{Essential Home Services})。 此字段的内容将在 @code{bash-profile} 字段的内容之后添加。"

#. type: item
#: guix-git/doc/guix.texi:47668 guix-git/doc/guix.texi:47738
#, fuzzy, no-wrap
msgid "@code{aliases} (default: @code{'()}) (type: alist)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:47673
#, fuzzy
msgid "Association list of aliases to set for the Bash session.  The aliases will be defined after the contents of the @code{bashrc} field has been put in the @file{.bashrc} file.  The alias will automatically be quoted, so something like this:"
msgstr "要为 Bash 会话设置的别名的关联列表。 别名将在 @code{bashrc} 字段的内容被放入 @file{.bashrc} 文件后定义。 别名将自动被引用,因此像这样:"

#. type: lisp
#: guix-git/doc/guix.texi:47676
#, fuzzy, no-wrap
msgid "'((\"ls\" . \"ls -alF\"))\n"
msgstr "'((\"ls\" . \"ls -alF\"))\n"

#. type: table
#: guix-git/doc/guix.texi:47679 guix-git/doc/guix.texi:47882
#: guix-git/doc/guix.texi:47896 guix-git/doc/guix.texi:47921
#, fuzzy
msgid "turns into"
msgstr "变成"

#. type: example
#: guix-git/doc/guix.texi:47682
#, fuzzy, no-wrap
msgid "alias ls=\"ls -alF\"\n"
msgstr "alias ls=\"ls -alF\"\n"

#. type: item
#: guix-git/doc/guix.texi:47684 guix-git/doc/guix.texi:47742
#, fuzzy, no-wrap
msgid "@code{bash-profile} (default: @code{'()}) (type: text-config)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:47689
#, fuzzy
msgid "List of file-like objects, which will be added to @file{.bash_profile}.  Used for executing user's commands at start of login shell (In most cases the shell started on tty just after login).  @file{.bash_login} won't be ever read, because @file{.bash_profile} always present."
msgstr "文件对象的列表,将被添加到 @file{.bash_profile} 中。 用于在登录 shell 启动时执行用户的命令(在大多数情况下,shell 在登录后刚在 tty 上启动)。 @file{.bash_login} 将永远不会被读取,因为 @file{.bash_profile} 始终存在。"

#. type: item
#: guix-git/doc/guix.texi:47690 guix-git/doc/guix.texi:47746
#, fuzzy, no-wrap
msgid "@code{bashrc} (default: @code{'()}) (type: text-config)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:47695
#, fuzzy
msgid "List of file-like objects, which will be added to @file{.bashrc}.  Used for executing user's commands at start of interactive shell (The shell for interactive usage started by typing @code{bash} or by terminal app or any other program)."
msgstr "文件对象的列表,将被添加到 @file{.bashrc} 中。 用于在交互式 shell 启动时执行用户的命令(通过输入 @code{bash} 或通过终端应用程序或任何其他程序启动的交互式使用的 shell)。"

#. type: item
#: guix-git/doc/guix.texi:47696 guix-git/doc/guix.texi:47750
#, fuzzy, no-wrap
msgid "@code{bash-logout} (default: @code{'()}) (type: text-config)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:47701
#, fuzzy
msgid "List of file-like objects, which will be added to @file{.bash_logout}.  Used for executing user's commands at the exit of login shell.  It won't be read in some cases (if the shell terminates by exec'ing another process for example)."
msgstr "文件对象的列表,将被添加到 @file{.bash_logout} 中。 用于在登录 shell 退出时执行用户的命令。 在某些情况下,它不会被读取(例如,如果 shell 通过 exec 另一个进程终止)。"

#. type: Plain text
#: guix-git/doc/guix.texi:47711
#, fuzzy
msgid "You can extend the Bash service by using the @code{home-bash-extension} configuration record, whose fields must mirror that of @code{home-bash-configuration} (@pxref{home-bash-configuration}).  The contents of the extensions will be added to the end of the corresponding Bash configuration files (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}."
msgstr "您可以通过使用@code{home-bash-extension}配置记录来扩展Bash服务,其字段必须与@code{home-bash-configuration}的字段相对应(@pxref{home-bash-configuration})。扩展的内容将添加到相应的Bash配置文件的末尾(@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}。"

#. type: Plain text
#: guix-git/doc/guix.texi:47715
#, fuzzy
msgid "For example, here is how you would define a service that extends the Bash service such that @file{~/.bash_profile} defines an additional environment variable, @env{PS1}:"
msgstr "例如,这里是如何定义一个扩展Bash服务的服务,使得@file{~/.bash_profile}定义一个额外的环境变量@env{PS1}:"

#. type: lisp
#: guix-git/doc/guix.texi:47723
#, fuzzy, no-wrap
msgid ""
"(define bash-fancy-prompt-service\n"
"  (simple-service 'bash-fancy-prompt\n"
"                  home-bash-service-type\n"
"                  (home-bash-extension\n"
"                   (environment-variables\n"
"                    '((\"PS1\" . \"\\\\u \\\\wλ \"))))))\n"
msgstr ""
"(define bash-fancy-prompt-service\n"
"  (simple-service 'bash-fancy-prompt\n"
"                  home-bash-service-type\n"
"                  (home-bash-extension\n"
"                   (environment-variables\n"
"                    '((\"PS1\" . \"\\\\u \\\\wλ \"))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:47728
#, fuzzy
msgid "You would then add @code{bash-fancy-prompt-service} to the list in the @code{services} field of your @code{home-environment}.  The reference of @code{home-bash-extension} follows."
msgstr "然后,您将@code{bash-fancy-prompt-service}添加到您的@code{home-environment}的@code{services}字段中的列表中。@code{home-bash-extension}的参考如下。"

#. type: deftp
#: guix-git/doc/guix.texi:47729
#, fuzzy, no-wrap
msgid "{Data Type} home-bash-extension"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:47731
#, fuzzy
msgid "Available @code{home-bash-extension} fields are:"
msgstr "可用的@code{home-bash-extension}字段有:"

#. type: table
#: guix-git/doc/guix.texi:47737
#, fuzzy
msgid "Additional environment variables to set.  These will be combined with the environment variables from other extensions and the base service to form one coherent block of environment variables."
msgstr "要设置的额外环境变量。这些将与其他扩展和基础服务的环境变量结合,形成一个连贯的环境变量块。"

#. type: table
#: guix-git/doc/guix.texi:47741
#, fuzzy
msgid "Additional aliases to set.  These will be combined with the aliases from other extensions and the base service."
msgstr "要设置的额外别名。这些将与其他扩展和基础服务的别名结合。"

#. type: table
#: guix-git/doc/guix.texi:47745
#, fuzzy
msgid "Additional text blocks to add to @file{.bash_profile}, which will be combined with text blocks from other extensions and the base service."
msgstr "要添加到@file{.bash_profile}的额外文本块,这些将与其他扩展和基础服务的文本块结合。"

#. type: table
#: guix-git/doc/guix.texi:47749
#, fuzzy
msgid "Additional text blocks to add to @file{.bashrc}, which will be combined with text blocks from other extensions and the base service."
msgstr "要添加到@file{.bashrc}的额外文本块,这些将与其他扩展和基础服务的文本块结合。"

#. type: table
#: guix-git/doc/guix.texi:47753
#, fuzzy
msgid "Additional text blocks to add to @file{.bash_logout}, which will be combined with text blocks from other extensions and the base service."
msgstr "要添加到@file{.bash_logout}的额外文本块,这些将与其他扩展和基础服务的文本块结合。"

#. type: subsubheading
#: guix-git/doc/guix.texi:47757
#, fuzzy, no-wrap
msgid "Zsh Home Service"
msgstr "游戏服务"

#. type: deftp
#: guix-git/doc/guix.texi:47759
#, fuzzy, no-wrap
msgid "{Data Type} home-zsh-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:47761
#, fuzzy
msgid "Available @code{home-zsh-configuration} fields are:"
msgstr "可用的@code{home-zsh-configuration}字段有:"

#. type: item
#: guix-git/doc/guix.texi:47763
#, fuzzy, no-wrap
msgid "@code{package} (default: @code{zsh}) (type: package)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:47765
#, fuzzy
msgid "The Zsh package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:47766
#, fuzzy, no-wrap
msgid "@code{xdg-flavor?} (default: @code{#t}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:47771
#, fuzzy
msgid "Place all the configs to @file{$XDG_CONFIG_HOME/zsh}.  Makes @file{~/.zshenv} to set @env{ZDOTDIR} to @file{$XDG_CONFIG_HOME/zsh}.  Shell startup process will continue with @file{$XDG_CONFIG_HOME/zsh/.zshenv}."
msgstr "将所有配置放置到@file{$XDG_CONFIG_HOME/zsh}。使@file{~/.zshenv}设置@env{ZDOTDIR}为@file{$XDG_CONFIG_HOME/zsh}。Shell启动过程将继续使用@file{$XDG_CONFIG_HOME/zsh/.zshenv}。"

#. type: table
#: guix-git/doc/guix.texi:47774
#, fuzzy
msgid "Association list of environment variables to set for the Zsh session."
msgstr "要为Zsh会话设置的环境变量的关联列表。"

#. type: item
#: guix-git/doc/guix.texi:47775
#, fuzzy, no-wrap
msgid "@code{zshenv} (default: @code{'()}) (type: text-config)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:47780
#, fuzzy
msgid "List of file-like objects, which will be added to @file{.zshenv}.  Used for setting user's shell environment variables.  Must not contain commands assuming the presence of tty or producing output.  Will be read always.  Will be read before any other file in @env{ZDOTDIR}."
msgstr "文件类似对象的列表,将被添加到 @file{.zshenv}。用于设置用户的 shell 环境变量。不得包含假设存在 tty 或产生输出的命令。将始终被读取。在 @env{ZDOTDIR} 中的任何其他文件之前将被读取。"

#. type: item
#: guix-git/doc/guix.texi:47781
#, fuzzy, no-wrap
msgid "@code{zprofile} (default: @code{'()}) (type: text-config)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:47786
#, fuzzy
msgid "List of file-like objects, which will be added to @file{.zprofile}.  Used for executing user's commands at start of login shell (In most cases the shell started on tty just after login).  Will be read before @file{.zlogin}."
msgstr "文件类似对象的列表,将被添加到 @file{.zprofile}。用于在登录 shell 启动时执行用户的命令(在大多数情况下,登录后在 tty 上启动的 shell)。将在 @file{.zlogin} 之前被读取。"

#. type: item
#: guix-git/doc/guix.texi:47787
#, fuzzy, no-wrap
msgid "@code{zshrc} (default: @code{'()}) (type: text-config)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:47792
#, fuzzy
msgid "List of file-like objects, which will be added to @file{.zshrc}.  Used for executing user's commands at start of interactive shell (The shell for interactive usage started by typing @code{zsh} or by terminal app or any other program)."
msgstr "文件类似对象的列表,将被添加到 @file{.zshrc}。用于在交互式 shell 启动时执行用户的命令(通过输入 @code{zsh} 或通过终端应用程序或任何其他程序启动的交互使用的 shell)。"

#. type: item
#: guix-git/doc/guix.texi:47793
#, fuzzy, no-wrap
msgid "@code{zlogin} (default: @code{'()}) (type: text-config)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:47797
#, fuzzy
msgid "List of file-like objects, which will be added to @file{.zlogin}.  Used for executing user's commands at the end of starting process of login shell."
msgstr "文件类似对象的列表,将被添加到 @file{.zlogin}。用于在登录 shell 启动过程结束时执行用户的命令。"

#. type: item
#: guix-git/doc/guix.texi:47798
#, fuzzy, no-wrap
msgid "@code{zlogout} (default: @code{'()}) (type: text-config)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:47803
#, fuzzy
msgid "List of file-like objects, which will be added to @file{.zlogout}.  Used for executing user's commands at the exit of login shell.  It won't be read in some cases (if the shell terminates by exec'ing another process for example)."
msgstr "文件类似对象的列表,将被添加到 @file{.zlogout}。用于在登录 shell 退出时执行用户的命令。在某些情况下不会被读取(例如,如果 shell 通过 exec 另一个进程终止)。"

#. type: subsubheading
#: guix-git/doc/guix.texi:47808
#, fuzzy, no-wrap
msgid "Inputrc Profile Service"
msgstr "证书服务"

#. type: cindex
#: guix-git/doc/guix.texi:47809
#, fuzzy, no-wrap
msgid "inputrc"
msgstr "inputrc"

#. type: cindex
#: guix-git/doc/guix.texi:47810
#, fuzzy, no-wrap
msgid "readline"
msgstr "readline"

#. type: Plain text
#: guix-git/doc/guix.texi:47819
#, fuzzy
msgid "The @uref{https://tiswww.cwru.edu/php/chet/readline/rltop.html, GNU Readline package} includes Emacs and vi editing modes, with the ability to customize the configuration with settings in the @file{~/.inputrc} file.  With the @code{gnu home services shells} module, you can setup your readline configuration in a predictable manner, as shown below.  For more information about configuring an @file{~/.inputrc} file, @pxref{Readline Init File,,, readline, GNU Readline}."
msgstr "@uref{https://tiswww.cwru.edu/php/chet/readline/rltop.html, GNU Readline 包} 包含 Emacs 和 vi 编辑模式,并能够通过 @file{~/.inputrc} 文件中的设置自定义配置。使用 @code{gnu home services shells} 模块,您可以以可预测的方式设置 readline 配置,如下所示。有关配置 @file{~/.inputrc} 文件的更多信息,请参见 @pxref{Readline Init File,,, readline, GNU Readline}。"

#. type: defvar
#: guix-git/doc/guix.texi:47820
#, fuzzy, no-wrap
msgid "home-inputrc-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:47825
#, fuzzy
msgid "This is the service to setup various @file{.inputrc} configurations. The settings in @file{.inputrc} are read by all programs which are linked with GNU Readline."
msgstr "这是设置各种 @file{.inputrc} 配置的服务。@file{.inputrc} 中的设置被所有与 GNU Readline 关联的程序读取。"

#. type: Plain text
#: guix-git/doc/guix.texi:47828 guix-git/doc/guix.texi:48176
#: guix-git/doc/guix.texi:48430 guix-git/doc/guix.texi:49130
#: guix-git/doc/guix.texi:49164 guix-git/doc/guix.texi:49202
#, fuzzy
msgid "Here is an example of a service and its configuration that you could add to the @code{services} field of your @code{home-environment}:"
msgstr "这是您可以添加到 @code{home-environment} 的 @code{services} 字段的服务及其配置示例:"

#. type: lisp
#: guix-git/doc/guix.texi:47854
#, fuzzy, no-wrap
msgid ""
"(service home-inputrc-service-type\n"
"         (home-inputrc-configuration\n"
"           (key-bindings\n"
"            `((\"Control-l\" . \"clear-screen\")))\n"
"           (variables\n"
"            `((\"bell-style\" . \"visible\")\n"
"              (\"colored-completion-prefix\" . #t)\n"
"              (\"editing-mode\" . \"vi\")\n"
"              (\"show-mode-in-prompt\" . #t)))\n"
"           (conditional-constructs\n"
"            `((\"$if mode=vi\" .\n"
"               ,(home-inputrc-configuration\n"
"                  (variables\n"
"                   `((\"colored-stats\" . #t)\n"
"                     (\"enable-bracketed-paste\" . #t)))))\n"
"              (\"$else\" .\n"
"               ,(home-inputrc-configuration\n"
"                  (variables\n"
"                   `((\"show-all-if-ambiguous\" . #t)))))\n"
"              (\"endif\" . #t)\n"
"              (\"$include\" . \"/etc/inputrc\")\n"
"              (\"$include\" . ,(file-append\n"
"                               (specification->package \"readline\")\n"
"                               \"/etc/inputrc\"))))))\n"
msgstr ""
"(service home-inputrc-service-type\n"
"         (home-inputrc-configuration\n"
"           (key-bindings\n"
"            `((\"Control-l\" . \"clear-screen\")))\n"
"           (variables\n"
"            `((\"bell-style\" . \"visible\")\n"
"              (\"colored-completion-prefix\" . #t)\n"
"              (\"editing-mode\" . \"vi\")\n"
"              (\"show-mode-in-prompt\" . #t)))\n"
"           (conditional-constructs\n"
"            `((\"$if mode=vi\" .\n"
"               ,(home-inputrc-configuration\n"
"                  (variables\n"
"                   `((\"colored-stats\" . #t)\n"
"                     (\"enable-bracketed-paste\" . #t)))))\n"
"              (\"$else\" .\n"
"               ,(home-inputrc-configuration\n"
"                  (variables\n"
"                   `((\"show-all-if-ambiguous\" . #t)))))\n"
"              (\"endif\" . #t)\n"
"              (\"$include\" . \"/etc/inputrc\")\n"
"              (\"$include\" . ,(file-append\n"
"                               (specification->package \"readline\")\n"
"                               \"/etc/inputrc\"))))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:47862
#, fuzzy
msgid "The example above starts with a combination of @code{key-bindings} and @code{variables}.  The @code{conditional-constructs} show how it is possible to add conditionals and includes.  In the example above @code{colored-stats} is only enabled if the editing mode is @code{vi} style, and it also reads any additional configuration located in @file{/etc/inputrc} or in @file{/gnu/store/@dots{}-readline/etc/inputrc}."
msgstr "上面的示例以 @code{key-bindings} 和 @code{variables} 的组合开始。 @code{conditional-constructs} 显示了如何添加条件和包含。在上面的示例中,@code{colored-stats} 仅在编辑模式为 @code{vi} 风格时启用,并且它还读取位于 @file{/etc/inputrc} 或 @file{/gnu/store/@dots{}-readline/etc/inputrc} 中的任何附加配置。"

#. type: defvar
#: guix-git/doc/guix.texi:47865
#, fuzzy
msgid "The value associated with a @code{home-inputrc-service-type} instance must be a @code{home-inputrc-configuration} record, as described below."
msgstr "与 @code{home-inputrc-service-type} 实例关联的值必须是 @code{home-inputrc-configuration} 记录,如下所述。"

#. type: anchor{#1}
#: guix-git/doc/guix.texi:47869
#, fuzzy
msgid "home-inputrc-configuration"
msgstr "系统配置"

#. type: deftp
#: guix-git/doc/guix.texi:47869
#, fuzzy, no-wrap
msgid "{Data Type} home-inputrc-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:47871
#, fuzzy
msgid "Available @code{home-inputrc-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:47873
#, fuzzy, no-wrap
msgid "@code{key-bindings} (default: @code{'()}) (type: alist)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:47876
#, fuzzy
msgid "Association list of readline key bindings to be added to the @file{~/.inputrc} file."
msgstr "要添加到 @file{~/.inputrc} 文件的 readline 键绑定的关联列表。"

#. type: lisp
#: guix-git/doc/guix.texi:47879
#, fuzzy, no-wrap
msgid "'((\\\"Control-l\\\" . \\\"clear-screen\\\"))\n"
msgstr "'((\\\"Control-l\\\" . \\\"clear-screen\\\"))\n"

#. type: example
#: guix-git/doc/guix.texi:47885
#, fuzzy, no-wrap
msgid "Control-l: clear-screen\n"
msgstr "Control-l: clear-screen\n"

#. type: item
#: guix-git/doc/guix.texi:47887
#, fuzzy, no-wrap
msgid "@code{variables} (default: @code{'()}) (type: alist)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:47889
#, fuzzy
msgid "Association list of readline variables to set."
msgstr "要设置的 readline 变量的关联列表。"

#. type: lisp
#: guix-git/doc/guix.texi:47893
#, fuzzy, no-wrap
msgid ""
"'((\\\"bell-style\\\" . \\\"visible\\\")\n"
"  (\\\"colored-completion-prefix\\\" . #t))\n"
msgstr ""
"'((\\\"bell-style\\\" . \\\"visible\\\")\n"
"  (\\\"colored-completion-prefix\\\" . #t))\n"

#. type: example
#: guix-git/doc/guix.texi:47900
#, fuzzy, no-wrap
msgid ""
"set bell-style visible\n"
"set colored-completion-prefix on\n"
msgstr ""
"设置 bell-style 为 visible\n"
"设置 colored-completion-prefix 为 on\n"

#. type: item
#: guix-git/doc/guix.texi:47902
#, fuzzy, no-wrap
msgid "@code{conditional-constructs} (default: @code{'()}) (type: alist)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:47906
#, fuzzy
msgid "Association list of conditionals to add to the initialization file.  This includes @command{$if}, @command{else}, @command{endif} and @command{include} and they receive a value of another @command{home-inputrc-configuration}."
msgstr "要添加到初始化文件的条件的关联列表。这包括 @command{$if}、@command{else}、@command{endif} 和 @command{include},它们接收另一个 @command{home-inputrc-configuration} 的值。"

#. type: lisp
#: guix-git/doc/guix.texi:47918
#, fuzzy, no-wrap
msgid ""
"(conditional-constructs\n"
" `((\\\"$if mode=vi\\\" .\n"
"     ,(home-inputrc-configuration\n"
"        (variables\n"
"         `((\\\"show-mode-in-prompt\\\" . #t)))))\n"
"   (\\\"$else\\\" .\n"
"     ,(home-inputrc-configuration\n"
"        (key-bindings\n"
"         `((\\\"Control-l\\\" . \\\"clear-screen\\\")))))\n"
"   (\\\"$endif\\\" . #t)))\n"
msgstr ""
"(conditional-constructs\n"
" `((\\\"$if mode=vi\\\" .\n"
"     ,(home-inputrc-configuration\n"
"        (variables\n"
"         `((\\\"show-mode-in-prompt\\\" . #t)))))\n"
"   (\\\"$else\\\" .\n"
"     ,(home-inputrc-configuration\n"
"        (key-bindings\n"
"         `((\\\"Control-l\\\" . \\\"clear-screen\\\")))))\n"
"   (\\\"$endif\\\" . #t)))\n"

#. type: example
#: guix-git/doc/guix.texi:47928
#, fuzzy, no-wrap
msgid ""
"$if mode=vi\n"
"set show-mode-in-prompt on\n"
"$else\n"
"Control-l: clear-screen\n"
"$endif\n"
msgstr ""
"$if mode=vi\n"
"设置 show-mode-in-prompt 为 on\n"
"$else\n"
"Control-l: clear-screen\n"
"$endif\n"

#. type: item
#: guix-git/doc/guix.texi:47930
#, fuzzy, no-wrap
msgid "@code{extra-content} (default: @code{\"\"}) (type: text-config)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:47933
#, fuzzy
msgid "Extra content appended as-is to the configuration file.  Run @command{man readline} for more information about all the configuration options."
msgstr "作为配置文件附加的额外内容。运行 @command{man readline} 以获取有关所有配置选项的更多信息。"

#. type: node
#: guix-git/doc/guix.texi:47937
#, fuzzy, no-wrap
msgid "Mcron Home Service"
msgstr "监控服务"

#. type: subsection
#: guix-git/doc/guix.texi:47938
#, fuzzy, no-wrap
msgid "Scheduled User's Job Execution"
msgstr "执行计划任务"

#. type: Plain text
#: guix-git/doc/guix.texi:47951
#, fuzzy
msgid "The @code{(gnu home services mcron)} module provides an interface to GNU@tie{}mcron, a daemon to run jobs at scheduled times (@pxref{Top,,, mcron, GNU@tie{}mcron}).  The information about system's mcron is applicable here (@pxref{Scheduled Job Execution}), the only difference for home services is that they have to be declared in a @code{home-environment} record instead of an @code{operating-system} record."
msgstr "@code{(gnu home services mcron)} 模块提供了与 GNU@tie{}mcron 的接口,这是一个在预定时间运行作业的守护进程 (@pxref{Top,,, mcron, GNU@tie{}mcron})。有关系统 mcron 的信息在这里适用 (@pxref{Scheduled Job Execution}),家庭服务的唯一区别是它们必须在 @code{home-environment} 记录中声明,而不是在 @code{operating-system} 记录中。"

#. type: defvar
#: guix-git/doc/guix.texi:47952
#, fuzzy, no-wrap
msgid "home-mcron-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:47956
#, fuzzy
msgid "This is the type of the @code{mcron} home service, whose value is a @code{home-mcron-configuration} object.  It allows to manage scheduled tasks."
msgstr "这是@code{mcron}家庭服务的类型,其值是一个@code{home-mcron-configuration}对象。它允许管理计划任务。"

#. type: deftp
#: guix-git/doc/guix.texi:47963
#, fuzzy, no-wrap
msgid "{Data Type} home-mcron-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:47965
#, fuzzy
msgid "Available @code{home-mcron-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: table
#: guix-git/doc/guix.texi:47986
#, fuzzy
msgid "@code{(ice-9 format)} format string for log messages.  The default value produces messages like \"@samp{@var{pid} @var{name}: @var{message}\"} (@pxref{Invoking mcron, Invoking,, mcron,GNU@tie{}mcron}).  Each message is also prefixed by a timestamp by GNU Shepherd."
msgstr "@code{(ice-9 format)}日志消息的格式字符串。默认值生成类似于“@samp{@var{pid} @var{name}: @var{message}”}的消息(@pxref{Invoking mcron, Invoking,, mcron,GNU@tie{}mcron})。每条消息还会由GNU Shepherd添加时间戳前缀。"

#. type: subsection
#: guix-git/doc/guix.texi:47991 guix-git/doc/guix.texi:47992
#, fuzzy, no-wrap
msgid "Power Management Home Services"
msgstr "电源管理服务"

#. type: cindex
#: guix-git/doc/guix.texi:47994
#, fuzzy, no-wrap
msgid "power management"
msgstr "电源管理服务"

#. type: Plain text
#: guix-git/doc/guix.texi:47997
#, fuzzy
msgid "The @code{(gnu home services pm)} module provides home services pertaining to battery power."
msgstr "@code{(gnu home services pm)}模块提供与电池电源相关的家庭服务。"

#. type: defvar
#: guix-git/doc/guix.texi:47998
#, fuzzy, no-wrap
msgid "home-batsignal-service-type"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:48004
#, fuzzy
msgid "Service for @code{batsignal}, a program that monitors battery levels and warns the user through desktop notifications when their battery is getting low.  You can also configure a command to be run when the battery level passes a point deemed ``dangerous''.  This service is configured with the @code{home-batsignal-configuration} record."
msgstr "@code{batsignal}的服务,这是一个监控电池电量并在电池电量低时通过桌面通知警告用户的程序。您还可以配置在电池电量超过“危险”点时运行的命令。此服务使用@code{home-batsignal-configuration}记录进行配置。"

#. type: deftp
#: guix-git/doc/guix.texi:48006
#, fuzzy, no-wrap
msgid "{Data Type} home-batsignal-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48008
#, fuzzy
msgid "Data type representing the configuration for batsignal."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:48010
#, fuzzy, no-wrap
msgid "@code{warning-level} (default: @code{15})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:48012
#, fuzzy
msgid "The battery level to send a warning message at."
msgstr "发送警告消息的电池电量。"

#. type: item
#: guix-git/doc/guix.texi:48013
#, fuzzy, no-wrap
msgid "@code{warning-message} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48017
#, fuzzy
msgid "The message to send as a notification when the battery level reaches the @code{warning-level}.  Setting to @code{#f} uses the default message."
msgstr "当电池电量达到@code{warning-level}时发送的通知消息。设置为@code{#f}使用默认消息。"

#. type: item
#: guix-git/doc/guix.texi:48018
#, fuzzy, no-wrap
msgid "@code{critical-level} (default: @code{5})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:48020
#, fuzzy
msgid "The battery level to send a critical message at."
msgstr "发送关键消息的电池电量。"

#. type: item
#: guix-git/doc/guix.texi:48021
#, fuzzy, no-wrap
msgid "@code{critical-message} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48025
#, fuzzy
msgid "The message to send as a notification when the battery level reaches the @code{critical-level}.  Setting to @code{#f} uses the default message."
msgstr "当电池电量达到@code{critical-level}时发送的通知消息。设置为@code{#f}使用默认消息。"

#. type: item
#: guix-git/doc/guix.texi:48026
#, fuzzy, no-wrap
msgid "@code{danger-level} (default: @code{2})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:48028
#, fuzzy
msgid "The battery level to run the @code{danger-command} at."
msgstr "运行@code{danger-command}的电池电量。"

#. type: item
#: guix-git/doc/guix.texi:48029
#, fuzzy, no-wrap
msgid "@code{danger-command} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48032
#, fuzzy
msgid "The command to run when the battery level reaches the @code{danger-level}.  Setting to @code{#f} disables running the command entirely."
msgstr "当电池电量达到@code{danger-level}时运行的命令。设置为@code{#f}完全禁用运行该命令。"

#. type: item
#: guix-git/doc/guix.texi:48033
#, fuzzy, no-wrap
msgid "@code{full-level} (default: @code{#f})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:48036
#, fuzzy
msgid "The battery level to send a full message at.  Setting to @code{#f} disables sending the full message entirely."
msgstr "发送完整消息的电池电量。设置为@code{#f}完全禁用发送完整消息。"

#. type: item
#: guix-git/doc/guix.texi:48037
#, fuzzy, no-wrap
msgid "@code{full-message} (default: @code{#f})"
msgstr "@code{display}(默认值:@code{\":0\"})"

#. type: table
#: guix-git/doc/guix.texi:48040
#, fuzzy
msgid "The message to send as a notification when the battery level reaches the @code{full-level}.  Setting to @code{#f} uses the default message."
msgstr "当电池电量达到@code{full-level}时发送的通知消息。设置为@code{#f}使用默认消息。"

#. type: item
#: guix-git/doc/guix.texi:48041
#, fuzzy, no-wrap
msgid "@code{batteries} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:48044
#, fuzzy
msgid "The batteries to monitor.  Setting to @code{'()} tries to find batteries automatically."
msgstr "要监控的电池。设置为@code{'()}尝试自动查找电池。"

#. type: item
#: guix-git/doc/guix.texi:48045
#, fuzzy, no-wrap
msgid "@code{poll-delay} (default: @code{60})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:48047
#, fuzzy
msgid "The time in seconds to wait before checking the batteries again."
msgstr "在再次检查电池之前等待的时间(以秒为单位)。"

#. type: item
#: guix-git/doc/guix.texi:48048
#, fuzzy, no-wrap
msgid "@code{icon} (default: @code{#f})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48051
#, fuzzy
msgid "A file-like object to use as the icon for battery notifications.  Setting to @code{#f} disables notification icons entirely."
msgstr "用作电池通知图标的类文件对象。设置为@code{#f}完全禁用通知图标。"

#. type: item
#: guix-git/doc/guix.texi:48052
#, fuzzy, no-wrap
msgid "@code{notifications?} (default: @code{#t})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:48054
#, fuzzy
msgid "Whether to send any notifications."
msgstr "是否发送任何通知。"

#. type: item
#: guix-git/doc/guix.texi:48055
#, fuzzy, no-wrap
msgid "@code{notifications-expire?} (default: @code{#f})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:48057
#, fuzzy
msgid "Whether notifications sent expire after a time."
msgstr "发送的通知是否在一段时间后过期。"

#. type: item
#: guix-git/doc/guix.texi:48058
#, fuzzy, no-wrap
msgid "@code{notification-command} (default: @code{#f})"
msgstr "@code{authentication-hook}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48061
#, fuzzy
msgid "Command to use to send messages.  Setting to @code{#f} sends a notification through @code{libnotify}."
msgstr "用于发送消息的命令。将设置为 @code{#f} 通过 @code{libnotify} 发送通知。"

#. type: item
#: guix-git/doc/guix.texi:48062
#, fuzzy, no-wrap
msgid "@code{ignore-missing?} (default: @code{#f})"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48064
#, fuzzy
msgid "Whether to ignore missing battery errors."
msgstr "是否忽略缺少电池错误。"

#. type: node
#: guix-git/doc/guix.texi:48067
#, fuzzy, no-wrap
msgid "Shepherd Home Service"
msgstr "Shepherd服务"

#. type: subsection
#: guix-git/doc/guix.texi:48068
#, fuzzy, no-wrap
msgid "Managing User Daemons"
msgstr "消息服务。"

#. type: cindex
#: guix-git/doc/guix.texi:48070
#, fuzzy, no-wrap
msgid "shepherd services, for users"
msgstr "Shepherd服务"

#. type: Plain text
#: guix-git/doc/guix.texi:48077
#, fuzzy
msgid "The @code{(gnu home services shepherd)} module supports the definitions of per-user Shepherd services (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual}).  You extend @code{home-shepherd-service-type} with new services; Guix Home then takes care of starting the @code{shepherd} daemon for you when you log in, which in turns starts the services you asked for."
msgstr "@code{(gnu home services shepherd)} 模块支持每个用户的 Shepherd 服务定义 (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual})。您可以通过新服务扩展 @code{home-shepherd-service-type};然后 Guix Home 会在您登录时负责启动 @code{shepherd} 守护进程,从而启动您请求的服务。"

#. type: defvar
#: guix-git/doc/guix.texi:48078
#, fuzzy, no-wrap
msgid "home-shepherd-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48083
#, fuzzy
msgid "The service type for the userland Shepherd, which allows one to manage long-running processes or one-shot tasks.  User's Shepherd is not an init process (PID 1), but almost all other information described in (@pxref{Shepherd Services}) is applicable here too."
msgstr "用户空间 Shepherd 的服务类型,允许管理长时间运行的进程或一次性任务。用户的 Shepherd 不是初始化进程 (PID 1),但在 (@pxref{Shepherd Services}) 中描述的几乎所有其他信息在这里也适用。"

#. type: defvar
#: guix-git/doc/guix.texi:48088
#, fuzzy
msgid "This is the service type that extensions target when they want to create shepherd services (@pxref{Service Types and Services}, for an example).  Each extension must pass a list of @code{<shepherd-service>}.  Its value must be a @code{home-shepherd-configuration}, as described below."
msgstr "这是扩展在想要创建 shepherd 服务时所针对的服务类型 (@pxref{Service Types and Services}, 例如)。每个扩展必须传递一个 @code{<shepherd-service>} 列表。其值必须是 @code{home-shepherd-configuration},如下所述。"

#. type: deftp
#: guix-git/doc/guix.texi:48090
#, fuzzy, no-wrap
msgid "{Data Type} home-shepherd-configuration"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:48097
#, fuzzy, no-wrap
msgid "auto-start? (default: @code{#t})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:48099
#, fuzzy
msgid "Whether or not to start Shepherd on first login."
msgstr "是否在首次登录时启动 Shepherd。"

#. type: item
#: guix-git/doc/guix.texi:48100
#, fuzzy, no-wrap
msgid "daemonize? (default: @code{#t})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:48102
#, fuzzy
msgid "Whether or not to run Shepherd in the background."
msgstr "是否在后台运行 Shepherd。"

#. type: item
#: guix-git/doc/guix.texi:48103
#, fuzzy, no-wrap
msgid "silent? (default: @code{#t})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48106
#, fuzzy
msgid "When true, the @command{shepherd} process does not write anything to standard output when started automatically."
msgstr "当为真时,@command{shepherd} 进程在自动启动时不会向标准输出写入任何内容。"

#. type: cindex
#: guix-git/doc/guix.texi:48114
#, fuzzy, no-wrap
msgid "log rotation, for user services"
msgstr "管理操作系统配置。"

#. type: Plain text
#: guix-git/doc/guix.texi:48119
#, fuzzy
msgid "The Shepherd also comes with a @dfn{log rotation service}, which compresses and then deletes old log files produced by services and daemons that it runs.  This service is made available through @code{home-log-rotation-service-type} as described below."
msgstr "Shepherd 还附带一个 @dfn{日志轮换服务},它压缩并删除由其运行的服务和守护进程生成的旧日志文件。该服务通过 @code{home-log-rotation-service-type} 提供,如下所述。"

#. type: defvar
#: guix-git/doc/guix.texi:48120
#, fuzzy, no-wrap
msgid "home-log-rotation-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48126
#, fuzzy
msgid "This is the service type for the user Shepherd log rotation service (@pxref{Log Rotation Service,,, shepherd, The GNU Shepherd Manual}).  Its value must be a @code{log-rotation-configuration} record, exactly as for its system-wide counterpart.  @xref{log-rotation-configuration}, for its reference."
msgstr "这是用户 Shepherd 日志轮换服务的服务类型 (@pxref{Log Rotation Service,,, shepherd, The GNU Shepherd Manual})。其值必须是 @code{log-rotation-configuration} 记录,正如其系统范围的对应项一样。@xref{log-rotation-configuration},以供参考。"

#. type: defvar
#: guix-git/doc/guix.texi:48128
#, fuzzy
msgid "This service is part of @code{%base-home-services}."
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: defvar
#: guix-git/doc/guix.texi:48130
#, fuzzy, no-wrap
#| msgid "home-shepherd-service-type"
msgid "home-shepherd-transient-service-type"
msgstr "邮件服务"

#. type: defvarx
#: guix-git/doc/guix.texi:48131
#, fuzzy, no-wrap
#| msgid "home-shepherd-service-type"
msgid "home-shepherd-timer-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48135
msgid "These are the @code{timer} and @code{transient} Shepherd services.  The former lets you schedule command execution for later, while the latter can run commands in the background as a regular service."
msgstr ""

#. type: defvar
#: guix-git/doc/guix.texi:48139
msgid "@xref{shepherd-transient-timer-services, the system @code{timer} and @code{transient} services}, which are their Guix System counterparts, for more info."
msgstr ""

#. type: subsection
#: guix-git/doc/guix.texi:48141 guix-git/doc/guix.texi:48142
#, fuzzy, no-wrap
msgid "Secure Shell"
msgstr "安全外壳"

#. type: cindex
#: guix-git/doc/guix.texi:48144
#, fuzzy, no-wrap
msgid "secure shell client, configuration"
msgstr "系统配置"

#. type: cindex
#: guix-git/doc/guix.texi:48145
#, fuzzy, no-wrap
msgid "SSH client, configuration"
msgstr "系统配置"

#. type: Plain text
#: guix-git/doc/guix.texi:48153
#, fuzzy
msgid "The @uref{https://www.openssh.com, OpenSSH package} includes a client, the @command{ssh} command, that allows you to connect to remote machines using the @acronym{SSH, secure shell} protocol.  With the @code{(gnu home services ssh)} module, you can set up OpenSSH so that it works in a predictable fashion, almost independently of state on the local machine.  To do that, you instantiate @code{home-openssh-service-type} in your Home configuration, as explained below."
msgstr "@uref{https://www.openssh.com, OpenSSH 包} 包括一个客户端,即 @command{ssh} 命令,允许您使用 @acronym{SSH, 安全外壳} 协议连接到远程机器。通过 @code{(gnu home services ssh)} 模块,您可以设置 OpenSSH,使其以可预测的方式工作,几乎独立于本地机器的状态。为此,您需要在您的 Home 配置中实例化 @code{home-openssh-service-type},如下所述。"

#. type: defvar
#: guix-git/doc/guix.texi:48154
#, fuzzy, no-wrap
msgid "home-openssh-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48157
#, fuzzy
msgid "This is the type of the service to set up the OpenSSH client.  It takes care of several things:"
msgstr "这是设置 OpenSSH 客户端的服务类型。它处理几个事项:"

#. type: itemize
#: guix-git/doc/guix.texi:48163
#, fuzzy
msgid "providing a @file{~/.ssh/config} file based on your configuration so that @command{ssh} knows about hosts you regularly connect to and their associated parameters;"
msgstr "根据您的配置提供 @file{~/.ssh/config} 文件,以便 @command{ssh} 知道您定期连接的主机及其相关参数;"

#. type: itemize
#: guix-git/doc/guix.texi:48168
#, fuzzy
msgid "providing a @file{~/.ssh/authorized_keys}, which lists public keys that the local SSH server, @command{sshd}, may accept to connect to this user account;"
msgstr "提供 @file{~/.ssh/authorized_keys},其中列出了本地 SSH 服务器 @command{sshd} 可能接受的公钥,以连接到此用户帐户;"

#. type: itemize
#: guix-git/doc/guix.texi:48172
#, fuzzy
msgid "optionally providing a @file{~/.ssh/known_hosts} file so that @file{ssh} can authenticate hosts you connect to."
msgstr "可选地提供 @file{~/.ssh/known_hosts} 文件,以便 @file{ssh} 可以验证您连接的主机。"

#. type: lisp
#: guix-git/doc/guix.texi:48188
#, fuzzy, no-wrap
msgid ""
"(service home-openssh-service-type\n"
"         (home-openssh-configuration\n"
"          (hosts\n"
"           (list (openssh-host (name \"ci.guix.gnu.org\")\n"
"                               (user \"charlie\"))\n"
"                 (openssh-host (name \"chbouib\")\n"
"                               (host-name \"chbouib.example.org\")\n"
"                               (user \"supercharlie\")\n"
"                               (port 10022))))\n"
"          (authorized-keys (list (local-file \"alice.pub\")))))\n"
msgstr ""
"(service home-openssh-service-type\n"
"         (home-openssh-configuration\n"
"          (hosts\n"
"           (list (openssh-host (name \"ci.guix.gnu.org\")\n"
"                               (user \"charlie\"))\n"
"                 (openssh-host (name \"chbouib\")\n"
"                               (host-name \"chbouib.example.org\")\n"
"                               (user \"supercharlie\")\n"
"                               (port 10022))))\n"
"          (authorized-keys (list (local-file \"alice.pub\")))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:48195
#, fuzzy
msgid "The example above lists two hosts and their parameters.  For instance, running @command{ssh chbouib} will automatically connect to @code{chbouib.example.org} on port 10022, logging in as user @samp{supercharlie}.  Further, it marks the public key in @file{alice.pub} as authorized for incoming connections."
msgstr "上面的示例列出了两个主机及其参数。例如,运行 @command{ssh chbouib} 将自动连接到 @code{chbouib.example.org} 的 10022 端口,以用户 @samp{supercharlie} 登录。此外,它将 @file{alice.pub} 中的公钥标记为允许进行传入连接。"

#. type: defvar
#: guix-git/doc/guix.texi:48198
#, fuzzy
msgid "The value associated with a @code{home-openssh-service-type} instance must be a @code{home-openssh-configuration} record, as describe below."
msgstr "与 @code{home-openssh-service-type} 实例关联的值必须是 @code{home-openssh-configuration} 记录,如下所述。"

#. type: deftp
#: guix-git/doc/guix.texi:48200
#, fuzzy, no-wrap
msgid "{Data Type} home-openssh-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48204
#, fuzzy
msgid "This is the datatype representing the OpenSSH client and server configuration in one's home environment.  It contains the following fields:"
msgstr "这是表示个人主环境中 OpenSSH 客户端和服务器配置的数据类型。它包含以下字段:"

#. type: item
#: guix-git/doc/guix.texi:48206
#, fuzzy, no-wrap
msgid "@code{hosts} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:48210
#, fuzzy
msgid "A list of @code{openssh-host} records specifying host names and associated connection parameters (see below).  This host list goes into @file{~/.ssh/config}, which @command{ssh} reads at startup."
msgstr "一组 @code{openssh-host} 记录,指定主机名和相关连接参数(见下文)。此主机列表放入 @file{~/.ssh/config},@command{ssh} 在启动时读取该文件。"

#. type: item
#: guix-git/doc/guix.texi:48211
#, fuzzy, no-wrap
msgid "@code{known-hosts} (default: @code{*unspecified*})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:48213
#, fuzzy
msgid "This must be either:"
msgstr "这必须是以下之一:"

#. type: itemize
#: guix-git/doc/guix.texi:48219
#, fuzzy
msgid "@code{*unspecified*}, in which case @code{home-openssh-service-type} leaves it up to @command{ssh} and to the user to maintain the list of known hosts at @file{~/.ssh/known_hosts}, or"
msgstr "@code{*unspecified*},在这种情况下 @code{home-openssh-service-type} 将其留给 @command{ssh} 和用户来维护 @file{~/.ssh/known_hosts} 中的已知主机列表,或者"

#. type: itemize
#: guix-git/doc/guix.texi:48223
#, fuzzy
msgid "a list of file-like objects, in which case those are concatenated and emitted as @file{~/.ssh/known_hosts}."
msgstr "一组类似文件的对象,在这种情况下将这些对象连接并输出为 @file{~/.ssh/known_hosts}。"

#. type: table
#: guix-git/doc/guix.texi:48232
#, fuzzy
msgid "The @file{~/.ssh/known_hosts} contains a list of host name/host key pairs that allow @command{ssh} to authenticate hosts you connect to and to detect possible impersonation attacks.  By default, @command{ssh} updates it in a @dfn{TOFU, trust-on-first-use} fashion, meaning that it records the host's key in that file the first time you connect to it.  This behavior is preserved when @code{known-hosts} is set to @code{*unspecified*}."
msgstr "@file{~/.ssh/known_hosts} 包含了一组主机名/主机密钥对,允许 @command{ssh} 认证您连接的主机并检测可能的冒充攻击。默认情况下,@command{ssh} 以 @dfn{TOFU, trust-on-first-use} 的方式更新它,这意味着它在您第一次连接到主机时会将主机的密钥记录在该文件中。当 @code{known-hosts} 设置为 @code{*unspecified*} 时,这种行为会被保留。"

#. type: table
#: guix-git/doc/guix.texi:48238
#, fuzzy
msgid "If you instead provide a list of host keys upfront in the @code{known-hosts} field, your configuration becomes self-contained and stateless: it can be replicated elsewhere or at another point in time.  Preparing this list can be relatively tedious though, which is why @code{*unspecified*} is kept as a default."
msgstr "如果您在 @code{known-hosts} 字段中提前提供主机密钥列表,您的配置将变得自包含且无状态:它可以在其他地方或在另一个时间点进行复制。不过,准备这个列表可能相对繁琐,这就是为什么 @code{*unspecified*} 被保留为默认值。"

#. type: item
#: guix-git/doc/guix.texi:48239
#, fuzzy, no-wrap
msgid "@code{authorized-keys} (default: @code{#false})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:48244
#, fuzzy
msgid "The default @code{#false} value means: Leave any @file{~/.ssh/authorized_keys} file alone.  Otherwise, this must be a list of file-like objects, each of which containing an SSH public key that should be authorized to connect to this machine."
msgstr "默认的 @code{#false} 值意味着:保持 @file{~/.ssh/authorized_keys} 文件不变。否则,这必须是一个文件类对象的列表,每个对象都包含一个应该被授权连接到此机器的 SSH 公钥。"

#. type: table
#: guix-git/doc/guix.texi:48250
#, fuzzy
msgid "Concretely, these files are concatenated and made available as @file{~/.ssh/authorized_keys}.  If an OpenSSH server, @command{sshd}, is running on this machine, then it @emph{may} take this file into account: this is what @command{sshd} does by default, but be aware that it can also be configured to ignore it."
msgstr "具体来说,这些文件会被连接并作为 @file{~/.ssh/authorized_keys} 提供。如果在此机器上运行着 OpenSSH 服务器 @command{sshd},那么它 @emph{可能} 会考虑这个文件:这是 @command{sshd} 默认的行为,但请注意,它也可以被配置为忽略它。"

#. type: item
#: guix-git/doc/guix.texi:48251
#, fuzzy, no-wrap
msgid "@code{add-keys-to-agent} (default: @code{no})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:48264
#, fuzzy
msgid "This string specifies whether keys should be automatically added to a running ssh-agent.  If this option is set to @code{yes} and a key is loaded from a file, the key and its passphrase are added to the agent with the default lifetime, as if by @code{ssh-add}.  If this option is set to @code{ask}, @code{ssh} will require confirmation.  If this option is set to @code{confirm}, each use of the key must be confirmed.  If this option is set to @code{no}, no keys are added to the agent.  Alternately, this option may be specified as a time interval to specify the key's lifetime in @code{ssh-agent}, after which it will automatically be removed.  The argument must be @code{no}, @code{yes}, @code{confirm} (optionally followed by a time interval), @code{ask} or a time interval."
msgstr "此字符串指定是否应将密钥自动添加到正在运行的 ssh-agent。如果此选项设置为 @code{yes} 且从文件加载了密钥,则该密钥及其密码短语将以默认的生命周期添加到代理中,就像通过 @code{ssh-add} 一样。如果此选项设置为 @code{ask},则 @code{ssh} 将要求确认。如果此选项设置为 @code{confirm},则每次使用密钥都必须确认。如果此选项设置为 @code{no},则不会将任何密钥添加到代理中。或者,此选项可以指定为时间间隔,以指定密钥在 @code{ssh-agent} 中的生命周期,之后它将自动被移除。参数必须是 @code{no}、@code{yes}、@code{confirm}(可选后跟时间间隔)、@code{ask} 或时间间隔。"

#. type: deftp
#: guix-git/doc/guix.texi:48269
#, fuzzy, no-wrap
msgid "{Data Type} openssh-host"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48271
#, fuzzy
msgid "Available @code{openssh-host} fields are:"
msgstr "可用的 @code{openssh-host} 字段有:"

#. type: table
#: guix-git/doc/guix.texi:48277
#, fuzzy
msgid "Name of this host declaration.  A @code{openssh-host} must define only @code{name} or @code{match-criteria}.  Use host-name @code{\\\"*\\\"} for top-level options."
msgstr "此主机声明的名称。一个 @code{openssh-host} 必须仅定义 @code{name} 或 @code{match-criteria}。使用主机名 @code{\"*\"} 作为顶级选项。"

#. type: item
#: guix-git/doc/guix.texi:48278
#, fuzzy, no-wrap
msgid "@code{host-name} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48280
#, fuzzy
msgid "Host name---e.g., @code{\"foo.example.org\"} or @code{\"192.168.1.2\"}."
msgstr "主机名---例如,@code{\"foo.example.org\"} 或 @code{\"192.168.1.2\"}。"

#. type: item
#: guix-git/doc/guix.texi:48281
#, fuzzy, no-wrap
msgid "@code{match-criteria} (type: maybe-match-criteria)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48288
#, fuzzy
msgid "When specified, this string denotes the set of hosts to which the entry applies, superseding the @code{host-name} field.  Its first element must be all or one of @code{ssh-match-keywords}.  The rest of the elements are arguments for the keyword, or other criteria.  A @code{openssh-host} must define only @code{name} or @code{match-criteria}.  Other host configuration options will apply to all hosts matching @code{match-criteria}."
msgstr "当指定时,此字符串表示适用于该条目的主机集,优先于 @code{host-name} 字段。其第一个元素必须是所有或一个 @code{ssh-match-keywords}。其余元素是关键字的参数或其他标准。一个 @code{openssh-host} 必须仅定义 @code{name} 或 @code{match-criteria}。其他主机配置选项将适用于所有匹配 @code{match-criteria} 的主机。"

#. type: item
#: guix-git/doc/guix.texi:48289
#, fuzzy, no-wrap
msgid "@code{address-family} (type: maybe-address-family)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48293
#, fuzzy
msgid "Address family to use when connecting to this host: one of @code{AF_INET} (for IPv4 only), @code{AF_INET6} (for IPv6 only).  Additionally, the field can be left unset to allow any address family."
msgstr "连接到此主机时使用的地址族:@code{AF_INET}(仅适用于 IPv4)或 @code{AF_INET6}(仅适用于 IPv6)。此外,该字段可以不设置,以允许任何地址族。"

#. type: item
#: guix-git/doc/guix.texi:48294
#, fuzzy, no-wrap
msgid "@code{identity-file} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48296
#, fuzzy
msgid "The identity file to use---e.g., @code{\"/home/charlie/.ssh/id_ed25519\"}."
msgstr "要使用的身份文件---例如,@code{\"/home/charlie/.ssh/id_ed25519\"}。"

#. type: item
#: guix-git/doc/guix.texi:48297 guix-git/doc/guix.texi:48337
#, fuzzy, no-wrap
msgid "@code{port} (type: maybe-natural-number)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:48299 guix-git/doc/guix.texi:48339
#, fuzzy
msgid "TCP port number to connect to."
msgstr "要连接的 TCP 端口号。"

#. type: item
#: guix-git/doc/guix.texi:48300 guix-git/doc/guix.texi:48331
#: guix-git/doc/guix.texi:49097
#, fuzzy, no-wrap
msgid "@code{user} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48302 guix-git/doc/guix.texi:48333
#, fuzzy
msgid "User name on the remote host."
msgstr "远程机器的主机名。"

#. type: item
#: guix-git/doc/guix.texi:48303
#, fuzzy, no-wrap
msgid "@code{forward-x11?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:48306
#, fuzzy
msgid "Whether to forward remote client connections to the local X11 graphical display."
msgstr "是否将远程客户端连接转发到本地 X11 图形显示。"

#. type: item
#: guix-git/doc/guix.texi:48307
#, fuzzy, no-wrap
msgid "@code{forward-x11-trusted?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:48310
#, fuzzy
msgid "Whether remote X11 clients have full access to the original X11 graphical display."
msgstr "远程 X11 客户端是否可以完全访问原始 X11 图形显示。"

#. type: item
#: guix-git/doc/guix.texi:48311
#, fuzzy, no-wrap
msgid "@code{forward-agent?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:48314
#, fuzzy
msgid "Whether the authentication agent (if any) is forwarded to the remote machine."
msgstr "身份验证代理(如果有)是否转发到远程机器。"

#. type: item
#: guix-git/doc/guix.texi:48315
#, fuzzy, no-wrap
msgid "@code{compression?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:48317
#, fuzzy
msgid "Whether to compress data in transit."
msgstr "是否在传输中压缩数据。"

#. type: item
#: guix-git/doc/guix.texi:48318
#, fuzzy, no-wrap
msgid "@code{proxy} (type: maybe-proxy-command-or-jump-list)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48322
#, fuzzy
msgid "The command to use to connect to the server or a list of SSH hosts to jump through before connecting to the server.  The field may be set to either a @code{proxy-command} or a list of @code{proxy-jump} records."
msgstr "用于连接到服务器的命令或在连接到服务器之前要跳转的 SSH 主机列表。该字段可以设置为 @code{proxy-command} 或 @code{proxy-jump} 记录的列表。"

#. type: table
#: guix-git/doc/guix.texi:48326
#, fuzzy
msgid "As an example, a @code{proxy-command} to connect via an HTTP proxy at 192.0.2.0 would be constructed with: @code{(proxy-command \"nc -X connect -x 192.0.2.0:8080 %h %p\")}."
msgstr "例如,连接到 192.0.2.0 的 HTTP 代理的 @code{proxy-command} 可以构造为:@code{(proxy-command \"nc -X connect -x 192.0.2.0:8080 %h %p\")}。"

#. type: deftp
#: guix-git/doc/guix.texi:48327
#, fuzzy, no-wrap
msgid "{Data Type} proxy-jump"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48329
#, fuzzy
msgid "Available @code{proxy-jump} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:48334
#, fuzzy, no-wrap
msgid "@code{host-name} (type: string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48336
#, fuzzy
msgid "Host name---e.g., @code{foo.example.org} or @code{192.168.1.2}."
msgstr "主机名---例如,@code{foo.example.org} 或 @code{192.168.1.2}。"

#. type: item
#: guix-git/doc/guix.texi:48344
#, fuzzy, no-wrap
msgid "@code{host-key-algorithms} (type: maybe-string-list)"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:48347
#, fuzzy
msgid "The list of accepted host key algorithms---e.g., @code{'(\"ssh-ed25519\")}."
msgstr "接受的主机密钥算法列表---例如,@code{'(\"ssh-ed25519\")}。"

#. type: item
#: guix-git/doc/guix.texi:48348
#, fuzzy, no-wrap
msgid "@code{accepted-key-types} (type: maybe-string-list)"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:48350
#, fuzzy
msgid "The list of accepted user public key types."
msgstr "接受的用户公钥类型列表。"

#. type: item
#: guix-git/doc/guix.texi:48351 guix-git/doc/guix.texi:48529
#: guix-git/doc/guix.texi:48643
#, fuzzy, no-wrap
msgid "@code{extra-content} (default: @code{\"\"}) (type: raw-configuration-string)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:48354
#, fuzzy
msgid "Extra content appended as-is to this @code{Host} block in @file{~/.ssh/config}."
msgstr "作为原样附加到 @file{~/.ssh/config} 中此 @code{Host} 块的额外内容。"

#. type: cindex
#: guix-git/doc/guix.texi:48359
#, fuzzy, no-wrap
msgid "Parcimonie, Home service"
msgstr "游戏服务"

#. type: Plain text
#: guix-git/doc/guix.texi:48365
#, fuzzy
msgid "The @code{parcimonie} service runs a daemon that slowly refreshes a GnuPG public key from a keyserver.  It refreshes one key at a time; between every key update parcimonie sleeps a random amount of time, long enough for the previously used Tor circuit to expire.  This process is meant to make it hard for an attacker to correlate the multiple key update."
msgstr "@code{parcimonie} 服务运行一个守护进程,该守护进程从密钥服务器缓慢刷新 GnuPG 公钥。它一次刷新一个密钥;在每次密钥更新之间,parcimonie 会随机休眠一段时间,足够长以使之前使用的 Tor 电路过期。此过程旨在使攻击者难以关联多个密钥更新。"

#. type: Plain text
#: guix-git/doc/guix.texi:48369
#, fuzzy
msgid "As an example, here is how you would configure @code{parcimonie} to refresh the keys in your GnuPG keyring, as well as those keyrings created by Guix, such as when running @code{guix import}:"
msgstr "作为一个示例,以下是如何配置 @code{parcimonie} 来刷新您 GnuPG 密钥环中的密钥,以及 Guix 创建的那些密钥环,例如在运行 @code{guix import} 时:"

#. type: lisp
#: guix-git/doc/guix.texi:48374
#, fuzzy, no-wrap
msgid ""
"(service home-parcimonie-service-type\n"
"         (home-parcimonie-configuration\n"
"           (refresh-guix-keyrings? #t)))\n"
msgstr ""
"(service home-unclutter-service-type\n"
"         (home-unclutter-configuration\n"
"          (idle-timeout 2)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:48379
#, fuzzy
msgid "This assumes that the Tor anonymous routing daemon is already running on your system.  On Guix System, this can be achieved by setting up @code{tor-service-type} (@pxref{Networking Services, @code{tor-service-type}})."
msgstr "这假设 Tor 匿名路由守护进程已经在您的系统上运行。在 Guix 系统上,可以通过设置 @code{tor-service-type} 来实现 (@pxref{Networking Services, @code{tor-service-type}})。"

#. type: Plain text
#: guix-git/doc/guix.texi:48381 guix-git/doc/guix.texi:48488
#: guix-git/doc/guix.texi:48995
#, fuzzy
msgid "The service reference is given below."
msgstr "服务引用如下所示。"

#. type: defvar
#: guix-git/doc/guix.texi:48382
#, fuzzy, no-wrap
msgid "parcimonie-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48386
#, fuzzy
msgid "This is the service type for @command{parcimonie} (@uref{https://salsa.debian.org/intrigeri/parcimonie, Parcimonie's web site}).  Its value must be a @code{home-parcimonie-configuration}, as shown below."
msgstr "这是 @command{parcimonie} 的服务类型 (@uref{https://salsa.debian.org/intrigeri/parcimonie, Parcimonie 的网站})。它的值必须是 @code{home-parcimonie-configuration},如下所示。"

#. type: deftp
#: guix-git/doc/guix.texi:48390
#, fuzzy, no-wrap
msgid "{Data Table} home-parcimonie-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48392
#, fuzzy
msgid "Available @code{home-parcimonie-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:48394
#, fuzzy, no-wrap
msgid "@code{parcimonie} (default: @code{parcimonie}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:48396
#, fuzzy
msgid "The parcimonie package to use."
msgstr "软件包数据类型。"

#. type: table
#: guix-git/doc/guix.texi:48399
#, fuzzy
msgid "Whether to have more verbose logging from the service."
msgstr "是否要从服务中获取更详细的日志记录。"

#. type: item
#: guix-git/doc/guix.texi:48400
#, fuzzy, no-wrap
msgid "@code{gnupg-already-torified?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48403
#, fuzzy
msgid "Whether GnuPG is already configured to pass all traffic through @uref{https://torproject.org, Tor}."
msgstr "GnuPG 是否已经配置为通过 @uref{https://torproject.org, Tor} 传递所有流量。"

#. type: item
#: guix-git/doc/guix.texi:48404
#, fuzzy, no-wrap
msgid "@code{refresh-guix-keyrings?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48408
#, fuzzy
msgid "Guix creates a few keyrings in the @var{$XDG_CONFIG_DIR}, such as when running @code{guix import} (@pxref{Invoking guix import}).  Setting this to @code{#t} will also refresh any keyrings which Guix has created."
msgstr "Guix 在 @var{$XDG_CONFIG_DIR} 中创建了一些密钥环,例如在运行 @code{guix import} 时 (@pxref{Invoking guix import})。将此设置为 @code{#t} 也将刷新 Guix 创建的任何密钥环。"

#. type: item
#: guix-git/doc/guix.texi:48409
#, fuzzy, no-wrap
msgid "@code{extra-content} (default: @code{#f}) (type: raw-configuration-string)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:48411
#, fuzzy
msgid "Raw content to add to the parcimonie command."
msgstr "要添加到 parcimonie 命令的原始内容。"

#. type: cindex
#: guix-git/doc/guix.texi:48418
#, fuzzy, no-wrap
msgid "ssh-agent"
msgstr "主机公钥"

#. type: Plain text
#: guix-git/doc/guix.texi:48426
#, fuzzy
msgid "The @uref{https://www.openssh.com, OpenSSH package} includes a daemon, the @command{ssh-agent} command, that manages keys to connect to remote machines using the @acronym{SSH, secure shell} protocol.  With the @code{(gnu home services ssh)} service, you can configure the OpenSSH ssh-agent to run upon login.  @xref{GNU Privacy Guard, @code{home-gpg-agent-service-type}}, for an alternative to OpenSSH's @command{ssh-agent}."
msgstr "@uref{https://www.openssh.com, OpenSSH 包} 包含一个守护进程,即 @command{ssh-agent} 命令,负责管理使用 @acronym{SSH, 安全外壳} 协议连接到远程机器的密钥。通过 @code{(gnu home services ssh)} 服务,您可以配置 OpenSSH ssh-agent 在登录时运行。@xref{GNU Privacy Guard, @code{home-gpg-agent-service-type}},作为 OpenSSH 的 @command{ssh-agent} 的替代方案。"

#. type: lisp
#: guix-git/doc/guix.texi:48435
#, fuzzy, no-wrap
msgid ""
"(service home-ssh-agent-service-type\n"
"         (home-ssh-agent-configuration\n"
"          (extra-options '(\"-t\" \"1h30m\"))))\n"
msgstr ""
"(service home-ssh-agent-service-type\n"
"  (home-ssh-agent-configuration\n"
"   (extra-options '(\"-t\" \"1h30m\"))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:48437
#, fuzzy, no-wrap
msgid "home-ssh-agent-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48440
#, fuzzy
msgid "This is the type of the @code{ssh-agent} home service, whose value is a @code{home-ssh-agent-configuration} object."
msgstr "这是 @code{ssh-agent} 家庭服务的类型,其值是 @code{home-ssh-agent-configuration} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:48442
#, fuzzy, no-wrap
msgid "{Data Type} home-ssh-agent-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48444
#, fuzzy
msgid "Available @code{home-ssh-agent-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:48446
#, fuzzy, no-wrap
msgid "@code{openssh} (default: @code{openssh}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: item
#: guix-git/doc/guix.texi:48449
#, fuzzy, no-wrap
msgid "@code{socket-directory} (default: @code{@env{XDG_RUNTIME_DIR}/ssh-agent\"}) (type: gexp)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48451
#, fuzzy
msgid "The directory to write the ssh-agent's @file{socket} file."
msgstr "写入 ssh-agent 的 @file{socket} 文件的目录。"

#. type: table
#: guix-git/doc/guix.texi:48455
#, fuzzy
msgid "Extra options will be passed to @command{ssh-agent}, please run @command{man ssh-agent} for more information."
msgstr "额外选项将传递给 @command{ssh-agent},请运行 @command{man ssh-agent} 获取更多信息。"

#. type: subsection
#: guix-git/doc/guix.texi:48459 guix-git/doc/guix.texi:48460
#, fuzzy, no-wrap
msgid "GNU Privacy Guard"
msgstr "GNU 隐私保护工具"

#. type: cindex
#: guix-git/doc/guix.texi:48462
#, fuzzy, no-wrap
msgid "GNU Privacy Guard, Home service"
msgstr "游戏服务"

#. type: cindex
#: guix-git/doc/guix.texi:48463
#, fuzzy, no-wrap
msgid "GPG, Home service"
msgstr "游戏服务"

#. type: Plain text
#: guix-git/doc/guix.texi:48467
#, fuzzy
msgid "The @code{(gnu home services gnupg)} module provides services that help you set up the GNU Privacy Guard, also known as GnuPG or GPG, in your home environment."
msgstr "@code{(gnu home services gnupg)} 模块提供帮助您在家庭环境中设置 GNU 隐私保护工具(也称为 GnuPG 或 GPG)的服务。"

#. type: cindex
#: guix-git/doc/guix.texi:48468
#, fuzzy, no-wrap
msgid "gpg-agent, Home service"
msgstr "游戏服务"

#. type: cindex
#: guix-git/doc/guix.texi:48469
#, fuzzy, no-wrap
msgid "SSH agent, with gpg-agent"
msgstr "SSH 代理,使用 gpg-agent"

#. type: Plain text
#: guix-git/doc/guix.texi:48474
#, fuzzy
msgid "The @code{gpg-agent} service configures and sets up GPG's agent, the program that is responsible for managing OpenPGP private keys and, optionally, OpenSSH (secure shell) private keys (@pxref{Invoking GPG-AGENT,,, gnupg, Using the GNU Privacy Guard})."
msgstr "@code{gpg-agent} 服务配置并设置 GPG 的代理,该程序负责管理 OpenPGP 私钥,并可选择管理 OpenSSH(安全外壳)私钥 (@pxref{Invoking GPG-AGENT,,, gnupg, 使用 GNU 隐私保护工具})。"

#. type: Plain text
#: guix-git/doc/guix.texi:48478
#, fuzzy
msgid "As an example, here is how you would configure @code{gpg-agent} with SSH support such that it uses the Emacs-based Pinentry interface when prompting for a passphrase:"
msgstr "作为一个例子,这里是如何配置 @code{gpg-agent} 以支持 SSH,使其在提示输入密码时使用基于 Emacs 的 Pinentry 界面:"

#. type: lisp
#: guix-git/doc/guix.texi:48485
#, fuzzy, no-wrap
msgid ""
"(service home-gpg-agent-service-type\n"
"         (home-gpg-agent-configuration\n"
"          (pinentry-program\n"
"           (file-append pinentry-emacs \"/bin/pinentry-emacs\"))\n"
"          (ssh-support? #t)))\n"
msgstr ""
"(service home-gpg-agent-service-type\n"
"         (home-gpg-agent-configuration\n"
"          (pinentry-program\n"
"           (file-append pinentry-emacs \"/bin/pinentry-emacs\"))\n"
"          (ssh-support? #t)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:48489
#, fuzzy, no-wrap
msgid "home-gpg-agent-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48493
#, fuzzy
msgid "This is the service type for @command{gpg-agent} (@pxref{Invoking GPG-AGENT,,, gnupg, Using the GNU Privacy Guard}).  Its value must be a @code{home-gpg-agent-configuration}, as shown below."
msgstr "这是 @command{gpg-agent} 的服务类型 (@pxref{Invoking GPG-AGENT,,, gnupg, Using the GNU Privacy Guard})。它的值必须是 @code{home-gpg-agent-configuration},如下所示。"

#. type: deftp
#: guix-git/doc/guix.texi:48497
#, fuzzy, no-wrap
msgid "{Data Type} home-gpg-agent-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48499
#, fuzzy
msgid "Available @code{home-gpg-agent-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:48501
#, fuzzy, no-wrap
msgid "@code{gnupg} (default: @code{gnupg}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:48503
#, fuzzy
msgid "The GnuPG package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:48504
#, fuzzy, no-wrap
msgid "@code{pinentry-program} (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:48509
#, fuzzy
msgid "Pinentry program to use.  Pinentry is a small user interface that @command{gpg-agent} delegates to anytime it needs user input for a passphrase or @acronym{PIN,personal identification number} (@pxref{Top,,, pinentry,Using the PIN-Entry})."
msgstr "要使用的 Pinentry 程序。Pinentry 是一个小型用户界面,@command{gpg-agent} 在需要用户输入密码或 @acronym{PIN,个人识别码} (@pxref{Top,,, pinentry,Using the PIN-Entry}) 时委托给它。"

#. type: item
#: guix-git/doc/guix.texi:48510
#, fuzzy, no-wrap
msgid "@code{ssh-support?} (default: @code{#f}) (type: boolean)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48515
#, fuzzy
msgid "Whether to enable @acronym{SSH,secure shell} support.  When true, @command{gpg-agent} acts as a drop-in replacement for OpenSSH's @command{ssh-agent} program, taking care of OpenSSH secret keys and directing passphrase requests to the chosen Pinentry program."
msgstr "是否启用 @acronym{SSH,安全外壳} 支持。当为真时,@command{gpg-agent} 作为 OpenSSH 的 @command{ssh-agent} 程序的替代品,处理 OpenSSH 密钥并将密码请求指向所选择的 Pinentry 程序。"

#. type: item
#: guix-git/doc/guix.texi:48516
#, fuzzy, no-wrap
msgid "@code{default-cache-ttl} (default: @code{600}) (type: integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:48518
#, fuzzy
msgid "Time a cache entry is valid, in seconds."
msgstr "缓存条目的有效时间,以秒为单位。"

#. type: item
#: guix-git/doc/guix.texi:48519
#, fuzzy, no-wrap
msgid "@code{max-cache-ttl} (default: @code{7200}) (type: integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:48522
#, fuzzy
msgid "Maximum time a cache entry is valid, in seconds.  After this time a cache entry will be expired even if it has been accessed recently."
msgstr "缓存条目的最大有效时间,以秒为单位。在此时间之后,即使最近被访问,缓存条目也将过期。"

#. type: item
#: guix-git/doc/guix.texi:48523
#, fuzzy, no-wrap
msgid "@code{default-cache-ttl-ssh} (default: @code{1800}) (type: integer)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:48525
#, fuzzy
msgid "Time a cache entry for SSH keys is valid, in seconds."
msgstr "SSH 密钥的缓存条目的有效时间,以秒为单位。"

#. type: item
#: guix-git/doc/guix.texi:48526
#, fuzzy, no-wrap
msgid "@code{max-cache-ttl-ssh} (default: @code{7200}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48528
#, fuzzy
msgid "Maximum time a cache entry for SSH keys is valid, in seconds."
msgstr "SSH 密钥的缓存条目的最大有效时间,以秒为单位。"

#. type: table
#: guix-git/doc/guix.texi:48531
#, fuzzy
msgid "Raw content to add to the end of @file{~/.gnupg/gpg-agent.conf}."
msgstr "要添加到 @file{~/.gnupg/gpg-agent.conf} 末尾的原始内容。"

#. type: subsection
#: guix-git/doc/guix.texi:48540 guix-git/doc/guix.texi:48541
#, fuzzy, no-wrap
msgid "Desktop Home Services"
msgstr "桌面服务"

#. type: Plain text
#: guix-git/doc/guix.texi:48546
#, fuzzy
msgid "The @code{(gnu home services desktop)} module provides services that you may find useful on ``desktop'' systems running a graphical user environment such as Xorg."
msgstr "@code{(gnu home services desktop)} 模块提供您可能在运行图形用户环境(如 Xorg)的“桌面”系统上找到有用的服务。"

#. type: cindex
#: guix-git/doc/guix.texi:48547
#, fuzzy, no-wrap
msgid "X Window, for Guix Home services"
msgstr "游戏服务"

#. type: cindex
#: guix-git/doc/guix.texi:48548
#, fuzzy, no-wrap
msgid "X11, in Guix Home"
msgstr "X11,在 Guix Home 中"

#. type: defvar
#: guix-git/doc/guix.texi:48549
#, fuzzy, no-wrap
msgid "home-x11-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48552
#, fuzzy
msgid "This is the service type representing the X Window graphical display server (also referred to as ``X11'')."
msgstr "这是表示 X Window 图形显示服务器(也称为“X11”)的服务类型。"

#. type: defvar
#: guix-git/doc/guix.texi:48558
#, fuzzy
msgid "X Window is necessarily started by a system service; on Guix System, starting it is the responsibility of @code{gdm-service-type} and similar services (@pxref{X Window}).  At the level of Guix Home, as an unprivileged user, we cannot start X Window; all we can do is check whether it is running.  This is what this service does."
msgstr "X Window 必须由系统服务启动;在 Guix 系统上,启动它的责任在于 @code{gdm-service-type} 和类似服务 (@pxref{X Window})。在 Guix Home 的层面上,作为一个非特权用户,我们无法启动 X Window;我们能做的只是检查它是否正在运行。这就是这个服务的作用。"

#. type: defvar
#: guix-git/doc/guix.texi:48564
#, fuzzy
msgid "As a user, you probably don't need to worry or explicitly instantiate @code{home-x11-service-type}.  Services that require an X Window graphical display, such as @code{home-redshift-service-type} below, instantiate it and depend on its corresponding @code{x11-display} Shepherd service (@pxref{Shepherd Home Service})."
msgstr "作为用户,您可能不需要担心或显式实例化 @code{home-x11-service-type}。需要 X Window 图形显示的服务,例如下面的 @code{home-redshift-service-type},会实例化它并依赖于其对应的 @code{x11-display} Shepherd 服务(@pxref{Shepherd Home Service})。"

#. type: defvar
#: guix-git/doc/guix.texi:48569
#, fuzzy
msgid "When X Window is running, the @code{x11-display} Shepherd service starts and sets the @env{DISPLAY} environment variable of the @command{shepherd} process, using its original value if it was already set; otherwise, it fails to start."
msgstr "当 X Window 正在运行时,@code{x11-display} Shepherd 服务启动并设置 @env{DISPLAY} 环境变量的 @command{shepherd} 进程,如果它已经设置,则使用其原始值;否则,它将无法启动。"

#. type: defvar
#: guix-git/doc/guix.texi:48572
#, fuzzy
msgid "The service can also be forced to use a given value for @env{DISPLAY}, like so:"
msgstr "该服务也可以被强制使用给定的 @env{DISPLAY} 值,如下所示:"

#. type: example
#: guix-git/doc/guix.texi:48575
#, fuzzy, no-wrap
msgid "herd start x11-display :3\n"
msgstr "herd start x11-display :3\n"

#. type: defvar
#: guix-git/doc/guix.texi:48579
#, fuzzy
msgid "In the example above, @code{x11-display} is instructed to set @env{DISPLAY} to @code{:3}."
msgstr "在上面的示例中,@code{x11-display} 被指示将 @env{DISPLAY} 设置为 @code{:3}。"

#. type: defvar
#: guix-git/doc/guix.texi:48581
#, fuzzy, no-wrap
msgid "home-redshift-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48586
#, fuzzy
msgid "This is the service type for @uref{https://github.com/jonls/redshift, Redshift}, a program that adjusts the display color temperature according to the time of day.  Its associated value must be a @code{home-redshift-configuration} record, as shown below."
msgstr "这是 @uref{https://github.com/jonls/redshift, Redshift} 的服务类型,一个根据一天中的时间调整显示颜色温度的程序。其关联值必须是 @code{home-redshift-configuration} 记录,如下所示。"

#. type: defvar
#: guix-git/doc/guix.texi:48589
#, fuzzy
msgid "A typical configuration, where we manually specify the latitude and longitude, might look like this:"
msgstr "一个典型的配置,其中我们手动指定纬度和经度,可能如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:48596
#, fuzzy, no-wrap
msgid ""
"(service home-redshift-service-type\n"
"         (home-redshift-configuration\n"
"          (location-provider 'manual)\n"
"          (latitude 35.81)    ;northern hemisphere\n"
"          (longitude -0.80))) ;west of Greenwich\n"
msgstr ""
"(service home-redshift-service-type\n"
"         (home-redshift-configuration\n"
"          (location-provider 'manual)\n"
"          (latitude 35.81)    ;北半球\n"
"          (longitude -0.80))) ;格林威治以西\n"

#. type: deftp
#: guix-git/doc/guix.texi:48599
#, fuzzy, no-wrap
msgid "{Data Type} home-redshift-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48601
#, fuzzy
msgid "Available @code{home-redshift-configuration} fields are:"
msgstr "可用的 @code{home-redshift-configuration} 字段有:"

#. type: item
#: guix-git/doc/guix.texi:48603
#, fuzzy, no-wrap
msgid "@code{redshift} (default: @code{redshift}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:48605
#, fuzzy
msgid "Redshift package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:48606
#, fuzzy, no-wrap
msgid "@code{location-provider} (default: @code{geoclue2}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:48612
#, fuzzy
msgid "Geolocation provider---@code{'manual} or @code{'geoclue2}.  In the former case, you must also specify the @code{latitude} and @code{longitude} fields so Redshift can determine daytime at your place.  In the latter case, the Geoclue system service must be running; it will be queried for location information."
msgstr "地理位置提供者---@code{'manual} 或 @code{'geoclue2}。在前一种情况下,您还必须指定 @code{latitude} 和 @code{longitude} 字段,以便 Redshift 能够确定您所在位置的白天时间。在后一种情况下,Geoclue 系统服务必须正在运行;它将被查询以获取位置信息。"

#. type: item
#: guix-git/doc/guix.texi:48613
#, fuzzy, no-wrap
msgid "@code{adjustment-method} (default: @code{randr}) (type: symbol)"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:48615
#, fuzzy
msgid "Color adjustment method."
msgstr "颜色调整方法。"

#. type: item
#: guix-git/doc/guix.texi:48616
#, fuzzy, no-wrap
msgid "@code{daytime-temperature} (default: @code{6500}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48618
#, fuzzy
msgid "Daytime color temperature (kelvins)."
msgstr "白天颜色温度(开尔文)。"

#. type: item
#: guix-git/doc/guix.texi:48619
#, fuzzy, no-wrap
msgid "@code{nighttime-temperature} (default: @code{4500}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48621
#, fuzzy
msgid "Nighttime color temperature (kelvins)."
msgstr "夜间颜色温度(开尔文)。"

#. type: item
#: guix-git/doc/guix.texi:48622
#, fuzzy, no-wrap
msgid "@code{daytime-brightness} (type: maybe-inexact-number)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48624
#, fuzzy
msgid "Daytime screen brightness, between 0.1 and 1.0, or left unspecified."
msgstr "白天屏幕亮度,介于 0.1 和 1.0 之间,或不指定。"

#. type: item
#: guix-git/doc/guix.texi:48625
#, fuzzy, no-wrap
msgid "@code{nighttime-brightness} (type: maybe-inexact-number)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48627
#, fuzzy
msgid "Nighttime screen brightness, between 0.1 and 1.0, or left unspecified."
msgstr "夜间屏幕亮度,介于 0.1 和 1.0 之间,或不指定。"

#. type: item
#: guix-git/doc/guix.texi:48628
#, fuzzy, no-wrap
msgid "@code{latitude} (type: maybe-inexact-number)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:48630
#, fuzzy
msgid "Latitude, when @code{location-provider} is @code{'manual}."
msgstr "当 @code{location-provider} 为 @code{'manual} 时的纬度。"

#. type: item
#: guix-git/doc/guix.texi:48631
#, fuzzy, no-wrap
msgid "@code{longitude} (type: maybe-inexact-number)"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:48633
#, fuzzy
msgid "Longitude, when @code{location-provider} is @code{'manual}."
msgstr "当 @code{location-provider} 为 @code{'manual} 时的经度。"

#. type: item
#: guix-git/doc/guix.texi:48634
#, fuzzy, no-wrap
msgid "@code{dawn-time} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48638
#, fuzzy
msgid "Custom time for the transition from night to day in the morning---@code{\"HH:MM\"} format.  When specified, solar elevation is not used to determine the daytime/nighttime period."
msgstr "自定义早晨从夜晚到白天的过渡时间,格式为---@code{\"HH:MM\"}。当指定时,不使用太阳高度来确定白天/夜晚的时间段。"

#. type: item
#: guix-git/doc/guix.texi:48639
#, fuzzy, no-wrap
msgid "@code{dusk-time} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48642
#, fuzzy
msgid "Likewise, custom time for the transition from day to night in the evening."
msgstr "同样,自定义晚上从白天到夜晚的过渡时间。"

#. type: table
#: guix-git/doc/guix.texi:48647
#, fuzzy
msgid "Extra content appended as-is to the Redshift configuration file.  Run @command{man redshift} for more information about the configuration file format."
msgstr "额外内容按原样附加到 Redshift 配置文件中。运行 @command{man redshift} 以获取有关配置文件格式的更多信息。"

#. type: defvar
#: guix-git/doc/guix.texi:48652
#, fuzzy, no-wrap
msgid "home-dbus-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48655
#, fuzzy
msgid "This is the service type for running a session-specific D-Bus, for unprivileged applications that require D-Bus to be running."
msgstr "这是运行特定会话 D-Bus 的服务类型,适用于需要 D-Bus 运行的非特权应用程序。"

#. type: deftp
#: guix-git/doc/guix.texi:48657
#, fuzzy, no-wrap
msgid "{Data Type} home-dbus-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48659
#, fuzzy
msgid "The configuration record for @code{home-dbus-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:48661
#, fuzzy, no-wrap
msgid "@code{dbus} (default: @code{dbus})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:48663
#, fuzzy
msgid "The package providing the @code{/bin/dbus-daemon} command."
msgstr "软件包管理命令。"

#. type: defvar
#: guix-git/doc/guix.texi:48666
#, fuzzy, no-wrap
msgid "home-unclutter-service-type"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:48672
#, fuzzy
msgid "This is the service type for Unclutter, a program that runs on the background of an X11 session and detects when the X pointer hasn't moved for a specified idle timeout, after which it hides the cursor so that you can focus on the text underneath.  Its associated value must be a @code{home-unclutter-configuration} record, as shown below."
msgstr "这是 Unclutter 的服务类型,一个在 X11 会话后台运行的程序,检测 X 指针在指定的空闲超时内是否没有移动,之后隐藏光标,以便您可以专注于下面的文本。其关联值必须是 @code{home-unclutter-configuration} 记录,如下所示。"

#. type: defvar
#: guix-git/doc/guix.texi:48675
#, fuzzy
msgid "A typical configuration, where we manually specify the idle timeout (in seconds), might look like this:"
msgstr "一个典型的配置,其中我们手动指定空闲超时(以秒为单位),可能如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:48680
#, no-wrap
msgid ""
"(service home-unclutter-service-type\n"
"         (home-unclutter-configuration\n"
"          (idle-timeout 2)))\n"
msgstr ""
"(service home-unclutter-service-type\n"
"         (home-unclutter-configuration\n"
"          (idle-timeout 2)))\n"

#. type: deftp
#: guix-git/doc/guix.texi:48683
#, fuzzy, no-wrap
msgid "{Data Type} home-unclutter-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48685
#, fuzzy
msgid "The configuration record for @code{home-unclutter-service-type}."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:48687
#, fuzzy, no-wrap
msgid "@code{unclutter} (default: @code{unclutter}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:48689
#, fuzzy
msgid "Unclutter package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:48690
#, fuzzy, no-wrap
msgid "@code{idle-timeout} (default: @code{5}) (type: integer)"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:48692
#, fuzzy
msgid "A timeout in seconds after which to hide cursor."
msgstr "在此之后隐藏光标的超时(以秒为单位)。"

#. type: defvar
#: guix-git/doc/guix.texi:48696
#, fuzzy, no-wrap
msgid "home-xmodmap-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48702
#, fuzzy
msgid "This is the service type for the @uref{https://gitlab.freedesktop.org/xorg/app/xmodmap,xmodmap} utility to modify keymaps and pointer button mappings under the Xorg display server.  Its associated value must be a @code{home-xmodmap-configuration} record, as shown below."
msgstr "这是 @uref{https://gitlab.freedesktop.org/xorg/app/xmodmap,xmodmap} 工具的服务类型,用于在 Xorg 显示服务器下修改键盘映射和指针按钮映射。其关联值必须是 @code{home-xmodmap-configuration} 记录,如下所示。"

#. type: defvar
#: guix-git/doc/guix.texi:48710
#, fuzzy
msgid "The @code{key-map} field takes a list of objects, each of which is either a @dfn{statement} (a string) or an @dfn{assignment} (a pair of strings).  As an example, the snippet below swaps around the @kbd{Caps_Lock} and the @kbd{Control_L} keys, by first removing the keysyms (on the right-hand side) from the corresponding modifier maps (on the left-hand side), re-assigning them by swapping each other out, and finally adding back the keysyms to the modifier maps."
msgstr "@code{key-map} 字段接受一个对象列表,每个对象可以是 @dfn{statement}(字符串)或 @dfn{assignment}(一对字符串)。例如,下面的代码片段通过首先从相应的修饰符映射(左侧)中删除键符(右侧),然后交换彼此的重新分配,最后将键符添加回修饰符映射,来交换 @kbd{Caps_Lock} 和 @kbd{Control_L} 键。"

#. type: lisp
#: guix-git/doc/guix.texi:48720
#, fuzzy, no-wrap
msgid ""
"(service home-xmodmap-service-type\n"
"         (home-xmodmap-configuration\n"
"          (key-map '((\"remove Lock\" . \"Caps_Lock\")\n"
"                     (\"remove Control\" . \"Control_L\")\n"
"                     (\"keysym Control_L\" . \"Caps_Lock\")\n"
"                     (\"keysym Caps_Lock\" . \"Control_L\")\n"
"                     (\"add Lock\" . \"Caps_Lock\")\n"
"                     (\"add Control\" . \"Control_L\")))))\n"
msgstr ""
"(service home-xmodmap-service-type\n"
"         (home-xmodmap-configuration\n"
"          (key-map '((\"remove Lock\" . \"Caps_Lock\")\n"
"                     (\"remove Control\" . \"Control_L\")\n"
"                     (\"keysym Control_L\" . \"Caps_Lock\")\n"
"                     (\"keysym Caps_Lock\" . \"Control_L\")\n"
"                     (\"add Lock\" . \"Caps_Lock\")\n"
"                     (\"add Control\" . \"Control_L\")))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:48723
#, fuzzy, no-wrap
msgid "{Data Type} home-xmodmap-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48726
#, fuzzy
msgid "The configuration record for @code{home-xmodmap-service-type}.  Its available fields are:"
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:48728
#, fuzzy, no-wrap
msgid "@code{xmodmap} (default: @code{xmodmap}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:48730
#, fuzzy
msgid "The @code{xmodmap} package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:48731
#, fuzzy, no-wrap
msgid "@code{key-map} (default: @code{'()}) (type: list)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:48733
#, fuzzy
msgid "The list of expressions to be read by @code{xmodmap} on service startup."
msgstr "服务启动时要由 @code{xmodmap} 读取的表达式列表。"

#. type: defvar
#: guix-git/doc/guix.texi:48737
#, fuzzy, no-wrap
msgid "home-startx-command-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48739
#, fuzzy
msgid "Add @command{startx} to the home profile putting it onto @env{PATH}."
msgstr "将 @command{startx} 添加到主配置文件中,将其放入 @env{PATH}。"

#. type: subsection
#: guix-git/doc/guix.texi:48746 guix-git/doc/guix.texi:48747
#, fuzzy, no-wrap
msgid "Guix Home Services"
msgstr "游戏服务"

#. type: Plain text
#: guix-git/doc/guix.texi:48751
#, fuzzy
msgid "The @code{(gnu home services guix)} module provides services for user-specific Guix configuration."
msgstr "@code{(gnu home services guix)} 模块为用户特定的 Guix 配置提供服务。"

#. type: defvar
#: guix-git/doc/guix.texi:48752
#, fuzzy, no-wrap
msgid "home-channels-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48758
#, fuzzy
msgid "This is the service type for managing @file{$XDG_CONFIG_HOME/guix/channels.scm}, the file that controls the channels received on @command{guix pull} (@pxref{Channels}).  Its associated value is a list of @code{channel} records, defined in the @code{(guix channels)} module."
msgstr "这是用于管理 @file{$XDG_CONFIG_HOME/guix/channels.scm} 的服务类型,该文件控制在 @command{guix pull} 时接收的频道 (@pxref{Channels})。其关联值是一个 @code{channel} 记录的列表,这些记录在 @code{(guix channels)} 模块中定义。"

#. type: defvar
#: guix-git/doc/guix.texi:48765
#, fuzzy
msgid "Generally, it is better to extend this service than to directly configure it, as its default value is the default guix channel(s)  defined by @code{%default-channels}.  If you configure this service directly, be sure to include a guix channel.  @xref{Specifying Additional Channels} and @ref{Using a Custom Guix Channel} for more details."
msgstr "通常,扩展此服务比直接配置它更好,因为其默认值是由 @code{%default-channels} 定义的默认 guix 频道。如果您直接配置此服务,请确保包含一个 guix 频道。有关更多详细信息,请参见 @xref{Specifying Additional Channels} 和 @ref{Using a Custom Guix Channel}。"

#. type: defvar
#: guix-git/doc/guix.texi:48767
#, fuzzy
msgid "A typical extension for adding a channel might look like this:"
msgstr "添加频道的典型扩展可能如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:48775
#, fuzzy, no-wrap
msgid ""
"(simple-service 'variant-packages-service\n"
"                home-channels-service-type\n"
"                (list\n"
"                 (channel\n"
"                  (name 'variant-packages)\n"
"                  (url \"https://example.org/variant-packages.git\"))))\n"
msgstr ""
"(simple-service 'variant-packages-service\n"
"                home-channels-service-type\n"
"                (list\n"
"                 (channel\n"
"                  (name 'variant-packages)\n"
"                  (url \"https://example.org/variant-packages.git\"))))\n"

#. type: subsection
#: guix-git/doc/guix.texi:48778 guix-git/doc/guix.texi:48779
#, fuzzy, no-wrap
msgid "Fonts Home Services"
msgstr "游戏服务"

#. type: Plain text
#: guix-git/doc/guix.texi:48785
#, fuzzy
msgid "The @code{(gnu home services fontutils)} module provides services for user-specific Fontconfig setup.  The @uref{https://www.freedesktop.org/wiki/Software/fontconfig,Fontconfig} library is used by many applications to access fonts on the system."
msgstr "@code{(gnu home services fontutils)} 模块为用户特定的 Fontconfig 设置提供服务。许多应用程序使用 @uref{https://www.freedesktop.org/wiki/Software/fontconfig,Fontconfig} 库来访问系统上的字体。"

#. type: defvar
#: guix-git/doc/guix.texi:48786
#, fuzzy, no-wrap
msgid "home-fontconfig-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48792
#, fuzzy
msgid "This is the service type for generating configurations for Fontconfig.  Its associated value is a list of either strings (or gexps) pointing to fonts locations, or SXML (@pxref{SXML,,, guile, GNU Guile Reference Manual}) fragments to be converted into XML and put inside the main @code{fontconfig} node."
msgstr "这是用于生成 Fontconfig 配置的服务类型。其关联值是指向字体位置的字符串(或 gexps)列表,或要转换为 XML 并放入主 @code{fontconfig} 节点中的 SXML (@pxref{SXML,,, guile, GNU Guile Reference Manual}) 片段。"

#. type: defvar
#: guix-git/doc/guix.texi:48798
#, fuzzy
msgid "Generally, it is better to extend this service than to directly configure it, as its default value is the default Guix Home's profile font installation path (@file{~/.guix-home/profile/share/fonts}).  If you configure this service directly, be sure to include the above directory."
msgstr "通常,扩展此服务比直接配置它更好,因为其默认值是默认 Guix Home 的配置文件字体安装路径 (@file{~/.guix-home/profile/share/fonts})。如果您直接配置此服务,请确保包含上述目录。"

#. type: defvar
#: guix-git/doc/guix.texi:48801
#, fuzzy
msgid "Here's how you'd extend it to include fonts installed with the Nix package manager, and to prefer your favourite monospace font:"
msgstr "以下是如何扩展它以包括使用 Nix 包管理器安装的字体,并优先选择您最喜欢的等宽字体:"

#. type: lisp
#: guix-git/doc/guix.texi:48810
#, fuzzy, no-wrap
msgid ""
"(simple-service 'additional-fonts-service\n"
"                home-fontconfig-service-type\n"
"                (list \"~/.nix-profile/share/fonts\"\n"
"                      '(alias\n"
"                        (family \"monospace\")\n"
"                        (prefer\n"
"                         (family \"Liberation Mono\")))))\n"
msgstr ""
"(simple-service 'additional-fonts-service\n"
"                home-fontconfig-service-type\n"
"                (list \"~/.nix-profile/share/fonts\"\n"
"                      '(alias\n"
"                        (family \"monospace\")\n"
"                        (prefer\n"
"                         (family \"Liberation Mono\")))))\n"

#. type: subsection
#: guix-git/doc/guix.texi:48813 guix-git/doc/guix.texi:48814
#, fuzzy, no-wrap
msgid "Sound Home Services"
msgstr "声音服务"

#. type: Plain text
#: guix-git/doc/guix.texi:48818
#, fuzzy
msgid "The @code{(gnu home services sound)} module provides services related to sound support."
msgstr "@code{(gnu home services sound)}模块提供与声音支持相关的服务。"

#. type: cindex
#: guix-git/doc/guix.texi:48819
#, fuzzy, no-wrap
msgid "PulseAudio, home service"
msgstr "其它服务。"

#. type: cindex
#: guix-git/doc/guix.texi:48820
#, fuzzy, no-wrap
msgid "RTP, for PulseAudio"
msgstr "RTP,适用于PulseAudio"

#. type: subsubheading
#: guix-git/doc/guix.texi:48821
#, fuzzy, no-wrap
msgid "PulseAudio RTP Streaming Services"
msgstr "其它服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:48831
#, fuzzy
msgid "The following services dynamically reconfigure the @uref{https://pulseaudio.org,PulseAudio sound server}: they let you toggle broadcast of audio output over the network using the @acronym{RTP, real-time transport protocol} and, correspondingly, playback of sound received over RTP.  Once @code{home-pulseaudio-rtp-sink-service-type} is among your home services, you can start broadcasting audio output by running this command:"
msgstr "以下服务动态重新配置@uref{https://pulseaudio.org,PulseAudio声音服务器}:它们允许您通过@acronym{RTP,实时传输协议}切换音频输出的广播,并相应地播放通过RTP接收的声音。一旦@code{home-pulseaudio-rtp-sink-service-type}在您的家庭服务中,您可以通过运行此命令开始广播音频输出:"

#. type: example
#: guix-git/doc/guix.texi:48834 guix-git/doc/guix.texi:48900
#, fuzzy, no-wrap
msgid "herd start pulseaudio-rtp-sink\n"
msgstr "herd start pulseaudio-rtp-sink\n"

#. type: Plain text
#: guix-git/doc/guix.texi:48839
#, fuzzy
msgid "You can then run a PulseAudio-capable mixer, such as @code{pavucontrol} or @code{pulsemixer} (both from the same-named package) to control which audio stream(s) should be sent to the RTP ``sink''."
msgstr "然后,您可以运行一个支持PulseAudio的混音器,例如@code{pavucontrol}或@code{pulsemixer}(均来自同名软件包),以控制哪些音频流应发送到RTP“接收器”。"

#. type: Plain text
#: guix-git/doc/guix.texi:48846
#, fuzzy
msgid "By default, audio is broadcasted to a multicast address: any device on the @acronym{LAN, local area network} receives it and may play it.  Using multicast in this way puts a lot of pressure on the network and degrades its performance, so you may instead prefer sending to specifically one device.  The first way to do that is by specifying the IP address of the target device when starting the service:"
msgstr "默认情况下,音频广播到一个组播地址:任何在@acronym{LAN,局域网}上的设备都可以接收并播放它。以这种方式使用组播会对网络造成很大压力并降低其性能,因此您可能更喜欢将音频发送到特定的一个设备。做到这一点的第一种方法是在启动服务时指定目标设备的IP地址:"

#. type: example
#: guix-git/doc/guix.texi:48849
#, fuzzy, no-wrap
msgid "herd start pulseaudio-rtp-sink 192.168.1.42\n"
msgstr "herd start pulseaudio-rtp-sink 192.168.1.42\n"

#. type: Plain text
#: guix-git/doc/guix.texi:48853
#, fuzzy
msgid "The other option is to specify this IP address as the one to use by default in your home environment configuration:"
msgstr "另一个选项是将此IP地址指定为在您的家庭环境配置中默认使用的地址:"

#. type: lisp
#: guix-git/doc/guix.texi:48857
#, fuzzy, no-wrap
msgid ""
"(service home-pulseaudio-rtp-sink-service-type\n"
"         \"192.168.1.42\")\n"
msgstr ""
"(service home-pulseaudio-rtp-sink-service-type\n"
"         \"192.168.1.42\")\n"

#. type: Plain text
#: guix-git/doc/guix.texi:48861
#, fuzzy
msgid "On the device where you intend to receive and play the RTP stream, you can use @code{home-pulseaudio-rtp-source-service-type}, like so:"
msgstr "在您打算接收和播放RTP流的设备上,您可以使用@code{home-pulseaudio-rtp-source-service-type},如下所示:"

#. type: lisp
#: guix-git/doc/guix.texi:48864
#, no-wrap
msgid "(service home-pulseaudio-rtp-source-service-type)\n"
msgstr "(service home-pulseaudio-rtp-source-service-type)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:48867
#, fuzzy
msgid "This will then let you start the receiving module for PulseAudio:"
msgstr "这将让您启动PulseAudio的接收模块:"

#. type: example
#: guix-git/doc/guix.texi:48870
#, fuzzy, no-wrap
msgid "herd start pulseaudio-rtp-source\n"
msgstr "herd start pulseaudio-rtp-source\n"

#. type: Plain text
#: guix-git/doc/guix.texi:48875
#, fuzzy
msgid "Again, by default it will listen on the multicast address.  If, instead, you'd like it to listen for direct incoming connections, you can do that by running:"
msgstr "同样,默认情况下,它将在组播地址上监听。如果您希望它监听直接的传入连接,可以通过运行以下命令来实现:"

#. type: lisp
#: guix-git/doc/guix.texi:48879
#, fuzzy, no-wrap
msgid ""
"(service home-pulseaudio-rtp-source-service-type\n"
"         \"0.0.0.0\")\n"
msgstr ""
"(服务 home-pulseaudio-rtp-source-service-type\n"
"         \"0.0.0.0\")\n"

#. type: Plain text
#: guix-git/doc/guix.texi:48882
#, fuzzy
msgid "The reference of these services is given below."
msgstr "这些服务的参考如下。"

#. type: defvar
#: guix-git/doc/guix.texi:48883
#, fuzzy, no-wrap
msgid "home-pulseaudio-rtp-sink-service-type"
msgstr "邮件服务"

#. type: defvarx
#: guix-git/doc/guix.texi:48884
#, fuzzy, no-wrap
msgid "home-pulseaudio-rtp-source-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:48887
#, fuzzy
msgid "This is the type of the service to send, respectively receive, audio streams over @acronym{RTP, real-time transport protocol}."
msgstr "这是发送和接收音频流的服务类型,分别通过 @acronym{RTP, 实时传输协议}。"

#. type: defvar
#: guix-git/doc/guix.texi:48892
#, fuzzy
msgid "The value associated with this service is the IP address (a string)  where to send, respectively receive, the audio stream.  By default, audio is sent/received on multicast address @code{%pulseaudio-rtp-multicast-address}."
msgstr "与此服务关联的值是要发送和接收音频流的 IP 地址(字符串)。默认情况下,音频在多播地址 @code{%pulseaudio-rtp-multicast-address} 上发送/接收。"

#. type: defvar
#: guix-git/doc/guix.texi:48897
#, fuzzy
msgid "This service defines one Shepherd service: @code{pulseaudio-rtp-sink}, respectively @code{pulseaudio-rtp-source}.  The service is not started by default, so you have to explicitly start it when you want to turn it on, as in this example:"
msgstr "此服务定义了一个 Shepherd 服务:@code{pulseaudio-rtp-sink},分别是 @code{pulseaudio-rtp-source}。该服务默认未启动,因此您必须在想要开启时显式启动它,如以下示例所示:"

#. type: defvar
#: guix-git/doc/guix.texi:48903
#, fuzzy
msgid "Stopping the Shepherd service turns off broadcasting."
msgstr "停止 Shepherd 服务将关闭广播。"

#. type: defvar
#: guix-git/doc/guix.texi:48905
#, fuzzy, no-wrap
msgid "%pulseaudio-rtp-multicast-address"
msgstr "%pulseaudio-rtp-multicast-address"

#. type: defvar
#: guix-git/doc/guix.texi:48907
#, fuzzy
msgid "This is the multicast address used by default by the two services above."
msgstr "这是上述两个服务默认使用的多播地址。"

#. type: cindex
#: guix-git/doc/guix.texi:48909
#, fuzzy, no-wrap
msgid "PipeWire, home service"
msgstr "其它服务。"

#. type: subsubheading
#: guix-git/doc/guix.texi:48910
#, fuzzy, no-wrap
msgid "PipeWire Home Service"
msgstr "Shepherd服务"

#. type: Plain text
#: guix-git/doc/guix.texi:48916
#, fuzzy
msgid "@uref{https://pipewire.org, PipeWire} provides a low-latency, graph-based audio and video processing service.  In addition to its native protocol, it can also be used as a replacement for both JACK and PulseAudio."
msgstr "@uref{https://pipewire.org, PipeWire} 提供低延迟、基于图形的音频和视频处理服务。除了其原生协议外,它还可以用作 JACK 和 PulseAudio 的替代品。"

#. type: Plain text
#: guix-git/doc/guix.texi:48926
#, fuzzy
msgid "While PipeWire provides the media processing and API, it does not, directly, know about devices such as sound cards, nor how you might want to connect applications, hardware, and media processing filters.  Instead, PipeWire relies on a @dfn{session manager} to specify all these relationships.  While you may use any session manager you wish, for most people the @url{https://pipewire.pages.freedesktop.org/wireplumber/, WirePlumber} session manager, a reference implementation provided by the PipeWire project itself, suffices, and that is the one @code{home-pipewire-service-type} uses."
msgstr "虽然 PipeWire 提供媒体处理和 API,但它并不直接了解设备(如声卡),也不知道您可能希望如何连接应用程序、硬件和媒体处理过滤器。相反,PipeWire 依赖于 @dfn{会话管理器} 来指定所有这些关系。虽然您可以使用任何会话管理器,但对于大多数人来说,@url{https://pipewire.pages.freedesktop.org/wireplumber/, WirePlumber} 会话管理器(由 PipeWire 项目本身提供的参考实现)就足够了,而这就是 @code{home-pipewire-service-type} 使用的。"

#. type: Plain text
#: guix-git/doc/guix.texi:48931
#, fuzzy
msgid "PipeWire can be used as a replacement for PulseAudio by setting @code{enable-pulseaudio?} to @code{#t} in @code{home-pipewire-configuration}, so that existing PulseAudio clients may use it without any further configuration."
msgstr "通过在 @code{home-pipewire-configuration} 中将 @code{enable-pulseaudio?} 设置为 @code{#t},可以将 PipeWire 用作 PulseAudio 的替代品,以便现有的 PulseAudio 客户端可以在没有进一步配置的情况下使用它。"

#. type: Plain text
#: guix-git/doc/guix.texi:48936
#, fuzzy
msgid "In addition, JACK clients may connect to PipeWire by using the @command{pw-jack} program, which comes with PipeWire.  Simply prefix the command with @command{pw-jack} when you run it, and audio data should go through PipeWire:"
msgstr "此外,JACK 客户端可以通过使用随 PipeWire 附带的 @command{pw-jack} 程序连接到 PipeWire。只需在运行命令时在前面加上 @command{pw-jack},音频数据就应该通过 PipeWire 传输:"

#. type: example
#: guix-git/doc/guix.texi:48939
#, fuzzy, no-wrap
msgid "pw-jack mpv -ao=jack sound-file.wav\n"
msgstr "pw-jack mpv -ao=jack sound-file.wav\n"

#. type: Plain text
#: guix-git/doc/guix.texi:48945
#, fuzzy
msgid "For more information on PulseAudio emulation, see @uref{https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PulseAudio}, for JACK, see @uref{https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-JACK}."
msgstr "有关 PulseAudio 模拟的更多信息,请参见 @uref{https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PulseAudio},有关 JACK,请参见 @uref{https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-JACK}。"

#. type: Plain text
#: guix-git/doc/guix.texi:48951
#, fuzzy
msgid "As PipeWire does not use @code{dbus} to start its services on demand (as PulseAudio does), @code{home-pipewire-service-type} uses Shepherd to start services when logged in, provisioning the @code{pipewire}, @code{wireplumber}, and, if configured, @code{pipewire-pulseaudio} services.  @xref{Shepherd Home Service}."
msgstr "由于 PipeWire 不使用 @code{dbus} 按需启动其服务(如 PulseAudio 所做),因此 @code{home-pipewire-service-type} 使用 Shepherd 在登录时启动服务,提供 @code{pipewire}、@code{wireplumber},以及(如果配置)@code{pipewire-pulseaudio} 服务。 @xref{Shepherd Home Service}。"

#. type: defvar
#: guix-git/doc/guix.texi:48952
#, fuzzy, no-wrap
msgid "home-pipewire-service-type"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:48955
#, fuzzy
msgid "This provides the service definition for @command{pipewire}, which will run on login.  Its value is a @code{home-pipewire-configuration} object."
msgstr "管理操作系统配置。"

#. type: defvar
#: guix-git/doc/guix.texi:48958
#, fuzzy
msgid "To start the service, add it to the @code{service} field of your @code{home-environment}, such as:"
msgstr "要启动服务,请将其添加到 @code{home-environment} 的 @code{service} 字段,例如:"

#. type: lisp
#: guix-git/doc/guix.texi:48961
#, fuzzy, no-wrap
msgid "(service home-pipewire-service-type)\n"
msgstr "(service home-znc-service-type)\n"

#. type: deftp
#: guix-git/doc/guix.texi:48964
#, fuzzy, no-wrap
msgid "{Data Type} home-pipewire-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:48966
#, fuzzy
msgid "Available @code{home-pipewire-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:48968
#, fuzzy, no-wrap
msgid "@code{pipewire} (default: @code{pipewire}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:48970
#, fuzzy
msgid "The PipeWire package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:48971
#, fuzzy, no-wrap
msgid "@code{wireplumber} (default: @code{wireplumber}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:48973
#, fuzzy
msgid "The WirePlumber package to use."
msgstr "软件包数据类型。"

#. type: item
#: guix-git/doc/guix.texi:48974
#, fuzzy, no-wrap
msgid "@code{enable-pulseaudio?} (default: @code{#t}) (type: boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:48977
#, fuzzy
msgid "When true, enable PipeWire's PulseAudio emulation support, allowing PulseAudio clients to use PipeWire transparently."
msgstr "当为真时,启用 PipeWire 的 PulseAudio 模拟支持,允许 PulseAudio 客户端透明地使用 PipeWire。"

#. type: item
#: guix-git/doc/guix.texi:48978 guix-git/doc/guix.texi:49036
#: guix-git/doc/guix.texi:49107
#, fuzzy, no-wrap
msgid "@code{extra-content} (default: @code{\"\"}) (type: string)"
msgstr "@code{enlightenment}(默认值:@code{enlightenment})"

#. type: table
#: guix-git/doc/guix.texi:48980
#, fuzzy
msgid "Extra content to add to the end of @file{~/.config/alsa/asoundrc}."
msgstr "实例化一个系统配置。"

#. type: subsection
#: guix-git/doc/guix.texi:48983 guix-git/doc/guix.texi:48984
#, fuzzy, no-wrap
msgid "Mail Home Services"
msgstr "游戏服务"

#. type: Plain text
#: guix-git/doc/guix.texi:48988
#, fuzzy
msgid "The @code{(gnu home services mail)} module provides services that help you set up the tools to work with emails in your home environment."
msgstr "@code{(gnu home services mail)} 模块提供帮助您在家庭环境中设置电子邮件工具的服务。"

#. type: cindex
#: guix-git/doc/guix.texi:48989
#, fuzzy, no-wrap
msgid "msmtp"
msgstr "msmtp"

#. type: Plain text
#: guix-git/doc/guix.texi:48993
#, fuzzy
msgid "@uref{https://marlam.de/msmtp, MSMTP} is a @acronym{SMTP, Simple Mail Transfer Protocol} client.  It sends mail to a predefined SMTP server that takes care of proper delivery."
msgstr "@uref{https://marlam.de/msmtp, MSMTP} 是一个 @acronym{SMTP, 简单邮件传输协议} 客户端。它将邮件发送到预定义的 SMTP 服务器,该服务器负责正确投递。"

#. type: defvar
#: guix-git/doc/guix.texi:48996
#, fuzzy, no-wrap
msgid "home-msmtp-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:49000
#, fuzzy
msgid "This is the service type for @command{msmtp}.  Its value must be a @code{home-msmtp-configuration}, as shown below.  It provides the @file{~/.config/msmtp/config} file."
msgstr "这是 @command{msmtp} 的服务类型。其值必须是 @code{home-msmtp-configuration},如下所示。它提供 @file{~/.config/msmtp/config} 文件。"

#. type: defvar
#: guix-git/doc/guix.texi:49003
#, fuzzy
msgid "As an example, here is how you would configure @code{msmtp} for a single account:"
msgstr "作为示例,以下是您如何为单个帐户配置 @code{msmtp}:"

#. type: lisp
#: guix-git/doc/guix.texi:49017
#, fuzzy, no-wrap
msgid ""
"(service home-msmtp-service-type\n"
"         (home-msmtp-configuration\n"
"          (accounts\n"
"           (list\n"
"            (msmtp-account\n"
"             (name \"alice\")\n"
"             (configuration\n"
"              (msmtp-configuration\n"
"               (host \"mail.example.org\")\n"
"               (port 587)\n"
"               (user \"alice\")\n"
"               (password-eval \"pass Mail/alice\"))))))))\n"
msgstr ""
"(service home-msmtp-service-type\n"
"         (home-msmtp-configuration\n"
"          (accounts\n"
"           (list\n"
"            (msmtp-account\n"
"             (name \"alice\")\n"
"             (configuration\n"
"              (msmtp-configuration\n"
"               (host \"mail.example.org\")\n"
"               (port 587)\n"
"               (user \"alice\")\n"
"               (password-eval \"pass Mail/alice\"))))))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:49022
#, fuzzy, no-wrap
msgid "{Data Type} home-msmtp-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:49024
#, fuzzy
msgid "Available @code{home-msmtp-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:49026
#, fuzzy, no-wrap
msgid "@code{defaults} (type: msmtp-configuration)"
msgstr "{数据类型} build-machine"

#. type: table
#: guix-git/doc/guix.texi:49028
#, fuzzy
msgid "The configuration that will be set as default for all accounts."
msgstr "将作为所有帐户的默认配置。"

#. type: item
#: guix-git/doc/guix.texi:49029
#, fuzzy, no-wrap
msgid "@code{accounts} (default: @code{'()}) (type: list-of-msmtp-accounts)"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:49032
#, fuzzy
msgid "A list of @code{msmtp-account} records which contain information about all your accounts."
msgstr "包含有关您所有帐户信息的 @code{msmtp-account} 记录列表。"

#. type: item
#: guix-git/doc/guix.texi:49033
#, fuzzy, no-wrap
msgid "@code{default-account} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49035
#, fuzzy
msgid "Set the default account."
msgstr "设置默认帐户。"

#. type: table
#: guix-git/doc/guix.texi:49040
#, fuzzy
msgid "Extra content appended as-is to the configuration file.  Run @command{man msmtp} for more information about the configuration file format."
msgstr "作为配置文件的附加内容,按原样附加。运行 @command{man msmtp} 以获取有关配置文件格式的更多信息。"

#. type: deftp
#: guix-git/doc/guix.texi:49049
#, fuzzy, no-wrap
msgid "{Data Type} msmtp-account"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:49051
#, fuzzy
msgid "Available @code{msmtp-account} fields are:"
msgstr "{数据类型} build-machine"

#. type: table
#: guix-git/doc/guix.texi:49055
#, fuzzy
msgid "The unique name of the account."
msgstr "这个用户手册的许可证。"

#. type: item
#: guix-git/doc/guix.texi:49056
#, fuzzy, no-wrap
msgid "@code{configuration} (type: msmtp-configuration)"
msgstr "@code{journal-content}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49058
#, fuzzy
msgid "The configuration for this given account."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:49067
#, fuzzy, no-wrap
msgid "{Data Type} msmtp-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:49069
#, fuzzy
msgid "Available @code{msmtp-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:49071
#, fuzzy, no-wrap
msgid "@code{auth?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:49073
#, fuzzy
msgid "Enable or disable authentication."
msgstr "--disable-deduplication"

#. type: item
#: guix-git/doc/guix.texi:49074
#, fuzzy, no-wrap
msgid "@code{tls?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:49076
#, fuzzy
msgid "Enable or disable TLS (also known as SSL) for secured connections."
msgstr "启用或禁用 TLS(也称为 SSL)以进行安全连接。"

#. type: item
#: guix-git/doc/guix.texi:49077
#, fuzzy, no-wrap
msgid "@code{tls-starttls?} (type: maybe-boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:49080
#, fuzzy
msgid "Choose the TLS variant: start TLS from within the session (‘on’, default), or tunnel the session through TLS (‘off’)."
msgstr "选择 TLS 变体:在会话内启动 TLS(“开启”,默认),或通过 TLS 隧道会话(“关闭”)。"

#. type: item
#: guix-git/doc/guix.texi:49081
#, fuzzy, no-wrap
msgid "@code{tls-trust-file} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49084
#, fuzzy
msgid "Activate server certificate verification using a list of trusted Certification Authorities (CAs)."
msgstr "使用受信任的认证机构(CA)列表激活服务器证书验证。"

#. type: table
#: guix-git/doc/guix.texi:49089
#, fuzzy
msgid "Enable logging to the specified file.  An empty argument disables logging.  The file name ‘-’ directs the log information to standard output."
msgstr "启用日志记录到指定文件。空参数将禁用日志记录。文件名 ‘-’ 将日志信息定向到标准输出。"

#. type: item
#: guix-git/doc/guix.texi:49090
#, fuzzy, no-wrap
msgid "@code{host} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49092
#, fuzzy
msgid "The SMTP server to send the mail to."
msgstr "要发送邮件的 SMTP 服务器。"

#. type: item
#: guix-git/doc/guix.texi:49093
#, fuzzy, no-wrap
msgid "@code{port} (type: maybe-integer)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49096
#, fuzzy
msgid "The port that the SMTP server listens on.  The default is 25 (\"smtp\"), unless TLS without STARTTLS is used, in which case it is 465 (\"smtps\")."
msgstr "SMTP 服务器监听的端口。默认是 25(“smtp”),除非使用不带 STARTTLS 的 TLS,此时为 465(“smtps”)。"

#. type: table
#: guix-git/doc/guix.texi:49099
#, fuzzy
msgid "Set the user name for authentication."
msgstr "验证substitute"

#. type: item
#: guix-git/doc/guix.texi:49100
#, fuzzy, no-wrap
msgid "@code{from} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49102
#, fuzzy
msgid "Set the envelope-from address."
msgstr "设置发件人地址。"

#. type: item
#: guix-git/doc/guix.texi:49103
#, fuzzy, no-wrap
msgid "@code{password-eval} (type: maybe-string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49106
#, fuzzy
msgid "Set the password for authentication to the output (stdout) of the command cmd."
msgstr "设置用于身份验证的命令 cmd 的输出(stdout)密码。"

#. type: table
#: guix-git/doc/guix.texi:49111
#, fuzzy
msgid "Extra content appended as-is to the configuration block.  Run @command{man msmtp} for more information about the configuration file format."
msgstr "额外内容将原样附加到配置块中。运行 @command{man msmtp} 获取有关配置文件格式的更多信息。"

#. type: subsection
#: guix-git/doc/guix.texi:49118 guix-git/doc/guix.texi:49119
#, fuzzy, no-wrap
msgid "Messaging Home Services"
msgstr "消息服务"

#. type: cindex
#: guix-git/doc/guix.texi:49121
#, fuzzy, no-wrap
msgid "znc"
msgstr "znc"

#. type: Plain text
#: guix-git/doc/guix.texi:49125
#, fuzzy
msgid "The @uref{https://znc.in, ZNC bouncer} can be run as a daemon to manage your IRC presence.  With the @code{(gnu home services messaging)} service, you can configure ZNC to run upon login."
msgstr "@uref{https://znc.in, ZNC bouncer} 可以作为守护进程运行,以管理您的 IRC 存在。使用 @code{(gnu home services messaging)} 服务,您可以配置 ZNC 在登录时运行。"

#. type: Plain text
#: guix-git/doc/guix.texi:49127
#, fuzzy
msgid "You will have to provide a @file{~/.znc/configs/znc.conf} separately."
msgstr "您需要单独提供 @file{~/.znc/configs/znc.conf}。"

#. type: lisp
#: guix-git/doc/guix.texi:49133
#, no-wrap
msgid "(service home-znc-service-type)\n"
msgstr "(service home-znc-service-type)\n"

#. type: defvar
#: guix-git/doc/guix.texi:49135
#, fuzzy, no-wrap
msgid "home-znc-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:49138
#, fuzzy
msgid "This is the type of the ZNC home service, whose value is a @code{home-znc-configuration} object."
msgstr "管理操作系统配置。"

#. type: deftp
#: guix-git/doc/guix.texi:49140
#, fuzzy, no-wrap
msgid "{Data Type} home-znc-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:49142
#, fuzzy
msgid "Available @code{home-znc-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:49144
#, fuzzy, no-wrap
msgid "@code{znc} (default: @code{znc}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:49146
#, fuzzy
msgid "The ZNC package to use."
msgstr "软件包数据类型。"

#. type: table
#: guix-git/doc/guix.texi:49150
#, fuzzy
msgid "Extra options will be passed to @command{znc}, please run @command{man znc} for more information."
msgstr "额外选项将传递给 @command{znc},请运行 @command{man znc} 获取更多信息。"

#. type: subsection
#: guix-git/doc/guix.texi:49154 guix-git/doc/guix.texi:49155
#, fuzzy, no-wrap
msgid "Media Home Services"
msgstr "游戏服务"

#. type: cindex
#: guix-git/doc/guix.texi:49157
#, fuzzy, no-wrap
msgid "kodi"
msgstr "kodi"

#. type: Plain text
#: guix-git/doc/guix.texi:49161
#, fuzzy
msgid "The @uref{https://kodi.tv, Kodi media center} can be run as a daemon on a media server.  With the @code{(gnu home services kodi)} service, you can configure Kodi to run upon login."
msgstr "@uref{https://kodi.tv, Kodi 媒体中心} 可以作为守护进程在媒体服务器上运行。使用 @code{(gnu home services kodi)} 服务,您可以配置 Kodi 在登录时运行。"

#. type: lisp
#: guix-git/doc/guix.texi:49169
#, no-wrap
msgid ""
"(service home-kodi-service-type\n"
"  (home-kodi-configuration\n"
"   (extra-options '(\"--settings=\"<settings-file>\"))))\n"
msgstr ""
"(service home-kodi-service-type\n"
"  (home-kodi-configuration\n"
"   (extra-options '(\"--settings=\"<settings-file>\"))))\n"

#. type: defvar
#: guix-git/doc/guix.texi:49171
#, fuzzy, no-wrap
msgid "home-kodi-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:49174
#, fuzzy
msgid "This is the type of the Kodi home service, whose value is a @code{home-kodi-configuration} object."
msgstr "这是 Kodi 家庭服务的类型,其值是 @code{home-kodi-configuration} 对象。"

#. type: deftp
#: guix-git/doc/guix.texi:49176
#, fuzzy, no-wrap
msgid "{Data Type} home-kodi-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:49178
#, fuzzy
msgid "Available @code{home-kodi-configuration} fields are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:49180
#, fuzzy, no-wrap
msgid "@code{kodi} (default: @code{kodi}) (type: file-like)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:49182
#, fuzzy
msgid "The Kodi package to use."
msgstr "软件包数据类型。"

#. type: table
#: guix-git/doc/guix.texi:49186
#, fuzzy
msgid "Extra options will be passed to @command{kodi}, please run @command{man kodi} for more information."
msgstr "额外选项将传递给 @command{kodi},请运行 @command{man kodi} 获取更多信息。"

#. type: subsection
#: guix-git/doc/guix.texi:49190 guix-git/doc/guix.texi:49191
#, fuzzy, no-wrap
msgid "Sway window manager"
msgstr "Sway 窗口管理器"

#. type: cindex
#: guix-git/doc/guix.texi:49193
#, fuzzy, no-wrap
msgid "sway, Home Service"
msgstr "游戏服务"

#. type: cindex
#: guix-git/doc/guix.texi:49194
#, fuzzy, no-wrap
msgid "sway, configuration"
msgstr "系统配置"

#. type: Plain text
#: guix-git/doc/guix.texi:49199
#, fuzzy
msgid "The @code{(gnu home services sway)} module provides @code{home-sway-service-type}, a home service to configure the @uref{https://github.com/swaywm/sway,Sway window manager for Wayland} in a declarative way."
msgstr "@code{(gnu home services sway)} 模块提供 @code{home-sway-service-type},这是一个用于以声明方式配置 @uref{https://github.com/swaywm/sway,Sway 窗口管理器} 的家庭服务。"

#. type: lisp
#: guix-git/doc/guix.texi:49215
#, fuzzy, no-wrap
msgid ""
"(service home-sway-service-type\n"
"         (sway-configuration\n"
"          (gestures\n"
"           '((swipe:3:down . \"move to scratchpad\")\n"
"             (swipe:3:up   . \"scratchpad show\")))\n"
"          (outputs\n"
"           (list (sway-output\n"
"                  (identifier '*)\n"
"                  (background (file-append sway\n"
"                                           \"\\\n"
"/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png\")))))))\n"
msgstr ""
"(服务 home-sway-service-type\n"
"         (sway-configuration\n"
"          (gestures\n"
"           '((swipe:3:down . \"移动到临时区\")\n"
"             (swipe:3:up   . \"临时区显示\")))\n"
"          (outputs\n"
"           (list (sway-output\n"
"                  (identifier '*)\n"
"                  (background (file-append sway\n"
"                                           \"\\\n"
"/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png\")))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:49218
#, fuzzy
msgid "The above example describes a Sway configuration in which"
msgstr "上述示例描述了一个 Sway 配置,其中"

#. type: itemize
#: guix-git/doc/guix.texi:49222
#, fuzzy
msgid "all monitors use a particular wallpaper whose @file{.png} is provided by the @code{sway} package;"
msgstr "所有显示器使用特定的壁纸,其 @file{.png} 文件由 @code{sway} 包提供;"

#. type: itemize
#: guix-git/doc/guix.texi:49225
#, fuzzy
msgid "swiping down (resp.@: up) with three fingers moves the active window to the scratchpad (resp.@: shows/hides the scratchpad)."
msgstr "用三根手指向下滑动(或向上滑动)会将活动窗口移动到临时区域(或显示/隐藏临时区域)。"

#. type: quotation
#: guix-git/doc/guix.texi:49232
#, fuzzy
msgid "This home service only sets up the configuration file and profile packages for Sway.  It does @emph{not} start Sway in any way.  If you want to do so, you might be interested in using @code{greetd-wlgreet-sway-session} instead."
msgstr "此家庭服务仅设置 Sway 的配置文件和配置包。它并不会以任何方式启动 Sway。如果您想这样做,您可能会对使用 @code{greetd-wlgreet-sway-session} 感兴趣。"

#. type: quotation
#: guix-git/doc/guix.texi:49236
#, fuzzy
msgid "The procedure @code{sway-configuration->file} defined below can be used to provide the value for the @emph{optional} @code{sway-configuration} field of @code{greetd-wlgreet-sway-session}."
msgstr "下面定义的过程 @code{sway-configuration->file} 可用于提供 @code{greetd-wlgreet-sway-session} 的 @emph{可选} @code{sway-configuration} 字段的值。"

#. type: deffn
#: guix-git/doc/guix.texi:49238
#, fuzzy, no-wrap
msgid "{Procedure} sway-configuration->file config"
msgstr "{数据类型} build-machine"

#. type: deffn
#: guix-git/doc/guix.texi:49242
#, fuzzy
msgid "This procedure takes one argument @code{config}, which must be a @code{sway-configuration} record (defined below), and returns a file-like object representing the serialized configuration."
msgstr "此过程接受一个参数 @code{config},它必须是一个 @code{sway-configuration} 记录(定义如下),并返回一个表示序列化配置的类文件对象。"

#. type: defvar
#: guix-git/doc/guix.texi:49244
#, fuzzy, no-wrap
msgid "home-sway-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:49246
#, fuzzy
msgid "This is a home service type to set up Sway.  It takes care of:"
msgstr "这是一个设置 Sway 的家庭服务类型。它负责:"

#. type: itemize
#: guix-git/doc/guix.texi:49249
#, fuzzy
msgid "providing a @file{~/.config/sway/config} file,"
msgstr "提供一个 @file{~/.config/sway/config} 文件,"

#. type: itemize
#: guix-git/doc/guix.texi:49251
#, fuzzy
msgid "adding Sway-related packages to your profile."
msgstr "将与 Sway 相关的包添加到您的配置中。"

#. type: deftp
#: guix-git/doc/guix.texi:49254
#, fuzzy, no-wrap
msgid "{Data Type} sway-configuration"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:49257
#, fuzzy
msgid "This configuration record describes the Sway configuration (see@ @cite{sway(5)}).  Available fields are:"
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:49259
#, fuzzy, no-wrap
msgid "@code{variables} (default: @code{%sway-default-variables})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:49263
#, fuzzy
msgid "The value of this field is an association list in which keys are symbols and values are either strings, G-expressions or file-like objects (@pxref{G-Expressions})."
msgstr "此字段的值是一个关联列表,其中键是符号,值可以是字符串、G 表达式或类文件对象 (@pxref{G-Expressions})。"

#. type: table
#: guix-git/doc/guix.texi:49265
#, fuzzy
msgid "Example:"
msgstr "示例:"

#. type: lisp
#: guix-git/doc/guix.texi:49271
#, fuzzy, no-wrap
msgid ""
"(variables `((mod . \"Mod4\") ; string\n"
"             (term ; file-append\n"
"              . ,(file-append foot \"/bin/foot\"))\n"
"             (Term ; G-expression\n"
"              . ,#~(string-append #$foot \"/bin/foot\"))))\n"
msgstr ""
"(variables `((mod . \"Mod4\") ; 字符串\n"
"             (term ; 文件附加\n"
"              . ,(file-append foot \"/bin/foot\"))\n"
"             (Term ; G 表达式\n"
"              . ,#~(string-append #$foot \"/bin/foot\"))))\n"

#. type: quotation
#: guix-git/doc/guix.texi:49278
#, fuzzy
msgid "Default keybindings assume the existence of variables named @code{$mod}, @code{$left}, @code{$right}, @code{$up} and @code{$down}.  If you choose not to define these variables, make sure to remove keybindings referring to them."
msgstr "默认键绑定假定存在名为 @code{$mod}、@code{$left}、@code{$right}、@code{$up} 和 @code{$down} 的变量。如果您选择不定义这些变量,请确保删除引用它们的键绑定。"

#. type: item
#: guix-git/doc/guix.texi:49280
#, fuzzy, no-wrap
msgid "@code{keybindings} (default: @code{%sway-default-keybindings})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:49284
#, fuzzy
msgid "This field describes keybindings for the @emph{default} mode.  The value is an association list: keys are symbols and values are either strings or G-expressions."
msgstr "此字段描述 @emph{默认} 模式的键绑定。值是一个关联列表:键是符号,值可以是字符串或 G 表达式。"

#. type: table
#: guix-git/doc/guix.texi:49288
#, fuzzy
msgid "The following snippet launches the terminal when pressing @kbd{$mod+t} and @kbd{$mod+Shift+t} (assuming that a variable @code{$term} is defined):"
msgstr "以下代码片段在按下 @kbd{$mod+t} 和 @kbd{$mod+Shift+t} 时启动终端(假设定义了变量 @code{$term}):"

#. type: lisp
#: guix-git/doc/guix.texi:49291
#, fuzzy, no-wrap
msgid ""
"`(($mod+t . ,#~(string-append \"exec \" #$foot \"/bin/foot\"))\n"
"  ($mod+Shift+t . \"exec $term\"))\n"
msgstr ""
"`(($mod+t . ,#~(string-append \"exec \" #$foot \"/bin/foot\"))\n"
"  ($mod+Shift+t . \"exec $term\"))\n"

#. type: item
#: guix-git/doc/guix.texi:49293
#, fuzzy, no-wrap
msgid "@code{gestures} (default: @code{%sway-default-gestures})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:49295
#, fuzzy
msgid "Similar to the previous field, but for finger-gestures."
msgstr "与前一个字段类似,但用于手势。"

#. type: table
#: guix-git/doc/guix.texi:49298
#, fuzzy
msgid "The following snippet allows to navigate through workspaces by swiping right and left with three fingers:"
msgstr "以下代码片段允许通过用三根手指向右和向左滑动来导航工作区:"

#. type: lisp
#: guix-git/doc/guix.texi:49301
#, fuzzy, no-wrap
msgid ""
"'((swipe:3:right . \"workspace next_on_output\")\n"
"  (swipe:3:left  . \"workspace prev_on_output\"))\n"
msgstr ""
"'((swipe:3:right . \"workspace next_on_output\")\n"
"  (swipe:3:left  . \"workspace prev_on_output\"))\n"

#. type: item
#: guix-git/doc/guix.texi:49303
#, fuzzy, no-wrap
msgid "@code{packages} (default: @code{%sway-default-packages})"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:49306
#, fuzzy
msgid "This field describes a list of packages to add to the user profile.  At the moment, the default value only adds @code{sway} to the profile."
msgstr "该字段描述了要添加到用户配置文件的包列表。目前,默认值仅将@code{sway}添加到配置文件中。"

#. type: table
#: guix-git/doc/guix.texi:49309
#, fuzzy
msgid "List of @code{sway-input} configuration records (described below)."
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:49310
#, fuzzy, no-wrap
msgid "@code{outputs} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:49312
#, fuzzy
msgid "List of @code{sway-output} configuration records (described below)."
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:49313
#, fuzzy, no-wrap
msgid "@code{bar} (optional @code{sway-bar} record)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49316
#, fuzzy
msgid "Optional @code{sway-bar} record (described below) to configure a Sway bar."
msgstr "可选的@code{sway-bar}记录(如下所述)用于配置Sway栏。"

#. type: item
#: guix-git/doc/guix.texi:49317
#, fuzzy, no-wrap
msgid "@code{modes} (default: @code{%sway-default-modes})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:49322
#, fuzzy
msgid "List of @code{sway-mode} records (described below) to add modes to the Sway configuration.  The default value @code{%sway-default-modes} adds the ``resize'' mode of the default Sway configuration (as described below)."
msgstr "要添加到Sway配置中的@code{sway-mode}记录列表(如下所述)。默认值@code{%sway-default-modes}添加了默认Sway配置的``resize''模式(如下所述)。"

#. type: item
#: guix-git/doc/guix.texi:49323
#, fuzzy, no-wrap
msgid "@code{startup+reload-programs} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:49327
#, fuzzy
msgid "Programs to execute at startup time @emph{and} after every configuration reload.  The value of this field is a list of strings, G-expressions or file-like objects (@pxref{G-Expressions})."
msgstr "在启动时@emph{和}每次配置重新加载后执行的程序。该字段的值是字符串、G表达式或类文件对象的列表(@pxref{G-Expressions})。"

#. type: item
#: guix-git/doc/guix.texi:49328
#, fuzzy, no-wrap
msgid "@code{startup-programs} (default: @code{%sway-default-startup-programs})"
msgstr "@code{gnome}(默认值:@code{gnome})"

#. type: table
#: guix-git/doc/guix.texi:49331
#, fuzzy
msgid "Programs to execute at startup time.  As above, values of this field are a list of strings, G-expressions or file-like objects."
msgstr "在启动时执行的程序。如上所述,该字段的值是字符串、G表达式或类文件对象的列表。"

#. type: table
#: guix-git/doc/guix.texi:49336
#, fuzzy
msgid "The default value, @code{%sway-default-startup-programs}, executes @code{swayidle} in order to lock the screen after 5@ minutes of inactivity (displaying a background distributed with Sway) and turn the screen off after 10@ minutes of inactivity."
msgstr "默认值@code{%sway-default-startup-programs}执行@code{swayidle}以在5@分钟不活动后锁定屏幕(显示与Sway一起分发的背景),并在10@分钟不活动后关闭屏幕。"

#. type: item
#: guix-git/doc/guix.texi:49337 guix-git/doc/guix.texi:49384
#: guix-git/doc/guix.texi:49438
#, fuzzy, no-wrap
msgid "@code{extra-content} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:49340
#, fuzzy
msgid "Lines to add to the configuration file.  The value of this field is a list of strings or G-expressions."
msgstr "要添加到配置文件的行。该字段的值是字符串或G表达式的列表。"

#. type: deftp
#: guix-git/doc/guix.texi:49343
#, fuzzy, no-wrap
msgid "{Data Type} sway-input"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:49348
#, fuzzy
msgid "@code{sway-input} records describe input blocks (see@ @cite{sway-input(5)}).  For example, the following snippet makes all keyboards use a French layout, in which @kbd{capslock} has been remapped to @kbd{ctrl}:"
msgstr "@code{sway-input}记录描述输入块(见@ @cite{sway-input(5)})。例如,以下代码片段使所有键盘使用法语布局,其中@kbd{capslock}已重新映射为@kbd{ctrl}:"

#. type: lisp
#: guix-git/doc/guix.texi:49352
#, fuzzy, no-wrap
msgid ""
"(sway-input (identifier \"type:keyboard\")\n"
"            (layout\n"
"              (keyboard-layout \"fr\" #:options '(\"ctrl:nocaps\"))))\n"
msgstr ""
"(sway-input (identifier \"type:keyboard\")\n"
"            (layout\n"
"              (keyboard-layout \"fr\" #:options '(\"ctrl:nocaps\"))))\n"

#. type: deftp
#: guix-git/doc/guix.texi:49355
#, fuzzy
msgid "Available fields for @code{sway-input} configuration records are:"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:49357 guix-git/doc/guix.texi:49395
#, fuzzy, no-wrap
msgid "@code{identifier} (default: @code{'*})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49361
#, fuzzy
msgid "Identifier of the input.  The field accepts symbols and strings.  If the @code{identifier} is a symbol, it is inserted as is; if it is a string, it will be quoted in the configuration file."
msgstr "输入的标识符。该字段接受符号和字符串。如果@code{identifier}是符号,则按原样插入;如果是字符串,则将在配置文件中引用。"

#. type: item
#: guix-git/doc/guix.texi:49362
#, fuzzy, no-wrap
msgid "@code{layout} (optional @code{<keyboard-layout>} record)"
msgstr "@code{layout}(可选的@code{<keyboard-layout>}记录)"

#. type: table
#: guix-git/doc/guix.texi:49366
#, fuzzy
msgid "Keyboard specific option.  Field specifying the layout to use for the input.  The value must be a @code{<keyboard-layout>} record (@pxref{Keyboard Layout})."
msgstr "特定于键盘的选项。字段指定用于输入的布局。值必须是@code{<keyboard-layout>}记录(@pxref{Keyboard Layout})。"

#. type: quotation
#: guix-git/doc/guix.texi:49370
#, fuzzy
msgid "@code{(gnu home services sway)} does not re-export the @code{keyboard-layout} procedure."
msgstr "@code{(gnu home services sway)} 不会重新导出 @code{keyboard-layout} 过程。"

#. type: item
#: guix-git/doc/guix.texi:49372
#, fuzzy, no-wrap
msgid "@code{disable-while-typing} (optional boolean)"
msgstr "@code{disable-while-typing}(可选布尔值)"

#. type: table
#: guix-git/doc/guix.texi:49375
#, fuzzy
msgid "If @code{#t} (resp.@: @code{#f}) enables (resp.@: disables) the ``disable while typing'' option for this input."
msgstr "如果 @code{#t}(即 @code{#f})启用(即:禁用)此输入的“在输入时禁用”选项。"

#. type: item
#: guix-git/doc/guix.texi:49376
#, fuzzy, no-wrap
msgid "@code{disable-while-trackpointing} (optional boolean)"
msgstr "@code{disable-while-trackpointing}(可选布尔值)"

#. type: table
#: guix-git/doc/guix.texi:49379
#, fuzzy
msgid "If @code{#t} (resp.@: @code{#f}), enables (resp.@: disables) the ``disable while track-pointing'' option for this input."
msgstr "如果 @code{#t}(即 @code{#f}),启用(即:禁用)此输入的“在轨迹点输入时禁用”选项。"

#. type: item
#: guix-git/doc/guix.texi:49380
#, fuzzy, no-wrap
msgid "@code{tap} (optional boolean)"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:49383
#, fuzzy
msgid "Enables or disables the ``tap'' option, which allows clicking by tapping on a touchpad."
msgstr "启用或禁用“轻触”选项,该选项允许通过轻触触摸板进行点击。"

#. type: table
#: guix-git/doc/guix.texi:49387
#, fuzzy
msgid "Lines to add to the input block.  The value of this field must a list whose elements are either strings or G-expressions."
msgstr "要添加到输入块的行。此字段的值必须是一个列表,其元素可以是字符串或 G 表达式。"

#. type: deftp
#: guix-git/doc/guix.texi:49390
#, fuzzy, no-wrap
msgid "{Data Type} sway-output"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:49393
#, fuzzy
msgid "@code{sway-output} records describe Sway outputs (see@ @cite{sway-output(5)}).  Available fields are:"
msgstr "@code{sway-output} 记录描述 Sway 输出(参见 @cite{sway-output(5)})。可用字段包括:"

#. type: table
#: guix-git/doc/guix.texi:49399
#, fuzzy
msgid "Identifier of the monitor.  The field accepts symbols and strings.  If the @code{identifier} is a symbol, it is inserted as is; if it is a string, it will be quoted in the configuration file."
msgstr "监视器的标识符。该字段接受符号和字符串。如果 @code{identifier} 是符号,则按原样插入;如果是字符串,则将在配置文件中引用。"

#. type: item
#: guix-git/doc/guix.texi:49400
#, fuzzy, no-wrap
msgid "@code{resolution} (optional string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49402
#, fuzzy
msgid "This string defines the resolution of the monitor."
msgstr "此字符串定义监视器的分辨率。"

#. type: item
#: guix-git/doc/guix.texi:49403 guix-git/doc/guix.texi:49493
#, fuzzy, no-wrap
msgid "@code{position} (optional)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49406
#, fuzzy
msgid "The (optional) value of this field must be a @code{point}.  Example:"
msgstr "此字段的(可选)值必须是 @code{point}。示例:"

#. type: lisp
#: guix-git/doc/guix.texi:49410
#, fuzzy, no-wrap
msgid ""
"(position\n"
" (point (x 1920)\n"
"        (y 0)))\n"
msgstr ""
"(position\n"
" (point (x 1920)\n"
"        (y 0)))\n"

#. type: item
#: guix-git/doc/guix.texi:49412
#, fuzzy, no-wrap
msgid "@code{background} (optional)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:49415
#, fuzzy
msgid "The value of this field describes what wallpaper to use on this output.  The field accepts the following types of values:"
msgstr "此字段的值描述在此输出上使用的壁纸。该字段接受以下类型的值:"

#. type: itemize
#: guix-git/doc/guix.texi:49418
#, fuzzy
msgid "a string,"
msgstr "一个字符串,"

#. type: itemize
#: guix-git/doc/guix.texi:49420
#, fuzzy
msgid "a G-expression,"
msgstr "G-表达式"

#. type: itemize
#: guix-git/doc/guix.texi:49422
#, fuzzy
msgid "a file-like object,"
msgstr "一个文件对象,"

#. type: itemize
#: guix-git/doc/guix.texi:49427
#, fuzzy
msgid "a pair.  The first argument of this pair must be a string, a G-expression or a file-like object.  The second element describes how the wallpaper will be displayed.  It must be a symbol among @code{stretch}, @code{fill}, @code{fit}, @code{center} and @code{tile}."
msgstr "一对。该对的第一个参数必须是字符串、G 表达式或文件对象。第二个元素描述壁纸的显示方式。它必须是 @code{stretch}、@code{fill}、@code{fit}、@code{center} 和 @code{tile} 之间的一个符号。"

#. type: itemize
#: guix-git/doc/guix.texi:49430
#, fuzzy
msgid "If the second element is not specified (@i{i.e.}@: when the value is not a pair), the @code{fill} mode will be used."
msgstr "如果未指定第二个元素(即:当值不是一对时),将使用 @code{fill} 模式。"

#. type: quotation
#: guix-git/doc/guix.texi:49436
#, fuzzy
msgid "In order to use an SVG file, you must have @code{librsvg} in your profile (@i{e.g.}@: by adding it in the @code{packages} field of @code{sway-configuration})."
msgstr "要使用 SVG 文件,您必须在您的配置文件中包含 @code{librsvg}(例如:通过将其添加到 @code{sway-configuration} 的 @code{packages} 字段中)。"

#. type: table
#: guix-git/doc/guix.texi:49441
#, fuzzy
msgid "List defining additional lines to add to the output configuration block.  Elements of the list must be either strings or G-expressions."
msgstr "定义要添加到输出配置块的附加行的列表。列表的元素必须是字符串或 G 表达式。"

#. type: deftp
#: guix-git/doc/guix.texi:49444
#, fuzzy, no-wrap
msgid "{Data Type} sway-border-color"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:49446
#, fuzzy, no-wrap
msgid "border"
msgstr "边框"

#. type: table
#: guix-git/doc/guix.texi:49448
#, fuzzy
msgid "Color of the border."
msgstr "边框的颜色。"

#. type: item
#: guix-git/doc/guix.texi:49448
#, fuzzy, no-wrap
msgid "background"
msgstr "背景"

#. type: table
#: guix-git/doc/guix.texi:49450
#, fuzzy
msgid "Color of the background."
msgstr "背景的颜色。"

#. type: item
#: guix-git/doc/guix.texi:49450
#, fuzzy, no-wrap
msgid "text"
msgstr "文本"

#. type: table
#: guix-git/doc/guix.texi:49452
#, fuzzy
msgid "Color of the text."
msgstr "文本的颜色。"

#. type: deftp
#: guix-git/doc/guix.texi:49455
#, fuzzy, no-wrap
msgid "{Data Type} sway-color"
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:49457
#, fuzzy, no-wrap
msgid "@code{background} (optional string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:49459
#, fuzzy
msgid "Background color of the bar."
msgstr "栏的背景颜色。"

#. type: item
#: guix-git/doc/guix.texi:49460
#, fuzzy, no-wrap
msgid "@code{statusline} (optional string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49462
#, fuzzy
msgid "Text color of the status line."
msgstr "仓库的纯函数式接口。"

#. type: item
#: guix-git/doc/guix.texi:49463
#, fuzzy, no-wrap
msgid "@code{focused-background} (optional string)"
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: table
#: guix-git/doc/guix.texi:49465
#, fuzzy
msgid "Background color of the bar on the currently focused monitor."
msgstr "当前聚焦监视器上条形的背景颜色。"

#. type: item
#: guix-git/doc/guix.texi:49466
#, fuzzy, no-wrap
msgid "@code{focused-statusline} (optional string)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49468
#, fuzzy
msgid "Text color of the statusline on the currently focused monitor."
msgstr "当前聚焦监视器上状态栏的文本颜色。"

#. type: item
#: guix-git/doc/guix.texi:49469
#, fuzzy, no-wrap
msgid "@code{focused-workspace} (optional @code{sway-border-color})"
msgstr "@code{focused-workspace}(可选 @code{sway-border-color})"

#. type: table
#: guix-git/doc/guix.texi:49471
#, fuzzy
msgid "Color scheme for focused workspaces."
msgstr "聚焦工作区的配色方案。"

#. type: item
#: guix-git/doc/guix.texi:49472
#, fuzzy, no-wrap
msgid "@code{active-workspace} (optional @code{sway-border-color})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49474
#, fuzzy
msgid "Color scheme for active workspaces."
msgstr "活动工作区的配色方案。"

#. type: item
#: guix-git/doc/guix.texi:49475
#, fuzzy, no-wrap
msgid "@code{inactive-workspace} (optional @code{sway-border-color})"
msgstr "@code{inactive-workspace}(可选 @code{sway-border-color})"

#. type: table
#: guix-git/doc/guix.texi:49477
#, fuzzy
msgid "Color scheme for inactive workspaces."
msgstr "非活动工作区的配色方案。"

#. type: item
#: guix-git/doc/guix.texi:49478
#, fuzzy, no-wrap
msgid "@code{urgent-workspace} (optional @code{sway-border-color})"
msgstr "@code{urgent-workspace}(可选 @code{sway-border-color})"

#. type: table
#: guix-git/doc/guix.texi:49480
#, fuzzy
msgid "Color scheme for workspaces containing ``urgent windows''."
msgstr "包含“紧急窗口”的工作区的配色方案。"

#. type: item
#: guix-git/doc/guix.texi:49481
#, fuzzy, no-wrap
msgid "@code{binding-mode} (optional @code{sway-border-color})"
msgstr "@code{binding-mode}(可选 @code{sway-border-color})"

#. type: table
#: guix-git/doc/guix.texi:49483
#, fuzzy
msgid "Color scheme for the binding mode indicator."
msgstr "绑定模式指示器的配色方案。"

#. type: deftp
#: guix-git/doc/guix.texi:49486
#, fuzzy, no-wrap
msgid "{Data Type} sway-bar"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:49488
#, fuzzy
msgid "Describes the Sway bar (see@ @cite{sway-bar(5)})."
msgstr "描述 Sway 条(见 @cite{sway-bar(5)})。"

#. type: item
#: guix-git/doc/guix.texi:49490
#, fuzzy, no-wrap
msgid "@code{identifier} (default: @code{'bar0})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49492
#, fuzzy
msgid "Identifier of the bar.  The value must be a symbol."
msgstr "条的标识符。值必须是一个符号。"

#. type: table
#: guix-git/doc/guix.texi:49496
#, fuzzy
msgid "Specify the position of the bar.  Accepted values are @code{'top} or @code{'bottom}."
msgstr "指定条的位置。接受的值为 @code{'top} 或 @code{'bottom}。"

#. type: item
#: guix-git/doc/guix.texi:49497
#, fuzzy, no-wrap
msgid "@code{hidden-state} (optional)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49500
#, fuzzy
msgid "Specify the appearance of the bar when it is hidden.  Accepted values are @code{'hide} or @code{'show}."
msgstr "指定条在隐藏时的外观。接受的值为 @code{'hide} 或 @code{'show}。"

#. type: item
#: guix-git/doc/guix.texi:49501
#, fuzzy, no-wrap
msgid "@code{binding-mode-indicator} (optional)"
msgstr "@code{binding-mode-indicator}(可选)"

#. type: table
#: guix-git/doc/guix.texi:49503
#, fuzzy
msgid "Boolean enabling or disabling the binding mode indicator."
msgstr "布尔值,启用或禁用绑定模式指示器。"

#. type: item
#: guix-git/doc/guix.texi:49504
#, fuzzy, no-wrap
msgid "@code{colors} (optional)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49506
#, fuzzy
msgid "An optional @code{sway-color} configuration record."
msgstr "{数据类型} build-machine"

#. type: item
#: guix-git/doc/guix.texi:49507
#, fuzzy, no-wrap
msgid "@code{status-command} (optional)"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49511
#, fuzzy
msgid "This field accept strings, G-expressions and executable file-like values.  The default value is a command (string) that prints the date and time every second."
msgstr "此字段接受字符串、G 表达式和可执行文件样值。默认值是一个每秒打印日期和时间的命令(字符串)。"

#. type: table
#: guix-git/doc/guix.texi:49514
#, fuzzy
msgid "Each line printed on @code{stdout} by this command (or script) will be displayed on the status area of the bar."
msgstr "此命令(或脚本)在 @code{stdout} 上打印的每一行将显示在条的状态区域。"

#. type: table
#: guix-git/doc/guix.texi:49516
#, fuzzy
msgid "Below are a few examples using:"
msgstr "以下是一些使用示例:"

#. type: itemize
#: guix-git/doc/guix.texi:49519
#, fuzzy
msgid "a string: @code{\"while date +'%Y-%m-%d %X'; do sleep 1; done\"},"
msgstr "一个字符串:@code{\"while date +'%Y-%m-%d %X'; do sleep 1; done\"},"

#. type: itemize
#: guix-git/doc/guix.texi:49521
#, fuzzy
msgid "a G-exp:"
msgstr "一个 G 表达式:"

#. type: lisp
#: guix-git/doc/guix.texi:49525
#, fuzzy, no-wrap
msgid ""
"#~(string-append \"while \"\n"
"                 #$coreutils \"/bin/date\"\n"
"                 \" +'%Y-%m-%d %X'; do sleep 1; done\")\n"
msgstr ""
"#~(string-append \"while \"\n"
"                 #$coreutils \"/bin/date\"\n"
"                 \" +'%Y-%m-%d %X'; do sleep 1; done\")\n"

#. type: itemize
#: guix-git/doc/guix.texi:49528
#, fuzzy
msgid "an executable file:"
msgstr "一个可执行文件:"

#. type: lisp
#: guix-git/doc/guix.texi:49541
#, fuzzy, no-wrap
msgid ""
"(program-file\n"
" \"sway-bar-status\"\n"
" #~(begin\n"
"     (use-modules (ice-9 format)\n"
"                  (srfi srfi-19))\n"
"     (let loop ()\n"
"       (let* ((date (date->string\n"
"                     (current-date)\n"
"                     \"~d/~m/~Y (~a) • ~H:~M:~S\")))\n"
"         (format #t \"~a~%~!\" date)\n"
"         (sleep 1)\n"
"         (loop)))))\n"
msgstr ""
"(program-file\n"
" \"sway-bar-status\"\n"
" #~(begin\n"
"     (use-modules (ice-9 format)\n"
"                  (srfi srfi-19))\n"
"     (let loop ()\n"
"       (let* ((date (date->string\n"
"                     (current-date)\n"
"                     \"~d/~m/~Y (~a) • ~H:~M:~S\")))\n"
"         (format #t \"~a~%~!\" date)\n"
"         (sleep 1)\n"
"         (loop)))))\n"

#. type: item
#: guix-git/doc/guix.texi:49544 guix-git/doc/guix.texi:49586
#, fuzzy, no-wrap
msgid "@code{mouse-bindings} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:49547
#, fuzzy
msgid "This field accepts an associative list.  Keys are integers describing mouse events.  Values can either be strings or G-expressions."
msgstr "此字段接受关联列表。键是描述鼠标事件的整数。值可以是字符串或 G 表达式。"

#. type: table
#: guix-git/doc/guix.texi:49555
#, fuzzy
msgid "The module @code{(gnu home services sway)} exports constants @code{%ev-code-mouse-left}, @code{%ev-code-mouse-right} and @code{%ev-code-mouse-scroll-click} whose values are integers corresponding to left, right and scroll click respectively.  For example, with @code{(mouse-bindings `((,%ev-code-mouse-left . \"exec $term\")))}, left clicks in the status bar open the terminal (assuming that the variable @code{$term} is bound to a terminal)."
msgstr "模块 @code{(gnu home services sway)} 导出常量 @code{%ev-code-mouse-left}、@code{%ev-code-mouse-right} 和 @code{%ev-code-mouse-scroll-click},其值是对应于左、右和滚动点击的整数。例如,使用 @code{(mouse-bindings `((,%ev-code-mouse-left . \"exec $term\")))}, 状态栏中的左键单击将打开终端(假设变量 @code{$term} 绑定到终端)。"

#. type: deftp
#: guix-git/doc/guix.texi:49558
#, fuzzy, no-wrap
msgid "{Data Type} sway-mode"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:49561
#, fuzzy
msgid "Describes a Sway mode (see@ @cite{sway(5)}).  For example, the following snippet defines the resize mode of the default Sway configuration:"
msgstr "描述了一种 Sway 模式(见 @cite{sway(5)})。例如,以下代码片段定义了默认 Sway 配置的调整大小模式:"

#. type: example
#: guix-git/doc/guix.texi:49575
#, fuzzy, no-wrap
msgid ""
"(sway-mode\n"
" (mode-name \"resize\")\n"
" (keybindings\n"
"  '(($left  . \"resize shrink width 10px\")\n"
"    ($right . \"resize grow width 10px\")\n"
"    ($down  . \"resize grow height 10px\")\n"
"    ($up    . \"resize shrink height 10px\")\n"
"    (Left   . \"resize shrink width 10px\")\n"
"    (Right  . \"resize grow width 10px\")\n"
"    (Down   . \"resize grow height 10px\")\n"
"    (Up     . \"resize shrink height 10px\")\n"
"    (Return . \"mode \\\"default\\\"\")\n"
"    (Escape . \"mode \\\"default\\\"\"))))\n"
msgstr ""
"(sway-mode\n"
" (mode-name \"resize\")\n"
" (keybindings\n"
"  '(($left  . \"调整大小,缩小宽度 10px\")\n"
"    ($right . \"调整大小,增加宽度 10px\")\n"
"    ($down  . \"调整大小,增加高度 10px\")\n"
"    ($up    . \"调整大小,缩小高度 10px\")\n"
"    (Left   . \"调整大小,缩小宽度 10px\")\n"
"    (Right  . \"调整大小,增加宽度 10px\")\n"
"    (Down   . \"调整大小,增加高度 10px\")\n"
"    (Up     . \"调整大小,缩小高度 10px\")\n"
"    (Return . \"模式 \\\"default\\\"\")\n"
"    (Escape . \"模式 \\\"default\\\"\"))))\n"

#. type: item
#: guix-git/doc/guix.texi:49578
#, fuzzy, no-wrap
msgid "@code{mode-name} (default: @code{\"default\"})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:49580
#, fuzzy
msgid "Name of the mode.  This field accepts strings."
msgstr "模式的名称。此字段接受字符串。"

#. type: item
#: guix-git/doc/guix.texi:49581
#, fuzzy, no-wrap
msgid "@code{keybindings} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:49585
#, fuzzy
msgid "This field describes keybindings.  The value is an association list: keys are symbols and values are either strings or G-expressions, as above."
msgstr "此字段描述键绑定。值是一个关联列表:键是符号,值可以是字符串或 G 表达式,如上所述。"

#. type: table
#: guix-git/doc/guix.texi:49590
#, fuzzy
msgid "Ditto, but keys are mouse events (integers).  Constants @code{%ev-code-mouse-*} described above can be used as helpers to define mouse bindings."
msgstr "同上,但键是鼠标事件(整数)。上述常量 @code{%ev-code-mouse-*} 可用作定义鼠标绑定的辅助工具。"

#. type: subsection
#: guix-git/doc/guix.texi:49593 guix-git/doc/guix.texi:49594
#, fuzzy, no-wrap
msgid "Networking Home Services"
msgstr "网络服务"

#. type: Plain text
#: guix-git/doc/guix.texi:49598
#, fuzzy
msgid "This section lists services somewhat networking-related that you may use with Guix Home."
msgstr "本节列出了与网络相关的服务,您可以在 Guix Home 中使用。"

#. type: Plain text
#: guix-git/doc/guix.texi:49604
#, fuzzy
msgid "The @code{(gnu home services syncthing)} module provides a service to set up the @uref{Syncthing, https://syncthing.net} continuous file backup service."
msgstr "@code{(gnu home services syncthing)} 模块提供了一项服务,用于设置 @uref{Syncthing, https://syncthing.net} 持续文件备份服务。"

#. type: defvar
#: guix-git/doc/guix.texi:49605
#, fuzzy, no-wrap
msgid "home-syncthing-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:49610
#, fuzzy
msgid "This is the service type for the @command{syncthing} daemon; it is the Home counterpart of the @code{syncthing-service-type} system service (@pxref{Networking Services, @code{syncthing-service-type}}).  The value for this service type is a @command{syncthing-configuration}."
msgstr "这是 @command{syncthing} 守护进程的服务类型;它是 @code{syncthing-service-type} 系统服务的 Home 对应项(@pxref{Networking Services, @code{syncthing-service-type}})。此服务类型的值是 @command{syncthing-configuration}。"

#. type: defvar
#: guix-git/doc/guix.texi:49612
#, fuzzy
msgid "Here is how you would set it up with the default configuration:"
msgstr "以下是如何使用默认配置进行设置:"

#. type: lisp
#: guix-git/doc/guix.texi:49615
#, fuzzy, no-wrap
msgid "(service home-syncthing-service-type)\n"
msgstr "(service home-znc-service-type)\n"

#. type: defvar
#: guix-git/doc/guix.texi:49619
#, fuzzy
msgid "For a custom configuration, wrap you @code{syncthing-configuration} in @code{for-home}, as in this example:"
msgstr "对于自定义配置,将您的 @code{syncthing-configuration} 包裹在 @code{for-home} 中,如此示例所示:"

#. type: lisp
#: guix-git/doc/guix.texi:49624
#, fuzzy, no-wrap
msgid ""
"(service home-syncthing-service-type\n"
"         (for-home\n"
"          (syncthing-configuration (logflags 5))))\n"
msgstr ""
"(service home-unclutter-service-type\n"
"         (home-unclutter-configuration\n"
"          (idle-timeout 2)))\n"

#. type: defvar
#: guix-git/doc/guix.texi:49629
#, fuzzy
msgid "For details about @code{syncthing-configuration}, check out the documentation of the system service (@pxref{Networking Services, @code{syncthing-service-type}})."
msgstr "有关 @code{syncthing-configuration} 的详细信息,请查看系统服务的文档(@pxref{Networking Services, @code{syncthing-service-type}})。"

#. type: subsection
#: guix-git/doc/guix.texi:49632 guix-git/doc/guix.texi:49633
#, fuzzy, no-wrap
msgid "Miscellaneous Home Services"
msgstr "其它各种服务"

#. type: Plain text
#: guix-git/doc/guix.texi:49636
#, fuzzy
msgid "This section lists Home services that lack a better place."
msgstr "本节列出了没有更好位置的 Home 服务。"

#. type: subsubheading
#: guix-git/doc/guix.texi:49637
#, fuzzy, no-wrap
msgid "Beets Service"
msgstr "基础服务"

#. type: cindex
#: guix-git/doc/guix.texi:49639
#, fuzzy, no-wrap
msgid "Beets service, for Home"
msgstr "监控服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:49642
#, fuzzy
msgid "The @code{(gnu home services music)} module provides the following service:"
msgstr "@code{(gnu home services music)} 模块提供以下服务:"

#. type: defvar
#: guix-git/doc/guix.texi:49643
#, fuzzy, no-wrap
msgid "home-beets-service-type"
msgstr "邮件服务"

#. type: defvar
#: guix-git/doc/guix.texi:49648
#, fuzzy
msgid "@uref{https://beets.io, Beets} is a music file and metadata manager that can be used via its command-line interface, @command{beet}. Beets requires a YAML configuration file and this Guix Home service is to create such file."
msgstr "@uref{https://beets.io, Beets} 是一个音乐文件和元数据管理器,可以通过其命令行界面 @command{beet} 使用。Beets 需要一个 YAML 配置文件,而此 Guix Home 服务用于创建该文件。"

#. type: Plain text
#: guix-git/doc/guix.texi:49651
#, fuzzy
msgid "The service can be used as follows:"
msgstr "该服务可以按如下方式使用:"

#. type: lisp
#: guix-git/doc/guix.texi:49655
#, fuzzy, no-wrap
msgid ""
"(service home-beets-service-type\n"
"         (home-beets-configuration (directory \"/home/alice/music\")))\n"
msgstr ""
"(service dovecot-service-type\n"
"         (dovecot-configuration\n"
"           (mail-location \"maildir:~/.mail\")))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:49659
#, fuzzy
msgid "Additional options can be specified via the service wild-card field @code{extra-options}:"
msgstr "可以通过服务通配符字段 @code{extra-options} 指定其他选项:"

#. type: lisp
#: guix-git/doc/guix.texi:49667
#, fuzzy, no-wrap
msgid ""
"(service home-beets-service-type\n"
"         (home-beets-configuration\n"
"          (directory \"/home/alice/music\")\n"
"          (extra-options '(\"\n"
"import:\n"
"  move: yes\"))))\n"
msgstr ""
"(service home-ssh-agent-service-type\n"
"  (home-ssh-agent-configuration\n"
"   (extra-options '(\"-t\" \"1h30m\"))))\n"

#. type: cindex
#: guix-git/doc/guix.texi:49671
#, fuzzy, no-wrap
msgid "dictionary service, for Home"
msgstr "监控服务。"

#. type: Plain text
#: guix-git/doc/guix.texi:49673
#, fuzzy
msgid "The @code{(gnu home services dict)} module provides the following service:"
msgstr "@code{(gnu home services dict)} 模块提供以下服务:"

#. type: defvar
#: guix-git/doc/guix.texi:49674
#, fuzzy, no-wrap
msgid "home-dicod-service-type"
msgstr "邮件服务"

#. type: Plain text
#: guix-git/doc/guix.texi:49686
#, fuzzy
msgid "This service is a direct mapping of the @code{dicod-service-type} system service (@pxref{Miscellaneous Services, Dictionary Service}).  You can use it like this:"
msgstr "该服务是 @code{dicod-service-type} 系统服务的直接映射(@pxref{Miscellaneous Services, Dictionary Service})。您可以这样使用它:"

#. type: lisp
#: guix-git/doc/guix.texi:49689
#, fuzzy, no-wrap
msgid "(service home-dicod-service-type)\n"
msgstr "(service home-znc-service-type)\n"

#. type: Plain text
#: guix-git/doc/guix.texi:49694
#, fuzzy
msgid "You may specify a custom configuration by providing a @code{dicod-configuration} record, exactly like for @code{dicod-service-type}, but wrapping it in @code{for-home}:"
msgstr "您可以通过提供 @code{dicod-configuration} 记录来指定自定义配置,正如 @code{dicod-service-type} 一样,但将其包装在 @code{for-home} 中:"

#. type: lisp
#: guix-git/doc/guix.texi:49699
#, fuzzy, no-wrap
msgid ""
"(service home-dicod-service-type\n"
"         (for-home\n"
"          (dicod-configuration @dots{})))\n"
msgstr ""
"(service home-unclutter-service-type\n"
"         (home-unclutter-configuration\n"
"          (idle-timeout 2)))\n"

#. type: section
#: guix-git/doc/guix.texi:49702
#, no-wrap
msgid "Invoking @command{guix home}"
msgstr "调用@command{guix home}"

#. type: command{#1}
#: guix-git/doc/guix.texi:49704
#, no-wrap
msgid "guix home"
msgstr "guix home"

#. type: Plain text
#: guix-git/doc/guix.texi:49709
#, fuzzy
msgid "Once you have written a home environment declaration (@pxref{Declaring the Home Environment,,,,}, it can be @dfn{instantiated} using the @command{guix home} command.  The synopsis is:"
msgstr "一旦您编写了家庭环境声明(@pxref{Declaring the Home Environment,,,,}),可以使用 @command{guix home} 命令进行 @dfn{实例化}。其概要为:"

#. type: example
#: guix-git/doc/guix.texi:49712
#, fuzzy, no-wrap
msgid "guix home @var{options}@dots{} @var{action} @var{file}\n"
msgstr "guix home @var{options}@dots{} @var{action} @var{file}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:49719
#, fuzzy
msgid "@var{file} must be the name of a file containing a @code{home-environment} declaration.  @var{action} specifies how the home environment is instantiated, but there are few auxiliary actions which don't instantiate it.  Currently the following values are supported:"
msgstr "@var{file} 必须是包含 @code{home-environment} 声明的文件名。@var{action} 指定家庭环境的实例化方式,但有一些辅助操作不会实例化它。目前支持以下值:"

#. type: table
#: guix-git/doc/guix.texi:49724
#, fuzzy
msgid "Display available home service type definitions that match the given regular expressions, sorted by relevance:"
msgstr "显示与给定正则表达式匹配的可用家庭服务类型定义,按相关性排序:"

#. type: cindex
#: guix-git/doc/guix.texi:49726
#, fuzzy, no-wrap
msgid "shell-profile"
msgstr "shell-profile"

#. type: example
#: guix-git/doc/guix.texi:49737
#, fuzzy, no-wrap
msgid ""
"$ guix home search shell\n"
"name: home-shell-profile\n"
"location: gnu/home/services/shells.scm:100:2\n"
"extends: home-files\n"
"description: Create `~/.profile', which is used for environment initialization of POSIX compliant login shells.\n"
"+ This service type can be extended with a list of file-like objects.\n"
"relevance: 6\n"
"\n"
msgstr ""
"$ guix home search shell\n"
"name: home-shell-profile\n"
"location: gnu/home/services/shells.scm:100:2\n"
"extends: home-files\n"
"description: 创建 `~/.profile',用于 POSIX 兼容登录 shell 的环境初始化。\n"
"+ 此服务类型可以扩展为文件对象列表。\n"
"relevance: 6\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:49743
#, fuzzy, no-wrap
msgid ""
"name: home-fish\n"
"location: gnu/home/services/shells.scm:640:2\n"
"extends: home-files home-profile\n"
"description: Install and configure Fish, the friendly interactive shell.\n"
"relevance: 3\n"
"\n"
msgstr ""
"name: home-fish\n"
"location: gnu/home/services/shells.scm:640:2\n"
"extends: home-files home-profile\n"
"description: 安装和配置 Fish,友好的交互式 shell。\n"
"relevance: 3\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:49749
#, fuzzy, no-wrap
msgid ""
"name: home-zsh\n"
"location: gnu/home/services/shells.scm:290:2\n"
"extends: home-files home-profile\n"
"description: Install and configure Zsh.\n"
"relevance: 1\n"
"\n"
msgstr ""
"name: home-zsh\n"
"location: gnu/home/services/shells.scm:290:2\n"
"extends: home-files home-profile\n"
"description: 安装和配置 Zsh。\n"
"relevance: 1\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:49755
#, fuzzy, no-wrap
msgid ""
"name: home-bash\n"
"location: gnu/home/services/shells.scm:508:2\n"
"extends: home-files home-profile\n"
"description: Install and configure GNU Bash.\n"
"relevance: 1\n"
"\n"
msgstr ""
"name: home-bash\n"
"location: gnu/home/services/shells.scm:508:2\n"
"extends: home-files home-profile\n"
"description: 安装和配置 GNU Bash。\n"
"relevance: 1\n"
"\n"

#. type: table
#: guix-git/doc/guix.texi:49762
#, fuzzy
msgid "As for @command{guix search}, the result is written in @code{recutils} format, which makes it easy to filter the output (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
msgstr "至于 @command{guix search},结果以 @code{recutils} 格式写入,这使得过滤输出变得容易(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})。"

#. type: table
#: guix-git/doc/guix.texi:49767
#, fuzzy
msgid "Spawn a shell in an isolated environment---a @dfn{container}---containing your home as specified by @var{file}."
msgstr "在一个隔离的环境中生成一个 shell——一个 @dfn{容器}——其中包含您在 @var{file} 中指定的主目录。"

#. type: table
#: guix-git/doc/guix.texi:49770
#, fuzzy
msgid "For example, this is how you would start an interactive shell in a container with your home:"
msgstr "例如,这就是您如何在一个容器中启动一个交互式 shell 的方式:"

#. type: table
#: guix-git/doc/guix.texi:49778
#, fuzzy
msgid "This is a throw-away container where you can lightheartedly fiddle with files; any changes made within the container, any process started---all this disappears as soon as you exit that shell."
msgstr "这是一个一次性容器,您可以在其中轻松地处理文件;在容器内所做的任何更改,任何启动的进程——一旦您退出该 shell,这一切都会消失。"

#. type: table
#: guix-git/doc/guix.texi:49780
#, fuzzy
msgid "As with @command{guix shell}, several options control that container:"
msgstr "与 @command{guix shell} 一样,多个选项控制该容器:"

#. type: table
#: guix-git/doc/guix.texi:49785
#, fuzzy
msgid "Enable networking within the container (it is disabled by default)."
msgstr "在容器内启用网络(默认情况下是禁用的)。"

#. type: table
#: guix-git/doc/guix.texi:49792
#, fuzzy
msgid "As with @command{guix shell}, make directory @var{source} of the host system available as @var{target} inside the container---read-only if you pass @option{--expose}, and writable if you pass @option{--share} (@pxref{Invoking guix shell, @option{--expose} and @option{--share}})."
msgstr "与 @command{guix shell} 一样,将主机系统的目录 @var{source} 作为 @var{target} 在容器内提供——如果您传递 @option{--expose} 则为只读,如果您传递 @option{--share} 则为可写(@pxref{Invoking guix shell, @option{--expose} and @option{--share}})。"

#. type: table
#: guix-git/doc/guix.texi:49798
#, fuzzy
msgid "Additionally, you can run a command in that container, instead of spawning an interactive shell.  For instance, here is how you would check which Shepherd services are started in a throw-away home container:"
msgstr "此外,您可以在该容器中运行一个命令,而不是生成一个交互式 shell。例如,这里是您如何检查在一次性主目录容器中启动了哪些 Shepherd 服务:"

#. type: example
#: guix-git/doc/guix.texi:49801
#, fuzzy, no-wrap
msgid "guix home container config.scm -- herd status\n"
msgstr "guix home container config.scm -- herd status\n"

#. type: table
#: guix-git/doc/guix.texi:49805
#, fuzzy
msgid "The command to run in the container must come after @code{--} (double hyphen)."
msgstr "在容器中运行的命令必须在 @code{--}(双连字符)之后。"

#. type: table
#: guix-git/doc/guix.texi:49810
#, fuzzy
msgid "Edit or view the definition of the given Home service types."
msgstr "编辑或查看给定的 Home 服务类型的定义。"

#. type: table
#: guix-git/doc/guix.texi:49814
#, fuzzy
msgid "For example, the command below opens your editor, as specified by the @env{EDITOR} environment variable, on the definition of the @code{home-mcron} service type:"
msgstr "例如,下面的命令会在 @code{home-mcron} 服务类型的定义上打开您在 @env{EDITOR} 环境变量中指定的编辑器:"

#. type: example
#: guix-git/doc/guix.texi:49817
#, no-wrap
msgid "guix home edit home-mcron\n"
msgstr "guix home edit home-mcron\n"

#. type: table
#: guix-git/doc/guix.texi:49827
#, fuzzy
msgid "Build the home environment described in @var{file}, and switch to it.  Switching means that the activation script will be evaluated and (in basic scenario) symlinks to configuration files generated from @code{home-environment} declaration will be created in @file{~}.  If the file with the same path already exists in home folder it will be moved to @file{~/@var{timestamp}-guix-home-legacy-configs-backup}, where @var{timestamp} is a current UNIX epoch time."
msgstr "构建在 @var{file} 中描述的主环境,并切换到它。切换意味着将评估激活脚本,并且(在基本场景中)将在 @file{~} 中生成指向从 @code{home-environment} 声明生成的配置文件的符号链接。如果主文件夹中已经存在同路径的文件,它将被移动到 @file{~/@var{timestamp}-guix-home-legacy-configs-backup},其中 @var{timestamp} 是当前的 UNIX 纪元时间。"

#. type: quotation
#: guix-git/doc/guix.texi:49832
#, fuzzy
msgid "It is highly recommended to run @command{guix pull} once before you run @command{guix home reconfigure} for the first time (@pxref{Invoking guix pull})."
msgstr "强烈建议在第一次运行 @command{guix home reconfigure} 之前先运行一次 @command{guix pull}(@pxref{Invoking guix pull})。"

#. type: table
#: guix-git/doc/guix.texi:49839
#, fuzzy
msgid "This effects all the configuration specified in @var{file}.  The command starts Shepherd services specified in @var{file} that are not currently running; if a service is currently running, this command will arrange for it to be upgraded the next time it is stopped (e.g.@: by @code{herd stop @var{service}} or @code{herd restart @var{service}})."
msgstr "这会影响 @var{file} 中指定的所有配置。该命令启动 @var{file} 中未运行的 Shepherd 服务;如果某个服务当前正在运行,该命令将安排在下次停止时进行升级(例如,通过 @code{herd stop @var{service}} 或 @code{herd restart @var{service}})。"

#. type: table
#: guix-git/doc/guix.texi:49845
#, fuzzy
msgid "This command creates a new generation whose number is one greater than the current generation (as reported by @command{guix home list-generations}).  If that generation already exists, it will be overwritten.  This behavior mirrors that of @command{guix package} (@pxref{Invoking guix package})."
msgstr "此命令创建一个新的代数,其编号比当前代数大一(由@command{guix home list-generations}报告)。如果该代数已经存在,它将被覆盖。此行为与@command{guix package}(@pxref{Invoking guix package})的行为相似。"

#. type: cindex
#: guix-git/doc/guix.texi:49846
#, fuzzy, no-wrap
msgid "provenance tracking, of the home environment"
msgstr "配置操作系统。"

#. type: table
#: guix-git/doc/guix.texi:49851
#, fuzzy
msgid "Upon completion, the new home is deployed under @file{~/.guix-home}.  This directory contains @dfn{provenance meta-data}: the list of channels in use (@pxref{Channels}) and @var{file} itself, when available.  You can view the provenance information by running:"
msgstr "完成后,新家将部署在@file{~/.guix-home}下。该目录包含@dfn{来源元数据}:正在使用的频道列表(@pxref{Channels})和@var{file}本身(如果可用)。您可以通过运行以下命令查看来源信息:"

#. type: example
#: guix-git/doc/guix.texi:49854
#, fuzzy, no-wrap
msgid "guix home describe\n"
msgstr "guix describe\n"

#. type: table
#: guix-git/doc/guix.texi:49860
#, fuzzy
msgid "This information is useful should you later want to inspect how this particular generation was built.  In fact, assuming @var{file} is self-contained, you can later rebuild generation @var{n} of your home environment with:"
msgstr "如果您稍后想检查这个特定代数是如何构建的,这些信息是有用的。实际上,假设@var{file}是自包含的,您可以稍后使用以下命令重建您的家环境的代数@var{n}:"

#. type: example
#: guix-git/doc/guix.texi:49866
#, fuzzy, no-wrap
msgid ""
"guix time-machine \\\n"
"  -C /var/guix/profiles/per-user/@var{USER}/guix-home-@var{n}-link/channels.scm -- \\\n"
"  home reconfigure \\\n"
"  /var/guix/profiles/per-user/@var{USER}/guix-home-@var{n}-link/configuration.scm\n"
"\n"
msgstr ""
"guix time-machine \\\n"
"  -C /var/guix/profiles/per-user/@var{USER}/guix-home-@var{n}-link/channels.scm -- \\\n"
"  home reconfigure \\\n"
"  /var/guix/profiles/per-user/@var{USER}/guix-home-@var{n}-link/configuration.scm\n"
"\n"

#. type: table
#: guix-git/doc/guix.texi:49871
#, fuzzy
msgid "You can think of it as some sort of built-in version control! Your home is not just a binary artifact: @emph{it carries its own source}."
msgstr "您可以将其视为某种内置版本控制!您的家不仅仅是一个二进制工件:@emph{它携带着自己的源代码}。"

#. type: quotation
#: guix-git/doc/guix.texi:49877
#, fuzzy
msgid "If you're using Guix System, @ref{guix-home-service-type, @code{guix-home-service-type}}, on how to embed your home configuration in your system configuration such that @command{guix system reconfigure} deploys both your system and your home."
msgstr "如果您正在使用Guix系统,请参阅@ref{guix-home-service-type, @code{guix-home-service-type}},了解如何将您的家配置嵌入到系统配置中,以便@command{guix system reconfigure}同时部署您的系统和家。"

#. type: cindex
#: guix-git/doc/guix.texi:49880
#, fuzzy, no-wrap
msgid "home generations"
msgstr "文档"

#. type: table
#: guix-git/doc/guix.texi:49883
#, fuzzy
msgid "Switch to an existing home generation.  This action atomically switches the home profile to the specified home generation."
msgstr "切换到现有的家代数。此操作原子性地将家配置文件切换到指定的家代数。"

#. type: table
#: guix-git/doc/guix.texi:49887
#, fuzzy
msgid "The target generation can be specified explicitly by its generation number.  For example, the following invocation would switch to home generation 7:"
msgstr "目标代数可以通过其代数编号显式指定。例如,以下调用将切换到家代数7:"

#. type: example
#: guix-git/doc/guix.texi:49890
#, fuzzy, no-wrap
msgid "guix home switch-generation 7\n"
msgstr "guix package --list-available\n"

#. type: example
#: guix-git/doc/guix.texi:49901
#, fuzzy, no-wrap
msgid "guix home switch-generation -- -1\n"
msgstr "guix package --list-available\n"

#. type: table
#: guix-git/doc/guix.texi:49910
#, fuzzy
msgid "Switch to the preceding home generation.  This is the inverse of @command{reconfigure}, and it is exactly the same as invoking @command{switch-generation} with an argument of @code{-1}."
msgstr "切换到前一个家代数。这是@command{reconfigure}的逆操作,完全等同于使用参数@code{-1}调用@command{switch-generation}。"

#. type: cindex
#: guix-git/doc/guix.texi:49912
#, fuzzy, no-wrap
msgid "deleting home generations"
msgstr "删除家代数"

#. type: table
#: guix-git/doc/guix.texi:49917
#, fuzzy
msgid "Delete home generations, making them candidates for garbage collection (@pxref{Invoking guix gc}, for information on how to run the ``garbage collector'')."
msgstr "删除家代数,使其成为垃圾收集的候选对象(@pxref{Invoking guix gc},有关如何运行“垃圾收集器”的信息)。"

#. type: table
#: guix-git/doc/guix.texi:49921
#, fuzzy
msgid "This works in the same way as @samp{guix package --delete-generations} (@pxref{Invoking guix package, @option{--delete-generations}}).  With no arguments, all home generations but the current one are deleted:"
msgstr "这与@samp{guix package --delete-generations} (@pxref{Invoking guix package, @option{--delete-generations}}) 的工作方式相同。没有参数时,除了当前的家庭代代外,所有家庭代代都会被删除:"

#. type: example
#: guix-git/doc/guix.texi:49924
#, fuzzy, no-wrap
msgid "guix home delete-generations\n"
msgstr "guix package --list-available\n"

#. type: table
#: guix-git/doc/guix.texi:49928
#, fuzzy
msgid "You can also select the generations you want to delete.  The example below deletes all the home generations that are more than two months old:"
msgstr "您还可以选择要删除的代代。下面的示例删除所有超过两个月的家庭代代:"

#. type: example
#: guix-git/doc/guix.texi:49931
#, fuzzy, no-wrap
msgid "guix home delete-generations 2m\n"
msgstr "guix package --list-available\n"

#. type: table
#: guix-git/doc/guix.texi:49937
#, fuzzy
msgid "Build the derivation of the home environment, which includes all the configuration files and programs needed.  This action does not actually install anything."
msgstr "构建家庭环境的派生,这包括所有所需的配置文件和程序。此操作实际上并不会安装任何东西。"

#. type: table
#: guix-git/doc/guix.texi:49941
#, fuzzy
msgid "Describe the current home generation: its file name, as well as provenance information when available."
msgstr "描述当前的家庭代代:其文件名,以及可用时的来源信息。"

#. type: table
#: guix-git/doc/guix.texi:49948
#, fuzzy
msgid "To show installed packages in the current home generation's profile, the @code{--list-installed} flag is provided, with the same syntax that is used in @command{guix package --list-installed} (@pxref{Invoking guix package}).  For instance, the following command shows a table of all the packages with ``emacs'' in their name that are installed in the current home generation's profile:"
msgstr "要显示当前家庭代代配置文件中安装的包,提供了@code{--list-installed}标志,语法与@command{guix package --list-installed} (@pxref{Invoking guix package})中使用的相同。例如,以下命令显示当前家庭代代配置文件中所有名称中包含“emacs”的包的表格:"

#. type: example
#: guix-git/doc/guix.texi:49951
#, fuzzy, no-wrap
msgid "guix home describe --list-installed=emacs\n"
msgstr "guix package --list-available\n"

#. type: table
#: guix-git/doc/guix.texi:49958
#, fuzzy
msgid "List a summary of each generation of the home environment available on disk, in a human-readable way.  This is similar to the @option{--list-generations} option of @command{guix package} (@pxref{Invoking guix package})."
msgstr "以人类可读的方式列出可在磁盘上找到的家庭环境每个代代的摘要。这类似于@command{guix package} (@pxref{Invoking guix package})的@option{--list-generations}选项。"

#. type: example
#: guix-git/doc/guix.texi:49966
#, fuzzy, no-wrap
msgid "guix home list-generations 10d\n"
msgstr "guix package --list-available\n"

#. type: table
#: guix-git/doc/guix.texi:49972
#, fuzzy
msgid "The @code{--list-installed} flag may also be specified, with the same syntax that is used in @command{guix home describe}.  This may be helpful if trying to determine when a package was added to the home profile."
msgstr "@code{--list-installed}标志也可以指定,语法与@command{guix home describe}中使用的相同。如果尝试确定何时将包添加到家庭配置文件中,这可能会很有帮助。"

#. type: item
#: guix-git/doc/guix.texi:49973
#, fuzzy, no-wrap
msgid "import"
msgstr "导入"

#. type: table
#: guix-git/doc/guix.texi:49980
#, fuzzy
msgid "Generate a @dfn{home environment} from the packages in the default profile and configuration files found in the user's home directory.  The configuration files will be copied to the specified directory, and a @file{home-configuration.scm} will be populated with the home environment.  Note that not every home service that exists is supported (@pxref{Home Services})."
msgstr "从默认配置文件和用户主目录中找到的配置文件生成@dfn{家庭环境}。配置文件将被复制到指定目录,并且@file{home-configuration.scm}将填充家庭环境。请注意,并非所有存在的家庭服务都受支持 (@pxref{Home Services})。"

#. type: example
#: guix-git/doc/guix.texi:49984
#, fuzzy, no-wrap
msgid ""
"$ guix home import ~/guix-config\n"
"guix home: '/home/alice/guix-config' populated with all the Home configuration files\n"
msgstr ""
"$ guix home import ~/guix-config\n"
"guix home: '/home/alice/guix-config' 已填充所有家庭配置文件\n"

#. type: Plain text
#: guix-git/doc/guix.texi:49990
#, fuzzy
msgid "And there's more! @command{guix home} also provides the following sub-commands to visualize how the services of your home environment relate to one another:"
msgstr "还有更多!@command{guix home}还提供以下子命令,以可视化您的家庭环境的服务之间的关系:"

#. type: cindex
#: guix-git/doc/guix.texi:49992
#, fuzzy, no-wrap
msgid "service extension graph, of a home environment"
msgstr "配置操作系统。"

#. type: table
#: guix-git/doc/guix.texi:50000
#, fuzzy
msgid "Emit to standard output the @dfn{service extension graph} of the home environment defined in @var{file} (@pxref{Service Composition}, for more information on service extensions).  By default the output is in Dot/Graphviz format, but you can choose a different format with @option{--graph-backend}, as with @command{guix graph} (@pxref{Invoking guix graph, @option{--backend}}):"
msgstr "将@dfn{服务扩展图}的标准输出发射到在@var{file}中定义的主环境中(有关服务扩展的更多信息,请参见@pxref{服务组合})。默认情况下,输出为Dot/Graphviz格式,但您可以使用@option{--graph-backend}选择不同的格式,就像@command{guix graph}一样(@pxref{调用guix graph,@option{--backend}}):"

#. type: example
#: guix-git/doc/guix.texi:50005
#, fuzzy, no-wrap
msgid "guix home extension-graph @var{file} | xdot -\n"
msgstr "guix home extension-graph @var{file} | xdot -\n"

#. type: cindex
#: guix-git/doc/guix.texi:50009
#, fuzzy, no-wrap
msgid "Shepherd dependency graph, for a home environment"
msgstr "配置操作系统。"

#. type: table
#: guix-git/doc/guix.texi:50014
#, fuzzy
msgid "Emit to standard output the @dfn{dependency graph} of shepherd services of the home environment defined in @var{file}.  @xref{Shepherd Services}, for more information and for an example graph."
msgstr "将@dfn{依赖图}的标准输出发射到在@var{file}中定义的主环境的shepherd服务中。有关更多信息和示例图,请参见@xref{Shepherd Services}。"

#. type: table
#: guix-git/doc/guix.texi:50030
#, fuzzy
msgid "Consider the home-environment @var{expr} evaluates to.  This is an alternative to specifying a file which evaluates to a home environment."
msgstr "考虑主环境@var{expr}的评估结果。这是指定一个评估为主环境的文件的替代方法。"

#. type: table
#: guix-git/doc/guix.texi:50033
#, fuzzy
msgid "Instruct @command{guix home reconfigure} to allow system downgrades."
msgstr "指示@command{guix home reconfigure}允许系统降级。"

#. type: table
#: guix-git/doc/guix.texi:50040
#, fuzzy
msgid "Just like @command{guix system}, @command{guix home reconfigure}, by default, prevents you from downgrading your home to older or unrelated revisions compared to the channel revisions that were used to deploy it---those shown by @command{guix home describe}.  Using @option{--allow-downgrades} allows you to bypass that check, at the risk of downgrading your home---be careful!"
msgstr "就像@command{guix system}一样,@command{guix home reconfigure}默认情况下,防止您将主环境降级到与用于部署它的通道修订版相比的较旧或不相关的修订版——这些修订版由@command{guix home describe}显示。使用@option{--allow-downgrades}可以让您绕过该检查,但有降级主环境的风险——请小心!"

#. type: cindex
#: guix-git/doc/guix.texi:50046
#, fuzzy, no-wrap
msgid "documentation, searching for"
msgstr "文档,搜索"

#. type: cindex
#: guix-git/doc/guix.texi:50047
#, fuzzy, no-wrap
msgid "searching for documentation"
msgstr "搜索文档"

#. type: cindex
#: guix-git/doc/guix.texi:50048
#, fuzzy, no-wrap
msgid "Info, documentation format"
msgstr "信息,文档格式"

#. type: cindex
#: guix-git/doc/guix.texi:50049
#, fuzzy, no-wrap
msgid "man pages"
msgstr "手册页"

#. type: cindex
#: guix-git/doc/guix.texi:50050
#, fuzzy, no-wrap
msgid "manual pages"
msgstr "手册页面"

#. type: Plain text
#: guix-git/doc/guix.texi:50057
#, fuzzy
msgid "In most cases packages installed with Guix come with documentation.  There are two main documentation formats: ``Info'', a browsable hypertext format used for GNU software, and ``manual pages'' (or ``man pages''), the linear documentation format traditionally found on Unix.  Info manuals are accessed with the @command{info} command or with Emacs, and man pages are accessed using @command{man}."
msgstr "在大多数情况下,使用Guix安装的软件附带文档。有两种主要的文档格式:“Info”,一种用于GNU软件的可浏览超文本格式,以及“手册页”(或“man页”),传统上在Unix上找到的线性文档格式。Info手册可以通过@command{info}命令或Emacs访问,而man页则使用@command{man}访问。"

#. type: Plain text
#: guix-git/doc/guix.texi:50061
#, fuzzy
msgid "You can look for documentation of software installed on your system by keyword.  For example, the following command searches for information about ``TLS'' in Info manuals:"
msgstr "您可以通过关键字查找已安装在系统上的软件的文档。例如,以下命令在Info手册中搜索有关“TLS”的信息:"

#. type: example
#: guix-git/doc/guix.texi:50069
#, fuzzy, no-wrap
msgid ""
"$ info -k TLS\n"
"\"(emacs)Network Security\" -- STARTTLS\n"
"\"(emacs)Network Security\" -- TLS\n"
"\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_flags\n"
"\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_function\n"
"@dots{}\n"
msgstr ""
"$ info -k TLS\n"
"\"(emacs)网络安全\" -- STARTTLS\n"
"\"(emacs)网络安全\" -- TLS\n"
"\"(gnutls)核心TLS API\" -- gnutls_certificate_set_verify_flags\n"
"\"(gnutls)核心TLS API\" -- gnutls_certificate_set_verify_function\n"
"@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50075
#, fuzzy
msgid "The command below searches for the same keyword in man pages@footnote{The database searched by @command{man -k} is only created in profiles that contain the @code{man-db} package.}:"
msgstr "下面的命令在手册页中搜索相同的关键字@footnote{@command{man -k} 搜索的数据库仅在包含 @code{man-db} 包的配置文件中创建。}:"

#. type: example
#: guix-git/doc/guix.texi:50081
#, fuzzy, no-wrap
msgid ""
"$ man -k TLS\n"
"SSL (7)              - OpenSSL SSL/TLS library\n"
"certtool (1)         - GnuTLS certificate tool\n"
"@dots {}\n"
msgstr ""
"$ man -k TLS\n"
"SSL (7)              - OpenSSL SSL/TLS 库\n"
"certtool (1)         - GnuTLS 证书工具\n"
"@dots {}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50087
#, fuzzy
msgid "These searches are purely local to your computer so you have the guarantee that documentation you find corresponds to what you have actually installed, you can access it off-line, and your privacy is respected."
msgstr "这些搜索完全是本地的,因此您可以保证找到的文档与您实际安装的内容相对应,您可以离线访问,并且您的隐私得到了尊重。"

#. type: Plain text
#: guix-git/doc/guix.texi:50090
#, fuzzy
msgid "Once you have these results, you can view the relevant documentation by running, say:"
msgstr "一旦您获得这些结果,您可以通过运行以下命令查看相关文档,例如:"

#. type: example
#: guix-git/doc/guix.texi:50093
#, fuzzy, no-wrap
msgid "$ info \"(gnutls)Core TLS API\"\n"
msgstr "$ info \"(gnutls)Core TLS API\"\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50097
#, fuzzy
msgid "or:"
msgstr "或者:"

#. type: example
#: guix-git/doc/guix.texi:50100
#, fuzzy, no-wrap
msgid "$ man certtool\n"
msgstr "$ man certtool\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50108
#, fuzzy
msgid "Info manuals contain sections and indices as well as hyperlinks like those found in Web pages.  The @command{info} reader (@pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}) and its Emacs counterpart (@pxref{Misc Help,,, emacs, The GNU Emacs Manual}) provide intuitive key bindings to navigate manuals.  @xref{Getting Started,,, info, Info: An Introduction}, for an introduction to Info navigation."
msgstr "信息手册包含章节和索引,以及类似于网页中找到的超链接。@command{info} 阅读器 (@pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}) 及其 Emacs 对应物 (@pxref{Misc Help,,, emacs, The GNU Emacs Manual}) 提供直观的键绑定以浏览手册。@xref{Getting Started,,, info, Info: An Introduction},以了解信息导航的介绍。"

#. type: Plain text
#: guix-git/doc/guix.texi:50117
#, fuzzy
msgid "The packages and systems built by Guix are intended, like most computer programs, to run on a CPU with a specific instruction set, and under a specific operating system.  Those programs are often also targeting a specific kernel and system library.  Those constraints are captured by Guix in @code{platform} records."
msgstr "Guix 构建的包和系统旨在像大多数计算机程序一样,在具有特定指令集的 CPU 上运行,并在特定操作系统下运行。这些程序通常还针对特定内核和系统库。这些约束由 Guix 在 @code{platform} 记录中捕获。"

#. type: section
#: guix-git/doc/guix.texi:50124
#, fuzzy, no-wrap
msgid "@code{platform} Reference"
msgstr "@code{platform} 参考"

#. type: Plain text
#: guix-git/doc/guix.texi:50130
#, fuzzy
msgid "The @code{platform} data type describes a @dfn{platform}: an @acronym{ISA, instruction set architecture}, combined with an operating system and possibly additional system-wide settings such as the @acronym{ABI, application binary interface}."
msgstr "@code{platform} 数据类型描述了一个 @dfn{platform}:一个 @acronym{ISA, 指令集架构},结合操作系统和可能的其他系统范围设置,例如 @acronym{ABI, 应用程序二进制接口}。"

#. type: deftp
#: guix-git/doc/guix.texi:50131
#, fuzzy, no-wrap
msgid "{Data Type} platform"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:50133
#, fuzzy
msgid "This is the data type representing a platform."
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:50139
#, fuzzy
msgid "This field specifies the platform's GNU triplet as a string (@pxref{Specifying Target Triplets, GNU configuration triplets,, autoconf, Autoconf})."
msgstr "该字段指定平台的 GNU 三元组作为字符串 (@pxref{Specifying Target Triplets, GNU configuration triplets,, autoconf, Autoconf})。"

#. type: table
#: guix-git/doc/guix.texi:50143
#, fuzzy
msgid "This string is the system type as it is known to Guix and passed, for instance, to the @option{--system} option of most commands."
msgstr "该字符串是 Guix 所知的系统类型,并传递给大多数命令的 @option{--system} 选项。"

#. type: table
#: guix-git/doc/guix.texi:50147
#, fuzzy
msgid "It usually has the form @code{\"@var{cpu}-@var{kernel}\"}, where @var{cpu} is the target CPU and @var{kernel} the target operating system kernel."
msgstr "它通常具有 @code{\"@var{cpu}-@var{kernel}\"} 的形式,其中 @var{cpu} 是目标 CPU,@var{kernel} 是目标操作系统内核。"

#. type: table
#: guix-git/doc/guix.texi:50151
#, fuzzy
msgid "It can be for instance @code{\"aarch64-linux\"} or @code{\"armhf-linux\"}.  You will encounter system types when you perform native builds (@pxref{Native Builds})."
msgstr "例如,它可以是 @code{\"aarch64-linux\"} 或 @code{\"armhf-linux\"}。 当您执行本地构建时,您将遇到系统类型 (@pxref{Native Builds})。"

#. type: item
#: guix-git/doc/guix.texi:50152
#, fuzzy, no-wrap
msgid "@code{linux-architecture} (default: @code{#false})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:50156
#, fuzzy
msgid "This optional string field is only relevant if the kernel is Linux.  In that case, it corresponds to the ARCH variable used when building Linux, @code{\"mips\"} for instance."
msgstr "这个可选字符串字段仅在内核为 Linux 时相关。 在这种情况下,它对应于构建 Linux 时使用的 ARCH 变量,例如 @code{\"mips\"}。"

#. type: item
#: guix-git/doc/guix.texi:50157
#, fuzzy, no-wrap
msgid "@code{rust-target} (default: @code{#false})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:50161
#, fuzzy
msgid "This optional string field is used to determine which rust target is best supported by this platform.  For example, the base level system targeted by @code{armhf-linux} system is closest to @code{armv7-unknown-linux-gnueabihf}."
msgstr "这个可选字符串字段用于确定该平台最佳支持的 rust 目标。 例如,@code{armhf-linux} 系统所针对的基础级别系统最接近 @code{armv7-unknown-linux-gnueabihf}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:50162
#, fuzzy, no-wrap
msgid "glibc-dynamic-linker"
msgstr "glibc-dynamic-linker"

#. type: table
#: guix-git/doc/guix.texi:50166
#, fuzzy
msgid "This field is the name of the GNU C Library dynamic linker for the corresponding system, as a string.  It can be @code{\"/lib/ld-linux-armhf.so.3\"}."
msgstr "该字段是对应系统的 GNU C 库动态链接器的名称,作为字符串。 它可以是 @code{\"/lib/ld-linux-armhf.so.3\"}。"

#. type: Plain text
#: guix-git/doc/guix.texi:50175
#, fuzzy
msgid "The @code{(guix platforms @dots{})} modules export the following variables, each of which is bound to a @code{platform} record."
msgstr "@code{(guix platforms @dots{})} 模块导出以下变量,每个变量都绑定到一个 @code{platform} 记录。"

#. type: defvar
#: guix-git/doc/guix.texi:50176
#, fuzzy, no-wrap
msgid "armv7-linux"
msgstr "armhf-linux"

#. type: defvar
#: guix-git/doc/guix.texi:50178
#, fuzzy
msgid "Platform targeting ARM v7 CPU running GNU/Linux."
msgstr "针对运行 GNU/Linux 的 ARM v7 CPU 的平台。"

#. type: defvar
#: guix-git/doc/guix.texi:50182
#, fuzzy
msgid "Platform targeting ARM v8 CPU running GNU/Linux."
msgstr "针对运行 GNU/Linux 的 ARM v8 CPU 的平台。"

#. type: defvar
#: guix-git/doc/guix.texi:50184
#, fuzzy, no-wrap
msgid "loongarch64-linux"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:50186
#, fuzzy
msgid "Platform targeting loongarch 64-bit CPU running GNU/Linux."
msgstr "针对运行 GNU/Linux 的 loongarch 64 位 CPU 的平台。"

#. type: defvar
#: guix-git/doc/guix.texi:50188
#, fuzzy, no-wrap
msgid "mips64-linux"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:50190
#, fuzzy
msgid "Platform targeting MIPS little-endian 64-bit CPU running GNU/Linux."
msgstr "针对运行 GNU/Linux 的 MIPS 小端 64 位 CPU 的平台。"

#. type: defvar
#: guix-git/doc/guix.texi:50192
#, fuzzy, no-wrap
msgid "powerpc-linux"
msgstr "aarch64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:50194
#, fuzzy
msgid "Platform targeting PowerPC big-endian 32-bit CPU running GNU/Linux."
msgstr "针对运行 GNU/Linux 的 PowerPC 大端 32 位 CPU 的平台。"

#. type: defvar
#: guix-git/doc/guix.texi:50198
#, fuzzy
msgid "Platform targeting PowerPC little-endian 64-bit CPU running GNU/Linux."
msgstr "针对运行 GNU/Linux 的 PowerPC 小端 64 位 CPU 的平台。"

#. type: defvar
#: guix-git/doc/guix.texi:50202
#, fuzzy
msgid "Platform targeting RISC-V 64-bit CPU running GNU/Linux."
msgstr "针对运行 GNU/Linux 的 RISC-V 64 位 CPU 的平台。"

#. type: defvar
#: guix-git/doc/guix.texi:50206
#, fuzzy
msgid "Platform targeting x86 CPU running GNU/Linux."
msgstr "针对运行 GNU/Linux 的 x86 CPU 的平台。"

#. type: defvar
#: guix-git/doc/guix.texi:50210
#, fuzzy
msgid "Platform targeting x86 64-bit CPU running GNU/Linux."
msgstr "针对运行 GNU/Linux 的 x86 64 位 CPU 的平台。"

#. type: defvar
#: guix-git/doc/guix.texi:50212
#, fuzzy, no-wrap
msgid "x86_64-linux-x32"
msgstr "x86_64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:50215
#, fuzzy
msgid "Platform targeting x86 64-bit CPU running GNU/Linux with the run-time using the X32 ABI."
msgstr "针对运行 GNU/Linux 的 x86 64 位 CPU 的平台,运行时使用 X32 ABI。"

#. type: defvar
#: guix-git/doc/guix.texi:50217
#, fuzzy, no-wrap
msgid "i686-mingw"
msgstr "i686-linux"

#. type: defvar
#: guix-git/doc/guix.texi:50220
#, fuzzy
msgid "Platform targeting x86 CPU running Windows, with run-time support from MinGW."
msgstr "针对运行 Windows 的 x86 CPU 的平台,运行时支持来自 MinGW。"

#. type: defvar
#: guix-git/doc/guix.texi:50222
#, fuzzy, no-wrap
msgid "x86_64-mingw"
msgstr "x86_64-linux"

#. type: defvar
#: guix-git/doc/guix.texi:50225
#, fuzzy
msgid "Platform targeting x86 64-bit CPU running Windows, with run-time support from MinGW."
msgstr "针对运行 Windows 的 x86 64 位 CPU 的平台,运行时支持来自 MinGW。"

#. type: defvar
#: guix-git/doc/guix.texi:50230
#, fuzzy
msgid "Platform targeting x86 CPU running GNU/Hurd (also referred to as ``GNU'')."
msgstr "针对运行 GNU/Hurd(也称为 ``GNU'')的 x86 CPU 的平台。"

#. type: defvar
#: guix-git/doc/guix.texi:50232
#, fuzzy, no-wrap
msgid "avr"
msgstr "avr"

#. type: defvar
#: guix-git/doc/guix.texi:50235
#, fuzzy
msgid "Platform targeting AVR CPUs without an operating system, with run-time support from AVR Libc."
msgstr "针对没有操作系统的 AVR CPU 的平台,运行时支持来自 AVR Libc。"

#. type: defvar
#: guix-git/doc/guix.texi:50237
#, fuzzy, no-wrap
msgid "or1k-elf"
msgstr "or1k-elf"

#. type: defvar
#: guix-git/doc/guix.texi:50240
#, fuzzy
msgid "Platform targeting OpenRISC 1000 CPU without an operating system and without a C standard library."
msgstr "针对没有操作系统且没有 C 标准库的 OpenRISC 1000 CPU 的平台。"

#. type: defvar
#: guix-git/doc/guix.texi:50242
#, fuzzy, no-wrap
msgid "xtensa-ath9k-elf"
msgstr "xtensa-ath9k-elf"

#. type: defvar
#: guix-git/doc/guix.texi:50245
#, fuzzy
msgid "Platform targeting Xtensa CPU used in the Qualcomm Atheros AR7010 and AR9271 USB 802.11n @acronym{NICs, Network Interface Controllers}."
msgstr "针对在 Qualcomm Atheros AR7010 和 AR9271 USB 802.11n @acronym{NICs, 网络接口控制器} 中使用的 Xtensa CPU 的平台。"

#. type: cindex
#: guix-git/doc/guix.texi:50250
#, fuzzy, no-wrap
msgid "system images"
msgstr "系统"

#. type: Plain text
#: guix-git/doc/guix.texi:50262
#, fuzzy
msgid "When it comes to installing Guix System for the first time on a new machine, you can basically proceed in three different ways.  The first one is to use an existing operating system on the machine to run the @command{guix system init} command (@pxref{Invoking guix system}).  The second one, is to produce an installation image (@pxref{Building the Installation Image}). This is a bootable system which role is to eventually run @command{guix system init}.  Finally, the third option would be to produce an image that is a direct instantiation of the system you wish to run.  That image can then be copied on a bootable device such as an USB drive or a memory card.  The target machine would then directly boot from it, without any kind of installation procedure."
msgstr "在新机器上首次安装 Guix 系统时,基本上可以通过三种不同的方式进行。第一种是使用机器上现有的操作系统来运行 @command{guix system init} 命令(@pxref{Invoking guix system})。第二种是生成一个安装映像(@pxref{Building the Installation Image})。这是一个可引导的系统,其作用是最终运行 @command{guix system init}。最后,第三种选择是生成一个直接实例化您希望运行的系统的映像。该映像可以复制到可引导设备上,例如 USB 驱动器或存储卡。目标机器将直接从中引导,而无需任何安装程序。"

#. type: Plain text
#: guix-git/doc/guix.texi:50271
#, fuzzy
msgid "The @command{guix system image} command is able to turn an operating system definition into a bootable image.  This command supports different image types, such as @code{mbr-hybrid-raw}, @code{iso9660} and @code{docker}.  Any modern @code{x86_64} machine will probably be able to boot from an @code{iso9660} image.  However, there are a few machines out there that require specific image types.  Those machines, in general using @code{ARM} processors, may expect specific partitions at specific offsets."
msgstr "@command{guix system image} 命令能够将操作系统定义转换为可引导映像。该命令支持不同的映像类型,例如 @code{mbr-hybrid-raw}、@code{iso9660} 和 @code{docker}。任何现代的 @code{x86_64} 机器都可能能够从 @code{iso9660} 映像引导。然而,有一些机器需要特定的映像类型。这些机器通常使用 @code{ARM} 处理器,可能会期望在特定偏移量处具有特定分区。"

#. type: Plain text
#: guix-git/doc/guix.texi:50274
#, fuzzy
msgid "This chapter explains how to define customized system images and how to turn them into actual bootable images."
msgstr "本章解释了如何定义自定义系统映像以及如何将其转换为实际的可引导映像。"

#. type: Plain text
#: guix-git/doc/guix.texi:50287
#, fuzzy
msgid "The @code{image} record, described right after, allows you to define a customized bootable system image."
msgstr "紧接着描述的 @code{image} 记录允许您定义自定义可引导系统映像。"

#. type: deftp
#: guix-git/doc/guix.texi:50288
#, fuzzy, no-wrap
msgid "{Data Type} image"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:50290
#, fuzzy
msgid "This is the data type representing a system image."
msgstr "管理操作系统配置。"

#. type: item
#: guix-git/doc/guix.texi:50292
#, fuzzy, no-wrap
msgid "@code{name} (default: @code{#false})"
msgstr "@code{challenge}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:50295
#, fuzzy
msgid "The image name as a symbol, @code{'my-iso9660} for instance.  The name is optional and it defaults to @code{#false}."
msgstr "映像名称作为符号,例如 @code{'my-iso9660}。名称是可选的,默认为 @code{#false}。"

#. type: table
#: guix-git/doc/guix.texi:50298
#, fuzzy
msgid "The image format as a symbol.  The following formats are supported:"
msgstr "映像格式作为符号。支持以下格式:"

#. type: item
#: guix-git/doc/guix.texi:50300
#, fuzzy, no-wrap
msgid "@code{disk-image}, a raw disk image composed of one or multiple"
msgstr "@code{disk-image},由一个或多个"

#. type: itemize
#: guix-git/doc/guix.texi:50302
#, fuzzy
msgid "partitions."
msgstr "分区组成的原始磁盘映像。"

#. type: item
#: guix-git/doc/guix.texi:50303
#, fuzzy, no-wrap
msgid "@code{compressed-qcow2}, a compressed qcow2 image composed of"
msgstr "@code{compressed-qcow2},由一个或多个"

#. type: itemize
#: guix-git/doc/guix.texi:50305
#, fuzzy
msgid "one or multiple partitions."
msgstr "分区组成的压缩 qcow2 映像。"

#. type: item
#: guix-git/doc/guix.texi:50306
#, fuzzy, no-wrap
msgid "@code{docker}, a Docker image."
msgstr "@code{xfce}(默认值:@code{xfce})"

#. type: item
#: guix-git/doc/guix.texi:50308
#, fuzzy, no-wrap
msgid "@code{iso9660}, an ISO-9660 image."
msgstr "@code{iso9660},ISO-9660 映像。"

#. type: item
#: guix-git/doc/guix.texi:50310
#, fuzzy, no-wrap
msgid "@code{tarball}, a tar.gz image archive."
msgstr "@code{tarball},tar.gz 映像归档。"

#. type: item
#: guix-git/doc/guix.texi:50312
#, fuzzy, no-wrap
msgid "@code{wsl2}, a WSL2 image."
msgstr "@code{wsl2},WSL2 映像。"

#. type: item
#: guix-git/doc/guix.texi:50316
#, fuzzy, no-wrap
msgid "@code{platform} (default: @code{#false})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:50320
#, fuzzy
msgid "The @code{platform} record the image is targeting (@pxref{Platforms}), @code{aarch64-linux} for instance.  By default, this field is set to @code{#false} and the image will target the host platform."
msgstr "@code{platform} 记录映像的目标平台(@pxref{Platforms}),例如 @code{aarch64-linux}。默认情况下,此字段设置为 @code{#false},映像将针对主机平台。"

#. type: item
#: guix-git/doc/guix.texi:50321 guix-git/doc/guix.texi:50383
#, fuzzy, no-wrap
msgid "@code{size} (default: @code{'guess})"
msgstr "@code{max-zone-size}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:50325
#, fuzzy
msgid "The image size in bytes or @code{'guess}.  The @code{'guess} symbol, which is the default, means that the image size will be inferred based on the image content."
msgstr "图像大小(以字节为单位)或 @code{'guess}。 @code{'guess} 符号是默认值,意味着图像大小将根据图像内容推断。"

#. type: table
#: guix-git/doc/guix.texi:50328
#, fuzzy
msgid "The image's @code{operating-system} record that is instantiated."
msgstr "实例化的图像 @code{operating-system} 记录。"

#. type: item
#: guix-git/doc/guix.texi:50329
#, fuzzy, no-wrap
msgid "@code{partition-table-type} (default: @code{'mbr})"
msgstr "@code{compression-level}(默认值:@code{3})"

#. type: table
#: guix-git/doc/guix.texi:50332
#, fuzzy
msgid "The image partition table type as a symbol.  Possible values are @code{'mbr} and @code{'gpt}.  It default to @code{'mbr}."
msgstr "图像分区表类型作为符号。可能的值为 @code{'mbr} 和 @code{'gpt}。默认值为 @code{'mbr}。"

#. type: item
#: guix-git/doc/guix.texi:50333
#, fuzzy, no-wrap
msgid "@code{partitions} (default: @code{'()})"
msgstr "@code{features} (@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:50336
#, fuzzy
msgid "The image partitions as a list of @code{partition} records (@pxref{partition Reference})."
msgstr "图像分区作为 @code{partition} 记录的列表(@pxref{partition Reference})。"

#. type: item
#: guix-git/doc/guix.texi:50337
#, fuzzy, no-wrap
msgid "@code{compression?} (default: @code{#true})"
msgstr "@code{compression-level}(默认值:@code{3})"

#. type: table
#: guix-git/doc/guix.texi:50341
#, fuzzy
msgid "Whether the image content should be compressed, as a boolean.  It defaults to @code{#true} and only applies to @code{'iso9660} image formats."
msgstr "图像内容是否应该被压缩,作为布尔值。默认值为 @code{#true},仅适用于 @code{'iso9660} 图像格式。"

#. type: item
#: guix-git/doc/guix.texi:50342
#, fuzzy, no-wrap
msgid "@code{volatile-root?} (default: @code{#true})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:50344
#, fuzzy
msgid "Whether the image root partition should be made volatile, as a boolean."
msgstr "图像根分区是否应该被设置为易失性,作为布尔值。"

#. type: table
#: guix-git/doc/guix.texi:50349
#, fuzzy
msgid "This is achieved by using a RAM backed file system (overlayfs) that is mounted on top of the root partition by the initrd.  It defaults to @code{#true}.  When set to @code{#false}, the image root partition is mounted as read-write partition by the initrd."
msgstr "这是通过使用一个基于 RAM 的文件系统(overlayfs)实现的,该文件系统由 initrd 挂载在根分区之上。默认值为 @code{#true}。当设置为 @code{#false} 时,图像根分区由 initrd 挂载为可读写分区。"

#. type: item
#: guix-git/doc/guix.texi:50350
#, fuzzy, no-wrap
msgid "@code{shared-store?} (default: @code{#false})"
msgstr "@code{speed}(默认值:@code{1.0})"

#. type: table
#: guix-git/doc/guix.texi:50357
#, fuzzy
msgid "Whether the image's store should be shared with the host system, as a boolean.  This can be useful when creating images dedicated to virtual machines.  When set to @code{#false}, which is the default, the image's @code{operating-system} closure is copied to the image.  Otherwise, when set to @code{#true}, it is assumed that the host store will be made available at boot, using a @code{9p} mount for instance."
msgstr "图像的存储是否应该与主机系统共享,作为布尔值。当创建专用于虚拟机的图像时,这可能很有用。当设置为 @code{#false}(默认值)时,图像的 @code{operating-system} 闭包被复制到图像中。否则,当设置为 @code{#true} 时,假定主机存储将在启动时可用,例如使用 @code{9p} 挂载。"

#. type: item
#: guix-git/doc/guix.texi:50358
#, fuzzy, no-wrap
msgid "@code{shared-network?} (default: @code{#false})"
msgstr "@code{daemon-socket}(默认值:@code{\"/var/guix/daemon-socket/socket\"})"

#. type: table
#: guix-git/doc/guix.texi:50362
#, fuzzy
msgid "Whether to use the host network interfaces within the image, as a boolean.  This is only used for the @code{'docker} image format.  It defaults to @code{#false}."
msgstr "是否在图像中使用主机网络接口,作为布尔值。这仅用于 @code{'docker} 图像格式。默认值为 @code{#false}。"

#. type: item
#: guix-git/doc/guix.texi:50363
#, fuzzy, no-wrap
msgid "@code{substitutable?} (default: @code{#true})"
msgstr "@code{mate}(默认值:@code{mate})"

#. type: table
#: guix-git/doc/guix.texi:50366
#, fuzzy
msgid "Whether the image derivation should be substitutable, as a boolean.  It defaults to @code{true}."
msgstr "图像派生是否应该是可替代的,作为布尔值。默认值为 @code{true}。"

#. type: subsection
#: guix-git/doc/guix.texi:50375
#, no-wrap
msgid "@code{partition} Reference"
msgstr "@code{partition} 参考手册"

#. type: Plain text
#: guix-git/doc/guix.texi:50378
#, fuzzy
msgid "In @code{image} record may contain some partitions."
msgstr "在 @code{image} 记录中可能包含一些分区。"

#. type: deftp
#: guix-git/doc/guix.texi:50379
#, fuzzy, no-wrap
msgid "{Data Type} partition"
msgstr "{数据类型} build-machine"

#. type: deftp
#: guix-git/doc/guix.texi:50381
#, fuzzy
msgid "This is the data type representing an image partition."
msgstr "管理操作系统配置。"

#. type: table
#: guix-git/doc/guix.texi:50387
#, fuzzy
msgid "The partition size in bytes or @code{'guess}.  The @code{'guess} symbol, which is the default, means that the partition size will be inferred based on the partition content."
msgstr "分区大小(以字节为单位)或 @code{'guess}。 @code{'guess} 符号是默认值,意味着分区大小将根据分区内容推断。"

#. type: item
#: guix-git/doc/guix.texi:50388
#, fuzzy, no-wrap
msgid "@code{offset} (default: @code{0})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:50392
#, fuzzy
msgid "The partition's start offset in bytes, relative to the image start or the previous partition end.  It defaults to @code{0} which means that there is no offset applied."
msgstr "分区的起始偏移量(以字节为单位),相对于图像开始或前一个分区结束。默认值为 @code{0},这意味着没有应用偏移量。"

#. type: item
#: guix-git/doc/guix.texi:50393
#, fuzzy, no-wrap
msgid "@code{file-system} (default: @code{\"ext4\"})"
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:50395
#, fuzzy
msgid "The partition file system as a string, defaulting to @code{\"ext4\"}."
msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:50398
#, fuzzy
msgid "The supported values are @code{\"vfat\"}, @code{\"fat16\"}, @code{\"fat32\"}, @code{\"btrfs\"}, and @code{\"ext4\"}."
msgstr "支持的值为 @code{\"vfat\"}, @code{\"fat16\"}, @code{\"fat32\"}, @code{\"btrfs\"}, 和 @code{\"ext4\"}。"

#. type: table
#: guix-git/doc/guix.texi:50401
#, fuzzy
msgid "@code{\"vfat\"}, @code{\"fat16\"}, and @code{\"fat32\"} partitions without the @code{'esp} flag are by default LBA compatible."
msgstr "@code{\"vfat\"}, @code{\"fat16\"}, 和 @code{\"fat32\"} 分区在没有 @code{'esp} 标志的情况下默认是 LBA 兼容的。"

#. type: item
#: guix-git/doc/guix.texi:50402
#, fuzzy, no-wrap
msgid "@code{file-system-options} (default: @code{'()})"
msgstr "@code{includes}(默认值:@code{'()})"

#. type: table
#: guix-git/doc/guix.texi:50407
#, fuzzy
msgid "The partition file system creation options that should be passed to the partition creation tool, as a list of strings.  This is only supported when creating @code{\"vfat\"}, @code{\"fat16\"}, @code{\"fat32\"} or @code{\"ext4\"} partitions."
msgstr "应传递给分区创建工具的分区文件系统创建选项,作为字符串列表。这仅在创建 @code{\"vfat\"}, @code{\"fat16\"}, @code{\"fat32\"} 或 @code{\"ext4\"} 分区时支持。"

#. type: table
#: guix-git/doc/guix.texi:50410
#, fuzzy
msgid "See the @code{\"extended-options\"} man page section of the @code{\"mke2fs\"} tool for a more complete reference."
msgstr "请参阅 @code{\"mke2fs\"} 工具的 @code{\"extended-options\"} 手册页部分以获取更完整的参考。"

#. type: table
#: guix-git/doc/guix.texi:50414
#, fuzzy
msgid "The partition label as a mandatory string, @code{\"my-root\"} for instance."
msgstr "分区标签作为必需字符串,例如 @code{\"my-root\"}。"

#. type: item
#: guix-git/doc/guix.texi:50415
#, fuzzy, no-wrap
msgid "@code{uuid} (default: @code{#false})"
msgstr "@code{port}(默认值:@code{22})"

#. type: table
#: guix-git/doc/guix.texi:50419
#, fuzzy
msgid "The partition UUID as an @code{uuid} record (@pxref{File Systems}).  By default it is @code{#false}, which means that the partition creation tool will attribute a random UUID to the partition."
msgstr "分区 UUID 作为 @code{uuid} 记录 (@pxref{File Systems})。默认情况下,它是 @code{#false},这意味着分区创建工具将为分区分配一个随机 UUID。"

#. type: table
#: guix-git/doc/guix.texi:50426
#, fuzzy
msgid "The partition flags as a list of symbols.  Possible values are @code{'boot} and @code{'esp}.  The @code{'boot} flags should be set if you want to boot from this partition.  Exactly one partition should have this flag set, usually the root one. The @code{'esp} flag identifies a UEFI System Partition."
msgstr "分区标志作为符号列表。可能的值是 @code{'boot} 和 @code{'esp}。如果您想从此分区启动,则应设置 @code{'boot} 标志。应该有且仅有一个分区设置此标志,通常是根分区。 @code{'esp} 标志标识 UEFI 系统分区。"

#. type: item
#: guix-git/doc/guix.texi:50427
#, fuzzy, no-wrap
msgid "@code{initializer} (default: @code{#false})"
msgstr "@code{zonefile-load}(默认值:@code{#f})"

#. type: table
#: guix-git/doc/guix.texi:50432
#, fuzzy
msgid "The partition initializer procedure as a gexp.  This procedure is called to populate a partition.  If no initializer is passed, the @code{initialize-root-partition} procedure from the @code{(gnu build image)} module is used."
msgstr "分区初始化程序作为 gexp。此过程用于填充分区。如果未传递初始化程序,则使用 @code{(gnu build image)} 模块中的 @code{initialize-root-partition} 过程。"

#. type: Plain text
#: guix-git/doc/guix.texi:50441
#, fuzzy
msgid "Let's say you would like to create an MBR image with three distinct partitions:"
msgstr "假设您想创建一个具有三个不同分区的 MBR 镜像:"

#. type: item
#: guix-git/doc/guix.texi:50443
#, fuzzy, no-wrap
msgid "The @acronym{ESP, EFI System Partition}, a partition of"
msgstr "@acronym{ESP, EFI 系统分区},一个分区"

#. type: itemize
#: guix-git/doc/guix.texi:50445
#, fuzzy
msgid "40@tie{}MiB at offset 1024@tie{}KiB with a vfat file system."
msgstr "40@tie{}MiB,偏移量为 1024@tie{}KiB,文件系统为 vfat。"

#. type: item
#: guix-git/doc/guix.texi:50446
#, fuzzy, no-wrap
msgid "an ext4 partition of 50@tie{}MiB data file, and labeled ``data''."
msgstr "一个 50@tie{}MiB 数据文件的 ext4 分区,标签为 ``data''。"

#. type: item
#: guix-git/doc/guix.texi:50448
#, fuzzy, no-wrap
msgid "an ext4 bootable partition containing the @code{%simple-os}"
msgstr "一个包含 @code{%simple-os} 的可引导 ext4 分区。"

#. type: itemize
#: guix-git/doc/guix.texi:50450
#, fuzzy
msgid "operating-system."
msgstr "操作系统参考"

#. type: Plain text
#: guix-git/doc/guix.texi:50454
#, fuzzy
msgid "You would then write the following image definition in a @code{my-image.scm} file for instance."
msgstr "然后您可以在 @code{my-image.scm} 文件中写入以下镜像定义。"

#. type: lisp
#: guix-git/doc/guix.texi:50461
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu)\n"
"             (gnu image)\n"
"             (gnu tests)\n"
"             (gnu system image)\n"
"             (guix gexp))\n"
"\n"
msgstr ""
"(use-modules (gnu)\n"
"             (gnu image)\n"
"             (gnu tests)\n"
"             (gnu system image)\n"
"             (guix gexp))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:50463 guix-git/doc/guix.texi:50581
#, fuzzy, no-wrap
msgid ""
"(define MiB (expt 2 20))\n"
"\n"
msgstr ""
"(define MiB (expt 2 20))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:50492
#, fuzzy, no-wrap
msgid ""
"(image\n"
" (format 'disk-image)\n"
" (operating-system %simple-os)\n"
" (partitions\n"
"  (list\n"
"   (partition\n"
"    (size (* 40 MiB))\n"
"    (offset (* 1024 1024))\n"
"    (label \"GNU-ESP\")\n"
"    (file-system \"vfat\")\n"
"    (flags '(esp))\n"
"    (initializer (gexp initialize-efi-partition)))\n"
"   (partition\n"
"    (size (* 50 MiB))\n"
"    (label \"DATA\")\n"
"    (file-system \"ext4\")\n"
"    (initializer #~(lambda* (root . rest)\n"
"                     (mkdir root)\n"
"                     (call-with-output-file\n"
"                         (string-append root \"/data\")\n"
"                       (lambda (port)\n"
"                         (format port \"my-data\"))))))\n"
"   (partition\n"
"    (size 'guess)\n"
"    (label root-label)\n"
"    (file-system \"ext4\")\n"
"    (flags '(boot))\n"
"    (initializer (gexp initialize-root-partition))))))\n"
msgstr ""
"(image\n"
" (format 'disk-image)\n"
" (operating-system %simple-os)\n"
" (partitions\n"
"  (list\n"
"   (partition\n"
"    (size (* 40 MiB))\n"
"    (offset (* 1024 1024))\n"
"    (label \"GNU-ESP\")\n"
"    (file-system \"vfat\")\n"
"    (flags '(esp))\n"
"    (initializer (gexp initialize-efi-partition)))\n"
"   (partition\n"
"    (size (* 50 MiB))\n"
"    (label \"DATA\")\n"
"    (file-system \"ext4\")\n"
"    (initializer #~(lambda* (root . rest)\n"
"                     (mkdir root)\n"
"                     (call-with-output-file\n"
"                         (string-append root \"/data\")\n"
"                       (lambda (port)\n"
"                         (format port \"my-data\"))))))\n"
"   (partition\n"
"    (size 'guess)\n"
"    (label root-label)\n"
"    (file-system \"ext4\")\n"
"    (flags '(boot))\n"
"    (initializer (gexp initialize-root-partition))))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50500
#, fuzzy
msgid "Note that the first and third partitions use generic initializers procedures, initialize-efi-partition and initialize-root-partition respectively.  The initialize-efi-partition installs a GRUB EFI loader that is loading the GRUB bootloader located in the root partition.  The initialize-root-partition instantiates a complete system as defined by the @code{%simple-os} operating-system."
msgstr "请注意,第一个和第三个分区分别使用通用初始化程序,initialize-efi-partition 和 initialize-root-partition。 initialize-efi-partition 安装一个 GRUB EFI 加载程序,该加载程序加载位于根分区中的 GRUB 启动加载程序。 initialize-root-partition 实例化一个由 @code{%simple-os} 操作系统定义的完整系统。"

#. type: Plain text
#: guix-git/doc/guix.texi:50502
#, fuzzy
msgid "You can now run:"
msgstr "您现在可以运行:"

#. type: example
#: guix-git/doc/guix.texi:50505
#, fuzzy, no-wrap
msgid "guix system image my-image.scm\n"
msgstr "guix package --list-available\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50509
#, fuzzy
msgid "to instantiate the @code{image} definition.  That produces a disk image which has the expected structure:"
msgstr "以实例化 @code{image} 定义。这会生成一个具有预期结构的磁盘映像:"

#. type: example
#: guix-git/doc/guix.texi:50518
#, fuzzy, no-wrap
msgid ""
"$ parted $(guix system image my-image.scm) print\n"
"@dots{}\n"
"Model:  (file)\n"
"Disk /gnu/store/yhylv1bp5b2ypb97pd3bbhz6jk5nbhxw-disk-image: 1714MB\n"
"Sector size (logical/physical): 512B/512B\n"
"Partition Table: msdos\n"
"Disk Flags:\n"
"\n"
msgstr ""
"$ parted $(guix system image my-image.scm) print\n"
"@dots{}\n"
"模型:  (文件)\n"
"磁盘 /gnu/store/yhylv1bp5b2ypb97pd3bbhz6jk5nbhxw-disk-image: 1714MB\n"
"扇区大小(逻辑/物理):512B/512B\n"
"分区表:msdos\n"
"磁盘标志:\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:50523
#, fuzzy, no-wrap
msgid ""
"Number  Start   End     Size    Type     File system  Flags\n"
" 1      1049kB  43.0MB  41.9MB  primary  fat16        esp\n"
" 2      43.0MB  95.4MB  52.4MB  primary  ext4\n"
" 3      95.4MB  1714MB  1619MB  primary  ext4         boot\n"
msgstr ""
"编号  开始    结束    大小    类型     文件系统  标志\n"
" 1      1049kB  43.0MB  41.9MB  主分区  fat16        esp\n"
" 2      43.0MB  95.4MB  52.4MB  主分区  ext4\n"
" 3      95.4MB  1714MB  1619MB  主分区  ext4         启动\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50528
#, fuzzy
msgid "The size of the @code{boot} partition has been inferred to @code{1619MB} so that it is large enough to host the @code{%simple-os} operating-system."
msgstr "@code{boot} 分区的大小已推断为 @code{1619MB},以便足够大以容纳 @code{%simple-os} 操作系统。"

#. type: Plain text
#: guix-git/doc/guix.texi:50533
#, fuzzy
msgid "You can also use existing @code{image} record definitions and inherit from them to simplify the @code{image} definition.  The @code{(gnu system image)} module provides the following @code{image} definition variables."
msgstr "您还可以使用现有的 @code{image} 记录定义并从中继承,以简化 @code{image} 定义。 @code{(gnu system image)} 模块提供以下 @code{image} 定义变量。"

#. type: defvar
#: guix-git/doc/guix.texi:50534
#, fuzzy, no-wrap
msgid "mbr-disk-image"
msgstr "{数据类型} build-machine"

#. type: defvar
#: guix-git/doc/guix.texi:50538
#, fuzzy
msgid "An MBR disk-image composed of a single ROOT partition.  The ROOT partition starts at a 1@tie{}MiB offset so that the bootloader can install itself in the post-MBR gap."
msgstr "一个由单个 ROOT 分区组成的 MBR 磁盘映像。 ROOT 分区从 1@tie{}MiB 偏移开始,以便启动加载程序可以在 MBR 后的间隙中安装自己。"

#. type: defvar
#: guix-git/doc/guix.texi:50540
#, fuzzy, no-wrap
msgid "mbr-hybrid-disk-image"
msgstr "mbr-hybrid-disk-image"

#. type: defvar
#: guix-git/doc/guix.texi:50548
#, fuzzy
msgid "An MBR disk-image composed of two partitions: a 64 bits ESP partition and a ROOT boot partition.  The ESP partition starts at a 1@tie{}MiB offset so that a BIOS compatible bootloader can install itself in the post-MBR gap.  The image can be used by @code{x86_64} and @code{i686} machines supporting only legacy BIOS booting.  The ESP partition ensures that it can also be used by newer machines relying on UEFI booting, hence the @emph{hybrid} denomination."
msgstr "一个由两个分区组成的 MBR 磁盘映像:一个 64 位 ESP 分区和一个 ROOT 启动分区。 ESP 分区从 1@tie{}MiB 偏移开始,以便 BIOS 兼容的启动加载程序可以在 MBR 后的间隙中安装自己。该映像可以被仅支持传统 BIOS 启动的 @code{x86_64} 和 @code{i686} 机器使用。 ESP 分区确保它也可以被依赖于 UEFI 启动的新机器使用,因此被称为 @emph{hybrid}。"

#. type: defvar
#: guix-git/doc/guix.texi:50550
#, fuzzy, no-wrap
msgid "efi-disk-image"
msgstr "efi-disk-image"

#. type: defvar
#: guix-git/doc/guix.texi:50554
#, fuzzy
msgid "A GPT disk-image composed of two partitions: a 64 bits ESP partition and a ROOT boot partition.  This image can be used on most @code{x86_64} and @code{i686} machines, supporting BIOS or UEFI booting."
msgstr "MBR 磁盘镜像由两个分区组成:一个 64 位的 ESP 分区和一个 ROOT 引导分区。这种镜像可以在大多数 @code{x86_64} 和 @code{i686} 机器上使用,支持 BIOS 或 UEFI 引导。"

#. type: defvar
#: guix-git/doc/guix.texi:50556
#, fuzzy, no-wrap
msgid "efi32-disk-image"
msgstr "efi32-disk-image"

#. type: defvar
#: guix-git/doc/guix.texi:50558
msgid "Same as @code{efi-disk-image} but with a 32 bits EFI partition."
msgstr "与 @code{efi-disk-image} 相同,但是有一个 32 位的 EFI 分区。"

#. type: defvar
#: guix-git/doc/guix.texi:50560
#, fuzzy, no-wrap
msgid "iso9660-image"
msgstr "iso9660-image"

#. type: defvar
#: guix-git/doc/guix.texi:50563
msgid "An ISO-9660 image composed of a single bootable partition.  This image can also be used on most @code{x86_64} and @code{i686} machines."
msgstr "ISO-9660镜像由一个可引导分区组成。这种镜像可以在大多数 @code{x86_64} 和 @code{i686} 机器上使用。"

#. type: defvar
#: guix-git/doc/guix.texi:50565
#, fuzzy, no-wrap
msgid "docker-image"
msgstr "docker-image"

#. type: defvar
#: guix-git/doc/guix.texi:50567
msgid "A Docker image that can be used to spawn a Docker container."
msgstr "Docker 镜像可以用来孵化 Docker 容器。"

#. type: Plain text
#: guix-git/doc/guix.texi:50571
msgid "Using the @code{efi-disk-image} we can simplify our previous @code{image} declaration this way:"
msgstr "使用 @code{efi-disk-image} 我们就可以像这样简化先前的 @code{image} 声明:"

#. type: lisp
#: guix-git/doc/guix.texi:50579
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu)\n"
"             (gnu image)\n"
"             (gnu tests)\n"
"             (gnu system image)\n"
"             (guix gexp)\n"
"             (ice-9 match))\n"
"\n"
msgstr ""
"(使用模块 (gnu)\n"
"             (gnu image)\n"
"             (gnu tests)\n"
"             (gnu system image)\n"
"             (guix gexp)\n"
"             (ice-9 match))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:50593
#, fuzzy, no-wrap
msgid ""
"(define data\n"
"  (partition\n"
"   (size (* 50 MiB))\n"
"   (label \"DATA\")\n"
"   (file-system \"ext4\")\n"
"   (initializer #~(lambda* (root . rest)\n"
"                    (mkdir root)\n"
"                    (call-with-output-file\n"
"                        (string-append root \"/data\")\n"
"                      (lambda (port)\n"
"                        (format port \"my-data\")))))))\n"
"\n"
msgstr ""
"(定义数据\n"
"  (分区\n"
"   (大小 (* 50 MiB))\n"
"   (标签 \"DATA\")\n"
"   (文件系统 \"ext4\")\n"
"   (初始化器 #~(lambda* (root . rest)\n"
"                    (mkdir root)\n"
"                    (call-with-output-file\n"
"                        (string-append root \"/data\")\n"
"                      (lambda (port)\n"
"                        (format port \"my-data\")))))))\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:50601
#, fuzzy, no-wrap
msgid ""
"(image\n"
" (inherit efi-disk-image)\n"
" (operating-system %simple-os)\n"
" (partitions\n"
"  (match (image-partitions efi-disk-image)\n"
"    ((esp root)\n"
"     (list esp data root)))))\n"
msgstr ""
"(图像\n"
" (继承 efi-disk-image)\n"
" (操作系统 %simple-os)\n"
" (分区\n"
"  (匹配 (image-partitions efi-disk-image)\n"
"    ((esp root)\n"
"     (列表 esp data root)))))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50605
msgid "This will give the exact same @code{image} instantiation but the @code{image} declaration is simpler."
msgstr "这将会有一模一样的 @code{image} 实例化,不过 @code{image} 声明更加简单。"

#. type: Plain text
#: guix-git/doc/guix.texi:50614
msgid "The @command{guix system image} command can, as we saw above, take a file containing an @code{image} declaration as argument and produce an actual disk image from it.  The same command can also handle a file containing an @code{operating-system} declaration as argument.  In that case, how is the @code{operating-system} turned into an image?"
msgstr "正如我们在上面看到的那样,@command{guix system image} 命令可以将含有 @code{image} 声明的文件作为参数,从中产生一个磁盘镜像。同样的命令也可以操纵含有 @code{operating-system} 声明的文件作为参数。在那种情况下,@code{operating-system} 如何变为镜像呢?"

#. type: Plain text
#: guix-git/doc/guix.texi:50618
msgid "That's where the @code{image-type} record intervenes.  This record defines how to transform an @code{operating-system} record into an @code{image} record."
msgstr "那是 @code{image-type} 记录干预的地方。这个记录定义了 @code{operating-system} 记录如何转化为 @code{image} 记录。"

#. type: deftp
#: guix-git/doc/guix.texi:50619
#, no-wrap
msgid "{Data Type} image-type"
msgstr "{数据类型} image-type"

#. type: deftp
#: guix-git/doc/guix.texi:50621
msgid "This is the data type representing an image-type."
msgstr "这是表示镜像类别的数据类型。"

#. type: table
#: guix-git/doc/guix.texi:50626
msgid "The image-type name as a mandatory symbol, @code{'efi32-raw} for instance."
msgstr "镜像类型名称是强制性的符号,比如说 @code{'efi32-raw}。"

#. type: code{#1}
#: guix-git/doc/guix.texi:50627
#, fuzzy, no-wrap
msgid "constructor"
msgstr "构造函数"

#. type: table
#: guix-git/doc/guix.texi:50631
#, fuzzy
msgid "The image-type constructor, as a mandatory procedure that takes an @code{operating-system} record as argument and returns an @code{image} record."
msgstr "图像类型构造函数,作为一个强制程序,接受一个 @code{operating-system} 记录作为参数,并返回一个 @code{image} 记录。"

#. type: Plain text
#: guix-git/doc/guix.texi:50637
#, fuzzy
msgid "There are several @code{image-type} records provided by the @code{(gnu system image)} and the @code{(gnu system images @dots{})} modules."
msgstr "有几个 @code{image-type} 记录由 @code{(gnu system image)} 和 @code{(gnu system images @dots{})} 模块提供。"

#. type: defvar
#: guix-git/doc/guix.texi:50638
#, fuzzy, no-wrap
msgid "mbr-raw-image-type"
msgstr "{数据类型} build-machine"

#. type: defvar
#: guix-git/doc/guix.texi:50640
#, fuzzy
msgid "Build an image based on the @code{mbr-disk-image} image."
msgstr "基于 @code{mbr-disk-image} 图像构建图像。"

#. type: defvar
#: guix-git/doc/guix.texi:50642
#, fuzzy, no-wrap
msgid "mbr-hybrid-raw-image-type"
msgstr "{数据类型} build-machine"

#. type: defvar
#: guix-git/doc/guix.texi:50644
#, fuzzy
msgid "Build an image based on the @code{mbr-hybrid-disk-image} image."
msgstr "基于 @code{mbr-hybrid-disk-image} 图像构建图像。"

#. type: defvar
#: guix-git/doc/guix.texi:50646
#, fuzzy, no-wrap
msgid "efi-raw-image-type"
msgstr "efi-raw-image-type"

#. type: defvar
#: guix-git/doc/guix.texi:50648
#, fuzzy
msgid "Build an image based on the @code{efi-disk-image} image."
msgstr "基于 @code{efi-disk-image} 图像构建图像。"

#. type: defvar
#: guix-git/doc/guix.texi:50650
#, fuzzy, no-wrap
msgid "efi32-raw-image-type"
msgstr "efi32-raw-image-type"

#. type: defvar
#: guix-git/doc/guix.texi:50652
#, fuzzy
msgid "Build an image based on the @code{efi32-disk-image} image."
msgstr "基于 @code{efi32-disk-image} 图像构建图像。"

#. type: defvar
#: guix-git/doc/guix.texi:50654
#, fuzzy, no-wrap
msgid "qcow2-image-type"
msgstr "qcow2-image-type"

#. type: defvar
#: guix-git/doc/guix.texi:50657
#, fuzzy
msgid "Build an image based on the @code{mbr-disk-image} image but with the @code{compressed-qcow2} image format."
msgstr "基于 @code{mbr-disk-image} 图像构建图像,但使用 @code{compressed-qcow2} 图像格式。"

#. type: defvar
#: guix-git/doc/guix.texi:50659
#, fuzzy, no-wrap
msgid "iso-image-type"
msgstr "iso-image-type"

#. type: defvar
#: guix-git/doc/guix.texi:50661
#, fuzzy
msgid "Build a compressed image based on the @code{iso9660-image} image."
msgstr "基于 @code{iso9660-image} 图像构建压缩图像。"

#. type: defvar
#: guix-git/doc/guix.texi:50663
#, fuzzy, no-wrap
msgid "uncompressed-iso-image-type"
msgstr "uncompressed-iso-image-type"

#. type: defvar
#: guix-git/doc/guix.texi:50666
#, fuzzy
msgid "Build an image based on the @code{iso9660-image} image but with the @code{compression?} field set to @code{#false}."
msgstr "基于 @code{iso9660-image} 图像构建图像,但将 @code{compression?} 字段设置为 @code{#false}。"

#. type: defvar
#: guix-git/doc/guix.texi:50668
#, fuzzy, no-wrap
msgid "docker-image-type"
msgstr "docker-image-type"

#. type: defvar
#: guix-git/doc/guix.texi:50670
#, fuzzy
msgid "Build an image based on the @code{docker-image} image."
msgstr "基于 @code{docker-image} 图像构建图像。"

#. type: defvar
#: guix-git/doc/guix.texi:50672
#, fuzzy, no-wrap
msgid "raw-with-offset-image-type"
msgstr "raw-with-offset-image-type"

#. type: defvar
#: guix-git/doc/guix.texi:50676
#, fuzzy
msgid "Build an MBR image with a single partition starting at a @code{1024KiB} offset.  This is useful to leave some room to install a bootloader in the post-MBR gap."
msgstr "构建一个MBR图像,具有一个从 @code{1024KiB} 偏移开始的单个分区。这对于在后MBR间隙中安装引导加载程序留出一些空间是有用的。"

#. type: defvar
#: guix-git/doc/guix.texi:50678
#, fuzzy, no-wrap
msgid "pinebook-pro-image-type"
msgstr "pinebook-pro-image-type"

#. type: defvar
#: guix-git/doc/guix.texi:50683
#, fuzzy
msgid "Build an image that is targeting the Pinebook Pro machine.  The MBR image contains a single partition starting at a @code{9MiB} offset.  The @code{u-boot-pinebook-pro-rk3399-bootloader} bootloader will be installed in this gap."
msgstr "构建一个针对 Pinebook Pro 机器的图像。MBR 图像包含一个从 @code{9MiB} 偏移开始的单个分区。@code{u-boot-pinebook-pro-rk3399-bootloader} 引导加载程序将安装在此间隙中。"

#. type: defvar
#: guix-git/doc/guix.texi:50685
#, fuzzy, no-wrap
msgid "rock64-image-type"
msgstr "rock64映像类型"

#. type: defvar
#: guix-git/doc/guix.texi:50690
#, fuzzy
msgid "Build an image that is targeting the Rock64 machine.  The MBR image contains a single partition starting at a @code{16MiB} offset.  The @code{u-boot-rock64-rk3328-bootloader} bootloader will be installed in this gap."
msgstr "构建一个针对Rock64机器的映像。MBR映像包含一个从@code{16MiB}偏移开始的单个分区。@code{u-boot-rock64-rk3328-bootloader}引导加载程序将安装在这个间隙中。"

#. type: defvar
#: guix-git/doc/guix.texi:50692
#, fuzzy, no-wrap
msgid "novena-image-type"
msgstr "novena映像类型"

#. type: defvar
#: guix-git/doc/guix.texi:50695
#, fuzzy
msgid "Build an image that is targeting the Novena machine.  It has the same characteristics as @code{raw-with-offset-image-type}."
msgstr "构建一个针对Novena机器的映像。它具有与@code{raw-with-offset-image-type}相同的特性。"

#. type: defvar
#: guix-git/doc/guix.texi:50697
#, fuzzy, no-wrap
msgid "pine64-image-type"
msgstr "{数据类型} build-machine"

#. type: defvar
#: guix-git/doc/guix.texi:50700
#, fuzzy
msgid "Build an image that is targeting the Pine64 machine.  It has the same characteristics as @code{raw-with-offset-image-type}."
msgstr "构建一个针对Pine64机器的映像。它具有与@code{raw-with-offset-image-type}相同的特性。"

#. type: defvar
#: guix-git/doc/guix.texi:50702
#, fuzzy, no-wrap
msgid "hurd-image-type"
msgstr "hurd映像类型"

#. type: defvar
#: guix-git/doc/guix.texi:50706
#, fuzzy
msgid "Build an image that is targeting a @code{i386} machine running the Hurd kernel.  The MBR image contains a single ext2 partitions with specific @code{file-system-options} flags."
msgstr "构建一个针对运行Hurd内核的@code{i386}机器的映像。MBR映像包含一个具有特定@code{file-system-options}标志的单个ext2分区。"

#. type: defvar
#: guix-git/doc/guix.texi:50708
#, fuzzy, no-wrap
msgid "hurd-qcow2-image-type"
msgstr "hurd-qcow2映像类型"

#. type: defvar
#: guix-git/doc/guix.texi:50711
#, fuzzy
msgid "Build an image similar to the one built by the @code{hurd-image-type} but with the @code{format} set to @code{'compressed-qcow2}."
msgstr "构建一个类似于由@code{hurd-image-type}构建的映像,但将@code{format}设置为@code{'compressed-qcow2}。"

#. type: defvar
#: guix-git/doc/guix.texi:50713
#, fuzzy, no-wrap
msgid "wsl2-image-type"
msgstr "wsl2映像类型"

#. type: defvar
#: guix-git/doc/guix.texi:50716
#, fuzzy
msgid "Build an image for the @acronym{WSL2, Windows Subsystem for Linux 2}.  It can be imported by running:"
msgstr "为@acronym{WSL2, Windows Subsystem for Linux 2}构建一个映像。可以通过运行以下命令导入:"

#. type: example
#: guix-git/doc/guix.texi:50720
#, fuzzy, no-wrap
msgid ""
"wsl --import Guix ./guix ./wsl2-image.tar.gz\n"
"wsl -d Guix\n"
msgstr ""
"wsl --import Guix ./guix ./wsl2-image.tar.gz\n"
"wsl -d Guix\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50728
#, fuzzy
msgid "So, if we get back to the @code{guix system image} command taking an @code{operating-system} declaration as argument.  By default, the @code{mbr-raw-image-type} is used to turn the provided @code{operating-system} into an actual bootable image."
msgstr "所以,如果我们回到@code{guix system image}命令,使用@code{operating-system}声明作为参数。默认情况下,使用@code{mbr-raw-image-type}将提供的@code{operating-system}转换为实际可引导的映像。"

#. type: Plain text
#: guix-git/doc/guix.texi:50734
#, fuzzy
msgid "To use a different @code{image-type}, the @code{--image-type} option can be used.  The @code{--list-image-types} option will list all the supported image types.  It turns out to be a textual listing of all the @code{image-types} variables described just above (@pxref{Invoking guix system})."
msgstr "要使用不同的@code{image-type},可以使用@code{--image-type}选项。@code{--list-image-types}选项将列出所有支持的映像类型。结果是一个文本列表,列出了刚才描述的所有@code{image-types}变量(@pxref{Invoking guix system})。"

#. type: Plain text
#: guix-git/doc/guix.texi:50741
#, fuzzy
msgid "Let's take the example of the Pine64, an ARM based machine.  To be able to produce an image targeting this board, we need the following elements:"
msgstr "让我们以Pine64为例,这是一台基于ARM的机器。为了能够生成针对该板的映像,我们需要以下元素:"

#. type: item
#: guix-git/doc/guix.texi:50743
#, fuzzy, no-wrap
msgid "An @code{operating-system} record containing at least"
msgstr "一个包含至少的@code{operating-system}记录"

#. type: itemize
#: guix-git/doc/guix.texi:50746
#, fuzzy
msgid "an appropriate kernel (@code{linux-libre-arm64-generic}) and bootloader @code{u-boot-pine64-lts-bootloader}) for the Pine64."
msgstr "一个适当的内核(@code{linux-libre-arm64-generic})和引导加载程序(@code{u-boot-pine64-lts-bootloader})用于Pine64。"

#. type: item
#: guix-git/doc/guix.texi:50747
#, fuzzy, no-wrap
msgid "Possibly, an @code{image-type} record providing a way to"
msgstr "可能需要一个@code{image-type}记录,提供一种"

#. type: itemize
#: guix-git/doc/guix.texi:50750
#, fuzzy
msgid "turn an @code{operating-system} record to an @code{image} record suitable for the Pine64."
msgstr "将@code{operating-system}记录转换为适合Pine64的@code{image}记录的方法。"

#. type: item
#: guix-git/doc/guix.texi:50751
#, fuzzy, no-wrap
msgid "An actual @code{image} that can be instantiated with the"
msgstr "一个实际的 @code{image},可以通过"

#. type: itemize
#: guix-git/doc/guix.texi:50753
#, fuzzy
msgid "@command{guix system image} command."
msgstr "@command{guix system image} 命令实例化。"

#. type: Plain text
#: guix-git/doc/guix.texi:50759
#, fuzzy
msgid "The @code{(gnu system images pine64)} module provides all those elements: @code{pine64-barebones-os}, @code{pine64-image-type} and @code{pine64-barebones-raw-image} respectively."
msgstr "@code{(gnu system images pine64)} 模块提供了所有这些元素:@code{pine64-barebones-os}、@code{pine64-image-type} 和 @code{pine64-barebones-raw-image}。"

#. type: Plain text
#: guix-git/doc/guix.texi:50762
#, fuzzy
msgid "The module returns the @code{pine64-barebones-raw-image} in order for users to be able to run:"
msgstr "该模块返回 @code{pine64-barebones-raw-image},以便用户能够运行:"

#. type: example
#: guix-git/doc/guix.texi:50765
#, fuzzy, no-wrap
msgid "guix system image gnu/system/images/pine64.scm\n"
msgstr "guix system image gnu/system/images/pine64.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50770
#, fuzzy
msgid "Now, thanks to the @code{pine64-image-type} record declaring the @code{'pine64-raw} @code{image-type}, one could also prepare a @code{my-pine.scm} file with the following content:"
msgstr "现在,得益于声明 @code{'pine64-raw} @code{image-type} 的 @code{pine64-image-type} 记录,用户还可以准备一个 @code{my-pine.scm} 文件,内容如下:"

#. type: lisp
#: guix-git/doc/guix.texi:50776
#, fuzzy, no-wrap
msgid ""
"(use-modules (gnu system images pine64))\n"
"(operating-system\n"
"  (inherit pine64-barebones-os)\n"
"  (timezone \"Europe/Athens\"))\n"
msgstr ""
"(use-modules (gnu system images pine64))\n"
"(operating-system\n"
"  (inherit pine64-barebones-os)\n"
"  (timezone \"Europe/Athens\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50779
#, fuzzy
msgid "to customize the @code{pine64-barebones-os}, and run:"
msgstr "以自定义 @code{pine64-barebones-os},并运行:"

#. type: example
#: guix-git/doc/guix.texi:50782
#, fuzzy, no-wrap
msgid "$ guix system image --image-type=pine64-raw my-pine.scm\n"
msgstr "$ guix system image --image-type=pine64-raw my-pine.scm\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50787
#, fuzzy
msgid "Note that there are other modules in the @code{gnu/system/images} directory targeting @code{Novena}, @code{Pine64}, @code{PinebookPro} and @code{Rock64} machines."
msgstr "请注意,@code{gnu/system/images} 目录中还有其他模块,针对 @code{Novena}、@code{Pine64}、@code{PinebookPro} 和 @code{Rock64} 机器。"

#. type: cindex
#: guix-git/doc/guix.texi:50791
#, fuzzy, no-wrap
msgid "debugging files"
msgstr "调试文件"

#. type: Plain text
#: guix-git/doc/guix.texi:50797
#, fuzzy
msgid "Program binaries, as produced by the GCC compilers for instance, are typically written in the ELF format, with a section containing @dfn{debugging information}.  Debugging information is what allows the debugger, GDB, to map binary code to source code; it is required to debug a compiled program in good conditions."
msgstr "例如,由 GCC 编译器生成的程序二进制文件通常以 ELF 格式编写,包含一个包含 @dfn{调试信息} 的部分。调试信息使调试器 GDB 能够将二进制代码映射到源代码;在良好的条件下调试编译程序是必需的。"

#. type: Plain text
#: guix-git/doc/guix.texi:50801
#, fuzzy
msgid "This chapter explains how to use separate debug info when packages provide it, and how to rebuild packages with debug info when it's missing."
msgstr "本章解释了如何在软件包提供调试信息时使用单独的调试信息,以及在缺少调试信息时如何重建软件包。"

#. type: Plain text
#: guix-git/doc/guix.texi:50817
#, fuzzy
msgid "The problem with debugging information is that it takes up a fair amount of disk space.  For example, debugging information for the GNU C Library weighs in at more than 60 MiB@.  Thus, as a user, keeping all the debugging info of all the installed programs is usually not an option.  Yet, space savings should not come at the cost of an impediment to debugging---especially in the GNU system, which should make it easier for users to exert their computing freedom (@pxref{GNU Distribution})."
msgstr "调试信息的问题在于它占用相当多的磁盘空间。例如,GNU C 库的调试信息超过 60 MiB@。因此,作为用户,保留所有已安装程序的调试信息通常不是一个选项。然而,节省空间不应以妨碍调试为代价——尤其是在 GNU 系统中,应该使用户更容易行使他们的计算自由 (@pxref{GNU Distribution})。"

#. type: Plain text
#: guix-git/doc/guix.texi:50824
#, fuzzy
msgid "Thankfully, the GNU Binary Utilities (Binutils) and GDB provide a mechanism that allows users to get the best of both worlds: debugging information can be stripped from the binaries and stored in separate files.  GDB is then able to load debugging information from those files, when they are available (@pxref{Separate Debug Files,,, gdb, Debugging with GDB})."
msgstr "值得庆幸的是,GNU 二进制工具(Binutils)和 GDB 提供了一种机制,使用户能够兼得两全其美:调试信息可以从二进制文件中剥离并存储在单独的文件中。当这些文件可用时,GDB 能够从中加载调试信息 (@pxref{Separate Debug Files,,, gdb, Debugging with GDB})。"

#. type: Plain text
#: guix-git/doc/guix.texi:50832
#, fuzzy
msgid "The GNU distribution takes advantage of this by storing debugging information in the @code{lib/debug} sub-directory of a separate package output unimaginatively called @code{debug} (@pxref{Packages with Multiple Outputs}).  Users can choose to install the @code{debug} output of a package when they need it.  For instance, the following command installs the debugging information for the GNU C Library and for GNU Guile:"
msgstr "GNU 发行版通过将调试信息存储在名为 @code{debug} 的单独包的 @code{lib/debug} 子目录中来利用这一点 (@pxref{Packages with Multiple Outputs})。用户可以选择在需要时安装包的 @code{debug} 输出。例如,以下命令安装 GNU C 库和 GNU Guile 的调试信息:"

#. type: example
#: guix-git/doc/guix.texi:50835
#, fuzzy, no-wrap
msgid "guix install glibc:debug guile:debug\n"
msgstr "guix install glibc:debug guile:debug\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50841
#, fuzzy
msgid "GDB must then be told to look for debug files in the user's profile, by setting the @code{debug-file-directory} variable (consider setting it from the @file{~/.gdbinit} file, @pxref{Startup,,, gdb, Debugging with GDB}):"
msgstr "然后必须告诉 GDB 在用户的配置文件中查找调试文件,通过设置 @code{debug-file-directory} 变量(考虑从 @file{~/.gdbinit} 文件中设置它,@pxref{Startup,,, gdb, Debugging with GDB}):"

#. type: example
#: guix-git/doc/guix.texi:50844
#, fuzzy, no-wrap
msgid "(gdb) set debug-file-directory ~/.guix-profile/lib/debug\n"
msgstr "(gdb) set debug-file-directory ~/.guix-profile/lib/debug\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50848
#, fuzzy
msgid "From there on, GDB will pick up debugging information from the @file{.debug} files under @file{~/.guix-profile/lib/debug}."
msgstr "从此以后,GDB 将从 @file{~/.guix-profile/lib/debug} 下的 @file{.debug} 文件中获取调试信息。"

#. type: Plain text
#: guix-git/doc/guix.texi:50853
#, fuzzy
msgid "Below is an alternative GDB script which is useful when working with other profiles.  It takes advantage of the optional Guile integration in GDB.  This snippet is included by default on Guix System in the @file{~/.gdbinit} file."
msgstr "下面是一个替代的 GDB 脚本,当使用其他配置文件时非常有用。它利用了 GDB 中可选的 Guile 集成。此代码片段在 Guix 系统的 @file{~/.gdbinit} 文件中默认包含。"

#. type: example
#: guix-git/doc/guix.texi:50861
#, fuzzy, no-wrap
msgid ""
"guile\n"
"(use-modules (gdb))\n"
"(execute (string-append \"set debug-file-directory \"\n"
"                        (or (getenv \"GDB_DEBUG_FILE_DIRECTORY\")\n"
"                            \"~/.guix-profile/lib/debug\")))\n"
"end\n"
msgstr ""
"guile\n"
"(use-modules (gdb))\n"
"(execute (string-append \"set debug-file-directory \"\n"
"                        (or (getenv \"GDB_DEBUG_FILE_DIRECTORY\")\n"
"                            \"~/.guix-profile/lib/debug\")))\n"
"end\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50869
#, fuzzy
msgid "In addition, you will most likely want GDB to be able to show the source code being debugged.  To do that, you will have to unpack the source code of the package of interest (obtained with @code{guix build --source}, @pxref{Invoking guix build}), and to point GDB to that source directory using the @code{directory} command (@pxref{Source Path, @code{directory},, gdb, Debugging with GDB})."
msgstr "此外,您很可能希望 GDB 能够显示正在调试的源代码。为此,您必须解压感兴趣包的源代码(使用 @code{guix build --source} 获取,@pxref{Invoking guix build}),并使用 @code{directory} 命令将 GDB 指向该源目录 (@pxref{Source Path, @code{directory},, gdb, Debugging with GDB})。"

#. type: Plain text
#: guix-git/doc/guix.texi:50877
#, fuzzy
msgid "The @code{debug} output mechanism in Guix is implemented by the @code{gnu-build-system} (@pxref{Build Systems}).  Currently, it is opt-in---debugging information is available only for the packages with definitions explicitly declaring a @code{debug} output.  To check whether a package has a @code{debug} output, use @command{guix package --list-available} (@pxref{Invoking guix package})."
msgstr "Guix 中的 @code{debug} 输出机制由 @code{gnu-build-system} 实现 (@pxref{Build Systems})。目前,它是选择性的——调试信息仅对明确声明 @code{debug} 输出的包可用。要检查一个包是否具有 @code{debug} 输出,请使用 @command{guix package --list-available} (@pxref{Invoking guix package})。"

#. type: Plain text
#: guix-git/doc/guix.texi:50879
#, fuzzy
msgid "Read on for how to deal with packages lacking a @code{debug} output."
msgstr "阅读以下内容以了解如何处理缺少 @code{debug} 输出的包。"

#. type: Plain text
#: guix-git/doc/guix.texi:50891
#, fuzzy
msgid "As we saw above, some packages, but not all, provide debugging info in a @code{debug} output.  What can you do when debugging info is missing? The @option{--with-debug-info} option provides a solution to that: it allows you to rebuild the package(s) for which debugging info is missing---and only those---and to graft those onto the application you're debugging.  Thus, while it's not as fast as installing a @code{debug} output, it is relatively inexpensive."
msgstr "正如我们上面所看到的,某些包(但并非全部)在 @code{debug} 输出中提供调试信息。当调试信息缺失时,你可以做些什么? @option{--with-debug-info} 选项提供了一个解决方案:它允许你重新构建缺少调试信息的包(仅限这些包),并将其 graft 到你正在调试的应用程序上。因此,尽管这并不像安装 @code{debug} 输出那样快速,但相对来说成本较低。"

#. type: Plain text
#: guix-git/doc/guix.texi:50896
#, fuzzy
msgid "Let's illustrate that.  Suppose you're experiencing a bug in Inkscape and would like to see what's going on in GLib, a library that's deep down in its dependency graph.  As it turns out, GLib does not have a @code{debug} output and the backtrace GDB shows is all sadness:"
msgstr "让我们来说明一下。假设你在 Inkscape 中遇到一个错误,并希望查看 GLib 中发生了什么,GLib 是其依赖图中较深的一个库。事实证明,GLib 没有 @code{debug} 输出,而 GDB 显示的回溯全是悲伤:"

#. type: example
#: guix-git/doc/guix.texi:50907
#, fuzzy, no-wrap
msgid ""
"(gdb) bt\n"
"#0  0x00007ffff5f92190 in g_getenv ()\n"
"   from /gnu/store/@dots{}-glib-2.62.6/lib/libglib-2.0.so.0\n"
"#1  0x00007ffff608a7d6 in gobject_init_ctor ()\n"
"   from /gnu/store/@dots{}-glib-2.62.6/lib/libgobject-2.0.so.0\n"
"#2  0x00007ffff7fe275a in call_init (l=<optimized out>, argc=argc@@entry=1, argv=argv@@entry=0x7fffffffcfd8,\n"
"    env=env@@entry=0x7fffffffcfe8) at dl-init.c:72\n"
"#3  0x00007ffff7fe2866 in call_init (env=0x7fffffffcfe8, argv=0x7fffffffcfd8, argc=1, l=<optimized out>)\n"
"    at dl-init.c:118\n"
msgstr ""
"(gdb) bt\n"
"#0  0x00007ffff5f92190 in g_getenv ()\n"
"   from /gnu/store/@dots{}-glib-2.62.6/lib/libglib-2.0.so.0\n"
"#1  0x00007ffff608a7d6 in gobject_init_ctor ()\n"
"   from /gnu/store/@dots{}-glib-2.62.6/lib/libgobject-2.0.so.0\n"
"#2  0x00007ffff7fe275a in call_init (l=<optimized out>, argc=argc@@entry=1, argv=argv@@entry=0x7fffffffcfd8,\n"
"    env=env@@entry=0x7fffffffcfe8) at dl-init.c:72\n"
"#3  0x00007ffff7fe2866 in call_init (env=0x7fffffffcfe8, argv=0x7fffffffcfd8, argc=1, l=<optimized out>)\n"
"    at dl-init.c:118\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50911
#, fuzzy
msgid "To address that, you install Inkscape linked against a variant GLib that contains debug info:"
msgstr "为了解决这个问题,你安装了一个链接到包含调试信息的变体 GLib 的 Inkscape:"

#. type: Plain text
#: guix-git/doc/guix.texi:50917
#, fuzzy
msgid "This time, debugging will be a whole lot nicer:"
msgstr "这次,调试会好得多:"

#. type: example
#: guix-git/doc/guix.texi:50935
#, fuzzy, no-wrap
msgid ""
"$ gdb --args sh -c 'exec inkscape'\n"
"@dots{}\n"
"(gdb) b g_getenv\n"
"Function \"g_getenv\" not defined.\n"
"Make breakpoint pending on future shared library load? (y or [n]) y\n"
"Breakpoint 1 (g_getenv) pending.\n"
"(gdb) r\n"
"Starting program: /gnu/store/@dots{}-profile/bin/sh -c exec\\ inkscape\n"
"@dots{}\n"
"(gdb) bt\n"
"#0  g_getenv (variable=variable@@entry=0x7ffff60c7a2e \"GOBJECT_DEBUG\") at ../glib-2.62.6/glib/genviron.c:252\n"
"#1  0x00007ffff608a7d6 in gobject_init () at ../glib-2.62.6/gobject/gtype.c:4380\n"
"#2  gobject_init_ctor () at ../glib-2.62.6/gobject/gtype.c:4493\n"
"#3  0x00007ffff7fe275a in call_init (l=<optimized out>, argc=argc@@entry=3, argv=argv@@entry=0x7fffffffd088,\n"
"    env=env@@entry=0x7fffffffd0a8) at dl-init.c:72\n"
"@dots{}\n"
msgstr ""
"$ gdb --args sh -c 'exec inkscape'\n"
"@dots{}\n"
"(gdb) b g_getenv\n"
"函数 \"g_getenv\" 未定义。\n"
"在未来共享库加载时使断点挂起?(y 或 [n]) y\n"
"断点 1 (g_getenv) 挂起。\n"
"(gdb) r\n"
"启动程序:/gnu/store/@dots{}-profile/bin/sh -c exec\\ inkscape\n"
"@dots{}\n"
"(gdb) bt\n"
"#0  g_getenv (variable=variable@@entry=0x7ffff60c7a2e \"GOBJECT_DEBUG\") at ../glib-2.62.6/glib/genviron.c:252\n"
"#1  0x00007ffff608a7d6 in gobject_init () at ../glib-2.62.6/gobject/gtype.c:4380\n"
"#2  gobject_init_ctor () at ../glib-2.62.6/gobject/gtype.c:4493\n"
"#3  0x00007ffff7fe275a in call_init (l=<optimized out>, argc=argc@@entry=3, argv=argv@@entry=0x7fffffffd088,\n"
"    env=env@@entry=0x7fffffffd0a8) at dl-init.c:72\n"
"@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50938
#, fuzzy
msgid "Much better!"
msgstr "好多了!"

#. type: Plain text
#: guix-git/doc/guix.texi:50942
#, fuzzy
msgid "Note that there can be packages for which @option{--with-debug-info} will not have the desired effect.  @xref{Package Transformation Options, @option{--with-debug-info}}, for more information."
msgstr "请注意,可能存在一些包,对于这些包,@option{--with-debug-info} 将不会产生预期的效果。有关更多信息,请参见 @xref{Package Transformation Options, @option{--with-debug-info}}。"

#. type: chapter
#: guix-git/doc/guix.texi:50944
#, fuzzy, no-wrap
msgid "Using @TeX{} and @LaTeX{}"
msgstr "使用 @TeX{} 和 @LaTeX{}"

#. type: cindex
#: guix-git/doc/guix.texi:50946
#, fuzzy, no-wrap
msgid "@TeX{} packages"
msgstr "软件包数据类型。"

#. type: cindex
#: guix-git/doc/guix.texi:50947
#, fuzzy, no-wrap
msgid "@LaTeX{} packages"
msgstr "构建软件包。"

#. type: Plain text
#: guix-git/doc/guix.texi:50954
#, fuzzy
msgid "Guix provides packages for the @TeX{}, @LaTeX{}, ConTeXt, LuaTeX, and related typesetting systems, taken from the @uref{https://www.tug.org/texlive/, @TeX{} Live distribution}.  Because @TeX{} Live is so huge and because finding one's way in this maze is tricky, this section provides some guidance on how to deploy the relevant packages to compile @TeX{} and @LaTeX{} documents."
msgstr "Guix 提供了 @TeX{}、@LaTeX{}、ConTeXt、LuaTeX 和相关排版系统的包,这些包来自 @uref{https://www.tug.org/texlive/, @TeX{} Live 发行版}。由于 @TeX{} Live 非常庞大,并且在这个迷宫中找到方向很棘手,因此本节提供了一些关于如何部署相关包以编译 @TeX{} 和 @LaTeX{} 文档的指导。"

#. type: Plain text
#: guix-git/doc/guix.texi:50956
#, fuzzy
msgid "@TeX{} Live currently comes in two mutually exclusive flavors in Guix:"
msgstr "@TeX{} Live 目前在 Guix 中有两种互斥的版本:"

#. type: itemize
#: guix-git/doc/guix.texi:50962
#, fuzzy
msgid "The ``monolithic'' @code{texlive} package: it comes with @emph{every single @TeX{} Live package} (roughly 4,200), but it is huge---more than 4@tie{}GiB for a single package!"
msgstr "``单体'' @code{texlive} 包:它包含了 @emph{每一个 @TeX{} Live 包}(大约 4200 个),但它非常庞大——单个包超过 4@tie{}GiB!"

#. type: itemize
#: guix-git/doc/guix.texi:50966
#, fuzzy
msgid "A ``modular'' @TeX{} Live distribution, in which you only install the packages you need, whose name is always prefixed with @samp{texlive-}."
msgstr "``模块化'' @TeX{} Live 发行版,您只安装所需的包,其名称始终以 @samp{texlive-} 为前缀。"

#. type: Plain text
#: guix-git/doc/guix.texi:50975
#, fuzzy
msgid "To insist, these two flavors cannot be combined@footnote{No rule without exception! As the monolithic @TeX{} Live does not contain the @command{biber} executable, it is okay to combine it with @code{texlive-biber}, which does.}.  If in the modular setting your document does not compile, the solution is not to add the monolithic @code{texlive} package, but to add the set of missing packages from the modular distribution."
msgstr "需要强调的是,这两种版本不能结合使用@footnote{没有例外的规则!由于单体 @TeX{} Live 不包含 @command{biber} 可执行文件,因此可以将其与包含该文件的 @code{texlive-biber} 结合使用。}。如果在模块化设置中您的文档无法编译,解决方案不是添加单体 @code{texlive} 包,而是从模块化发行版中添加缺失的包。"

#. type: Plain text
#: guix-git/doc/guix.texi:50982
#, fuzzy
msgid "Building a coherent system that provides all the essential tools and, at the same time, satisfies all of its internal dependencies can be a difficult task.  It is therefore recommended to start with sets of packages, called @dfn{collections}, and @dfn{schemes}, the name for collections of collections.  The following command lists available schemes and collections (@pxref{guix-search,, Invoking guix package}):"
msgstr "构建一个提供所有基本工具并同时满足所有内部依赖关系的连贯系统可能是一项困难的任务。因此,建议从称为 @dfn{collections} 的包集和称为 @dfn{schemes} 的集合集合开始。以下命令列出了可用的方案和集合 (@pxref{guix-search,, Invoking guix package}):"

#. type: example
#: guix-git/doc/guix.texi:50985
#, fuzzy, no-wrap
msgid "guix search texlive-\\(scheme\\|collection\\) | recsel -p name,description\n"
msgstr "guix search texlive-\\(scheme\\|collection\\) | recsel -p name,description\n"

#. type: Plain text
#: guix-git/doc/guix.texi:50990
#, fuzzy
msgid "If needed, you may then complete your system with individual packages, particularly when they belong to a large collection you're not otherwise interested in."
msgstr "如果需要,您可以通过单个包来完善您的系统,特别是当它们属于您不感兴趣的大集合时。"

#. type: Plain text
#: guix-git/doc/guix.texi:50993
#, fuzzy
msgid "For instance, the following manifest is a reasonable, yet frugal starting point for a French @LaTeX{} user:"
msgstr "例如,以下清单是一个合理而节俭的起点,适合法语 @LaTeX{} 用户:"

#. type: lisp
#: guix-git/doc/guix.texi:50997
#, fuzzy, no-wrap
msgid ""
"(specifications->manifest\n"
" '(\"rubber\"\n"
"\n"
msgstr ""
"(specifications->manifest\n"
" '(\"rubber\"\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:51002
#, fuzzy, no-wrap
msgid ""
"   \"texlive-scheme-basic\"\n"
"   \"texlive-collection-latexrecommended\"\n"
"   \"texlive-collection-fontsrecommended\"\n"
"   \"texlive-babel-french\"\n"
"\n"
msgstr ""
"   \"texlive-scheme-basic\"\n"
"   \"texlive-collection-latexrecommended\"\n"
"   \"texlive-collection-fontsrecommended\"\n"
"   \"texlive-babel-french\"\n"
"\n"

#. type: lisp
#: guix-git/doc/guix.texi:51007
#, fuzzy, no-wrap
msgid ""
"   ;; From \"latexextra\" collection.\n"
"   \"texlive-tabularray\"\n"
"   ;; From \"binextra\" collection.\n"
"   \"texlive-texdoc\"))\n"
msgstr ""
"   ;; 来自 \"latexextra\" 集合。\n"
"   \"texlive-tabularray\"\n"
"   ;; 来自 \"binextra\" 集合。\n"
"   \"texlive-texdoc\"))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51013
#, fuzzy
msgid "If you come across a document that does not compile in such a basic setting, the main difficulty is finding the missing packages.  In this case, @command{pdflatex} and similar commands tend to fail with obscure error messages along the lines of:"
msgstr "如果您遇到在如此基本设置下无法编译的文档,主要困难在于找到缺失的包。在这种情况下,@command{pdflatex} 和类似命令往往会以模糊的错误消息失败,内容如下:"

#. type: example
#: guix-git/doc/guix.texi:51017
#, fuzzy, no-wrap
msgid ""
"doc.tex: File `tikz.sty' not found.\n"
"doc.tex:7: Emergency stop.\n"
msgstr ""
"doc.tex: 找不到文件 `tikz.sty'。\n"
"doc.tex:7: 紧急停止。\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51021
#, fuzzy
msgid "or, for a missing font:"
msgstr "或者,对于缺失的字体:"

#. type: example
#: guix-git/doc/guix.texi:51025
#, fuzzy, no-wrap
msgid ""
"kpathsea: Running mktexmf phvr7t\n"
"! I can't find file `phvr7t'.\n"
msgstr ""
"kpathsea: 正在运行 mktexmf phvr7t\n"
"! 我找不到文件 `phvr7t'。\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51029
#, fuzzy
msgid "How do you determine what the missing package is? In the first case, you will find the answer by running:"
msgstr "您如何确定缺失的包是什么?在第一种情况下,您可以通过运行以下命令找到答案:"

#. type: example
#: guix-git/doc/guix.texi:51035
#, fuzzy, no-wrap
msgid ""
"$ guix search texlive tikz\n"
"name: texlive-pgf\n"
"version: 59745\n"
"@dots{}\n"
msgstr ""
"$ guix search texlive tikz\n"
"name: texlive-pgf\n"
"version: 59745\n"
"@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51040
#, fuzzy
msgid "In the second case, @command{guix search} turns up nothing.  Instead, you can search the @TeX{} Live package database using the @command{tlmgr} command:"
msgstr "在第二种情况下,@command{guix search} 不会返回任何结果。相反,您可以使用 @command{tlmgr} 命令搜索 @TeX{} Live 包数据库:"

#. type: example
#: guix-git/doc/guix.texi:51044
#, fuzzy, no-wrap
msgid ""
"$ tlmgr info phvr7t\n"
"tlmgr: cannot find package phvr7t, searching for other matches:\n"
"\n"
msgstr ""
"$ tlmgr info phvr7t\n"
"tlmgr: 找不到包 phvr7t,正在搜索其他匹配项:\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:51046
#, fuzzy, no-wrap
msgid ""
"Packages containing `phvr7t' in their title/description:\n"
"\n"
msgstr ""
"包含 `phvr7t` 的标题/描述的包:\n"
"\n"

#. type: example
#: guix-git/doc/guix.texi:51055
#, fuzzy, no-wrap
msgid ""
"Packages containing files matching `phvr7t':\n"
"helvetic:\n"
"        texmf-dist/fonts/tfm/adobe/helvetic/phvr7t.tfm\n"
"        texmf-dist/fonts/tfm/adobe/helvetic/phvr7tn.tfm\n"
"        texmf-dist/fonts/vf/adobe/helvetic/phvr7t.vf\n"
"        texmf-dist/fonts/vf/adobe/helvetic/phvr7tn.vf\n"
"tex4ht:\n"
"        texmf-dist/tex4ht/ht-fonts/alias/adobe/helvetic/phvr7t.htf\n"
msgstr ""
"包含与 `phvr7t` 匹配的文件的包:\n"
"helvetic:\n"
"        texmf-dist/fonts/tfm/adobe/helvetic/phvr7t.tfm\n"
"        texmf-dist/fonts/tfm/adobe/helvetic/phvr7tn.tfm\n"
"        texmf-dist/fonts/vf/adobe/helvetic/phvr7t.vf\n"
"        texmf-dist/fonts/vf/adobe/helvetic/phvr7tn.vf\n"
"tex4ht:\n"
"        texmf-dist/tex4ht/ht-fonts/alias/adobe/helvetic/phvr7t.htf\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51061
#, fuzzy
msgid "The file is available in the @TeX{} Live @code{helvetic} package, which is known in Guix as @code{texlive-helvetic}.  Quite a ride, but you found it!"
msgstr "该文件在 @TeX{} Live @code{helvetic} 包中可用,在 Guix 中被称为 @code{texlive-helvetic}。真是一段旅程,但您找到了它!"

#. type: cindex
#: guix-git/doc/guix.texi:51065
#, fuzzy, no-wrap
msgid "security updates"
msgstr "安全更新"

#. type: Plain text
#: guix-git/doc/guix.texi:51074
#, fuzzy
msgid "Occasionally, important security vulnerabilities are discovered in software packages and must be patched.  Guix developers try hard to keep track of known vulnerabilities and to apply fixes as soon as possible in the @code{master} branch of Guix (we do not yet provide a ``stable'' branch containing only security updates).  The @command{guix lint} tool helps developers find out about vulnerable versions of software packages in the distribution:"
msgstr "偶尔,软件包中会发现重要的安全漏洞,必须进行修补。Guix 开发者努力跟踪已知漏洞,并尽快在 Guix 的 @code{master} 分支中应用修复(我们尚未提供仅包含安全更新的“稳定”分支)。@command{guix lint} 工具帮助开发者了解分发中软件包的易受攻击版本:"

#. type: smallexample
#: guix-git/doc/guix.texi:51081
#, fuzzy, no-wrap
msgid ""
"$ guix lint -c cve\n"
"gnu/packages/base.scm:652:2: glibc@@2.21: probably vulnerable to CVE-2015-1781, CVE-2015-7547\n"
"gnu/packages/gcc.scm:334:2: gcc@@4.9.3: probably vulnerable to CVE-2015-5276\n"
"gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probably vulnerable to CVE-2016-1923, CVE-2016-1924\n"
"@dots{}\n"
msgstr ""
"$ guix lint -c cve\n"
"gnu/packages/base.scm:652:2: glibc@@2.21: 可能容易受到 CVE-2015-1781, CVE-2015-7547 的攻击\n"
"gnu/packages/gcc.scm:334:2: gcc@@4.9.3: 可能容易受到 CVE-2015-5276 的攻击\n"
"gnu/packages/image.scm:312:2: openjpeg@@2.1.0: 可能容易受到 CVE-2016-1923, CVE-2016-1924 的攻击\n"
"@dots{}\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51084
#, fuzzy
msgid "@xref{Invoking guix lint}, for more information."
msgstr "@xref{Invoking guix lint}, 以获取更多信息。"

#. type: Plain text
#: guix-git/doc/guix.texi:51093
#, fuzzy
msgid "Guix follows a functional package management discipline (@pxref{Introduction}), which implies that, when a package is changed, @emph{every package that depends on it} must be rebuilt.  This can significantly slow down the deployment of fixes in core packages such as libc or Bash, since basically the whole distribution would need to be rebuilt.  Using pre-built binaries helps (@pxref{Substitutes}), but deployment may still take more time than desired."
msgstr "Guix 遵循功能性包管理原则 (@pxref{Introduction}),这意味着当一个包被更改时,@emph{每个依赖于它的包}都必须重新构建。这可能会显著减慢核心包(如 libc 或 Bash)修复的部署,因为基本上整个发行版都需要重新构建。使用预构建的二进制文件有帮助 (@pxref{Substitutes}),但部署可能仍然需要比预期更长的时间。"

#. type: cindex
#: guix-git/doc/guix.texi:51094
#, fuzzy, no-wrap
msgid "grafts"
msgstr "嫁接"

#. type: Plain text
#: guix-git/doc/guix.texi:51102
#, fuzzy
msgid "To address this, Guix implements @dfn{grafts}, a mechanism that allows for fast deployment of critical updates without the costs associated with a whole-distribution rebuild.  The idea is to rebuild only the package that needs to be patched, and then to ``graft'' it onto packages explicitly installed by the user and that were previously referring to the original package.  The cost of grafting is typically very low, and order of magnitudes lower than a full rebuild of the dependency chain."
msgstr "为了解决这个问题,Guix 实现了 @dfn{嫁接},这是一种机制,允许快速部署关键更新,而无需进行整个发行版的重建。其思想是仅重建需要修补的包,然后将其“嫁接”到用户显式安装的、之前引用原始包的包上。嫁接的成本通常非常低,远低于依赖链的完全重建。"

#. type: cindex
#: guix-git/doc/guix.texi:51103
#, fuzzy, no-wrap
msgid "replacements of packages, for grafts"
msgstr "包的替代品,用于嫁接"

#. type: Plain text
#: guix-git/doc/guix.texi:51109
#, fuzzy
msgid "For instance, suppose a security update needs to be applied to Bash.  Guix developers will provide a package definition for the ``fixed'' Bash, say @code{bash-fixed}, in the usual way (@pxref{Defining Packages}).  Then, the original package definition is augmented with a @code{replacement} field pointing to the package containing the bug fix:"
msgstr "例如,假设需要对 Bash 应用安全更新。Guix 开发者将以通常的方式提供“修复”后的 Bash 的包定义,例如 @code{bash-fixed} (@pxref{Defining Packages})。然后,原始包定义将增加一个指向包含错误修复的包的 @code{replacement} 字段:"

#. type: lisp
#: guix-git/doc/guix.texi:51116
#, fuzzy, no-wrap
msgid ""
"(define bash\n"
"  (package\n"
"    (name \"bash\")\n"
"    ;; @dots{}\n"
"    (replacement bash-fixed)))\n"
msgstr ""
"(define bash\n"
"  (package\n"
"    (name \"bash\")\n"
"    ;; @dots{}\n"
"    (replacement bash-fixed)))\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51126
#, fuzzy
msgid "From there on, any package depending directly or indirectly on Bash---as reported by @command{guix gc --requisites} (@pxref{Invoking guix gc})---that is installed is automatically ``rewritten'' to refer to @code{bash-fixed} instead of @code{bash}.  This grafting process takes time proportional to the size of the package, usually less than a minute for an ``average'' package on a recent machine.  Grafting is recursive: when an indirect dependency requires grafting, then grafting ``propagates'' up to the package that the user is installing."
msgstr "从此以后,任何直接或间接依赖 Bash 的包——如 @command{guix gc --requisites} 所报告的 (@pxref{Invoking guix gc})——在安装时会自动“重写”为引用 @code{bash-fixed} 而不是 @code{bash}。这个嫁接过程所需的时间与包的大小成正比,通常在最近的机器上对于一个“平均”包来说少于一分钟。嫁接是递归的:当一个间接依赖需要嫁接时,嫁接会“传播”到用户正在安装的包上。"

#. type: Plain text
#: guix-git/doc/guix.texi:51134
#, fuzzy
msgid "Currently, the length of the name and version of the graft and that of the package it replaces (@code{bash-fixed} and @code{bash} in the example above) must be equal.  This restriction mostly comes from the fact that grafting works by patching files, including binary files, directly.  Other restrictions may apply: for instance, when adding a graft to a package providing a shared library, the original shared library and its replacement must have the same @code{SONAME} and be binary-compatible."
msgstr "目前,嫁接的名称和版本的长度与其替换的包(如上例中的 @code{bash-fixed} 和 @code{bash})必须相等。这个限制主要来自于嫁接通过直接修补文件(包括二进制文件)来工作的事实。可能还会有其他限制:例如,当向提供共享库的包添加嫁接时,原始共享库及其替代品必须具有相同的 @code{SONAME} 并且是二进制兼容的。"

#. type: Plain text
#: guix-git/doc/guix.texi:51138
#, fuzzy
msgid "The @option{--no-grafts} command-line option allows you to forcefully avoid grafting (@pxref{Common Build Options, @option{--no-grafts}}).  Thus, the command:"
msgstr "@option{--no-grafts} 命令行选项允许您强制避免嫁接(@pxref{Common Build Options, @option{--no-grafts}})。因此,命令:"

#. type: example
#: guix-git/doc/guix.texi:51141
#, fuzzy, no-wrap
msgid "guix build bash --no-grafts\n"
msgstr "guix build bash --no-grafts\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51145
#, fuzzy
msgid "returns the store file name of the original Bash, whereas:"
msgstr "返回原始 Bash 的存储文件名,而:"

#. type: example
#: guix-git/doc/guix.texi:51148
#, fuzzy, no-wrap
msgid "guix build bash\n"
msgstr "guix build bash\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51153
#, fuzzy
msgid "returns the store file name of the ``fixed'', replacement Bash.  This allows you to distinguish between the two variants of Bash."
msgstr "返回“修复”替代 Bash 的存储文件名。这使您能够区分这两种 Bash 变体。"

#. type: Plain text
#: guix-git/doc/guix.texi:51156
#, fuzzy
msgid "To verify which Bash your whole profile refers to, you can run (@pxref{Invoking guix gc}):"
msgstr "要验证您的整个配置文件引用的是哪个 Bash,您可以运行(@pxref{Invoking guix gc}):"

#. type: example
#: guix-git/doc/guix.texi:51159
#, fuzzy, no-wrap
msgid "guix gc -R $(readlink -f ~/.guix-profile) | grep bash\n"
msgstr "guix gc -R $(readlink -f ~/.guix-profile) | grep bash\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51164
#, fuzzy
msgid "@dots{} and compare the store file names that you get with those above.  Likewise for a complete Guix system generation:"
msgstr "@dots{} 并将您获得的存储文件名与上述文件名进行比较。同样,对于完整的 Guix 系统生成:"

#. type: example
#: guix-git/doc/guix.texi:51167
#, fuzzy, no-wrap
msgid "guix gc -R $(guix system build my-config.scm) | grep bash\n"
msgstr "guix gc -R $(guix system build my-config.scm) | grep bash\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51171
#, fuzzy
msgid "Lastly, to check which Bash running processes are using, you can use the @command{lsof} command:"
msgstr "最后,要检查正在运行的进程使用的是哪个 Bash,您可以使用 @command{lsof} 命令:"

#. type: example
#: guix-git/doc/guix.texi:51174
#, fuzzy, no-wrap
msgid "lsof | grep /gnu/store/.*bash\n"
msgstr "lsof | grep /gnu/store/.*bash\n"

#. type: cindex
#: guix-git/doc/guix.texi:51182
#, fuzzy, no-wrap
msgid "bootstrapping"
msgstr "引导"

#. type: Plain text
#: guix-git/doc/guix.texi:51189
#, fuzzy
msgid "Bootstrapping in our context refers to how the distribution gets built ``from nothing''.  Remember that the build environment of a derivation contains nothing but its declared inputs (@pxref{Introduction}).  So there's an obvious chicken-and-egg problem: how does the first package get built? How does the first compiler get compiled?"
msgstr "在我们的上下文中,引导指的是如何“从无”构建发行版。请记住,派生的构建环境只包含其声明的输入(@pxref{Introduction})。因此,显然存在一个鸡和蛋的问题:第一个包是如何构建的?第一个编译器是如何编译的?"

#. type: Plain text
#: guix-git/doc/guix.texi:51197
#, fuzzy
msgid "It is tempting to think of this question as one that only die-hard hackers may care about.  However, while the answer to that question is technical in nature, its implications are wide-ranging.  How the distribution is bootstrapped defines the extent to which we, as individuals and as a collective of users and hackers, can trust the software we run.  It is a central concern from the standpoint of @emph{security} and from a @emph{user freedom} viewpoint."
msgstr "人们可能会认为这个问题只有死忠黑客才会关心。然而,尽管这个问题的答案在技术上是性质的,但其影响是广泛的。发行版的引导方式定义了我们作为个人和用户及黑客集体可以信任我们运行的软件的程度。这是从 @emph{安全性} 和 @emph{用户自由} 角度来看一个核心问题。"

#. type: cindex
#: guix-git/doc/guix.texi:51198 guix-git/doc/guix.texi:51422
#, fuzzy, no-wrap
msgid "bootstrap binaries"
msgstr "引导二进制文件"

#. type: Plain text
#: guix-git/doc/guix.texi:51208
#, fuzzy
msgid "The GNU system is primarily made of C code, with libc at its core.  The GNU build system itself assumes the availability of a Bourne shell and command-line tools provided by GNU Coreutils, Awk, Findutils, `sed', and `grep'.  Furthermore, build programs---programs that run @code{./configure}, @code{make}, etc.---are written in Guile Scheme (@pxref{Derivations}).  Consequently, to be able to build anything at all, from scratch, Guix relies on pre-built binaries of Guile, GCC, Binutils, libc, and the other packages mentioned above---the @dfn{bootstrap binaries}."
msgstr "GNU 系统主要由 C 代码构成,以 libc 为核心。GNU 构建系统本身假设可用 Bourne shell 和 GNU Coreutils、Awk、Findutils、`sed' 和 `grep' 提供的命令行工具。此外,构建程序——运行 @code{./configure}、@code{make} 等的程序——是用 Guile Scheme 编写的 (@pxref{Derivations})。因此,为了能够从头开始构建任何东西,Guix 依赖于 Guile、GCC、Binutils、libc 以及上述其他软件包的预构建二进制文件——@dfn{引导二进制文件}。"

#. type: Plain text
#: guix-git/doc/guix.texi:51212
#, fuzzy
msgid "These bootstrap binaries are ``taken for granted'', though we can also re-create them if needed (@pxref{Preparing to Use the Bootstrap Binaries})."
msgstr "这些引导二进制文件是“理所当然”的,尽管我们也可以在需要时重新创建它们 (@pxref{Preparing to Use the Bootstrap Binaries})。"

#. type: section
#: guix-git/doc/guix.texi:51219
#, fuzzy, no-wrap
msgid "The Full-Source Bootstrap"
msgstr "完整源引导"

#. type: Plain text
#: guix-git/doc/guix.texi:51226
#, fuzzy
msgid "Guix---like other GNU/Linux distributions---is traditionally bootstrapped from a set of bootstrap binaries: Bourne shell, command-line tools provided by GNU Coreutils, Awk, Findutils, `sed', and `grep' and Guile, GCC, Binutils, and the GNU C Library (@pxref{Bootstrapping}).  Usually, these bootstrap binaries are ``taken for granted.''"
msgstr "Guix——像其他 GNU/Linux 发行版一样——传统上是从一组引导二进制文件引导的:Bourne shell、GNU Coreutils、Awk、Findutils、`sed' 和 `grep' 以及 Guile、GCC、Binutils 和 GNU C 库 (@pxref{Bootstrapping})。通常,这些引导二进制文件是“理所当然”的。"

#. type: Plain text
#: guix-git/doc/guix.texi:51232
#, fuzzy
msgid "Taking the bootstrap binaries for granted means that we consider them to be a correct and trustworthy ``seed'' for building the complete system.  Therein lies a problem: the combined size of these bootstrap binaries is about 250MB (@pxref{Bootstrappable Builds,,, mes, GNU Mes}).  Auditing or even inspecting these is next to impossible."
msgstr "将引导二进制文件视为理所当然意味着我们认为它们是构建完整系统的正确且可信的“种子”。其中存在一个问题:这些引导二进制文件的总大小约为 250MB (@pxref{Bootstrappable Builds,,, mes, GNU Mes})。审计或甚至检查这些几乎是不可能的。"

#. type: Plain text
#: guix-git/doc/guix.texi:51244
#, fuzzy
msgid "For @code{i686-linux} and @code{x86_64-linux}, Guix now features a @dfn{full-source bootstrap}.  This bootstrap is rooted in @file{hex0-seed} from the @url{https://savannah.gnu.org/projects/stage0, Stage0} package.  The hex0 program is minimalist assembler: it reads space-separated hexadecimal digits (nibbles) from a file, possibly including comments, and emits on standard output the bytes corresponding to those hexadecimal numbers.  The source code of this initial hex0 program is a file called @url{https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX/x86/hex0_x86.hex0,@file{hex0_x86.hex0}} and is written in the @code{hex0} language."
msgstr "对于 @code{i686-linux} 和 @code{x86_64-linux},Guix 现在具有 @dfn{完整源引导}。该引导源于 @file{hex0-seed},来自 @url{https://savannah.gnu.org/projects/stage0, Stage0} 包。hex0 程序是极简汇编器:它从文件中读取以空格分隔的十六进制数字(半字节),可能包括注释,并在标准输出上发出与这些十六进制数字对应的字节。这个初始 hex0 程序的源代码是一个名为 @url{https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX/x86/hex0_x86.hex0,@file{hex0_x86.hex0}} 的文件,使用 @code{hex0} 语言编写。"

#. type: Plain text
#: guix-git/doc/guix.texi:51246
#, fuzzy
msgid "Hex0 is self-hosting, which means that it can build itself:"
msgstr "Hex0 是自我托管的,这意味着它可以构建自己:"

#. type: example
#: guix-git/doc/guix.texi:51249
#, fuzzy, no-wrap
msgid "./hex0-seed hex0_x86.hex0 hex0\n"
msgstr "./hex0-seed hex0_x86.hex0 hex0\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51253
#, fuzzy
msgid "Hex0 it is the ASCII-equivalent of the binary program and can be produced by doing something much like:"
msgstr "Hex0 是二进制程序的 ASCII 等价物,可以通过类似以下方式生成:"

#. type: example
#: guix-git/doc/guix.texi:51257
#, fuzzy, no-wrap
msgid ""
"sed 's/[;#].*$//g' hex0_x86.hex0 | xxd -r -p > hex0\n"
"chmod +x hex0\n"
msgstr ""
"sed 's/[;#].*$//g' hex0_x86.hex0 | xxd -r -p > hex0\n"
"chmod +x hex0\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51261
#, fuzzy
msgid "It is because of this ASCII-binary equivalence that we can bless this initial 357-byte binary as source, and hence `full-source bootstrap''."
msgstr "正是由于这种 ASCII-二进制等价性,我们可以将这个初始的 357 字节二进制文件视为源,因此称之为“完整源引导”。"

#. type: Plain text
#: guix-git/doc/guix.texi:51268
#, fuzzy
msgid "The bootstrap then continues: @code{hex0} builds @code{hex1} and then on to @code{M0}, @code{hex2}, @code{M1}, @code{mescc-tools} and finally @code{M2-Planet}.  Then, using @code{mescc-tools}, @code{M2-Planet} we build Mes (@pxref{Top, GNU Mes Reference Manual,, mes, GNU Mes}, a Scheme interpreter and C compiler in Scheme).  From here on starts the more traditional @code{C}-based bootstrap of the GNU System."
msgstr "引导过程继续:@code{hex0} 构建 @code{hex1},然后是 @code{M0}、@code{hex2}、@code{M1}、@code{mescc-tools},最后是 @code{M2-Planet}。然后,使用 @code{mescc-tools} 和 @code{M2-Planet} 我们构建 Mes (@pxref{Top, GNU Mes Reference Manual,, mes, GNU Mes},一个 Scheme 解释器和 C 编译器)。从这里开始,GNU 系统的更传统的 @code{C} 基础引导开始了。"

#. type: Plain text
#: guix-git/doc/guix.texi:51275
#, fuzzy
msgid "Another step that Guix has taken is to replace the shell and all its utilities with implementations in Guile Scheme, the @emph{Scheme-only bootstrap}.  Gash (@pxref{Gash,,, gash, The Gash manual}) is a POSIX-compatible shell that replaces Bash, and it comes with Gash Utils which has minimalist replacements for Awk, the GNU Core Utilities, Grep, Gzip, Sed, and Tar."
msgstr "Guix 采取的另一个步骤是用 Guile Scheme 中的实现替换 shell 及其所有工具,称为 @emph{仅 Scheme 引导}。Gash (@pxref{Gash,,, gash, The Gash manual}) 是一个与 POSIX 兼容的 shell,替代了 Bash,并且它附带 Gash Utils,提供了 Awk、GNU 核心工具、Grep、Gzip、Sed 和 Tar 的简约替代品。"

#. type: Plain text
#: guix-git/doc/guix.texi:51285
#, fuzzy
msgid "Building the GNU System from source is currently only possible by adding some historical GNU packages as intermediate steps@footnote{Packages such as @code{gcc-2.95.3}, @code{binutils-2.14}, @code{glibc-2.2.5}, @code{gzip-1.2.4}, @code{tar-1.22}, and some others.  For details, see @file{gnu/packages/commencement.scm}.}.  As Gash and Gash Utils mature, and GNU packages become more bootstrappable again (e.g., new releases of GNU Sed will also ship as gzipped tarballs again, as alternative to the hard to bootstrap @code{xz}-compression), this set of added packages can hopefully be reduced again."
msgstr "从源代码构建 GNU 系统目前只能通过添加一些历史 GNU 包作为中间步骤来实现@footnote{例如 @code{gcc-2.95.3}、@code{binutils-2.14}、@code{glibc-2.2.5}、@code{gzip-1.2.4}、@code{tar-1.22} 以及其他一些包。有关详细信息,请参见 @file{gnu/packages/commencement.scm}。}。随着 Gash 和 Gash Utils 的成熟,以及 GNU 包再次变得更易引导(例如,新的 GNU Sed 版本将再次以 gzipped tarball 的形式发布,作为替代难以引导的 @code{xz} 压缩),希望可以减少这组附加包。"

#. type: Plain text
#: guix-git/doc/guix.texi:51289
#, fuzzy
msgid "The graph below shows the resulting dependency graph for @code{gcc-core-mesboot0}, the bootstrap compiler used for the traditional bootstrap of the rest of the Guix System."
msgstr "下图显示了 @code{gcc-core-mesboot0} 的依赖关系图,这是用于 Guix 系统其余部分传统引导的引导编译器。"

#. type: Plain text
#: guix-git/doc/guix.texi:51297
#, fuzzy
msgid "@image{images/gcc-core-mesboot0-graph,6in,,Dependency graph of gcc-core-mesboot0}"
msgstr "@image{images/gcc-core-mesboot0-graph,6in,,gcc-core-mesboot0 的依赖关系图}"

#. type: Plain text
#: guix-git/doc/guix.texi:51300
#, fuzzy
msgid "Work is ongoing to bring these bootstraps to the @code{arm-linux} and @code{aarch64-linux} architectures and to the Hurd."
msgstr "正在进行工作,以将这些引导程序引入到 @code{arm-linux} 和 @code{aarch64-linux} 架构以及 Hurd。"

#. type: Plain text
#: guix-git/doc/guix.texi:51304
#, fuzzy
msgid "If you are interested, join us on @samp{#bootstrappable} on the Libera.Chat IRC network or discuss on @email{bug-mes@@gnu.org} or @email{gash-devel@@nongnu.org}."
msgstr "如果您感兴趣,请加入我们在 Libera.Chat IRC 网络上的 @samp{#bootstrappable},或在 @email{bug-mes@@gnu.org} 或 @email{gash-devel@@nongnu.org} 上讨论。"

#. type: Plain text
#: guix-git/doc/guix.texi:51311
#, fuzzy
msgid "@image{images/bootstrap-graph,6in,,Dependency graph of the early bootstrap derivations}"
msgstr "@image{images/bootstrap-graph,6in,,早期引导派生的依赖图}"

#. type: Plain text
#: guix-git/doc/guix.texi:51316
#, fuzzy
msgid "The figure above shows the very beginning of the dependency graph of the distribution, corresponding to the package definitions of the @code{(gnu packages bootstrap)} module.  A similar figure can be generated with @command{guix graph} (@pxref{Invoking guix graph}), along the lines of:"
msgstr "上面的图显示了分发的依赖图的最开始部分,对应于 @code{(gnu packages bootstrap)} 模块的包定义。可以使用 @command{guix graph} (@pxref{Invoking guix graph}) 生成类似的图,方式如下:"

#. type: example
#: guix-git/doc/guix.texi:51321
#, fuzzy, no-wrap
msgid ""
"guix graph -t derivation \\\n"
"  -e '(@@@@ (gnu packages bootstrap) %bootstrap-gcc)' \\\n"
"  | dot -Tps > gcc.ps\n"
msgstr ""
"guix graph -t derivation \\\n"
"  -e '(@@@@ (gnu packages bootstrap) %bootstrap-gcc)' \\\n"
"  | dot -Tps > gcc.ps\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51324
#, fuzzy
msgid "or, for the further Reduced Binary Seed bootstrap"
msgstr "或者,对于进一步减少的二进制种子引导"

#. type: example
#: guix-git/doc/guix.texi:51329
#, fuzzy, no-wrap
msgid ""
"guix graph -t derivation \\\n"
"  -e '(@@@@ (gnu packages bootstrap) %bootstrap-mes)' \\\n"
"  | dot -Tps > mes.ps\n"
msgstr ""
"guix graph -t derivation \\\n"
"  -e '(@@@@ (gnu packages bootstrap) %bootstrap-mes)' \\\n"
"  | dot -Tps > mes.ps\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51338
#, fuzzy
msgid "At this level of detail, things are slightly complex.  First, Guile itself consists of an ELF executable, along with many source and compiled Scheme files that are dynamically loaded when it runs.  This gets stored in the @file{guile-2.0.7.tar.xz} tarball shown in this graph.  This tarball is part of Guix's ``source'' distribution, and gets inserted into the store with @code{add-to-store} (@pxref{The Store})."
msgstr "在这个细节层面上,事情稍微复杂。首先,Guile 本身由一个 ELF 可执行文件组成,以及许多在运行时动态加载的源代码和编译的 Scheme 文件。这些内容存储在图中显示的 @file{guile-2.0.7.tar.xz} 压缩包中。这个压缩包是 Guix 的“源”分发的一部分,并通过 @code{add-to-store} (@pxref{The Store}) 插入到存储中。"

#. type: Plain text
#: guix-git/doc/guix.texi:51347
#, fuzzy
msgid "But how do we write a derivation that unpacks this tarball and adds it to the store? To solve this problem, the @code{guile-bootstrap-2.0.drv} derivation---the first one that gets built---uses @code{bash} as its builder, which runs @code{build-bootstrap-guile.sh}, which in turn calls @code{tar} to unpack the tarball.  Thus, @file{bash}, @file{tar}, @file{xz}, and @file{mkdir} are statically-linked binaries, also part of the Guix source distribution, whose sole purpose is to allow the Guile tarball to be unpacked."
msgstr "但是我们如何编写一个解压这个压缩包并将其添加到存储的派生?为了解决这个问题,@code{guile-bootstrap-2.0.drv} 派生——第一个构建的派生——使用 @code{bash} 作为其构建器,运行 @code{build-bootstrap-guile.sh},而后者又调用 @code{tar} 来解压压缩包。因此,@file{bash}、@file{tar}、@file{xz} 和 @file{mkdir} 是静态链接的二进制文件,也是 Guix 源分发的一部分,其唯一目的是允许解压 Guile 压缩包。"

#. type: Plain text
#: guix-git/doc/guix.texi:51359
#, fuzzy
msgid "Once @code{guile-bootstrap-2.0.drv} is built, we have a functioning Guile that can be used to run subsequent build programs.  Its first task is to download tarballs containing the other pre-built binaries---this is what the @file{.tar.xz.drv} derivations do.  Guix modules such as @code{ftp-client.scm} are used for this purpose.  The @code{module-import.drv} derivations import those modules in a directory in the store, using the original layout.  The @code{module-import-compiled.drv} derivations compile those modules, and write them in an output directory with the right layout.  This corresponds to the @code{#:modules} argument of @code{build-expression->derivation} (@pxref{Derivations})."
msgstr "一旦 @code{guile-bootstrap-2.0.drv} 被构建,我们就有了一个可以用来运行后续构建程序的功能性 Guile。它的第一个任务是下载包含其他预构建二进制文件的压缩包——这就是 @file{.tar.xz.drv} 派生所做的。Guix 模块如 @code{ftp-client.scm} 被用于此目的。@code{module-import.drv} 派生将这些模块导入到存储中的一个目录中,使用原始布局。@code{module-import-compiled.drv} 派生编译这些模块,并将它们写入具有正确布局的输出目录。这对应于 @code{#:modules} 参数的 @code{build-expression->derivation} (@pxref{Derivations})。"

#. type: Plain text
#: guix-git/doc/guix.texi:51364
#, fuzzy
msgid "Finally, the various tarballs are unpacked by the derivations @code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, or @code{bootstrap-mes-0.drv} and @code{bootstrap-mescc-tools-0.drv}, at which point we have a working C tool chain."
msgstr "最后,各种 tarball 由派生 @code{gcc-bootstrap-0.drv}、@code{glibc-bootstrap-0.drv} 或 @code{bootstrap-mes-0.drv} 和 @code{bootstrap-mescc-tools-0.drv} 解压,此时我们拥有一个可用的 C 工具链。"

#. type: unnumberedsec
#: guix-git/doc/guix.texi:51365
#, fuzzy, no-wrap
msgid "Building the Build Tools"
msgstr "构建构建工具"

#. type: Plain text
#: guix-git/doc/guix.texi:51374
#, fuzzy
msgid "Bootstrapping is complete when we have a full tool chain that does not depend on the pre-built bootstrap tools discussed above.  This no-dependency requirement is verified by checking whether the files of the final tool chain contain references to the @file{/gnu/store} directories of the bootstrap inputs.  The process that leads to this ``final'' tool chain is described by the package definitions found in the @code{(gnu packages commencement)} module."
msgstr "当我们拥有一个完整的工具链,而不依赖于上述讨论的预构建引导工具时,引导过程就完成了。这个无依赖要求通过检查最终工具链的文件是否包含对引导输入的 @file{/gnu/store} 目录的引用来验证。导致这个“最终”工具链的过程由 @code{(gnu packages commencement)} 模块中的包定义描述。"

#. type: Plain text
#: guix-git/doc/guix.texi:51381
#, fuzzy
msgid "The @command{guix graph} command allows us to ``zoom out'' compared to the graph above, by looking at the level of package objects instead of individual derivations---remember that a package may translate to several derivations, typically one derivation to download its source, one to build the Guile modules it needs, and one to actually build the package from source.  The command:"
msgstr "@command{guix graph} 命令允许我们与上面的图形“缩小”,通过查看包对象的级别而不是单个派生——请记住,一个包可能对应多个派生,通常一个派生用于下载其源代码,一个用于构建所需的 Guile 模块,一个用于实际从源代码构建包。命令:"

#. type: example
#: guix-git/doc/guix.texi:51386
#, fuzzy, no-wrap
msgid ""
"guix graph -t bag \\\n"
"  -e '(@@@@ (gnu packages commencement)\n"
"          glibc-final-with-bootstrap-bash)' | xdot -\n"
msgstr ""
"guix graph -t bag \\\n"
"  -e '(@@@@ (gnu packages commencement)\n"
"          glibc-final-with-bootstrap-bash)' | xdot -\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51393
#, fuzzy
msgid "displays the dependency graph leading to the ``final'' C library@footnote{You may notice the @code{glibc-intermediate} label, suggesting that it is not @emph{quite} final, but as a good approximation, we will consider it final.}, depicted below."
msgstr "显示导致“最终” C 库的依赖图@footnote{您可能会注意到 @code{glibc-intermediate} 标签,表明它并不是 @emph{完全} 最终的,但作为一个良好的近似,我们将其视为最终。},如下所示。"

#. type: Plain text
#: guix-git/doc/guix.texi:51395
#, fuzzy
msgid "@image{images/bootstrap-packages,6in,,Dependency graph of the early packages}"
msgstr "@image{images/bootstrap-packages,6in,,早期包的依赖图}"

#. type: Plain text
#: guix-git/doc/guix.texi:51401
#, fuzzy
msgid "The first tool that gets built with the bootstrap binaries is GNU@tie{}Make---noted @code{make-boot0} above---which is a prerequisite for all the following packages.  From there Findutils and Diffutils get built."
msgstr "第一个使用引导二进制文件构建的工具是 GNU@tie{}Make——上面提到的 @code{make-boot0}——这是所有后续包的先决条件。从这里开始,构建 Findutils 和 Diffutils。"

#. type: Plain text
#: guix-git/doc/guix.texi:51406
#, fuzzy
msgid "Then come the first-stage Binutils and GCC, built as pseudo cross tools---i.e., with @option{--target} equal to @option{--host}.  They are used to build libc.  Thanks to this cross-build trick, this libc is guaranteed not to hold any reference to the initial tool chain."
msgstr "然后是第一阶段的 Binutils 和 GCC,作为伪交叉工具构建——即,@option{--target} 等于 @option{--host}。它们用于构建 libc。得益于这种交叉构建技巧,这个 libc 被保证不持有对初始工具链的任何引用。"

#. type: Plain text
#: guix-git/doc/guix.texi:51412
#, fuzzy
msgid "From there the final Binutils and GCC (not shown above) are built.  GCC uses @command{ld} from the final Binutils, and links programs against the just-built libc.  This tool chain is used to build the other packages used by Guix and by the GNU Build System: Guile, Bash, Coreutils, etc."
msgstr "从那里构建最终的 Binutils 和 GCC(上面未显示)。GCC 使用来自最终 Binutils 的 @command{ld},并将程序链接到刚构建的 libc。这个工具链用于构建 Guix 和 GNU 构建系统使用的其他软件包:Guile、Bash、Coreutils 等。"

#. type: Plain text
#: guix-git/doc/guix.texi:51418
#, fuzzy
msgid "And voilà! At this point we have the complete set of build tools that the GNU Build System expects.  These are in the @code{%final-inputs} variable of the @code{(gnu packages commencement)} module, and are implicitly used by any package that uses @code{gnu-build-system} (@pxref{Build Systems, @code{gnu-build-system}})."
msgstr "瞧!此时我们拥有 GNU 构建系统所期望的完整构建工具集。这些工具在 @code{%final-inputs} 变量中,属于 @code{(gnu packages commencement)} 模块,并被任何使用 @code{gnu-build-system} 的软件包隐式使用(@pxref{Build Systems, @code{gnu-build-system}})。"

#. type: unnumberedsec
#: guix-git/doc/guix.texi:51420
#, fuzzy, no-wrap
msgid "Building the Bootstrap Binaries"
msgstr "构建引导二进制文件"

#. type: Plain text
#: guix-git/doc/guix.texi:51427
#, fuzzy
msgid "Because the final tool chain does not depend on the bootstrap binaries, those rarely need to be updated.  Nevertheless, it is useful to have an automated way to produce them, should an update occur, and this is what the @code{(gnu packages make-bootstrap)} module provides."
msgstr "因为最终工具链不依赖于引导二进制文件,所以这些文件很少需要更新。然而,拥有一种自动化的方式来生成它们是有用的,以防发生更新,这就是 @code{(gnu packages make-bootstrap)} 模块所提供的。"

#. type: Plain text
#: guix-git/doc/guix.texi:51433
#, fuzzy
msgid "The following command builds the tarballs containing the bootstrap binaries (Binutils, GCC, glibc, for the traditional bootstrap and linux-libre-headers, bootstrap-mescc-tools, bootstrap-mes for the Reduced Binary Seed bootstrap, and Guile, and a tarball containing a mixture of Coreutils and other basic command-line tools):"
msgstr "以下命令构建包含引导二进制文件的 tarball(Binutils、GCC、glibc,用于传统引导,以及 linux-libre-headers、bootstrap-mescc-tools、bootstrap-mes 用于减少二进制种子引导,还有 Guile,以及一个包含 Coreutils 和其他基本命令行工具混合的 tarball):"

#. type: example
#: guix-git/doc/guix.texi:51436
#, fuzzy, no-wrap
msgid "guix build bootstrap-tarballs\n"
msgstr "guix build bootstrap-tarballs\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51441
#, fuzzy
msgid "The generated tarballs are those that should be referred to in the @code{(gnu packages bootstrap)} module mentioned at the beginning of this section."
msgstr "生成的 tarball 是应该在本节开头提到的 @code{(gnu packages bootstrap)} 模块中引用的。"

#. type: Plain text
#: guix-git/doc/guix.texi:51447
#, fuzzy
msgid "Still here? Then perhaps by now you've started to wonder: when do we reach a fixed point? That is an interesting question! The answer is unknown, but if you would like to investigate further (and have significant computational and storage resources to do so), then let us know."
msgstr "还在这里吗?那么也许到现在你已经开始想:我们何时能达到一个固定点?这是一个有趣的问题!答案未知,但如果你想进一步调查(并且有足够的计算和存储资源来做到这一点),请告诉我们。"

#. type: unnumberedsec
#: guix-git/doc/guix.texi:51448
#, fuzzy, no-wrap
msgid "Reducing the Set of Bootstrap Binaries"
msgstr "减少引导二进制文件的集合"

#. type: Plain text
#: guix-git/doc/guix.texi:51456
#, fuzzy
msgid "Our traditional bootstrap includes GCC, GNU Libc, Guile, etc.  That's a lot of binary code! Why is that a problem? It's a problem because these big chunks of binary code are practically non-auditable, which makes it hard to establish what source code produced them.  Every unauditable binary also leaves us vulnerable to compiler backdoors as described by Ken Thompson in the 1984 paper @emph{Reflections on Trusting Trust}."
msgstr "我们的传统引导包括 GCC、GNU Libc、Guile 等。这是一大堆二进制代码!这有什么问题?这是一个问题,因为这些大块的二进制代码几乎无法审计,这使得很难确定是什么源代码生成了它们。每个无法审计的二进制文件也使我们容易受到 Ken Thompson 在 1984 年论文 @emph{Reflections on Trusting Trust} 中描述的编译器后门的攻击。"

#. type: Plain text
#: guix-git/doc/guix.texi:51462
#, fuzzy
msgid "This is mitigated by the fact that our bootstrap binaries were generated from an earlier Guix revision.  Nevertheless it lacks the level of transparency that we get in the rest of the package dependency graph, where Guix always gives us a source-to-binary mapping.  Thus, our goal is to reduce the set of bootstrap binaries to the bare minimum."
msgstr "这通过我们的引导二进制文件是从早期的 Guix 修订版生成的这一事实得到了缓解。然而,它缺乏我们在其余软件包依赖图中获得的透明度,在那里 Guix 总是为我们提供源到二进制的映射。因此,我们的目标是将引导二进制文件的集合减少到最低限度。"

#. type: Plain text
#: guix-git/doc/guix.texi:51468
#, fuzzy
msgid "The @uref{https://bootstrappable.org, Bootstrappable.org web site} lists on-going projects to do that.  One of these is about replacing the bootstrap GCC with a sequence of assemblers, interpreters, and compilers of increasing complexity, which could be built from source starting from a simple and auditable assembler."
msgstr "@uref{https://bootstrappable.org, Bootstrappable.org 网站} 列出了正在进行的项目来实现这一目标。其中一个项目是用一系列逐渐复杂的汇编器、解释器和编译器替换引导 GCC,这些工具可以从简单且可审计的汇编器的源代码构建。"

#. type: Plain text
#: guix-git/doc/guix.texi:51477
#, fuzzy
msgid "Our first major achievement is the replacement of GCC, the GNU C Library and Binutils by MesCC-Tools (a simple hex linker and macro assembler) and Mes (@pxref{Top, GNU Mes Reference Manual,, mes, GNU Mes}, a Scheme interpreter and C compiler in Scheme).  Neither MesCC-Tools nor Mes can be fully bootstrapped yet and thus we inject them as binary seeds.  We call this the Reduced Binary Seed bootstrap, as it has halved the size of our bootstrap binaries! Also, it has eliminated the C compiler binary; i686-linux and x86_64-linux Guix packages are now bootstrapped without any binary C compiler."
msgstr "我们第一个重大成就是用 MesCC-Tools(一个简单的十六进制链接器和宏汇编器)和 Mes(@pxref{Top, GNU Mes 参考手册,, mes, GNU Mes}, 一个 Scheme 解释器和用 Scheme 编写的 C 编译器)替换了 GCC、GNU C 库和 Binutils。MesCC-Tools 和 Mes 目前都无法完全引导,因此我们将它们作为二进制种子注入。我们称之为减少的二进制种子引导,因为它将我们的引导二进制文件的大小减半!此外,它还消除了 C 编译器的二进制文件;i686-linux 和 x86_64-linux Guix 包现在在没有任何二进制 C 编译器的情况下引导。"

#. type: Plain text
#: guix-git/doc/guix.texi:51480
#, fuzzy
msgid "Work is ongoing to make MesCC-Tools and Mes fully bootstrappable and we are also looking at any other bootstrap binaries.  Your help is welcome!"
msgstr "工作正在进行,以使 MesCC-Tools 和 Mes 完全可引导,我们也在查看其他任何引导二进制文件。欢迎您的帮助!"

#. type: chapter
#: guix-git/doc/guix.texi:51482
#, fuzzy, no-wrap
msgid "Porting to a New Platform"
msgstr "移植到新平台"

#. type: Plain text
#: guix-git/doc/guix.texi:51491
#, fuzzy
msgid "As discussed above, the GNU distribution is self-contained, and self-containment is achieved by relying on pre-built ``bootstrap binaries'' (@pxref{Bootstrapping}).  These binaries are specific to an operating system kernel, CPU architecture, and application binary interface (ABI).  Thus, to port the distribution to a platform that is not yet supported, one must build those bootstrap binaries, and update the @code{(gnu packages bootstrap)} module to use them on that platform."
msgstr "如上所述,GNU 发行版是自包含的,自包含是通过依赖于预构建的“引导二进制文件”(@pxref{Bootstrapping}) 来实现的。这些二进制文件特定于操作系统内核、CPU 架构和应用程序二进制接口(ABI)。因此,要将发行版移植到尚不支持的平台,必须构建这些引导二进制文件,并更新 @code{(gnu packages bootstrap)} 模块以在该平台上使用它们。"

#. type: Plain text
#: guix-git/doc/guix.texi:51496
#, fuzzy
msgid "Fortunately, Guix can @emph{cross compile} those bootstrap binaries.  When everything goes well, and assuming the GNU tool chain supports the target platform, this can be as simple as running a command like this one:"
msgstr "幸运的是,Guix 可以 @emph{交叉编译} 这些引导二进制文件。当一切顺利,并且假设 GNU 工具链支持目标平台时,这可以像运行这样的命令一样简单:"

#. type: example
#: guix-git/doc/guix.texi:51499
#, fuzzy, no-wrap
msgid "guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs\n"
msgstr "guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs\n"

#. type: Plain text
#: guix-git/doc/guix.texi:51508
#, fuzzy
msgid "For this to work, it is first required to register a new platform as defined in the @code{(guix platform)} module.  A platform is making the connection between a GNU triplet (@pxref{Specifying Target Triplets, GNU configuration triplets,, autoconf, Autoconf}), the equivalent @var{system} in Nix notation, the name of the @var{glibc-dynamic-linker}, and the corresponding Linux architecture name if applicable (@pxref{Platforms})."
msgstr "要使这项工作正常进行,首先需要根据@code{(guix platform)}模块的定义注册一个新平台。平台是将GNU三元组(@pxref{Specifying Target Triplets, GNU configuration triplets,, autoconf, Autoconf})、Nix表示法中的等效@var{system}、@var{glibc-dynamic-linker}的名称以及相应的Linux架构名称(如适用)联系起来的。"

#. type: Plain text
#: guix-git/doc/guix.texi:51517
#, fuzzy
msgid "Once the bootstrap tarball are built, the @code{(gnu packages bootstrap)} module needs to be updated to refer to these binaries on the target platform.  That is, the hashes and URLs of the bootstrap tarballs for the new platform must be added alongside those of the currently supported platforms.  The bootstrap Guile tarball is treated specially: it is expected to be available locally, and @file{gnu/local.mk} has rules to download it for the supported architectures; a rule for the new platform must be added as well."
msgstr "一旦引导tarball构建完成,@code{(gnu packages bootstrap)}模块需要更新以引用目标平台上的这些二进制文件。也就是说,新的平台的引导tarball的哈希和URL必须与当前支持的平台的哈希和URL一起添加。引导Guile tarball被特别处理:预计它在本地可用,@file{gnu/local.mk}有规则来下载支持的架构;新平台的规则也必须添加。"

#. type: Plain text
#: guix-git/doc/guix.texi:51526
#, fuzzy
msgid "In practice, there may be some complications.  First, it may be that the extended GNU triplet that specifies an ABI (like the @code{eabi} suffix above) is not recognized by all the GNU tools.  Typically, glibc recognizes some of these, whereas GCC uses an extra @option{--with-abi} configure flag (see @code{gcc.scm} for examples of how to handle this).  Second, some of the required packages could fail to build for that platform.  Lastly, the generated binaries could be broken for some reason."
msgstr "在实践中,可能会有一些复杂情况。首先,指定ABI的扩展GNU三元组(如上面的@code{eabi}后缀)可能并不是所有GNU工具都能识别的。通常,glibc识别其中的一些,而GCC使用额外的@option{--with-abi}配置标志(请参见@code{gcc.scm}以获取如何处理此问题的示例)。其次,某些所需的软件包可能无法为该平台构建。最后,生成的二进制文件可能由于某种原因而损坏。"

#. type: include
#: guix-git/doc/guix.texi:51528
#, no-wrap
msgid "contributing.texi"
msgstr "contributing.zh_CN.texi"

#. type: Plain text
#: guix-git/doc/guix.texi:51541
#, fuzzy
msgid "Guix is based on the @uref{https://nixos.org/nix/, Nix package manager}, which was designed and implemented by Eelco Dolstra, with contributions from other people (see the @file{nix/AUTHORS} file in Guix).  Nix pioneered functional package management, and promoted unprecedented features, such as transactional package upgrades and rollbacks, per-user profiles, and referentially transparent build processes.  Without this work, Guix would not exist."
msgstr "Guix 建立在由Eelco Dolstra设计且实用的@uref{https://nixos.org/nix/, Nix package manager}上,也离不开其他人的贡献(see the @file{nix/AUTHORS} file in Guix)。Nix作为开创的实用的包管理器,推广了前所未有的功能,比如 transactional package upgrades and rollbacks,配置文件用户上的独立化,和referentially transparent build processes。没有它就没有没有Guix。"

#. type: Plain text
#: guix-git/doc/guix.texi:51544
msgid "The Nix-based software distributions, Nixpkgs and NixOS, have also been an inspiration for Guix."
msgstr "基于 Nix 的软件发行版 Nixpkgs 和 NixOS 也给 Guix 带来了灵感。"

#. type: Plain text
#: guix-git/doc/guix.texi:51550
msgid "GNU@tie{}Guix itself is a collective work with contributions from a number of people.  See the @file{AUTHORS} file in Guix for more information on these fine people.  The @file{THANKS} file lists people who have helped by reporting bugs, taking care of the infrastructure, providing artwork and themes, making suggestions, and more---thank you!"
msgstr "GNU@tie{}Guix 是一个许多人参与贡献的集体项目。在 Guix 的 @file{AUTHORS} 中能更多地了解这些大好人。@file{THANKS} 中列出了乐于助人者们:报告程序错误、维护基建、艺术创作,提出建议等等——谢谢你们!"

#. type: cindex
#: guix-git/doc/guix.texi:51555
#, no-wrap
msgid "license, GNU Free Documentation License"
msgstr "许可证,GNU Free Documentation License"

#. type: include
#: guix-git/doc/guix.texi:51556
#, no-wrap
msgid "fdl-1.3.texi"
msgstr "fdl-1.3.texi"

#, fuzzy, no-wrap
#~ msgid "logging, syslog"
#~ msgstr "日志记录"

#, fuzzy
#~ msgid "shepherd-system-log"
#~ msgstr "操作系统参考"

#, fuzzy
#~ msgid "This service is part of @code{%base-services} (@pxref{Base Services})."
#~ msgstr "此服务是 @code{%desktop-services}(@pxref{Desktop Services})的一部分。"

#, fuzzy
#~ msgid "The package with @command{/bin/agreety} command."
#~ msgstr "软件包管理命令。"

#, fuzzy, no-wrap
#~ msgid "{Data Type} greetd-wlgreet-session"
#~ msgstr "{数据类型} build-machine"

#, fuzzy
#~ msgid "The package with the @command{/bin/wlgreet} command."
#~ msgstr "软件包管理命令。"

#, fuzzy, no-wrap
#~ msgid "@code{command} (default: @code{(file-append sway \"/bin/sway\")})"
#~ msgstr "@code{includes}(默认值:@code{'()})"

#, fuzzy, no-wrap
#~ msgid "@code{command-args} (default: @code{'()})"
#~ msgstr "@code{includes}(默认值:@code{'()})"

#~ msgid "The following is an example @code{dicod-service-type} configuration."
#~ msgstr "以下是一个 @code{dicod-service-type} 配置示例。"

#~ msgid "The rottlog service."
#~ msgstr "rottlog服务。"

#~ msgid "Make sure the package builds on your platform, using @command{guix build @var{package}}."
#~ msgstr "用@command{guix build @var{软件包}}命令确保这个软件包可以在你的平台上构建。"

#, fuzzy, no-wrap
#~ msgid "@code{postgresql} (default: @code{postgresql})"
#~ msgstr "@code{port}(默认值:@code{22})"

#, fuzzy, no-wrap
#~ msgid "@code{addr} (default: @code{'(\"0.0.0.0:1965\" \"[::]:1965\")})"
#~ msgstr "@code{display}(默认值:@code{\":0\"})"

#, fuzzy, no-wrap
#~| msgid "Setuid Programs"
#~ msgid "%setuid-programs"
#~ msgstr "setuid程序"

#, fuzzy, no-wrap
#~| msgid ""
#~| "(use-modules (gnu packages base))\n"
#~| "\n"
#~ msgid ""
#~ "(use-modules (guix channels))\n"
#~ "\n"
#~ msgstr ""
#~ "(use-modules (gnu packages base))\n"
#~ "\n"

#, fuzzy, no-wrap
#~ msgid "@code{cert} (default: @code{#f})"
#~ msgstr "@code{port}(默认值:@code{22})"

#, no-wrap
#~ msgid "make authenticate\n"
#~ msgstr "make authenticate\n"

#, fuzzy, no-wrap
#~ msgid "@code{package} (default: @code{radicale})"
#~ msgstr "@code{mate}(默认值:@code{mate})"

#, fuzzy, no-wrap
#~ msgid "@code{config-file} (default: @code{%default-radicale-config-file})"
#~ msgstr "@code{gnome}(默认值:@code{gnome})"

#, fuzzy
#~| msgid "Submitting Patches"
#~ msgid "and send patches"
#~ msgstr "提交补丁"

#, no-wrap
#~ msgid "./configure --localstatedir=/var --sysconfdir=/etc\n"
#~ msgstr "./configure --localstatedir=/var --sysconfdir=/etc\n"

#, fuzzy
#~ msgid "When configuring Guix on a system that already has a Guix installation, be sure to specify the same state directory as the existing installation using the @option{--localstatedir} option of the @command{configure} script (@pxref{Directory Variables, @code{localstatedir},, standards, GNU Coding Standards}).  Usually, this @var{localstatedir} option is set to the value @file{/var}.  The @command{configure} script protects against unintended misconfiguration of @var{localstatedir} so you do not inadvertently corrupt your store (@pxref{The Store}).  The configuration directory should also be configured by setting the @option{--sysconfdir} option to the @file{/etc} value, which is the location used by Guix to store for example the access control list of authorized machines and the definition of offload machines."
#~ msgstr "当在一个已经安装Guix的系统上配置Guix时,请确保用@command{configure}的@code{--localstatedir}参数指定和现有的安装相同的状态文件夹(@pxref{Directory Variables, @code{localstatedir},, standards, GNU Coding Standards})。@command{configure}保护你免于误设置@var{localstatedir},从而不会无意中损坏仓库(@pxref{The Store})。"

#~ msgid "The first run takes a couple of minutes, but subsequent runs are faster."
#~ msgstr "第一次运行会花费几分钟,不过再次运行就会快的多。"

#, no-wrap
#~ msgid "make authenticate GUIX_GIT_KEYRING=myremote/keyring\n"
#~ msgstr "make authenticate GUIX_GIT_KEYRING=myremote/keyring\n"

#~ msgid "You are advised to run @command{make authenticate} after every @command{git pull} invocation.  This ensures you keep receiving valid changes to the repository."
#~ msgstr "建议你在每次调用 @command{git pull} 后运行 @command{make authenticate} 。这将确保你持续接收合法的变动到仓库。"

#, no-wrap
#~ msgid "@code{gnome} (default: @code{gnome})"
#~ msgstr "@code{gnome}(默认值:@code{gnome})"

#~ msgid "We recommend the use of this @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, shell installer script} to install Guix on top of a running GNU/Linux system, thereafter called a @dfn{foreign distro}.@footnote{This section is concerned with the installation of the package manager, which can be done on top of a running GNU/Linux system.  If, instead, you want to install the complete GNU operating system, @pxref{System Installation}.} The script automates the download, installation, and initial configuration of Guix.  It should be run as the root user."
#~ msgstr "我们推荐使用@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, shell安装脚本}在已有的GNU/Linux系统(即@dfn{foreign distro})上安装Guix。@footnote{这个小节是关于安装包管理器的,可以在GNU/Linux系统上完成。如果你想安装完整的GNU操作系统,@pxref{System Installation}。}这个脚本自动下载、安装并且初始化Guix,它需要以root用户身份运行。"

#~ msgid "If you prefer to perform the installation steps manually or want to tweak them, you may find the following subsections useful.  They describe the software requirements of Guix, as well as how to install it manually and get ready to use it."
#~ msgstr "如果你希望手动执行安装步骤,或者想改变安装步骤,接下来这些小节会很有用。它们介绍Guix的软件依赖,以及如何手动安装和使用Guix。"

#~ msgid "We recommend the use of this @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, shell installer script}.  The script automates the download, installation, and initial configuration steps described below.  It should be run as the root user.  As root, you can thus run this:"
#~ msgstr "我们推荐使用这个@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, shell安装脚本}。这个脚本自动执行下述的下载、安装并且初始化Guix的过程。它需要以root用户身份运行。作为root用户,因此你可以运行这个:"

#~ msgid "Installing goes along these lines:"
#~ msgstr "安装步骤如下:"

#, no-wrap
#~ msgid "downloading Guix binary"
#~ msgstr "下载Guix二进制文件"

#, fuzzy
#~ msgid "Download the binary tarball from @indicateurl{@value{BASE-URL}/guix-binary-@value{VERSION}.x86_64-linux.tar.xz}, where @code{x86_64-linux} can be replaced with @code{i686-linux} for an @code{i686} (32-bits) machine already running the kernel Linux, and so on (@pxref{GNU Distribution})."
#~ msgstr "从@indicateurl{@value{BASE-URL}/guix-binary-@value{VERSION}.@var{系统}.tar.xz}下载二进制安装包,对于运行Linux内核的@code{x86_64}机器来说@var{系统}是@code{x86_64-linux},以此类推。"

#~ msgid "Make sure to download the associated @file{.sig} file and to verify the authenticity of the tarball against it, along these lines:"
#~ msgstr "请确保下载相关的@file{.sig}文件,并且用它验证文件包的可靠性,方法如下:"

#, fuzzy, no-wrap
#~ msgid ""
#~ "$ wget @value{BASE-URL}/guix-binary-@value{VERSION}.x86_64-linux.tar.xz.sig\n"
#~ "$ gpg --verify guix-binary-@value{VERSION}.x86_64-linux.tar.xz.sig\n"
#~ msgstr ""
#~ "$ wget @value{BASE-URL}/guix-binary-@value{VERSION}.@var{系统}.tar.xz.sig\n"
#~ "$ gpg --verify guix-binary-@value{VERSION}.@var{系统}.tar.xz.sig\n"

#~ msgid "Now, you need to become the @code{root} user.  Depending on your distribution, you may have to run @code{su -} or @code{sudo -i}.  As @code{root}, run:"
#~ msgstr "现在你需要成为@code{root}用户。基于你的发行版,你可能需要执行@code{su -}或@code{sudo -i}。以@code{root}用户身份,执行:"

#, fuzzy, no-wrap
#~ msgid ""
#~ "# cd /tmp\n"
#~ "# tar --warning=no-timestamp -xf \\\n"
#~ "     /path/to/guix-binary-@value{VERSION}.x86_64-linux.tar.xz\n"
#~ "# mv var/guix /var/ && mv gnu /\n"
#~ msgstr ""
#~ "# cd /tmp\n"
#~ "# tar --warning=no-timestamp -xf \\\n"
#~ "     guix-binary-@value{VERSION}.@var{系统}.tar.xz\n"
#~ "# mv var/guix /var/ && mv gnu /\n"

#, fuzzy
#~ msgid "This creates @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}.  The latter contains a ready-to-use profile for @code{root} (see next step)."
#~ msgstr "这会创建@file{/gnu/store}(@pxref{The Store})和@file{/var/guix}。后一个文件夹为@code{root}用户提供了一个立即可用的profile(见下一步)。"

#~ msgid "Do @emph{not} unpack the tarball on a working Guix system since that would overwrite its own essential files."
#~ msgstr "@emph{不要}在一个正常的Guix系统上解压这个文件包,因为那会把现有的重要的文件覆盖。"

#, fuzzy
#~ msgid "The @option{--warning=no-timestamp} option makes sure GNU@tie{}tar does not emit warnings about ``implausibly old time stamps'' (such warnings were triggered by GNU@tie{}tar 1.26 and older; recent versions are fine).  They stem from the fact that all the files in the archive have their modification time set to 1 (which means January 1st, 1970).  This is done on purpose to make sure the archive content is independent of its creation time, thus making it reproducible."
#~ msgstr "@code{--warning=no-timestamp}选项使GNU@tie{}tar不输出有关“implausibly old time stamps”的警告(这类警告会被GNU@tie{}tar 1.26或更老的版本触发;新的版本没事)。这类警告是因为文件包里的所有文件的修改时间戳都被设置为0(即1970年1月1日)。这是故意的,为了确保文件包的内容独立于创建的时间,从而使它可再现。"

#~ msgid "Make the profile available under @file{~root/.config/guix/current}, which is where @command{guix pull} will install updates (@pxref{Invoking guix pull}):"
#~ msgstr "使profile出现在@file{~root/.config/guix/current},这是@command{guix pull}安装更新的位置(@pxref{Invoking guix pull}):"

#, no-wrap
#~ msgid ""
#~ "# mkdir -p ~root/.config/guix\n"
#~ "# ln -sf /var/guix/profiles/per-user/root/current-guix \\\n"
#~ "         ~root/.config/guix/current\n"
#~ msgstr ""
#~ "# mkdir -p ~root/.config/guix\n"
#~ "# ln -sf /var/guix/profiles/per-user/root/current-guix \\\n"
#~ "         ~root/.config/guix/current\n"

#, fuzzy
#~ msgid "Source @file{etc/profile} to augment @env{PATH} and other relevant environment variables:"
#~ msgstr "执行@file{etc/profile}以更新@code{PATH}和其它相关的环境变量:"

#, no-wrap
#~ msgid ""
#~ "# GUIX_PROFILE=\"`echo ~root`/.config/guix/current\" ; \\\n"
#~ "  source $GUIX_PROFILE/etc/profile\n"
#~ msgstr ""
#~ "# GUIX_PROFILE=\"`echo ~root`/.config/guix/current\" ; \\\n"
#~ "  source $GUIX_PROFILE/etc/profile\n"

#~ msgid "Create the group and user accounts for build users as explained below (@pxref{Build Environment Setup})."
#~ msgstr "像下面解释的那样为“构建用户”创建用户组和用户(@pxref{Build Environment Setup})。"

#~ msgid "Run the daemon, and set it to automatically start on boot."
#~ msgstr "运行后台进程,并设置为开机自启动。"

#~ msgid "If your host distro uses the systemd init system, this can be achieved with these commands:"
#~ msgstr "如果你的主机的发行版使用systemd init系统,可以用这些命令:"

#, no-wrap
#~ msgid ""
#~ "# cp ~root/.config/guix/current/lib/systemd/system/gnu-store.mount \\\n"
#~ "     ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \\\n"
#~ "     /etc/systemd/system/\n"
#~ "# systemctl enable --now gnu-store.mount guix-daemon\n"
#~ msgstr ""
#~ "# cp ~root/.config/guix/current/lib/systemd/system/gnu-store.mount \\\n"
#~ "     ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \\\n"
#~ "     /etc/systemd/system/\n"
#~ "# systemctl enable --now gnu-store.mount guix-daemon\n"

#, no-wrap
#~ msgid ""
#~ "# cp ~root/.config/guix/current/lib/systemd/system/guix-gc.service \\\n"
#~ "     ~root/.config/guix/current/lib/systemd/system/guix-gc.timer \\\n"
#~ "     /etc/systemd/system/\n"
#~ "# systemctl enable --now guix-gc.timer\n"
#~ msgstr ""
#~ "# cp ~root/.config/guix/current/lib/systemd/system/guix-gc.service \\\n"
#~ "     ~root/.config/guix/current/lib/systemd/system/guix-gc.timer \\\n"
#~ "     /etc/systemd/system/\n"
#~ "# systemctl enable --now guix-gc.timer\n"

#, no-wrap
#~ msgid ""
#~ "# initctl reload-configuration\n"
#~ "# cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \\\n"
#~ "     /etc/init/\n"
#~ "# start guix-daemon\n"
#~ msgstr ""
#~ "# initctl reload-configuration\n"
#~ "# cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \\\n"
#~ "     /etc/init/\n"
#~ "# start guix-daemon\n"

#~ msgid "Otherwise, you can still start the daemon manually with:"
#~ msgstr "此外,你可以手动启动后台进程:"

#, no-wrap
#~ msgid ""
#~ "# ~root/.config/guix/current/bin/guix-daemon \\\n"
#~ "       --build-users-group=guixbuild\n"
#~ msgstr ""
#~ "# ~root/.config/guix/current/bin/guix-daemon \\\n"
#~ "       --build-users-group=guixbuild\n"

#~ msgid "Make the @command{guix} command available to other users on the machine, for instance with:"
#~ msgstr "使机器上的其他用户也可以使用@command{guix}命令:"

#, no-wrap
#~ msgid ""
#~ "# mkdir -p /usr/local/bin\n"
#~ "# cd /usr/local/bin\n"
#~ "# ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix\n"
#~ msgstr ""
#~ "# mkdir -p /usr/local/bin\n"
#~ "# cd /usr/local/bin\n"
#~ "# ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix\n"

#~ msgid "It is also a good idea to make the Info version of this manual available there:"
#~ msgstr "最好让这个用户手册的Info版也可以被访问:"

#, no-wrap
#~ msgid ""
#~ "# mkdir -p /usr/local/share/info\n"
#~ "# cd /usr/local/share/info\n"
#~ "# for i in /var/guix/profiles/per-user/root/current-guix/share/info/* ;\n"
#~ "  do ln -s $i ; done\n"
#~ msgstr ""
#~ "# mkdir -p /usr/local/share/info\n"
#~ "# cd /usr/local/share/info\n"
#~ "# for i in /var/guix/profiles/per-user/root/current-guix/share/info/* ;\n"
#~ "  do ln -s $i ; done\n"

#, fuzzy
#~ msgid "That way, assuming @file{/usr/local/share/info} is in the search path, running @command{info guix} will open this manual (@pxref{Other Info Directories,,, texinfo, GNU Texinfo}, for more details on changing the Info search path)."
#~ msgstr "那样,假设@file{/usr/local/share/info}在搜索路径里,运行@command{info guix}命令就会打开这个用户手册(@pxref{Other Info Directories,,, texinfo, GNU Texinfo},更多关于Info搜索路径的信息)。"

#~ msgid "Each user may need to perform a few additional steps to make their Guix environment ready for use, @pxref{Application Setup}."
#~ msgstr "每个用户可能需要执行一些额外的步骤以使各自的Guix环境可用,@pxref{Application Setup}。"

#~ msgid "Voilà, the installation is complete!"
#~ msgstr "瞧,安装完成了!"

#~ msgid "You can confirm that Guix is working by installing a sample package into the root profile:"
#~ msgstr "你可以通过给root profile安装一个软件包来确认Guix可以正常工作。"

#, fuzzy
#~ msgid "Package object of the udev service."
#~ msgstr "软件包数据类型。"

#, fuzzy, no-wrap
#~ msgid "jami, service"
#~ msgstr "DNS服务"

#, fuzzy, no-wrap
#~ msgid "guix-build-coordinator-queue-builds-service-type"
#~ msgstr "@code{gnome}(默认值:@code{gnome})"

#, fuzzy, no-wrap
#~ msgid "@code{user} (default: @code{\"guix-build-coordinator-queue-builds\"})"
#~ msgstr "@code{gnome}(默认值:@code{gnome})"

#, fuzzy, no-wrap
#~ msgid "@code{coordinator} (default: @code{\"http://localhost:8746\"})"
#~ msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#, fuzzy, no-wrap
#~ msgid "@code{systems-and-targets} (default: @code{#f})"
#~ msgstr "@code{challenge}(默认值:@code{#f})"

#, fuzzy, no-wrap
#~ msgid "@code{guix-data-service-build-server-id} (default: @code{#f})"
#~ msgstr "@code{speed}(默认值:@code{1.0})"

#, no-wrap
#~ msgid "guix shell --pure\n"
#~ msgstr "guix shell --pure\n"

#, no-wrap
#~ msgid "Vim, Scheme code editing"
#~ msgstr "Vim,编辑Scheme代码"

#~ msgid "If you are editing code with Vim, we recommend that you run @code{:set autoindent} so that your code is automatically indented as you type.  Additionally, @uref{https://www.vim.org/scripts/script.php?script_id=3998, @code{paredit.vim}} may help you deal with all these parentheses."
#~ msgstr "如果你用Vim编辑代码,我们推荐你运行@code{:set autoindent},以使你在输入时自动缩进代码。另外,@uref{https://www.vim.org/scripts/script.php?script_id=3998, @code{paredit.vim}}可以帮你处理括号。"

#, no-wrap
#~ msgid ""
#~ "guix archive --authorize < \\\n"
#~ "  /etc/childhurd/etc/guix/signing-key.pub\n"
#~ msgstr ""
#~ "guix archive --authorize < \\\n"
#~ "  /etc/childhurd/etc/guix/signing-key.pub\n"

#, no-wrap
#~ msgid ""
#~ ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n"
#~ "(with-eval-after-load 'geiser-guile\n"
#~ "  (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n"
#~ msgstr ""
#~ ";; @r{假设Guix项目在 ~/src/guix.}\n"
#~ "(with-eval-after-load 'geiser-guile\n"
#~ "  (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n"

#, fuzzy, no-wrap
#~ msgid "guix import texlive @var{package}\n"
#~ msgstr "guix install emacs-guix\n"

#, fuzzy, no-wrap
#~ msgid "@code{log-file} (default: @code{\"/var/log/mpd/log\"}) (type: maybe-string)"
#~ msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#, fuzzy
#~ msgid "Data type representing a @command{mpd} audio output."
#~ msgstr "管理操作系统配置。"

#, fuzzy, no-wrap
#~ msgid "@code{mixer-type} (default: @code{\"none\"}) (type: string)"
#~ msgstr "@code{port}(默认值:@code{22})"

#, fuzzy, no-wrap
#~ msgid "@code{log-to} (default: @code{\"/var/log/mympd/log\"}) (type: string-or-symbol)"
#~ msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#, fuzzy, no-wrap
#~ msgid "@code{forward-x11?} (default: @code{#f}) (type: boolean)"
#~ msgstr "@code{challenge}(默认值:@code{#f})"

#, fuzzy, no-wrap
#~ msgid "@code{forward-x11-trusted?} (default: @code{#f}) (type: boolean)"
#~ msgstr "@code{challenge}(默认值:@code{#f})"

#, fuzzy, no-wrap
#~ msgid "@code{forward-agent?} (default: @code{#f}) (type: boolean)"
#~ msgstr "@code{challenge}(默认值:@code{#f})"

#~ msgid "Depending on the number of dependent packages and thus the amount of rebuilding induced, commits go to different branches, along these lines:"
#~ msgstr "取决于受影响的软件包的数量,即需要重新构建的数量,commit需要被提交到不同的分支,具体如下:"

#, no-wrap
#~ msgid "300 dependent packages or less"
#~ msgstr "300个或更少的受影响的软件包"

#~ msgid "@code{master} branch (non-disruptive changes)."
#~ msgstr "@code{master}分支(非破坏性的更改)。"

#, no-wrap
#~ msgid "between 300 and 1,800 dependent packages"
#~ msgstr "300 至 1800 个受影响的软件包"

#, fuzzy
#~ msgid "@code{staging} branch (non-disruptive changes).  This branch is intended to be merged in @code{master} every 6 weeks or so.  Topical changes (e.g., an update of the GNOME stack) can instead go to a specific branch (say, @code{gnome-updates}).  This branch is not expected to be buildable or usable until late in its development process."
#~ msgstr "@code{staging}分支(非破坏性的更改)。这个分支每隔大约3周会被合并进@code{master}。对某个主题的更改(如对GNOME系列的更新)可以放进一个特定的分支(如@code{gnome-updates})。"

#, no-wrap
#~ msgid "more than 1,800 dependent packages"
#~ msgstr "超过 1800 个受影响的软件包"

#, fuzzy
#~ msgid "@code{core-updates} branch (may include major and potentially disruptive changes).  This branch is intended to be merged in @code{master} every 6 months or so.  This branch is not expected to be buildable or usable until late in its development process."
#~ msgstr "@code{core-updates}分支(可能含有重要的或破坏性的更改)。这个分支每隔大约2.5个月会被合并进@code{master}。"

#, fuzzy
#~| msgid "All these branches are @uref{@value{SUBSTITUTE-URL}, tracked by our build farm} and merged into @code{master} once everything has been successfully built.  This allows us to fix issues before they hit users, and to reduce the window during which pre-built binaries are not available."
#~ msgid "All these branches are @uref{https://@value{SUBSTITUTE-SERVER-1}, tracked by our build farm} and merged into @code{master} once everything has been successfully built.  This allows us to fix issues before they hit users, and to reduce the window during which pre-built binaries are not available."
#~ msgstr "所有这些分支都@uref{@value{SUBSTITUTE-URL}, 被构建农场跟踪},并且当一切都被顺利构建时合并进@code{master}。这使我们在影响到用户之前就能改正问题,并且缩小没有准备好预构建的二进制包的窗口期。"

#, fuzzy, no-wrap
#~ msgid "grub-theme"
#~ msgstr "{数据类型} build-machine"

#, fuzzy
#~| msgid "Detail of operating-system declarations."
#~ msgid "Name of this host declaration."
#~ msgstr "操作系统声明详情。"

#, fuzzy
#~ msgid "Data type representing the configuration of @code{screen-locker-service-type}."
#~ msgstr "管理操作系统配置。"

#, fuzzy, no-wrap
#~ msgid "@code{allow-empty-password?} (type: boolean)"
#~ msgstr "@code{port}(默认值:@code{22})"

#, no-wrap
#~ msgid "semodule -i etc/guix-daemon.cil\n"
#~ msgstr "semodule -i etc/guix-daemon.cil\n"

#, fuzzy
#~| msgid "Then relabel the file system with @code{restorecon} or by a different mechanism provided by your system."
#~ msgid "Then relabel the file system with @code{restorecon -vR /} or by a different mechanism provided by your system.  You may need to remount @file{/gnu/store} to make it writable first, e.g. with @code{mount -o remount,rw /gnu/store}."
#~ msgstr "用@code{restorecon}或者你的系统提供的其它机制重新给文件系统打标签。"

#, fuzzy
#~ msgid "@code{shepherd-requirement} (default: @code{()})"
#~ msgstr "@code{features} (@code{'()})"

#~ msgid "Programming Guix in Guile."
#~ msgstr "在Guile中为Guix编程"

#, fuzzy
#~| msgid "System Configuration"
#~ msgid "Home Environment Configuration"
#~ msgstr "系统配置"

#, fuzzy
#~| msgid "Instantiating a system configuration."
#~ msgid "Instantiating a home environment configuration."
#~ msgstr "实例化一个系统配置。"

#, fuzzy
#~ msgid "The git package to use."
#~ msgstr "软件包数据类型。"

#, fuzzy
#~ msgid "{Scheme Variable} tree-sitter-build-system"
#~ msgstr "aarch64-linux"

#, fuzzy
#~ msgid "%nscd-default-configuration"
#~ msgstr "系统配置"

#, fuzzy
#~ msgid "{Data Type} host"
#~ msgstr "{数据类型} build-machine"

#, fuzzy
#~ msgid "@code{canonical-name} (type: string)"
#~ msgstr "@code{dnssec-policy}(默认值:@code{#f})"

#, fuzzy
#~| msgid "name"
#~ msgid "Hostname."
#~ msgstr "名字"

#, fuzzy
#~ msgid "@code{name} (default: @code{\"MPD\"})"
#~ msgstr "@code{gnome}(默认值:@code{gnome})"

#, fuzzy
#~ msgid "@code{tags?} (default: @code{#t})"
#~ msgstr "@code{mate}(默认值:@code{mate})"

#, fuzzy
#~ msgid "@code{always-on?} (default: @code{#f})"
#~ msgstr "@code{challenge}(默认值:@code{#f})"

#, fuzzy
#~ msgid "{Scheme Variable} powerpc64le-linux"
#~ msgstr "aarch64-linux"

#, fuzzy
#~ msgid "@code{group} (default: @code{\"zabbix\"}) (type: group)"
#~ msgstr "@code{xfce}(默认值:@code{xfce})"

#, fuzzy
#~ msgid "When sending a patch series (e.g., using @code{git send-email}), please first send one message to @email{guix-patches@@gnu.org}, and then send subsequent patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure they are kept together.  See @uref{https://debbugs.gnu.org/Advanced.html, the Debbugs documentation} for more information.  You can install @command{git send-email} with @command{guix install git:send-email}."
#~ msgstr "在发送补丁系列时(如,使用@code{git send-email}),请先向@email{guix-patches@@gnu.org}发送一封邮件,再把后续的补丁发送到@email{@var{NNN}@@debbugs.gnu.org},以确保他们被归在一起。见@uref{https://debbugs.gnu.org/Advanced.html, Debbugs文档}以了解更多信息。"

#~ msgid "@uref{https://gnutls.org/, GnuTLS}, specifically its Guile bindings (@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile});"
#~ msgstr "@uref{https://gnutls.org/, GnuTLS},特别是它的Guile接口(@pxref{Guile Preparations, 怎样为Guile安装GnuTLS接口,, gnutls-guile, GnuTLS-Guile});"

#, fuzzy
#~ msgid "Invoking @code{guix home}"
#~ msgstr "调用@command{guix-daemon}"

#, fuzzy
#~ msgid "The config file to use."
#~ msgstr "软件包数据类型。"

#, fuzzy
#~ msgid "@deftp{Data Type} wsdd-configuration This data type represents the configuration for the wsdd service."
#~ msgstr "管理操作系统配置。"

#~ msgid ""
#~ ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n"
#~ "(with-eval-after-load 'yasnippet\n"
#~ "  (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n"
#~ msgstr ""
#~ ";; @r{假设Guix项目在 ~/src/guix.}\n"
#~ "(with-eval-after-load 'yasnippet\n"
#~ "  (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n"

#, fuzzy
#~ msgid "@code{user} (default: @samp{\"root\"})"
#~ msgstr "@code{vt}(默认值:@code{\"vt7\"})"

#, fuzzy
#~ msgid "@code{priority} (default @code{-1})"
#~ msgstr "@code{port}(默认值:@code{22})"

#, fuzzy
#~ msgid "@code{display-server} (default: @code{\"x11\"})"
#~ msgstr "@code{display}(默认值:@code{\":0\"})"

#, fuzzy
#~ msgid "@code{auto-login-session} (default: @code{\"\"})"
#~ msgstr "@code{max-zone-size}(默认值:@code{#f})"

#~ msgid "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n"
#~ msgstr "./etc/indent-code.el gnu/packages/@var{文件}.scm @var{软件包}\n"

#~ msgid "This automatically indents the definition of @var{package} in @file{gnu/packages/@var{file}.scm} by running Emacs in batch mode.  To indent a whole file, omit the second argument:"
#~ msgstr "这会调用Emacs以批处理模式自动地缩进@file{gnu/packages/@var{文件}.scm}里@var{软件包}的定义。如果想缩进整个文件,省略第二个参数:"

#~ msgid "./etc/indent-code.el gnu/services/@var{file}.scm\n"
#~ msgstr "./etc/indent-code.el gnu/services/@var{文件}.scm\n"

#, fuzzy
#~ msgid ""
#~ "      (build-machine\n"
#~ "        (name \"armeight.example.org\")\n"
#~ "        (systems (list \"aarch64-linux\"))\n"
#~ "        (host-key \"ssh-rsa AAAAB3Nza@dots{}\")\n"
#~ "        (user \"alice\")\n"
#~ "        (private-key\n"
#~ "         (string-append (getenv \"HOME\")\n"
#~ "                        \"/.ssh/identity-for-guix\"))))\n"
#~ msgstr ""
#~ "      (build-machine\n"
#~ "        (name \"meeps.example.org\")\n"
#~ "        (system \"mips64el-linux\")\n"
#~ "        (host-key \"ssh-rsa AAAAB3Nza@dots{}\")\n"
#~ "        (user \"alice\")\n"
#~ "        (private-key\n"
#~ "         (string-append (getenv \"HOME\")\n"
#~ "                        \"/.ssh/identity-for-guix\"))))\n"

#~ msgid "git-send-email"
#~ msgstr "git-send-email"

#, fuzzy
#~ msgid "@code{opam}, the default opam repository,"
#~ msgstr "@code{mate}(默认值:@code{mate})"

#, fuzzy
#~ msgid "of coq packages."
#~ msgstr "定义新软件包。"

#~ msgid "Using Debbugs."
#~ msgstr "用Debbugs。"

#, fuzzy
#~| msgid "@xref{Invoking guix pack}, for more info on this handy tool."
#~ msgid "@xref{Build Phases}, for more info on build phases and ways to customize them."
#~ msgstr "@xref{Invoking guix pack},了解这个方便的工具。"

#~ msgid ""
#~ "(service qemu-binfmt-service-type\n"
#~ " (qemu-binfmt-configuration\n"
#~ "   (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))\n"
#~ "   (guix-support? #t)))\n"
#~ msgstr ""
#~ "(service qemu-binfmt-service-type\n"
#~ " (qemu-binfmt-configuration\n"
#~ "   (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))\n"
#~ "   (guix-support? #t)))\n"

#, fuzzy
#~| msgid "@code{zonefile-load} (default: @code{#f})"
#~ msgid "@code{queries-log-file} (default: @code{#f})"
#~ msgstr "@code{zonefile-load}(默认值:@code{#f})"

#, fuzzy
#~| msgid "@code{zonefile-load} (default: @code{#f})"
#~ msgid "@code{web-queries-log-file} (default: @code{#f})"
#~ msgstr "@code{zonefile-load}(默认值:@code{#f})"

#, fuzzy
#~| msgid "The host name of the remote machine."
#~ msgid "Size of the database writer queue."
#~ msgstr "远程机器的主机名。"

#, fuzzy
#~| msgid "Manage the operating system configuration."
#~ msgid "Data type representing the configuration of a simple Cuirass instance."
#~ msgstr "管理操作系统配置。"

#, fuzzy
#~| msgid "@code{includes} (default: @code{'()})"
#~ msgid "@code{non-package-channels} (default: @code{'()})"
#~ msgstr "@code{includes}(默认值:@code{'()})"

#, fuzzy
#~| msgid "@code{zonefile-load} (default: @code{#f})"
#~ msgid "@code{password-file} (default: @code{#f})"
#~ msgstr "@code{zonefile-load}(默认值:@code{#f})"

#~ msgid "Generally, branches other than @code{master} are considered @emph{frozen} if there has been a recent evaluation, or there is a corresponding @code{-next} branch.  Please ask on the mailing list or IRC if unsure where to place a patch."
#~ msgstr "通常,@code{master}之外的其它分支如果最近被评审过,或有一个对应的@code{-next}分支,则被视为@emph{冻结}状态。如果不清楚该把补丁放到哪里,请在邮件列表或IRC上提问。"

#~ msgid "@xref{Invoking guix environment}, for more information on that command.  Extra dependencies can be added with @option{--ad-hoc}:"
#~ msgstr "这个命令更多的信息请参考@xref{Invoking guix environment}。额外的依赖可以通过@option{--ad-hoc}选项添加:"

#~ msgid "little-endian 64-bit ARMv8-A processors, Linux-Libre kernel.  This is currently in an experimental stage, with limited support.  @xref{Contributing}, for how to help!"
#~ msgstr "小端序64位ARMv8-A处理器,Linux-Libre内核。目前处于实验阶段,支持有限。@xref{Contributing},提供帮助!"

#~ msgid "@url{https://zlib.net, zlib};"
#~ msgstr "@url{https://zlib.net, zlib};"

#~ msgid "When a working installation of @url{https://nixos.org/nix/, the Nix package manager} is available, you can instead configure Guix with @code{--disable-daemon}.  In that case, Nix replaces the three dependencies above."
#~ msgstr "当一个已经安装的且可用的@url{https://nixos.org/nix/, Nix包管理器}存在时,你可以为Guix配置@code{--disable-daemon}参数。那样Nix可以替换上面的三个依赖。"

#~ msgid "Guix is compatible with Nix, so it is possible to share the same store between both.  To do so, you must pass @command{configure} not only the same @code{--with-store-dir} value, but also the same @code{--localstatedir} value.  The latter is essential because it specifies where the database that stores metadata about the store is located, among other things.  The default values for Nix are @code{--with-store-dir=/nix/store} and @code{--localstatedir=/nix/var}.  Note that @code{--disable-daemon} is not required if your goal is to share the store with Nix."
#~ msgstr "Guix和Nix兼容,所以两者共享相同的仓库是可行的。如果这样做,你必须传给@command{configure}相同的@code{--with-store-dir},以及相同的@code{--localstatedir}。后者很重要,因为它指定了储存仓库元数据以及其它信息的数据库的位置,。Nix的默认值是@code{--with-store-dir=/nix/store}和@code{--localstatedir=/nix/var}。注意,如果你的目的是和Nix共享仓库,那么@code{--disable-daemon}参数不是必须的。"

#~ msgid "Do not use the @dfn{build hook}."
#~ msgstr "不要使用@dfn{构建钩子}。"

#~ msgid "The build hook is a helper program that the daemon can start and to which it submits build requests.  This mechanism is used to offload builds to other machines (@pxref{Daemon Offload Setup})."
#~ msgstr "构建钩子是一个可以被后台进程启动并且提交构建请求的辅助程序。这个机制被用来向其它机器下发构建。(@pxref{Daemon Offload Setup})。"

#~ msgid "The @code{guix} package must remain available in @code{root}'s profile, or it would become subject to garbage collection---in which case you would find yourself badly handicapped by the lack of the @command{guix} command.  In other words, do not remove @code{guix} by running @code{guix package -r guix}."
#~ msgstr "@code{guix}软件包必须保留在@code{root}的profile里,否则它会被垃圾回收清理掉--那时你会发现缺少@command{guix}命令。换句话说,不要用@code{guix package -r guix}命令删除@code{guix}。"