# guix manual Russian translation. # Copyright (C) 2012-2020 the authors of Guix (msgids) and the following authors (msgstr) # This file is distributed under the same license as the guix manual package. # Znavko , 2019. # Pavlo Marianov , 2019, 2020. # Adam Kandur , 2020, 2021. # Oleg Pykhalov , 2020. # Iosilevitch Mihail , 2021. # Eugene Klimov , 2021. # Anton Ryzhkin , 2021. # Helge Kim , 2021. # Julien Lepiller , 2021. msgid "" msgstr "" "Project-Id-Version: guix-manual 1.2.0-pre2\n" "Report-Msgid-Bugs-To: bug-guix@gnu.org\n" "POT-Creation-Date: 2021-10-14 15:18+0000\n" "PO-Revision-Date: 2021-10-17 19:43+0000\n" "Last-Translator: Julien Lepiller \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.8\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:179 #, 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} и " "@code{#guix} в сети Freenode IRC. Мы приветствуем идеи, принимаем отчёты об " "ошибках, патчи и любую помощь проекту. Например, вы можете создавать " "описания пакетов (@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:33 guix-git/doc/contributing.texi:35 #: guix-git/doc/contributing.texi:36 #, no-wrap msgid "Building from Git" msgstr "Сборка из Git" #. type: menuentry #: guix-git/doc/contributing.texi:33 msgid "The latest and greatest." msgstr "Новейший и величайший." #. type: section #: guix-git/doc/contributing.texi:33 guix-git/doc/contributing.texi:161 #: guix-git/doc/contributing.texi:162 #, no-wrap msgid "Running Guix Before It Is Installed" msgstr "Запуск Guix перед его установкой" #. type: menuentry #: guix-git/doc/contributing.texi:33 msgid "Hacker tricks." msgstr "Хакерские трюки." #. type: section #: guix-git/doc/contributing.texi:33 guix-git/doc/contributing.texi:235 #: guix-git/doc/contributing.texi:236 #, no-wrap msgid "The Perfect Setup" msgstr "Совершенная установка" #. type: menuentry #: guix-git/doc/contributing.texi:33 msgid "The right tools." msgstr "Правильные инструменты." #. type: section #: guix-git/doc/contributing.texi:33 guix-git/doc/contributing.texi:326 #: guix-git/doc/contributing.texi:327 #, no-wrap msgid "Packaging Guidelines" msgstr "Принципы опакечивания" #. type: menuentry #: guix-git/doc/contributing.texi:33 msgid "Growing the distribution." msgstr "Разрастание дистрибутива." #. type: section #: guix-git/doc/contributing.texi:33 guix-git/doc/contributing.texi:890 #: guix-git/doc/contributing.texi:891 #, no-wrap msgid "Coding Style" msgstr "Стиль кодирования" #. type: menuentry #: guix-git/doc/contributing.texi:33 msgid "Hygiene of the contributor." msgstr "Гигиена участника." #. type: section #: guix-git/doc/contributing.texi:33 guix-git/doc/contributing.texi:989 #: guix-git/doc/contributing.texi:990 #, no-wrap msgid "Submitting Patches" msgstr "Отправка исправлений" #. type: menuentry #: guix-git/doc/contributing.texi:33 msgid "Share your work." msgstr "Поделитесь своей работой." #. type: section #: guix-git/doc/contributing.texi:33 guix-git/doc/contributing.texi:1267 #: guix-git/doc/contributing.texi:1268 #, no-wrap msgid "Tracking Bugs and Patches" msgstr "Отслеживание ошибок и патчей" #. type: menuentry #: guix-git/doc/contributing.texi:33 msgid "Keeping it all organized." msgstr "" #. type: section #: guix-git/doc/contributing.texi:33 guix-git/doc/contributing.texi:1382 #: guix-git/doc/contributing.texi:1383 #, no-wrap msgid "Commit Access" msgstr "Доступ к коммитам" #. type: menuentry #: guix-git/doc/contributing.texi:33 msgid "Pushing to the official repository." msgstr "Внесение изменений в официальный репозиторий." #. type: section #: guix-git/doc/contributing.texi:33 guix-git/doc/contributing.texi:1608 #: guix-git/doc/contributing.texi:1609 #, no-wrap msgid "Updating the Guix Package" msgstr "Обновление пакета Guix" #. type: menuentry #: guix-git/doc/contributing.texi:33 msgid "Updating the Guix package definition." msgstr "Обновление описания пакета guix." #. type: section #: guix-git/doc/contributing.texi:33 guix-git/doc/contributing.texi:1649 #: guix-git/doc/contributing.texi:1650 #, no-wrap msgid "Translating Guix" msgstr "Тестирование Guix." #. type: menuentry #: guix-git/doc/contributing.texi:33 msgid "Make Guix speak your native language." msgstr "Заставьте Guix говорить на вашем родном языке." #. type: Plain text #: guix-git/doc/contributing.texi:40 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:43 #, 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:45 #, no-wrap msgid "authentication, of a Guix checkout" msgstr "аутентификация для проверки Guix" #. type: Plain text #: guix-git/doc/contributing.texi:50 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}, передав ему коммит и отпечаток " "ключа OpenPGP @dfn{channel introduction} (@pxref{Invoking guix git " "authenticate}):" #. type: example #: guix-git/doc/contributing.texi:57 #, 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:62 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:69 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 System (@pxref{System " "Installation}) или Guix поверх другого дистрибутива (@pxref{Binary " "Installation}); в любом случае вы должны проверить подпись OpenPGP на " "установочном носителе. Это ``запускает'' (``bootstraps'') цепочку доверия." #. type: Plain text #: guix-git/doc/contributing.texi:74 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! Следующая команда запустит новую оболочку во " "всеми зависимостями и необходимыми переменными окружения:" #. type: example #: guix-git/doc/contributing.texi:77 #, no-wrap msgid "guix environment guix --pure\n" msgstr "guix environment guix --pure\n" #. type: Plain text #: guix-git/doc/contributing.texi:80 msgid "@xref{Invoking guix environment}, for more information on that command." msgstr "" "Подробные сведения об этой команде см. в @xref{Invoking guix environment}." #. type: Plain text #: guix-git/doc/contributing.texi:84 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 не удаётся использовать при сборке из чекаута, установите " "следующие пакеты в дополнение к тем, что были указаны в инструкции по " "установке (@pxref{Требования})." #. type: item #: guix-git/doc/contributing.texi:86 #, 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:87 #, 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:88 #, 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:89 #, 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:90 #, no-wrap msgid "@url{https://www.graphviz.org/, Graphviz};" msgstr "@url{https://www.graphviz.org/, Graphviz};" #. type: item #: guix-git/doc/contributing.texi:91 #, no-wrap msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}." msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}." #. type: Plain text #: guix-git/doc/contributing.texi:96 msgid "" "On Guix, extra dependencies can be added by instead running @command{guix " "environment} with @option{--ad-hoc}:" msgstr "" "В Guix дополнительные зависимости можно добавить, запустив @command{guix " "environment} с параметром @option{--ad-hoc}:" #. type: example #: guix-git/doc/contributing.texi:99 #, no-wrap msgid "guix environment guix --pure --ad-hoc help2man git strace\n" msgstr "guix environment guix --pure --ad-hoc help2man git strace\n" #. type: Plain text #: guix-git/doc/contributing.texi:103 msgid "" "Run @command{./bootstrap} to generate the build system infrastructure using " "Autoconf and Automake. If you get an error like this one:" msgstr "" "Запустите @command{./bootstrap}, чтобы инициировать инфраструктуру сборки " "системы, используя Autoconf и Automake. Если вы получили такую ошибку:" #. type: example #: guix-git/doc/contributing.texi:106 #, 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:115 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 не смог найти файл @file{pkg.m4}, " "который предоставляется pkg-config. Убедитесь, что файл @file{pkg.m4} " "доступен. То же относится к @file{guile.m4}, набору макросов, " "предоставляемых Guile. Например, если вы установили Automake в @file{/usr/" "local}, он не будет искать файлы @file{.m4} в @file{/usr/share}. Тогда нужно " "выполнить следующую команду:" #. type: example #: guix-git/doc/contributing.texi:118 #, 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:122 msgid "" "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more " "information." msgstr "" "см. @xref{Macro Search Path,,, automake, The GNU Automake Manual}, чтобы " "получить больше информации." #. type: Plain text #: guix-git/doc/contributing.texi:129 msgid "" "Then, run @command{./configure} as usual. Make sure to pass @code{--" "localstatedir=@var{directory}} where @var{directory} is the " "@code{localstatedir} value used by your current installation (@pxref{The " "Store}, for information about this), usually @file{/var}. 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}." msgstr "" "Затем, как обычно, запустите @command{./configure}. Обязательно передайте " "@code{--localstatedir=@var{directory}}, где @var{directory} является " "значением @code{localstatedir} в рамках текущей установки (см. @pxref{The " "Store}), обычно @file{/var}. Обратите внимание, что вы вероятно не запустите " "(и не должны) @command{make install}, но все же важно передать верный " "@code{localstatedir}." #. type: Plain text #: guix-git/doc/contributing.texi:134 msgid "" "Finally, you have to invoke @code{make && make check} to build Guix and run " "the tests (@pxref{Running the Test Suite}). 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 "" "Наконец, нужно вызвать @code{make check}, чтобы запустить тесты " "(@pxref{Running the Test Suite}). Если что-либо неудачно, изучите инструкции " "установки (@pxref{Installation}) или отправьте сообщение в рассылку " "@email{guix-devel@@gnu.org}." #. type: Plain text #: guix-git/doc/contributing.texi:137 msgid "" "From there on, you can authenticate all the commits included in your " "checkout by running:" msgstr "" "После этого вы можете аутентифицировать все проверенные коммиты, запустив:" #. type: example #: guix-git/doc/contributing.texi:140 #, no-wrap msgid "make authenticate\n" msgstr "make authenticate\n" #. type: Plain text #: guix-git/doc/contributing.texi:143 msgid "" "The first run takes a couple of minutes, but subsequent runs are faster." msgstr "Первый запуск занимает пару минут, но последующие запускаются быстрее." #. type: Plain text #: guix-git/doc/contributing.texi:149 msgid "" "Or, when your configuration for your local Git repository doesn't match the " "default one, you can provide the reference for the @code{keyring} branch " "through the variable @code{GUIX_GIT_KEYRING}. The following example assumes " "that you have a Git remote called @samp{myremote} pointing to the official " "repository:" msgstr "" "Или, если ваша конфигурация для локального git репозиотория не соответствует " "конфигурации по умолчанию, вы можете укащать ссылку для ветки @code{keyring} " "с помощью переменной @code{GUIX_GIT_KEYRING}. В следующем примере " "предполагается, что у ваш git remote с именем @samp{myremote}, указывающий " "на официальный репозиторий:" #. type: example #: guix-git/doc/contributing.texi:152 #, no-wrap msgid "make authenticate GUIX_GIT_KEYRING=myremote/keyring\n" msgstr "make authenticate GUIX_GIT_KEYRING=myremote/keyring\n" #. type: quotation #: guix-git/doc/contributing.texi:154 guix-git/doc/contributing.texi:1460 #: guix-git/doc/guix.texi:580 guix-git/doc/guix.texi:629 #: guix-git/doc/guix.texi:819 guix-git/doc/guix.texi:1798 #: guix-git/doc/guix.texi:2045 guix-git/doc/guix.texi:2229 #: guix-git/doc/guix.texi:2450 guix-git/doc/guix.texi:2652 #: guix-git/doc/guix.texi:3769 guix-git/doc/guix.texi:4510 #: guix-git/doc/guix.texi:4524 guix-git/doc/guix.texi:4606 #: guix-git/doc/guix.texi:4836 guix-git/doc/guix.texi:5686 #: guix-git/doc/guix.texi:5932 guix-git/doc/guix.texi:6053 #: guix-git/doc/guix.texi:6081 guix-git/doc/guix.texi:6134 #: guix-git/doc/guix.texi:8839 guix-git/doc/guix.texi:8909 #: guix-git/doc/guix.texi:10584 guix-git/doc/guix.texi:10624 #: guix-git/doc/guix.texi:10898 guix-git/doc/guix.texi:10910 #: guix-git/doc/guix.texi:13260 guix-git/doc/guix.texi:13890 #: guix-git/doc/guix.texi:14703 guix-git/doc/guix.texi:15688 #: guix-git/doc/guix.texi:18109 guix-git/doc/guix.texi:18266 #: guix-git/doc/guix.texi:26131 guix-git/doc/guix.texi:29808 #: guix-git/doc/guix.texi:31909 guix-git/doc/guix.texi:33541 #: guix-git/doc/guix.texi:33775 guix-git/doc/guix.texi:33945 #: guix-git/doc/guix.texi:34098 guix-git/doc/guix.texi:34200 #: guix-git/doc/guix.texi:34301 guix-git/doc/guix.texi:34604 #: guix-git/doc/guix.texi:35382 guix-git/doc/guix.texi:35443 #: guix-git/doc/guix.texi:35510 guix-git/doc/guix.texi:35597 #: guix-git/doc/guix.texi:35964 #, no-wrap msgid "Note" msgstr "Примечание" #. type: quotation #: guix-git/doc/contributing.texi:158 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{make authenticate} после каждого вызова " "@command{git pull}. Это гарантирует, что вы продолжаете получать актуальные " "изменения в репозитории." #. type: Plain text #: guix-git/doc/contributing.texi:168 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:179 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; it is generated by running " "@command{./bootstrap} followed by @command{./configure}). 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{Building from Git}), и " "затем просто начните каждую команду с @command{./pre-inst-env} (скрипт " "@file{pre-inst-env} находится на верху дерева сборки Guix; он генерируется " "запуском @command{./bootstrap}, за которым следует @command{./configure}). " "В качестве примера, вот как вы собрали бы пакет @code{hello} " "(подразумевается, что @command{guix-daemon} уже запущена на вашей системе; " "ничего страшного, если это другая версия):" #. type: example #: guix-git/doc/contributing.texi:182 #, 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:186 msgid "Similarly, an example for a Guile session using the Guix modules:" msgstr "Аналогично, пример для Guile сессии с использованием модулей Guix:" #. type: example #: guix-git/doc/contributing.texi:189 #, 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:191 #, no-wrap msgid ";;; (\"x86_64-linux\")\n" msgstr ";;; (\"x86_64-linux\")\n" #. type: cindex #: guix-git/doc/contributing.texi:194 #, no-wrap msgid "REPL" msgstr "REPL" #. type: cindex #: guix-git/doc/contributing.texi:195 #, no-wrap msgid "read-eval-print loop" msgstr "цикл чтение-вычисление-вывод" #. type: Plain text #: guix-git/doc/contributing.texi:198 msgid "" "@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile " "Reference Manual}):" msgstr "" "@dots{} и для REPL (@pxref{Using Guile Interactively,,, guile, Guile " "Reference Manual}):" #. type: example #: guix-git/doc/contributing.texi:213 #, 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:221 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{Флаг @option{-E} команды @command{sudo} гарантирует, что " "@code{GUILE_LOAD_PATH} настроен правильно, так что @command{guix-daemon} и " "инструменты, которые он использует, могут найти необходимые им модули " "Guile.}:" #. type: example #: guix-git/doc/contributing.texi:224 #, 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:228 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:233 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:243 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 --- это лучший способ " "разработки Guix (@pxref{Using Guile in Emacs,,, guile, Guile Reference " "Manual}). Во-первых, здесь нужен мощный текстовый редактор, нужен " "@url{https://www.gnu.org/software/emacs, Emacs}, дополненный замечательным " "@url{https://nongnu.org/geiser/, Geiser}. Чтобы установить это, введите:" #. type: example #: guix-git/doc/contributing.texi:246 #, no-wrap msgid "guix package -i emacs guile emacs-geiser emacs-geiser-guile\n" msgstr "guix package -i emacs guile emacs-geiser\n" #. type: Plain text #: guix-git/doc/contributing.texi:255 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}). For convenient Guix " "development, make sure to augment Guile’s load path so that it finds source " "files from your checkout:" msgstr "" "Geiser добавляет возможности интерактивной пошаговой разработки внутри " "Emacs: компиляция и запуск кода в буферах, доступ к онлайн-документации " "(docstrings), контекстные дополнения, @kbd{M-.} для перемещения к " "определениям объектов, REPL для тестирования кода и многое другое " "(@pxref{Introduction,,, geiser, Geiser User Manual}). Для удобной разработки " "Guix обязательно настройте Guile для загрузки файлов из вашей инстанции:" #. type: lisp #: guix-git/doc/contributing.texi:260 #, 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{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" #. type: Plain text #: guix-git/doc/contributing.texi:268 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 mode. Но также " "обратите внимание на @url{https://www.emacswiki.org/emacs/ParEdit, Paredit}. " "Данный пакет предоставляет средства для непосредственной работы с " "синтаксическим деревом, такие как объявление s-выражений, их упаковка, " "отклонение следующего s-выражения и т.д." #. type: cindex #: guix-git/doc/contributing.texi:269 #, no-wrap msgid "code snippets" msgstr "сниппеты кода" #. type: cindex #: guix-git/doc/contributing.texi:270 #, no-wrap msgid "templates" msgstr "шаблоны" #. type: cindex #: guix-git/doc/contributing.texi:271 #, no-wrap msgid "reducing boilerplate" msgstr "сокращение шаблонов" #. type: Plain text #: guix-git/doc/contributing.texi:278 msgid "" "We also provide templates for common git commit messages and package " "definitions in the @file{etc/snippets} directory. These templates can be " "used with @url{https://joaotavora.github.io/yasnippet/, YASnippet} to expand " "short trigger strings to interactive text snippets. You may want to add the " "snippets directory to the @var{yas-snippet-dirs} variable in Emacs." msgstr "" "Мы также предоставляем шаблоны для стандартных git-коммитов в каталоге " "@file{etc/snippets}. Эти шаблоны могут быть использованы вместе с " "@url{https://joaotavora.github.io/yasnippet/, YASnippet} для расширения " "коротких триггерных строк до интеракивных текстовых фрагментов. Вы можете " "добавить каталог сниппетов в переменную @var{yas-snippet-dirs} в Emacs." #. type: lisp #: guix-git/doc/contributing.texi:283 #, no-wrap 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{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" #. type: Plain text #: guix-git/doc/contributing.texi:291 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 "" "Тексты сообщений коммитов зависят от отображения затронутых файлов " "@url{https://magit.vc/, Magit}. Во время редактирования сообщения коммита " "типа @code{add} нажмите @kbd{TAB} после его ввода, чтобы вставить шаблон " "сообщения коммита добавления пакета; редактируя тип @code{update}, нажмите " "@kbd{TAB}, чтобы вставить шаблон обновления пакета; тип @code{https} - " "кнопка @kbd{TAB} вставит шаблон изменения адреса домашней страницы пакета на " "HTTPS." #. type: Plain text #: guix-git/doc/contributing.texi:297 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:298 #, no-wrap msgid "insert or update copyright" msgstr "внести или обновить авторские права" #. type: code{#1} #: guix-git/doc/contributing.texi:299 #, no-wrap msgid "M-x guix-copyright" msgstr "M-x guix-copyright" #. type: code{#1} #: guix-git/doc/contributing.texi:300 #, no-wrap msgid "M-x copyright-update" msgstr "M-x copyright-update" #. type: Plain text #: guix-git/doc/contributing.texi:304 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:310 #, 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{Assuming the Guix checkout is in ~/src/guix.}\n" "(load-file \"~/src/guix/etc/copyright.el\")\n" #. type: Plain text #: guix-git/doc/contributing.texi:313 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:315 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:319 #, 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:325 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}. Если вы хотите делать это автоматически после каждого " "сохранения в буфер, то добавьте @code{(add-hook 'after-save-hook 'copyright-" "update)} в Emacs." #. type: cindex #: guix-git/doc/contributing.texi:329 #, no-wrap msgid "packages, creating" msgstr "создание, пакетов" #. type: Plain text #: guix-git/doc/contributing.texi:333 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:341 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:350 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{not} не обязательны для создания " "пакетов. Для информации об определении пакетов см. @pxref{Defining Packages}." #. type: Plain text #: guix-git/doc/contributing.texi:356 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:359 #, 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:365 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:370 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:373 #, 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:380 #, fuzzy #| 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{@value{SUBSTITUTE-URL}, our continuous integration system}." 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{@value{SUBSTITUTE-URL} CI-системой}." #. type: cindex #: guix-git/doc/contributing.texi:381 #, no-wrap msgid "substituter" msgstr "заменяющий" #. type: Plain text #: guix-git/doc/contributing.texi:388 #, fuzzy #| msgid "" #| "Users can obtain the new package definition simply by running " #| "@command{guix pull} (@pxref{Invoking guix pull}). When " #| "@code{@value{SUBSTITUTE-SERVER}} 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." 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:402 guix-git/doc/contributing.texi:404 #: guix-git/doc/contributing.texi:405 #, no-wrap msgid "Software Freedom" msgstr "Свобода программного обеспечения" #. type: menuentry #: guix-git/doc/contributing.texi:402 msgid "What may go into the distribution." msgstr "Что может быть принято в дистрибутив." #. type: subsection #: guix-git/doc/contributing.texi:402 guix-git/doc/contributing.texi:432 #: guix-git/doc/contributing.texi:433 #, no-wrap msgid "Package Naming" msgstr "Как называть пакеты" #. type: menuentry #: guix-git/doc/contributing.texi:402 msgid "What's in a name?" msgstr "Что может быть в имени?" #. type: subsection #: guix-git/doc/contributing.texi:402 guix-git/doc/contributing.texi:465 #: guix-git/doc/contributing.texi:466 #, no-wrap msgid "Version Numbers" msgstr "Номера версий" #. type: menuentry #: guix-git/doc/contributing.texi:402 msgid "When the name is not enough." msgstr "Когда имени не достаточно." #. type: subsection #: guix-git/doc/contributing.texi:402 guix-git/doc/contributing.texi:572 #: guix-git/doc/contributing.texi:573 #, no-wrap msgid "Synopses and Descriptions" msgstr "Краткие обзоры и описания" #. type: menuentry #: guix-git/doc/contributing.texi:402 msgid "Helping users find the right package." msgstr "Помощь пользователю в поиске нужного пакета." #. type: subsection #: guix-git/doc/contributing.texi:402 guix-git/doc/contributing.texi:651 #: guix-git/doc/contributing.texi:652 #, no-wrap msgid "Snippets versus Phases" msgstr "Сниппеты против Фаз" #. type: menuentry #: guix-git/doc/contributing.texi:402 msgid "Whether to use a snippet, or a build phase." msgstr "Где использовать сниппет, а где фазу сборки." #. type: subsection #: guix-git/doc/contributing.texi:402 guix-git/doc/contributing.texi:666 #: guix-git/doc/contributing.texi:667 guix-git/doc/guix.texi:1980 #, no-wrap msgid "Emacs Packages" msgstr "Пакеты Emacs" #. type: menuentry #: guix-git/doc/contributing.texi:402 msgid "Your Elisp fix." msgstr "Ваш Elisp фикс." #. type: subsection #: guix-git/doc/contributing.texi:402 guix-git/doc/contributing.texi:706 #: guix-git/doc/contributing.texi:707 #, no-wrap msgid "Python Modules" msgstr "Модули Python" #. type: menuentry #: guix-git/doc/contributing.texi:402 msgid "A touch of British comedy." msgstr "Английский юмор." #. type: subsection #: guix-git/doc/contributing.texi:402 guix-git/doc/contributing.texi:782 #: guix-git/doc/contributing.texi:783 #, no-wrap msgid "Perl Modules" msgstr "Модули Perl" #. type: menuentry #: guix-git/doc/contributing.texi:402 msgid "Little pearls." msgstr "Жемчужинки." #. type: subsection #: guix-git/doc/contributing.texi:402 guix-git/doc/contributing.texi:798 #: guix-git/doc/contributing.texi:799 #, no-wrap msgid "Java Packages" msgstr "Пакеты Java" #. type: menuentry #: guix-git/doc/contributing.texi:402 msgid "Coffee break." msgstr "Кофе-брейк." #. type: subsection #: guix-git/doc/contributing.texi:402 guix-git/doc/contributing.texi:818 #: guix-git/doc/contributing.texi:819 #, no-wrap msgid "Rust Crates" msgstr "Rust Crates пакеты" #. type: menuentry #: guix-git/doc/contributing.texi:402 msgid "Beware of oxidation." msgstr "Остерегайтесь окисления." #. type: subsection #: guix-git/doc/contributing.texi:402 guix-git/doc/contributing.texi:852 #: guix-git/doc/contributing.texi:853 #, no-wrap msgid "Fonts" msgstr "Шрифты" #. type: menuentry #: guix-git/doc/contributing.texi:402 msgid "Fond of fonts." msgstr "Любителям шрифтов." #. type: cindex #: guix-git/doc/contributing.texi:408 #, no-wrap msgid "free software" msgstr "свободное программное обеспечение" #. type: Plain text #: guix-git/doc/contributing.texi:416 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{http://www.gnu.org/philosophy/free-sw." "html,четыре важнейшие свободы}: запускать программу, изучать и изменять " "исходный код программы, распространять самостоятельно точные копии и " "распространять изменённые версии. Пакеты, включенные в дистрибутив GNU, " "поставляют только программное обеспечение, которое даёт эти четыре свободы." #. type: Plain text #: guix-git/doc/contributing.texi:422 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{http://www.gnu.org/distros/free-system-" "distribution-guidelines.html,рекомендациям для свободных дистрибутивов}. Эти " "рекомендации, среди прочих указаний, также отклоняют несвободные встроенные " "программы, рекомендации несвободного программного обеспечения и содержат " "доводы о том, как взаимодействовать с торговыми марками и патентами." #. type: Plain text #: guix-git/doc/contributing.texi:430 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 "" "Но тем не менее, некоторые источники пакетов в оригинале содержат небольшие " "необязательные компоненты, которые нарушают указанные рекомендации, " "например, это может быть несвободный код. Если это происходит, такие " "компоненты удаляются применением соответствующих патчей или сниппетов в " "@code{исходный} код пакета @pxref{Defining Packages}). Так @code{guix build " "--source} возвращает \"восстановленный свободный\" исходный код вместо " "изначального исходника." #. type: cindex #: guix-git/doc/contributing.texi:435 #, no-wrap msgid "package name" msgstr "имя пакета" #. type: Plain text #: guix-git/doc/contributing.texi:443 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:448 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:456 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. Пользуйтесь здравым смыслом, чтобы сделать такие " "имена однозначными и значимыми. Например, пакет Guix для оболочки (shell) " "под названием ``s ''---это @code{s-shell} и @emph{нет} @code{s}. Не " "стесняйтесь обращаться к своим коллегам-хакерам за вдохновением." #. type: Plain text #: guix-git/doc/contributing.texi:461 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:463 msgid "Font package names are handled differently, @pxref{Fonts}." msgstr "При именовании пакетов шрифтов имена меняются, @pxref{Fonts}." #. type: cindex #: guix-git/doc/contributing.texi:468 #, no-wrap msgid "package version" msgstr "версия пакета" #. type: Plain text #: guix-git/doc/contributing.texi:477 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:480 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:482 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:494 #, 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:496 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:502 #, 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:506 #, no-wrap msgid "version number, for VCS snapshots" msgstr "номер версии, для снимков СКВ" #. type: Plain text #: guix-git/doc/contributing.texi:512 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 "" "Порой мы опакечиваем снепшоты исходников из системы контроля версий (СКВ) " "вместо официальных релизов. Это остаётся исключением, потому что только " "разработчики оригинальных программ решают, что является стабильным релизом. " "Иногда это имеет значение. Что же мы должны писать в поле @code{версия}?" #. type: Plain text #: guix-git/doc/contributing.texi:520 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 "" "Ясно, что нужно сделать отображение идентификатора коммита снепшота СКВ " "внутри строки версии, но мы также должны убедиться, что строка \"версия\" " "монотонно увеличивается, так чтобы @command{guix package --upgrade} могла " "определить, какая версия новее. Так как идентификаторы коммитов, что точно, " "Git, не увеличиваются, мы добавляем номер ревизии, которую мы увеличиваем " "каждый раз, когда мы обновляем до нового снепшота. Результирующая строка " "версии выглядит так:" #. type: example #: guix-git/doc/contributing.texi:529 #, 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" " | | `-- ID коммита оригинала\n" " | |\n" " | `--- версия пакета Guix \n" " |\n" "последняя версия оригинала\n" #. type: Plain text #: guix-git/doc/contributing.texi:539 #, fuzzy 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{version}, скажем, " "до 7 цифр. Это позволяет избежать эстетического раздражения (эстетика здесь " "имеет значение), а также проблем с ограничениями ОС, как например, " "максимальная длина (127 байт для ядра Linux). Лучшее - это использовать " "полный идентификатор коммита в поле источник --- @code{origin} --- что " "позволяет избегать повторов. Стандартное описание пакета может выглядеть так:" #. type: lisp #: guix-git/doc/contributing.texi:556 #, 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 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" #. type: deffn #: guix-git/doc/contributing.texi:558 #, fuzzy, no-wrap msgid "{Scheme Procedure} git-version @var{VERSION} @var{REVISION} @var{COMMIT}" msgstr "{Scheme Procedure} mixed-text-file @var{name} @var{text} @dots{}" #. type: deffn #: guix-git/doc/contributing.texi:560 #, fuzzy #| msgid "Return the list of packages known to @var{inferior}." msgid "Return the version string for packages using @code{git-fetch}." msgstr "Возвращает список пакетов, относящихся к ранней версии @var{inferior}." #. type: lisp #: guix-git/doc/contributing.texi:564 #, no-wrap msgid "" "(git-version \"0.2.3\" \"0\" \"93818c936ee7e2f1ba1b315578bde363a7d43d05\")\n" "@result{} \"0.2.3-0.93818c9\"\n" msgstr "" #. type: deffn #: guix-git/doc/contributing.texi:567 #, fuzzy, no-wrap msgid "{Scheme Procedure} hg-version @var{VERSION} @var{REVISION} @var{CHANGESET}" msgstr "{Scheme Procedure} mixed-text-file @var{name} @var{text} @dots{}" #. type: deffn #: guix-git/doc/contributing.texi:570 msgid "" "Return the version string for packages using @code{hg-fetch}. It works in " "the same way as @code{git-version}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:575 #, no-wrap msgid "package description" msgstr "описание пакета" #. type: cindex #: guix-git/doc/contributing.texi:576 #, no-wrap msgid "package synopsis" msgstr "краткий обзор пакета" #. type: Plain text #: guix-git/doc/contributing.texi:583 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 включает краткое описание " "и полное описание (@pxref{Defining Packages}). Краткие описания и полные " "описания важны: по ним производится поиск @command{guix package --search}, и " "это важная информация, которая помогает пользователям определить, насколько " "пакет соответствует их потребностям. Следовательно, пакеты должны отвечать " "требованиям, предъявляемым к ним." #. type: Plain text #: guix-git/doc/contributing.texi:591 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\". Краткое описание должно " "сообщать о том, что представляет собой пакет, то есть: \"Основные утилиты " "GNU (файлы, текст, оболочка)\", - или для чего он используется, то есть " "краткое описание для GNU@tie{}grep таково: \"Печать строк, содержащих паттерн" "\"." #. type: Plain text #: guix-git/doc/contributing.texi:601 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:609 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:610 #, no-wrap msgid "Texinfo markup, in package descriptions" msgstr "Разметка Texinfo, в описаниях пакетов" #. type: Plain text #: guix-git/doc/contributing.texi:619 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 package --" "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:625 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{https://translate." "fedoraproject.org/projects/guix/packages, at Weblate} чтобы как можно больше " "пользователей могли читать их на своем родном языке. Пользовательские " "интерфейсы ищут их и отображают на языке, заданном текущей локалью." #. type: Plain text #: guix-git/doc/contributing.texi:630 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:636 #, 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:644 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:649 #, 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\" 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" #. type: cindex #: guix-git/doc/contributing.texi:654 #, no-wrap msgid "snippets, when to use" msgstr "сниппеты, где использовать" #. type: Plain text #: guix-git/doc/contributing.texi:665 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 "" "Граница между использованием сниппета и фазы сборки для изменения исходных " "кодов пакета может быть неуловимой. Обычно сниппеты используются для " "удаления нежелательных файлов, таких как связанные библиотеки, несвободные " "исходники, или для простых замен. Исходник, производный от оригинального " "исходника, должен создавать исходник, который можно использовать для сборки " "пакета в любой системе, поддерживаемой апстримом пакета. (т.е. действовать " "как соответствующий исходник). В частности, сниппеты не должны встраивать " "элементы хранилища в источники; такое исправление лучше производить на " "этапах сборки. Обратитель к @code{origin} документации за дополнительной " "информацией (@pxref{origin Reference})." #. type: cindex #: guix-git/doc/contributing.texi:669 #, no-wrap msgid "emacs, packaging" msgstr "Пакеты Emacs" #. type: cindex #: guix-git/doc/contributing.texi:670 #, no-wrap msgid "elisp, packaging" msgstr "лицензии пакетов" #. type: Plain text #: guix-git/doc/contributing.texi:682 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 "" "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:687 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 "" "Elisp зависимости пакетов Emacs обычно предоставляются как @code{propagated-" "inputs}, если они необходимы во время работы программы. Что касается других " "пакетов, зависимости сборки или тестирования должны быть указаны как " "@code{native-inputs}." #. type: Plain text #: guix-git/doc/contributing.texi:696 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} variable). Например, пакет расширения " "yasnippet обычно включает каталог @file{snippets}, который можно скопировать " "в каталог установки, используя:" #. type: lisp #: guix-git/doc/contributing.texi:699 #, no-wrap msgid "#:include (cons \"^snippets/\" %default-include))\n" msgstr "#:include (cons \"^snippets/\" %default-include))\n" #. type: Plain text #: guix-git/doc/contributing.texi:705 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:709 #, no-wrap msgid "python" msgstr "python" #. type: Plain text #: guix-git/doc/contributing.texi:715 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 через переменную " "Scheme под именами @code{python-2} и @code{python} в соответствии с " "@ref{Version Numbers}. Чтобы предотвратить путанницу и конфликты имён других " "языков программирования, модули Python содержат слово @code{python}." #. type: Plain text #: guix-git/doc/contributing.texi:722 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}. " "Packages should be added when they are necessary; we don't add Python 2 " "variants of the package unless we are going to use them." msgstr "" "Некоторые модули совместимы только с одной версией Python, другие - с " "обоими. Если пакет Foo работает только с Python 3, мы называем его " "@code{python-foo}. Если он работает только с Python 2, мы называем его " "@code{python2-foo}. Если он совместим с обеими версиями, мы создаём два " "пакета с соответствующими именами." #. type: Plain text #: guix-git/doc/contributing.texi:728 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: subsubsection #: guix-git/doc/contributing.texi:729 #, no-wrap msgid "Specifying Dependencies" msgstr "Перечисление зависимостей" #. type: cindex #: guix-git/doc/contributing.texi:730 #, no-wrap msgid "inputs, for Python packages" msgstr "входные данные, для пакетов Python" #. type: Plain text #: guix-git/doc/contributing.texi:735 msgid "" "Dependency information for Python packages is usually available in the " "package source tree, with varying degrees of accuracy: in the @file{setup." "py} file, in @file{requirements.txt}, or in @file{tox.ini}." msgstr "" "Информация о зависимостях для пакетов Python обычно доступна в дереве " "исходников пакета с различной степенью точности --- в файле @file{setup.py}, " "в @file{requirements.txt} или в @file{tox.ini}." #. type: Plain text #: guix-git/doc/contributing.texi:741 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 "" "Ваша миссия при написании рецепта сборки пакета Python --- отобразить эти " "зависимости в должном типе \"input\" (@pxref{package Reference, inputs}). " "Хотя импортёр @code{pypi} обычно отрабатывает хорошо (@pxref{Invoking guix " "import}), возможно, вы желаете просмотреть приведённый чек-лист, чтобы " "узнать о зависимостях." #. type: itemize #: guix-git/doc/contributing.texi:749 msgid "" "We currently package Python 2 with @code{setuptools} and @code{pip} " "installed like Python 3.4 has per default. Thus you don't need to specify " "either of these as an input. @command{guix lint} will warn you if you do." msgstr "" "В настоящее время мы поставляем пакет Python 2 с @code{setuptools} и " "@code{pip}, установленные как Python 3.4 по умолчанию. Так что не нужно " "обозначать их как входные данные (input). @command{guix lint} сообщит об " "ошибке, если это происходит." #. type: itemize #: guix-git/doc/contributing.texi:755 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}. Они обычно определены с ключевым словом @code{install_requires} в " "@file{setup.py} или в файле @file{requirements.txt}." #. type: itemize #: guix-git/doc/contributing.texi:763 msgid "" "Python packages required only at build time---e.g., those listed with the " "@code{setup_requires} keyword in @file{setup.py}---or only for testing---e." "g., those in @code{tests_require}---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, необходимые только во время сборки, то есть обозначенные в " "списке с ключевым словом @code{setup_requires} в @file{setup.py}, или только " "для тестов, то есть со словом @code{tests_require}, указываются в " "@code{native-inputs}. Основная причина в том, что, первое, они не должны " "распространяться, потому что они не нужны для запуска и работы, и второе, в " "контексте кросс-компиляции это \"нативные\" входные данные, которые нам " "требуются." #. type: itemize #: guix-git/doc/contributing.texi:767 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:772 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:778 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:785 #, no-wrap msgid "perl" msgstr "perl" #. type: Plain text #: guix-git/doc/contributing.texi:796 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:801 #, no-wrap msgid "java" msgstr "java" #. type: Plain text #: guix-git/doc/contributing.texi:804 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:810 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:816 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:821 #, no-wrap msgid "rust" msgstr "rust" #. type: Plain text #: guix-git/doc/contributing.texi:824 msgid "" "Rust 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:828 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 "" "Чтобы предотвратить конфликты пространства имен, мы используем префикс " "@code{rust-} для всех остальных пакетов Rust. Имя должно быть изменено на " "строчные буквы, если необходимо, и тире должны остаться на месте." #. type: Plain text #: guix-git/doc/contributing.texi:834 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 использование нескольких несовместимых версий пакета в " "любой момент времени является нормой, поэтому у всех пакетов должен быть " "версионный суффикс. Если пакет прошел версию 1.0.0, тогда достаточно только " "основного номера версии (например, @:@code{rust-clap-2}), в противном случае " "суффикс версии должен содержать как основную, так и вспомогательную версию " "(например, @:@code{rust-rand-0,6})." #. type: Plain text #: guix-git/doc/contributing.texi:844 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{Build Systems, @code{cargo-build-system}}) представляет " "@code{#:cargo-input} и ключевые слова @code{cargo-development-input} в " "качестве аргументов для системы сборки. Было бы полезно думать о них как о " "@code{propagated-inputs} и @code{native-inputs}. Rust @code{dependencies} и " "@code{build-dependencies} должны идти в @code{#:cargo-input}, а @code{dev-" "dependencies} должен идти в @code{#:cargo-development-input}. Если пакет " "Rust ссылается на другие библиотеки, то следует использовать стандартное " "размещение в @code{input} и т.п." #. type: Plain text #: guix-git/doc/contributing.texi:850 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?}, когда это возможно. Конечно, это не всегда возможно, " "так как пакет может быть разработан для другой операционной системы, " "зависить от новых функций компилятора Rust для разработчиков (Nightly), или " "тесты могли устареть с момента выпуска." #. type: cindex #: guix-git/doc/contributing.texi:855 guix-git/doc/guix.texi:1915 #, no-wrap msgid "fonts" msgstr "шрифты" #. type: Plain text #: guix-git/doc/contributing.texi:861 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:865 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:873 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{-}, если литейное имя " "известно, а затем - имя семейства шрифтов, в котором пробелы заменяются " "дефисами (и обычно все буквы в верхнем регистре заменяются на нижний " "регистр). Например, семейство шрифтов Gentium от SIL опакечивается под " "именем @code{font-sil-gentium}." #. type: Plain text #: guix-git/doc/contributing.texi:882 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 Serfif и Liberation Mono. Они могли бы " "опакечиваться отдельно под именами @code{font-liberation-sans} и так далее, " "но так как они распространяются вместе под общим именем, мы предпочитаем " "опакечивать их вместе как @code{font-liberation}." #. type: Plain text #: guix-git/doc/contributing.texi:888 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:896 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 Coding Standards}). Но они не имеют исчерпывающих указаний " "для Scheme, так что есть дополнительные правила." #. type: subsection #: guix-git/doc/contributing.texi:902 guix-git/doc/contributing.texi:904 #: guix-git/doc/contributing.texi:905 #, no-wrap msgid "Programming Paradigm" msgstr "Парадигма программирования" #. type: menuentry #: guix-git/doc/contributing.texi:902 msgid "How to compose your elements." msgstr "Как компоновать элементы." #. type: subsection #: guix-git/doc/contributing.texi:902 guix-git/doc/contributing.texi:911 #: guix-git/doc/contributing.texi:912 #, no-wrap msgid "Modules" msgstr "Модули" #. type: menuentry #: guix-git/doc/contributing.texi:902 msgid "Where to store your code?" msgstr "Где разместить код?" #. type: subsection #: guix-git/doc/contributing.texi:902 guix-git/doc/contributing.texi:922 #: guix-git/doc/contributing.texi:923 #, no-wrap msgid "Data Types and Pattern Matching" msgstr "Типы данных и поиск образцов" #. type: menuentry #: guix-git/doc/contributing.texi:902 msgid "Implementing data structures." msgstr "Использование структур данных." #. type: subsection #: guix-git/doc/contributing.texi:902 guix-git/doc/contributing.texi:937 #: guix-git/doc/contributing.texi:938 #, no-wrap msgid "Formatting Code" msgstr "Форматирование кода" #. type: menuentry #: guix-git/doc/contributing.texi:902 msgid "Writing conventions." msgstr "Написание соглашений." #. type: Plain text #: guix-git/doc/contributing.texi:910 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 "" "Код Scheme в Guix написан в чисто функциональном стиле. Одно исключение - " "это код, который вызывает ввод/вывод и процедуры, которые реализуют " "низкоровневые операции, как например, процедура @code{memoize}." #. type: Plain text #: guix-git/doc/contributing.texi:918 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." msgstr "" "Модули Guile, которые вызываются для сборки, должны жить в пространстве имён " "@code{(guix build @dots{})}. Они не должны ссылаться на другие модули Guix " "или GNU. Однако это нормально, если модуль типа \"host-side\" использует " "модуль типа build-side." #. type: Plain text #: guix-git/doc/contributing.texi:921 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:930 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: Plain text #: guix-git/doc/contributing.texi:936 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})." msgstr "" "Код Guix должен определить соответствующие типы данных (то есть пользуясь, " "например, @code{define-record-type*}) вместо насущных списков. А также он " "должен использовать поиск по образцам с помощью модуля Guile @code{(ice-9 " "match)}, особенно для поиска списков." #. type: cindex #: guix-git/doc/contributing.texi:940 #, no-wrap msgid "formatting code" msgstr "форматирование кода" #. type: cindex #: guix-git/doc/contributing.texi:941 #, no-wrap msgid "coding style" msgstr "стиль кодирования" #. type: Plain text #: guix-git/doc/contributing.texi:948 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's Lisp Style Rules}. Этот документ, к счастью, содержит " "большинство соглашений, которые применимы также для кода Guile. Это очень " "вдумчиая работа, пожалуйста, прочтите её." #. type: Plain text #: guix-git/doc/contributing.texi:955 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, как например, макрос " "@code{substitute*}, имеют специальные правила отступов. Они определены в " "файле @file{.dir-locals.el}, которые использует Emacs автоматически. Также " "отметим, что Emacs-Guix предоставляет режим @code{guix-devel-mode}, который " "вставляет отступы и подсвечивает код Guix должным образом " "(@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." #. type: cindex #: guix-git/doc/contributing.texi:956 #, no-wrap msgid "indentation, of code" msgstr "отступы, в коде" #. type: cindex #: guix-git/doc/contributing.texi:957 #, no-wrap msgid "formatting, of code" msgstr "форматировние, кода" #. type: Plain text #: guix-git/doc/contributing.texi:960 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:963 #, no-wrap msgid "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n" msgstr "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n" #. type: Plain text #: guix-git/doc/contributing.texi:969 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 "" "Это автоматически расставит отступы в определении @var{package} в файле " "@file{gnu/packages/@var{file}.scm}, запустив Emacs в фоновом режиме. Чтобы " "расставить отступы во всём файле, приведите слеующий аргумент:" #. type: example #: guix-git/doc/contributing.texi:972 #, no-wrap msgid "./etc/indent-code.el gnu/services/@var{file}.scm\n" msgstr "./etc/indent-code.el gnu/services/@var{file}.scm\n" #. type: cindex #: guix-git/doc/contributing.texi:974 #, no-wrap msgid "Vim, Scheme code editing" msgstr "Vim, редактирование кода Scheme" #. type: Plain text #: guix-git/doc/contributing.texi:980 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}}." #. type: Plain text #: guix-git/doc/contributing.texi:984 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 "" "Мы требуем, чтобы все высокоуровневые процедуры содержали строки " "документации. Хотя это требование может не учитываться для простых приватных " "процедур в пространстве имён @code{(guix build @dots{})}." #. type: Plain text #: guix-git/doc/contributing.texi:987 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:1001 #, 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. Seasoned " #| "Guix developers may also want to look at the section on commit access " #| "(@pxref{Commit Access})." 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,, 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. Доступ к репозиторию не обязателен. Мы приветствуем вклады в разработку " "в виде патчей, которые производит @code{git format-patch}, отправленных в " "рассылку @email{guix-patches@@gnu.org}." #. type: Plain text #: guix-git/doc/contributing.texi:1008 msgid "" "This mailing list is backed by a Debbugs instance, which allows us to keep " "track of submissions (@pxref{Tracking Bugs and Patches}). 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{NNN}@@debbugs.gnu." "org}, where @var{NNN} is the tracking number (@pxref{Sending a Patch " "Series})." msgstr "" "Для данной рассылки создаются резервные копии с помощью Debbugs, что " "позволяет нам отслеживать присылаемые патчи (@pxref{Tracking Bugs and " "Patches}). Каждому сообщению, отправленному в эту рассылку, присваивается " "новый номер трекинга. Затем пользователи могут общаться относительно " "конкретного патча, отправляя электронные письма на адрес @code{@var{NNN}" "@@debbugs.gnu.org}, где @var{NNN} — это номер трекинга (@pxref{Sending a " "Patch Series})." #. type: Plain text #: guix-git/doc/contributing.texi:1012 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 Coding Standards}); можно просмотреть историю коммитов, " "например." #. type: Plain text #: guix-git/doc/contributing.texi:1015 msgid "" "Before submitting a patch that adds or modifies a package definition, please " "run through this check list:" msgstr "" "Перед отправкой патча, который добавляет или изменяет описание пакета, " "пожалуйста, выполните следующие проверки:" #. type: code{#1} #: guix-git/doc/contributing.texi:1017 guix-git/doc/contributing.texi:1220 #, no-wrap msgid "git format-patch" msgstr "" #. type: code{#1} #: guix-git/doc/contributing.texi:1018 #, fuzzy, no-wrap #| msgid "git-fetch" msgid "git-format-patch" msgstr "git-fetch" #. type: enumerate #: guix-git/doc/contributing.texi:1022 msgid "" "We recommend to use the command @code{git format-patch --base} to include " "the commit where your patch applies." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:1028 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:1032 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:1037 msgid "" "Run @code{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 "" "Запустите @code{guix lint @var{package}}, где @var{package} - это имя нового " "изменённого пакета, и устраните любые ошибки из отчёта (@pxref{Invoking guix " "lint})." #. type: enumerate #: guix-git/doc/contributing.texi:1041 msgid "" "Make sure the package builds on your platform, using @code{guix build " "@var{package}}." msgstr "" "Убедитесь, что пакет собирается на вашей платформе, используя @code{guix " "build @var{package}}." #. type: enumerate #: guix-git/doc/contributing.texi:1049 #, 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 following service to the list of services in " #| "your @code{operating-system} configuration:" 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{operating-system}:" #. type: lisp #: guix-git/doc/contributing.texi:1054 #, fuzzy, 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:1057 msgid "Then reconfigure your system." msgstr "И тогда запустите переконфигурирование системы." #. type: enumerate #: guix-git/doc/contributing.texi:1062 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}. Например, чтобы собрать пакет \"hello\" для архитектур armhf, " "aarch64, или mips64 вы должны выполнить соответственно следующее:" #. type: example #: guix-git/doc/contributing.texi:1065 #, 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:1068 #, no-wrap msgid "bundling" msgstr "сборка" #. type: enumerate #: guix-git/doc/contributing.texi:1071 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:1080 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:1089 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 the @code{texlive-tiny} " "package or @code{texlive-union} procedure instead." msgstr "" "Просмотрите отчеты @command{guix size} (@pxref{Invoking guix size}). Это " "позволит найти связь с другими пакетами, сохранившуюся без необходимости. " "Это также позволяет решить, как разделить пакет (@pxref{Packages with " "Multiple Outputs}) и какие должны использоваться опциональные зависимости. В " "частности, это способ избежать использование большого @code{texlive} как " "зависимости и использовать @code{texlive-tiny} или @code{texlive-union} " "вместо него." #. type: enumerate #: guix-git/doc/contributing.texi:1094 #, fuzzy #| msgid "" #| "For important changes, check that dependent package (if applicable) are " #| "not affected by the change; @code{guix refresh --list-dependent " #| "@var{package}} will help you do that (@pxref{Invoking guix refresh})." msgid "" "For important changes, check that dependent packages (if applicable) are not " "affected by the change; @code{guix refresh --list-dependent @var{package}} " "will help you do that (@pxref{Invoking guix refresh})." msgstr "" "Для важных изменений проверьте, что зависимости пакета (если они есть) не " "затронуты изменениями. @code{guix refresh --list-dependent @var{package}} " "поможет вам сделать это (@pxref{Invoking guix refresh})." #. type: cindex #: guix-git/doc/contributing.texi:1096 #, no-wrap msgid "branching strategy" msgstr "стратегия бренчей" #. type: cindex #: guix-git/doc/contributing.texi:1097 #, no-wrap msgid "rebuild scheduling strategy" msgstr "стратегия планирования пересборки" #. type: enumerate #: guix-git/doc/contributing.texi:1100 msgid "" "Depending on the number of dependent packages and thus the amount of " "rebuilding induced, commits go to different branches, along these lines:" msgstr "" "В зависимости от числа пакетов зависимостей и, как следствие, числа " "вызываемых пересборок, коммиты отправляются в разные бренчи следующим " "образом:" #. type: item #: guix-git/doc/contributing.texi:1102 #, no-wrap msgid "300 dependent packages or less" msgstr "300 пакетов зависимостей или менее" #. type: table #: guix-git/doc/contributing.texi:1104 msgid "@code{master} branch (non-disruptive changes)." msgstr "бренч @code{master} (не разрушающие изменения)." #. type: item #: guix-git/doc/contributing.texi:1105 #, no-wrap msgid "between 300 and 1,800 dependent packages" msgstr "от 300 до 1200 пакетов зависимостей" #. type: table #: guix-git/doc/contributing.texi:1111 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} (не разрушающие изменения). Этот бренч предназначен для " "включения в @code{master} каждые 3 недели (примерно). Тематические изменения " "(т.е. обновление стека GNOME) могут отправляться в специальный бренч, " "скажем, @code{gnome-updates}." #. type: item #: guix-git/doc/contributing.texi:1112 #, no-wrap msgid "more than 1,800 dependent packages" msgstr "более 1200 пакетов зависимостей" #. type: table #: guix-git/doc/contributing.texi:1117 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} (может включать главные и потенциально " "разрушительные изменения). Этот бренч предназначен для включения в " "@code{master} каждые 2,5 месяца примерно." #. type: enumerate #: guix-git/doc/contributing.texi:1124 #, fuzzy 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{https://hydra.gnu.org/project/gnu, размещаются на ферме " "сборки} и включаются в @code{master} после первой удачной сборки. Это " "позволяет нам исправлять проблемы перед тем, как они дойдут до " "пользователей, и сократить окно, в течение которого собранные бинарники не " "доступны." #. type: enumerate #: guix-git/doc/contributing.texi:1133 msgid "" "When we decide to start building the @code{staging} or @code{core-updates} " "branches, they will be forked and renamed with the suffix @code{-frozen}, at " "which time only bug fixes may be pushed to the frozen branches. The " "@code{core-updates} and @code{staging} branches will remain open to accept " "patches for the next cycle. Please ask on the mailing list or IRC if unsure " "where to place a patch." msgstr "" "Когда мы решим начать сборку веток @code{staging} или @code{core-updates}, " "они будут форкнуты (forked) и переименованы с суффиксом @code{-frozen}, " "после чего замороженные ветки будут получать только исправления ошибок. " "Ветки @code{core-updates} и @code{staging} остануться открыты для патчей в " "следующем цикле. Если вы не знаете, где разместить патч, спросите в списке " "рассылки или в IRC." #. type: cindex #: guix-git/doc/contributing.texi:1135 #, no-wrap msgid "determinism, of build processes" msgstr "детерминизм, процесса сборки" #. type: cindex #: guix-git/doc/contributing.texi:1136 #, no-wrap msgid "reproducible builds, checking" msgstr "воспроизводимые сорки, проверка" #. type: enumerate #: guix-git/doc/contributing.texi:1140 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:1143 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:1146 #, no-wrap msgid "guix build --rounds=2 my-package\n" msgstr "guix build --rounds=2 my-package\n" #. type: enumerate #: guix-git/doc/contributing.texi:1150 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:1160 #, fuzzy #| 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}} 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." 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}}, чтобы " "проверить, что это даёт результат такой же, как у вас. Ещё лучше найти " "другую машину, на которой можно собрать это и выполнить @command{guix " "publish}. Так как другая удалённая машина дл сборки отличается от вашей, это " "может выявить проблемы, нарушающие детерминизм, связанные с аппаратным " "обеспечением, то есть вызванные использованием различных расширений " "ассемблера или другого ядра операционной системы, то есть касательно файлов " "@code{uname} или @file{/proc}." #. type: enumerate #: guix-git/doc/contributing.texi:1166 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, singular \"they\"@comma{} \"their" "\"@comma{} \"them\"} и т.д." #. type: enumerate #: guix-git/doc/contributing.texi:1170 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:1173 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:1178 msgid "" "Please follow our code formatting rules, possibly running the @command{etc/" "indent-code.el} 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:1186 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 " "@command{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 не являются идентичными между " "поколениями, так что в этом случае часто лучше клонировать репозиторий. Не " "используйте поле @command{name} в URL, это не очень удобно: если имя " "изменится, тогда URL будет неправильным." #. type: enumerate #: guix-git/doc/contributing.texi:1190 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:1193 msgid "" "Make sure your changes do not break Guix and simulate a @code{guix pull} " "with:" msgstr "" "Убедитесь, что ваши изменения не ломают Guix и имитируйте @code{guix pull} " "вместе с:" #. type: example #: guix-git/doc/contributing.texi:1195 #, 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:1208 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{}}. You may use your email client or the " "@command{git send-email} command (@pxref{Sending a Patch Series}). 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:1213 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:1216 msgid "" "When a bug is resolved, please close the thread by sending an email to " "@email{@var{NNN}-done@@debbugs.gnu.org}." msgstr "" "Когда баг исправлен, пожалуйста, закройте тему, отправив сообщение на " "@email{@var{NNN}-done@@debbugs.gnu.org}." #. type: subsection #: guix-git/doc/contributing.texi:1217 guix-git/doc/contributing.texi:1218 #, fuzzy, no-wrap #| msgid "Configuring the boot loader." msgid "Configuring Git" msgstr "Конфигурирование загрузчика диска." #. type: cindex #: guix-git/doc/contributing.texi:1219 #, fuzzy, no-wrap #| msgid "configuration" msgid "git configuration" msgstr "Конфигурирование системы" #. type: code{#1} #: guix-git/doc/contributing.texi:1221 guix-git/doc/contributing.texi:1256 #, no-wrap msgid "git send-email" msgstr "git send-email" #. type: Plain text #: guix-git/doc/contributing.texi:1229 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 "" #. type: Plain text #: guix-git/doc/contributing.texi:1235 msgid "" "We provide some default settings in @file{etc/git/gitconfig} which modify " "how patches are generated, making them easier to read and apply. These " "settings can be applied by manually copying them to @file{.git/config} in " "your checkout, or by telling Git to include the whole file:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:1238 #, no-wrap msgid "git config --local include.path ../etc/git/gitconfig\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1242 msgid "" "From then on, any changes to @file{etc/git/gitconfig} would automatically " "take effect." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1247 msgid "" "Since the first patch in a series must be sent separately (@pxref{Sending a " "Patch Series}), it can also be helpful to tell @command{git format-patch} to " "handle the e-mail threading instead of @command{git send-email}:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:1251 #, no-wrap msgid "" "git config --local format.thread shallow\n" "git config --local sendemail.thread no\n" msgstr "" #. type: anchor{#1} #: guix-git/doc/contributing.texi:1253 guix-git/doc/contributing.texi:1255 #, no-wrap msgid "Sending a Patch Series" msgstr "Отправка пакета исправлений" #. type: cindex #: guix-git/doc/contributing.texi:1255 #, no-wrap msgid "patch series" msgstr "группы патчей" #. type: Plain text #: guix-git/doc/contributing.texi:1266 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}. " "Команду @command{git send-email} можно установить с помощью @command{guix " "install git:send-email}." #. type: Plain text #: guix-git/doc/contributing.texi:1272 msgid "" "This section describes how the Guix project tracks its bug reports and patch " "submissions." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:1277 guix-git/doc/contributing.texi:1279 #: guix-git/doc/contributing.texi:1280 #, no-wrap msgid "The Issue Tracker" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:1277 msgid "The official bug and patch tracker." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:1277 guix-git/doc/contributing.texi:1293 #: guix-git/doc/contributing.texi:1294 #, fuzzy, no-wrap #| msgid "user interfaces" msgid "Debbugs User Interfaces" msgstr "пользовательские интерфейсы" #. type: menuentry #: guix-git/doc/contributing.texi:1277 msgid "Ways to interact with Debbugs." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:1277 guix-git/doc/contributing.texi:1333 #: guix-git/doc/contributing.texi:1334 #, fuzzy, no-wrap #| msgid "Debbugs, issue tracking system" msgid "Debbugs Usertags" msgstr "Debbugs, система отслеживания ошибок" #. type: menuentry #: guix-git/doc/contributing.texi:1277 msgid "Tag reports with custom labels." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1282 #, no-wrap msgid "bug reports, tracking" msgstr "сообщения об ошибке, отслеживание" #. type: cindex #: guix-git/doc/contributing.texi:1283 #, no-wrap msgid "patch submissions, tracking" msgstr "отправка патча, отслеживание" #. type: cindex #: guix-git/doc/contributing.texi:1284 #, no-wrap msgid "issue tracking" msgstr "отслеживание заявок об ошибках" #. type: cindex #: guix-git/doc/contributing.texi:1285 #, no-wrap msgid "Debbugs, issue tracking system" msgstr "Debbugs, система отслеживания ошибок" #. type: Plain text #: guix-git/doc/contributing.texi:1292 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 "" "Отчёты об ошибках и предложенные исправления сейчас отслеживаются с помощью " "Debbugs на веб-сайте @uref{https://bugs.gnu.org}. Отчёты об ошибках, " "относящиеся к пакету @code{guix} (на языке Debbugs), отправляйте по адресу " "@email{bug-guix@@gnu.org}, а предлагаемые исправления для пакета @code{guix-" "patches} — по адресу @email{guix-patches@@gnu.org} (@pxref{Submitting " "Patches})." #. type: Plain text #: guix-git/doc/contributing.texi:1298 msgid "" "A web interface (actually @emph{two} web interfaces!) are available to " "browse issues:" msgstr "" "Для просмотра вопросов доступен веб-интерфейс (на самом деле даже @emph{два} " "веб-интерфейса):" #. type: itemize #: guix-git/doc/contributing.texi:1307 msgid "" "@url{https://issues.guix.gnu.org} provides a pleasant interface@footnote{The " "web interface at @url{https://issues.guix.gnu.org} is powered by Mumi, a " "nice piece of software written in Guile, and you can help! See @url{https://" "git.elephly.net/gitweb.cgi?p=software/mumi.git}.} to browse bug reports and " "patches, and to participate in discussions;" msgstr "" "@url{https://issues.guix.gnu.org} предоставляет приятный " "интерфейс@footnote{Веб-интерфейс по адресу @url{https://issues.guix.gnu.org} " "работает на Mumi, прятном примере програмного обеспечения, написанного на " "Guile, и вы можете помочь! См.@url{https://git.elephly.net/gitweb.cgi?" "p=software/mumi.git}.} чтобы просматривать отчеты об ошибках и исправлениях, " "а также участвовать в обсуждениях;" #. type: itemize #: guix-git/doc/contributing.texi:1309 msgid "@url{https://bugs.gnu.org/guix} lists bug reports;" msgstr "@url{https://gnupg.org/, GNU libgcrypt} списки отчётов об ошибках;" #. type: itemize #: guix-git/doc/contributing.texi:1311 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:1316 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: Plain text #: guix-git/doc/contributing.texi:1319 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:1322 #, no-wrap msgid "guix install emacs-debbugs\n" msgstr "guix install emacs-debbugs\n" #. type: Plain text #: guix-git/doc/contributing.texi:1325 msgid "For example, to list all open issues on @code{guix-patches}, hit:" msgstr "" "Например, чтбы уввидеть все открытые заявки на @code{guix-patches}, введите:" #. type: example #: guix-git/doc/contributing.texi:1328 #, 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:1332 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:1336 #, no-wrap msgid "usertags, for debbugs" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1337 #, fuzzy, no-wrap #| msgid "Debbugs, issue tracking system" msgid "Debbugs usertags" msgstr "Debbugs, система отслеживания ошибок" #. type: Plain text #: guix-git/doc/contributing.texi:1343 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.}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1349 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 "" #. type: Plain text #: guix-git/doc/contributing.texi:1353 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 "" #. type: Plain text #: guix-git/doc/contributing.texi:1358 msgid "" "In Guix, we are experimenting with usertags to keep track of architecture-" "specific issues. To facilitate collaboration, all our usertags are " "associated with the single user @code{guix}. The following usertags " "currently exist for that user:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:1361 guix-git/doc/guix.texi:542 #, no-wrap msgid "powerpc64le-linux" msgstr "aarch64-linux" #. type: table #: guix-git/doc/contributing.texi:1369 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 "" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: cindex #: guix-git/doc/contributing.texi:1370 guix-git/doc/guix.texi:3045 #: guix-git/doc/guix.texi:4733 #, no-wrap msgid "reproducibility" msgstr "воспроизводимость" #. type: table #: guix-git/doc/contributing.texi:1374 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: Plain text #: guix-git/doc/contributing.texi:1381 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 "" #. type: cindex #: guix-git/doc/contributing.texi:1385 #, no-wrap msgid "commit access, for developers" msgstr "доступ для отправки коммитов, для разработчиков" #. type: Plain text #: guix-git/doc/contributing.texi:1391 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. 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 "" #. type: Plain text #: guix-git/doc/contributing.texi:1395 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:1396 #, fuzzy, no-wrap #| msgid "Commit Access" msgid "Applying for Commit Access" msgstr "Доступ к коммитам" #. type: Plain text #: guix-git/doc/contributing.texi:1400 #, fuzzy #| msgid "" #| "For frequent contributors, having write access to the repository is " #| "convenient. When you deem it necessary, consider applying for commit " #| "access by following these steps:" msgid "" "When you deem it necessary, consider applying for commit access by following " "these steps:" msgstr "" "Для постоянных участников удобно иметь доступ для записи в хранилище. Когда " "вы сочтете это необходимым, рассмотрите возможность подачи заявки на коммит, " "выполнив следующие действия:" #. type: enumerate #: guix-git/doc/contributing.texi:1409 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:1415 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 "" "Ожидается, что коммиттеры взаимодействовали с вами как c участником и могли " "судить, достаточно ли вы знакомы с проектом. Это @emph{не} суждение о " "ценности вашей работы, поэтому отказ следует скорее интерпретировать как " "«давайте попробуем позже»." #. type: enumerate #: guix-git/doc/contributing.texi:1422 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-keepers@@gnu.org} сообщение с указанием ваших " "намерений, перечисляя трех коммиттеров, поддерживающих вашу заявку, " "подписанных ключом OpenPGP, который вы будете использовать для подписания " "коммитов, и указав свой отпечаток (смотри ниже). Ознакомся с @uref{https://" "emailselfdefense.fsf.org/ru/}, чтобы познакомиться с криптографией с " "открытым ключом с помощью GnuPG." #. type: enumerate #: guix-git/doc/contributing.texi:1428 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:1431 #, no-wrap msgid "digest-algo sha512\n" msgstr "digest-algo sha512\n" #. type: enumerate #: guix-git/doc/contributing.texi:1436 msgid "" "Maintainers ultimately decide whether to grant you commit access, usually " "following your referrals' recommendation." msgstr "" "Маинтайнеры решают, предоставлять ли вам доступ к коммитам, обычно следуя " "рекомендациям ваших рефералов." #. type: cindex #: guix-git/doc/contributing.texi:1438 #, no-wrap msgid "OpenPGP, signed commits" msgstr "Коммиты, подписанные OpenPGP" #. type: enumerate #: guix-git/doc/contributing.texi:1443 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:1444 guix-git/doc/guix.texi:16976 #, no-wrap msgid "Important" msgstr "Важно" #. type: quotation #: guix-git/doc/contributing.texi:1446 msgid "Before you can push for the first time, maintainers must:" msgstr "Перед тем, как вы отправите изменения впервые, сопровождающие должны:" #. type: enumerate #: guix-git/doc/contributing.texi:1450 msgid "add your OpenPGP key to the @code{keyring} branch;" msgstr "добавить ваш OpenPGP ключ в @code{keyring} ветку;" #. type: enumerate #: guix-git/doc/contributing.texi:1453 msgid "" "add your OpenPGP fingerprint to the @file{.guix-authorizations} file of the " "branch(es) you will commit to." msgstr "" "добавьте отпечаток вашего OpenPGP ключа в @file{.guix-authorizations} файл " "ветки (-ок), которые вы подпишите (commit)." #. type: enumerate #: guix-git/doc/contributing.texi:1458 msgid "Make sure to read the rest of this section and... profit!" msgstr "Обязательно прочтите остальную часть этого раздела!" #. type: quotation #: guix-git/doc/contributing.texi:1464 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:1468 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:1475 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 "" "Все коммиты, которые передаются в центральный репозиторий в Саванне, должны " "быть подписаны ключом OpenPGP, а открытый ключ должен быть загружен в вашу " "учетную запись пользователя на Саванне и на серверы открытых ключей, такие " "как @code{keys.openpgp.org}. Чтобы настроить Git для автоматической подписи " "коммитов, запустите:" #. type: example #: guix-git/doc/contributing.texi:1478 #, no-wrap msgid "" "git config commit.gpgsign true\n" "\n" msgstr "" #. type: example #: guix-git/doc/contributing.texi:1481 #, fuzzy, no-wrap #| msgid "" #| "git config commit.gpgsign true\n" #| "git config user.signingkey CABBA6EA1DC0FF33\n" msgid "" "# Substitute the fingerprint of your public PGP key.\n" "git config user.signingkey CABBA6EA1DC0FF33\n" msgstr "" "git config commit.gpgsign true\n" "git config user.signingkey CABBA6EA1DC0FF33\n" #. type: Plain text #: guix-git/doc/contributing.texi:1486 #, fuzzy #| msgid "" #| "You can prevent yourself from accidentally pushing unsigned commits to " #| "Savannah by using the pre-push Git hook called located at @file{etc/git/" #| "pre-push}:" msgid "" "You can prevent yourself from accidentally pushing unsigned commits to " "Savannah by using the pre-push Git hook located at @file{etc/git/pre-push}:" msgstr "" "Вы можете предотвратить случайную отправку неподписанных коммитов в Саванну " "с помощью pre-push Git hook, расположенной в @file{etc/git/pre-push}:" #. type: example #: guix-git/doc/contributing.texi:1489 #, no-wrap msgid "cp etc/git/pre-push .git/hooks/pre-push\n" msgstr "cp etc/git/pre-push .git/hooks/pre-push\n" #. type: subsection #: guix-git/doc/contributing.texi:1491 #, fuzzy, no-wrap #| msgid "Commit Access" msgid "Commit Policy" msgstr "Доступ к коммитам" #. type: Plain text #: guix-git/doc/contributing.texi:1496 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:1501 msgid "" "Non-trivial patches should always be posted to @email{guix-patches@@gnu.org} " "(trivial patches include fixing typos, etc.). This mailing list fills the " "patch-tracking database (@pxref{Tracking Bugs and Patches})." msgstr "" "Нетривиальные патчи всегда должны публиковаться на @email{guix-patches@@gnu." "org} (тривиальные патчи включают исправление опечаток и т.д.). Этот список " "рассылки заполняет базу данных отслеживания патчей (@pxref{Tracking Bugs and " "Patches})." #. type: Plain text #: guix-git/doc/contributing.texi:1510 msgid "" "For patches that just add a new package, and a simple one, it's OK to " "commit, if you're confident (which means you successfully built it in a " "chroot setup, and have done a reasonable copyright and license auditing). " "Likewise for package upgrades, except upgrades that trigger a lot of " "rebuilds (for example, upgrading GnuTLS or GLib). We have a mailing list " "for commit notifications (@email{guix-commits@@gnu.org}), so people can " "notice. Before pushing your changes, make sure to run @code{git pull --" "rebase}." msgstr "" "Для патчей, которые просто добавляют новый пакет или внсит небольшие " "изменения считается нормальным отправить коммит, если вы уверены (что " "означает, что вы успешно встроили его в настройку chroot и провели разумный " "аудит авторских прав и лицензий). Аналогично для обновлений пакетов, за " "исключением обновлений, которые вызывают много перестроений (например, " "обновление GnuTLS или GLib). У нас есть список рассылки для уведомлений о " "коммитах (@email{guix-commits@@gnu.org}), так что люди могут это заметить. " "Перед отправкой изменений обязательно запустите @code{git pull --rebase}." #. type: Plain text #: guix-git/doc/contributing.texi:1515 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:1519 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:1522 #, no-wrap msgid "make check-channel-news\n" msgstr "make check-channel-news\n" #. type: Plain text #: guix-git/doc/contributing.texi:1528 msgid "" "For anything else, please post to @email{guix-patches@@gnu.org} and leave " "time for a review, without committing anything (@pxref{Submitting " "Patches}). If you didn’t receive any reply after two weeks, and if you're " "confident, it's OK to commit." msgstr "" "Для чего-либо еще, пожалуйста, отправьте сообщение на @email{guix-" "patches@@gnu.org} и оставьте время для обзора, ничего не коммитя " "(@pxref{Submitting Patches}). Если вы не получили никакого ответа через две " "недели, и если вы уверены, что все в порядке, будь нормальным совершить " "коммит." #. type: Plain text #: guix-git/doc/contributing.texi:1531 msgid "" "That last part is subject to being adjusted, allowing individuals to commit " "directly on non-controversial changes on parts they’re familiar with." msgstr "" "Эта последняя часть подлежит корректировке, что позволяет отдельным лицам " "вносить непосредственные изменения в не противоречивые изменения в тех " "частях, с которыми они знакомы." #. type: subsection #: guix-git/doc/contributing.texi:1532 #, no-wrap msgid "Addressing Issues" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1543 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 "" #. type: Plain text #: guix-git/doc/contributing.texi:1548 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 "" #. type: cindex #: guix-git/doc/contributing.texi:1549 #, no-wrap msgid "reverting commits" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1555 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:1561 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:1570 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: subsection #: guix-git/doc/contributing.texi:1571 #, fuzzy, no-wrap #| msgid "Log Rotation" msgid "Commit Revocation" msgstr "Ротация логов" #. type: Plain text #: guix-git/doc/contributing.texi:1578 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 "" "Чтобы уменьшить вероятность ошибок, учетные записи контрибьюторов будут " "удалены из проекта Guix на Savannah, а их ключи - из @file{.guix-" "authorizations} после 12 месяцев бездействия; они могут попросить " "восстановить доступ к отправке коммитов, отправив электронное письмо " "мэйнтейнеров, не проходя через процесс подтверждения." #. type: Plain text #: guix-git/doc/contributing.texi:1588 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 "" #. type: item #: guix-git/doc/contributing.texi:1590 #, no-wrap msgid "repeated violation of the commit policy stated above;" msgstr "" #. type: item #: guix-git/doc/contributing.texi:1591 #, no-wrap msgid "repeated failure to take peer criticism into account;" msgstr "" #. type: item #: guix-git/doc/contributing.texi:1592 #, no-wrap msgid "breaching trust through a series of grave incidents." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1599 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 "" #. type: subsection #: guix-git/doc/contributing.texi:1600 #, no-wrap msgid "Helping Out" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1607 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{reviewing} и продвижение изменений других людей. Как " "коммиттер, вы можете использовать свой опыт и передавать права, чтобы помочь " "и другим участникам!" #. type: cindex #: guix-git/doc/contributing.texi:1611 #, no-wrap msgid "update-guix-package, updating the guix package" msgstr "guix package: (guix)Запуск guix package" #. type: Plain text #: guix-git/doc/contributing.texi:1617 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:1620 #, no-wrap msgid "make update-guix-package\n" msgstr "make authenticate\n" #. type: Plain text #: guix-git/doc/contributing.texi:1627 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 target воспользуется последним известным " "коммитом, согласно @code{HEAD} вашего Guix checkout, вычислить хэш " "источников Guix, соответствующих этому коммиту и обновите @code{commit}, " "@code{revision} и хэш @code{guix}." #. type: Plain text #: guix-git/doc/contributing.texi:1631 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 (from the directory of your Guix checkout):" #. type: example #: guix-git/doc/contributing.texi:1634 #, 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:1639 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} к коммиту, на " "которую другие не могут ссылаться, выполняется проверка того, что " "использованный коммит уже был отправлен в репозиторий Guix, размещенный в " "Savannah." #. type: Plain text #: guix-git/doc/contributing.texi:1644 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:1645 #, no-wrap msgid "translation" msgstr "транзакции" #. type: cindex #: guix-git/doc/contributing.texi:1646 #, no-wrap msgid "l10n" msgstr "l10n" #. type: cindex #: guix-git/doc/contributing.texi:1647 #, no-wrap msgid "i18n" msgstr "i18n" #. type: cindex #: guix-git/doc/contributing.texi:1648 #, no-wrap msgid "native language support" msgstr "Работа с языками, поддерживаемыми gcc." #. type: Plain text #: guix-git/doc/contributing.texi:1658 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:1664 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 - это большой проект, состоящий из нескольких компонентов, которые " "можно перевести. Мы координируем работу по переводу на @uref{https://" "translate.fedoraproject.org/projects/guix/,Weblate instance}, размещенном " "нашими друзьями в Fedora. Для отправки переводов вам потребуется учетная " "запись." #. type: Plain text #: guix-git/doc/contributing.texi:1671 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 @code{guix show hello}. On the " "``homepage'' line, you will see @url{https://www.gnu.org/software/hello/} as " "the homepage." msgstr "" "Некоторое программное обеспечение, упакованное в Guix, также содержит " "переводы. Мы не хостим для них платформу для перевода. Если вы хотите " "перевести пакет, предоставленный Guix, вам следует связаться с их " "разработчиками или найти информацию на их веб-сайтах. Например, вы можете " "найти домашнюю страницу пакета @code{hello}, набрав @code{guix show hello}. " "В строке ``домашняя страница'' вы увидите @url{https://www.gnu.org/software/" "hello/} в качестве домашней страницы." #. type: Plain text #: guix-git/doc/contributing.texi:1676 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,Translation Project}. Некоторые проекты с " "несколькими компонентами имеют собственную платформу. Например, GNOME имеет " "собственную платформу @uref{https://l10n.gnome.org/,Damned Lies}." #. type: Plain text #: guix-git/doc/contributing.texi:1678 msgid "Guix has five components hosted on Weblate." msgstr "Guix состоит из пяти компонентов, размещенных на Weblate." #. type: item #: guix-git/doc/contributing.texi:1680 #, 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:1682 msgid "guided system installer, the package manager, etc), excluding packages." msgstr "установщик системы, менеджер пакетов и т.д.), за исключением пакетов." #. type: item #: guix-git/doc/contributing.texi:1682 #, no-wrap msgid "@code{packages} contains the synopsis (single-sentence description" msgstr "@code{packages} содержит синопсис (описание пакета из одного предложения" #. type: itemize #: guix-git/doc/contributing.texi:1684 msgid "of a package) and description (longer description) of packages in Guix." msgstr ") и (более подробное) описание пакетов в Guix." #. type: item #: guix-git/doc/contributing.texi:1684 #, no-wrap msgid "@code{website} contains the official Guix website, except for" msgstr "@code{website} содержит официальный сайт Guix, за исключением" #. type: itemize #: guix-git/doc/contributing.texi:1686 msgid "blog posts and multimedia content." msgstr "сообщения в блогах и мультимедийный контент." #. type: item #: guix-git/doc/contributing.texi:1686 #, no-wrap msgid "@code{documentation-manual} corresponds to this manual." msgstr "@code{documentation-manual} соответствует этому руководству." #. type: item #: guix-git/doc/contributing.texi:1687 #, no-wrap msgid "@code{documentation-cookbook} is the component for the cookbook." msgstr "@code{documentation-cookbook} - компонент для поваренной книги." #. type: subsubheading #: guix-git/doc/contributing.texi:1690 #, no-wrap msgid "General Directions" msgstr "поколения" #. type: Plain text #: guix-git/doc/contributing.texi:1698 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/,the guix project} и выбрать " "язык. Если вашего языка нет в списке, пройдите вниз и нажмите кнопку " "``Начать новый перевод''. Выберите из списка язык, на который вы хотите " "перевести, чтобы начать новый перевод." #. type: Plain text #: guix-git/doc/contributing.texi:1703 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:1714 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, загрузить} измененный файл. Существует также специальный " "@uref {https://www.emacswiki.org/emacs/PoMode,PO режим редактирования} для " "пользователей GNU Emacs. Со временем переводчики узнают, какое программное " "обеспечение им нравится и какие функции им нужны." #. type: Plain text #: guix-git/doc/contributing.texi:1719 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/,documentation}, чтобы ознакомиться " "с платформой." #. type: subsubheading #: guix-git/doc/contributing.texi:1720 #, no-wrap msgid "Translation Components" msgstr "Компоненты перевода" #. type: Plain text #: guix-git/doc/contributing.texi:1725 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: item #: guix-git/doc/contributing.texi:1727 guix-git/doc/guix.texi:8868 #, no-wrap msgid "guix" msgstr "guix" #. type: table #: guix-git/doc/contributing.texi:1732 #, fuzzy #| msgid "" #| "Guix is written in the Guile programming language, and some strings " #| "contain special formating that is interpreted by Guile. These special " #| "formating should be highlighted by Weblate. They start with @code{~} " #| "followed by one or more characters." 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:1741 #, fuzzy #| msgid "" #| "When printing the string, Guile replaces the special formating 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 formating 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." 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:1745 #, fuzzy #| msgid "" #| "If there are multiple formating 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." 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:1753 #, fuzzy #| msgid "" #| "As an example, you cannot translate @samp{package '~a' has been " #| "superseded by '~a'} by @samp{'~a' superseeds package '~a'}, because the " #| "meaning would be reversed. If @var{foo} is superseded by @var{bar}, the " #| "translation would read @samp{'foo' superseeds package 'bar'}. To work " #| "around this problem, it is possible to use more advanced formating 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 formating in Guile." msgid "" "As an example, you cannot translate @samp{package '~a' has been superseded " "by '~a'} by @samp{'~a' superseeds package '~a'}, because the meaning would " "be reversed. If @var{foo} is superseded by @var{bar}, the translation would " "read @samp{'foo' superseeds 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' superseeds package '~a'}, потому что значение будет " "обратным. Если @var{foo} заменяется на @var{bar}, перевод будет выглядеть " "как @samp{'foo' заменяется пакетом 'bar'}. Чтобы обойти эту проблему, можно " "использовать более сложное форматирование для выбора заданного фрагмента " "данных вместо того, чтобы следовать английскому порядку по умолчанию. См. " "@xref{Formatted Output,,, guile, GNU Guile Reference Manual}, для получения " "дополнительной информации о форматировании в Guile." #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: cindex #: guix-git/doc/contributing.texi:1754 guix-git/doc/guix.texi:2963 #, no-wrap msgid "packages" msgstr "пакеты" #. type: table #: guix-git/doc/contributing.texi:1759 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:1768 #, 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 formating 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})." 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:1769 #, no-wrap msgid "documentation-manual and documentation-cookbook" msgstr "documentation-manual and documentation-cookbook" #. type: table #: guix-git/doc/contributing.texi:1773 msgid "" "The first step to ensure a successful translation of the manual is to find " "and translate the following strings @emph{first}:" msgstr "" "Первый шаг к успешному переводу руководства---найти и перевести следующие " "строки @emph{первыми}:" #. type: item #: guix-git/doc/contributing.texi:1775 #, 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:1778 msgid "" "where @code{xx} is your language code (the one shown in the URL on weblate)." msgstr "" "где @code{xx}---код вашего языка (тот, который показан в URL-адресе на " "weblate)." #. type: item #: guix-git/doc/contributing.texi:1778 #, no-wrap msgid "@code{contributing.texi}: Translate this string as" msgstr "@code{contributing.texi}: переведите эту строку как" #. type: itemize #: guix-git/doc/contributing.texi:1780 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:1780 #, 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:1783 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 "" "Если вы переведете его, документ будет пустым (missing a Top node). Найдите " "его и зарегистрируйте @code{Top} в качестве его перевода." #. type: table #: guix-git/doc/contributing.texi:1788 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, не нарушая процесс make или механизм @command{guix pull}." #. type: table #: guix-git/doc/contributing.texi:1795 #, 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 formating " #| "markup such as @code{@@emph}, @code{@@i}, etc." 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 "" "И в руководстве, и в cookbook используется Texinfo. Что касается " "@code{packages}, пожалуйста, оставьте разметку Texinfo как есть. В " "руководстве больше возможных типов разметки, чем в описаниях пакетов. Как " "правило, не переводите содержимое @code{@@code}, @code{@@file}, " "@code{@@var}, @code{@@value} и т.д. Вы должны переводить содержимое " "разметок форматирования, например @code{@@emph}, @code{@@i} и т.д." #. type: table #: guix-git/doc/contributing.texi:1803 #, fuzzy #| msgid "" #| "The manual contains sections that can be refered 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." 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:1813 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 "" "При переводе ссылок из cookbook в мануал нужно заменить название мануала и " "название раздела. Например, чтобы перевести @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:1814 #, no-wrap msgid "website" msgstr "официальный веб-сайт" #. type: table #: guix-git/doc/contributing.texi:1821 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-выражениями. У нас есть процесс извлечения переводимых " "строк из источника и замены сложных s-выражений на более знакомую разметку " "XML, где каждая разметка пронумерована. Переводчики могут произвольно " "изменять порядок, как в следующем примере." #. type: example #: guix-git/doc/contributing.texi:1828 #, 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.2>Defining-Packages.html as native <2>Guile modules.\"\n" "msgstr \"Pakete werden als reine <2>Guile-Module <1>definiert<1.1>de<1.2>Pakete-definieren.html.\"\n" msgstr "" "#. 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.2>Defining-Packages.html as native <2>Guile modules.\"\n" "msgstr \"Pakete werden als reine <2>Guile-Module <1>definiert<1.1>de<1.2>Pakete-definieren.html.\"\n" #. type: table #: guix-git/doc/contributing.texi:1831 msgid "Note that you need to include the same markups. You cannot skip any." msgstr "" "Обратите внимание, что вам нужно включить такие же разметки. Вы не можете " "ничего пропустить." #. type: Plain text #: guix-git/doc/contributing.texi:1839 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, " "мы уведомим вас (через веб-сайт и/или по электронной почте), чтобы решить " "проблему." #. type: subsubheading #: guix-git/doc/contributing.texi:1840 #, no-wrap msgid "Outside of Weblate" msgstr "Вне Weblate" #. type: Plain text #: guix-git/doc/contributing.texi:1843 msgid "" "Currently, some parts of Guix cannot be translated on Weblate, help wanted!" msgstr "" "В настоящее время некоторые части Guix не могут быть переведены на Weblate---" "требуется помощь!" #. type: item #: guix-git/doc/contributing.texi:1845 #, 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:1851 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 "" #. type: item #: guix-git/doc/contributing.texi:1851 #, no-wrap msgid "Guix blog posts cannot currently be translated." msgstr "" #. type: item #: guix-git/doc/contributing.texi:1852 #, no-wrap msgid "The installer script (for foreign distributions) is entirely in English." msgstr "" #. type: item #: guix-git/doc/contributing.texi:1853 #, no-wrap msgid "Some of the libraries Guix uses cannot be translated or are translated" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:1855 msgid "outside of the Guix project. Guile itself is not internationalized." msgstr "" #. type: item #: guix-git/doc/contributing.texi:1855 #, no-wrap msgid "Other manuals linked from this manual or the cookbook might not be" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:1857 msgid "translated." msgstr "транзакции" #. type: subsubheading #: guix-git/doc/contributing.texi:1859 #, no-wrap msgid "Translation Infrastructure" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1870 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 "" #. type: Plain text #: guix-git/doc/contributing.texi:1874 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 "" #. type: Plain text #: guix-git/doc/contributing.texi:1880 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 "" #. type: Plain text #: guix-git/doc/contributing.texi:1884 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:1886 #, no-wrap msgid "New po files for the @code{guix} and @code{packages} components must" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:1889 msgid "" "be registered by adding the new language to @file{po/guix/LINGUAS} or " "@file{po/packages/LINGUAS}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:1889 #, no-wrap msgid "New po files for the @code{documentation-manual} component must be" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:1895 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 "" #. type: item #: guix-git/doc/contributing.texi:1895 #, no-wrap msgid "New po files for the @code{documentation-cookbook} component must be" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:1901 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 "" #. type: item #: guix-git/doc/contributing.texi:1901 #, no-wrap msgid "New po files for the @code{website} component must be added to the" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:1906 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 "" #. 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:128 #, 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-ru.texi" #. type: copying #: guix-git/doc/guix.texi:101 #, fuzzy msgid "" "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, " "2021 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 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 Leo Famulari@* Copyright " "@copyright{} 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus@* Copyright " "@copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018, " "2021 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, " "2021 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* " "Copyright @copyright{} 2016, 2017 Nikita Gillmann@* Copyright @copyright{} " "2016, 2017, 2018, 2019, 2020 Jan 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 Mathieu Othacehe@* " "Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, " "2018 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 Marius Bakke@* Copyright @copyright{} 2017, 2019, 2020 Hartmut " "Goebel@* Copyright @copyright{} 2017, 2019, 2020, 2021 Maxim Cournoyer@* " "Copyright @copyright{} 2017, 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice@* " "Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 " "Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019, 2020 Arun Isaac@* " "Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger " "Helling@* Copyright @copyright{} 2018, 2021 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 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 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Liliana " "Marie Prikler@* Copyright @copyright{} 2019, 2020 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 Pierre Langlois@* " "Copyright @copyright{} 2020 pinoaffe@* Copyright @copyright{} 2020 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 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 " "Andrew Tropin@* Copyright @copyright{} 2021 Sarah Morgensen@*" msgstr "" "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 " "Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 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 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, " "2019, 2020 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* " "Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* Copyright " "@copyright{} 2016, 2017, 2018, 2019, 2020 Efraim Flashner@* Copyright " "@copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita " "Gillmann@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Jan " "Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Julien " "Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright " "@copyright{} 2016, 2017, 2018, 2019 Christopher Baines@* Copyright " "@copyright{} 2017, 2018, 2019 Clément Lassieur@* Copyright @copyright{} " "2017, 2018, 2020 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico " "Beffa@* Copyright @copyright{} 2017, 2018 Carlo Zancanaro@* Copyright " "@copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 " "humanitiesNerd@* Copyright @copyright{} 2017 Christopher Allan Webber@* " "Copyright @copyright{} 2017, 2018, 2019, 2020 Marius Bakke@* Copyright " "@copyright{} 2017, 2019, 2020 Hartmut Goebel@* Copyright @copyright{} 2017, " "2019, 2020 Maxim Cournoyer@* Copyright @copyright{} 2017, 2018, 2019, 2020 " "Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* " "Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, " "2019, 2020 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright " "@copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018 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 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 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Leo Prikler@* " "Copyright @copyright{} 2019, 2020 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 " "Brice Waegeneire@* Copyright @copyright{} 2020 R Veera Kumar@* Copyright " "@copyright{} 2020 Pierre Langlois@* Copyright @copyright{} 2020 pinoaffe@* " "Copyright @copyright{} 2020 André Batista@*" #. type: copying #: guix-git/doc/guix.texi:108 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 "" "Разрешено копирование, распространение и/или модификация этого документа на " "условиях лицензии свободной документации GNU (GNU FDL) версии 1.3 или любой " "более поздней версии, опубликованной Фондом свободного программного " "обеспечения (FSF), исключая неизменяемые секции, исключая тексты, " "размещенные на переплёте и задней стороне обложки. Копия лицензии включена в " "документ в разделе под названием \"GNU Free Documentation Licens\"." #. type: dircategory #: guix-git/doc/guix.texi:110 #, no-wrap msgid "System administration" msgstr "Системное администрирование" #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "Guix: (guix)" msgstr "Guix: (guix)" #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "Manage installed software and system configuration." msgstr "Управление установленным ПО и настройка системы." #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "guix package: (guix)Invoking guix package" msgstr "guix package: (guix)Запуск guix package" #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "Installing, removing, and upgrading packages." msgstr "Установка, удаление и обновление пакетов." #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "guix gc: (guix)Invoking guix gc" msgstr "guix gc: (guix)Запуск guix gc" #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "Reclaiming unused disk space." msgstr "Освобождение неиспользуемого места на диске." #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "guix pull: (guix)Invoking guix pull" msgstr "guix pull: (guix)Запуск guix pull" #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "Update the list of available packages." msgstr "Обновление списка доступных пакетов." #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "guix system: (guix)Invoking guix system" msgstr "guix system: (guix)Запуск guix system" #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "Manage the operating system configuration." msgstr "Управление конфигурацией ОС." #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "guix deploy: (guix)Invoking guix deploy" msgstr "guix deploy: (guix)Запуск guix deploy" #. type: menuentry #: guix-git/doc/guix.texi:118 msgid "Manage operating system configurations for remote hosts." msgstr "Управление конфигурациями ОС на удалённых машинах." #. type: dircategory #: guix-git/doc/guix.texi:120 #, no-wrap msgid "Software development" msgstr "Разработка программного обеспечения" #. type: menuentry #: guix-git/doc/guix.texi:125 msgid "guix environment: (guix)Invoking guix environment" msgstr "guix environment: (guix)Запуск guix environment" #. type: menuentry #: guix-git/doc/guix.texi:125 msgid "Building development environments with Guix." msgstr "Сборка среды разработки с помощью Guix." #. type: menuentry #: guix-git/doc/guix.texi:125 msgid "guix build: (guix)Invoking guix build" msgstr "guix build: (guix)Запуск guix build" #. type: menuentry #: guix-git/doc/guix.texi:125 msgid "Building packages." msgstr "Сборка пакетов." #. type: menuentry #: guix-git/doc/guix.texi:125 msgid "guix pack: (guix)Invoking guix pack" msgstr "guix pack: (guix)Запуск guix pack" #. type: menuentry #: guix-git/doc/guix.texi:125 msgid "Creating binary bundles." msgstr "Создание бинарных пакетов." #. type: subtitle #: guix-git/doc/guix.texi:129 #, no-wrap msgid "Using the GNU Guix Functional Package Manager" msgstr "Использование функционального пакетного менеджера GNU Guix" #. type: author #: guix-git/doc/guix.texi:130 #, no-wrap msgid "The GNU Guix Developers" msgstr "Разработчики GNU Guix" #. type: titlepage #: guix-git/doc/guix.texi:136 msgid "Edition @value{EDITION} @* @value{UPDATED} @*" msgstr "Ревизия @value{EDITION} @* @value{UPDATED} @*" #. type: node #: guix-git/doc/guix.texi:143 #, no-wrap msgid "Top" msgstr "Top" #. type: top #: guix-git/doc/guix.texi:144 #, no-wrap msgid "GNU Guix" msgstr "GNU Guix" #. type: Plain text #: guix-git/doc/guix.texi:148 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." #. type: Plain text #: guix-git/doc/guix.texi:160 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}), 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.zh_CN, GNU Guix参考手册}), на французском (@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.ru, Руководство по " "GNU Guix}) языках. Если вы хотите перевести его на свой язык, " "присоединяйтесь к Проекту переводов @uref{https://translationproject.org/" "domain/guix-manual.html, Проект переводов}." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:189 #: guix-git/doc/guix.texi:394 guix-git/doc/guix.texi:395 #, no-wrap msgid "Introduction" msgstr "Введение" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "What is Guix about?" msgstr "Что такое Guix?" #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:194 #: guix-git/doc/guix.texi:575 guix-git/doc/guix.texi:576 #, no-wrap msgid "Installation" msgstr "Установка" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Installing Guix." msgstr "Установка Guix." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:210 #: guix-git/doc/guix.texi:2034 guix-git/doc/guix.texi:2035 #, no-wrap msgid "System Installation" msgstr "Установка системы" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Installing the whole operating system." msgstr "Полная установка операционной системы." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:2752 #: guix-git/doc/guix.texi:2753 #, no-wrap msgid "Getting Started" msgstr "Начиная" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Your first steps." msgstr "Прервые шаги." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:227 #: guix-git/doc/guix.texi:2960 guix-git/doc/guix.texi:2961 #, no-wrap msgid "Package Management" msgstr "Управление пакетами" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Package installation, upgrade, etc." msgstr "Установка пакетов, обновление и т.д." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:250 #: guix-git/doc/guix.texi:5015 guix-git/doc/guix.texi:5016 #, no-wrap msgid "Channels" msgstr "Каналы" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Customizing the package collection." msgstr "Настройка коллекции пакетов." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:264 #: guix-git/doc/guix.texi:5543 guix-git/doc/guix.texi:5544 #, no-wrap msgid "Development" msgstr "Разработка" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Guix-aided software development." msgstr "Разработка программного обеспечения при поддержке Guix." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:271 #: guix-git/doc/guix.texi:6398 guix-git/doc/guix.texi:6399 #, no-wrap msgid "Programming Interface" msgstr "Программный интерфейс" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Using Guix in Scheme." msgstr "Использование Guix в Scheme." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:290 #: guix-git/doc/guix.texi:10222 guix-git/doc/guix.texi:10223 #, no-wrap msgid "Utilities" msgstr "Утилиты" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Package management commands." msgstr "Команды управления пакетами." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:315 #: guix-git/doc/guix.texi:13538 guix-git/doc/guix.texi:13539 #, no-wrap msgid "System Configuration" msgstr "Конфигурирование системы" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Configuring the operating system." msgstr "Конфигурирование операционной системы." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:35367 #: guix-git/doc/guix.texi:35368 #, fuzzy, no-wrap #| msgid "System Configuration" msgid "Home Configuration" msgstr "Конфигурирование системы" #. type: menuentry #: guix-git/doc/guix.texi:179 #, fuzzy #| msgid "Configuring the boot loader." msgid "Configuring the home environment." msgstr "Конфигурирование загрузчика диска." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:36108 #: guix-git/doc/guix.texi:36109 #, no-wrap msgid "Documentation" msgstr "Документация" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Browsing software user manuals." msgstr "Программы обзора пользовательских мануалов." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:381 #: guix-git/doc/guix.texi:36172 guix-git/doc/guix.texi:36173 #, no-wrap msgid "Installing Debugging Files" msgstr "Установка файлов отладки" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Feeding the debugger." msgstr "Запуск отладчика." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:36313 #: guix-git/doc/guix.texi:36314 #, no-wrap msgid "Security Updates" msgstr "Обновления безопасности" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Deploying security fixes quickly." msgstr "Быстрое применение исправлений безопасности." #. type: chapter #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:386 #: guix-git/doc/guix.texi:36428 guix-git/doc/guix.texi:36429 #, no-wrap msgid "Bootstrapping" msgstr "Начальная загрузка" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "GNU/Linux built from scratch." msgstr "Сборка GNU/Linux с нуля." #. type: node #: guix-git/doc/guix.texi:179 guix-git/doc/guix.texi:36720 #, no-wrap msgid "Porting" msgstr "Портирование" #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Targeting another platform or kernel." msgstr "Перевод на другую платформу или ядро." #. type: menuentry #: guix-git/doc/guix.texi:179 msgid "Your help needed!" msgstr "Нужна ваша помощь!" #. type: chapter #: guix-git/doc/guix.texi:184 guix-git/doc/guix.texi:36768 #: guix-git/doc/guix.texi:36769 #, no-wrap msgid "Acknowledgments" msgstr "Благодарности" #. type: menuentry #: guix-git/doc/guix.texi:184 msgid "Thanks!" msgstr "Спасибо!" #. type: appendix #: guix-git/doc/guix.texi:184 guix-git/doc/guix.texi:36790 #: guix-git/doc/guix.texi:36791 #, no-wrap msgid "GNU Free Documentation License" msgstr "Лицензия свободной документации GNU" #. type: menuentry #: guix-git/doc/guix.texi:184 msgid "The license of this manual." msgstr "Лицензия этого руководства." #. type: unnumbered #: guix-git/doc/guix.texi:184 guix-git/doc/guix.texi:36796 #: guix-git/doc/guix.texi:36797 #, no-wrap msgid "Concept Index" msgstr "Термины и указатели" #. type: menuentry #: guix-git/doc/guix.texi:184 msgid "Concepts." msgstr "Понятия." #. type: unnumbered #: guix-git/doc/guix.texi:184 guix-git/doc/guix.texi:36800 #: guix-git/doc/guix.texi:36801 #, no-wrap msgid "Programming Index" msgstr "Программный индекс" #. type: menuentry #: guix-git/doc/guix.texi:184 msgid "Data types, functions, and variables." msgstr "Структуры данных, функции и переменные." #. type: menuentry #: guix-git/doc/guix.texi:187 msgid "--- The Detailed Node Listing ---" msgstr "--- Детальный список записей ---" #. type: section #: guix-git/doc/guix.texi:192 guix-git/doc/guix.texi:421 #: guix-git/doc/guix.texi:423 guix-git/doc/guix.texi:424 #, no-wrap msgid "Managing Software the Guix Way" msgstr "Управление программным обеспечением Guix Way" #. type: menuentry #: guix-git/doc/guix.texi:192 guix-git/doc/guix.texi:421 msgid "What's special." msgstr "Что особенного." #. type: section #: guix-git/doc/guix.texi:192 guix-git/doc/guix.texi:421 #: guix-git/doc/guix.texi:478 guix-git/doc/guix.texi:479 #, no-wrap msgid "GNU Distribution" msgstr "Дистрибутив GNU" #. type: menuentry #: guix-git/doc/guix.texi:192 guix-git/doc/guix.texi:421 msgid "The packages and tools." msgstr "Пакеты и утилиты." #. type: section #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 #: guix-git/doc/guix.texi:617 guix-git/doc/guix.texi:618 #, no-wrap msgid "Binary Installation" msgstr "Бинарная установка" #. type: menuentry #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 msgid "Getting Guix running in no time!" msgstr "Запустить Guix в кратчайшие сроки!" #. type: section #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 #: guix-git/doc/guix.texi:857 guix-git/doc/guix.texi:858 #, no-wrap msgid "Requirements" msgstr "Требования" #. type: menuentry #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 msgid "Software needed to build and run Guix." msgstr "Программное обеспечение, необходимое для запуска Guix." #. type: section #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 #: guix-git/doc/guix.texi:943 guix-git/doc/guix.texi:944 #, no-wrap msgid "Running the Test Suite" msgstr "Запуск набора тестов" #. type: menuentry #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 msgid "Testing Guix." msgstr "Тестирование Guix." #. type: section #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:204 #: guix-git/doc/guix.texi:615 guix-git/doc/guix.texi:1040 #: guix-git/doc/guix.texi:1041 #, no-wrap msgid "Setting Up the Daemon" msgstr "Настройка демона" #. type: menuentry #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 msgid "Preparing the build daemon's environment." msgstr "Подготовка окружения демона сборки." #. type: node #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 #: guix-git/doc/guix.texi:1510 #, no-wrap msgid "Invoking guix-daemon" msgstr "Вызов guix-daemon" #. type: menuentry #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 msgid "Running the build daemon." msgstr "Запуск демона сборки." #. type: section #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 #: guix-git/doc/guix.texi:1812 guix-git/doc/guix.texi:1813 #, no-wrap msgid "Application Setup" msgstr "Установка приложения" #. type: menuentry #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 msgid "Application-specific setup." msgstr "Установка в качестве приожения." #. type: section #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 #: guix-git/doc/guix.texi:1997 guix-git/doc/guix.texi:1998 #, no-wrap msgid "Upgrading Guix" msgstr "Обновление Guix" #. type: menuentry #: guix-git/doc/guix.texi:202 guix-git/doc/guix.texi:615 msgid "Upgrading Guix and its build daemon." msgstr "Обновление Guix и этого службы сборки." #. type: subsection #: guix-git/doc/guix.texi:208 guix-git/doc/guix.texi:1060 #: guix-git/doc/guix.texi:1062 guix-git/doc/guix.texi:1063 #, no-wrap msgid "Build Environment Setup" msgstr "Установка окружения сборки" #. type: menuentry #: guix-git/doc/guix.texi:208 guix-git/doc/guix.texi:1060 msgid "Preparing the isolated build environment." msgstr "Подготовка отдельного окружения сборки." #. type: node #: guix-git/doc/guix.texi:208 guix-git/doc/guix.texi:1060 #: guix-git/doc/guix.texi:1181 #, no-wrap msgid "Daemon Offload Setup" msgstr "Установка демона разгрузки" #. type: menuentry #: guix-git/doc/guix.texi:208 guix-git/doc/guix.texi:1060 msgid "Offloading builds to remote machines." msgstr "Разгрузка сборок по удалённым машинам." #. type: subsection #: guix-git/doc/guix.texi:208 guix-git/doc/guix.texi:1060 #: guix-git/doc/guix.texi:1419 guix-git/doc/guix.texi:1420 #, no-wrap msgid "SELinux Support" msgstr "Поддержка SELinux" #. type: menuentry #: guix-git/doc/guix.texi:208 guix-git/doc/guix.texi:1060 msgid "Using an SELinux policy for the daemon." msgstr "Использование политики SELinux для демона." #. type: section #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:1455 #: guix-git/doc/guix.texi:2068 guix-git/doc/guix.texi:2070 #: guix-git/doc/guix.texi:2071 #, no-wrap msgid "Limitations" msgstr "Ограничения" #. type: menuentry #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 msgid "What you can expect." msgstr "Что нужно учитывать." #. type: section #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 #: guix-git/doc/guix.texi:2096 guix-git/doc/guix.texi:2097 #, no-wrap msgid "Hardware Considerations" msgstr "По поводу железа" #. type: menuentry #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 msgid "Supported hardware." msgstr "Поддерживаемое аппаратное обеспечение." #. type: section #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 #: guix-git/doc/guix.texi:2131 guix-git/doc/guix.texi:2132 #, no-wrap msgid "USB Stick and DVD Installation" msgstr "Установочная флеш и DVD" #. type: menuentry #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 msgid "Preparing the installation medium." msgstr "Подготовка установочного носителя." #. type: section #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 #: guix-git/doc/guix.texi:2212 guix-git/doc/guix.texi:2213 #, no-wrap msgid "Preparing for Installation" msgstr "Подготовка к установке" #. type: menuentry #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 msgid "Networking, partitioning, etc." msgstr "Сеть, разметка диска и т.д." #. type: section #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 #: guix-git/doc/guix.texi:2235 guix-git/doc/guix.texi:2236 #, no-wrap msgid "Guided Graphical Installation" msgstr "Графическая установка в GUI" #. type: menuentry #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 msgid "Easy graphical installation." msgstr "Простая графическая установка." #. type: section #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:222 #: guix-git/doc/guix.texi:2068 guix-git/doc/guix.texi:2266 #: guix-git/doc/guix.texi:2267 #, no-wrap msgid "Manual Installation" msgstr "Ручная установка" #. type: menuentry #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 msgid "Manual installation for wizards." msgstr "Ручная установка для магов." #. type: section #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 #: guix-git/doc/guix.texi:2635 guix-git/doc/guix.texi:2636 #, no-wrap msgid "After System Installation" msgstr "После установки системы" #. type: menuentry #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 msgid "When installation succeeded." msgstr "Когда установка завершилась успешно." #. type: node #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 #: guix-git/doc/guix.texi:2669 #, no-wrap msgid "Installing Guix in a VM" msgstr "Установка Guix на виртуальную машину" #. type: menuentry #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 msgid "Guix System playground." msgstr "Площадка системы Guix." #. type: section #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 #: guix-git/doc/guix.texi:2720 guix-git/doc/guix.texi:2721 #, no-wrap msgid "Building the Installation Image" msgstr "Сборка установочного образа" #. type: menuentry #: guix-git/doc/guix.texi:220 guix-git/doc/guix.texi:2068 msgid "How this comes to be." msgstr "Как это происходит." #. type: node #: guix-git/doc/guix.texi:225 guix-git/doc/guix.texi:2284 #: guix-git/doc/guix.texi:2286 #, no-wrap msgid "Keyboard Layout and Networking and Partitioning" msgstr "Раскладка клавиатуры и работа с сетью и разбиение диска" #. type: menuentry #: guix-git/doc/guix.texi:225 guix-git/doc/guix.texi:2284 msgid "Initial setup." msgstr "Начальная установка." #. type: subsection #: guix-git/doc/guix.texi:225 guix-git/doc/guix.texi:2284 #: guix-git/doc/guix.texi:2546 guix-git/doc/guix.texi:2547 #, no-wrap msgid "Proceeding with the Installation" msgstr "В продолжении установки" #. type: menuentry #: guix-git/doc/guix.texi:225 guix-git/doc/guix.texi:2284 msgid "Installing." msgstr "Установка." #. type: section #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 #: guix-git/doc/guix.texi:2994 guix-git/doc/guix.texi:2995 #, no-wrap msgid "Features" msgstr "Особенности" #. type: menuentry #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 msgid "How Guix will make your life brighter." msgstr "Как Guix делает жизнь ярче." #. type: node #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 #: guix-git/doc/guix.texi:3084 #, no-wrap msgid "Invoking guix package" msgstr "Вызов guix package" #. type: menuentry #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 msgid "Package installation, removal, etc." msgstr "Установка пакетов, удаление и т.д." #. type: section #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:240 #: guix-git/doc/guix.texi:2992 guix-git/doc/guix.texi:3700 #: guix-git/doc/guix.texi:3701 #, no-wrap msgid "Substitutes" msgstr "Подстановки" #. type: menuentry #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 msgid "Downloading pre-built binaries." msgstr "Скачивание собранных бинарников." #. type: section #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 #: guix-git/doc/guix.texi:4036 guix-git/doc/guix.texi:4037 #, no-wrap msgid "Packages with Multiple Outputs" msgstr "Пакеты со множественным выходом" #. type: menuentry #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 msgid "Single source package, multiple outputs." msgstr "Один исходный пакет, различные выходы." #. type: node #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 #: guix-git/doc/guix.texi:4090 #, no-wrap msgid "Invoking guix gc" msgstr "Вызов guix gc" #. type: menuentry #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 msgid "Running the garbage collector." msgstr "Запуск сборщика мусора." #. type: node #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 #: guix-git/doc/guix.texi:4300 #, no-wrap msgid "Invoking guix pull" msgstr "Запуск guix pull" #. type: menuentry #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 msgid "Fetching the latest Guix and distribution." msgstr "Закачка последнего Guix и дистрибуции." #. type: node #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 #: guix-git/doc/guix.texi:4547 #, no-wrap msgid "Invoking guix time-machine" msgstr "Вызов guix time-machine" #. type: menuentry #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 msgid "Running an older revision of Guix." msgstr "Запуск более старых ревизий Guix." #. type: section #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 #: guix-git/doc/guix.texi:4602 guix-git/doc/guix.texi:4603 #, no-wrap msgid "Inferiors" msgstr "Младшие версии" #. type: menuentry #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 msgid "Interacting with another revision of Guix." msgstr "Взаимодействие с другими ревизиями Guix." #. type: node #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 #: guix-git/doc/guix.texi:4730 #, no-wrap msgid "Invoking guix describe" msgstr "Вызов guix describe" #. type: menuentry #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 msgid "Display information about your Guix revision." msgstr "Отобразить информацию о ревизии Guix." #. type: node #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 #: guix-git/doc/guix.texi:4825 #, no-wrap msgid "Invoking guix archive" msgstr "Вызов guix archive" #. type: menuentry #: guix-git/doc/guix.texi:238 guix-git/doc/guix.texi:2992 msgid "Exporting and importing store files." msgstr "Экспорт и импорт файлов склада." #. type: subsection #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 #: guix-git/doc/guix.texi:3726 guix-git/doc/guix.texi:3727 #, fuzzy, no-wrap #| msgid "Official Substitute Server" msgid "Official Substitute Servers" msgstr "Официальный сервер подстановок" #. type: menuentry #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 msgid "One particular source of substitutes." msgstr "Отдельный источник подстановок." #. type: subsection #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 #: guix-git/doc/guix.texi:3756 guix-git/doc/guix.texi:3757 #, no-wrap msgid "Substitute Server Authorization" msgstr "Авторизация сервера подстановок" #. type: menuentry #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 msgid "How to enable or disable substitutes." msgstr "Как включить или отключить подстановки." #. type: subsection #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 #: guix-git/doc/guix.texi:3826 guix-git/doc/guix.texi:3827 #, no-wrap msgid "Getting Substitutes from Other Servers" msgstr "Получение заменителей с других серверов" #. type: menuentry #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 msgid "Substitute diversity." msgstr "Разнообразие заменителей." #. type: subsection #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 #: guix-git/doc/guix.texi:3931 guix-git/doc/guix.texi:3932 #, no-wrap msgid "Substitute Authentication" msgstr "Аутентификация подстановок" #. type: menuentry #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 msgid "How Guix verifies substitutes." msgstr "Как Guix проверяет подстановки." #. type: subsection #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 #: guix-git/doc/guix.texi:3966 guix-git/doc/guix.texi:3967 #, no-wrap msgid "Proxy Settings" msgstr "Настройки proxy" #. type: menuentry #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 msgid "How to get substitutes via proxy." msgstr "Как получить подстановки через proxy." #. type: subsection #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 #: guix-git/doc/guix.texi:3978 guix-git/doc/guix.texi:3979 #, no-wrap msgid "Substitution Failure" msgstr "Ошибки при подстановке" #. type: menuentry #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 msgid "What happens when substitution fails." msgstr "Что происходит, когда подстановка завершается ошибкой." #. type: subsection #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 #: guix-git/doc/guix.texi:4006 guix-git/doc/guix.texi:4007 #, no-wrap msgid "On Trusting Binaries" msgstr "Касательно проверенных бинарников" #. type: menuentry #: guix-git/doc/guix.texi:248 guix-git/doc/guix.texi:3724 msgid "How can you trust that binary blob?" msgstr "Как можно доверять определённому бинарному блоку?" #. type: section #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 #: guix-git/doc/guix.texi:5048 guix-git/doc/guix.texi:5049 #, no-wrap msgid "Specifying Additional Channels" msgstr "Указание дополнительных каналов" #. type: menuentry #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 msgid "Extending the package collection." msgstr "Расширение коллекции пакетов." #. type: section #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 #: guix-git/doc/guix.texi:5098 guix-git/doc/guix.texi:5099 #, no-wrap msgid "Using a Custom Guix Channel" msgstr "Использование отдельного канала Guix" #. type: menuentry #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 msgid "Using a customized Guix." msgstr "Использование кастомизированного Guix." #. type: section #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 #: guix-git/doc/guix.texi:5120 guix-git/doc/guix.texi:5121 #, no-wrap msgid "Replicating Guix" msgstr "Копирование Guix" #. type: menuentry #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 msgid "Running the @emph{exact same} Guix." msgstr "Запуск @emph{exact same} Guix." #. type: section #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 #: guix-git/doc/guix.texi:5161 guix-git/doc/guix.texi:5162 #, no-wrap msgid "Channel Authentication" msgstr "Аутентификация канала" #. type: menuentry #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 msgid "How Guix verifies what it fetches." msgstr "Как Guix проверяет то, что получает." #. type: section #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 #: guix-git/doc/guix.texi:5201 guix-git/doc/guix.texi:5202 #, no-wrap msgid "Channels with Substitutes" msgstr "Каналы с заменителями" #. type: menuentry #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 msgid "Using channels with available substitutes." msgstr "Использование каналов с доступными заменителями." #. type: section #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 #: guix-git/doc/guix.texi:5226 guix-git/doc/guix.texi:5227 #, no-wrap msgid "Creating a Channel" msgstr "Создание канала" #. type: menuentry #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 msgid "How to write your custom channel." msgstr "Как написать собственный канал." #. type: section #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 #: guix-git/doc/guix.texi:5293 guix-git/doc/guix.texi:5294 #, no-wrap msgid "Package Modules in a Sub-directory" msgstr "Пакетные модули в поддиректории" #. type: menuentry #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 msgid "Specifying the channel's package modules location." msgstr "Задание расположения пакетных модулей канала." #. type: section #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 #: guix-git/doc/guix.texi:5307 guix-git/doc/guix.texi:5308 #, no-wrap msgid "Declaring Channel Dependencies" msgstr "Объявление зависимостей канала" #. type: menuentry #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 msgid "How to depend on other channels." msgstr "Как зависеть от других каналов." #. type: section #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 #: guix-git/doc/guix.texi:5349 guix-git/doc/guix.texi:5350 #, no-wrap msgid "Specifying Channel Authorizations" msgstr "Указание авторизаций канала" #. type: menuentry #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 msgid "Defining channel authors authorizations." msgstr "Авторизация авторов канала." #. type: section #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 #: guix-git/doc/guix.texi:5450 guix-git/doc/guix.texi:5451 #, no-wrap msgid "Primary URL" msgstr "Основной URL" #. type: menuentry #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 msgid "Distinguishing mirror to original." msgstr "Отличие зеркала от оригинала." #. type: section #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 #: guix-git/doc/guix.texi:5473 guix-git/doc/guix.texi:5474 #, no-wrap msgid "Writing Channel News" msgstr "Написание новостей канала" #. type: menuentry #: guix-git/doc/guix.texi:262 guix-git/doc/guix.texi:5046 msgid "Communicating information to channel's users." msgstr "Передача информации пользователям канала." #. type: node #: guix-git/doc/guix.texi:269 guix-git/doc/guix.texi:5562 #: guix-git/doc/guix.texi:5564 #, no-wrap msgid "Invoking guix environment" msgstr "Запуск guix environment" #. type: menuentry #: guix-git/doc/guix.texi:269 guix-git/doc/guix.texi:5562 msgid "Setting up development environments." msgstr "Настройка окружения сборки." #. type: node #: guix-git/doc/guix.texi:269 guix-git/doc/guix.texi:5562 #: guix-git/doc/guix.texi:5924 #, no-wrap msgid "Invoking guix pack" msgstr "Запуск guix pack" #. type: menuentry #: guix-git/doc/guix.texi:269 guix-git/doc/guix.texi:5562 msgid "Creating software bundles." msgstr "Создание наборов программ." #. type: section #: guix-git/doc/guix.texi:269 guix-git/doc/guix.texi:5562 #: guix-git/doc/guix.texi:6310 guix-git/doc/guix.texi:6311 #, no-wrap msgid "The GCC toolchain" msgstr "Тулчейн GCC" #. type: menuentry #: guix-git/doc/guix.texi:269 guix-git/doc/guix.texi:5562 msgid "Working with languages supported by GCC." msgstr "Работа с языками, поддерживаемыми gcc." #. type: node #: guix-git/doc/guix.texi:269 guix-git/doc/guix.texi:5562 #: guix-git/doc/guix.texi:6336 #, no-wrap msgid "Invoking guix git authenticate" msgstr "Запуск guix git authenticate" #. type: menuentry #: guix-git/doc/guix.texi:269 guix-git/doc/guix.texi:5562 msgid "Authenticating Git repositories." msgstr "Аутентификация Git репозиториев." #. type: section #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 #: guix-git/doc/guix.texi:6440 guix-git/doc/guix.texi:6441 #, no-wrap msgid "Package Modules" msgstr "Пакетные модули" #. type: menuentry #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 msgid "Packages from the programmer's viewpoint." msgstr "Пакеты с точки зрения программиста." #. type: section #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:285 #: guix-git/doc/guix.texi:6438 guix-git/doc/guix.texi:6502 #: guix-git/doc/guix.texi:6503 #, no-wrap msgid "Defining Packages" msgstr "Описание пакетов" #. type: menuentry #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 msgid "Defining new packages." msgstr "Описание новых пакетов." #. type: section #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 #: guix-git/doc/guix.texi:7072 guix-git/doc/guix.texi:7073 #, fuzzy, no-wrap msgid "Defining Package Variants" msgstr "Описание пакетов" #. type: menuentry #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 msgid "Customizing packages." msgstr "Кастомизация пакетов." #. type: section #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 #: guix-git/doc/guix.texi:7304 guix-git/doc/guix.texi:7305 #, no-wrap msgid "Build Systems" msgstr "Системы сборки" #. type: menuentry #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 msgid "Specifying how packages are built." msgstr "Задание параметров сборки пакетов." #. type: subsection #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 #: guix-git/doc/guix.texi:8336 guix-git/doc/guix.texi:8337 #: guix-git/doc/guix.texi:8740 #, no-wrap msgid "Build Phases" msgstr "Фазы сборки" #. type: menuentry #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 msgid "Phases of the build process of a package." msgstr "Фазы процесса сборки пакета." #. type: section #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 #: guix-git/doc/guix.texi:8530 guix-git/doc/guix.texi:8531 #, fuzzy, no-wrap msgid "Build Utilities" msgstr "Утилиты" #. type: menuentry #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 msgid "Helpers for your package definitions and more." msgstr "Импорт описаниий пакетов." #. type: section #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 #: guix-git/doc/guix.texi:8817 guix-git/doc/guix.texi:8818 #, no-wrap msgid "The Store" msgstr "Хранилище" #. type: menuentry #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 msgid "Manipulating the package store." msgstr "Работа с хранилищем пакетов." #. type: section #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 #: guix-git/doc/guix.texi:8970 guix-git/doc/guix.texi:8971 #, no-wrap msgid "Derivations" msgstr "Деривации" #. type: menuentry #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 msgid "Low-level interface to package derivations." msgstr "Низкоуровневый интерфейс дериваций пакетов." #. type: section #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 #: guix-git/doc/guix.texi:9164 guix-git/doc/guix.texi:9165 #, no-wrap msgid "The Store Monad" msgstr "Устройство склада" #. type: menuentry #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 msgid "Purely functional interface to the store." msgstr "Чисто функциональный интерфейс доступа к складу." #. type: section #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 #: guix-git/doc/guix.texi:9483 guix-git/doc/guix.texi:9484 #, no-wrap msgid "G-Expressions" msgstr "G-Expressions" #. type: menuentry #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 msgid "Manipulating build expressions." msgstr "Управление механизмом сборки." #. type: node #: guix-git/doc/guix.texi:283 guix-git/doc/guix.texi:6438 #: guix-git/doc/guix.texi:10122 #, no-wrap msgid "Invoking guix repl" msgstr "Запуск guix repl" #. type: menuentry #: guix-git/doc/guix.texi:283 msgid "Programming Guix in Guile." msgstr "Программирование Guix в Guile." #. type: node #: guix-git/doc/guix.texi:288 guix-git/doc/guix.texi:6705 #: guix-git/doc/guix.texi:6708 #, no-wrap msgid "package Reference" msgstr "ссылка на пакет" #. type: menuentry #: guix-git/doc/guix.texi:288 guix-git/doc/guix.texi:6705 msgid "The package data type." msgstr "Тип данных package." #. type: node #: guix-git/doc/guix.texi:288 guix-git/doc/guix.texi:6705 #: guix-git/doc/guix.texi:6880 #, no-wrap msgid "origin Reference" msgstr "Интерфейс origin" #. type: menuentry #: guix-git/doc/guix.texi:288 guix-git/doc/guix.texi:6705 msgid "The origin data type." msgstr "Тип данных origin." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:10248 #, no-wrap msgid "Invoking guix build" msgstr "Запуск guix build" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Building packages from the command line." msgstr "Сборка пакетов в командной строке." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:11085 #, no-wrap msgid "Invoking guix edit" msgstr "Запуск guix edit" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Editing package definitions." msgstr "Редактирование описания пакета." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:11115 #, no-wrap msgid "Invoking guix download" msgstr "Запуск guix download" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Downloading a file and printing its hash." msgstr "Загрузка файла и вывод его хэша." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:11173 #, no-wrap msgid "Invoking guix hash" msgstr "Запуск guix hash" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Computing the cryptographic hash of a file." msgstr "Вычисление криптографического хеша файла." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:11245 #, no-wrap msgid "Invoking guix import" msgstr "Запуск guix import" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Importing package definitions." msgstr "Импорт описаниий пакетов." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:11775 #, no-wrap msgid "Invoking guix refresh" msgstr "Запуск guix refresh" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Updating package definitions." msgstr "Обновление описаний пакетов." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:12147 #, no-wrap msgid "Invoking guix lint" msgstr "Запуск guix lint" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Finding errors in package definitions." msgstr "Поиск ошибок в описаниях пакетов." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:12316 #, no-wrap msgid "Invoking guix size" msgstr "Запуск guix size" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Profiling disk usage." msgstr "Обзор использования диска." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:12460 #, no-wrap msgid "Invoking guix graph" msgstr "Запуск guix graph" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Visualizing the graph of packages." msgstr "Визуализация графа пакета." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:12741 #, no-wrap msgid "Invoking guix publish" msgstr "Запуск guix publish" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Sharing substitutes." msgstr "Совместное использование подстановок." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:13010 #, no-wrap msgid "Invoking guix challenge" msgstr "Запуск guix challenge" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Challenging substitute servers." msgstr "Соперничающие серверы подстановок." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:13193 #, no-wrap msgid "Invoking guix copy" msgstr "Запуск guix copy" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Copying to and from a remote store." msgstr "Копирование из и в удалённый склад." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:13256 #, no-wrap msgid "Invoking guix container" msgstr "Запуск guix container" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Process isolation." msgstr "Изоляция процесса." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:13310 #, no-wrap msgid "Invoking guix weather" msgstr "Запуск guix weather" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Assessing substitute availability." msgstr "Оценка доступности подстановок." #. type: node #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 #: guix-git/doc/guix.texi:13440 #, no-wrap msgid "Invoking guix processes" msgstr "Запуск guix processes" #. type: menuentry #: guix-git/doc/guix.texi:306 guix-git/doc/guix.texi:10246 msgid "Listing client processes." msgstr "Чтение клиентских процессов." #. type: section #: guix-git/doc/guix.texi:308 guix-git/doc/guix.texi:10249 #, no-wrap msgid "Invoking @command{guix build}" msgstr "Запуск @command{guix build}" #. type: subsection #: guix-git/doc/guix.texi:313 guix-git/doc/guix.texi:10300 #: guix-git/doc/guix.texi:10302 guix-git/doc/guix.texi:10303 #, no-wrap msgid "Common Build Options" msgstr "Стандартные параметры сборки" #. type: menuentry #: guix-git/doc/guix.texi:313 guix-git/doc/guix.texi:10300 msgid "Build options for most commands." msgstr "Параметры сборки для большинства команд." #. type: subsection #: guix-git/doc/guix.texi:313 guix-git/doc/guix.texi:10300 #: guix-git/doc/guix.texi:10457 guix-git/doc/guix.texi:10458 #, no-wrap msgid "Package Transformation Options" msgstr "Параметры преобразования пакета" #. type: menuentry #: guix-git/doc/guix.texi:313 guix-git/doc/guix.texi:10300 msgid "Creating variants of packages." msgstr "Создание вариантов пакетов." #. type: subsection #: guix-git/doc/guix.texi:313 guix-git/doc/guix.texi:10300 #: guix-git/doc/guix.texi:10767 guix-git/doc/guix.texi:10768 #, no-wrap msgid "Additional Build Options" msgstr "Дополнительные параметры сборки" #. type: menuentry #: guix-git/doc/guix.texi:313 guix-git/doc/guix.texi:10300 msgid "Options specific to 'guix build'." msgstr "Особые параметры для 'guix build'." #. type: subsection #: guix-git/doc/guix.texi:313 guix-git/doc/guix.texi:10300 #: guix-git/doc/guix.texi:11005 guix-git/doc/guix.texi:11006 #, no-wrap msgid "Debugging Build Failures" msgstr "Отладка ошибок сборки" #. type: menuentry #: guix-git/doc/guix.texi:313 guix-git/doc/guix.texi:10300 msgid "Real life packaging experience." msgstr "Жизненный опыт в сборке пакетов." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 #: guix-git/doc/guix.texi:13583 guix-git/doc/guix.texi:13584 #, no-wrap msgid "Using the Configuration System" msgstr "Использование системы конфигурации" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Customizing your GNU system." msgstr "Настройка вашей системы GNU." #. type: node #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 #: guix-git/doc/guix.texi:13834 #, no-wrap msgid "operating-system Reference" msgstr "Интерфейс operating-system" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Detail of operating-system declarations." msgstr "Подробные сведения об объявлениях opertaing-system." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 #: guix-git/doc/guix.texi:14086 guix-git/doc/guix.texi:14087 #, no-wrap msgid "File Systems" msgstr "Файловые системы" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Configuring file system mounts." msgstr "Настройка точек подключения файловой системы." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 #: guix-git/doc/guix.texi:14439 guix-git/doc/guix.texi:14440 #, no-wrap msgid "Mapped Devices" msgstr "Размеченные устройства" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Block device extra processing." msgstr "Дополнительные проверки блочных устройств." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 #: guix-git/doc/guix.texi:14587 guix-git/doc/guix.texi:14588 #, no-wrap msgid "User Accounts" msgstr "Учётные записи пользователей" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Specifying user accounts." msgstr "Задание пользовательских учётных записей." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:2293 #: guix-git/doc/guix.texi:13581 guix-git/doc/guix.texi:14763 #: guix-git/doc/guix.texi:14764 #, no-wrap msgid "Keyboard Layout" msgstr "Раскладка клавиатуры" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "How the system interprets key strokes." msgstr "Интерпретация нажатия клавиш системой." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:1820 #: guix-git/doc/guix.texi:13581 guix-git/doc/guix.texi:14909 #: guix-git/doc/guix.texi:14910 #, no-wrap msgid "Locales" msgstr "Региональные настройки" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Language and cultural convention settings." msgstr "Настройка языка и культурных особенностей." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:339 #: guix-git/doc/guix.texi:13581 guix-git/doc/guix.texi:15049 #: guix-git/doc/guix.texi:15050 #, no-wrap msgid "Services" msgstr "Сервисы" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Specifying system services." msgstr "Настройка системных служб." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 #: guix-git/doc/guix.texi:32939 guix-git/doc/guix.texi:32940 #, no-wrap msgid "Setuid Programs" msgstr "Программы setuid" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Programs running with root privileges." msgstr "Программы, выполняемые с правами root." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:1969 #: guix-git/doc/guix.texi:13581 guix-git/doc/guix.texi:33012 #: guix-git/doc/guix.texi:33013 #, no-wrap msgid "X.509 Certificates" msgstr "Сертификаты X.509" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Authenticating HTTPS servers." msgstr "Аутентификация серверов HTTPS." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:1863 #: guix-git/doc/guix.texi:13581 guix-git/doc/guix.texi:33075 #: guix-git/doc/guix.texi:33076 #, no-wrap msgid "Name Service Switch" msgstr "Служба выбора имён" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Configuring libc's name service switch." msgstr "Настройка службы имён libc." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 #: guix-git/doc/guix.texi:33213 guix-git/doc/guix.texi:33214 #, no-wrap msgid "Initial RAM Disk" msgstr "Начальный RAM-диск" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Linux-Libre bootstrapping." msgstr "Начальная загрузка Linux-Libre." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 #: guix-git/doc/guix.texi:33408 guix-git/doc/guix.texi:33409 #, no-wrap msgid "Bootloader Configuration" msgstr "Настройка загрузчика" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Configuring the boot loader." msgstr "Конфигурирование загрузчика диска." #. type: node #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 #: guix-git/doc/guix.texi:33706 #, no-wrap msgid "Invoking guix system" msgstr "Вызов guix system" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Instantiating a system configuration." msgstr "Проверка конфигурации операционной системы." #. type: node #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 #: guix-git/doc/guix.texi:34291 #, no-wrap msgid "Invoking guix deploy" msgstr "Запуск guix deploy" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Deploying a system configuration to a remote host." msgstr "Развёртывание конфигурации системы на удалённой машине." #. type: node #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 #: guix-git/doc/guix.texi:34497 #, no-wrap msgid "Running Guix in a VM" msgstr "Запуск Guix на виртуальной машине" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "How to run Guix System in a virtual machine." msgstr "Как запускать систему Guix на виртуальной машине." #. type: section #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:374 #: guix-git/doc/guix.texi:13581 guix-git/doc/guix.texi:34631 #: guix-git/doc/guix.texi:34632 #, no-wrap msgid "Defining Services" msgstr "Создание служб" #. type: menuentry #: guix-git/doc/guix.texi:333 guix-git/doc/guix.texi:13581 msgid "Adding new service definitions." msgstr "Добавление новых определений служб." #. type: menuentry #: guix-git/doc/guix.texi:335 #, fuzzy #| msgid "System Configuration" msgid "Home Environment Configuration" msgstr "Конфигурирование системы" #. type: node #: guix-git/doc/guix.texi:337 guix-git/doc/guix.texi:35430 #: guix-git/doc/guix.texi:35878 #, fuzzy, no-wrap #| msgid "Invoking guix hash" msgid "Invoking guix home" msgstr "Запуск guix hash" #. type: menuentry #: guix-git/doc/guix.texi:337 #, fuzzy #| msgid "Instantiating a system configuration." msgid "Instantiating a home environment configuration." msgstr "Проверка конфигурации операционной системы." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:15134 guix-git/doc/guix.texi:15135 #, no-wrap msgid "Base Services" msgstr "Базовые службы" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Essential system services." msgstr "Ключевые службы системы." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:16061 guix-git/doc/guix.texi:16062 #, no-wrap msgid "Scheduled Job Execution" msgstr "Запланированное исполнения задач" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "The mcron service." msgstr "Служба mcron." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:16211 guix-git/doc/guix.texi:16212 #, no-wrap msgid "Log Rotation" msgstr "Ротация логов" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "The rottlog service." msgstr "Сервис rottlog." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:16324 guix-git/doc/guix.texi:16325 #, no-wrap msgid "Networking Services" msgstr "Сервисы сети" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Network setup, SSH daemon, etc." msgstr "Установка сети, демон SSH и т.д." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:17989 guix-git/doc/guix.texi:17990 #, no-wrap msgid "Unattended Upgrades" msgstr "Автоматические обновления" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Automated system upgrades." msgstr "Автоматические обновления системы." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:18127 guix-git/doc/guix.texi:18128 #, no-wrap msgid "X Window" msgstr "Оконная система X" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Graphical display." msgstr "Графический дисплей." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:18512 guix-git/doc/guix.texi:18513 #, no-wrap msgid "Printing Services" msgstr "Сервисы печати" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Local and remote printer support." msgstr "Поддержка локальных и удалённых принтеров." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:19359 guix-git/doc/guix.texi:19360 #, no-wrap msgid "Desktop Services" msgstr "Сервисы рабочего стола" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "D-Bus and desktop services." msgstr "D-Bus и сервисы рабочего стола." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:19877 guix-git/doc/guix.texi:19878 #, no-wrap msgid "Sound Services" msgstr "Звуковые сервисы" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "ALSA and Pulseaudio services." msgstr "Сервисы ALSA и Pulseaudio." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:20017 guix-git/doc/guix.texi:20018 #, no-wrap msgid "Database Services" msgstr "Сервисы баз данных" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "SQL databases, key-value stores, etc." msgstr "Базы данных SQL, базы ключ-значение и т. д." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:20352 guix-git/doc/guix.texi:20353 #, no-wrap msgid "Mail Services" msgstr "Почтовые сервисы" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "IMAP, POP3, SMTP, and all that." msgstr "IMAP, POP3, SMTP и прочее." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:22211 guix-git/doc/guix.texi:22212 #, no-wrap msgid "Messaging Services" msgstr "Сервисы сообщений" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Messaging services." msgstr "Сервисы сообщений." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:22714 guix-git/doc/guix.texi:22715 #, no-wrap msgid "Telephony Services" msgstr "Сервисы телефонии" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Telephony services." msgstr "Сервисы телефонии." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:23945 guix-git/doc/guix.texi:23946 #, no-wrap msgid "Monitoring Services" msgstr "Сервисы мониторинга" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Monitoring services." msgstr "Сервисы мониторинга." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:24456 guix-git/doc/guix.texi:24457 #, no-wrap msgid "Kerberos Services" msgstr "Сервисы Kerberos" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Kerberos services." msgstr "Сервисы Kerberos." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:24582 guix-git/doc/guix.texi:24583 #, no-wrap msgid "LDAP Services" msgstr "LDAP Сервисы" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "LDAP services." msgstr "LDAP сервисы." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:25061 guix-git/doc/guix.texi:25062 #, no-wrap msgid "Web Services" msgstr "Веб-сервисы" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Web servers." msgstr "Веб-серверы." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:26263 guix-git/doc/guix.texi:26264 #, no-wrap msgid "Certificate Services" msgstr "Сервисы сертификатов" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "TLS certificates via Let's Encrypt." msgstr "Сертификаты TLS через Let's Encrypt." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:26444 guix-git/doc/guix.texi:26445 #, no-wrap msgid "DNS Services" msgstr "Сервисы DNS" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "DNS daemons." msgstr "DNS-демоны." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:27189 guix-git/doc/guix.texi:27190 #, no-wrap msgid "VPN Services" msgstr "VPN-сервисы" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "VPN daemons." msgstr "VPN-демоны." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:27698 guix-git/doc/guix.texi:27699 #, no-wrap msgid "Network File System" msgstr "Сетевые файловые системы" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "NFS related services." msgstr "Сервисы, работающие с сетевыми файловыми системами." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:27894 guix-git/doc/guix.texi:27895 #, no-wrap msgid "Continuous Integration" msgstr "Длительная интеграция" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Cuirass and Laminar services." msgstr "Сервис Cuirass." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:28180 guix-git/doc/guix.texi:28181 #, no-wrap msgid "Power Management Services" msgstr "Сервисы управления питанием" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Extending battery life." msgstr "Продление жизни батареи." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:28714 guix-git/doc/guix.texi:28715 #, no-wrap msgid "Audio Services" msgstr "Сервисы аудио" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "The MPD." msgstr "MPD." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:28833 guix-git/doc/guix.texi:28834 #, no-wrap msgid "Virtualization Services" msgstr "Сервисы виртуализации" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Virtualization services." msgstr "Сервисы виртуализации." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:30448 guix-git/doc/guix.texi:30449 #, no-wrap msgid "Version Control Services" msgstr "Сервисы упраления версиями" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Providing remote access to Git repositories." msgstr "Доступ к удалённым репозиториям Git." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:31784 guix-git/doc/guix.texi:31785 #, no-wrap msgid "Game Services" msgstr "Игровые службы" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Game servers." msgstr "Игровые службы." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:31816 guix-git/doc/guix.texi:31817 #, no-wrap msgid "PAM Mount Service" msgstr "Службы подключения PAM" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Service to mount volumes when logging in." msgstr "Служба подключения томов при входе в систему." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:31899 guix-git/doc/guix.texi:31900 #, no-wrap msgid "Guix Services" msgstr "Сервисы Guix" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Services relating specifically to Guix." msgstr "Сервисы, касающиеся конкретно Guix." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:32183 guix-git/doc/guix.texi:32184 #, no-wrap msgid "Linux Services" msgstr "Службы Linux" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Services tied to the Linux kernel." msgstr "Службы, привязанные к ядру Linux." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:32410 guix-git/doc/guix.texi:32411 #, no-wrap msgid "Hurd Services" msgstr "Сервисы Hurd" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Services specific for a Hurd System." msgstr "Сервисы, касающиеся Hurd System." #. type: subsection #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 #: guix-git/doc/guix.texi:32452 guix-git/doc/guix.texi:32453 #, no-wrap msgid "Miscellaneous Services" msgstr "Разнообразные службы" #. type: menuentry #: guix-git/doc/guix.texi:372 guix-git/doc/guix.texi:15132 msgid "Other services." msgstr "Другие службы." #. type: subsection #: guix-git/doc/guix.texi:379 guix-git/doc/guix.texi:34643 #: guix-git/doc/guix.texi:34645 guix-git/doc/guix.texi:34646 #, no-wrap msgid "Service Composition" msgstr "Структура сервисов" #. type: menuentry #: guix-git/doc/guix.texi:379 guix-git/doc/guix.texi:34643 msgid "The model for composing services." msgstr "Модель построения сервисов." #. type: subsection #: guix-git/doc/guix.texi:379 guix-git/doc/guix.texi:34643 #: guix-git/doc/guix.texi:34701 guix-git/doc/guix.texi:34702 #, no-wrap msgid "Service Types and Services" msgstr "Типы сервисов и сервисы" #. type: menuentry #: guix-git/doc/guix.texi:379 guix-git/doc/guix.texi:34643 msgid "Types and services." msgstr "Типы и сервисы." #. type: subsection #: guix-git/doc/guix.texi:379 guix-git/doc/guix.texi:34643 #: guix-git/doc/guix.texi:34838 guix-git/doc/guix.texi:34839 #, no-wrap msgid "Service Reference" msgstr "Интерфейс сервиса" #. type: menuentry #: guix-git/doc/guix.texi:379 guix-git/doc/guix.texi:34643 msgid "API reference." msgstr "Доступ через API." #. type: subsection #: guix-git/doc/guix.texi:379 guix-git/doc/guix.texi:34643 #: guix-git/doc/guix.texi:35148 guix-git/doc/guix.texi:35149 #, no-wrap msgid "Shepherd Services" msgstr "Сервисы Shepherd" #. type: menuentry #: guix-git/doc/guix.texi:379 guix-git/doc/guix.texi:34643 msgid "A particular type of service." msgstr "Особенный тип сервисов." #. type: section #: guix-git/doc/guix.texi:384 guix-git/doc/guix.texi:36189 #: guix-git/doc/guix.texi:36191 guix-git/doc/guix.texi:36192 #, no-wrap msgid "Separate Debug Info" msgstr "Отдельная информация об отладке" #. type: menuentry #: guix-git/doc/guix.texi:384 guix-git/doc/guix.texi:36189 msgid "Installing 'debug' outputs." msgstr "Установка выводов отладочной информации." #. type: section #: guix-git/doc/guix.texi:384 guix-git/doc/guix.texi:36189 #: guix-git/doc/guix.texi:36250 guix-git/doc/guix.texi:36251 #, no-wrap msgid "Rebuilding Debug Info" msgstr "Сборка с отладочной информацией" #. type: menuentry #: guix-git/doc/guix.texi:384 guix-git/doc/guix.texi:36189 msgid "Building missing debug info." msgstr "Сборка отсутствующей отладочной информации." #. type: node #: guix-git/doc/guix.texi:389 guix-git/doc/guix.texi:36467 #: guix-git/doc/guix.texi:36469 #, no-wrap msgid "Reduced Binary Seed Bootstrap" msgstr "Уменьшение Binary Seed Bootstrap" #. type: menuentry #: guix-git/doc/guix.texi:389 guix-git/doc/guix.texi:36467 msgid "A Bootstrap worthy of GNU." msgstr "Первичная загрузка, достойная GNU." #. type: section #: guix-git/doc/guix.texi:389 guix-git/doc/guix.texi:36467 #: guix-git/doc/guix.texi:36544 guix-git/doc/guix.texi:36545 #, no-wrap msgid "Preparing to Use the Bootstrap Binaries" msgstr "Подготовка к использованию двоичных файлов первоначальной загрузки" #. type: menuentry #: guix-git/doc/guix.texi:389 guix-git/doc/guix.texi:36467 msgid "Building that what matters most." msgstr "Сборка самого главного." #. type: cindex #: guix-git/doc/guix.texi:397 #, no-wrap msgid "purpose" msgstr "цель" #. type: Plain text #: guix-git/doc/guix.texi:405 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\" произносится \"гикс\".} --- это утилита для " "управления пакетами и дистрибутив системы GNU. Guix позволяет " "непривилегированным пользователям устанавливать, обновлять и удалять " "программные пакеты, откатываться до предыдущих наборов пакетов, собирать " "пакеты из исходников и обеспечивает создание и поддержку программного " "окружения в целом." #. type: cindex #: guix-git/doc/guix.texi:406 guix-git/doc/guix.texi:481 #, no-wrap msgid "Guix System" msgstr "Система Guix" #. type: cindex #: guix-git/doc/guix.texi:407 #, no-wrap msgid "GuixSD, now Guix System" msgstr "GuixSD, теперь система Guix" #. type: cindex #: guix-git/doc/guix.texi:408 #, no-wrap msgid "Guix System Distribution, now Guix System" msgstr "Guix System Distribution, теперь система Guix" #. type: Plain text #: guix-git/doc/guix.texi:417 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@tie{}Guix поверх существующей системы GNU/Linux, и " "она дополнит функции системы новой утилитой, не внося помехи " "(@pxref{Installation}). Или можно использовать отдельную операционную " "систему --- @dfn{Guix@tie{}System}@footnote{Мы называли систему Guix ``Guix " "System Distribution'' или ``GuixSD''. Теперь мы считаем, удобнее объединить " "всё под названием ``Guix'', так что теперь командой @command{guix system} " "устанавливается система Guix, даже если вы используете другой дистирбутив " "для её запуска}. @xref{GNU Distribution}." #. type: cindex #: guix-git/doc/guix.texi:426 #, no-wrap msgid "user interfaces" msgstr "пользовательские интерфейсы" #. type: Plain text #: guix-git/doc/guix.texi:432 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:432 #, no-wrap msgid "build daemon" msgstr "демон сборки" #. type: Plain text #: guix-git/doc/guix.texi:436 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:437 #, no-wrap msgid "extensibility of the distribution" msgstr "расширяемость дистрибутива" #. type: cindex #: guix-git/doc/guix.texi:438 guix-git/doc/guix.texi:6462 #, no-wrap msgid "customization, of packages" msgstr "настройка, пакетов" #. type: Plain text #: guix-git/doc/guix.texi:447 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{настраиваемый}: " "пользователи могут @emph{получать} специальные определения пакетов из " "существующих, в том числе через командную строку (@pxref{Package " "Transformation Options})." #. type: cindex #: guix-git/doc/guix.texi:448 #, no-wrap msgid "functional package management" msgstr "функциональное управление пакетами" #. type: cindex #: guix-git/doc/guix.texi:449 #, no-wrap msgid "isolation" msgstr "изоляция" #. type: Plain text #: guix-git/doc/guix.texi:464 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 работает как @dfn{функциональный пакетный менеджер} --- " "принцип, впервые введённый Nix (@pxref{Acknowledgments}). В Guix процесс " "сборки и установки пакета рассматривается как @emph{функция} в " "математическом смысле. Эта функция принимает входные данные, как например, " "скрипты сборки, компилятор, её результат зависит только от входных данных, и " "он не может зависеть от программ или скриптов, которые не подаются на вход " "явным образом. Функция сборки всегда производит один результат, когда " "получает один и тот же набор входных данных. Она не может как-либо изменять " "окружение запущенной системы; например, она не может создавать, изменять или " "удалять файлы за пределами её директорий сборки и установки. Это достигается " "так: процесс сборки запускается в изолированном окружении (или " "@dfn{контейнере}), в котором видны только входные данные, заданные явно." #. type: cindex #: guix-git/doc/guix.texi:465 guix-git/doc/guix.texi:8820 #, no-wrap msgid "store" msgstr "склад" #. type: Plain text #: guix-git/doc/guix.texi:472 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{склад} (@pxref{The Store}).Каждый " "пакет устанавливается в собственную директорию склада, по умолчанию --- под " "@file{/gnu/store}. Имя директории содержит хеш всех входных данных, " "используемых для сборки этого пакета, так что изменение входных данных " "порождает различные имена директорий." #. type: Plain text #: guix-git/doc/guix.texi:476 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:491 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.ru.html,свобода, " "предоставляемая пользователям этого программного обеспечения}.}. " "Дистрибутив можно установить отдельно (@pxref{System Installation}), но " "также можно установить Guix в качестве пакетного менеджера поверх " "установленной системы GNU/Linux (@pxref{Installation}). Когда нам нужно " "провести различие между ними, мы называем самодостаточный дистрибутив " "Guix@tie{}System." #. type: Plain text #: guix-git/doc/guix.texi:497 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, такие как GNU libc, GCC и " "Binutils, а также многие приложения GNU и не-GNU. Полный список доступных " "пакетов можно просмотреть по @url{https://www.gnu.org/software/guix/packages," "онлайн} или запустив @command{guix package} (@pxref{Invoking guix package}):" #. type: example #: guix-git/doc/guix.texi:500 #, no-wrap msgid "guix package --list-available\n" msgstr "guix package --list-available\n" #. type: Plain text #: guix-git/doc/guix.texi:506 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 "" "Наша цель --- предоставить состоящий на 100% из свободного программного " "обеспечения рабочий дистрибуив Linux или другие варианты GNU. Мы " "ориентируемся на продвижении и полноценной интеграции компонентов GNU и " "поддержке программ и утилит, которые помогают пользователям реализовать их " "свободы." #. type: Plain text #: guix-git/doc/guix.texi:508 msgid "Packages are currently available on the following platforms:" msgstr "Пакеты в данные момент доступны для следующих платформ:" #. type: item #: guix-git/doc/guix.texi:511 guix-git/doc/guix.texi:2140 #, no-wrap msgid "x86_64-linux" msgstr "x86_64-linux" #. type: table #: guix-git/doc/guix.texi:513 msgid "Intel/AMD @code{x86_64} architecture, Linux-Libre kernel." msgstr "архитектура Intel/AMD @code{x86_64} с ядром Linux-Libre." #. type: item #: guix-git/doc/guix.texi:514 guix-git/doc/guix.texi:2143 #, no-wrap msgid "i686-linux" msgstr "i686-linux" #. type: table #: guix-git/doc/guix.texi:516 msgid "Intel 32-bit architecture (IA32), Linux-Libre kernel." msgstr "архитектура Intel 32-bit (IA32) с ядром Linux-Libre." #. type: item #: guix-git/doc/guix.texi:517 #, no-wrap msgid "armhf-linux" msgstr "armhf-linux" #. type: table #: guix-git/doc/guix.texi:521 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 с hard float, Thumb-2 и NEON, используя двочиный " "интерфейс приложений EABI hard-float (ABI), с ядром Linux-Libre." #. type: item #: guix-git/doc/guix.texi:522 #, no-wrap msgid "aarch64-linux" msgstr "aarch64-linux" #. type: table #: guix-git/doc/guix.texi:524 msgid "little-endian 64-bit ARMv8-A processors, Linux-Libre kernel." msgstr "процессоры little-endian 64-bit ARMv8-A с ядром Linux-Libre." #. type: item #: guix-git/doc/guix.texi:525 #, no-wrap msgid "i586-gnu" msgstr "i586-gnu" #. type: table #: guix-git/doc/guix.texi:528 msgid "" "@uref{https://hurd.gnu.org, GNU/Hurd} on the Intel 32-bit architecture " "(IA32)." msgstr "" "@uref{https://hurd.gnu.org, GNU/Hurd} на 32 битной архитектуре Intel (IA32)." #. type: table #: guix-git/doc/guix.texi:534 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 "" "Эта конфигурация является экспериментальной и находится в разработке. Самый " "простой способ попробовать - настроить экземпляр @code{hurd-vm-service-type} " "на вашем GNU/Linux компьютере (@pxref{transparent-emulation-qemu, @code{hurd-" "vm-service-type}}). @xref{Contributing}, о том, как помочь!" #. type: item #: guix-git/doc/guix.texi:535 #, no-wrap msgid "mips64el-linux (deprecated)" msgstr "mips64el-linux (устарело)" #. type: table #: guix-git/doc/guix.texi:541 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-разрядные little-endian процессоры MIPS порядком байтов, в частности " "серии Loongson, n32 ABI и ядро Linux-Libre. Эта конфигурация больше не " "поддерживается полностью; в частности, фермы сборки проекта больше не " "предоставляют замены этой архитектуре." #. type: table #: guix-git/doc/guix.texi:552 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 Patches}). 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-битные процессоры Power ISA с прямым порядком байтов, ядро Linux-Libre. " "Сюда входят системы POWER9, такие как@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}. Эта платформа доступна как " "«предварительная версия»: хотя она и поддерживается, заменители еще не " "доступны (@pxref{Substitutes}), а некоторые пакеты могут не собираться " "(@pxref{Tracking Bugs and Patches}) . Тем не менее, сообщество Guix активно " "работает над улучшением этой поддержки, и сейчас отличное время, чтобы " "попробовать и принять участие!" #. type: Plain text #: guix-git/doc/guix.texi:562 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 "" "Пользуясь системой@tie{}Guix, вы @emph{объявляете} все аспекты конфигурации " "системы, и Guix выполняет установку инстранции ОС транзакционным, " "повторяемым способом, не имеющей состояния (stateless) (@pxref{System " "Configuration}). Система Guix использует ядро Linux-libre, систему " "инициализации Shepherd (@pxref{Introduction,,, shepherd, The GNU Shepherd " "Manual}), хорошо известные утилиты и тулчейны GNU, а также графическое " "окружение на выбор." #. type: Plain text #: guix-git/doc/guix.texi:565 msgid "" "Guix System is available on all the above platforms except @code{mips64el-" "linux} and @code{powerpc64le-linux}." msgstr "" "Система Guix доступна для платформ, приведённых выше, кроме @code{mips64el-" "linux}." #. type: Plain text #: guix-git/doc/guix.texi:569 msgid "" "For information on porting to other architectures or kernels, " "@pxref{Porting}." msgstr "" "Информация о портировании на другие архитектуры и ядра доступна в " "@pxref{Porting}." #. type: Plain text #: guix-git/doc/guix.texi:572 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:578 #, no-wrap msgid "installing Guix" msgstr "Установка Guix" #. type: quotation #: guix-git/doc/guix.texi:590 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, скрипт установки} для установки Guix на " "существующую систему GNU/Linux, называемый далее @dfn{чужой дистрибутив}." "@footnote{Этот раздел описывает установку пакетного менеджера поверх " "существующей системы GNU/Linux. Если вместо этого вы хотите установить " "отдельную операционную систему GNU, смотрите @pxref{System Installation}.} " "Скрипт автоматизирует скачивание, установку и начальную конфигурацию Guix. " "Он должен запускаться от пользователя root." #. type: cindex #: guix-git/doc/guix.texi:592 guix-git/doc/guix.texi:1815 #, no-wrap msgid "foreign distro" msgstr "чужой дистрибутив" #. type: cindex #: guix-git/doc/guix.texi:593 #, no-wrap msgid "directories related to foreign distro" msgstr "директории относящиеся к чужому дистрибутиву" #. type: Plain text #: guix-git/doc/guix.texi:598 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 "" "При установке на чужой дистрибутив GNU@tie{}Guix дополняет доступные утилиты " "без внесения помех. Его данные живут только в двух директориях --- обычно " "@file{/gnu/store} и @file{/var/guix}; другие файлы вашей системы, как @file{/" "etc}, остаются нетронутыми." #. type: Plain text #: guix-git/doc/guix.texi:601 msgid "" "Once installed, Guix can be updated by running @command{guix pull} " "(@pxref{Invoking guix pull})." msgstr "" "Установленный Guix можно обновлять командой @command{guix pull} " "(@pxref{Invoking guix pull})." #. type: Plain text #: guix-git/doc/guix.texi:606 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 к " "программному обеспечению, а также процесс ручной установки до запуска в " "работу." #. type: cindex #: guix-git/doc/guix.texi:620 #, no-wrap msgid "installing Guix from binaries" msgstr "установка Guix из бинарных файлов" #. type: cindex #: guix-git/doc/guix.texi:621 #, no-wrap msgid "installer script" msgstr "скрипт установки" #. type: Plain text #: guix-git/doc/guix.texi:627 msgid "" "This section describes how to install Guix on an arbitrary system from a " "self-contained tarball providing binaries for Guix and for all its " "dependencies. This is often quicker than installing from source, which is " "described in the next sections. The only requirement is to have GNU@tie{}" "tar and Xz." msgstr "" "Этот раздел описывает, как установить Guix на обычную систему из отдельного " "архива, который содержит бинарники Guix и все его зависимости. Это обычно " "быстрее установки из исходных кодов, которая описана в следующем разделе. " "Единственное требование - иметь GNU@tie{}tar и Xz." #. type: quotation #: guix-git/doc/guix.texi:635 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, установочный скрипт}. Скрипт " "автоматизирует скачивание, установку и начальные шаги конфигурации, " "описанные ниже. Он должен запускаться от пользователя root. Как root вы " "можете запустить это:" #. type: example #: guix-git/doc/guix.texi:641 #, 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: quotation #: guix-git/doc/guix.texi:645 msgid "" "When you're done, @pxref{Application Setup} for extra configuration you " "might need, and @ref{Getting Started} for your first steps!" msgstr "" "Когда закончите, вам может понадобиться @pxref{Application Setup} для " "дополнительной настройки и @ref{Getting Started}!" #. type: Plain text #: guix-git/doc/guix.texi:648 msgid "Installing goes along these lines:" msgstr "Установка производится следующими образом:" #. type: cindex #: guix-git/doc/guix.texi:651 #, no-wrap msgid "downloading Guix binary" msgstr "скачивание бинарника Guix" #. type: enumerate #: guix-git/doc/guix.texi:657 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{system}.tar.xz}, где @var{system} --- это @code{x86_64-" "linux} для машины @code{x86_64}, на которой уже запущено ядро Linux, и так " "далее." #. type: enumerate #: guix-git/doc/guix.texi:661 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} и запустив:" #. type: example #: guix-git/doc/guix.texi:665 #, 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}.x86_64-linux.tar.xz.sig\n" "$ gpg --verify guix-binary-@value{VERSION}.x86_64-linux.tar.xz.sig\n" #. type: Plain text #: guix-git/doc/guix.texi:669 guix-git/doc/guix.texi:2158 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:673 #, 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:677 guix-git/doc/guix.texi:2166 msgid "and rerun the @code{gpg --verify} command." msgstr "и запустите команду @code{gpg --verify}." #. type: Plain text #: guix-git/doc/guix.texi:680 guix-git/doc/guix.texi:2169 msgid "" "Take note that a warning like ``This key is not certified with a trusted " "signature!'' is normal." msgstr "" "Обратите внимание, что предупреждение по типу «Этот ключ не сертифицирован с " "доверенной подписью!» является нормальным." #. type: enumerate #: guix-git/doc/guix.texi:686 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} запустите:" #. type: example #: guix-git/doc/guix.texi:692 #, 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" " /path/to/guix-binary-@value{VERSION}.x86_64-linux.tar.xz\n" "# mv var/guix /var/ && mv gnu /\n" #. type: enumerate #: guix-git/doc/guix.texi:697 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} " "(подробнее в следующем шаге)." #. type: enumerate #: guix-git/doc/guix.texi:700 msgid "" "Do @emph{not} unpack the tarball on a working Guix system since that would " "overwrite its own essential files." msgstr "" "@emph{Не} распаковывайте архив в работающую систему Guix, так как это " "перезапишет её основные файлы." #. type: enumerate #: guix-git/doc/guix.texi:710 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 не вызывает ошибок об \"устаревшей дате\", подобные ошибки " "появлялись в GNU@tie{}tar 1.26 и старше, в последних версиях всё в порядке). " "Они возникают из-за того, что архив имеет нулевую дату модификации (что " "соответствует 1 января 1970). Это сделано с той целью, чтобы удостовериться, " "что содержимое архива не засисит от даты его создания, что делает его " "воспроизводимым (повторяемым)." #. type: enumerate #: guix-git/doc/guix.texi:714 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 "" "Сделайте профиль доступным по пути @file{~root/.config/guix/current}, куда " "@command{guix pull} будет устанавливать обновления (@pxref{Invoking guix " "pull}):" #. type: example #: guix-git/doc/guix.texi:719 #, 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" #. type: enumerate #: guix-git/doc/guix.texi:723 msgid "" "Source @file{etc/profile} to augment @env{PATH} and other relevant " "environment variables:" msgstr "" "Добавьте @file{etc/profile} в @code{PATH} и другие уместные переменные " "окружения:" #. type: example #: guix-git/doc/guix.texi:727 #, 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" #. type: enumerate #: guix-git/doc/guix.texi:732 msgid "" "Create the group and user accounts for build users as explained below " "(@pxref{Build Environment Setup})." msgstr "" "Создайте группу и пользовательские учётные записи, как это обозначено в " "(@pxref{Build Environment Setup})." #. type: enumerate #: guix-git/doc/guix.texi:735 msgid "Run the daemon, and set it to automatically start on boot." msgstr "Запустите демон и сделайте добавьте его в автоззагрузку после старта." #. type: enumerate #: guix-git/doc/guix.texi:738 msgid "" "If your host distro uses the systemd init system, this can be achieved with " "these commands:" msgstr "" "Если ваш дистрибутив использует систему инициализации systemd, этого можно " "добиться следующими командами:" #. type: example #: guix-git/doc/guix.texi:751 #, 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" #. type: enumerate #: guix-git/doc/guix.texi:754 msgid "You may also want to arrange for @command{guix gc} to run periodically:" msgstr "" #. type: example #: guix-git/doc/guix.texi:760 #, fuzzy, 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" 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/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" #. type: enumerate #: guix-git/doc/guix.texi:764 msgid "" "You may want to edit @file{guix-gc.service} to adjust the command line " "options to fit your needs (@pxref{Invoking guix gc})." msgstr "" #. type: itemize #: guix-git/doc/guix.texi:766 guix-git/doc/guix.texi:13000 msgid "If your host distro uses the Upstart init system:" msgstr "Если ваш дистрибутив использует систему инициализации Upstart:" #. type: example #: guix-git/doc/guix.texi:772 #, 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" #. type: enumerate #: guix-git/doc/guix.texi:775 msgid "Otherwise, you can still start the daemon manually with:" msgstr "Или можно запускать демон вручную так:" #. type: example #: guix-git/doc/guix.texi:779 #, 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" #. type: enumerate #: guix-git/doc/guix.texi:784 msgid "" "Make the @command{guix} command available to other users on the machine, for " "instance with:" msgstr "" "Сделайте команду @command{guix} доступной для других пользователей машины, " "например, так:" #. type: example #: guix-git/doc/guix.texi:789 #, 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" #. type: enumerate #: guix-git/doc/guix.texi:793 msgid "" "It is also a good idea to make the Info version of this manual available " "there:" msgstr "Хорошо также предоставить доступ к Info-версии руководства так:" #. type: example #: guix-git/doc/guix.texi:799 #, 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" #. type: enumerate #: guix-git/doc/guix.texi:805 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})." #. type: cindex #: guix-git/doc/guix.texi:807 guix-git/doc/guix.texi:3760 #: guix-git/doc/guix.texi:15675 #, no-wrap msgid "substitutes, authorization thereof" msgstr "авторизация, подстановок" #. type: enumerate #: guix-git/doc/guix.texi:811 #, fuzzy #| msgid "" #| "To use substitutes from @code{@value{SUBSTITUTE-SERVER}} or one of its " #| "mirrors (@pxref{Substitutes}), authorize them:" msgid "" "To use substitutes from @code{@value{SUBSTITUTE-SERVER-1}}, " "@code{@value{SUBSTITUTE-SERVER-2}} or a mirror (@pxref{Substitutes}), " "authorize them:" msgstr "" "Чтобы использовать подстановки из @code{@value{SUBSTITUTE-SERVER}} или из " "одного из зеркал (@pxref{Substitutes}), авторизуйте их:" #. type: example #: guix-git/doc/guix.texi:817 #, fuzzy, no-wrap #| msgid "" #| "# guix archive --authorize < \\\n" #| " ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER}.pub\n" 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}.pub\n" #. type: quotation #: guix-git/doc/guix.texi:824 msgid "" "If you do not enable substitutes, Guix will end up building " "@emph{everything} from source on your machine, making each installation and " "upgrade very expensive. @xref{On Trusting Binaries}, for a discussion of " "reasons why one might want do disable substitutes." msgstr "" #. type: enumerate #: guix-git/doc/guix.texi:829 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}." #. type: Plain text #: guix-git/doc/guix.texi:832 msgid "Voilà, the installation is complete!" msgstr "Вуаля! Установка завершена!" #. type: Plain text #: guix-git/doc/guix.texi:835 msgid "" "You can confirm that Guix is working by installing a sample package into the " "root profile:" msgstr "" "Вы можете проверить, что Guix работает, установив тестовый пакет для профиля " "root:" #. type: example #: guix-git/doc/guix.texi:838 #, no-wrap msgid "# guix install hello\n" msgstr "# guix install hello\n" #. type: Plain text #: guix-git/doc/guix.texi:842 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:845 #, no-wrap msgid "make guix-binary.@var{system}.tar.xz\n" msgstr "make guix-binary.@var{system}.tar.xz\n" #. type: Plain text #: guix-git/doc/guix.texi:849 msgid "...@: which, in turn, runs:" msgstr "..., что в свою очередь, выполнит:" #. type: example #: guix-git/doc/guix.texi:853 #, no-wrap msgid "" "guix pack -s @var{system} --localstatedir \\\n" " --profile-name=current-guix guix\n" msgstr "" "guix pack -s @var{system} --localstatedir \\\n" " --profile-name=current-guix guix\n" #. type: Plain text #: guix-git/doc/guix.texi:856 msgid "@xref{Invoking guix pack}, for more info on this handy tool." msgstr "" "@xref{Invoking guix pack} для подробной информации об этом полезном " "инструменте." #. type: Plain text #: guix-git/doc/guix.texi:864 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 из исходников. Пожалуйста, " "смотрите файлы @file{README} и @file{INSTALL} в дереве исходников Guix для " "подробной информации." #. type: cindex #: guix-git/doc/guix.texi:865 #, no-wrap msgid "official website" msgstr "официальный веб-сайт" #. type: Plain text #: guix-git/doc/guix.texi:868 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/guix.texi:870 msgid "GNU Guix depends on the following packages:" msgstr "GNU Guix зависит от следующих пакетов:" #. type: item #: guix-git/doc/guix.texi:872 #, fuzzy, no-wrap #| msgid "@url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x or" 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: item #: guix-git/doc/guix.texi:873 #, 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/guix.texi:875 msgid "0.1.0 or later;" msgstr "0.1.0 или более поздней;" #. type: itemize #: guix-git/doc/guix.texi:879 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, how to install the GnuTLS bindings for Guile,, gnutls-guile, " "GnuTLS-Guile});" #. type: itemize #: guix-git/doc/guix.texi:882 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/guix.texi:882 #, 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/guix.texi:884 msgid "version 0.1.0 or later;" msgstr "0.1.0 или более поздней;" #. type: item #: guix-git/doc/guix.texi:884 #, 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/guix.texi:885 #, 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/guix.texi:889 #, fuzzy 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} от августа 2017 или " "более поздней;" #. type: item #: guix-git/doc/guix.texi:889 #, 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/guix.texi:891 msgid "4.3.0 or later;" msgstr "4.3.0 или более поздней;" #. type: item #: guix-git/doc/guix.texi:891 #, 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/guix.texi:895 msgid "The following dependencies are optional:" msgstr "Следующие зависимости необязательны:" #. type: itemize #: guix-git/doc/guix.texi:903 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.10.2 или новее." #. type: itemize #: guix-git/doc/guix.texi:908 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}, для zstd " "сжатия и распаковки в @command{guix publish} и для заменителей " "(@pxref{Invoking guix publish})." #. type: itemize #: guix-git/doc/guix.texi:912 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/guix.texi:917 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://ngyro.com/software/guile-semver.html, Guile-Semver} для " "@code{crate} импортера (@pxref{Invoking guix import})." #. type: itemize #: guix-git/doc/guix.texi:921 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/guix.texi:925 msgid "" "Unless @option{--disable-daemon} was passed to @command{configure}, the " "following packages are also needed:" msgstr "" "Если строка @code{--disable-daemon} не использовалась в @command{configure}, " "тогда необходимы также следующие пакеты:" #. type: item #: guix-git/doc/guix.texi:927 #, no-wrap msgid "@url{https://gnupg.org/, GNU libgcrypt};" msgstr "@url{https://gnupg.org/, GNU libgcrypt};" #. type: item #: guix-git/doc/guix.texi:928 #, no-wrap msgid "@url{https://sqlite.org, SQLite 3};" msgstr "@url{https://sqlite.org, SQLite 3};" #. type: item #: guix-git/doc/guix.texi:929 #, 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/guix.texi:931 msgid "C++11 standard." msgstr "стандарта C++11." #. type: cindex #: guix-git/doc/guix.texi:933 #, no-wrap msgid "state directory" msgstr "главный каталог" #. type: Plain text #: guix-git/doc/guix.texi:942 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})." msgstr "" "Если Guix развёртывается в системе, где уже был установлен Guix, необходимо " "указать главный каталог предыдущей инсталляции, используя параметр @code{--" "localstatedir} в скрипте @command{configure} (@pxref{Directory Variables, " "@code{localstatedir},, standards, GNU Coding Standards}). Скрипт " "@command{configure} защищает от ошибок в конфигурации @var{localstatedir}, " "предотвращая непреднамеренное повреждение хранилища (@pxref{The Store})." #. type: cindex #: guix-git/doc/guix.texi:946 #, no-wrap msgid "test suite" msgstr "набор тестов" #. type: Plain text #: guix-git/doc/guix.texi:952 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 (на самом деле, отчёты об ошибках тестов " "помогают улучшить ПО). Чтобы запустить тесты, напечатайте:" #. type: example #: guix-git/doc/guix.texi:955 #, no-wrap msgid "make check\n" msgstr "make check\n" #. type: Plain text #: guix-git/doc/guix.texi:962 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 "" "Тесты можно выполнять параллельно при включении опции @code{-j} в GNU@tie{}" "make, так быстрее. Первый запуск может длиться несколько минут на топовой " "машине, последующие запуски будут быстрее, так как склад, который создаётся " "для тестов, уже закеширует различные вещи." #. type: Plain text #: guix-git/doc/guix.texi:965 msgid "" "It is also possible to run a subset of the tests by defining the " "@code{TESTS} makefile variable as in this example:" msgstr "" "Также можно запустить отдельные наборы тестов, используя переменную " "@code{TESTS}, как в примере:" #. type: example #: guix-git/doc/guix.texi:968 #, 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/guix.texi:973 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 "" "По умолчанию результаты тестов выводятся в файл. Чтобы просмотреть " "результаты каждого отдельного теста, нужно задать переменную makifile " "@code{SCM_LOG_DRIVER_FLAGS}, как в примере:" #. type: example #: guix-git/doc/guix.texi:976 #, 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/guix.texi:984 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}. " "Вот пример для запуска всех тестовых случаев из файла @file{tests/packages." "scm}, чьи имена начинаются с ``transaction-upgrade-entry'':" #. type: example #: guix-git/doc/guix.texi:988 #, 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/guix.texi:994 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} к makefile " "переменной@code{SCM_LOG_DRIVER_FLAGS} и задать Automake makefile переменную " "@code{VERBOSE}, как в:" #. type: example #: guix-git/doc/guix.texi:997 #, no-wrap msgid "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --errors-only=yes\" VERBOSE=1\n" msgstr "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" #. type: Plain text #: guix-git/doc/guix.texi:1002 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/guix.texi:1005 #, no-wrap msgid "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --show-duration=yes\"\n" msgstr "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" #. type: Plain text #: guix-git/doc/guix.texi:1009 msgid "" "@xref{Parallel Test Harness,,,automake,GNU Automake} for more information " "about the Automake Parallel Test Harness." msgstr "" "@xref{Parallel Test Harness,,,automake,GNU Automake} для получения " "дополнительной информации о Automake Parallel Test Harness." #. type: Plain text #: guix-git/doc/guix.texi:1014 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/guix.texi:1018 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/guix.texi:1021 #, no-wrap msgid "make check-system\n" msgstr "make check-system\n" #. type: Plain text #: guix-git/doc/guix.texi:1025 msgid "or, again, by defining @code{TESTS} to select a subset of tests to run:" msgstr "" "или, опять же, задав @code{TESTS}, чтобы выбрать список тестов для запуска:" #. type: example #: guix-git/doc/guix.texi:1028 #, no-wrap msgid "make check-system TESTS=\"basic mcron\"\n" msgstr "make check-system TESTS=\"basic mcron\"\n" #. type: Plain text #: guix-git/doc/guix.texi:1036 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{})}. При работе " "они запускают операционную систему под легковесным инструментарием в " "виртуальной машине. Они могут выполнять тяжёлые вычисления или довольно " "простые в зависимости от наличия подстановок их зависимостей " "(@pxref{Substitutes}). Некоторые из них требуют много места для работы с " "образами виртуальной машины." #. type: Plain text #: guix-git/doc/guix.texi:1039 msgid "" "Again in case of test failures, please send @email{bug-guix@@gnu.org} all " "the details." msgstr "" "Конечно, в случае неудачных тестов, пожалуйста, направьте детали на " "@email{bug-guix@@gnu.org}." #. type: cindex #: guix-git/doc/guix.texi:1043 #, no-wrap msgid "daemon" msgstr "демон" #. type: Plain text #: guix-git/doc/guix.texi:1051 msgid "" "Operations such as building a package or running the garbage collector are " "all performed by a specialized process, the @dfn{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 "" "Такие операции, как сборка пакета или запуск сборщика мусора, выполняются " "запуском специальных процесса --- @dfn{демона сборки} --- по запросам " "клиентов. Только демон имеет доступ к складу и его базе данных. Так что " "операции управления складом выполняются с помощью демона. Например, " "инструменты командной строки, как @command{guix package} и @command{guix " "build}, обычно взаимодействуют с демоном @i{через} удалённый вызов процедур " "(RPC) и сообщают, что необходимо сделать." #. type: Plain text #: guix-git/doc/guix.texi:1055 msgid "" "The following sections explain how to prepare the build daemon's " "environment. See also @ref{Substitutes}, for information on how to allow " "the daemon to download pre-built binaries." msgstr "" "Следующие разделы поясняют как настроить окружение демона сборки. Смотрите " "также @ref{Substitutes} для подробной инсорации о том, как разрешить демону " "скачивать собранные бинарники." #. type: cindex #: guix-git/doc/guix.texi:1065 guix-git/doc/guix.texi:1527 #, no-wrap msgid "build environment" msgstr "окружение сборки" #. type: Plain text #: guix-git/doc/guix.texi:1073 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}) установливаются системным администратором; " "@file{/gnu/store} принадлежит @code{root}, и @command{guix-daemon} запущен " "от @code{root}. Непривилегированные пользователи могут пользоваться " "инструментами Guix, чтобы собирать пакеты или получить доступ к складу с " "какой-либо целью, и демон выполнит это по их запросу, убедившись, что склад " "находится в должном состоянии, и разрешив сборку пакетов и разделение их " "между пользователями." #. type: cindex #: guix-git/doc/guix.texi:1074 #, no-wrap msgid "build users" msgstr "пользователи сборки" #. type: Plain text #: guix-git/doc/guix.texi:1085 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{пользователей для сборки}. Ими будет пользоваться процесс " "сборки, запускаемый демоном. Эти пользователи сборки не должны иметь " "оболочки и домашней директории --- они просто будут использоваться, когда " "демон сбрасывает привилегии @code{root} в процессе сборки. Наличие " "нескольких таких пользователей позволит демону запускать отдельные процессы " "сборки под отдельными UID, что гарантирует, что они не будут помехой друг " "другу --- важная особенность, учитывая, что сборка рассматривается как " "чистая функция (@pxref{Introduction})." #. type: Plain text #: guix-git/doc/guix.texi:1088 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:1100 #, 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:1110 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,kvm} вместо @code{-G guixbuild} " "(@pxref{Invoking guix system})." #. type: Plain text #: guix-git/doc/guix.texi:1119 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, " "dropping the @file{@var{prefix}/lib/systemd/system/guix-daemon.service} file " "in @file{/etc/systemd/system} will ensure that @command{guix-daemon} is " "automatically started. Similarly, if your machine uses the Upstart init " "system, drop the @file{@var{prefix}/lib/upstart/system/guix-daemon.conf} " "file in @file{/etc/init}.}:" msgstr "" "Программа @code{guix-daemon} тогда может запускаться от @code{root} " "следующим образом@footnote{Если ваша машина использует систему инициализации " "systemd, сбрасывание файла @file{@var{prefix}/lib/systemd/system/guix-daemon." "service} в @file{/etc/systemd/system} должно гарантировать, что " "@command{guix-daemon} запущен автоматически. Также, если ваша машина " "использует систему инициализации Upstart, нужно сбрасить файл " "@file{@var{prefix}/lib/upstart/system/guix-daemon.conf} в @file{/etc/init}.}:" #. type: example #: guix-git/doc/guix.texi:1122 guix-git/doc/guix.texi:1520 #, 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:1124 guix-git/doc/guix.texi:1525 #, no-wrap msgid "chroot" msgstr "chroot" #. type: Plain text #: guix-git/doc/guix.texi:1129 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:1137 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}, созданной максимально независимо " "от исходной @code{/dev}@footnote{\"Максимально\", потому что файлы, " "доступные в chroot под @code{/dev}, могут быть созданы только, если машина " "их имеет};" #. type: itemize #: guix-git/doc/guix.texi:1141 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:1145 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:1148 msgid "@file{/etc/group} with an entry for the user's group;" msgstr "@file{/etc/group} с записью о группе пользователя;" #. type: itemize #: guix-git/doc/guix.texi:1152 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:1155 msgid "a writable @file{/tmp} directory." msgstr "директория @file{/tmp}, доступная для записи." #. type: Plain text #: guix-git/doc/guix.texi:1164 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{name}.drv-0}, где @var{name} - " "это имя деривации, то есть, например, @code{coreutils-8.24}. Так значение " "@code{TMPDIR} не проникает внутрь окружения сборки, что предотвращает " "расхождения и случаях, когда процессы сборки имеют иные имена их деревьев " "сборки." #. type: vindex #: guix-git/doc/guix.texi:1165 guix-git/doc/guix.texi:3969 #, no-wrap msgid "http_proxy" msgstr "http_proxy" #. type: vindex #: guix-git/doc/guix.texi:1166 guix-git/doc/guix.texi:3970 #, no-wrap msgid "https_proxy" msgstr "https_proxy" #. type: Plain text #: guix-git/doc/guix.texi:1171 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 "" "Демон также уважаем переменную окружения @code{http_proxy}, когда выполняет " "скачивание по HTTP как для дериваций с фиксированным результатом " "(@pxref{Derivations}), так и для подстановок (@pxref{Substitutes})." #. type: Plain text #: guix-git/doc/guix.texi:1179 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:1182 #, no-wrap msgid "Using the Offload Facility" msgstr "Использование функционала разгрузки" #. type: cindex #: guix-git/doc/guix.texi:1184 guix-git/doc/guix.texi:1586 #, no-wrap msgid "offloading" msgstr "разгрузка" #. type: cindex #: guix-git/doc/guix.texi:1185 #, no-wrap msgid "build hook" msgstr "хук сборки" #. type: Plain text #: guix-git/doc/guix.texi:1204 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 "" "При желании демон сборки может @dfn{offload} производные сборки на других " "машинах, на которых запущен Guix, используя @code{offload} @dfn{build hook}" "@footnote{Эта функция доступна только когда установлен @uref{https://github." "com/artyom-poptsov/guile-ssh, Guile-SSH.}}. Когда данная функция включена, " "список указанных пользователем машин для сборки считывается из @file{/etc/" "guix/machines.scm}; каждый раз, когда запрашивается сборка, например через " "@code{guix build}, демон пытается выгрузить ее на одну из машин, " "удовлетворяющих ограничениям производной сборки, в частности, ее системным " "типам---например, @code{x86_64-linux}. На одной машине можеь быть несколько " "типов систем, либо потому, что архитектура изначально поддерживает ее, либо " "через эмуляцию (@pxref{transparent-emulation-qemu, Transparent Emulation " "with QEMU}). Отсутствующие необходимые условия для сборки копируются по SSH " "на целевой компьютер, который затем продолжает сборку; в случает успеха " "выходные данные копируются на исходную машину. Средство разгрузки " "поставляется с базовым планировщиком, который пытается выбрать лучшую " "машину. Лучшая машина выбирается среди доступных машин на основании такиз " "критериев как:" #. type: enumerate #: guix-git/doc/guix.texi:1210 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{parallel-builds} " "определения объекта @code{build-machine}." #. type: enumerate #: guix-git/doc/guix.texi:1214 msgid "" "Its relative speed, as defined via the @code{speed} field of its @code{build-" "machine} object." msgstr "" "Ее относительная скорость, указанная через значение @code{speed} определения " "объекта @code{build-machine}." #. type: enumerate #: guix-git/doc/guix.texi:1219 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{overload-threshold} " "объекта @code{build-machine}." #. type: enumerate #: guix-git/doc/guix.texi:1222 msgid "Disk space availability. More than a 100 MiB must be available." msgstr "" "Доступность дискового пространства. Должно быть доступно более 100 МБ." #. type: Plain text #: guix-git/doc/guix.texi:1225 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:1233 #, 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" " (systems (list \"x86_64-linux\" \"i686-linux\"))\n" " (host-key \"ssh-ed25519 AAAAC3Nza@dots{}\")\n" " (user \"bob\")\n" " (speed 2.)) ;incredibly fast!\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:1242 #, 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" " (private-key\n" " (string-append (getenv \"HOME\")\n" " \"/.ssh/identity-for-guix\"))))\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" " (private-key\n" " (string-append (getenv \"HOME\")\n" " \"/.ssh/identity-for-guix\"))))\n" #. type: Plain text #: guix-git/doc/guix.texi:1248 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:1257 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, Using Avahi in Guile Scheme " "Programs}). Тип данных @code{build-machine} описан ниже." #. type: deftp #: guix-git/doc/guix.texi:1258 #, no-wrap msgid "{Data Type} build-machine" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:1261 msgid "" "This data type represents build machines to which the daemon may offload " "builds. The important fields are:" msgstr "" "Этот тип данных представляет машины для сборки, на которые демон может " "разгружать сборки. Важные поля:" #. type: item #: guix-git/doc/guix.texi:1264 guix-git/doc/guix.texi:6718 #: guix-git/doc/guix.texi:14633 guix-git/doc/guix.texi:14727 #: guix-git/doc/guix.texi:14968 guix-git/doc/guix.texi:16939 #: guix-git/doc/guix.texi:20218 guix-git/doc/guix.texi:23128 #: guix-git/doc/guix.texi:24517 guix-git/doc/guix.texi:25129 #: guix-git/doc/guix.texi:25482 guix-git/doc/guix.texi:25523 #: guix-git/doc/guix.texi:27675 guix-git/doc/guix.texi:29959 #: guix-git/doc/guix.texi:29979 guix-git/doc/guix.texi:32659 #: guix-git/doc/guix.texi:32676 guix-git/doc/guix.texi:33192 #: guix-git/doc/guix.texi:34951 guix-git/doc/guix.texi:35278 #, no-wrap msgid "name" msgstr "name" #. type: table #: guix-git/doc/guix.texi:1266 msgid "The host name of the remote machine." msgstr "Имя хоста удалённой машины." #. type: item #: guix-git/doc/guix.texi:1267 #, no-wrap msgid "systems" msgstr "systems" #. type: table #: guix-git/doc/guix.texi:1270 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:1271 guix-git/doc/guix.texi:16949 #, no-wrap msgid "user" msgstr "user" #. type: table #: guix-git/doc/guix.texi:1275 msgid "" "The user account to use when connecting to the remote machine 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:1276 #, no-wrap msgid "host-key" msgstr "host-key" #. type: table #: guix-git/doc/guix.texi:1280 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 "" "Это @dfn{публичный ключ хоста} в формает OpenSSH. Он используется при " "аутентификации машины, когда мы подсоединяемс к ней. Это длинная строка, " "которая выглядит примерно так:" #. type: example #: guix-git/doc/guix.texi:1283 #, 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:1288 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}, ключ хоста может быть " "найден в файле под директорией /etc/ssh, например, @file{/etc/ssh/" "ssh_host_ed25519_key.pub}." #. type: table #: guix-git/doc/guix.texi:1293 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 "" "Если на машине запущен демон SSH GNU@tie{}lsh, @command{lshd}, тогда ключ " "хоста расположен в @file{/etc/lsh/host-key.pub} или подобном файле. Его " "можно конвертировать в формат OpenSSH, используя @command{lsh-export-key} " "(@pxref{Converting keys,,, lsh, LSH Manual}):" #. type: example #: guix-git/doc/guix.texi:1297 #, 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:1302 msgid "A number of optional fields may be specified:" msgstr "Список необязательных полей:" #. type: item #: guix-git/doc/guix.texi:1305 guix-git/doc/guix.texi:34447 #, no-wrap msgid "@code{port} (default: @code{22})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:1307 msgid "Port number of SSH server on the machine." msgstr "Номер порта сервера SSH на машине." #. type: item #: guix-git/doc/guix.texi:1308 #, no-wrap msgid "@code{private-key} (default: @file{~root/.ssh/id_rsa})" msgstr "@code{private-key} (default: @file{~root/.ssh/id_rsa})" #. type: table #: guix-git/doc/guix.texi:1311 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 "" "Файл приватного ключа в формате OpenSSH, используемого в соединении с " "машиной. Этот ключ не должен быть защищён парольной фразой." #. type: table #: guix-git/doc/guix.texi:1314 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:1315 #, no-wrap msgid "@code{compression} (default: @code{\"zlib@@openssh.com,zlib\"})" msgstr "@code{compression} (default: @code{\"zlib@@openssh.com,zlib\"})" #. type: itemx #: guix-git/doc/guix.texi:1316 #, no-wrap msgid "@code{compression-level} (default: @code{3})" msgstr "@code{compression-level} (default: @code{3})" #. type: table #: guix-git/doc/guix.texi:1318 msgid "The SSH-level compression methods and compression level requested." msgstr "Методы компрессии уровня SSH и уровень компрессии." #. type: table #: guix-git/doc/guix.texi:1321 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:1322 #, no-wrap msgid "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:1325 msgid "" "File name of the Unix-domain socket @command{guix-daemon} is listening to on " "that machine." msgstr "" "Имя файла сокета Unix-домена, который слушает @command{guix-daemon} на " "удалённой машине." #. type: item #: guix-git/doc/guix.texi:1326 #, no-wrap msgid "@code{overload-threshold} (default: @code{0.6})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:1332 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 "" "Порог нагрузки, выше которого потенциальная offload машина не учитывается " "offload планировщиком. Это значение примерно соответствует общему " "использованию процессора машиной сборки в диапазоне от 0,0 (0%) до 1,0 " "(100%). Это также можно отключить, установив @code{overload-threshold} в " "@code{#f}." #. type: item #: guix-git/doc/guix.texi:1333 #, no-wrap msgid "@code{parallel-builds} (default: @code{1})" msgstr "@code{parallel-builds} (default: @code{1})" #. type: table #: guix-git/doc/guix.texi:1335 msgid "The number of builds that may run in parallel on the machine." msgstr "Число сборок, которые могут быть запущены на машине." #. type: item #: guix-git/doc/guix.texi:1336 #, no-wrap msgid "@code{speed} (default: @code{1.0})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:1339 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:1340 #, no-wrap msgid "@code{features} (default: @code{'()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:1345 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\"} для машин, которые имеют модули Linux KVM и " "соответствующую поддерку аппаратного обеспечения. Деривации могут " "запрашивать функции по имени, и тогда они будут запранированы на " "соответствующих машинах для сборки." #. type: Plain text #: guix-git/doc/guix.texi:1351 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:1354 #, 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:1361 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:1364 guix-git/doc/guix.texi:34375 #, no-wrap msgid "# guix archive --generate-key\n" msgstr "# guix archive --generate-key\n" #. type: Plain text #: guix-git/doc/guix.texi:1369 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:1372 #, 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:1376 msgid "" "Likewise, the master machine must authorize the key of each build machine." msgstr "" "Точно так же машина-инициатор должна авторизовать ключ каждой машины для " "сборки." #. type: Plain text #: guix-git/doc/guix.texi:1382 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 "" "Всё движение с ключами, описанное здесь, создаёт надёжную двустороннюю свзь " "между инициатором и машинами для сборки. А именно, когда машина-инициатор " "принимает файлы из машины для сборки (или @i{наборот}), её демон может " "удостоверить их подлинность и невмешательство других, а также то, что они " "подписаны авторизованным ключом." #. type: cindex #: guix-git/doc/guix.texi:1383 #, no-wrap msgid "offload test" msgstr "тест разгрузки" #. type: Plain text #: guix-git/doc/guix.texi:1386 msgid "" "To test whether your setup is operational, run this command on the master " "node:" msgstr "" "Чтобы проверить работоспособность настроек, запустите следующую команду на " "инициирующем узле:" #. type: example #: guix-git/doc/guix.texi:1389 #, no-wrap msgid "# guix offload test\n" msgstr "# guix offload test\n" #. type: Plain text #: guix-git/doc/guix.texi:1395 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:1398 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:1401 #, 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:1405 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:1408 #, 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:1410 #, no-wrap msgid "offload status" msgstr "статус разгрузки" #. type: Plain text #: guix-git/doc/guix.texi:1413 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:1416 #, no-wrap msgid "# guix offload status\n" msgstr "# guix offload status\n" #. type: cindex #: guix-git/doc/guix.texi:1422 #, no-wrap msgid "SELinux, daemon policy" msgstr "SELinux, политика демона" #. type: cindex #: guix-git/doc/guix.texi:1423 #, no-wrap msgid "mandatory access control, SELinux" msgstr "мандатный контроль доступа, SELinux" #. type: cindex #: guix-git/doc/guix.texi:1424 #, no-wrap msgid "security, guix-daemon" msgstr "безопасность, guix-daemon" #. type: Plain text #: guix-git/doc/guix.texi:1430 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 включает файл политик SELinnux @file{etc/guix-daemon.cil}, который " "может устанавливаться в систему, в которой включен SELinux, тогда файлы Guix " "будут помечены и настроены для соответствующего поведения демона. Так как " "система Guix не предоставляет политику SELinux, политика демона не может " "использоваться в системе Guix." #. type: subsubsection #: guix-git/doc/guix.texi:1431 #, no-wrap msgid "Installing the SELinux policy" msgstr "Установка политики SELinux" #. type: cindex #: guix-git/doc/guix.texi:1432 #, no-wrap msgid "SELinux, policy installation" msgstr "SELinux, установка политики" #. type: Plain text #: guix-git/doc/guix.texi:1434 msgid "To install the policy run this command as root:" msgstr "Чтобы установить политику, запустите следующую команду от root:" #. type: example #: guix-git/doc/guix.texi:1437 #, no-wrap msgid "semodule -i etc/guix-daemon.cil\n" msgstr "semodule -i etc/guix-daemon.cil\n" #. type: Plain text #: guix-git/doc/guix.texi:1441 msgid "" "Then relabel the file system with @code{restorecon} or by a different " "mechanism provided by your system." msgstr "" "Затем измените метку файловой системы с @code{restorecon} или другим " "механизмом, поставляемым вашей системой." #. type: Plain text #: guix-git/doc/guix.texi:1446 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:1449 #, no-wrap msgid "ps -Zax | grep guix-daemon\n" msgstr "ps -Zax | grep guix-daemon\n" #. type: Plain text #: guix-git/doc/guix.texi:1454 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 "" "Наблюдайте файлы логов SELinux во время работы команды @code{guix build " "hello}, чтобы удостовериться, что SELinux позволяет выполнение необходимых " "операций." #. type: cindex #: guix-git/doc/guix.texi:1456 #, no-wrap msgid "SELinux, limitations" msgstr "SELinux, ограничения" #. type: Plain text #: guix-git/doc/guix.texi:1461 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 "" "Эта политика не совершенна. Тут есть ряд ограничений или причуд, который " "нужно учитывать при разворачивании политики SELinux для демона Guix." #. type: enumerate #: guix-git/doc/guix.texi:1468 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} на самом деле не используется. Никакие операции " "с сокетом не выполняются. Ничего плохого в том, чтобы иметь эту " "неиспользуемую метку, но желательно определить правила сокета для этой метки." #. type: enumerate #: guix-git/doc/guix.texi:1479 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 $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} не может получить доступ к обычным ссылкам профилей. По " "задумке метка файла назначения символической ссылки не зависит от метки " "файла самой ссылки. Хотя все профили под $localstatedir помечены, ссылки на " "эти профили не наследуют метку директории, в которой они находятся. Для " "ссылок на домашние директории пользователей это будет @code{user_home_t}. Но " "для ссылок из домашней директории root, а также @file{/tmp} или рабочей " "директории HTTP-сервера и т.п., это не работает. @code{guix gc} не будет " "допускаться к чтению и следованию по этим ссылкам." #. type: enumerate #: guix-git/doc/guix.texi:1484 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:1495 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{любому} файлу с " "таким именем в любом профиле разрешён запуск в домене @code{guix_daemon_t}. " "Это не идеально. Атакующий может собрать пакет, который содержит исполняемый " "файл и убеить пользователя установить и запустить его, и таким образом он " "получит доступ к домену @code{guix_daemon_t}. В этой связи SELinux мог бы не " "давать ему доступ к файлам, которые разрешены для процессов в этом домене." #. type: enumerate #: guix-git/doc/guix.texi:1500 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 "" "Вам нужно будет изменить метку (label) каталога хранилища после всех " "обновлений до @file{guix-daemon}, например, после запуска @code{guix pull}. " "Предполагая, что хранилище в @file{/gnu}, вы можете это сделать с " "@code{restorecon -vR /gnu}, или другими способами, предусмотренными вашей " "операционной системой." #. type: enumerate #: guix-git/doc/guix.texi:1508 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 "" "Мы можем создать политику с большими ограничениями во время установки, так " "чтобы только @emph{точное} имя исполняемого файла установленного в данный " "момент @code{guix-daemon} было помечено меткой @code{guix_daemon_exec_t} " "вместо того, чтобы использовать регулярное выражение, выбирающее большой ряд " "файлов. Проблемой в данном случае будет то, что root потребуется " "устанавливать или обновлять политику во время любой установки в случае, если " "обновлён исполняемый файл @code{guix-daemon}." #. type: section #: guix-git/doc/guix.texi:1511 #, no-wrap msgid "Invoking @command{guix-daemon}" msgstr "Вызов @command{guix-daemon}" #. type: Plain text #: guix-git/doc/guix.texi:1517 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: Plain text #: guix-git/doc/guix.texi:1524 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:1526 #, no-wrap msgid "container, build environment" msgstr "контейнер, окружение сборки" #. type: cindex #: guix-git/doc/guix.texi:1528 guix-git/doc/guix.texi:3046 #: guix-git/doc/guix.texi:3950 guix-git/doc/guix.texi:13013 #, no-wrap msgid "reproducible builds" msgstr "воспроизводимые сборки" #. type: Plain text #: guix-git/doc/guix.texi:1540 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, которое " "содержит только набор элементов склада, от которых зависит процесс сборки, " "как это обозначено в деривации (@pxref{Programming Interface, derivation}), " "а также набор специфичных системных директорий. По умолчанию последнее " "включает @file{/dev} и @file{/dev/pts}. Более того, под GNU/Linux окружение " "сборки --- это @dfn{контейнер}: в дополнение к тому, что он имеет " "собственное дерево файловой системы, он также имеет отдельное пространство " "имён монтирования, своё собственное пространство имён процессов PID, " "пространство сетевых имён и т.д. Это позволяет получить воспроизводимые " "сборки (@pxref{Features})." #. type: Plain text #: guix-git/doc/guix.texi:1546 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:1550 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:1556 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:1558 msgid "The following command-line options are supported:" msgstr "Поддерживаются следующие опции командной строки:" #. type: item #: guix-git/doc/guix.texi:1560 #, no-wrap msgid "--build-users-group=@var{group}" msgstr "--build-users-group=@var{group}" #. type: table #: guix-git/doc/guix.texi:1563 msgid "" "Take users from @var{group} to run build processes (@pxref{Setting Up the " "Daemon, build users})." msgstr "" "Использовать пользователей из группы @var{group} для запуска процессов " "сборки (@pxref{Setting Up the Daemon, build users})." #. type: item #: guix-git/doc/guix.texi:1564 guix-git/doc/guix.texi:10362 #, no-wrap msgid "--no-substitutes" msgstr "--no-substitutes" #. type: cindex #: guix-git/doc/guix.texi:1565 guix-git/doc/guix.texi:3058 #: guix-git/doc/guix.texi:3703 #, no-wrap msgid "substitutes" msgstr "подстановки" #. type: table #: guix-git/doc/guix.texi:1569 guix-git/doc/guix.texi:10366 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 "" "Не использовать подстановки для сборок. Это означает --- собирать элементы " "локально вместо того, чтобы скачивать собранные бинарники " "(@pxref{Substitutes})." #. type: table #: guix-git/doc/guix.texi:1573 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}, клиенты всё ещё могут явно " "включить подстановку @i{с помощью} удалённого вызова процедур @code{set-" "build-options} (@pxref{The Store})." #. type: anchor{#1} #: guix-git/doc/guix.texi:1575 msgid "daemon-substitute-urls" msgstr "daemon-substitute-urls" #. type: item #: guix-git/doc/guix.texi:1575 guix-git/doc/guix.texi:10349 #: guix-git/doc/guix.texi:12420 guix-git/doc/guix.texi:13159 #: guix-git/doc/guix.texi:13384 #, no-wrap msgid "--substitute-urls=@var{urls}" msgstr "--substitute-urls=@var{urls}" #. type: table #: guix-git/doc/guix.texi:1579 #, fuzzy #| msgid "" #| "Consider @var{urls} the default whitespace-separated list of substitute " #| "source URLs. When this option is omitted, @indicateurl{https://" #| "@value{SUBSTITUTE-SERVER}} is used." 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}, разделённые пробелом по умолчанию, как " "список источников подстановок. Когда эта опция пропущена, используется " "@indicateurl{https://@value{SUBSTITUTE-SERVER}}." #. type: table #: guix-git/doc/guix.texi:1582 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}, если " "конечно они подписаны доверенной подписью (@pxref{Substitutes})." #. type: table #: guix-git/doc/guix.texi:1585 msgid "" "@xref{Getting Substitutes from Other Servers}, for more information on how " "to configure the daemon to get substitutes from other servers." msgstr "" "@xref{Getting Substitutes from Other Servers}, для получения дополнительной " "информации о том, как настроить демон для получения заменителей с других " "серверов." #. type: item #: guix-git/doc/guix.texi:1587 guix-git/doc/guix.texi:10385 #, no-wrap msgid "--no-offload" msgstr "--no-offload" #. type: table #: guix-git/doc/guix.texi:1591 guix-git/doc/guix.texi:10389 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 "" "Не использовать подстановки для сборок. Это означает --- собирать элементы " "локально вместо того, чтобы скачивать собранные бинарники " "(@pxref{Substitutes})." #. type: item #: guix-git/doc/guix.texi:1592 #, no-wrap msgid "--cache-failures" msgstr "--cache-failures" #. type: table #: guix-git/doc/guix.texi:1594 msgid "Cache build failures. By default, only successful builds are cached." msgstr "" "Кешировать ошибки сборки. По умолчанию кешируются только успешные сборки." #. type: table #: guix-git/doc/guix.texi:1599 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:1600 guix-git/doc/guix.texi:10415 #, no-wrap msgid "--cores=@var{n}" msgstr "--cores=@var{n}" #. type: itemx #: guix-git/doc/guix.texi:1601 guix-git/doc/guix.texi:10416 #, no-wrap msgid "-c @var{n}" msgstr "-c @var{n}" #. type: table #: guix-git/doc/guix.texi:1604 msgid "" "Use @var{n} CPU cores to build each derivation; @code{0} means as many as " "available." msgstr "" "Использовать @var{n} ядер процессора для сборки каждой деривации; @code{0} " "означает использовать все доступные." #. type: table #: guix-git/doc/guix.texi:1608 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}, но оно может быть изменено клиентами, в " "частности, опцией @code{--cores} команды @command{guix build} " "(@pxref{Invoking guix build})." #. type: table #: guix-git/doc/guix.texi:1612 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:1613 guix-git/doc/guix.texi:10420 #, no-wrap msgid "--max-jobs=@var{n}" msgstr "--max-jobs=@var{n}" #. type: itemx #: guix-git/doc/guix.texi:1614 guix-git/doc/guix.texi:10421 #, no-wrap msgid "-M @var{n}" msgstr "-M @var{n}" #. type: table #: guix-git/doc/guix.texi:1619 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:1620 guix-git/doc/guix.texi:10390 #, no-wrap msgid "--max-silent-time=@var{seconds}" msgstr "--max-silent-time=@var{seconds}" #. type: table #: guix-git/doc/guix.texi:1623 guix-git/doc/guix.texi:10393 msgid "" "When the build or substitution process remains silent for more than " "@var{seconds}, terminate it and report a build failure." msgstr "" "Когда процесс сборки или подстановки молчит более @var{seconds} секунд, " "завершить его и отчитаться об ошибке сборки." #. type: table #: guix-git/doc/guix.texi:1625 guix-git/doc/guix.texi:1634 msgid "The default value is @code{0}, which disables the timeout." msgstr "Значение по умолчанию - @code{0}, что значит отключить таймаут." #. type: table #: guix-git/doc/guix.texi:1628 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:1629 guix-git/doc/guix.texi:10397 #, no-wrap msgid "--timeout=@var{seconds}" msgstr "--timeout=@var{seconds}" #. type: table #: guix-git/doc/guix.texi:1632 guix-git/doc/guix.texi:10400 msgid "" "Likewise, when the build or substitution process lasts for more than " "@var{seconds}, terminate it and report a build failure." msgstr "" "Точно так же, когда процесс сборки или подстановки длится более " "@var{seconds}, завершить его и отчитаться об ошибке сборки." #. type: table #: guix-git/doc/guix.texi:1637 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:1638 #, no-wrap msgid "--rounds=@var{N}" msgstr "--rounds=@var{N}" #. type: table #: guix-git/doc/guix.texi:1643 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 "" "Собирать каждую деривацию @var{n} раз подряд и вызывать ошибку, если " "результаты последовательных сборок не идентичны бит-к-биту. Отметим, что эта " "настройка может быть переопределена клиентами в команде, например, " "@command{guix build} (@pxref{Invoking guix build})." #. type: table #: guix-git/doc/guix.texi:1647 guix-git/doc/guix.texi:10384 #: guix-git/doc/guix.texi:10947 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:1648 #, no-wrap msgid "--debug" msgstr "--debug" #. type: table #: guix-git/doc/guix.texi:1650 msgid "Produce debugging output." msgstr "Выводить отладочную информацию." #. type: table #: guix-git/doc/guix.texi:1654 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 "" "Это полезно для отладки проблем запуска демона, но затем это может быть " "переопределено клиентами, например, опцией @option{--verbosity} команды " "@command{guix build} (@pxref{Invoking guix build})." #. type: item #: guix-git/doc/guix.texi:1655 #, no-wrap msgid "--chroot-directory=@var{dir}" msgstr "--chroot-directory=@var{dir}" #. type: table #: guix-git/doc/guix.texi:1657 msgid "Add @var{dir} to the build chroot." msgstr "Добавить директорию @var{dir} в chroot сборки." #. type: table #: guix-git/doc/guix.texi:1663 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}, если они доступны, но только так, а не иначе. Поэтому не " "рекомендуется делать так. Вместо этого, убедитесь, что каждая деривация " "объявляет все необходимые входные данные." #. type: item #: guix-git/doc/guix.texi:1664 #, no-wrap msgid "--disable-chroot" msgstr "--disable-chroot" #. type: table #: guix-git/doc/guix.texi:1666 msgid "Disable chroot builds." msgstr "Отключить chroot для сборки." #. type: table #: guix-git/doc/guix.texi:1671 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:1672 #, no-wrap msgid "--log-compression=@var{type}" msgstr "--log-compression=@var{type}" #. type: table #: guix-git/doc/guix.texi:1675 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:1679 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 Bzip2 by default." msgstr "" "Если не используется @code{--lose-logs}, все логи сборки сохраняются в " "@var{localstatedir}. Для экономии места демон автоматически сжимает их с " "помощью bzip2 по умолчанию." #. type: item #: guix-git/doc/guix.texi:1680 #, no-wrap msgid "--discover[=yes|no]" msgstr "--discover[=yes|no]" #. type: table #: guix-git/doc/guix.texi:1683 guix-git/doc/guix.texi:15744 msgid "" "Whether to discover substitute servers on the local network using mDNS and " "DNS-SD." msgstr "" "Следует ли обнаруживать сервера с заменителями в локальной сети с помощью " "mDNS and DNS-SD." #. type: table #: guix-git/doc/guix.texi:1686 msgid "" "This feature is still experimental. However, here are a few considerations." msgstr "" "Эта функция все еще экспериментальная. Однако есть несколько соображений." #. type: enumerate #: guix-git/doc/guix.texi:1690 msgid "It might be faster/less expensive than fetching from remote servers;" msgstr "" "Это может быть быстрее/дешевле, чем загрузка (fetching) с удаленных серверов;" #. type: enumerate #: guix-git/doc/guix.texi:1693 msgid "" "There are no security risks, only genuine substitutes will be used " "(@pxref{Substitute Authentication});" msgstr "" "Никаких угроз безопасности, будут использоваться только подлинные заменители " "(@pxref{Substitute Authentication});" #. type: enumerate #: guix-git/doc/guix.texi:1697 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:1700 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:1704 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:1708 #, 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:1710 #, no-wrap msgid "--disable-deduplication" msgstr "--disable-deduplication" #. type: cindex #: guix-git/doc/guix.texi:1711 guix-git/doc/guix.texi:4288 #, no-wrap msgid "deduplication" msgstr "дедупликация" #. type: table #: guix-git/doc/guix.texi:1713 msgid "Disable automatic file ``deduplication'' in the store." msgstr "Отключить автоматическую \"дедупликацию\" файлов на складе." #. type: table #: guix-git/doc/guix.texi:1720 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:1721 #, no-wrap msgid "--gc-keep-outputs[=yes|no]" msgstr "--gc-keep-outputs[=yes|no]" #. type: table #: guix-git/doc/guix.texi:1724 msgid "" "Tell whether the garbage collector (GC) must keep outputs of live " "derivations." msgstr "" "Сообщить, должен ли сборщик мусора (GC) сохранять выходные данные живой " "деривации." #. type: cindex #: guix-git/doc/guix.texi:1725 guix-git/doc/guix.texi:4101 #, no-wrap msgid "GC roots" msgstr "Корни сборщика мусора" #. type: cindex #: guix-git/doc/guix.texi:1726 guix-git/doc/guix.texi:4102 #, no-wrap msgid "garbage collector roots" msgstr "корни сборщика мусора" #. type: table #: guix-git/doc/guix.texi:1732 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) будет сохранять результаты " "любой живой деривации, доступной на складе, --- файлы @code{.drv}. Значение " "по умолчанию - \"no\" (нет) - означает, что результаты дериваций хранятся " "только, если они доступны из корней сборщика мусора (GC roots). Смотрите " "@xref{Invoking guix gc} для информации о корнях сборщика мусора." #. type: item #: guix-git/doc/guix.texi:1733 #, no-wrap msgid "--gc-keep-derivations[=yes|no]" msgstr "--gc-keep-derivations[=yes|no]" #. type: table #: guix-git/doc/guix.texi:1736 msgid "" "Tell whether the garbage collector (GC) must keep derivations corresponding " "to live outputs." msgstr "" "Сообщить, должен ли сборщик мусора (GC) сохранять деривации, соответствующие " "живым результатам." #. type: table #: guix-git/doc/guix.texi:1742 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\" (да), что является значением по умолчанию, сборщик " "мусора сохраняет деривации, то есть файлы @code{.drv}, до тех пор, пока " "любой из их выходов остаётся живым. Это позволяет пользователям отслеживать " "исходники элементов на складе. Установка в \"no\" (нет) немного экономит " "место на диске." #. type: table #: guix-git/doc/guix.texi:1751 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\" (да) даётт " "возможность пройти от результатов до дериваций, а установка @code{--gc-keep-" "outputs} в \"yes\" (да), делает возможным пройти от дериваций до " "результатов. Если оба установлены в \"yes\", тогда это сохранит всё " "используемое для сборки (исходники, компилятор, библиотеки и другие " "инструменты сборки) живых объектов на складе, без учёта, доступны эти " "инструменты сборки из корней сборщика мусора или нет. Это удобно для " "разработчиков, так как это сокращает пересборки или скачивания." #. type: item #: guix-git/doc/guix.texi:1752 #, no-wrap msgid "--impersonate-linux-2.6" msgstr "--impersonate-linux-2.6" #. type: table #: guix-git/doc/guix.texi:1755 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:1758 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:1759 #, no-wrap msgid "--lose-logs" msgstr "--lose-logs" #. type: table #: guix-git/doc/guix.texi:1762 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:1763 guix-git/doc/guix.texi:4529 #: guix-git/doc/guix.texi:5828 guix-git/doc/guix.texi:6228 #: guix-git/doc/guix.texi:10891 guix-git/doc/guix.texi:12447 #: guix-git/doc/guix.texi:12712 guix-git/doc/guix.texi:13389 #: guix-git/doc/guix.texi:33314 guix-git/doc/guix.texi:34117 #, no-wrap msgid "--system=@var{system}" msgstr "--system=@var{system}" #. type: table #: guix-git/doc/guix.texi:1767 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} текущим типом системы. По умолчанию это пара " "архитектура/ядро, обнаруженная во время конфигурации, например, @code{x86_64-" "linux}." #. type: item #: guix-git/doc/guix.texi:1768 guix-git/doc/guix.texi:10195 #, no-wrap msgid "--listen=@var{endpoint}" msgstr "--listen=@var{endpoint}" #. type: table #: guix-git/doc/guix.texi:1773 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} интерпретируется как имя " "файла сокета Unix-домена, если начинается с @code{/} (знак слеша). В " "противном случае @var{endpoint} интерпретируется как имя хоста или им хоста " "и порт для прослушивания. Вот несколько примеров:" #. type: item #: guix-git/doc/guix.texi:1775 #, no-wrap msgid "--listen=/gnu/var/daemon" msgstr "--listen=/gnu/var/daemon" #. type: table #: guix-git/doc/guix.texi:1778 msgid "" "Listen for connections on the @file{/gnu/var/daemon} Unix-domain socket, " "creating it if needed." msgstr "" "Слушать соединения с сокетом Unix-домена @file{/gnu/var/daemon}, который " "создаётся при необходимости." #. type: item #: guix-git/doc/guix.texi:1779 #, no-wrap msgid "--listen=localhost" msgstr "--listen=localhost" #. type: cindex #: guix-git/doc/guix.texi:1780 guix-git/doc/guix.texi:8869 #, no-wrap msgid "daemon, remote access" msgstr "демон, удалённый доступ" #. type: cindex #: guix-git/doc/guix.texi:1781 guix-git/doc/guix.texi:8870 #, no-wrap msgid "remote access to the daemon" msgstr "удалённый доступ к демону" #. type: cindex #: guix-git/doc/guix.texi:1782 guix-git/doc/guix.texi:8871 #, no-wrap msgid "daemon, cluster setup" msgstr "демон, установка кластера" #. type: cindex #: guix-git/doc/guix.texi:1783 guix-git/doc/guix.texi:8872 #, no-wrap msgid "clusters, daemon setup" msgstr "кластеры, установка демона" #. type: table #: guix-git/doc/guix.texi:1786 msgid "" "Listen for TCP connections on the network interface corresponding to " "@code{localhost}, on port 44146." msgstr "" "Слушать соединения TCP сетевого интерфейса, относящиеся к @code{localhost}, " "на порту 44146." #. type: item #: guix-git/doc/guix.texi:1787 #, no-wrap msgid "--listen=128.0.0.42:1234" msgstr "--listen=128.0.0.42:1234" #. type: table #: guix-git/doc/guix.texi:1790 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:1797 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} " "принимает соединения на всех обозначенных точках. Пользователи могут через " "клиентские команды сообщать, через какие точки соединяться, для этого нужно " "устанавливать переменную окружения @code{GUIX_DAEMON_SOCKET} (@pxref{The " "Store, @code{GUIX_DAEMON_SOCKET}})." #. type: quotation #: guix-git/doc/guix.texi:1804 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{неаутентичный и нешифрованный}. Использование @code{--" "listen=@var{host}} подходит локальным сетям, как например, кластерам, где " "только доверенные узлы могут соединяться с демоном сборки. В других случаях, " "когда необходим удалённый доступ к демону рекомендуется использовать сокеты " "Unix-домена вместе с SSH." #. type: table #: guix-git/doc/guix.texi:1809 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 "" "Когда @code{--listen} пропущена, @command{guix-daemon} слушает соединения с " "сокетом Unix-домена, расположенным в @file{@var{localstatedir}/guix/daemon-" "socket/socket}." #. type: Plain text #: guix-git/doc/guix.texi:1819 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 "" "При использовании дистрибутива GNU/Linux, отличного от системы, называемого " "также @dfn{чужой дистрибутив}, необходимо несколько дополнительных шагов, " "чтобы всё работало. Вот некоторые из них." #. type: anchor{#1} #: guix-git/doc/guix.texi:1823 msgid "locales-and-locpath" msgstr "locales-and-locpath" #. type: cindex #: guix-git/doc/guix.texi:1823 #, no-wrap msgid "locales, when not on Guix System" msgstr "локали, если не на системе Guix" #. type: vindex #: guix-git/doc/guix.texi:1824 guix-git/doc/guix.texi:14952 #, no-wrap msgid "LOCPATH" msgstr "LOCPATH" #. type: vindex #: guix-git/doc/guix.texi:1825 #, no-wrap msgid "GUIX_LOCPATH" msgstr "GUIX_LOCPATH" #. type: Plain text #: guix-git/doc/guix.texi:1830 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 "" "Пакеты, установленные @i{с помощью} Guix, не будут использовать данные " "локали хост-системы. Вместо этого вы должны вначале установить один из " "пакетов локали, доступных в Guix, а затем определить переменную окружения " "@code{GUIX_LOCPATH}:" #. type: example #: guix-git/doc/guix.texi:1834 #, 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:1840 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 917@tie{}MiB@. " "Alternatively, the @code{glibc-utf8-locales} is smaller but limited to a few " "UTF-8 locales." msgstr "" "Отметим, что пакет @code{glibc-locales} содержит данные для всех локалей, " "поддерживаемых GNU@tie{}libc, и весит околоа 110@tie{}Миб. В альтернативу " "@code{glibc-utf8-locales} меньше, но ограничен несколькими локалями UTF-8." #. type: Plain text #: guix-git/doc/guix.texi:1844 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:1851 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 "" "@code{GUIX_LOCPATH} учитывается только libc в Guix, но не учитывается libc, " "предоставляемым чужим дистрибутивом. Так что использование " "@code{GUIX_LOCPATH} позволяет вам убедиться, что программы чужого " "дистрибутива не будут производить загрузку несовместимых данных локали." #. type: enumerate #: guix-git/doc/guix.texi:1858 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 добавляет суффиксы @code{/X.Y} к каждому компоненту " "@code{GUIX_LOCPATH}, где @code{X.Y} - это версия libc, например, " "@code{2.22}. Это значит, что если ваш профиль Guix будет содержать смесь " "программ, связанных с дугой версией libc, каждая версия libc будет пытаться " "загружать только данные локали в правильном формате." #. type: Plain text #: guix-git/doc/guix.texi:1862 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:1865 #, no-wrap msgid "name service switch, glibc" msgstr "выбор имён сервисов, glibc" #. type: cindex #: guix-git/doc/guix.texi:1866 #, no-wrap msgid "NSS (name service switch), glibc" msgstr "NSS (выбор имён сервисов), glibc" #. type: cindex #: guix-git/doc/guix.texi:1867 #, no-wrap msgid "nscd (name service caching daemon)" msgstr "nscd (демон кеша имён сервисов)" #. type: cindex #: guix-git/doc/guix.texi:1868 #, no-wrap msgid "name service caching daemon (nscd)" msgstr "демон кеша имён сервисов (nscd)" #. type: Plain text #: guix-git/doc/guix.texi:1875 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{настойчиво " "рекомендуем}, чтобы система запускала @dfn{демон кеша имён сервисов} " "библиотеки GNU C, @command{nscd}, который должен слушать сокет @file{/var/" "run/nscd/socket}. Если это не сделано, приложения, установленные Guix, могут " "некорректно адресовать имена хостов или аккаунты пользователей и даже " "падать. Ниже объясняется почему." #. type: file{#1} #: guix-git/doc/guix.texi:1876 #, no-wrap msgid "nsswitch.conf" msgstr "nsswitch.conf" #. type: Plain text #: guix-git/doc/guix.texi:1881 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:1882 #, no-wrap msgid "Network information service (NIS)" msgstr "Сервис сетевой информации (NIS)" #. type: cindex #: guix-git/doc/guix.texi:1883 #, no-wrap msgid "NIS (Network information service)" msgstr "NIS (сервис сетевой информации)" #. type: Plain text #: guix-git/doc/guix.texi:1892 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:1902 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:1907 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 "" "Вот где кроется проблема --- если ваше приложение залинковано с библиотекой " "C Guix (скажем, glibc 2.24) и пытается загрузить плагины NSS из другой " "библиотеки C (скажем, @code{libnss_mdns.so} для glibc 2.22), это вероятно " "вызовет падение или резолвинг имени завершится с ошибкой." #. type: Plain text #: guix-git/doc/guix.texi:1912 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: subsection #: guix-git/doc/guix.texi:1913 #, no-wrap msgid "X11 Fonts" msgstr "Шрифты X11" #. type: Plain text #: guix-git/doc/guix.texi:1923 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{gs-fonts}, @code{font-dejavu}, and @code{font-gnu-freefont}." msgstr "" "Большинство графических приложений использует Fontconfig для обнаружения и " "загрузки шрифтов, а также рендеринга X11 на клиенте. Пакет Guix " "@code{fontconfig} отвечает за шрифты в @file{$HOME/.guix-profile} по " "умолчанию. Так что, чтобы графические приложения, установленные с помощью " "Guix, отображали шрифты, необходимо установить шрифты также с помощью Guix. " "Основные пакеты шрифтов: @code{gs-fonts}, @code{font-dejavu} и @code{font-" "gnu-freefont-ttf}." #. type: code{#1} #: guix-git/doc/guix.texi:1924 #, no-wrap msgid "fc-cache" msgstr "fc-cache" #. type: cindex #: guix-git/doc/guix.texi:1925 #, no-wrap msgid "font cache" msgstr "кеш шрифтов" #. type: Plain text #: guix-git/doc/guix.texi:1929 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:1933 #, 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:1941 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:1944 #, 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:1946 #, no-wrap msgid "xterm" msgstr "xterm" #. type: Plain text #: guix-git/doc/guix.texi:1950 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 Logical Font " "Description), примерно так:" #. type: example #: guix-git/doc/guix.texi:1953 #, 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:1957 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 "" "Чтобы иметь возможность использовать такие полные имена для шрифтов " "TrueType, установленных в вашем профиле Guix, вам нужно расширить пути " "шрифтов X-сервера:" #. type: example #: guix-git/doc/guix.texi:1962 #, 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:1964 #, no-wrap msgid "xlsfonts" msgstr "xlsfonts" #. type: Plain text #: guix-git/doc/guix.texi:1967 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:1971 guix-git/doc/guix.texi:33033 #, no-wrap msgid "nss-certs" msgstr "nss-certs" #. type: Plain text #: guix-git/doc/guix.texi:1974 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." #. type: Plain text #: guix-git/doc/guix.texi:1979 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:1982 #, no-wrap msgid "emacs" msgstr "emacs" #. type: Plain text #: guix-git/doc/guix.texi:1988 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 "" "Когда вы устанавливаете пакеты Emacs с Guix, файлы пакетов помещаются в " "каталог @file{share/emacs/site-lisp/} того профиля, в котором они " "установлены. Библиотеки Elisp доступны для Emacs через переменную среды " "@code{EMACSLOADPATH}, которая устанавливается при установке самого Emacs." #. type: Plain text #: guix-git/doc/guix.texi:1995 msgid "" "Additionally, autoload definitions are automatically evaluated at the " "initialization of Emacs, by the Guix-specific @code{guix-emacs-autoload-" "packages} procedure. 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) \"знает\", куда размещаются эти " "пакеты, так что вам не нужно выполнять конфигурацию. Если по каким-либо " "причинам вы хотите отменить автозагрузку пакетов Emacs, установленных с " "помощью Guix, вы можете это сделать, запустив Emacs с опцией @code{--no-site-" "file} (@pxref{Init File,,, emacs, The GNU Emacs Manual})." #. type: cindex #: guix-git/doc/guix.texi:2000 #, no-wrap msgid "Upgrading Guix, on a foreign distro" msgstr "Обновление Guix на ином дистрибутиве" #. type: Plain text #: guix-git/doc/guix.texi:2003 msgid "To upgrade Guix, run:" msgstr "Чтобы обновить Guix, запустите:" #. type: example #: guix-git/doc/guix.texi:2006 guix-git/doc/guix.texi:2854 #, no-wrap msgid "guix pull\n" msgstr "guix pull\n" #. type: Plain text #: guix-git/doc/guix.texi:2009 msgid "@xref{Invoking guix pull}, for more information." msgstr "@xref{Invoking guix pull} для дополнительной информации." #. type: cindex #: guix-git/doc/guix.texi:2010 #, no-wrap msgid "upgrading Guix for the root user, on a foreign distro" msgstr "обновление Guix для пользователя root на ином дистрибутиве" #. type: cindex #: guix-git/doc/guix.texi:2011 #, no-wrap msgid "upgrading the Guix daemon, on a foreign distro" msgstr "обновление Guix демона на ином дистрибутиве" #. type: cindex #: guix-git/doc/guix.texi:2012 #, no-wrap msgid "@command{guix pull} for the root user, on a foreign distro" msgstr "@command{guix pull} для пользователя root, на ином дистрибутиве" #. type: Plain text #: guix-git/doc/guix.texi:2015 msgid "On a foreign distro, you can upgrade the build daemon by running:" msgstr "В ином дистрибутиве вы можете обновить демон сборки, запустив:" #. type: example #: guix-git/doc/guix.texi:2018 #, no-wrap msgid "sudo -i guix pull\n" msgstr "sudo -i guix pull\n" #. type: Plain text #: guix-git/doc/guix.texi:2023 msgid "" "followed by (assuming your distro uses the systemd service management tool):" msgstr "" "затем (при условии, что ваш дистрибутив использует инструмент управления " "сервисами systemd):" #. type: example #: guix-git/doc/guix.texi:2026 #, no-wrap msgid "systemctl restart guix-daemon.service\n" msgstr "systemctl restart guix-daemon.service\n" #. type: Plain text #: guix-git/doc/guix.texi:2030 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:2037 #, no-wrap msgid "installing Guix System" msgstr "установка системы Guix" #. type: cindex #: guix-git/doc/guix.texi:2038 #, no-wrap msgid "Guix System, installation" msgstr "Система Guix, установка" #. type: Plain text #: guix-git/doc/guix.texi:2043 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:2052 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{Ввод} (enter) по ссылке: @pxref{Top, Info " "reader,, info-stnd, Stand-alone GNU Info}. Нажмите @kbd{1} после этого, " "чтобы вернуться." #. type: quotation #: guix-git/doc/guix.texi:2055 msgid "" "Alternatively, run @command{info info} in another tty to keep the manual " "available." msgstr "" "Или запустите @command{info info} в другом tty, чтобы оставить руководство " "доступным." #. type: Plain text #: guix-git/doc/guix.texi:2076 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:2079 msgid "" "Nevertheless, before you proceed with the installation, be aware of the " "following noteworthy limitations applicable to version @value{VERSION}:" msgstr "" "Тем не менее, перед началом установки, ознакомьтесь с важной информацией об " "ограничениях версии @value{VERSION}:" #. type: itemize #: guix-git/doc/guix.texi:2084 msgid "" "More and more system services are provided (@pxref{Services}), but some may " "be missing." msgstr "" "Мы постоянно добавляем новые сервисы (@pxref{Services}), но некоторые могут " "отсутствовать." #. type: itemize #: guix-git/doc/guix.texi:2089 msgid "" "GNOME, Xfce, LXDE, and Enlightenment are available (@pxref{Desktop " "Services}), as well as a number of X11 window managers. However, KDE is " "currently missing." msgstr "" "Доступные GNOME, Xfce, LXDE и Enlightenment (@pxref{Desktop Services}), а " "также ряд оконных менеджеров X11. Однако, KDE в настоящее время отсутствует." #. type: Plain text #: guix-git/doc/guix.texi:2094 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 "" "Мы настойчиво призываем вас присылать отчёты о проблемах (или " "историиуспеха!). Присоединяйтесь к нам, если вы хотите улучшить Guix. " "Смотрите @xref{Contributing}, чтобы узнать больше." #. type: cindex #: guix-git/doc/guix.texi:2099 #, no-wrap msgid "hardware support on Guix System" msgstr "поддержка аппаратного обеспечения в системе Guix" #. type: Plain text #: guix-git/doc/guix.texi:2108 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 --- от клавиатур и графических карт до " "сканеров и контроллеров Ethernet. К сожалению, всё ещё остаётся ряд " "производителей железа, которые запрещают пользователям управлять их " "устройствами, и такое аппаратное обеспечение не поддерживается системой Guix." #. type: cindex #: guix-git/doc/guix.texi:2109 #, no-wrap msgid "WiFi, hardware support" msgstr "WiFi, поддержка аппаратного обеспечения" #. type: Plain text #: guix-git/doc/guix.texi:2118 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 "" "Основной областью, в которой отсутствуют свободные драйверы и прошивки, " "являются устройства Wi-Fi. Работают устройства Wi-Fi, которые используют " "платы Atheros (AR9271 и AR7010) и взаимодействуют с драйвером Linux-libre " "@code{ath9k}, также использующие платы Broadcom/AirForce (BCM43xx with " "Wireless-Core Revision 5), которые работают с драйвером Linux-libre " "@code{b43-open}. Свободная прошивка существует для обоих и доступна в " "системе Guix из коробки как часть @var{%base-firmware} (@pxref{operating-" "system Reference, @code{firmware}})." #. type: cindex #: guix-git/doc/guix.texi:2119 #, no-wrap msgid "RYF, Respects Your Freedom" msgstr "уважение вашей свободы (RYF)" #. type: Plain text #: guix-git/doc/guix.texi:2125 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/, Фонд свободного программного обспечения FSF} " "ведёт @uref{https://www.fsf.org/ryf, @dfn{Уважение вашей свободы}} (RYF) --- " "программу сертификации аппаратного обеспечения, которое уважает вашу свободу " "и вашу безопасность и утверждает, что вы имеете контроль над вашими " "устройствами. Мы побуждаем вас проверить список устройств, сертифицированных " "RYF." #. type: Plain text #: guix-git/doc/guix.texi:2129 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:2138 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 "" "Установочный образ ISO-9660 может быть записан на USB-флеш или DVD, скачать " "его можно по адресу: @indicateurl{https://alpha.gnu.org/gnu/guix/guix-system-" "install-@value{VERSION}.@var{system}.iso}, где @var{system} одна из " "следующих:" #. type: table #: guix-git/doc/guix.texi:2142 msgid "for a GNU/Linux system on Intel/AMD-compatible 64-bit CPUs;" msgstr "для системы GNU/Linux на 64-битных Intel/AMD-совместимых процессорах;" #. type: table #: guix-git/doc/guix.texi:2145 msgid "for a 32-bit GNU/Linux system on Intel-compatible CPUs." msgstr "для системы GNU/Linux на 32-битных Intel-совместимых процессорах." #. type: Plain text #: guix-git/doc/guix.texi:2150 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:2154 #, 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}.x86_64-linux.iso.sig\n" "$ gpg --verify guix-system-install-@value{VERSION}.x86_64-linux.iso.sig\n" #. type: example #: guix-git/doc/guix.texi:2162 #, 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:2174 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:2175 #, no-wrap msgid "Copying to a USB Stick" msgstr "Запись на USB-флеш" #. type: Plain text #: guix-git/doc/guix.texi:2180 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 "" "Вставьте в компьютер USB-флеш объёмом 1@tie{}Гб или более и определите его " "имя. Учитывая имя (обычно соответствующее @file{/dev/sdX}) скопируйте образ " "на него:" #. type: example #: guix-git/doc/guix.texi:2184 #, 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:2187 msgid "Access to @file{/dev/sdX} usually requires root privileges." msgstr "Доступ к @file{/dev/sdX} обычно требует привилегий root." #. type: unnumberedsubsec #: guix-git/doc/guix.texi:2188 #, no-wrap msgid "Burning on a DVD" msgstr "Запись на DVD" #. type: Plain text #: guix-git/doc/guix.texi:2193 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:2196 #, 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:2199 msgid "Access to @file{/dev/srX} usually requires root privileges." msgstr "Доступ к @file{/dev/srX} обычно требует привилегий root." #. type: unnumberedsubsec #: guix-git/doc/guix.texi:2200 #, no-wrap msgid "Booting" msgstr "Загрузка" #. type: Plain text #: guix-git/doc/guix.texi:2207 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-флеш." #. type: Plain text #: guix-git/doc/guix.texi:2210 msgid "" "@xref{Installing Guix in a VM}, if, instead, you would like to install Guix " "System in a virtual machine (VM)." msgstr "" "Смотрите @xref{Installing Guix in a VM}, если вы хотите установить систему " "Guix на виртуальную машину (VM)." #. type: Plain text #: guix-git/doc/guix.texi:2220 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{Guided Graphical Installation}). Или если " "вы уже знакомы с GNU/Linux или вы хотите больший контроль, чем это " "предоставляет графическая установка, вы можете выбрать ручной процесс " "установки (@pxref{Manual Installation})." #. type: Plain text #: guix-git/doc/guix.texi:2228 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. Вы можете запустить оболочку root в " "TTY 3-6, нажимая @kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4} и т.д. TTY2 " "отображает эту документацию, открыть его можно клавишами @kbd{ctrl-alt-f2}. " "Листать документацию можно командами просмотрщика Info (@pxref{Top,,, info-" "stnd, Stand-alone GNU Info}). Установка системы запускает демона мыши GPM, " "который позволяет вам выделять текст лековй кнопкой мыши и вставлять средней " "кнопкой." #. type: quotation #: guix-git/doc/guix.texi:2233 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:2240 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:2245 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:2247 msgid "" "@image{images/installer-network,5in,, networking setup with the graphical " "installer}" msgstr "" "@image{images/installer-network,5in,, networking setup with the graphical " "installer}" #. type: Plain text #: guix-git/doc/guix.texi:2252 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:2254 msgid "" "@image{images/installer-partitions,5in,, partitioning with the graphical " "installer}" msgstr "" "@image{images/installer-partitions,5in,, partitioning with the graphical " "installer}" #. type: Plain text #: guix-git/doc/guix.texi:2257 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:2259 msgid "@image{images/installer-resume,5in,, resuming the installation process}" msgstr "" "@image{images/installer-resume,5in,, resuming the installation process}" #. type: Plain text #: guix-git/doc/guix.texi:2264 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{Using the Configuration System}). На этом " "этапе нажатие ``OK'' запустит установку. После успешнго завершения нужно " "перезагрузиться и использовать новую систему. Смотрите @xref{After System " "Installation}, чтобы узнать ещё больше!" #. type: Plain text #: guix-git/doc/guix.texi:2274 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 на " "вашу машину. Это потребует знаний GNU/Linux, оболочки и инструментов " "администрирования. Если вы считаете, это не для вас, используйте вариант " "графической установки (@pxref{Guided Graphical Installation})." #. type: Plain text #: guix-git/doc/guix.texi:2280 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 it is also a full-blown Guix " "System, which means that you can install additional packages, should you " "need it, using @command{guix package} (@pxref{Invoking guix package})." msgstr "" "Во время установки доступна оболочка root в TTY от 3 до 6. Нажмите " "@kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4} и т.д., чтобы переключиться на них. Они " "имеют много стандартных инструментов для установки системы. Но это также " "работающая система Guix, а это значит, что вы можете установить " "дополнительные пакеты, которые потребуются, используя @command{guix package} " "(@pxref{Invoking guix package})." #. type: subsection #: guix-git/doc/guix.texi:2287 #, no-wrap msgid "Keyboard Layout, Networking, and Partitioning" msgstr "Раскладка клавиатуры, Сеть, Разметка диска" #. type: Plain text #: guix-git/doc/guix.texi:2292 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:2295 guix-git/doc/guix.texi:14766 #, no-wrap msgid "keyboard layout" msgstr "раскладка клавиатуры" #. type: Plain text #: guix-git/doc/guix.texi:2299 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 "" "Установочный образ использует раскладку клавиатуры US qwerty. Если нужно " "поменять её, можно пользоваться командой @command{loadkeys}. Например, " "следующая команда выбирает раскладку клавиатуры Dvorak:" #. type: example #: guix-git/doc/guix.texi:2302 #, no-wrap msgid "loadkeys dvorak\n" msgstr "loadkeys dvorak\n" #. type: Plain text #: guix-git/doc/guix.texi:2307 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: subsubsection #: guix-git/doc/guix.texi:2308 #, no-wrap msgid "Networking" msgstr "Сеть" #. type: Plain text #: guix-git/doc/guix.texi:2311 msgid "" "Run the following command to see what your network interfaces are called:" msgstr "Запустите следующую команду, чтобы узнать имена сетевых интерфейсов:" #. type: example #: guix-git/doc/guix.texi:2314 #, no-wrap msgid "ifconfig -a\n" msgstr "ifconfig -a\n" #. type: table #: guix-git/doc/guix.texi:2318 guix-git/doc/guix.texi:2340 msgid "@dots{} or, using the GNU/Linux-specific @command{ip} command:" msgstr "@dots{} или используйте специальную команду GNU/Linux @command{ip}:" #. type: example #: guix-git/doc/guix.texi:2321 #, no-wrap msgid "ip address\n" msgstr "ip address\n" #. type: Plain text #: guix-git/doc/guix.texi:2328 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}; например, интерфейс, " "соответствующий первому контроллеру Ethernet на материнской плате, " "называется @samp{eno1}. Беспроводные интерфейсы имеют имена, начинающиеся с " "@samp{w}, как @samp{w1p2s0}." #. type: item #: guix-git/doc/guix.texi:2330 #, no-wrap msgid "Wired connection" msgstr "Проводное соединение" #. type: table #: guix-git/doc/guix.texi:2333 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:2336 #, no-wrap msgid "ifconfig @var{interface} up\n" msgstr "ifconfig @var{interface} up\n" #. type: example #: guix-git/doc/guix.texi:2343 #, no-wrap msgid "ip link set @var{interface} up\n" msgstr "ifconfig @var{interface} up\n" #. type: item #: guix-git/doc/guix.texi:2345 #, no-wrap msgid "Wireless connection" msgstr "Беспроводное соединение" #. type: cindex #: guix-git/doc/guix.texi:2346 guix-git/doc/guix.texi:16411 #, no-wrap msgid "wireless" msgstr "беспроводной" #. type: cindex #: guix-git/doc/guix.texi:2347 guix-git/doc/guix.texi:16412 #, no-wrap msgid "WiFi" msgstr "WiFi" #. type: table #: guix-git/doc/guix.texi:2352 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{wpa_supplicant} (расположение файла неважно). Можно пользоваться " "любым доступным текстовым редактором, например, @command{nano}:" #. type: example #: guix-git/doc/guix.texi:2355 #, no-wrap msgid "nano wpa_supplicant.conf\n" msgstr "nano wpa_supplicant.conf\n" #. type: table #: guix-git/doc/guix.texi:2360 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:2367 #, 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=\"the network's secret passphrase\"\n" "@}\n" #. type: table #: guix-git/doc/guix.texi:2372 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:2375 #, 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:2378 msgid "Run @command{man wpa_supplicant} for more information." msgstr "Запустите @command{man wpa_supplicant}, чтобы узнать больше." #. type: cindex #: guix-git/doc/guix.texi:2380 #, no-wrap msgid "DHCP" msgstr "DHCP" #. type: Plain text #: guix-git/doc/guix.texi:2383 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-адрес. В случае сети, где IP-адреса автоматически " "распределяются @i{с помощью} DHCP, можно запустить:" #. type: example #: guix-git/doc/guix.texi:2386 #, no-wrap msgid "dhclient -v @var{interface}\n" msgstr "dhclient -v @var{interface}\n" #. type: Plain text #: guix-git/doc/guix.texi:2389 msgid "Try to ping a server to see if networking is up and running:" msgstr "Попробуйте пинговать сервер, чтобы узнать, работает ли сеть:" #. type: example #: guix-git/doc/guix.texi:2392 #, no-wrap msgid "ping -c 3 gnu.org\n" msgstr "ping -c 3 gnu.org\n" #. type: Plain text #: guix-git/doc/guix.texi:2396 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:2397 #, no-wrap msgid "proxy, during system installation" msgstr "Система Guix, установка" #. type: Plain text #: guix-git/doc/guix.texi:2400 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:2403 #, 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:2408 msgid "" "where @var{URL} is the proxy URL, for example @code{http://example.org:8118}." msgstr "где @var{URL} адрес прокси, например @code{http://example.org:8118}." #. type: cindex #: guix-git/doc/guix.texi:2409 #, no-wrap msgid "installing over SSH" msgstr "установка через SSH" #. type: Plain text #: guix-git/doc/guix.texi:2412 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:2415 #, no-wrap msgid "herd start ssh-daemon\n" msgstr "herd start ssh-daemon\n" #. type: Plain text #: guix-git/doc/guix.texi:2419 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:2420 #, no-wrap msgid "Disk Partitioning" msgstr "Разметка диска" #. type: Plain text #: guix-git/doc/guix.texi:2424 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:2429 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:2432 #, no-wrap msgid "cfdisk\n" msgstr "cfdisk\n" #. type: Plain text #: guix-git/doc/guix.texi:2438 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 Partition Table (GPT), и вы планируете " "использовать GRUB, работающий с BIOS (что по умолчанию), убедитесь, что " "раздел BIOS Boot Partition доступен (@pxref{BIOS installation,,, grub, GNU " "GRUB manual})." #. type: cindex #: guix-git/doc/guix.texi:2439 #, no-wrap msgid "EFI, installation" msgstr "EFI, установка" #. type: cindex #: guix-git/doc/guix.texi:2440 #, no-wrap msgid "UEFI, installation" msgstr "UEFI, установка" #. type: cindex #: guix-git/doc/guix.texi:2441 #, no-wrap msgid "ESP, EFI system partition" msgstr "ESP, EFI разметка системы" #. type: Plain text #: guix-git/doc/guix.texi:2445 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 "" "Если вместо этого вы хотите использовать GRUB, работающий с EFI, тогда " "необходима @dfn{разметка система EFI} FAT32 (ESP). Такая разметка может, " "например, монтироваться в @file{/boot/efi} и должна иметь флаг @code{esp}. " "То есть в случае @command{parted}:" #. type: example #: guix-git/doc/guix.texi:2448 #, 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:2451 guix-git/doc/guix.texi:33452 #, no-wrap msgid "grub-bootloader" msgstr "grub-bootloader" #. type: vindex #: guix-git/doc/guix.texi:2452 guix-git/doc/guix.texi:33446 #, no-wrap msgid "grub-efi-bootloader" msgstr "grub-efi-bootloader" #. type: quotation #: guix-git/doc/guix.texi:2459 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 "" "Не уверенны, что выбрать: GRUB, взаимодействующий с EFI или BIOS? Если " "существует директория @file{/sys/firmware/efi} в установочом образе, тогда " "вам следует использовать установку EFI и @code{grub-efi-bootloader}. В " "противном случае нужно использовать GRUB, работающий с BIOS, называемый " "@code{grub-bootloader}. Смотрите @xref{Bootloader Configuration} для большей " "информации о загрузчиках." #. type: Plain text #: guix-git/doc/guix.texi:2467 #, 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, and F2FS 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:" 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. По факту, код, читающий " "UUID и метки файлвых систем, работает только для этих типов файловых " "систем.}. В случае ESP, если у вас раздел @file{/dev/sda1}, выполните:" #. type: example #: guix-git/doc/guix.texi:2470 #, no-wrap msgid "mkfs.fat -F32 /dev/sda1\n" msgstr "mkfs.fat -F32 /dev/sda1\n" #. type: Plain text #: guix-git/doc/guix.texi:2477 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{Invoking guix-daemon, deduplication})." #. type: Plain text #: guix-git/doc/guix.texi:2484 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{File Systems}). Обычно " "это можно сделать опцией @code{-L} в @command{mkfs.ext4}, например. " "Допустим, раздел root располагается в @file{/dev/sda2}, можно добавить метку " "@code{my-root} следующим образом:" #. type: example #: guix-git/doc/guix.texi:2487 #, 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:2489 guix-git/doc/guix.texi:13734 #, no-wrap msgid "encrypted disk" msgstr "шифрованный диск" #. type: Plain text #: guix-git/doc/guix.texi:2496 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). Assuming you want to store " "the root partition on @file{/dev/sda2}, the command sequence would be along " "these lines:" msgstr "" "Если же вы планируете шифровать раздел root, можно воспользоваться утилитами " "Cryptsetup/LUKS (смотрите @inlinefmtifelse{html, @uref{https://linux.die.net/" "man/8/cryptsetup, @code{man cryptsetup}}, @code{man cryptsetup}} for more " "information.) Допустим, если раздел root размещается в @file{/dev/sda2}, " "необходимо выполнить следующие команды:" #. type: example #: guix-git/doc/guix.texi:2501 #, no-wrap msgid "" "cryptsetup luksFormat /dev/sda2\n" "cryptsetup open --type luks /dev/sda2 my-partition\n" "mkfs.ext4 -L my-root /dev/mapper/my-partition\n" msgstr "" "cryptsetup luksFormat /dev/sda2\n" "cryptsetup open --type luks /dev/sda2 my-partition\n" "mkfs.ext4 -L my-root /dev/mapper/my-partition\n" #. type: Plain text #: guix-git/doc/guix.texi:2506 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} " "следующей командой (опять же полагая, что метка раздела root --- @code{my-" "root}):" #. type: example #: guix-git/doc/guix.texi:2509 #, no-wrap msgid "mount LABEL=my-root /mnt\n" msgstr "mount LABEL=my-root /mnt\n" #. type: Plain text #: guix-git/doc/guix.texi:2515 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 "" "Также монтируйте любые другие файловые системы внутрь целевой файловой " "системы. Если например, выбрана точка монтирования EFI @file{/boot/efi}, " "монтируйте её в @file{/mnt/boot/efi}, так, чтобы она обнаруживалась после " "запуска @code{guix system init}." #. type: Plain text #: guix-git/doc/guix.texi:2520 msgid "" "Finally, if you plan to use one or more swap partitions (@pxref{Memory " "Concepts, swap space,, libc, The GNU C Library Reference Manual}), make sure " "to initialize them with @command{mkswap}. Assuming you have one swap " "partition on @file{/dev/sda3}, you would run:" msgstr "" "Наконец, если вы планируете использовать один или более разделов swap " "(@pxref{Memory Concepts, swap space,, libc, The GNU C Library Reference " "Manual}), обязательно инициируйте их командой @command{mkswap}. Допустим, " "если ваш раздел swap размещён в @file{/dev/sda3}, нужно выполнить:" #. type: example #: guix-git/doc/guix.texi:2524 #, 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:2532 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 "" "Возможно, вместо этого вы используете swap-файл. Например, предположим, вы " "хотите использовать в новой системе swap-файл в @file{/swapfile}, тогда " "нужно выполнить@footnote{Этот пример работает для многих типов файловых " "систем, например, ext4. Однако для файловых систем, использующих механизм " "копирование при записи (copy-on-write), например, btrfs, необходимы другие " "шаги. Подробнее смотрите в мануалах для @command{mkswap} и " "@command{swapon}.}:" #. type: example #: guix-git/doc/guix.texi:2540 #, 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 "" "# 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" #. type: Plain text #: guix-git/doc/guix.texi:2545 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 "" "Заметим, что если вы шифруете раздел root и создаёте swap-файл в его " "файловой системе, как это описано выше, шифрование также будет защищать swap-" "файл, как и любой другой файл в этой файловой системе." #. type: Plain text #: guix-git/doc/guix.texi:2551 msgid "" "With the target partitions ready and the target root mounted on @file{/mnt}, " "we're ready to go. First, run:" msgstr "" "Когда целевые разделы готовы и раздел root монтирован под @file{/mnt}, всё " "готово для старта. Сначала запустите:" #. type: example #: guix-git/doc/guix.texi:2554 #, no-wrap msgid "herd start cow-store /mnt\n" msgstr "herd start cow-store /mnt\n" #. type: Plain text #: guix-git/doc/guix.texi:2561 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} копируемым при записи (copy-on-write), что " "заставит систему записывать пакеты, добавляемые в систему на этапе " "установки, на целевой диск под @file{/mnt}, а не держать их в памяти. Это " "важно, потому что по команде @command{guix system init} (смотрите ниже) " "будут скачиваться или собираться пакеты в @file{/gnu/store}, которая " "изначально находится в файловой системе, загрузженной в память." #. type: Plain text #: guix-git/doc/guix.texi:2572 #, 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 GNU Zile (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." 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 "" "Далее нужно редактировать файл объявления операционной системы, которым " "будет пользоваться установщик. Для этого при установке системы можно " "использовать три текстовых редактора. Мы ркомендуем GNU nano (@pxref{Top,,, " "nano, GNU nano Manual}) --- он поддерживает подсветку синтаксиса и работу со " "скобками. Другие редакторы: GNU Zile (клон Emacs), nvi (клон исходного " "редактора BSD @command{vi}). Мы настойчиво рекомендуем сохранять файл " "конфигураций в целевой файловой системе root, например, как @file{/mnt/etc/" "config.scm}. Иначе есть возможность потерять конфигурационный файл, когда вы " "загрузитесь в новую установенную систему." #. type: Plain text #: guix-git/doc/guix.texi:2579 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:2584 #, 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:2588 msgid "" "You should pay attention to what your configuration file contains, and in " "particular:" msgstr "" "Нужно уделить внимание содержимому конфигурационного файла, в частности:" #. type: itemize #: guix-git/doc/guix.texi:2600 #, fuzzy #| msgid "" #| "Make sure the @code{bootloader-configuration} form refers to the target " #| "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{target} field " #| "names a device, like @code{/dev/sda}; for UEFI systems it names a path to " #| "a mounted EFI partition, like @code{/boot/efi}; do make sure the path is " #| "currently mounted and a @code{file-system} entry is specified in your " #| "configuration." 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. Он должен содержать @code{grub-" "bootloader}, если вы используете legacy-GRUB, или @code{grub-efi-bootloader} " "для новых систем UEFI. Для систем legacy поле @code{target} содержит имя " "устройства, например, @code{/dev/sda}; для систем UEFI он указывает имя " "раздела EFI, например, @code{/boot/efi}. Так что обязательно проверьте, " "чтобы нужный путь был монтирован, и запись @code{file-system} содержала " "нужную уонфигурацию." #. type: itemize #: guix-git/doc/guix.texi:2606 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{device} были указаны метки ваших файловых " "систем внутри конфигурации @code{file-system}, если конечно, конфигурация " "@code{file-system} использует процедуру @code{file-system-label} в поле " "@code{device}." #. type: itemize #: guix-git/doc/guix.texi:2610 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:2615 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 "" "Когда вы подготовили конфигурационный файл, нужно инициализировать новую " "систему (помните, что целевой раздел root монтирован под @file{/mnt}):" #. type: example #: guix-git/doc/guix.texi:2618 #, 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:2625 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 "" "Это копирует все нужные файлы и устанавливает GRUB в @file{/dev/sdX}, если " "конечно, вы не задали опцию @option{--no-bootloader}. Подробнее - " "@pxref{Invoking guix system}. Эта команда может вызывать скачивание или " "сборку отсутствующих пакетов, что может занять время." #. type: Plain text #: guix-git/doc/guix.texi:2633 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} в новой " "системе изначально пустой; пароли других пользователей должны быть заданы " "командой @command{passwd} от @code{root}, если конечно, ваша конфиурация не " "содержит указания (@pxref{user-account-password, user account passwords}). " "Смотрите @xref{After System Installation}, чтобы узнать, что дальше!" #. type: Plain text #: guix-git/doc/guix.texi:2640 msgid "" "Success, you've now booted into Guix System! From then on, you can update " "the system whenever you want by running, say:" msgstr "" "Замечательно! Теперь вы загрузились в систему Guix! Теперь можно обновить " "систему, когда у вас будет на это время, запустив, например:" #. type: example #: guix-git/doc/guix.texi:2644 #, 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:2650 msgid "" "This builds a new system generation with the latest packages and services " "(@pxref{Invoking guix system}). 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:2653 #, no-wrap msgid "sudo vs. @command{guix pull}" msgstr "sudo vs. @command{guix pull}" #. type: quotation #: guix-git/doc/guix.texi:2657 msgid "" "Note that @command{sudo guix} runs your user's @command{guix} command and " "@emph{not} root's, because @command{sudo} leaves @env{PATH} unchanged. To " "explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}." msgstr "" "Отметим, что @command{sudo guix} запускает команду @command{guix} от вашего " "пользователя, но @emph{не} от root, потому что @command{sudo} не меняет " "@code{PATH}. Чтобы вместо этого запустить @command{guix} от root, " "напечатайте @command{sudo -i guix @dots{}}." #. type: quotation #: guix-git/doc/guix.texi:2662 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} и определения пакетов только для пользователя, от имени " "которого она запускается. Это означает, что если вы решите использовать " "@command{guix system reconfigure} от имени root, вам нужно будет запустить " "@command{guix pull} отдельно." #. type: Plain text #: guix-git/doc/guix.texi:2667 msgid "" "Now, @pxref{Getting Started}, and join us on @code{#guix} on the Libera Chat " "IRC network or on @email{guix-devel@@gnu.org} to share your experience!" msgstr "" "Присоединяйтесь к нашему IRC-каналу @code{#guix} в сети Freenode или пишите " "на @email{guix-devel@@gnu.org}, чтобы поделиться опытом!" #. type: section #: guix-git/doc/guix.texi:2670 #, no-wrap msgid "Installing Guix in a Virtual Machine" msgstr "Установка Guix на виртуальную машину (VM)" #. type: cindex #: guix-git/doc/guix.texi:2672 #, no-wrap msgid "virtual machine, Guix System installation" msgstr "виртуальная машина, установка системы Guix" #. type: cindex #: guix-git/doc/guix.texi:2673 #, no-wrap msgid "virtual private server (VPS)" msgstr "виртуальный приватный сервер (VPS)" #. type: cindex #: guix-git/doc/guix.texi:2674 #, no-wrap msgid "VPS (virtual private server)" msgstr "VPS (virtual private server)" #. type: Plain text #: guix-git/doc/guix.texi:2678 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 "" "Если вы хотите установить систему Guix на виртуальную машину (VM) или на " "виртуальный приватный сервер (VPS) вместо вашей любимой машины, этот раздел " "для вас." #. type: Plain text #: guix-git/doc/guix.texi:2681 msgid "" "To boot a @uref{https://qemu.org/,QEMU} VM for installing Guix System in a " "disk image, follow these steps:" msgstr "" "Чтобы загрузить Guix в @uref{http://qemu.org/,QEMU} VM и установить образ, " "выполните шаги:" #. type: enumerate #: guix-git/doc/guix.texi:2686 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:2690 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:2693 #, no-wrap msgid "qemu-img create -f qcow2 guix-system.img 50G\n" msgstr "qemu-img create -f qcow2 guixsd.img 50G\n" #. type: enumerate #: guix-git/doc/guix.texi:2697 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Гб (обычно менее 1Мб), но он " "будет увеличиваться с заполнение виртуального устройства." #. type: enumerate #: guix-git/doc/guix.texi:2700 msgid "Boot the USB installation image in an VM:" msgstr "Загрузите установочный образ USB в VM:" #. type: example #: guix-git/doc/guix.texi:2706 #, 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,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,file=guix-system-install-@value{VERSION}.@var{system}.iso\n" #. type: enumerate #: guix-git/doc/guix.texi:2710 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:2714 msgid "" "You're now root in the VM, proceed with the installation process. " "@xref{Preparing for Installation}, and follow the instructions." msgstr "" "Теперь вы в корне VM, проделайте процесс установки @xref{Preparing for " "Installation} и последующие инструкции." #. type: Plain text #: guix-git/doc/guix.texi:2719 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{guixsd.img}. Смотрите @xref{Running Guix in a VM}, чтобы " "узнать, как это сделать." #. type: cindex #: guix-git/doc/guix.texi:2723 #, no-wrap msgid "installation image" msgstr "установочный образ" #. type: Plain text #: guix-git/doc/guix.texi:2726 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:2729 #, no-wrap msgid "guix system image -t iso9660 gnu/system/install.scm\n" msgstr "guix system disk-image -t iso9660 gnu/system/install.scm\n" #. type: Plain text #: guix-git/doc/guix.texi:2734 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:2735 #, no-wrap msgid "Building the Installation Image for ARM Boards" msgstr "Сбрка и установка образа для плат ARM" #. type: Plain text #: guix-git/doc/guix.texi:2739 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:2743 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:2746 #, 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 disk-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:2750 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:2760 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:2764 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:2767 #, no-wrap msgid "guix search text editor\n" msgstr "guix search text editor\n" #. type: Plain text #: guix-git/doc/guix.texi:2774 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{пакетов}, каждый раз " "показывая имя пакета, версию, описание и дополнительную информацию. Как " "только вы определились с тем, какой пакет хотите использовать, скажем, Emacs " "(ха!), вы можете установить его следующей командой (запустите эту команду " "как обычный пользователь, root привилегии не нужны!):" #. type: example #: guix-git/doc/guix.texi:2777 #, no-wrap msgid "guix install emacs\n" msgstr "guix install emacs\n" #. type: cindex #: guix-git/doc/guix.texi:2779 guix-git/doc/guix.texi:3091 #: guix-git/doc/guix.texi:3143 #, no-wrap msgid "profile" msgstr "профиль" #. type: Plain text #: guix-git/doc/guix.texi:2787 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 "" "Вы установили свой первый пакет, поздравляю! В процессе вы, вероятно, " "заметили, что Guix загружает заранее собранные двоичные файлы; или, если вы " "явно решили не использовать предварительно созданные двоичные файлы, то, " "вероятно, Guix все еще собирает программное обеспечение " "(@pxref{Substitutes}, для дополнительной информации)." #. type: Plain text #: guix-git/doc/guix.texi:2790 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:2793 #, no-wrap msgid "" "hint: Consider setting the necessary environment variables by running:\n" "\n" msgstr "" "hint: Consider setting the necessary environment variables by running:\n" "\n" #. type: example #: guix-git/doc/guix.texi:2796 #, 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:2798 #, 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:2812 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, " "@code{PYTHONPATH} will be defined." msgstr "" "Действительно, теперь вы должны указать своей оболочке, где находятся " "@code{emacs} и другие программы, установленные вместе с Guix. Вставка двух " "строк добавит @code{$HOME/.guix-profile/bin} (там где находится " "установленный пакет) в переменную окружения @code{PATH}. Вы можете вставить " "эти две строки в свою оболочку, чтобы они сразу вступили в силу, но, что " "более важно, вы должны добавить их в @file{~/.bash_profile} (или аналогичный " "файл, если вы не используете Bash), чтобы переменные среды устанавливались в " "следующий раз, когда вы создаете оболочку. Вам нужно сделать это только " "один раз, и другие переменные среды путей поиска будут обработаны " "аналогичным образом. Например, если вы установите @code{python} или " "библиотеки Python, @code{PYTHONPATH} будет определена." #. type: Plain text #: guix-git/doc/guix.texi:2815 msgid "" "You can go on installing packages at your will. To list installed packages, " "run:" msgstr "" "Вы можете продолжать установку пакетов по своему желанию. Чтобы вывести " "список установленных пакетов, запустите:" #. type: example #: guix-git/doc/guix.texi:2818 #, no-wrap msgid "guix package --list-installed\n" msgstr "guix package --list-installed\n" #. type: Plain text #: guix-git/doc/guix.texi:2823 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:2826 #, no-wrap msgid "guix package --roll-back\n" msgstr "guix package --roll-back\n" #. type: Plain text #: guix-git/doc/guix.texi:2831 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 "" "Каждая операция фактически является транзакцией, которая создает новое " "поколение. Эти поколения и разницу между ними можно отобразить, запустив:" #. type: example #: guix-git/doc/guix.texi:2834 #, no-wrap msgid "guix package --list-generations\n" msgstr "guix package --list-generations\n" #. type: Plain text #: guix-git/doc/guix.texi:2837 msgid "Now you know the basics of package management!" msgstr "Теперь вы знаете основы управления пакетами!" #. type: quotation #: guix-git/doc/guix.texi:2838 guix-git/doc/guix.texi:2897 #, no-wrap msgid "Going further" msgstr "Больше информации" #. type: quotation #: guix-git/doc/guix.texi:2846 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{Package Management}, для получения дополнительной информации об " "управлении пакетами. Вам может понравиться @dfn{декларативное} управление " "пакетами с помощью @command{guix package --manifest}, управление отдельными " "@dfn{профилями} с помощью @option{--profile}, удаление старых поколений, " "сбор мусора и другие полезные функции, которые помогут пригодится по мере " "того, как вы ближе познакомитесь с Guix. Если вы разработчик, " "@pxref{Development} для получения дополнительных инструментов. И если вам " "интересно, @pxref{Features}, чтобы заглянуть под капот." #. type: Plain text #: guix-git/doc/guix.texi:2851 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:2861 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 System, при первом запуске " "@command{guix pull} обязательно следуйте подсказке, которую выводит команда, " "и, подобно тому, что мы видели выше, вставьте эти две строки в свой терминал " "и @file{.bash_profile}:" #. type: example #: guix-git/doc/guix.texi:2865 #, no-wrap msgid "" "GUIX_PROFILE=\"$HOME/.config/guix/current\"\n" ". \"$GUIX_PROFILE/etc/profile\"\n" msgstr "" "GUIX_PROFILE=\"$HOME/.config/guix/current/etc/profile\"\n" ". \"$GUIX_PROFILE/etc/profile\"\n" #. type: Plain text #: guix-git/doc/guix.texi:2869 msgid "You must also instruct your shell to point to this new @command{guix}:" msgstr "" "Вы также должны указать своей оболочке, чтобы она указывала на новую команду " "@command{guix}:" #. type: example #: guix-git/doc/guix.texi:2872 #, no-wrap msgid "hash guix\n" msgstr "hash guix\n" #. type: Plain text #: guix-git/doc/guix.texi:2876 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:2879 #, no-wrap msgid "guix upgrade\n" msgstr "guix upgrade\n" #. type: Plain text #: guix-git/doc/guix.texi:2885 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:2888 msgid "" "You can display the exact revision of Guix you're currently using by running:" msgstr "" "Вы можете отобразить точную версию Guix, которую сейчас используете, " "запустив:" #. type: example #: guix-git/doc/guix.texi:2891 #, no-wrap msgid "guix describe\n" msgstr "guix describe\n" #. type: Plain text #: guix-git/doc/guix.texi:2896 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:2902 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{каналы} для получения пакетов, как " "реплицировать Guix и т. д. Также команда @command{time-machine} может " "оказаться полезной (@pxref{Invoking guix time-machine})." #. type: Plain text #: guix-git/doc/guix.texi:2907 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 System, первое, что вам нужно сделать, это обновить " "вашу систему. После того, как вы запустите команду @command{guix pull}, " "чтобы получить последнюю версию Guix, вы можете обновить систему следующим " "образом:" #. type: example #: guix-git/doc/guix.texi:2910 #, 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:2919 msgid "" "Upon completion, the system runs the latest versions of its software " "packages. 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. Just like for packages, you can " "always @emph{roll back} to a previous generation @emph{of the whole system}:" msgstr "" "По завершении в системе будут запущены последние версии пакетов. Когда вы " "перезагрузите машину, вы заметите подменю в загрузчике ``Old system " "generations'': это то, что позволяет вам загружать @emph{старшее поколение " "вашей системы}, если последнее поколение ``сломано'' или не соответствует " "вашим ожиданиям. Как и в случае с пакетами, вы всегда можете " "@emph{откатиться} на предыдущее поколение @emph{всей системы}:" #. type: example #: guix-git/doc/guix.texi:2922 #, no-wrap msgid "sudo guix system roll-back\n" msgstr "sudo guix system roll-back\n" #. type: Plain text #: guix-git/doc/guix.texi:2929 msgid "" "There are many things you'll probably want to tweak on your system: adding " "new user accounts, adding new system services, fiddling with the " "configuration of those services, etc. The system configuration is " "@emph{entirely} described in the @file{/etc/config.scm} file. @xref{Using " "the Configuration System}, to learn how to change it." msgstr "" "Есть много вещей, которые вы, вероятно, захотите настроить в своей системе: " "добавление новых учетных записей пользователей, добавление новых системных " "служб, изменение конфигурации этих служб и т.д. Конфигурация системы " "@emph{полностью} определена в файле @file{/etc/config.scm}. @xref{Using the " "Configuration System}, узнать о настройке системы." #. type: Plain text #: guix-git/doc/guix.texi:2931 msgid "Now you know enough to get started!" msgstr "Теперь вы знаете достаточно, чтобы начать!" #. type: quotation #: guix-git/doc/guix.texi:2932 #, no-wrap msgid "Resources" msgstr "Ресурсы" #. type: quotation #: guix-git/doc/guix.texi:2935 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:2940 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}, статьи с готовыми " "решениями для различных ситуаций в стиле ``how-to''." #. type: itemize #: guix-git/doc/guix.texi:2945 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 Reference Card} " "шпаргалка с большинством команд и опций, которые вам когда-либо понадобятся." #. type: itemize #: guix-git/doc/guix.texi:2950 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:2954 msgid "" "@xref{Documentation}, to learn how to access documentation on your computer." msgstr "" "@xref{Documentation}, чтобы узнать, как получить доступ к документации на " "вашем компьютере." #. type: quotation #: guix-git/doc/guix.texi:2957 msgid "" "We hope you will enjoy Guix as much as the community enjoys building it!" msgstr "" "Мы надеемся, что вам понравится Guix так же, как и сообществу нравится его " "создавать!" #. type: Plain text #: guix-git/doc/guix.texi:2968 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:2976 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}}), можно " "также использовать интерфейс Emacs-Guix (@pxref{Top,,, emacs-guix, The Emacs-" "Guix Reference Manual}), если установить пакет @code{emacs-guix} (выполните " "команду @kbd{M-x guix-help}, чтобы начать работу с ним):" #. type: example #: guix-git/doc/guix.texi:2979 #, no-wrap msgid "guix install emacs-guix\n" msgstr "guix install emacs-guix\n" #. type: Plain text #: guix-git/doc/guix.texi:3000 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:3004 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{package store}, в собственной директории, например, @file{/gnu/store/" "xxx-package-1.2}, где @code{xxx} - это строка base32." #. type: Plain text #: guix-git/doc/guix.texi:3009 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:3017 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:3021 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:3022 guix-git/doc/guix.texi:3105 #, no-wrap msgid "transactions" msgstr "транзакции" #. type: Plain text #: guix-git/doc/guix.texi:3029 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:3037 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{Using the Configuration System})." msgstr "" "В дополнение, каждую транзакцию, которая работает с пакетами, можно " "@emph{откатить}. Так если, например, обновление устанавливает новую версию " "пакета, которая имеет серьёзный баг, пользователи могут откатиться до " "предыдущей инстанции своего профиля, который работал нормально. Точно так " "же, глобальные настройки системы Guix являются объектом транзакционных " "обновлений и откатов (@pxref{Using the Configuration System})." #. type: Plain text #: guix-git/doc/guix.texi:3044 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}). Также пользователи могут явно удалить старые поколения (generations) " "их профилей, поэтому пакеты, на которые ссылались старые профили, могут быть " "удалены." #. type: Plain text #: guix-git/doc/guix.texi:3057 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:3068 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:3074 msgid "" "Control over the build environment is a feature that is also useful for " "developers. The @command{guix environment} 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 environment})." msgstr "" "Управление окружением сборки --- функция, которая полезна для разработчиков. " "Команда @command{guix environment} позволяет разработчикам пакетов быстро " "установить требуемое окружение разработки без необходимости устанавливать в " "свой профиль зависимости пакета вручную (@pxref{Invoking guix environment})." #. type: cindex #: guix-git/doc/guix.texi:3075 #, no-wrap msgid "replication, of software environments" msgstr "повторение, окружения программного обеспечения" #. type: cindex #: guix-git/doc/guix.texi:3076 #, no-wrap msgid "provenance tracking, of software artifacts" msgstr "трекинг источника, артефакты программного обеспечения" #. type: Plain text #: guix-git/doc/guix.texi:3083 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:3085 #, no-wrap msgid "Invoking @command{guix package}" msgstr "Вызов @command{guix package}" #. type: cindex #: guix-git/doc/guix.texi:3087 #, no-wrap msgid "installing packages" msgstr "установка пакетов" #. type: cindex #: guix-git/doc/guix.texi:3088 #, no-wrap msgid "removing packages" msgstr "удаление пакетов" #. type: cindex #: guix-git/doc/guix.texi:3089 #, no-wrap msgid "package installation" msgstr "установка пакета" #. type: cindex #: guix-git/doc/guix.texi:3090 #, no-wrap msgid "package removal" msgstr "удаление пакета" #. type: Plain text #: guix-git/doc/guix.texi:3100 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} --- инструмент, который позволяет " "пользователям устанавливать, обновлять и удалять пакеты, а также " "откатываться до предыдущих конфигураций (@pxref{Features}). Его синтаксис:" #. type: example #: guix-git/doc/guix.texi:3103 #, no-wrap msgid "guix package @var{options}\n" msgstr "guix package @var{options}\n" #. type: Plain text #: guix-git/doc/guix.texi:3110 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:3113 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:3116 #, 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:3118 #, no-wrap msgid "aliases, for @command{guix package}" msgstr "синонимы, для @command{guix package}" #. type: Plain text #: guix-git/doc/guix.texi:3120 msgid "For your convenience, we also provide the following aliases:" msgstr "Для вашего удобства мы также предоставляем следующие синонимы:" #. type: itemize #: guix-git/doc/guix.texi:3124 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:3126 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:3128 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:3130 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:3132 msgid "and @command{guix show} is an alias for @command{guix package --show=}." msgstr "" "и @command{guix show} псевдоним (alias) для @command{guix package --show=}." #. type: Plain text #: guix-git/doc/guix.texi:3137 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:3142 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{декларативный подход}, с " "помощью которого пользователь зааёт точный набор пакетов, которые должны " "быть доступны, и передаёт его @i{в опции} @option{--manifest} " "(@pxref{profile-manifest, @option{--manifest}})." #. type: Plain text #: guix-git/doc/guix.texi:3149 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} " "в свою переменную окружения @code{PATH} и прочее." #. type: cindex #: guix-git/doc/guix.texi:3149 guix-git/doc/guix.texi:3382 #, no-wrap msgid "search paths" msgstr "пути поиска" #. type: Plain text #: guix-git/doc/guix.texi:3154 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}), чтобы порождаемые оболочки получили все " "необходимые определения переменных окружения:" #. type: example #: guix-git/doc/guix.texi:3158 #, 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:3169 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{garbage-collector root}, которое " "указывет на @file{$HOME/.guix-profile} (@pxref{Invoking guix gc}). Эта " "директория обычно ссылается на @code{@var{localstatedir}/guix/profiles/per-" "user/@var{user}}, где @var{localstatedir} --- значение, переданное скрипту " "@code{configure} опцией @code{--localstatedir}, а @var{user} --- имя " "пользователя. Директория @file{per-user} создаёся, когда запускается " "@command{guix-daemon}, а поддиректория @var{user} создаётся @command{guix " "package}." #. type: Plain text #: guix-git/doc/guix.texi:3171 msgid "The @var{options} can be among the following:" msgstr "Опции @var{options} могут быть следующими:" #. type: item #: guix-git/doc/guix.texi:3174 #, no-wrap msgid "--install=@var{package} @dots{}" msgstr "--install=@var{package} @dots{}" #. type: itemx #: guix-git/doc/guix.texi:3175 #, no-wrap msgid "-i @var{package} @dots{}" msgstr "-i @var{package} @dots{}" #. type: table #: guix-git/doc/guix.texi:3177 msgid "Install the specified @var{package}s." msgstr "Установить заданный пакет." #. type: table #: guix-git/doc/guix.texi:3182 msgid "" "Each @var{package} may specify either a simple package name, such as " "@code{guile}, or a package name followed by an at-sign and version number, " "such as @code{guile@@1.8.8} or simply @code{guile@@1.8} (in the latter case, " "the newest version prefixed by @code{1.8} is selected)." msgstr "" "Каждый @var{package} может задавать простое имя пакета, как например, " "@code{guile}, или имя пакета с указанием номера версии, например, " "@code{guile@@1.8.8} или просто @code{guile@@1.8} (в последнем случае " "выбирается самая новая версия с префиксом @code{1.8})." #. type: table #: guix-git/doc/guix.texi:3190 msgid "" "If no version number is specified, the newest available version will be " "selected. In addition, @var{package} 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}). " "Packages with a corresponding name (and optionally version) are searched for " "among the GNU distribution modules (@pxref{Package Modules})." msgstr "" "Если не задан номер версии, тогда будет выбрана самая новая доступная " "версия. Добавм, что @var{package} может содержать двоеточие и одно имя " "выходных данных пакета, как @code{gcc:doc} или @code{binutils@@2.22:lib} " "(@pxref{Packages with Multiple Outputs}). Пакеты с соответствующим именем (и " "опционально, версией) будут отыскиваться в модулях дистрибутива GNU " "(@pxref{Package Modules})." #. type: cindex #: guix-git/doc/guix.texi:3191 #, no-wrap msgid "propagated inputs" msgstr "распространяемые входные данные" #. type: table #: guix-git/doc/guix.texi:3197 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{распространённые входные данные} (propagated " "inputs) --- это зависимости, которые устанавливаются автоматически вместе с " "требуемыми пакетами (см. @pxref{package-propagated-inputs, @code{propagated-" "inputs} in @code{package} objects} для подробной информации о " "распространяемых входных днных в определениях пакетов)." #. type: anchor{#1} #: guix-git/doc/guix.texi:3204 msgid "package-cmd-propagated-inputs" msgstr "package-cmd-propagated-inputs" #. type: table #: guix-git/doc/guix.texi:3204 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:3209 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 "" "Кроме того, пакеты иногда зависят от переменных окружения --- от их путей " "поиска (смотрите разъяснение @code{--search-paths} ниже). Любая " "отсутствующая или, возможно, некорректная переменная окружения вызывает " "сообщение отчета." #. type: item #: guix-git/doc/guix.texi:3210 #, no-wrap msgid "--install-from-expression=@var{exp}" msgstr "--install-from-expression=@var{exp}" #. type: itemx #: guix-git/doc/guix.texi:3211 #, no-wrap msgid "-e @var{exp}" msgstr "-e @var{exp}" #. type: table #: guix-git/doc/guix.texi:3213 msgid "Install the package @var{exp} evaluates to." msgstr "Устанавить пакет, соответствующий @var{exp}." #. type: table #: guix-git/doc/guix.texi:3218 msgid "" "@var{exp} must be a Scheme expression that evaluates to a @code{} " "object. This option is notably useful to disambiguate between same-named " "variants of a package, with expressions such as @code{(@@ (gnu packages " "base) guile-final)}." msgstr "" "@var{exp} должно быть выражением Scheme, которое определяет объект " "@code{}. Эта опция полезна, чтобы указать однозначно пакет, который " "имеет схожие варианты имён, например, выражением @code{(@@ (gnu packages " "base) guile-final)}." #. type: table #: guix-git/doc/guix.texi:3222 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:3223 #, no-wrap msgid "--install-from-file=@var{file}" msgstr "--install-from-file=@var{file}" #. type: itemx #: guix-git/doc/guix.texi:3224 guix-git/doc/guix.texi:10782 #, no-wrap msgid "-f @var{file}" msgstr "-f @var{file}" #. type: table #: guix-git/doc/guix.texi:3226 msgid "Install the package that the code within @var{file} evaluates to." msgstr "Устанавить пакет, который определён в файле." #. type: table #: guix-git/doc/guix.texi:3229 guix-git/doc/guix.texi:5761 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:3231 guix-git/doc/guix.texi:10790 #, no-wrap msgid "package-hello.scm" msgstr "package-hello.scm" #. type: table #: guix-git/doc/guix.texi:3238 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 environment})." msgstr "" "Пользователи могут найти полезным включить подобный файл @file{guix.scm} в " "корень дерева своего проекта исходного кода, и он будет использоваться для " "тестирования разработки снепшотов и для создания воспроизводимого окружения " "разработки (@pxref{Invoking guix environment})." #. type: table #: guix-git/doc/guix.texi:3243 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-представление одного или нескольких " "определений пакетов. Запуск @code{guix package -f} на файле @file{hello." "json} со следующим содержимым, установит пакет @code{greeter} после сборки " "@code{myhello}:" #. type: example #: guix-git/doc/guix.texi:3246 guix-git/doc/guix.texi:10800 #, no-wrap msgid "@verbatiminclude package-hello.json\n" msgstr "@verbatiminclude environment-gdb.scm\n" #. type: item #: guix-git/doc/guix.texi:3248 #, no-wrap msgid "--remove=@var{package} @dots{}" msgstr "--remove=@var{package} @dots{}" #. type: itemx #: guix-git/doc/guix.texi:3249 #, no-wrap msgid "-r @var{package} @dots{}" msgstr "-r @var{package} @dots{}" #. type: table #: guix-git/doc/guix.texi:3251 msgid "Remove the specified @var{package}s." msgstr "Удалить обозначенный пакет." #. type: table #: guix-git/doc/guix.texi:3256 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 "" "Касаемо @code{--install}, каждый пакет @var{package} может задавать номер " "версии и имя содержимого в добавлении к имени пакета. Например, @code{-r " "glibc:debug} удалит содержимое @code{debug} из @code{glibc}." #. type: item #: guix-git/doc/guix.texi:3257 #, no-wrap msgid "--upgrade[=@var{regexp} @dots{}]" msgstr "--upgrade[=@var{regexp} @dots{}]" #. type: itemx #: guix-git/doc/guix.texi:3258 #, no-wrap msgid "-u [@var{regexp} @dots{}]" msgstr "-u [@var{regexp} @dots{}]" #. type: cindex #: guix-git/doc/guix.texi:3259 #, no-wrap msgid "upgrading packages" msgstr "обновление пакетов" #. type: table #: guix-git/doc/guix.texi:3263 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}. Также смотрите опцию @code{--do-not-upgrade} ниже." #. type: table #: guix-git/doc/guix.texi:3268 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:3269 #, no-wrap msgid "package transformations, upgrades" msgstr "Параметры преобразования пакета" #. type: table #: guix-git/doc/guix.texi:3274 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:3277 #, 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:3282 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:3287 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:3290 #, no-wrap msgid "guix install @var{package}\n" msgstr "guix install @var{package}\n" #. type: item #: guix-git/doc/guix.texi:3292 #, no-wrap msgid "--do-not-upgrade[=@var{regexp} @dots{}]" msgstr "--do-not-upgrade[=@var{regexp} @dots{}]" #. type: table #: guix-git/doc/guix.texi:3297 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 "" "При совместном использовании с опцией @code{--upgrade} @emph{не} обновляет " "ни один пакет, чьё имя соответствует @var{regexp}. Например, обновить все " "пакеты в текущем профиле , кроме тех, которые содержат подстроку \"emacs\":" #. type: example #: guix-git/doc/guix.texi:3300 #, 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:3302 #, no-wrap msgid "profile-manifest" msgstr "profile-manifest" #. type: item #: guix-git/doc/guix.texi:3302 guix-git/doc/guix.texi:5766 #: guix-git/doc/guix.texi:6214 guix-git/doc/guix.texi:11898 #: guix-git/doc/guix.texi:13395 #, no-wrap msgid "--manifest=@var{file}" msgstr "--manifest=@var{file}" #. type: itemx #: guix-git/doc/guix.texi:3303 guix-git/doc/guix.texi:5767 #: guix-git/doc/guix.texi:6215 guix-git/doc/guix.texi:11899 #, no-wrap msgid "-m @var{file}" msgstr "-m @var{file}" #. type: cindex #: guix-git/doc/guix.texi:3304 #, no-wrap msgid "profile declaration" msgstr "описание профиля" #. type: cindex #: guix-git/doc/guix.texi:3305 #, no-wrap msgid "profile manifest" msgstr "манифест профиля" #. type: table #: guix-git/doc/guix.texi:3309 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 "" "Создаёт новую версию профиля из объекта манифеста, возвращаемого кодом " "Scheme в @var{file}. Этот параметр можно указывать несколько раз. В " "результате манифесты будут объединены в один." #. type: table #: guix-git/doc/guix.texi:3315 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{описать} содержимое профиля вместо того, чтобы " "собирать его последовательностью команд @code{--install} и других. " "Преимущество в том, что @var{file} может подчиняться контролю версиями, " "копироваться на другие машины, чтобы повторить такой же профиль и т.д." #. type: table #: guix-git/doc/guix.texi:3319 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:3320 #, no-wrap msgid "packages->manifest" msgstr "packages->manifest" #. type: lisp #: guix-git/doc/guix.texi:3323 #, 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:3329 #, 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" " ;; Use a specific package output.\n" " (list guile-2.0 \"debug\")))\n" #. type: findex #: guix-git/doc/guix.texi:3331 #, no-wrap msgid "specifications->manifest" msgstr "specifications->manifest" #. type: table #: guix-git/doc/guix.texi:3338 msgid "" "In this example we have to know which modules define the @code{emacs} and " "@code{guile-2.0} variables to provide the right @code{use-package-modules} " "line, which can be cumbersome. We can instead provide regular package " "specifications and let @code{specifications->manifest} look up the " "corresponding package objects, like this:" msgstr "" "В этом примере мыдолжны знать, какие модули содержат определения переменных " "@code{emacs} и @code{guile-2.0}, чтобы написать правильную строку @code{use-" "package-modules}, что может быть затруднительно. Вместо этого мы можем " "обозначить обычные спецификации пакетов и сделать, чтобы " "@code{specifications->manifest} искал соответствующие объекты пакетов так:" #. type: lisp #: guix-git/doc/guix.texi:3342 #, no-wrap msgid "" "(specifications->manifest\n" " '(\"emacs\" \"guile@@2.2\" \"guile@@2.2:debug\"))\n" msgstr "" "(specifications->manifest\n" " '(\"emacs\" \"guile@@2.2\" \"guile@@2.2:debug\"))\n" #. type: table #: guix-git/doc/guix.texi:3346 msgid "" "@xref{export-manifest, @option{--export-manifest}}, to learn how to obtain a " "manifest file from an existing profile." msgstr "" "@xref{export-manifest, @option{--export-manifest}}, чтобы узнать, как " "получить файл манифеста из существующего профиля." #. type: item #: guix-git/doc/guix.texi:3347 guix-git/doc/guix.texi:4454 #, no-wrap msgid "--roll-back" msgstr "--roll-back" #. type: cindex #: guix-git/doc/guix.texi:3348 guix-git/doc/guix.texi:4455 #: guix-git/doc/guix.texi:33878 guix-git/doc/guix.texi:36041 #, no-wrap msgid "rolling back" msgstr "откат" #. type: cindex #: guix-git/doc/guix.texi:3349 guix-git/doc/guix.texi:4456 #, no-wrap msgid "undoing transactions" msgstr "отменение транзакций" #. type: cindex #: guix-git/doc/guix.texi:3350 guix-git/doc/guix.texi:4457 #, no-wrap msgid "transactions, undoing" msgstr "транзакции, отмена" #. type: table #: guix-git/doc/guix.texi:3353 msgid "" "Roll back to the previous @dfn{generation} of the profile---i.e., undo the " "last transaction." msgstr "" "Откатиться до предыдущего @dfn{поколения} профиля, то есть отменить " "последнюю транзакцию." #. type: table #: guix-git/doc/guix.texi:3356 msgid "" "When combined with options such as @option{--install}, roll back occurs " "before any other actions." msgstr "" "При сочетании с опциеями как @code{--install}, откат выполняется до всех " "прочих действий." #. type: table #: guix-git/doc/guix.texi:3360 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{нулевое поколение}, которое не " "содержит файлы, кроме собственных метаданных." #. type: table #: guix-git/doc/guix.texi:3364 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:3365 guix-git/doc/guix.texi:4461 #, no-wrap msgid "--switch-generation=@var{pattern}" msgstr "--switch-generation=@var{pattern}" #. type: itemx #: guix-git/doc/guix.texi:3366 guix-git/doc/guix.texi:4462 #, no-wrap msgid "-S @var{pattern}" msgstr "-S @var{pattern}" #. type: cindex #: guix-git/doc/guix.texi:3367 guix-git/doc/guix.texi:3597 #: guix-git/doc/guix.texi:4463 guix-git/doc/guix.texi:33836 #, no-wrap msgid "generations" msgstr "поколения" #. type: table #: guix-git/doc/guix.texi:3369 guix-git/doc/guix.texi:4465 msgid "Switch to a particular generation defined by @var{pattern}." msgstr "Переключиться на определённое поколение, опрделённое @var{pattern}." #. type: table #: guix-git/doc/guix.texi:3375 guix-git/doc/guix.texi:4471 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} может быть либо номером поколения или числом с префиксом \"+\" " "или \"-\". Последнее означает сменить вперёд/назад на обозначенное число " "поколений. Например, если вы хотите вернуться к последнему поколению после " "@code{--roll-back}, используйте @code{--switch-generation=+1}." #. type: table #: guix-git/doc/guix.texi:3380 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 "" "Разница между @code{--roll-back} и @code{--switch-generation=-1} заключается " "в том, что @code{--switch-generation} не создаёт нулевое поколение, так что " "если заданное поколение не существует, текущее поколение не будет изменено." #. type: item #: guix-git/doc/guix.texi:3381 #, no-wrap msgid "--search-paths[=@var{kind}]" msgstr "--search-paths[=@var{kind}]" #. type: table #: guix-git/doc/guix.texi:3387 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. Это " "может понадобиться для использования набора установленных пакетов. Эти " "переменные окружения используются некоторыми установленными пакетами для " "поиска файлов." #. type: table #: guix-git/doc/guix.texi:3395 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." msgstr "" "Например, для GCC должны быть определены переменные окружения @code{CPATH} и " "@code{LIBRARY_PATH}, чтобы он мог искать заголовки и библиотеки в профиле " "пользователя (@pxref{Environment Variables,,, gcc, Using the GNU Compiler " "Collection (GCC)}). Если GCC и, скажем, библиотека C установлены в профиле, " "тогда @code{--search-paths} предложит установить эти переменные в " "@code{@var{profile}/include} и @code{@var{profile}/lib} соответственно." #. type: table #: guix-git/doc/guix.texi:3398 msgid "" "The typical use case is to define these environment variables in the shell:" msgstr "Обычный способ определить эти переменные окружения в оболочке:" #. type: example #: guix-git/doc/guix.texi:3401 #, no-wrap msgid "$ eval `guix package --search-paths`\n" msgstr "$ eval `guix package --search-paths`\n" #. type: table #: guix-git/doc/guix.texi:3407 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:3410 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:3415 #, 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:3420 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 "" "Последняя команда выше составляет отчёт о переменной @code{GUILE_LOAD_PATH}, " "даже если по отдельности ни @file{foo}, ни @file{bar} не предшествуют " "рекомендациям." #. type: cindex #: guix-git/doc/guix.texi:3422 #, no-wrap msgid "profile, choosing" msgstr "противоречеия профиля" #. type: item #: guix-git/doc/guix.texi:3423 guix-git/doc/guix.texi:4491 #: guix-git/doc/guix.texi:4820 #, no-wrap msgid "--profile=@var{profile}" msgstr "--profile=@var{profile}" #. type: itemx #: guix-git/doc/guix.texi:3424 guix-git/doc/guix.texi:4492 #: guix-git/doc/guix.texi:4821 #, no-wrap msgid "-p @var{profile}" msgstr "-p @var{profile}" #. type: table #: guix-git/doc/guix.texi:3426 msgid "Use @var{profile} instead of the user's default profile." msgstr "" "Использовать @var{profile} вместо пользовательского профиля по умолчанию." #. type: table #: guix-git/doc/guix.texi:3431 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} будет простой символической ссылкой (``символическая " "ссылка''), указывающей на текущий профиль, в котором установлены пакеты:" #. type: example #: guix-git/doc/guix.texi:3437 #, 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" "Hello, world!\n" #. type: table #: guix-git/doc/guix.texi:3441 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:3444 #, 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:3446 #, no-wrap msgid "--list-profiles" msgstr "--list-profiles" #. type: table #: guix-git/doc/guix.texi:3448 msgid "List all the user's profiles:" msgstr "Перечислить все профили пользователя:" #. type: example #: guix-git/doc/guix.texi:3455 #, 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:3458 msgid "When running as root, list all the profiles of all the users." msgstr "" "При запуске от имени root будут перечислены все профили всех пользователей." #. type: cindex #: guix-git/doc/guix.texi:3459 #, no-wrap msgid "collisions, in a profile" msgstr "противоречия, в профиле" #. type: cindex #: guix-git/doc/guix.texi:3460 #, no-wrap msgid "colliding packages in profiles" msgstr "соперничающие пакеты в профиле" #. type: cindex #: guix-git/doc/guix.texi:3461 #, no-wrap msgid "profile collisions" msgstr "противоречеия профиля" #. type: item #: guix-git/doc/guix.texi:3462 #, no-wrap msgid "--allow-collisions" msgstr "--allow-collisions" #. type: table #: guix-git/doc/guix.texi:3464 msgid "Allow colliding packages in the new profile. Use at your own risk!" msgstr "" "Разрешить соперничающие пакеты в новом профиле. Используйте на свой " "собственный страх и риск!" #. type: table #: guix-git/doc/guix.texi:3468 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{collisions} в профиле. Противоречия происходят, когда дви или более " "разных версии или варианта данного пакета присутсвуют в профиле." #. type: item #: guix-git/doc/guix.texi:3469 guix-git/doc/guix.texi:4534 #: guix-git/doc/guix.texi:6300 #, no-wrap msgid "--bootstrap" msgstr "--bootstrap" #. type: table #: guix-git/doc/guix.texi:3472 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:3478 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:3481 #, no-wrap msgid "--search=@var{regexp}" msgstr "--search=@var{regexp}" #. type: itemx #: guix-git/doc/guix.texi:3482 #, no-wrap msgid "-s @var{regexp}" msgstr "-s @var{regexp}" #. type: anchor{#1} #: guix-git/doc/guix.texi:3484 msgid "guix-search" msgstr "guix-search" #. type: cindex #: guix-git/doc/guix.texi:3484 #, no-wrap msgid "searching for packages" msgstr "поиск пакетов" #. type: table #: guix-git/doc/guix.texi:3490 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:3493 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:3499 #, 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:3503 #, 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:3507 #, 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:3511 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:3515 #, 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:3518 #, no-wrap msgid "" "name: gmp\n" "@dots{}\n" msgstr "" "name: gmp\n" "@dots{}\n" #. type: table #: guix-git/doc/guix.texi:3524 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:3529 #, no-wrap msgid "" "$ guix search '\\' game | recsel -p name\n" "name: gnubg\n" "@dots{}\n" msgstr "" "$ guix search '\\' game | recsel -p name\n" "name: gnubg\n" "@dots{}\n" #. type: table #: guix-git/doc/guix.texi:3535 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} мы получим пакеты программного обеспечения, " "которые работают с печатными платами (boards); удалив угловые скобки рядом с " "@code{board}, получим пакеты, которые также работают с клавиатурами " "(keyboards)." #. type: table #: guix-git/doc/guix.texi:3539 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 "" "А теперь более запутанный пример. Следующая команда ищет библиотеки " "криптографии, фильтрует библиотеки Haskel, Perl, Python и Ruby и печатает " "имена и краткие описания найденных пакетов:" #. type: example #: guix-git/doc/guix.texi:3543 #, 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:3548 msgid "" "@xref{Selection Expressions,,, recutils, GNU recutils manual}, for more " "information on @dfn{selection expressions} for @code{recsel -e}." msgstr "" "См. @xref{Selection Expressions,,, recutils, GNU recutils manual} для " "подробной информации о регуларяных выражениях @dfn{selection expressions} " "для @code{recsel -e}." #. type: item #: guix-git/doc/guix.texi:3549 #, no-wrap msgid "--show=@var{package}" msgstr "--show=@var{package}" #. type: table #: guix-git/doc/guix.texi:3553 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{Top, GNU recutils databases,, recutils, GNU recutils " "manual})." #. type: example #: guix-git/doc/guix.texi:3558 #, no-wrap msgid "" "$ guix package --show=python | recsel -p name,version\n" "name: python\n" "version: 2.7.6\n" "\n" msgstr "" "$ guix package --show=python | recsel -p name,version\n" "name: python\n" "version: 2.7.6\n" "\n" #. type: example #: guix-git/doc/guix.texi:3561 #, no-wrap msgid "" "name: python\n" "version: 3.3.5\n" msgstr "" "name: python\n" "version: 3.3.5\n" #. type: table #: guix-git/doc/guix.texi:3565 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:3569 #, no-wrap msgid "" "$ guix show python@@3.4 | recsel -p name,version\n" "name: python\n" "version: 3.4.3\n" msgstr "" "\"$ guix show python@@3.4 | recsel -p name,version\"\n" "\"name: python\"\n" "\"version: 3.4.3\"\n" #. type: item #: guix-git/doc/guix.texi:3573 #, no-wrap msgid "--list-installed[=@var{regexp}]" msgstr "--list-installed[=@var{regexp}]" #. type: itemx #: guix-git/doc/guix.texi:3574 #, no-wrap msgid "-I [@var{regexp}]" msgstr "-I [@var{regexp}]" #. type: table #: guix-git/doc/guix.texi:3578 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:3584 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 "" "Для каждого установленного пакета выводит следующие элементы, разделенные " "табуляцией (tab): имя пакета, строка версии, частью какого пакета является " "установленный пакет (например, @code{out} вывода по умолчанию включает " "@code{include} его заголовки т.д.), а также путь этого пакета на складе." #. type: item #: guix-git/doc/guix.texi:3585 #, no-wrap msgid "--list-available[=@var{regexp}]" msgstr "--list-available[=@var{regexp}]" #. type: itemx #: guix-git/doc/guix.texi:3586 #, no-wrap msgid "-A [@var{regexp}]" msgstr "-A [@var{regexp}]" #. type: table #: guix-git/doc/guix.texi:3590 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 Distribution}). Если задано @var{regexp}, выводит только " "установленные пакеты, чьё имя содержит @var{regexp}." #. type: table #: guix-git/doc/guix.texi:3594 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{Packages with Multiple Outputs}), а " "также расположение его определения в исходниках." #. type: item #: guix-git/doc/guix.texi:3595 guix-git/doc/guix.texi:4447 #, no-wrap msgid "--list-generations[=@var{pattern}]" msgstr "--list-generations[=@var{pattern}]" #. type: itemx #: guix-git/doc/guix.texi:3596 guix-git/doc/guix.texi:4448 #, no-wrap msgid "-l [@var{pattern}]" msgstr "-l [@var{pattern}]" #. type: table #: guix-git/doc/guix.texi:3602 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 "" "Вывести список поколений (generations) с датами их создания; для каждого " "поколения отобразить установленные пакеты, самый последний установленный " "пакет отобразать последним. Отметим, что нулевое поколение никогда не " "показывается." #. type: table #: guix-git/doc/guix.texi:3607 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:3610 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:3612 #, no-wrap msgid "@emph{Integers and comma-separated integers}. Both patterns denote" msgstr "@emph{Числа и числа, разделённые запятыми}. Оба паттерна обозначают" #. type: itemize #: guix-git/doc/guix.texi:3615 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:3618 msgid "" "And @option{--list-generations=1,8,2} outputs three generations in the " "specified order. Neither spaces nor trailing commas are allowed." msgstr "" "Опция @code{--list-generations=1,8,2} выводит три поколения в заданном " "пордке. Пробелы и запятые на конце запрещены." #. type: item #: guix-git/doc/guix.texi:3619 #, no-wrap msgid "@emph{Ranges}. @option{--list-generations=2..9} prints the" msgstr "@emph{Ranges}. @option{--list-generations=2..9} выводит" #. type: itemize #: guix-git/doc/guix.texi:3622 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:3626 msgid "" "It is also possible to omit the endpoint. For example, @option{--list-" "generations=2..}, returns all generations starting from the second one." msgstr "" "Также можно пропустить конечную точку. Например, @code{--list-" "generations=2..} возвращает все поколения, начиная со второго." #. type: item #: guix-git/doc/guix.texi:3627 #, no-wrap msgid "@emph{Durations}. You can also get the last @emph{N}@tie{}days, weeks," msgstr "@emph{Сроки}. Также можно задать последние @emph{N}@tie{}дней, недель" #. type: itemize #: guix-git/doc/guix.texi:3631 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 "" "или месяцев, указав число и первую букву срока (d,w,m). Например, @code{--" "list-generations=20d} отобразит список поколений старше 20 дней." #. type: item #: guix-git/doc/guix.texi:3633 guix-git/doc/guix.texi:4472 #, no-wrap msgid "--delete-generations[=@var{pattern}]" msgstr "--delete-generations[=@var{pattern}]" #. type: itemx #: guix-git/doc/guix.texi:3634 guix-git/doc/guix.texi:4473 #, no-wrap msgid "-d [@var{pattern}]" msgstr "-d [@var{pattern}]" #. type: table #: guix-git/doc/guix.texi:3637 guix-git/doc/guix.texi:4476 msgid "" "When @var{pattern} is omitted, delete all generations except the current one." msgstr "Если @var{pattern} пропущен, удалит все поголения, кроме текущего." #. type: table #: guix-git/doc/guix.texi:3643 guix-git/doc/guix.texi:4482 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 "" "Эта команда принимает такие же паттерны, как @option{--list-generations}. " "Если @var{pattern} задан, удалит соответствующие поколения. Если паттерн " "@var{pattern} задаёт срок, выбираются поколения @emph{старше} срока. " "Например, @code{--delete-generations=1m} удалит поколения, которые старше " "одного месяца." #. type: table #: guix-git/doc/guix.texi:3646 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:3649 guix-git/doc/guix.texi:4487 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:3650 #, no-wrap msgid "manifest, exporting" msgstr "манифест, экспорт" #. type: anchor{#1} #: guix-git/doc/guix.texi:3652 #, fuzzy msgid "export-manifest" msgstr "profile-manifest" #. type: item #: guix-git/doc/guix.texi:3652 #, fuzzy, no-wrap msgid "--export-manifest" msgstr "profile-manifest" #. type: table #: guix-git/doc/guix.texi:3655 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:3659 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:3664 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:3669 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:3670 #, no-wrap msgid "pinning, channel revisions of a profile" msgstr "закрепление, канальные ревизии профиля" #. type: item #: guix-git/doc/guix.texi:3671 #, no-wrap msgid "--export-channels" msgstr "%default-channels" #. type: table #: guix-git/doc/guix.texi:3675 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:3679 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:3687 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:3692 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:3699 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}). Однако, отметим, что трансформации " "пакетов теряются после обновлений; чтобы сохранить трансформации при " "обновлениях, нужно определить собственный вариант пакета в модуле Guile и " "добавить его в @code{GUIX_PACKAGE_PATH} (@pxref{Defining Packages})." #. type: cindex #: guix-git/doc/guix.texi:3704 #, no-wrap msgid "pre-built binaries" msgstr "собранные бинарники" #. type: Plain text #: guix-git/doc/guix.texi:3710 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{подстановками} (substitutes) --- это подстановки результатов локальных " "сборок. Часто скасивание подстановки намного быстрее, чем сборка пакетов " "локально." #. type: Plain text #: guix-git/doc/guix.texi:3715 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}). Конечно, обычно это собранные пакеты, но " "также архивы исходников, например, представляя собой результаты сборок " "дериваций, могут быть доступны в качестве подстановок." #. type: cindex #: guix-git/doc/guix.texi:3729 #, no-wrap msgid "build farm" msgstr "ферма сборки" #. type: Plain text #: guix-git/doc/guix.texi:3740 #, fuzzy #| msgid "" #| "The @code{@value{SUBSTITUTE-SERVER}} server is a front-end to an official " #| "build farm that builds packages from Guix continuously for some " #| "architectures, and makes them available as substitutes. This is the " #| "default source of substitutes; it 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})." 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}} представляет собой интерфейс " "официальной фермы сборки, которая последовательно собирает пакеты 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:3746 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:3755 #, fuzzy #| msgid "" #| "Substitutes from the official build farm 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." 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 (@pxref{GNU Distribution}). Однако они отключены " "по умолчанию при использовании Guix на чужом дистрибутиве, если конечно вы " "явно не включили их на одном из рекомендуемых шагов установки " "(@pxref{Installation}). Ниже объясняется, как включить или отключить " "подстановки с официальной фермы сборки; такая же процедура может также " "использоваться для включения подстановок с любого другого сервера " "подстановок." #. type: cindex #: guix-git/doc/guix.texi:3759 #, no-wrap msgid "security" msgstr "безопасность" #. type: cindex #: guix-git/doc/guix.texi:3761 #, no-wrap msgid "access control list (ACL), for substitutes" msgstr "список контроля доступом (ACL), для подстановок" #. type: cindex #: guix-git/doc/guix.texi:3762 #, no-wrap msgid "ACL (access control list), for substitutes" msgstr "ACL (список контроля доступом), для подстановок" #. type: Plain text #: guix-git/doc/guix.texi:3768 #, fuzzy #| msgid "" #| "To allow Guix to download substitutes from @code{@value{SUBSTITUTE-" #| "SERVER}} or a mirror thereof, you must add its 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 " #| "@code{@value{SUBSTITUTE-SERVER}} to not be compromised and to serve " #| "genuine substitutes." 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}} или зеркала, вы должны добавить его публичный ключ в список " "контроля доступа (ACL) импорта архивов, используя команду @command{guix " "archive} (@pxref{Invoking guix archive}). Это действие означает, что вы " "доверяете @code{@value{SUBSTITUTE-SERVER}}, что он не скомпрометирован и " "может давать подлинные подстановки." #. type: quotation #: guix-git/doc/guix.texi:3773 #, fuzzy #| msgid "" #| "If you are using Guix System, you can skip this section: Guix System " #| "authorizes substitutes from @code{@value{SUBSTITUTE-SERVER}} by default." 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 System, вы можете пропустить этот раздел: Guix " "System разрешает замену из @code{@value{SUBSTITUTE-SERVER}} по умолчанию." #. type: Plain text #: guix-git/doc/guix.texi:3781 #, fuzzy #| msgid "" #| "The public key for @code{@value{SUBSTITUTE-SERVER}} is installed along " #| "with Guix, in @code{@var{prefix}/share/guix/@value{SUBSTITUTE-SERVER}." #| "pub}, 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:" 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 "" "Публичный ключ для @code{@value{SUBSTITUTE-SERVER}} устанавливается вместе с " "Guix в @code{@var{prefix}/share/guix/@value{SUBSTITUTE-SERVER}.pub}, где " "@var{prefix} --- префикс установки Guix. Если вы установили Guix из " "исходников, проверьте подпись GPG @file{guix-@value{VERSION}.tar.gz}, где " "содержится файл публичного ключа. Затем можно выполнить примерно следующее:" #. type: example #: guix-git/doc/guix.texi:3785 #, fuzzy, no-wrap #| msgid "# guix archive --authorize < @var{prefix}/share/guix/@value{SUBSTITUTE-SERVER}.pub\n" 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}.pub\n" #. type: Plain text #: guix-git/doc/guix.texi:3789 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:3798 #, 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" "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" #. type: Plain text #: guix-git/doc/guix.texi:3802 msgid "to something like:" msgstr "на примерно следующий:" #. type: example #: guix-git/doc/guix.texi:3811 #, 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 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" #. type: Plain text #: guix-git/doc/guix.texi:3818 #, 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 "" "Это показывает, что подстановки из @code{@value{SUBSTITUTE-SERVER}} готовы к " "использованию и будут скачиваться, если это возможно, в будущих сборках." #. type: cindex #: guix-git/doc/guix.texi:3819 #, no-wrap msgid "substitutes, how to disable" msgstr "подстановки, как отключить" #. type: Plain text #: guix-git/doc/guix.texi:3825 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} с @code{--no-substitutes} (@pxref{Invoking guix-daemon}). Также он " "может отключиться временно путём указания опции @code{--no-substitutes} в " "@command{guix package}, @command{guix build} и других инструментах командной " "строки." #. type: cindex #: guix-git/doc/guix.texi:3829 #, no-wrap msgid "substitute servers, adding more" msgstr "Авторизация сервера подстановок" #. type: Plain text #: guix-git/doc/guix.texi:3836 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:3841 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-адресов серверов с заменителями, и он " "проверит их в указанном порядке. Вам также необходимо явно авторизовать " "открытые ключи серверов с заменителями, чтобы Guix принял заменители, " "которые они подписывают." #. type: Plain text #: guix-git/doc/guix.texi:3848 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:3854 #, 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}}. The resulting operating " #| "system configuration will look something like:" 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}}. Полученная конфигурация операционной " "системы будет выглядеть примерно так:" #. type: lisp #: guix-git/doc/guix.texi:3871 #, 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" " ;; 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" #. type: Plain text #: guix-git/doc/guix.texi:3878 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:3882 #, 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:3886 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:3895 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}. Добавьте параметр @option{--substitute-urls} команды @command " "{guix-daemon} при вызове в командной строке и перечислите интересующие URL-" "адреса (@pxref{daemon-substitute-urls, @code{guix-daemon --substitute-" "urls}}):" #. type: example #: guix-git/doc/guix.texi:3898 #, fuzzy, no-wrap msgid "@dots{} --substitute-urls='https://guix.example.org @value{SUBSTITUTE-URLS}'\n" msgstr "--substitute-urls=\"https://a.example.org https://b.example.org\"\n" #. type: enumerate #: guix-git/doc/guix.texi:3902 msgid "Restart the daemon. For systemd, it goes like this:" msgstr "Перезапустите демон. Пример для systemd:" #. type: example #: guix-git/doc/guix.texi:3906 #, 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:3910 msgid "Authorize the key of the new server (@pxref{Invoking guix archive}):" msgstr "Авторизуйте ключ нового сервера (@pxref{Invoking guix archive}):" #. type: example #: guix-git/doc/guix.texi:3913 #, 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:3917 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:3926 #, fuzzy #| msgid "" #| "Now you're all set! Substitutes will be preferably taken from " #| "@code{https://guix.example.org}, using @code{@value{SUBSTITUTE-SERVER}} " #| "as a fallback. 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." 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}} в качестве " "альтернативы. Конечно, вы можете указать столько серверов-заменителей, " "сколько захотите, но с оговоркой, что поиск замены может быть замедлен, если " "потребуется связаться со слишком большим количеством серверов." #. type: Plain text #: guix-git/doc/guix.texi:3930 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:3934 #, no-wrap msgid "digital signatures" msgstr "цифровые подписи" #. type: Plain text #: guix-git/doc/guix.texi:3938 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:3944 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:3947 #, 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:3958 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 содержит только ключ для @code{b.example.org}, и если вдруг @code{a." "example.org} предоставляет @emph{идентичные} подстановки, тогда Guix будет " "скачивать подстановки из @code{a.example.org}, потому что он идёт первым в " "списке и может рассматриваться как зеркало @code{b.example.org}. На практике " "независимые машины сборки обычно производят одинаковые бинарники благодаря " "воспроизводимым сборкам (смотрите ниже)." #. type: Plain text #: guix-git/doc/guix.texi:3965 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:3977 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. Можно установить переменную " "окружения @code{http_proxy} в окружении @command{guix-daemon}, чтобы она " "учитывалась при скачивании. Отметим, что значение @code{http_proxy} в " "окружении, в котором запускаются @command{guix build}, @command{guix " "package} и другие клиентские команды @emph{совершенно не даёт эффекта}." #. type: Plain text #: guix-git/doc/guix.texi:3986 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:4000 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 будет пытаться собрать деривацию " "локально в зависимости от того, задана или нет опция @code{--fallback} " "(@pxref{fallback-option,, common build option @code{--fallback}}). То есть, " "если @code{--fallback} пропущена, тогда локальная сборка не будет " "выполняться, а деривация будет рассматриваться как неудачная. Однако, если " "@code{--fallback} задана, тогда Guix попытается собрать деривацию локально, " "и успех или неудача деривации будет зависеть от успешной или неудачной " "процедуры локальной сборки. Отметим, что когда подстановки отключены или нет " "доступных подстановок для деривации, локальная сборка @emph{всегда} будет " "исполняться, вне зависимости от установки опции @code{--fallback}." #. type: Plain text #: guix-git/doc/guix.texi:4005 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:4009 #, no-wrap msgid "trust, of pre-built binaries" msgstr "доверие, собранным бинарникам" #. type: Plain text #: guix-git/doc/guix.texi:4019 #, 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 @code{@value{SUBSTITUTE-SERVER}} substitutes can " #| "be convenient, we encourage users to also build on their own, or even run " #| "their own build farm, such that @code{@value{SUBSTITUTE-SERVER}} is 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})." 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 "" "Сегодня индивидуальный контроль над работой за компьютером находится в " "заложниках у корпораций, организаций и групп, которые имеют достаточно силы " "и решимости разрушить инфраструктуру компьютерных сетей и внедрить " "уязвимости. Использование подстановок @code{@value{SUBSTITUTE-SERVER}} может " "быть удобным, мы также стимулируем пользователей собирать их у себя или даже " "устанавливать собственные фермы сборки, чтобы уменьшить зависимость от " "@code{@value{SUBSTITUTE-SERVER}}. Одним из способов помочь является " "публикация программного обеспечения, которое вы собираете, используя " "@command{guix publish}, тогда другие получат дополнительный сервер на выбор, " "чтобы скачивать подстановки (@pxref{Invoking guix publish})." #. type: Plain text #: guix-git/doc/guix.texi:4031 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}})." msgstr "" "Guix определяет цель максимизировать воспроизводимость сборок " "(@pxref{Features}). В большинстве случаев независимые сборки заданного " "пакета или деривации должны давать результаты, идентичные до бита. То есть, " "благодаря ряду независимых сборок пакета мы можем улучшить чистоту наших " "систем. Команда @command{guix challenge} должна помочь пользователям оценить " "серверы подстановок, а разработчикам - помочь выявить недетерминистические " "сборки пакетов (@pxref{Invoking guix challenge}). Подобным образом опция " "@option{--check} команды @command{guix build} даёт возможность пользователям " "проверить, яляются ли установленные ранее подстановки подлинными, выполнив " "их локальную сборку (@pxref{build-check, @command{guix build --check}})." #. type: Plain text #: guix-git/doc/guix.texi:4035 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 в будущем поддерживал публикации и запросы бинарников " "от/для пользователей в формате равноправного обмена (peer-to-peer). Если вы " "желаете обсудить этот проект, присоединяйтесь к нам @email{guix-devel@@gnu." "org}." #. type: cindex #: guix-git/doc/guix.texi:4039 #, no-wrap msgid "multiple-output packages" msgstr "пакеты со множественным результатом" #. type: cindex #: guix-git/doc/guix.texi:4040 #, no-wrap msgid "package outputs" msgstr "результаты пакета" #. type: cindex #: guix-git/doc/guix.texi:4041 #, no-wrap msgid "outputs" msgstr "результаты" #. type: Plain text #: guix-git/doc/guix.texi:4051 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 package -i glibc} это устанавливает результат по умолчанию; " "результат по умолчанию называется @code{выходом}, но его имя может " "пропускаться, как показано в этой команде. В этом частном случае результат " "по умолчанию для @code{glibc} содержит все файлы заголовков C, разделяемые " "библиотеки, статические библиотеки, документацию Info и другие поставляемые " "файлы." #. type: Plain text #: guix-git/doc/guix.texi:4059 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Мб связанной документации в виде страниц HTML. Чтобы " "экономить место, пользователи, которым это не нужно, документацию можно " "выделить в отдельный выход, называемый @code{doc}. Чтобы установить основной " "выход GLib, который содерит всё, кроме документации, можно запустить:" #. type: example #: guix-git/doc/guix.texi:4062 #, no-wrap msgid "guix install glib\n" msgstr "guix install glib\n" #. type: item #: guix-git/doc/guix.texi:4064 guix-git/doc/guix.texi:35224 #: guix-git/doc/guix.texi:35281 #, no-wrap msgid "documentation" msgstr "документация" #. type: Plain text #: guix-git/doc/guix.texi:4066 msgid "The command to install its documentation is:" msgstr "Команда для установки её документации:" #. type: example #: guix-git/doc/guix.texi:4069 #, no-wrap msgid "guix install glib:doc\n" msgstr "guix install glib:doc\n" #. type: Plain text #: guix-git/doc/guix.texi:4080 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:4088 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 packages 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{Installing Debugging Files}). Выходы " "пакетов представлены в третьей колонке вывода @command{guix package --list-" "available} (@pxref{Invoking guix package})." #. type: section #: guix-git/doc/guix.texi:4091 #, no-wrap msgid "Invoking @command{guix gc}" msgstr "Вызов @command{guix gc}" #. type: cindex #: guix-git/doc/guix.texi:4093 #, no-wrap msgid "garbage collector" msgstr "сборщик мусора" #. type: cindex #: guix-git/doc/guix.texi:4094 #, no-wrap msgid "disk space" msgstr "место на диске" #. type: Plain text #: guix-git/doc/guix.texi:4100 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{garbage-collected}). Команда @command{guix gc} позволяет " "пользователям непосредственно запустить сборщик мусора и восстановить место " "в директории @file{/gnu/store}. Это @emph{единственный} способ удалить файлы " "из @file{/gnu/store} --- удаление файлов вручную может поломать её " "безвозвратно!" #. type: Plain text #: guix-git/doc/guix.texi:4111 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{roots}): любой файл в " "@file{/gnu/store}, доступный из корня, рассматривается как живой " "(@dfn{live}) и не может быть удалён; любой другой файл рассматривается как " "мёртвый (@dfn{dead}) и может быть удалён. Набор корней сборщика мусора " "(сокращённо \"GC roots\") содержит профили пользователей по умолчанию; по " "умолчанию символические ссылки в @file{/var/guix/gcroots} представляют эти " "корни сборщика мусора. Новые корни могут добавляться, например, командой " "@command{guix build --root} (@pxref{Invoking guix build}). Команда " "@command{guix gc --list-roots} отображает их." #. type: Plain text #: guix-git/doc/guix.texi:4117 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{Invoking " "guix package})." #. type: Plain text #: guix-git/doc/guix.texi:4121 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{}Гб будет доступно на вашем диске, просто запустите:" #. type: example #: guix-git/doc/guix.texi:4124 #, no-wrap msgid "guix gc -F 5G\n" msgstr "guix gc -F 5G\n" #. type: Plain text #: guix-git/doc/guix.texi:4133 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{Scheduled Job Execution}, чтобы узнать, как добавить такую задачу). " "Запуск @command{guix gc} без аргументов соберёт столько мусора, сколько " "возможно, но это часто не удобно: можно обнаружить, что придётся заново " "собирать или скачивать программы, \"убитые\" сборщиком мусора, хотя они " "необходимы для сборки другого софта, например, это касается инструментов " "компилятора." #. type: Plain text #: guix-git/doc/guix.texi:4139 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} предоставляет три способа взаимодействия: может " "использоваться для сборки мусора (garbage-collect) любых мёртвых файлов (по " "умолчанию), для удаления конкретных файлов (опция @code{--delete}), для " "вывода информации сборщика мусора, а также для более изощрённых запросов. " "Опции сборщика мусора:" #. type: item #: guix-git/doc/guix.texi:4141 #, no-wrap msgid "--collect-garbage[=@var{min}]" msgstr "--collect-garbage[=@var{min}]" #. type: itemx #: guix-git/doc/guix.texi:4142 #, no-wrap msgid "-C [@var{min}]" msgstr "-C [@var{min}]" #. type: table #: guix-git/doc/guix.texi:4146 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:4151 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{Block size, size specifications,, coreutils, GNU Coreutils})." #. type: table #: guix-git/doc/guix.texi:4153 msgid "When @var{min} is omitted, collect all the garbage." msgstr "Если @var{min} пропущено, собрать весь мусор." #. type: item #: guix-git/doc/guix.texi:4154 #, no-wrap msgid "--free-space=@var{free}" msgstr "--free-space=@var{free}" #. type: itemx #: guix-git/doc/guix.texi:4155 #, no-wrap msgid "-F @var{free}" msgstr "-F @var{free}" #. type: table #: guix-git/doc/guix.texi:4159 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:4162 msgid "" "When @var{free} or more is already available in @file{/gnu/store}, do " "nothing and exit immediately." msgstr "" "Когда @var{free} или более места стало свободно в @file{/gnu/store}, ничего " "не делать и немедленно выйти." #. type: item #: guix-git/doc/guix.texi:4163 #, no-wrap msgid "--delete-generations[=@var{duration}]" msgstr "--delete-generations[=@var{duration}]" #. type: itemx #: guix-git/doc/guix.texi:4164 #, no-wrap msgid "-d [@var{duration}]" msgstr "-d [@var{duration}]" #. type: table #: guix-git/doc/guix.texi:4168 msgid "" "Before starting the garbage collection process, delete all the generations " "older than @var{duration}, for all the user profiles; when run as root, this " "applies to all the profiles @emph{of all the users}." msgstr "" "Перед запуском сборщика мусора удалить все поколения, старше @var{duration}, " "для всех пользовательских профилей; если запускать от root, это применяется " "для всех профилей @emph{всех пользователей}." #. type: table #: guix-git/doc/guix.texi:4172 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:4175 #, 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:4177 #, no-wrap msgid "--delete" msgstr "--delete" #. type: itemx #: guix-git/doc/guix.texi:4178 #, no-wrap msgid "-D" msgstr "-D" #. type: table #: guix-git/doc/guix.texi:4182 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 "" "Попытаться удалить все файлы и директории склада, приведённые в аргументах. " "Это завершается с ошибкой, если какие-либо файлы не присутствуют на складе, " "или если они ещё живы (live)." #. type: item #: guix-git/doc/guix.texi:4183 #, no-wrap msgid "--list-failures" msgstr "--list-failures" #. type: table #: guix-git/doc/guix.texi:4185 msgid "List store items corresponding to cached build failures." msgstr "" "Вывести список элементов склада, которые относятся к кешированным неудачным " "сборкам." #. type: table #: guix-git/doc/guix.texi:4189 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{Invoking guix-daemon, @option{--cache-failures}})." #. type: item #: guix-git/doc/guix.texi:4190 #, no-wrap msgid "--list-roots" msgstr "--list-roots" #. type: table #: guix-git/doc/guix.texi:4193 msgid "" "List the GC roots owned by the user; when run as root, list @emph{all} the " "GC roots." msgstr "" "Вывести список корней сборщика мусора (GC roots), которыми владеет " "пользователь; при запуске от root, выводит список @emph{всех} корней " "сборщика мусора." #. type: item #: guix-git/doc/guix.texi:4194 #, no-wrap msgid "--list-busy" msgstr "--list-busy" #. type: table #: guix-git/doc/guix.texi:4197 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:4198 #, no-wrap msgid "--clear-failures" msgstr "--clear-failures" #. type: table #: guix-git/doc/guix.texi:4200 msgid "Remove the specified store items from the failed-build cache." msgstr "Удалить заданные элементы склада из кеша неудачных сборок." #. type: table #: guix-git/doc/guix.texi:4203 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:4204 #, no-wrap msgid "--list-dead" msgstr "--list-dead" #. type: table #: guix-git/doc/guix.texi:4207 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:4208 #, no-wrap msgid "--list-live" msgstr "--list-live" #. type: table #: guix-git/doc/guix.texi:4210 msgid "Show the list of live store files and directories." msgstr "Вывести список живых файлов и директорий склада." #. type: Plain text #: guix-git/doc/guix.texi:4214 msgid "In addition, the references among existing store files can be queried:" msgstr "" "В дополнение можно запросить связи между существующими файлами на складе:" #. type: item #: guix-git/doc/guix.texi:4217 #, no-wrap msgid "--references" msgstr "--references" #. type: itemx #: guix-git/doc/guix.texi:4218 #, no-wrap msgid "--referrers" msgstr "--referrers" #. type: cindex #: guix-git/doc/guix.texi:4219 guix-git/doc/guix.texi:12465 #, no-wrap msgid "package dependencies" msgstr "зависимости пакетов" #. type: table #: guix-git/doc/guix.texi:4222 msgid "" "List the references (respectively, the referrers) of store files given as " "arguments." msgstr "" "Вывести список связанных (обязательно, ссылающихся) файлов на складе с " "указанными аргументами." #. type: item #: guix-git/doc/guix.texi:4223 #, no-wrap msgid "--requisites" msgstr "--requisites" #. type: itemx #: guix-git/doc/guix.texi:4224 guix-git/doc/guix.texi:6100 #, no-wrap msgid "-R" msgstr "-R" #. type: item #: guix-git/doc/guix.texi:4225 guix-git/doc/guix.texi:12321 #: guix-git/doc/guix.texi:12349 guix-git/doc/guix.texi:12430 #, no-wrap msgid "closure" msgstr "конвейер" #. type: table #: guix-git/doc/guix.texi:4230 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:4234 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{Invoking guix size} для информации об инструменте профилирования " "конвейера для элемента. См. @xref{Invoking guix graph} для информации об " "инструменте визуализации графа связей." #. type: item #: guix-git/doc/guix.texi:4235 #, no-wrap msgid "--derivers" msgstr "--derivers" #. type: item #: guix-git/doc/guix.texi:4236 guix-git/doc/guix.texi:6414 #: guix-git/doc/guix.texi:12184 guix-git/doc/guix.texi:12574 #, no-wrap msgid "derivation" msgstr "деривация" #. type: table #: guix-git/doc/guix.texi:4239 msgid "" "Return the derivation(s) leading to the given store items " "(@pxref{Derivations})." msgstr "" "Вернуть деривацию(-ии), производящие данные элементы склада " "(@pxref{Derivations})." #. type: table #: guix-git/doc/guix.texi:4241 msgid "For example, this command:" msgstr "Например, эта команда:" #. type: example #: guix-git/doc/guix.texi:4244 #, 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:4249 msgid "" "returns the @file{.drv} file(s) leading to the @code{emacs} package " "installed in your profile." msgstr "" "возвращает файл(ы) @file{.drv}, которые произвели пакет @code{emacs}, " "установленный в вашем профиле." #. type: table #: guix-git/doc/guix.texi:4253 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:4257 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:4260 #, no-wrap msgid "--verify[=@var{options}]" msgstr "--verify[=@var{options}]" #. type: cindex #: guix-git/doc/guix.texi:4261 #, no-wrap msgid "integrity, of the store" msgstr "целостность, склада" #. type: cindex #: guix-git/doc/guix.texi:4262 #, no-wrap msgid "integrity checking" msgstr "проверка целостности" #. type: table #: guix-git/doc/guix.texi:4264 msgid "Verify the integrity of the store." msgstr "Проверить целостность склада." #. type: table #: guix-git/doc/guix.texi:4267 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:4270 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:4276 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:4277 #, no-wrap msgid "repairing the store" msgstr "восстановление склада" #. type: cindex #: guix-git/doc/guix.texi:4278 guix-git/doc/guix.texi:10950 #, no-wrap msgid "corruption, recovering from" msgstr "разрушение, его восстановление" #. type: table #: guix-git/doc/guix.texi:4286 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:4287 #, no-wrap msgid "--optimize" msgstr "--optimize" #. type: table #: guix-git/doc/guix.texi:4291 msgid "" "Optimize the store by hard-linking identical files---this is " "@dfn{deduplication}." msgstr "" "Оптимизировать склад с помощью жёстких ссылок на идентичные файлы --- это " "@dfn{дедупликация}." #. type: table #: guix-git/doc/guix.texi:4297 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 "" "Демон выполняет дедупликацию после каждой успешной сборки или импорта " "архива, если конечно оно не было запущено с @code{--disable-deduplication} " "(@pxref{Invoking guix-daemon, @code{--disable-deduplication}}). Так что эта " "опция особенно важна, если демон запущено с @code{--disable-deduplication}." #. type: section #: guix-git/doc/guix.texi:4301 #, no-wrap msgid "Invoking @command{guix pull}" msgstr "Вызов @command{guix pull}" #. type: cindex #: guix-git/doc/guix.texi:4303 #, no-wrap msgid "upgrading Guix" msgstr "обновление версии Guix" #. type: cindex #: guix-git/doc/guix.texi:4304 #, no-wrap msgid "updating Guix" msgstr "обновление Guix" #. type: command{#1} #: guix-git/doc/guix.texi:4305 #, no-wrap msgid "guix pull" msgstr "guix pull" #. type: cindex #: guix-git/doc/guix.texi:4306 #, no-wrap msgid "pull" msgstr "получение" #. type: cindex #: guix-git/doc/guix.texi:4307 #, no-wrap msgid "security, @command{guix pull}" msgstr "sudo vs. @command{guix pull}" #. type: cindex #: guix-git/doc/guix.texi:4308 #, no-wrap msgid "authenticity, of code obtained with @command{guix pull}" msgstr "перемещаемые бинарники, с @command{guix pack}" #. type: Plain text #: guix-git/doc/guix.texi:4318 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, " "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, Git}, репозитория GNU@tie{}Guix по умолчанию, " "хотя это можно поменять." #. type: Plain text #: guix-git/doc/guix.texi:4321 msgid "" "Specifically, @command{guix pull} downloads code from the @dfn{channels} " "(@pxref{Channels}) specified by one of the followings, in this order:" msgstr "" "В частности, @command{guix pull} загружает код из @dfn{channel} " "(@pxref{Channels}), указанного одним из следующих способов, в следующем " "порядке:" #. type: enumerate #: guix-git/doc/guix.texi:4325 msgid "the @option{--channels} option;" msgstr "опция @option{--channels};" #. type: enumerate #: guix-git/doc/guix.texi:4327 msgid "the user's @file{~/.config/guix/channels.scm} file;" msgstr "пользовательский файл @file{~/.config/guix/channels.scm};" #. type: enumerate #: guix-git/doc/guix.texi:4329 msgid "the system-wide @file{/etc/guix/channels.scm} file;" msgstr "общесистемный файл @file{/etc/guix/channels.scm} file;" #. type: enumerate #: guix-git/doc/guix.texi:4332 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:4339 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:4345 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 "" "Любой пользователь может обновить свою копию Guix, используя @command{guix " "pull}, эффект коснётся только пользователя, который запустил @command{guix " "pull}. Например, если пользователь @code{root} запускает @command{guix " "pull}, это не имеет эффекта на версию Guix, которую видит @code{alice} sees, " "и наоборот." #. type: Plain text #: guix-git/doc/guix.texi:4351 msgid "" "The result of running @command{guix pull} is a @dfn{profile} available under " "@file{~/.config/guix/current} containing the latest Guix. Thus, make sure " "to add it to the beginning of your search path so that you use the latest " "version, and similarly for the Info manual (@pxref{Documentation}):" msgstr "" "Результат запуска @command{guix pull} --- это профиль @dfn{profile}, " "доступный в @file{~/.config/guix/current}, содержащий последний Guix. Так " "что обязательно добавьте этот адрес первым в пути поиска, чтобы использовать " "последнюю версию, а также для руководства Info (@pxref{Documentation}):" #. type: example #: guix-git/doc/guix.texi:4355 #, no-wrap msgid "" "export PATH=\"$HOME/.config/guix/current/bin:$PATH\"\n" "export INFOPATH=\"$HOME/.config/guix/current/share/info:$INFOPATH\"\n" msgstr "" "export PATH=\"$HOME/.config/guix/current/bin:$PATH\"\n" "export INFOPATH=\"$HOME/.config/guix/current/share/info:$INFOPATH\"\n" #. type: Plain text #: guix-git/doc/guix.texi:4359 msgid "" "The @option{--list-generations} or @option{-l} option lists past generations " "produced by @command{guix pull}, along with details about their provenance:" msgstr "" "Опция @code{--list-generations} или @code{-l} выводит список последних " "поколений, поставленных @command{guix pull}, вместе с деталями об их " "происхождении:" #. type: example #: guix-git/doc/guix.texi:4367 #, 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" "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" #. type: example #: guix-git/doc/guix.texi:4377 #, 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" " 2 new packages: keepalived, libnfnetlink\n" " 6 packages upgraded: emacs-nix-mode@@2.0.4,\n" " guile2.0-guix@@0.14.0-12.77a1aac, guix@@0.14.0-12.77a1aac,\n" " heimdal@@7.5.0, milkytracker@@1.02.00, nix@@2.0.4\n" "\n" msgstr "" "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" " 2 new packages: keepalived, libnfnetlink\n" " 6 packages upgraded: emacs-nix-mode@@2.0.4,\n" " guile2.0-guix@@0.14.0-12.77a1aac, guix@@0.14.0-12.77a1aac,\n" " heimdal@@7.5.0, milkytracker@@1.02.00, nix@@2.0.4\n" "\n" #. type: example #: guix-git/doc/guix.texi:4385 #, 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" " 28 new packages: emacs-helm-ls-git, emacs-helm-mu, @dots{}\n" " 69 packages upgraded: borg@@1.1.6, cheese@@3.28.0, @dots{}\n" msgstr "" "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" " 28 new packages: emacs-helm-ls-git, emacs-helm-mu, @dots{}\n" " 69 packages upgraded: borg@@1.1.6, cheese@@3.28.0, @dots{}\n" #. type: Plain text #: guix-git/doc/guix.texi:4389 msgid "" "@xref{Invoking guix describe, @command{guix describe}}, for other ways to " "describe the current status of Guix." msgstr "" "Смотрите @xref{Invoking guix describe, @command{guix describe}}, для " "информации о других способах получить информацию о текущем статусе Guix." #. type: Plain text #: guix-git/doc/guix.texi:4394 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{Invoking guix package}). " "Так что можно вывести список поколений, откатиться до предыдущего поколения, " "то есть до предыдущего Guix, и так далее:" #. type: example #: guix-git/doc/guix.texi:4400 #, 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 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" #. type: Plain text #: guix-git/doc/guix.texi:4404 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{Invoking guix " "package}), чтобы управлять профилем, называя его явно:" #. type: example #: guix-git/doc/guix.texi:4409 #, 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" "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" #. type: Plain text #: guix-git/doc/guix.texi:4413 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:4415 guix-git/doc/guix.texi:4573 #, no-wrap msgid "--url=@var{url}" msgstr "--url=@var{url}" #. type: itemx #: guix-git/doc/guix.texi:4416 guix-git/doc/guix.texi:4574 #, no-wrap msgid "--commit=@var{commit}" msgstr "--commit=@var{commit}" #. type: itemx #: guix-git/doc/guix.texi:4417 guix-git/doc/guix.texi:4575 #, no-wrap msgid "--branch=@var{branch}" msgstr "--branch=@var{branch}" #. type: table #: guix-git/doc/guix.texi:4421 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 @var{branch}." msgstr "" "Скачать код канала @code{guix} из указанного @var{url}, относящийся к " "обозначенному коммиту @var{commit} (корректный ID коммита Git, " "представленный в виде шестнадцатеричной строки), или ветке @var{branch}." #. type: cindex #: guix-git/doc/guix.texi:4422 guix-git/doc/guix.texi:5019 #, no-wrap msgid "@file{channels.scm}, configuration file" msgstr "@file{channels.scm}, configuration file" #. type: cindex #: guix-git/doc/guix.texi:4423 guix-git/doc/guix.texi:5020 #, no-wrap msgid "configuration file for channels" msgstr "конфигурационный файл для каналов" #. type: table #: guix-git/doc/guix.texi:4427 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:4428 guix-git/doc/guix.texi:4580 #, no-wrap msgid "--channels=@var{file}" msgstr "--channels=@var{file}" #. type: itemx #: guix-git/doc/guix.texi:4429 guix-git/doc/guix.texi:4581 #, no-wrap msgid "-C @var{file}" msgstr "-C @var{file}" #. type: table #: guix-git/doc/guix.texi:4435 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}. @var{file} должен содержать код Scheme, который определяет " "список объектов \"канал\". См. @xref{Channels} для подробной информации." #. type: cindex #: guix-git/doc/guix.texi:4436 #, no-wrap msgid "channel news" msgstr "каналы" #. type: item #: guix-git/doc/guix.texi:4437 #, no-wrap msgid "--news" msgstr "--news" #. type: itemx #: guix-git/doc/guix.texi:4438 guix-git/doc/guix.texi:5846 #: guix-git/doc/guix.texi:34170 #, no-wrap msgid "-N" msgstr "-N" #. type: table #: guix-git/doc/guix.texi:4442 msgid "" "Display the list of packages added or upgraded since the previous " "generation, as well as, occasionally, news written by channel authors for " "their users (@pxref{Channels, Writing Channel News})." msgstr "" "Отображение списка пакетов, добавленных или обновленных со времени " "предыдущего поколения, а также, иногда, новостей, написанных авторами " "каналов для своих пользователей (@pxref{Channels, Writing Channel News})." #. type: table #: guix-git/doc/guix.texi:4446 msgid "" "The package information is the same as displayed upon @command{guix pull} " "completion, but without ellipses; it is also similar to the output of " "@command{guix pull -l} for the last generation (see below)." msgstr "" "Это та же информация, которая отображается по завершении @command{guix " "pull}, но без эллипсов. Это также совпадает с выводом @command{guix pull -l} " "для последнего поколения (смотрите ниже)." #. type: table #: guix-git/doc/guix.texi:4453 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:4460 msgid "" "Roll back to the previous @dfn{generation} of @file{~/.config/guix/" "current}---i.e., undo the last transaction." msgstr "" "Откатиться до предыдущего @dfn{поколения} профиля, то есть отменить " "последнюю транзакцию." #. type: table #: guix-git/doc/guix.texi:4484 msgid "If the current generation matches, it is @emph{not} deleted." msgstr "" "Если текущее поколение попадает под условия паттерна, оно не будет удалено. " "А также нулевое поокление никогда не удаляется." #. type: table #: guix-git/doc/guix.texi:4490 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:4494 msgid "Use @var{profile} instead of @file{~/.config/guix/current}." msgstr "" "Использовать профиль @var{profile} вместо @file{~/.config/guix/current}." #. type: item #: guix-git/doc/guix.texi:4495 guix-git/doc/guix.texi:10340 #, no-wrap msgid "--dry-run" msgstr "--dry-run" #. type: itemx #: guix-git/doc/guix.texi:4496 guix-git/doc/guix.texi:10341 #: guix-git/doc/guix.texi:12303 #, no-wrap msgid "-n" msgstr "-n" #. type: table #: guix-git/doc/guix.texi:4499 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:4500 guix-git/doc/guix.texi:34189 #, no-wrap msgid "--allow-downgrades" msgstr "--allow-downgrades" #. type: table #: guix-git/doc/guix.texi:4503 msgid "" "Allow pulling older or unrelated revisions of channels than those currently " "in use." msgstr "" "Разрешить загружать более старые или несвязанные версии каналов, чем те, " "которые используются в настоящее время." #. type: cindex #: guix-git/doc/guix.texi:4504 #, no-wrap msgid "downgrade attacks, protection against" msgstr "атаки на понижение версии, защита от" #. type: table #: guix-git/doc/guix.texi:4509 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:4513 guix-git/doc/guix.texi:34203 msgid "" "Make sure you understand its security implications before using @option{--" "allow-downgrades}." msgstr "" "Прежде чем использовать @option{--allow-downgrades}, убедитесь, что вы " "понимаете его последствия для безопасности." #. type: item #: guix-git/doc/guix.texi:4515 #, no-wrap msgid "--disable-authentication" msgstr "--disable-authentication" #. type: table #: guix-git/doc/guix.texi:4517 msgid "Allow pulling channel code without authenticating it." msgstr "Разрешить загрузку канала без его аутентификации." #. type: cindex #: guix-git/doc/guix.texi:4518 guix-git/doc/guix.texi:5165 #, no-wrap msgid "authentication, of channel code" msgstr "аутентификация для проверки Guix" #. type: table #: guix-git/doc/guix.texi:4523 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:4527 msgid "" "Make sure you understand its security implications before using @option{--" "disable-authentication}." msgstr "" "Прежде чем использовать @option{--disable-authentication}, убедитесь, что вы " "понимаете его последствия для безопасности." #. type: itemx #: guix-git/doc/guix.texi:4530 guix-git/doc/guix.texi:5829 #: guix-git/doc/guix.texi:6229 guix-git/doc/guix.texi:10892 #: guix-git/doc/guix.texi:12448 guix-git/doc/guix.texi:12713 #: guix-git/doc/guix.texi:13390 guix-git/doc/guix.texi:34118 #, no-wrap msgid "-s @var{system}" msgstr "-s @var{system}" #. type: table #: guix-git/doc/guix.texi:4533 guix-git/doc/guix.texi:6232 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:4537 msgid "" "Use the bootstrap Guile to build the latest Guix. This option is only " "useful to Guix developers." msgstr "" "Использовать бутстрап Guile для сорки последнего Guix. Эта опция полезна " "только для разработчиков." #. type: Plain text #: guix-git/doc/guix.texi:4543 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:4546 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:4548 #, no-wrap msgid "Invoking @command{guix time-machine}" msgstr "Запуск @command{guix time-machine}" #. type: command{#1} #: guix-git/doc/guix.texi:4550 #, no-wrap msgid "guix time-machine" msgstr "guix time-machine" #. type: cindex #: guix-git/doc/guix.texi:4551 guix-git/doc/guix.texi:5123 #, no-wrap msgid "pinning, channels" msgstr "связывание, каналы" #. type: cindex #: guix-git/doc/guix.texi:4552 guix-git/doc/guix.texi:4734 #: guix-git/doc/guix.texi:5124 #, no-wrap msgid "replicating Guix" msgstr "копирование Guix" #. type: cindex #: guix-git/doc/guix.texi:4553 guix-git/doc/guix.texi:5125 #, no-wrap msgid "reproducibility, of Guix" msgstr "воспроизводимость, Guix" #. type: Plain text #: guix-git/doc/guix.texi:4561 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:4563 guix-git/doc/guix.texi:5578 #: guix-git/doc/guix.texi:6352 guix-git/doc/guix.texi:10137 #: guix-git/doc/guix.texi:10260 guix-git/doc/guix.texi:11183 #: guix-git/doc/guix.texi:11260 guix-git/doc/guix.texi:12278 #: guix-git/doc/guix.texi:12771 guix-git/doc/guix.texi:13144 #: guix-git/doc/guix.texi:13233 guix-git/doc/guix.texi:13272 #: guix-git/doc/guix.texi:13369 msgid "The general syntax is:" msgstr "Основной синтаксис:" #. type: example #: guix-git/doc/guix.texi:4566 #, 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:4571 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{Invoking guix " "pull}):" #. type: table #: guix-git/doc/guix.texi:4579 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 " "@var{branch}." msgstr "" "Скачать код канала @code{guix} из указанного @var{url}, относящийся к " "обозначенному коммиту @var{commit} (корректный ID коммита Git, " "представленный в виде шестнадцатеричной строки), или ветке @var{branch}." #. type: table #: guix-git/doc/guix.texi:4585 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} вместо @file{~/.config/guix/" "channels.scm}. @var{file} должен содержать код Scheme, который определяет " "список объектов \"канал\". См. @xref{Channels} для подробной информации." #. type: Plain text #: guix-git/doc/guix.texi:4589 msgid "" "As for @command{guix pull}, the absence of any options means that the latest " "commit on the master branch will be used. The command" msgstr "" "Что касается @command{guix pull}, то отсутствие каких-либо опций означает, " "что будет использоваться последний коммит в основной ветке. Команда" #. type: example #: guix-git/doc/guix.texi:4592 #, no-wrap msgid "guix time-machine -- build hello\n" msgstr "guix time-machine -- build hello\n" #. type: Plain text #: guix-git/doc/guix.texi:4597 msgid "" "will thus build the package @code{hello} as defined in the master branch, " "which is in general a newer revision of Guix than you have installed. Time " "travel works in both directions!" msgstr "" "таким образом, мы соберем пакет @code{hello}, как определено в основной " "ветке, которая, как правило, является более новой версией Guix, чем вы " "установили. Путешествие во времени работает в обоих направлениях!" #. type: Plain text #: guix-git/doc/guix.texi:4601 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 archive} автоматически " "соберёт их. Процесс сборки может контролироваться обычными опциями сборки " "(@pxref{Common Build Options})." #. type: quotation #: guix-git/doc/guix.texi:4609 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:4611 guix-git/doc/guix.texi:10174 #, no-wrap msgid "inferiors" msgstr "ранние версии" #. type: cindex #: guix-git/doc/guix.texi:4612 #, no-wrap msgid "composition of Guix revisions" msgstr "составление ревизий Guix" #. type: Plain text #: guix-git/doc/guix.texi:4617 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:4618 guix-git/doc/guix.texi:4683 #, no-wrap msgid "inferior packages" msgstr "пакеты ранних версий" #. type: Plain text #: guix-git/doc/guix.texi:4624 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, " "связанный с главным процессом Guix через REPL (@pxref{Invoking guix repl}). " "Модуль @code{(guix inferior)} позволяет запускать ранние версии и " "взаимодействовать с ними. Он также предоставляет высокоуровневый интерфейс " "для обзора и управления пакетами, которые поставляет ранняя версия --- " "@dfn{ранние версии пакетов}." #. type: Plain text #: guix-git/doc/guix.texi:4634 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{Invoking guix " "package}); 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} " "вместе с тем @code{guile-json}, который был определён в предыдущей ревизии " "Guix (может быть, потому что новый @code{guile-json} имеет несовместимый " "API, и вы хотите запустить ваш код со старым API). Чтобы это сделать, можно " "написать манифест для использования с @code{guix package --manifest} " "(@pxref{Invoking guix package}). В этом манифесте вы создадите описание " "ранней версии той предыдущей ревизии Guix, которая вас интересует, в которой " "вы ищете пакет @code{guile-json} ранней версии:" #. type: lisp #: guix-git/doc/guix.texi:4638 #, no-wrap msgid "" "(use-modules (guix inferior) (guix channels)\n" " (srfi srfi-1)) ;for 'first'\n" "\n" msgstr "" "(use-modules (guix inferior) (guix channels)\n" " (srfi srfi-1)) ;for 'first'\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:4647 #, 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 "" "(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" #. type: lisp #: guix-git/doc/guix.texi:4651 #, no-wrap msgid "" "(define inferior\n" " ;; An inferior representing the above revision.\n" " (inferior-for-channels channels))\n" "\n" msgstr "" "(define inferior\n" " ;; An inferior representing the above revision.\n" " (inferior-for-channels channels))\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:4657 #, 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 "" ";; 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" #. type: Plain text #: guix-git/doc/guix.texi:4662 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} может вызвать сборку канала, " "который вы обозначили ранее, и в результате это задействует раннюю версию. " "Последовательные запуски будут быстрее, потому что ревизия Guix будет " "кеширована." #. type: Plain text #: guix-git/doc/guix.texi:4665 msgid "" "The @code{(guix inferior)} module provides the following procedures to open " "an inferior:" msgstr "" "Модуль @code{(guix inferior)} предоставляет следующие процедуры для работы с " "ранними версиями:" #. type: deffn #: guix-git/doc/guix.texi:4666 #, no-wrap msgid "{Scheme Procedure} inferior-for-channels @var{channels} @" msgstr "{Процедура Scheme} inferior-for-channels @var{channels} @" #. type: deffn #: guix-git/doc/guix.texi:4671 msgid "" "[#:cache-directory] [#:ttl] 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 "" "[#:cache-directory] [#:ttl] Возвращает раннюю версию для списка каналов " "@var{channels}. Использует кеш в @var{cache-directory}, где компоненты " "могут восстанавливаться через @var{ttl} секунд. Эта процедура открывает " "новое соединение с демоном сборки." #. type: deffn #: guix-git/doc/guix.texi:4674 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:4676 #, no-wrap msgid "{Scheme Procedure} open-inferior @var{directory} @" msgstr "{Процедура Scheme} open-inferior @var{directory} @" #. type: deffn #: guix-git/doc/guix.texi:4681 msgid "" "[#:command \"bin/guix\"] 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 "" "[#:command \"bin/guix\"] Открывает раннюю версию Guix в @var{directory}, " "запустив repl @code{@var{directory}/@var{command}} или эквивалент. " "Возвращает @code{#f}, если ранняя версия не может быть запущена." #. type: Plain text #: guix-git/doc/guix.texi:4686 msgid "" "The procedures listed below allow you to obtain and manipulate inferior " "packages." msgstr "" "Процедуры, приведённые ниже, обеспечивают работу и управление ранними " "версиями пакетов." #. type: deffn #: guix-git/doc/guix.texi:4687 #, no-wrap msgid "{Scheme Procedure} inferior-packages @var{inferior}" msgstr "{Процедура Scheme} inferior-packages @var{inferior}" #. type: deffn #: guix-git/doc/guix.texi:4689 msgid "Return the list of packages known to @var{inferior}." msgstr "Возвращает список пакетов, относящихся к ранней версии @var{inferior}." #. type: deffn #: guix-git/doc/guix.texi:4691 #, no-wrap msgid "{Scheme Procedure} lookup-inferior-packages @var{inferior} @var{name} @" msgstr "{Процедура Scheme} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:4696 msgid "" "[@var{version}] 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{version}] Возвращает сортированный список пакетов ранней версии " "@var{inferior}, содержащих имя @var{name}, поздняя версия - вначале. Если " "версия @var{version} задана, возвращает только пакеты с номером версии, " "начинающейся с @var{version}." #. type: deffn #: guix-git/doc/guix.texi:4698 #, no-wrap msgid "{Scheme Procedure} inferior-package? @var{obj}" msgstr "{Процедура Scheme} inferior-package? @var{obj}" #. type: deffn #: guix-git/doc/guix.texi:4700 msgid "Return true if @var{obj} is an inferior package." msgstr "Возвращает true, если объект @var{obj} --- это пакет ранней версии." #. type: deffn #: guix-git/doc/guix.texi:4702 #, no-wrap msgid "{Scheme Procedure} inferior-package-name @var{package}" msgstr "{Процедура Scheme} inferior-package-name @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4703 #, no-wrap msgid "{Scheme Procedure} inferior-package-version @var{package}" msgstr "{Процедура Scheme} inferior-package-version @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4704 #, no-wrap msgid "{Scheme Procedure} inferior-package-synopsis @var{package}" msgstr "{Процедура Scheme} inferior-package-synopsis @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4705 #, no-wrap msgid "{Scheme Procedure} inferior-package-description @var{package}" msgstr "{Процедура Scheme} inferior-package-description @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4706 #, no-wrap msgid "{Scheme Procedure} inferior-package-home-page @var{package}" msgstr "{Процедура Scheme} inferior-package-home-page @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4707 #, no-wrap msgid "{Scheme Procedure} inferior-package-location @var{package}" msgstr "{Процедура Scheme} inferior-package-location @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4708 #, no-wrap msgid "{Scheme Procedure} inferior-package-inputs @var{package}" msgstr "{Процедура Scheme} inferior-package-inputs @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4709 #, no-wrap msgid "{Scheme Procedure} inferior-package-native-inputs @var{package}" msgstr "{Процедура Scheme} inferior-package-native-inputs @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4710 #, no-wrap msgid "{Scheme Procedure} inferior-package-propagated-inputs @var{package}" msgstr "{Процедура Scheme} inferior-package-propagated-inputs @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4711 #, no-wrap msgid "{Scheme Procedure} inferior-package-transitive-propagated-inputs @var{package}" msgstr "{Процедура Scheme} inferior-package-transitive-propagated-inputs @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4712 #, no-wrap msgid "{Scheme Procedure} inferior-package-native-search-paths @var{package}" msgstr "{Процедура Scheme} inferior-package-native-search-paths @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4713 #, no-wrap msgid "{Scheme Procedure} inferior-package-transitive-native-search-paths @var{package}" msgstr "{Процедура Scheme} inferior-package-transitive-native-search-paths @var{package}" #. type: deffnx #: guix-git/doc/guix.texi:4714 #, no-wrap msgid "{Scheme Procedure} inferior-package-search-paths @var{package}" msgstr "{Процедура Scheme} inferior-package-search-paths @var{package}" #. type: deffn #: guix-git/doc/guix.texi:4719 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:4729 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-expressions (@pxref{G-Expressions}). Они " "также прозрачно используются в процедуре @code{packages->manifest}, которая " "обычно используется в манифестах (@pxref{Invoking guix package, the " "@option{--manifest} option of @command{guix package}}). Так можно вставлять " "пакет ранней версии в принципе куда угодно, как если вставлять обычный " "пакет: в манифесты, в поле @code{packages} вашего объявления @code{operating-" "system} и т.д." #. type: section #: guix-git/doc/guix.texi:4731 #, no-wrap msgid "Invoking @command{guix describe}" msgstr "Вызов @command{guix describe}" #. type: Plain text #: guix-git/doc/guix.texi:4742 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:4746 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 describe} " "отображает канал(ы), из которых производилась сборка, включая URL и " "репозиториев и ID коммитов (@pxref{Channels}):" #. type: example #: guix-git/doc/guix.texi:4754 #, 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:4763 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}). Так как ID коммита Git выше " "ссылается однозначно на снимок Guix, эта информация --- всё, что нужно для " "описания используемой ревизии Guix и повторения её." #. type: Plain text #: guix-git/doc/guix.texi:4766 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:4779 #, 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:4788 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:4791 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:4793 guix-git/doc/guix.texi:6030 #: guix-git/doc/guix.texi:13502 #, no-wrap msgid "--format=@var{format}" msgstr "--format=@var{format}" #. type: itemx #: guix-git/doc/guix.texi:4794 guix-git/doc/guix.texi:6031 #: guix-git/doc/guix.texi:13503 #, no-wrap msgid "-f @var{format}" msgstr "-f @var{format}" #. type: table #: guix-git/doc/guix.texi:4796 guix-git/doc/guix.texi:13505 msgid "Produce output in the specified @var{format}, one of:" msgstr "Произвести вывод в указанном формате @var{format}, одном из:" #. type: item #: guix-git/doc/guix.texi:4798 #, no-wrap msgid "human" msgstr "human" #. type: table #: guix-git/doc/guix.texi:4800 msgid "produce human-readable output;" msgstr "произвести вывод для чтения человеком;" #. type: cindex #: guix-git/doc/guix.texi:4800 guix-git/doc/guix.texi:5018 #, no-wrap msgid "channels" msgstr "каналы" #. type: table #: guix-git/doc/guix.texi:4804 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:4804 #, no-wrap msgid "channels-sans-intro" msgstr "channels-sans-intro" #. type: table #: guix-git/doc/guix.texi:4810 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:4810 guix-git/doc/guix.texi:11478 #, no-wrap msgid "json" msgstr "json" #. type: cindex #: guix-git/doc/guix.texi:4811 #, no-wrap msgid "JSON" msgstr "JSON" #. type: table #: guix-git/doc/guix.texi:4813 msgid "produce a list of channel specifications in JSON format;" msgstr "произвести список спецификаций каналов в формате JSON;" #. type: item #: guix-git/doc/guix.texi:4813 guix-git/doc/guix.texi:13507 #, no-wrap msgid "recutils" msgstr "recutils" #. type: table #: guix-git/doc/guix.texi:4815 msgid "produce a list of channel specifications in Recutils format." msgstr "произвести список спецификаций каналов в формате Recutils." #. type: item #: guix-git/doc/guix.texi:4817 #, no-wrap msgid "--list-formats" msgstr "--list-roots" #. type: table #: guix-git/doc/guix.texi:4819 msgid "Display available formats for @option{--format} option." msgstr "Вывести доступные форматы для @option{--format} опции." #. type: table #: guix-git/doc/guix.texi:4823 msgid "Display information about @var{profile}." msgstr "Вывести информацию о профиле @var{profile}." #. type: section #: guix-git/doc/guix.texi:4826 #, no-wrap msgid "Invoking @command{guix archive}" msgstr "Вызов @command{guix archive}" #. type: command{#1} #: guix-git/doc/guix.texi:4828 #, no-wrap msgid "guix archive" msgstr "guix archive" #. type: cindex #: guix-git/doc/guix.texi:4829 #, no-wrap msgid "archive" msgstr "архив" #. type: Plain text #: guix-git/doc/guix.texi:4835 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{экспортировать} файлы со склада в простой архив и затем " "@dfn{импортировать} их на машину с работающим Guix. В частности, это " "позволяет передавать файлы склада одной машины на склад другой машины." #. type: quotation #: guix-git/doc/guix.texi:4839 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 "" "Если вы ищете способ производить архивы в формате, который подходит для " "инструментов, отличных от Guix, смотрите @pxref{Invoking guix pack}." #. type: cindex #: guix-git/doc/guix.texi:4841 #, no-wrap msgid "exporting store items" msgstr "экспорт элементов склада" #. type: Plain text #: guix-git/doc/guix.texi:4843 msgid "To export store files as an archive to standard output, run:" msgstr "" "Чтобы экспортировать файлы склада в архив в стандартный вывод, выполните:" #. type: example #: guix-git/doc/guix.texi:4846 #, 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:4853 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{gui} пакета @code{git} и главный выход @code{emacs}:" #. type: example #: guix-git/doc/guix.texi:4856 #, 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:4861 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:4864 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:4867 #, 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:4872 msgid "" "Similarly, a complete user profile may be transferred from one machine to " "another like this:" msgstr "" "Точно также для передачи всего профиля пользователя из одной машины на " "другую, выполните:" #. type: example #: guix-git/doc/guix.texi:4876 #, 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:4886 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} и профиль " "вместе с их зависимости (ввиду @code{-r}), не учитывая, что доступно на " "складе целевой машины. Опция @code{--missing} помогает определить " "отсутствующие элементы на целевом складе. Команда @command{guix copy} " "упрощает и оптимизирует весь этот процесс, так что в данном случае она " "решает проблему (@pxref{Invoking guix copy})." #. type: cindex #: guix-git/doc/guix.texi:4887 #, no-wrap msgid "nar, archive format" msgstr "nar, формат архива" #. type: cindex #: guix-git/doc/guix.texi:4888 #, no-wrap msgid "normalized archive (nar)" msgstr "нормализованный архив (nar)" #. type: cindex #: guix-git/doc/guix.texi:4889 #, no-wrap msgid "nar bundle, archive format" msgstr "nar, формат архива" #. type: Plain text #: guix-git/doc/guix.texi:4894 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{normalized archive} или @dfn{nar} " "формате (описано ниже), и вывод @command{guix archive --export} (и ввод " "@command{guix archive --import}) есть @dfn{nar bundle}." #. type: Plain text #: guix-git/doc/guix.texi:4904 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, но с отличиями, которые делают его более " "подходящим для наших целей. Во-первых, вместо записи всех метаданных Unix " "для каждого файла, в формате nar упоминается только тип файла (обычный, " "каталог или символическая ссылка); Разрешения Unix и владелец/группа " "отклонены. Во-вторых, порядок, в котором хранятся записи каталога, всегда " "следует порядку имен файлов в соответствии с порядком сопоставления @code{C} " "локали. Это делает создание архивов полностью детерминированным." #. type: Plain text #: guix-git/doc/guix.texi:4908 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 вместе с " "метаданными для каждого элемента store, который содержит: имя файла, ссылки, " "соответствующую derivation и цифровую подпись." #. type: Plain text #: guix-git/doc/guix.texi:4914 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:4916 msgid "The main options are:" msgstr "Основные опции:" #. type: item #: guix-git/doc/guix.texi:4918 #, no-wrap msgid "--export" msgstr "--export" #. type: table #: guix-git/doc/guix.texi:4921 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:4924 msgid "" "Dependencies are @emph{not} included in the output, unless @option{--" "recursive} is passed." msgstr "" "Зависимости @emph{не} включаются в выход, если не задана опция @option{--" "recursive}." #. type: itemx #: guix-git/doc/guix.texi:4925 guix-git/doc/guix.texi:11216 #: guix-git/doc/guix.texi:11318 guix-git/doc/guix.texi:11343 #: guix-git/doc/guix.texi:11375 guix-git/doc/guix.texi:11553 #: guix-git/doc/guix.texi:11594 guix-git/doc/guix.texi:11645 #: guix-git/doc/guix.texi:11670 guix-git/doc/guix.texi:11686 #: guix-git/doc/guix.texi:11734 guix-git/doc/guix.texi:11764 #, no-wrap msgid "-r" msgstr "-r" #. type: item #: guix-git/doc/guix.texi:4926 guix-git/doc/guix.texi:11215 #: guix-git/doc/guix.texi:11317 guix-git/doc/guix.texi:11342 #: guix-git/doc/guix.texi:11374 guix-git/doc/guix.texi:11552 #: guix-git/doc/guix.texi:11593 guix-git/doc/guix.texi:11644 #: guix-git/doc/guix.texi:11669 guix-git/doc/guix.texi:11685 #: guix-git/doc/guix.texi:11733 guix-git/doc/guix.texi:11763 #: guix-git/doc/guix.texi:11812 #, no-wrap msgid "--recursive" msgstr "--recursive" #. type: table #: guix-git/doc/guix.texi:4931 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 "" "При сочетании с @code{--export} это указывает @command{guix archive} " "включать в архив зависимости обозначенных элементов. Так результирующий " "архив будет \"сам в себе\": содержит полный конвейер экспортированных " "элементов склада." #. type: item #: guix-git/doc/guix.texi:4932 #, no-wrap msgid "--import" msgstr "--import" #. type: table #: guix-git/doc/guix.texi:4937 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 "" "Читать архив из стандартного ввода и импортировать файлы, поставляемые им, " "на склад. Отклонить, если архив имеет недействительную цифровую подпись, или " "если он подписан публичным ключом, который не находится в списке " "авторизованных ключей (смотрите @code{--authorize} ниже)." #. type: item #: guix-git/doc/guix.texi:4938 #, no-wrap msgid "--missing" msgstr "--missing" #. type: table #: guix-git/doc/guix.texi:4942 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:4943 #, no-wrap msgid "--generate-key[=@var{parameters}]" msgstr "--generate-key[=@var{parameters}]" #. type: cindex #: guix-git/doc/guix.texi:4944 #, no-wrap msgid "signing, archives" msgstr "подпись, архивов" #. type: table #: guix-git/doc/guix.texi:4951 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 "" "Генерировать новую ключ-пару для демона. Это необходимо получить перед тем, " "как экспортировать архивы опцией @code{--export}. Отметим, что эта операция " "обычно занимает время, так как необходимо собрать много энтропии для ключ-" "пары." #. type: table #: guix-git/doc/guix.texi:4961 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} " "пропущены, генерируется ключ ECDSA, используя кривую Ed25519, или для " "Libgcrypt версии ранее 1.6.0 --- это 4096-битный ключ RSA. Альтернативно в " "параметрах @var{parameters} можно указать @code{genkey}, соответствующие " "Libgcrypt (@pxref{General public-key related Functions, " "@code{gcry_pk_genkey},, gcrypt, The Libgcrypt Reference Manual})." #. type: item #: guix-git/doc/guix.texi:4962 #, no-wrap msgid "--authorize" msgstr "--authorize" #. type: cindex #: guix-git/doc/guix.texi:4963 #, no-wrap msgid "authorizing, archives" msgstr "авторизация, архивов" #. type: table #: guix-git/doc/guix.texi:4967 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-expression, то есть " "в таком же формате, как файл @file{signing-key.pub}." #. type: table #: guix-git/doc/guix.texi:4974 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{http://people." "csail.mit.edu/rivest/Sexp.txt, s-expression расширенного формата}, и он " "структурирован в виде списка контроля доступа в @url{http://theworld.com/" "~cme/spki.txt, Simple Public-Key Infrastructure (SPKI)}." #. type: item #: guix-git/doc/guix.texi:4975 #, no-wrap msgid "--extract=@var{directory}" msgstr "--extract=@var{directory}" #. type: itemx #: guix-git/doc/guix.texi:4976 #, no-wrap msgid "-x @var{directory}" msgstr "-x @var{directory}" #. type: table #: guix-git/doc/guix.texi:4980 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{Substitutes}) и извлечь его в директорию " "@var{directory}. Это низкоуровневая операция, необходимая только в очень " "редких случаях, смотрите ниже." #. type: table #: guix-git/doc/guix.texi:4983 #, fuzzy #| msgid "" #| "For example, the following command extracts the substitute for Emacs " #| "served by @code{@value{SUBSTITUTE-SERVER}} to @file{/tmp/emacs}:" msgid "" "For example, the following command extracts the substitute for Emacs served " "by @code{@value{SUBSTITUTE-SERVER-1}} to @file{/tmp/emacs}:" msgstr "" "Например, следующая команда распаковывает подстановку Emacs, поставленную " "@code{@value{SUBSTITUTE-SERVER}} в @file{/tmp/emacs}:" #. type: example #: guix-git/doc/guix.texi:4988 #, fuzzy, no-wrap #| msgid "" #| "$ wget -O - \\\n" #| " https://@value{SUBSTITUTE-SERVER}/nar/gzip/@dots{}-emacs-24.5 \\\n" #| " | gunzip | guix archive -x /tmp/emacs\n" 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}/nar/gzip/@dots{}-emacs-24.5 \\\n" " | gunzip | guix archive -x /tmp/emacs\n" #. type: table #: guix-git/doc/guix.texi:4995 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}. Они " "содержат один элемент склада, но они @emph{не} включают подпись. Так что эта " "операция @emph{не} использует верификацию, и его выход должен " "рассматриваться как небезопасный." #. type: table #: guix-git/doc/guix.texi:4999 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 "" "Основная цель этой операции --- упростить просмотр содержимого архива, " "происходящего, возможно, из недоверенных серверов подстановок." #. type: item #: guix-git/doc/guix.texi:5000 #, no-wrap msgid "--list" msgstr "--list" #. type: itemx #: guix-git/doc/guix.texi:5001 guix-git/doc/guix.texi:11540 #: guix-git/doc/guix.texi:11587 #, no-wrap msgid "-t" msgstr "-t" #. type: table #: guix-git/doc/guix.texi:5005 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:5010 #, fuzzy, no-wrap #| msgid "" #| "$ wget -O - \\\n" #| " https://@value{SUBSTITUTE-SERVER}/nar/lzip/@dots{}-emacs-26.3 \\\n" #| " | lzip -d | guix archive -t\n" 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}/nar/lzip/@dots{}-emacs-26.3 \\\n" " | lzip -d | guix archive -t\n" #. type: cindex #: guix-git/doc/guix.texi:5021 #, no-wrap msgid "@command{guix pull}, configuration file" msgstr "@command{guix pull}, конфигурационный файл" #. type: cindex #: guix-git/doc/guix.texi:5022 #, no-wrap msgid "configuration of @command{guix pull}" msgstr "конфигурация @command{guix pull}" #. type: Plain text #: guix-git/doc/guix.texi:5033 msgid "" "Guix and its package collection are updated by running @command{guix pull} " "(@pxref{Invoking guix pull}). By default @command{guix pull} downloads and " "deploys Guix itself from the official GNU@tie{}Guix repository. This can be " "customized by defining @dfn{channels} in the @file{~/.config/guix/channels." "scm} file. A channel specifies a 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 "" "Guix и его коллекция пакетов можно обновить запуском @command{guix pull} " "(@pxref{Invoking guix pull}). По умолчанию @command{guix pull} скачивает и " "разворачивает Guix из официального репозитория GNU@tie{}Guix. Это может быть " "изменено определением каналов @dfn{channels} в файле @file{~/.config/guix/" "channels.scm}. Канал обозначает URL или ветку репозитория Git для " "разворачивания. Также @command{guix pull} может быть настроена для " "скачивания из одного или более каналов. Другими словами, каналы могут " "использоваться для @emph{настройки} и для @emph{расширения} Guix, как это " "будет показано ниже." #. type: cindex #: guix-git/doc/guix.texi:5051 #, no-wrap msgid "extending the package collection (channels)" msgstr "расширение коллекции пакетов (каналов)" #. type: cindex #: guix-git/doc/guix.texi:5052 #, no-wrap msgid "variant packages (channels)" msgstr "собственные пакеты (каналы)" #. type: Plain text #: guix-git/doc/guix.texi:5056 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 "" "Чтобы использовать канал, напишите @code{~/.config/guix/channels.scm}, чтобы " "обозначить @command{guix pull} скачивать оттуда @emph{в дополнение} к " "каналу(-ам) Guix по умолчанию:" #. type: vindex #: guix-git/doc/guix.texi:5057 #, no-wrap msgid "%default-channels" msgstr "%default-channels" #. type: lisp #: guix-git/doc/guix.texi:5064 #, 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 "" ";; Add my personal packages to those Guix provides.\n" "(cons (channel\n" " (name 'my-personal-packages)\n" " (url \"https://example.org/personal-packages.git\"))\n" " %default-channels)\n" #. type: Plain text #: guix-git/doc/guix.texi:5074 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} " "для добавления канала в список каналов, то есть в переменную @code{%default-" "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:5089 #, no-wrap msgid "" "$ guix pull --list-generations\n" "@dots{}\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" " 11 new packages: variant-gimp, variant-emacs-with-cool-features, @dots{}\n" " 4 packages upgraded: emacs-racket-mode@@0.0.2-2.1b78827, @dots{}\n" msgstr "" "$ guix pull --list-generations\n" "@dots{}\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" " my-personal-packages dd3df5e\n" " repository URL: https://example.org/personal-packages.git\n" " branch: master\n" " commit: dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb\n" " 11 new packages: my-gimp, my-emacs-with-cool-features, @dots{}\n" " 4 packages upgraded: emacs-racket-mode@@0.0.2-2.1b78827, @dots{}\n" #. type: Plain text #: guix-git/doc/guix.texi:5097 msgid "" "The output of @command{guix pull} above shows that Generation@tie{}19 " "includes both Guix and packages from the @code{variant-personal-packages} " "channel. Among the new and upgraded packages that are listed, some like " "@code{variant-gimp} and @code{variant-emacs-with-cool-features} might come " "from @code{variant-packages}, while others come from the Guix default " "channel." msgstr "" "Результат @command{guix pull} выше показывает, что поколение Generation@tie{}" "19 включает как репозиторий Guix, так и пакеты из канала @code{my-personal-" "packages}. Вместе с новыми и обновлёнными пакетами, которые присутствуют в " "списке, что-нибудь типа @code{my-gimp} и @code{my-emacs-with-cool-features} " "может прийти из @code{my-personal-packages}, когда остальные идут из канала " "Guix по умолчанию." #. type: Plain text #: guix-git/doc/guix.texi:5106 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 " "(его инструменты командной строки и коллекция пакетов). Например, " "предположим вы хотите обновиться из вашей собственной копии репозитория Guix " "на @code{example.org}, а именно из ветки @code{super-hacks}, тогда можно " "написать в @code{~/.config/guix/channels.scm} следующую спецификацию:" #. type: lisp #: guix-git/doc/guix.texi:5113 #, 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 "" ";; Tell 'guix pull' to use my own repo.\n" "(list (channel\n" " (name 'guix)\n" " (url \"https://example.org/my-guix.git\")\n" " (branch \"super-hacks\")))\n" #. type: Plain text #: guix-git/doc/guix.texi:5119 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{super-hacks} репозитория в @code{example.org}." #. type: Plain text #: guix-git/doc/guix.texi:5130 msgid "" "The @command{guix pull --list-generations} output above shows precisely " "which commits were used to build this instance of Guix. We can thus " "replicate it, say, on another machine, by providing a channel specification " "in @file{~/.config/guix/channels.scm} that is ``pinned'' to these commits:" msgstr "" "Результат @command{guix pull --list-generations} выше показывает точно, " "какие коммиты были использованы для сборки данной инстанции Guix. Так что мы " "можем повторить её, скажем, на другой машине, предоставив объявление канала " "в @file{~/.config/guix/channels.scm}, которое завязано на этих коммитах:" #. type: lisp #: guix-git/doc/guix.texi:5141 #, 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 "" ";; 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 \"d894ab8e9bfabcefa6c49d9ba2e834dd5a73a300\"))\n" " (channel\n" " (name 'my-personal-packages)\n" " (url \"https://example.org/personal-packages.git\")\n" " (branch \"dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb\")))\n" #. type: Plain text #: guix-git/doc/guix.texi:5148 msgid "" "The @command{guix describe --format=channels} command can even generate this " "list of channels directly (@pxref{Invoking guix describe}). The resulting " "file can be used with the -C options of @command{guix pull} (@pxref{Invoking " "guix pull}) or @command{guix time-machine} (@pxref{Invoking guix time-" "machine})." msgstr "" "Команда @command{guix describe --format=channels} даже может непосредственно " "воспроизвести этот список каналов (@pxref{Invoking guix describe})." #. type: Plain text #: guix-git/doc/guix.texi:5155 msgid "" "At this point the two machines run the @emph{exact same Guix}, with access " "to the @emph{exact same packages}. The output of @command{guix build gimp} " "on one machine will be exactly the same, bit for bit, as the output of the " "same command on the other machine. It also means both machines have access " "to all the source code of Guix and, transitively, to all the source code of " "every package it defines." msgstr "" "И тогда две машины будут работать с @emph{полностью одинаковым Guix}, имея " "доступ к @emph{абсолютно одинаковым пакетам}. Результат @command{guix build " "gimp} на одной машине будет совершенно таким же, бит к биту, как результат " "этой команды на другой машине. Это также означает, что обе машины имеют " "доступ ко всем исходным кодам Guix, следовательно, ко всем исходным кодам " "каждого пакета, определённого в Guix." #. type: Plain text #: guix-git/doc/guix.texi:5160 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: anchor{#1} #: guix-git/doc/guix.texi:5165 msgid "channel-authentication" msgstr "channel-authentication" #. type: Plain text #: guix-git/doc/guix.texi:5171 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:5176 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{channel introduction} в вашем " "файле канала, чтобы Guix знал как авторизовать свой первый коммит. " "Спецификация канала, включая введения, выглядит как-то так:" #. type: lisp #: guix-git/doc/guix.texi:5186 #, 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:5192 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{}}, который подписывается " "ключом OpenPGP с отпечатком @code{CABB A931@dots{}}." #. type: Plain text #: guix-git/doc/guix.texi:5198 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. Для других каналов, укажите " "introduction для канала, предоставленное авторами канала, в ваш файл " "@file{channels.scm}. Убедитесь, что вы получили introduction канала из " "надежного источника, так как это основа вашего доверия." #. type: Plain text #: guix-git/doc/guix.texi:5200 msgid "If you're curious about the authentication mechanics, read on!" msgstr "Если вам любопытены механизмы авторизации, читайте дальше!" #. type: Plain text #: guix-git/doc/guix.texi:5211 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:5214 #, no-wrap msgid "" "(use-modules (guix ci))\n" "\n" msgstr "" "(use-package-modules guile emacs)\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:5218 #, no-wrap msgid "" "(list (channel-with-substitutes-available\n" " %default-guix-channel\n" " \"https://ci.guix.gnu.org\"))\n" msgstr "" "(list (channel-with-substitutes-available\n" " %default-guix-channel\n" " \"https://ci.guix.gnu.org\"))\n" #. type: Plain text #: guix-git/doc/guix.texi:5225 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:5229 #, no-wrap msgid "personal packages (channels)" msgstr "собственные пакеты (каналы)" #. type: cindex #: guix-git/doc/guix.texi:5230 #, no-wrap msgid "channels, for personal packages" msgstr "каналы, для собственных пакетов" #. type: Plain text #: guix-git/doc/guix.texi:5238 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. You would first write modules containing those package " "definitions (@pxref{Package Modules}), maintain them in a Git repository, " "and then you and anyone else can use it as an additional channel to get " "packages from. Neat, no?" msgstr "" "Можно также задать @emph{дополнительные каналы} для выборки оттуда. Ну, " "например, у вас ряд собственных вариантов пакетов или собственные пакеты, " "которые вы считаете не особо важным для отправки в проект Guix, но хотите, " "чтобы эти пакеты были доступны вам в командной строке прозрачно, без " "дополнительных действий. Вначале можно написать модули, содержащие " "определения этих пакетов (@pxref{Package Modules}), затем разместить их в " "репозитории Git, и тогда вы или кто-либо ещё сможете использовать их в " "качестве дополнтельного канала для получения пакетов. Красиво, да?" #. type: quotation #: guix-git/doc/guix.texi:5242 guix-git/doc/guix.texi:6088 #: guix-git/doc/guix.texi:13860 guix-git/doc/guix.texi:19962 #: guix-git/doc/guix.texi:19969 #, no-wrap msgid "Warning" msgstr "Внимание" #. type: quotation #: guix-git/doc/guix.texi:5246 msgid "" "Before you, dear user, shout---``woow this is @emph{soooo coool}!''---and " "publish your personal channel to the world, we would like to share a few " "words of caution:" msgstr "" "Прежде чем вы крикнете @emph{Ух-ты, это круто!} и опубликуете собственный " "канал, необходимо учесть некоторые предостережения:" #. type: itemize #: guix-git/doc/guix.texi:5254 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 и прошли проверку качества." #. type: itemize #: guix-git/doc/guix.texi:5263 msgid "" "When you maintain package definitions outside Guix, we, Guix developers, " "consider that @emph{the compatibility burden is on you}. Remember that " "package modules and package definitions are just Scheme code that uses " "various programming interfaces (APIs). We want to remain free to change " "these APIs to keep improving Guix, possibly in ways that break your " "channel. We never change APIs gratuitously, but we will @emph{not} commit " "to freezing APIs either." msgstr "" "Когда вы выгружаете определение пакета вне Guix, мы, разработчики Guix, " "полагаем, что вопрос @emph{совместимости ложится на вас}. Учтите, что " "пакетные модули и определения пакетов --- это код Scheme, который используют " "различные программные интерфейсы (API). Мы хотим оставить возможность для " "себя изменять эти API, чтобы продолжить улучшать Guix. И это может привести " "к поломке вашего канала. Мы никогда не меняем API необоснованно, но всё же " "мы @emph{не} будем обновлять устаревшие, замороженные API." #. type: itemize #: guix-git/doc/guix.texi:5267 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:5274 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.ru.html, свободного программного " "обеспечения}. Пожалуйста, свяжитесь с нами по e-mail @email{guix-devel@@gnu." "org}, если вы хотите обсудить это." #. type: Plain text #: guix-git/doc/guix.texi:5286 msgid "" "To create a channel, create a Git repository containing your own package " "modules and make it available. The repository can contain anything, but a " "useful channel will contain Guile modules that export packages. Once you " "start using a channel, Guix will behave as if the root directory of that " "channel's Git repository has been added to the Guile load path (@pxref{Load " "Paths,,, guile, GNU Guile Reference Manual}). For example, if your channel " "contains a file at @file{my-packages/my-tools.scm} that defines a Guile " "module, then the module will be available under the name @code{(my-packages " "my-tools)}, and you will be able to use it like any other module " "(@pxref{Modules,,, guile, GNU Guile Reference Manual})." msgstr "" "Чтобы создать канал, создайте репозиторий Git, содержащий ваши собственные " "пакетные модули, и сделайте его доступным. Репозиторий может содержать что-" "либо, но полезный канал будет содержать модули Guile, экспортирующие пакеты. " "Когда вы начали использовать канал, Guix будет работать, как будто корневая " "директория репозитория Git этого канала добавлена в путь загрузки Guile " "(@pxref{Load Paths,,, guile, GNU Guile Reference Manual}). Например, если " "ваш канал содержит файл @file{my-packages/my-tools.scm}, который определяет " "модуль Guile, тогда модуль будет доступен под именем @code{(my-packages my-" "tools)}, и вы сможете использовать его, как любой другой модуль " "(@pxref{Modules,,, guile, GNU Guile Reference Manual})." #. type: Plain text #: guix-git/doc/guix.texi:5291 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: cindex #: guix-git/doc/guix.texi:5296 #, no-wrap msgid "subdirectory, channels" msgstr "подкаталог, каналы" #. type: Plain text #: guix-git/doc/guix.texi:5300 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:5305 #, no-wrap msgid "" "(channel\n" " (version 0)\n" " (directory \"guix\"))\n" msgstr "" "(channel\n" " (version 0)\n" " (directory \"guix\"))\n" #. type: cindex #: guix-git/doc/guix.texi:5310 #, no-wrap msgid "dependencies, channels" msgstr "зависимости, каналы" #. type: cindex #: guix-git/doc/guix.texi:5311 #, no-wrap msgid "meta-data, channels" msgstr "метаданные, каналы" #. type: Plain text #: guix-git/doc/guix.texi:5316 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:5318 msgid "The meta-data file should contain a simple S-expression like this:" msgstr "" "Файл метаданных должен содержать простое выражение S-expression как это:" #. type: lisp #: guix-git/doc/guix.texi:5326 #, 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:5338 #, 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 "" " ;; 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" #. type: Plain text #: guix-git/doc/guix.texi:5344 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:5348 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:5352 #, no-wrap msgid "channel authorizations" msgstr "авторизации канала" #. type: anchor{#1} #: guix-git/doc/guix.texi:5366 msgid "channel-authorizations" msgstr "channel-authorizations" #. type: Plain text #: guix-git/doc/guix.texi:5366 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 гарантирует, что исходный код, который он получает " "из каналов, поступает от авторизованных разработчиков. Как автор канала, " "вам необходимо указать список авторизованных разработчиков в файле @file{." "guix-authorizations} в репозитории Git канала. Правило аутентификации " "простое: каждый коммит должен быть подписан ключом, указанным в файле @file{." "guix-authorizations} его родительского коммита(ов) @footnote{Git коммитит из " "@dfn{directed acyclic graph}(DAG). У каждого коммита может быть ноль или " "более родителей; ``обычные'' коммиты имеют одного родителя, а ``merge'' " "коммиты имеют два родительских коммита. Прочтите @uref{https://eagain.net/" "articles/git-for-computer-scientists/, @i{Git for Computer Scientists}}, " "чтобы получить больше информации.} файл @file{.guix-authorizations} выглядит " "так:" #. type: lisp #: guix-git/doc/guix.texi:5369 #, no-wrap msgid "" ";; Example '.guix-authorizations' file.\n" "\n" msgstr "" ";; Пример '.guix-authorizations' файла.\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:5372 #, no-wrap msgid "" "(authorizations\n" " (version 0) ;current file format version\n" "\n" msgstr "" "(authorizations\n" " (version 0) ;current file format version\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:5379 #, 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:5383 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:5388 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:5389 #, no-wrap msgid "channel introduction" msgstr "введение канала" #. type: Plain text #: guix-git/doc/guix.texi:5396 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." msgstr "" "Channel introductory отвечает на данные вопросы, описывая первый коммит " "канала, который должен быть аутентифицирован. При первом вызове канала с " "помощью @command{guix pull} или @command{guix time-machine} команда ищет " "introductory коммит и проверяет, что он подписан указанным ключом OpenPGP. " "С этого момента он аутентифицирует коммиты в соответствии с приведенным выше " "правилом." #. type: Plain text #: guix-git/doc/guix.texi:5403 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 "" "Кроме того, ваш канал должен предоставлять все ключи OpenPGP, которые когда-" "либо упоминались в @file{.guix-authorizations}, хранящиеся как файлы @file{." "key}, которые могут быть либо двоичными, либо ``ASCII-armored''. По " "умолчанию эти файлы @file{.key} ищутся в ветке с именем @code{keyring}, но " "вы можете указать другое имя ветки в @code{.guix-channel} следующим образом:" #. type: lisp #: guix-git/doc/guix.texi:5408 #, 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:5412 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:5418 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 "" "Экспортируйте ключи OpenPGP прошлых и нынешних коммиттеров с помощью " "@command{gpg --export} и сохраните их в файлах @file{.key}, по умолчанию в " "ветке с именем @code{keyring} (мы рекомендуем сделать это в @dfn{orphan " "branch})." #. type: enumerate #: guix-git/doc/guix.texi:5423 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:5429 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 "" "Рекламируйте channel introduction, например, на веб-странице вашего канала. " "Channel introduction, как мы видели выше, - это пара коммит/ключ, то есть " "коммит, который представляет @file{.guix-authorizations}, и отпечаток " "OpenPGP, использованный для его подписи." #. type: Plain text #: guix-git/doc/guix.texi:5434 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:5437 #, 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:5442 msgid "" "where @var{commit} and @var{signer} are your channel introduction. " "@xref{Invoking guix git authenticate}, for details." msgstr "" "где @var{commit} и @var{signer} являются вашим channel introduction. " "@xref{Invoking guix git authenticate}, подробнее." #. type: Plain text #: guix-git/doc/guix.texi:5449 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 "" "Публикация подписанного канала требует дисциплины: любая ошибка, такая как " "неподписанная фиксация или фиксация, подписанная неавторизованным ключом, не " "позволит пользователям pull'ить с вашего канала - в этом весь смысл " "аутентификации! Обратите внимание на merge, в частности: merge коммиты " "считаются аутентичными, если и только если они подписаны ключом, " "присутствующим в файле @file{.guix-authorizations} @emph{обоих} веток." #. type: cindex #: guix-git/doc/guix.texi:5453 #, no-wrap msgid "primary URL, channels" msgstr "основной URL, каналы" #. type: Plain text #: guix-git/doc/guix.texi:5456 msgid "" "Channel authors can indicate the primary URL of their channel's Git " "repository in the @file{.guix-channel} file, like so:" msgstr "" "Авторы каналов могут указать основной URL-адрес репозитория Git своего " "канала в файле @file{.guix-channel}, например:" #. type: lisp #: guix-git/doc/guix.texi:5461 #, no-wrap msgid "" "(channel\n" " (version 0)\n" " (url \"https://example.org/guix.git\"))\n" msgstr "" "(channel\n" " (version 0)\n" " (url \"https://example.org/guix.git\"))\n" #. type: Plain text #: guix-git/doc/guix.texi:5468 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} определять, pull'ит ли он код из зеркала " "канала; в этом случае он предупреждает пользователя о том, что зеркало может " "быть устаревшим, и отображает основной URL-адрес. Таким образом, " "пользователей нельзя обмануть, заставив их получить код с устаревшего " "зеркала, которое не получает обновлений безопасности." #. type: Plain text #: guix-git/doc/guix.texi:5472 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:5476 #, no-wrap msgid "news, for channels" msgstr "новости, для каналов" #. type: Plain text #: guix-git/doc/guix.texi:5480 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:5485 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:5488 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:5493 #, no-wrap msgid "" "(channel\n" " (version 0)\n" " (news-file \"etc/news.txt\"))\n" msgstr "" "(channel\n" " (version 0)\n" " (news-file \"etc/news.txt\"))\n" #. type: Plain text #: guix-git/doc/guix.texi:5497 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:5510 #, 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 "" "(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" #. type: Plain text #: guix-git/doc/guix.texi:5517 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:5522 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{news entries}. Каждая запись связана с коммитом " "или тегом: она описывает изменения, сделанные в этом коммите, возможно, " "также и в предыдущих коммитах. Пользователи видят записи только при первом " "получении коммита, на который ссылается запись." #. type: Plain text #: guix-git/doc/guix.texi:5528 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:5534 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:5537 #, 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:5541 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:5546 #, no-wrap msgid "software development" msgstr "разработка программного обеспечения" #. type: Plain text #: guix-git/doc/guix.texi:5550 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:5556 msgid "" "The @command{guix environment} command provides a convenient way to set up " "@dfn{development environments} containing all the dependencies and tools " "necessary to work on the software package of your choice. 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 environment} предоставляет удобный способ установить " "@dfn{окружение разработки} на ваш выбор, содержащее все зависимости и " "инструменты, необходимые для работы с пакетом программы. Команда " "@command{guix pack} позволяет создавать @dfn{наборы приложений}, которые " "могут легко распространяться для пользователей, которые не используют Guix." #. type: section #: guix-git/doc/guix.texi:5565 #, no-wrap msgid "Invoking @command{guix environment}" msgstr "Вызов @command{guix environment}" #. type: cindex #: guix-git/doc/guix.texi:5567 #, no-wrap msgid "reproducible build environments" msgstr "воспроизводимые окружения сборки" #. type: cindex #: guix-git/doc/guix.texi:5568 #, no-wrap msgid "development environments" msgstr "окружения разработки" #. type: command{#1} #: guix-git/doc/guix.texi:5569 #, no-wrap msgid "guix environment" msgstr "guix environment" #. type: cindex #: guix-git/doc/guix.texi:5570 #, no-wrap msgid "environment, package build environment" msgstr "окружение сборки пакета" #. type: Plain text #: guix-git/doc/guix.texi:5576 msgid "" "The purpose of @command{guix environment} is to assist hackers in creating " "reproducible development environments without polluting their package " "profile. The @command{guix environment} tool takes one or more packages, " "builds all of their inputs, and creates a shell environment to use them." msgstr "" "Цель @command{guix environment} --- помощь программистам в создании " "окружения разработки, которое можно повторять, без влияния на профили " "пакетов. Инструмент @command{guix environment} принимает один или более " "пакетов, собирает все входные данные для них и создаёт окружение оболочки " "для их использования." #. type: example #: guix-git/doc/guix.texi:5581 #, 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:5585 msgid "" "The following example spawns a new shell set up for the development of " "GNU@tie{}Guile:" msgstr "" "Следующий пример порождает новую оболочку, установленную для разработки " "GNU@tie{}Guile:" #. type: example #: guix-git/doc/guix.texi:5588 #, no-wrap msgid "guix environment guile\n" msgstr "guix environment guile\n" #. type: Plain text #: guix-git/doc/guix.texi:5605 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} " "автоматически построит их. Среда новой оболочки - это расширенная версия " "среды, в которой была запущена @command{guix environment}. Она содержит " "необходимые пути поиска для сборки данного пакета, добавленные к " "существующим переменным среды. Чтобы создать ``чистую'' среду, в которой " "исходные переменные среды не были установлены, используйте параметр " "@option{--pure} @footnote{Пользователи иногда ошибочно изменяют переменные " "среды, такие как @env{PATH}, в своем @file{~/.bashrc} файле. Как следствие, " "когда @command{guix environment} запускает его, Bash может читать @file{~/." "bashrc}, тем самым вводя ``примеси'' в эти переменные среды. Ошибочно " "определять такие переменные среды в @file{.bashrc}; вместо этого они должны " "быть определены в @file{.bash_profile}, источником которого являются только " "оболочки входа в систему. @xref{Bash Startup Files,,, bash, The GNU Bash " "Reference Manual}, для получения подробной информации о файлах запуска " "Bash.}." #. type: Plain text #: guix-git/doc/guix.texi:5611 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 аналогичен выходу из оболочки и возвращает " "пользователя в старое окружение до вызова @command{guix environment}. " "Следующая сборка мусора (@pxref{Invoking guix gc}) очистит пакеты, которые " "были установлены в окружении и больше не используются за ее пределами." #. type: vindex #: guix-git/doc/guix.texi:5612 #, no-wrap msgid "GUIX_ENVIRONMENT" msgstr "GUIX_ENVIRONMENT" #. type: Plain text #: guix-git/doc/guix.texi:5618 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} определяет переменную @code{GUIX_ENVIRONMENT} в " "оболочке, которую создаёт; её значением является имя файла профиля этого " "окружения. Это позволяет пользователям, скажем, определить специфичные " "значения окружений разработки в @file{.bashrc} (@pxref{Bash Startup Files,,, " "bash, The GNU Bash Reference Manual}):" #. type: example #: guix-git/doc/guix.texi:5624 #, 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:5628 msgid "...@: or to browse the profile:" msgstr "...@: или просмотеть профиль:" #. type: example #: guix-git/doc/guix.texi:5631 #, no-wrap msgid "$ ls \"$GUIX_ENVIRONMENT/bin\"\n" msgstr "$ ls \"$GUIX_ENVIRONMENT/bin\"\n" #. type: Plain text #: guix-git/doc/guix.texi:5637 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 "" "Дополним, что может быть указано более одного пакета, в таком случае " "используется объединённые входные данные для указанных пакетов. Например, " "команда ниже порождает оболочку, в котором доступны все зависимости, как " "Guile, так и Emacs:" #. type: example #: guix-git/doc/guix.texi:5640 #, no-wrap msgid "guix environment guile emacs\n" msgstr "guix environment guile emacs\n" #. type: Plain text #: guix-git/doc/guix.texi:5645 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 "" "Иногда интерактивная сессия оболочки не нужна. Можно вызвать произвольную " "команду при указании токена @code{--}, который отделяет команду от остальных " "аргументов:" #. type: example #: guix-git/doc/guix.texi:5648 #, no-wrap msgid "guix environment guile -- make -j4\n" msgstr "guix environment guile -- make -j4\n" #. type: Plain text #: guix-git/doc/guix.texi:5654 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{}2.7 and NumPy:" msgstr "" "В других ситуациях удобнее указать список паетов, необходимых для окружения. " "Например, следующая команда запускает @command{python} из окружения, " "содержащего Python@tie{}2.7 и NumPy:" #. type: example #: guix-git/doc/guix.texi:5657 #, no-wrap msgid "guix environment --ad-hoc python2-numpy python-2.7 -- python\n" msgstr "guix environment --ad-hoc python2-numpy python-2.7 -- python\n" #. type: Plain text #: guix-git/doc/guix.texi:5668 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 "" "Более того, возможно, вам потребуются зависимости пакета, а также некоторые " "дополнительные пакеты, которые не являются зависимостями процесса сборки или " "процесса исполнения (работы), но важны при разработке. Для этого и указан " "флаш @code{--ad-hoc}. Пакеты, обозначенные до @code{--ad-hoc} " "интерпретируются как пакеты, чьи зависимости будут добавлены в окружение. " "Пакеты, которые обозначены после @code{--ad-hoc}, интерпретируются как " "пакеты, которые будут добавлены в окружение непосредственно. Например, " "следующая команда создаёт окружение разработки Guix, которая в дополнение " "включает Git и strace:" #. type: example #: guix-git/doc/guix.texi:5671 #, no-wrap msgid "guix environment --pure guix --ad-hoc git strace\n" msgstr "guix environment guix --ad-hoc git strace\n" #. type: item #: guix-git/doc/guix.texi:5673 guix-git/doc/guix.texi:5834 #: guix-git/doc/guix.texi:13258 guix-git/doc/guix.texi:34077 #, no-wrap msgid "container" msgstr "контейнер" #. type: Plain text #: guix-git/doc/guix.texi:5681 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:5684 #, 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:5688 msgid "The @option{--container} option requires Linux-libre 3.19 or newer." msgstr "Опция @code{--container} требует Linux-libre 3.19 или новее." #. type: cindex #: guix-git/doc/guix.texi:5690 #, no-wrap msgid "certificates" msgstr "Сертификаты X.509" #. type: Plain text #: guix-git/doc/guix.texi:5697 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:5704 #, 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: Plain text #: guix-git/doc/guix.texi:5707 msgid "The available options are summarized below." msgstr "Доступные опции резюмированы ниже." #. type: item #: guix-git/doc/guix.texi:5709 guix-git/doc/guix.texi:6274 #: guix-git/doc/guix.texi:10961 guix-git/doc/guix.texi:34174 #, no-wrap msgid "--root=@var{file}" msgstr "--root=@var{file}" #. type: itemx #: guix-git/doc/guix.texi:5710 guix-git/doc/guix.texi:6275 #: guix-git/doc/guix.texi:10962 guix-git/doc/guix.texi:34175 #, no-wrap msgid "-r @var{file}" msgstr "-r @var{file}" #. type: cindex #: guix-git/doc/guix.texi:5711 #, no-wrap msgid "persistent environment" msgstr "постоянное окружение" #. type: cindex #: guix-git/doc/guix.texi:5712 #, no-wrap msgid "garbage collector root, for environments" msgstr "корень сборщика мусора, для окружений" #. type: table #: guix-git/doc/guix.texi:5715 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:5718 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:5724 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}. Это означает, что в следующий раз, " "когда вы создадите такое же окружение, вам потребуется пересобирать и " "скачивать пакеты заново. @xref{Invoking guix gc}, for more on GC roots." #. type: item #: guix-git/doc/guix.texi:5725 guix-git/doc/guix.texi:6206 #: guix-git/doc/guix.texi:10807 guix-git/doc/guix.texi:11857 #: guix-git/doc/guix.texi:12702 guix-git/doc/guix.texi:34109 #: guix-git/doc/guix.texi:36100 #, no-wrap msgid "--expression=@var{expr}" msgstr "--expression=@var{expr}" #. type: itemx #: guix-git/doc/guix.texi:5726 guix-git/doc/guix.texi:6207 #: guix-git/doc/guix.texi:10808 guix-git/doc/guix.texi:11858 #: guix-git/doc/guix.texi:12703 guix-git/doc/guix.texi:34110 #: guix-git/doc/guix.texi:36101 #, no-wrap msgid "-e @var{expr}" msgstr "-e @var{expr}" #. type: table #: guix-git/doc/guix.texi:5729 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:5731 msgid "For example, running:" msgstr "Например, запуск:" #. type: example #: guix-git/doc/guix.texi:5734 #, no-wrap msgid "guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'\n" msgstr "guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'\n" #. type: table #: guix-git/doc/guix.texi:5738 msgid "" "starts a shell with the environment for this specific variant of the PETSc " "package." msgstr "" "запускает оболочку с окружением для этого специфического варианта пакета " "PETSc." #. type: table #: guix-git/doc/guix.texi:5740 msgid "Running:" msgstr "Запуск:" #. type: example #: guix-git/doc/guix.texi:5743 #, no-wrap msgid "guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'\n" msgstr "guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'\n" #. type: table #: guix-git/doc/guix.texi:5746 msgid "starts a shell with all the base system packages available." msgstr "стартует оболочку со всеми доступными базовыми пакетами." #. type: table #: guix-git/doc/guix.texi:5749 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:5752 #, 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:5754 #, no-wrap msgid "--load=@var{file}" msgstr "--load=@var{file}" #. type: itemx #: guix-git/doc/guix.texi:5755 #, no-wrap msgid "-l @var{file}" msgstr "-l @var{file}" #. type: table #: guix-git/doc/guix.texi:5758 msgid "" "Create an environment for the package or list of packages that the code " "within @var{file} evaluates to." msgstr "" "Создать окружение для пакета или списка пакетов, код которых задан в файле " "@var{file}." #. type: lisp #: guix-git/doc/guix.texi:5764 #, no-wrap msgid "@verbatiminclude environment-gdb.scm\n" msgstr "@verbatiminclude environment-gdb.scm\n" #. type: table #: guix-git/doc/guix.texi:5771 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 "" "Создать окружение для пакетов, содержащихся в объекте манифеста, " "возвращаемого кодом Scheme в файле @var{file}." #. type: table #: guix-git/doc/guix.texi:5775 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: item #: guix-git/doc/guix.texi:5776 #, no-wrap msgid "--ad-hoc" msgstr "--ad-hoc" #. type: table #: guix-git/doc/guix.texi:5781 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{ad hoc}) пакет имел бы их как входные данные. Эта опция полезна для " "быстрого создания окружения без необходимости писать выражение типа пакет, " "содержащее желаемые входные данные." #. type: table #: guix-git/doc/guix.texi:5783 msgid "For instance, the command:" msgstr "Например, команда:" #. type: example #: guix-git/doc/guix.texi:5786 #, no-wrap msgid "guix environment --ad-hoc guile guile-sdl -- guile\n" msgstr "guix environment --ad-hoc guile guile-sdl -- guile\n" #. type: table #: guix-git/doc/guix.texi:5790 msgid "" "runs @command{guile} in an environment where Guile and Guile-SDL are " "available." msgstr "" "запускает @command{guile} в окружении, в котором доступны Guile и Guile-SDL." #. type: table #: guix-git/doc/guix.texi:5795 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{bin} из @code{glib} (@pxref{Packages " "with Multiple Outputs})." #. type: table #: guix-git/doc/guix.texi:5801 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}. Пакеты, которые появляются до @code{--ad-hoc} интерпретируются " "как пакеты, чьи зависимости будут добавлены в окружение (поведение по " "умолчанию). Пакеты, которые появляются после этой опции, интерпретируются " "как пакеты, которые будут добавлены в окружение непосредственно." #. type: item #: guix-git/doc/guix.texi:5802 #, no-wrap msgid "--pure" msgstr "--pure" #. type: table #: guix-git/doc/guix.texi:5806 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:5807 #, no-wrap msgid "--preserve=@var{regexp}" msgstr "--preserve=@var{regexp}" #. type: itemx #: guix-git/doc/guix.texi:5808 #, no-wrap msgid "-E @var{regexp}" msgstr "-E @var{regexp}" #. type: table #: guix-git/doc/guix.texi:5813 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:5817 #, no-wrap msgid "" "guix environment --pure --preserve=^SLURM --ad-hoc openmpi @dots{} \\\n" " -- mpirun @dots{}\n" msgstr "" "guix environment --pure --preserve=^SLURM --ad-hoc openmpi @dots{} \\\n" " -- mpirun @dots{}\n" #. type: table #: guix-git/doc/guix.texi:5823 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:5824 #, no-wrap msgid "--search-paths" msgstr "--search-paths" #. type: table #: guix-git/doc/guix.texi:5827 msgid "" "Display the environment variable definitions that make up the environment." msgstr "" "Отобразить определения переменных окружения, которые составляют окружение." #. type: table #: guix-git/doc/guix.texi:5831 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:5832 #, no-wrap msgid "--container" msgstr "--container" #. type: itemx #: guix-git/doc/guix.texi:5833 #, no-wrap msgid "-C" msgstr "-C" #. type: table #: guix-git/doc/guix.texi:5840 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} в изолированном контейнере. Текущая рабочая " "директория за пределами контейнера отображается внутри контейнера. В " "дополнение, если это не переопределено опцией @code{--user}, тогда " "настраивается фиктивная домашняя директория, которая совпадает с домашней " "директорией текущего пользователя, а также соответствующий файл @file{/etc/" "passwd}." #. type: table #: guix-git/doc/guix.texi:5844 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:5845 guix-git/doc/guix.texi:34169 #, no-wrap msgid "--network" msgstr "--network" #. type: table #: guix-git/doc/guix.texi:5850 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:5851 #, no-wrap msgid "--link-profile" msgstr "--link-profile" #. type: itemx #: guix-git/doc/guix.texi:5852 #, no-wrap msgid "-P" msgstr "-P" #. type: table #: guix-git/doc/guix.texi:5860 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} внутри " "контейнера. Это эквивалент запуска команды @command{ln -s $GUIX_ENVIRONMENT " "~/.guix-profile} внутри контейнера. Связывание завершится ошибкой и отменит " "создание окружения, если директория уже существует, что, конечно, будет " "происходить, если @command{guix environment} вызвана в домашней директории " "пользователя." #. type: table #: guix-git/doc/guix.texi:5866 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 "" "Определённые пакеты сконфигурированы, чтобы смотреть конфигурационные файлы " "и данные в @code{~/.guix-profile};@footnote{Например, пакет " "@code{fontconfig} просматривает @file{~/.guix-profile/share/fonts} для " "дополнительных шрифтов.} @code{--link-profile} позволяет этим программам " "вести себя ожидаемо внутри окружения." #. type: item #: guix-git/doc/guix.texi:5867 guix-git/doc/guix.texi:12835 #, no-wrap msgid "--user=@var{user}" msgstr "--user=@var{user}" #. type: itemx #: guix-git/doc/guix.texi:5868 guix-git/doc/guix.texi:12836 #, no-wrap msgid "-u @var{user}" msgstr "-u @var{user}" #. type: table #: guix-git/doc/guix.texi:5875 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:5880 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 "" "В дополнение, любой разделяемый или расширяемый путь (смотрите @code{--" "share} и @code{--expose} соответственно), чьи цели находятся в домашней " "директории пользователя, будут отображены соответственно в @file{/home/" "USER}; это включает автоматическое отображение текущей рабочей директории." #. type: example #: guix-git/doc/guix.texi:5887 #, 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 "" "# 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" #. type: table #: guix-git/doc/guix.texi:5892 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:5893 #, no-wrap msgid "--no-cwd" msgstr "--no-cwd" #. type: table #: guix-git/doc/guix.texi:5900 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 "" "Для контейнеров стандартным поведением является разделение текущего рабочего " "каталога с изолированным контейнером и немедленное переключение на этот " "каталог в контейнере. Если это нежелательно, @code{--no-cwd} приведет к " "автоматическому доступу к текущему рабочему каталогу @emph{not}, который " "изменится на домашний каталог пользователя в контейнере. Смотрите также " "@code{--user}." #. type: item #: guix-git/doc/guix.texi:5901 #, no-wrap msgid "--expose=@var{source}[=@var{target}]" msgstr "--expose=@var{source}[=@var{target}]" #. type: itemx #: guix-git/doc/guix.texi:5902 #, no-wrap msgid "--share=@var{source}[=@var{target}]" msgstr "--share=@var{source}[=@var{target}]" #. type: table #: guix-git/doc/guix.texi:5908 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 "" "Расширить файловую систему контейнера источником @var{source} из хостящей " "системы в качестве файловой системы только для чтения с целью @var{target} " "внутри контейнера. Если цель @var{target} не задана, источник @var{source} " "используется как целевая точка монтирования в контейнере." #. type: table #: guix-git/doc/guix.texi:5912 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:5915 #, no-wrap msgid "guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile\n" msgstr "guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile\n" #. type: Plain text #: guix-git/doc/guix.texi:5923 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:5925 #, no-wrap msgid "Invoking @command{guix pack}" msgstr "Вызов @command{guix pack}" #. type: Plain text #: guix-git/doc/guix.texi:5931 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:5936 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:5938 #, no-wrap msgid "pack" msgstr "упаковка" #. type: cindex #: guix-git/doc/guix.texi:5939 #, no-wrap msgid "bundle" msgstr "набор" #. type: cindex #: guix-git/doc/guix.texi:5940 #, no-wrap msgid "application bundle" msgstr "набор приложений" #. type: cindex #: guix-git/doc/guix.texi:5941 #, no-wrap msgid "software bundle" msgstr "набор приложений" #. type: Plain text #: guix-git/doc/guix.texi:5950 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:5953 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:5958 #, no-wrap msgid "" "$ guix pack guile emacs emacs-geiser\n" "@dots{}\n" "/gnu/store/@dots{}-pack.tar.gz\n" msgstr "" "$ guix pack guile emacs geiser\n" "@dots{}\n" "/gnu/store/@dots{}-pack.tar.gz\n" #. type: Plain text #: guix-git/doc/guix.texi:5966 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} со " "всеми соответствующими пакетами. Результирующий архив содержат @dfn{профиль} " "с тремя запрошенными пакетами; профиль представляет то же самое, что можно " "создать командой @command{guix package -i}. Это механизм, который " "используется, собственно, для создания автономного (standalone) бинарного " "архива Guix (@pxref{Binary Installation})." #. type: Plain text #: guix-git/doc/guix.texi:5971 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:5974 #, no-wrap msgid "guix pack -S /opt/gnu/bin=bin guile emacs emacs-geiser\n" msgstr "guix pack -S /opt/gnu/bin=bin guile emacs geiser\n" #. type: Plain text #: guix-git/doc/guix.texi:5978 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:5979 #, no-wrap msgid "relocatable binaries, with @command{guix pack}" msgstr "перемещаемые бинарники, с @command{guix pack}" #. type: Plain text #: guix-git/doc/guix.texi:5987 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 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 "" "Что если получатель вашего пакета не имеет привилегий root на своей машине, " "и поэтому не может распаковать его в корне файловой системы? В таком случае " "вам стоит использовать опцию @code{--relocatable} (смотрите ниже). Эта опция " "производит @dfn{перемещаемые бинарники}, в том плане, что они могут " "размещаться где угодно в иерархии файловой системы: в примере выше " "пользователи могут распаковать ваш архив в свои домашние директории и " "напрямую запустить @file{./opt/gnu/bin/guile}." #. type: cindex #: guix-git/doc/guix.texi:5988 #, no-wrap msgid "Docker, build an image with guix pack" msgstr "Docker, сборка образа с помощью guix pack" #. type: Plain text #: guix-git/doc/guix.texi:5991 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:5994 #, no-wrap msgid "guix pack -f docker -S /bin=bin guile guile-readline\n" msgstr "guix pack -f docker guile emacs geiser\n" #. type: Plain text #: guix-git/doc/guix.texi:5999 msgid "" "The result is a tarball that can be passed to the @command{docker load} " "command, followed by @code{docker run}:" msgstr "" "Результатом будет архив, который можно передать команде @command{docker " "load}, followed by @code{docker run}:" #. type: example #: guix-git/doc/guix.texi:6003 #, 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:6010 msgid "" "where @var{file} is the image returned by @var{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 "" "Результатом будет архив, который можно передать команде @command{docker " "load}. Смотрите @uref{https://docs.docker.com/engine/reference/commandline/" "load/, документацию Docker} для подробной информации." #. type: cindex #: guix-git/doc/guix.texi:6011 #, no-wrap msgid "Singularity, build an image with guix pack" msgstr "Singularity, сборка образа с помощью guix pack" #. type: cindex #: guix-git/doc/guix.texi:6012 #, no-wrap msgid "SquashFS, build an image with guix pack" msgstr "SquashFS, сборка образа с помощью guix pack" #. type: Plain text #: guix-git/doc/guix.texi:6015 msgid "" "Yet another option is to produce a SquashFS image with the following command:" msgstr "Ещё одна опция производит образ SquashFS следующей командой:" #. type: example #: guix-git/doc/guix.texi:6018 #, no-wrap msgid "guix pack -f squashfs bash guile emacs emacs-geiser\n" msgstr "guix pack -f squashfs guile emacs geiser\n" #. type: Plain text #: guix-git/doc/guix.texi:6026 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: Plain text #: guix-git/doc/guix.texi:6028 msgid "Several command-line options allow you to customize your pack:" msgstr "Несколько опций командной строки позволяют вам переделывать ваш пакет:" #. type: table #: guix-git/doc/guix.texi:6033 msgid "Produce a pack in the given @var{format}." msgstr "Произвести пакет в указанном формате @var{format}." #. type: table #: guix-git/doc/guix.texi:6035 msgid "The available formats are:" msgstr "Возможные форматы:" #. type: item #: guix-git/doc/guix.texi:6037 #, no-wrap msgid "tarball" msgstr "tarball" #. type: table #: guix-git/doc/guix.texi:6040 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:6041 #, no-wrap msgid "docker" msgstr "docker" #. type: table #: guix-git/doc/guix.texi:6047 msgid "" "This produces a tarball that follows the @uref{https://github.com/docker/" "docker/blob/master/image/spec/v1.2.md, Docker Image Specification}. 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." msgstr "" "Это производит архив, соответствующий @uref{https://github.com/docker/docker/" "blob/master/image/spec/v1.2.md, спецификации образа Docker}." #. type: item #: guix-git/doc/guix.texi:6048 #, no-wrap msgid "squashfs" msgstr "squashfs" #. type: table #: guix-git/doc/guix.texi:6052 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:6058 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:6061 #, no-wrap msgid "guix pack -f squashfs bash @dots{}\n" msgstr "guix pack -f squashfs guile emacs geiser\n" #. type: quotation #: guix-git/doc/guix.texi:6066 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:6068 #, fuzzy, no-wrap #| msgid "kde" msgid "deb" msgstr "kde" #. type: table #: guix-git/doc/guix.texi:6076 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 "" #. type: example #: guix-git/doc/guix.texi:6079 #, no-wrap msgid "guix pack -f deb -C xz -S /usr/bin/hello=bin/hello hello\n" msgstr "" #. type: quotation #: guix-git/doc/guix.texi:6086 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." msgstr "" #. type: quotation #: guix-git/doc/guix.texi:6094 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 "" #. type: cindex #: guix-git/doc/guix.texi:6098 #, no-wrap msgid "relocatable binaries" msgstr "перемещаемые двоичные файлы" #. type: item #: guix-git/doc/guix.texi:6099 #, no-wrap msgid "--relocatable" msgstr "--relocatable" #. type: table #: guix-git/doc/guix.texi:6103 msgid "" "Produce @dfn{relocatable binaries}---i.e., binaries that can be placed " "anywhere in the file system hierarchy and run from there." msgstr "" "Создавать @dfn{relocatable binaries} --- то есть двоичные файлы, которые " "можно разместить в любом месте иерархии файловой системы и запускать оттуда." #. type: table #: guix-git/doc/guix.texi:6111 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 "" "Когда эта опция передается один раз, конечные двоичные файлы требуют " "поддержки @dfn{user namespaces} в ядре Linux; при передаче @emph{дважды}" "@footnote{Вот трюк, чтобы запомнить его: @code{-RR}, который добавляет " "поддержку PRoot, можно рассматривать как сокращение от ``Really " "Relocatable''. Удобно, не правда ли?}, Relocatable двоичные файлы " "возвращаются к другим методам, если пользовательские пространства имен " "недоступны, и по существу работают где угодно - см. ниже что под этим " "подразумевается." #. type: table #: guix-git/doc/guix.texi:6113 msgid "For example, if you create a pack containing Bash with:" msgstr "Например, если вы создаете пакет, содержащий Bash, с помощью:" #. type: example #: guix-git/doc/guix.texi:6116 #, 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:6121 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:6125 #, 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:6133 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 "" "В этой оболочке, если вы наберете @code{ls /gnu/store}, вы заметите, что " "отобразятся @file{/gnu/store} и содержатся все зависимости @code{bash}, даже " "если на машине нет @file{/gnu/store}! Это, вероятно, самый простой способ " "установить программное обеспечение, созданное с помощью Guix, на машине, " "отличной от Guix." #. type: quotation #: guix-git/doc/guix.texi:6139 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 "" "По умолчанию relocatable двоичные файлы полагаются на функцию @dfn{user " "namespace} ядра Linux, которая позволяет непривилегированным пользователям " "монтировать или изменять root. Старые версии Linux не поддерживали его, а " "некоторые дистрибутивы GNU/Linux его отключили." #. type: quotation #: guix-git/doc/guix.texi:6145 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 "" "Чтобы создать relocatable двоичные файлы, которые работают даже при " "отсутствии пользовательских пространств имен, передайте @option{--" "relocatable} или @option{-R} @emph{дважды}. В этом случае двоичные файлы " "будут пытаться использовать пространство имен пользователей и возвращаться к " "другому @dfn{механизму выполнения}, если пространства имен пользователей не " "поддерживаются. Поддерживаются следующие механизмы выполнения:" #. type: item #: guix-git/doc/guix.texi:6147 guix-git/doc/guix.texi:16509 #, no-wrap msgid "default" msgstr "по умолчанию" #. type: table #: guix-git/doc/guix.texi:6150 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:6151 #, no-wrap msgid "performance" msgstr "форматирование кода" #. type: table #: guix-git/doc/guix.texi:6154 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:6155 #, no-wrap msgid "userns" msgstr "user" #. type: table #: guix-git/doc/guix.texi:6158 msgid "" "Run the program through user namespaces and abort if they are not supported." msgstr "" "Запустить программу через пользовательские пространства имен и прервать, " "если они не поддерживаются." #. type: item #: guix-git/doc/guix.texi:6159 #, no-wrap msgid "proot" msgstr "chroot" #. type: table #: guix-git/doc/guix.texi:6166 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:6167 #, no-wrap msgid "fakechroot" msgstr "chroot" #. type: table #: guix-git/doc/guix.texi:6175 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, не перехватываются, а обращения к файловой системе, сделанные " "@i{через} прямые системные вызовы, также не перехватываются, что приводит к " "нестабильному поведению." #. type: vindex #: guix-git/doc/guix.texi:6177 #, no-wrap msgid "GUIX_EXECUTION_ENGINE" msgstr "GUIX_EXECUTION_ENGINE" #. type: quotation #: guix-git/doc/guix.texi:6181 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:6183 #, no-wrap msgid "entry point, for Docker images" msgstr "точка входа, для Docker образов" #. type: item #: guix-git/doc/guix.texi:6184 #, no-wrap msgid "--entry-point=@var{command}" msgstr "--commit=@var{commit}" #. type: table #: guix-git/doc/guix.texi:6189 msgid "" "Use @var{command} as the @dfn{entry point} of the resulting pack, if the " "pack format supports it---currently @code{docker} 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{squashfs} (Singularity) поддерживают это. @var{command} должна " "относиться к профилю, содержащемуся в пакете." #. type: table #: guix-git/doc/guix.texi:6193 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:6196 #, no-wrap msgid "guix pack -f docker --entry-point=bin/guile guile\n" msgstr "guix pack -f docker guile emacs geiser\n" #. type: table #: guix-git/doc/guix.texi:6200 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:6204 #, 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: table #: guix-git/doc/guix.texi:6209 guix-git/doc/guix.texi:11860 #: guix-git/doc/guix.texi:12705 msgid "Consider the package @var{expr} evaluates to." msgstr "Процедура, при выполнении которой возвращается пакет." #. type: table #: guix-git/doc/guix.texi:6213 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 package} " "(@pxref{profile-manifest, @option{--manifest}}) и использует такие же файлы " "манифестов." #. type: table #: guix-git/doc/guix.texi:6219 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 "" "Использовать пакеты, содержащиеся в объекте манифеста, возвращенном кодом " "Scheme в @var{file}. Эта опция может быть указана несколько раз, и в этом " "случае манифесты объединяются." #. type: table #: guix-git/doc/guix.texi:6227 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: item #: guix-git/doc/guix.texi:6233 guix-git/doc/guix.texi:10925 #, no-wrap msgid "--target=@var{triplet}" msgstr "--target=@var{triplet}" #. type: cindex #: guix-git/doc/guix.texi:6234 guix-git/doc/guix.texi:6685 #: guix-git/doc/guix.texi:10926 #, no-wrap msgid "cross-compilation" msgstr "кросс-компиляция" #. type: table #: guix-git/doc/guix.texi:6238 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 "" "Cross-сборка для @var{triplet}, который должен быть допустимым GNU triplet, " "например @code{\\ \"aarch64-linux-gnu\\\"} (@pxref{Specifying target " "triplets, GNU configuration triplets,, autoconf, Autoconf})." #. type: item #: guix-git/doc/guix.texi:6239 #, no-wrap msgid "--compression=@var{tool}" msgstr "--compression=@var{tool}" #. type: itemx #: guix-git/doc/guix.texi:6240 #, no-wrap msgid "-C @var{tool}" msgstr "-C @var{tool}" #. type: table #: guix-git/doc/guix.texi:6244 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: item #: guix-git/doc/guix.texi:6245 #, no-wrap msgid "--symlink=@var{spec}" msgstr "--symlink=@var{spec}" #. type: itemx #: guix-git/doc/guix.texi:6246 #, no-wrap msgid "-S @var{spec}" msgstr "-S @var{spec}" #. type: table #: guix-git/doc/guix.texi:6249 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:6253 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:6256 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{/opt/" "gnu/bin}, указывающую на подкаталог @file{bin} профиля." #. type: item #: guix-git/doc/guix.texi:6257 guix-git/doc/guix.texi:34128 #, no-wrap msgid "--save-provenance" msgstr "--save-provenance" #. type: table #: guix-git/doc/guix.texi:6261 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:6267 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} в пакете вместе с обычными метаданными пакета - названием " "и версией каждого пакета, их propagated inputs и т.п. Это полезная " "информация для получателя pack, который исходя из нее знает, как " "(предположительно) был собран pack." #. type: table #: guix-git/doc/guix.texi:6273 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 коммитов, которые " "могут привести к одному и тому же pack. Таким образом, запись таких " "``тихих'' метаданных в output потенциально нарушает свойство побитовой " "воспроизводимости." #. type: cindex #: guix-git/doc/guix.texi:6276 #, no-wrap msgid "garbage collector root, for packs" msgstr "корни сборщика мусора" #. type: table #: guix-git/doc/guix.texi:6279 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:6280 #, no-wrap msgid "--localstatedir" msgstr "--localstatedir" #. type: itemx #: guix-git/doc/guix.texi:6281 #, no-wrap msgid "--profile-name=@var{name}" msgstr "--profile-name=@var{name}" #. type: table #: guix-git/doc/guix.texi:6286 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:6292 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 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} содержит базу данных store (@pxref{The Store}), а также " "корни сборщика мусора (@pxref{Invoking guix gc}). Предоставление ее в pack " "означает, что store является ``полным'' и управляемым Guix; отсутствие в " "pack означает, что store ``мертв'': пакеты нельзя добавить в него или " "удалить из него после извлечения pack." #. type: table #: guix-git/doc/guix.texi:6295 msgid "" "One use case for this is the Guix self-contained binary tarball " "(@pxref{Binary Installation})." msgstr "" "Одним из вариантов использования является включающий себя двоичный архив " "Guix (@pxref{Binary Installation})." #. type: item #: guix-git/doc/guix.texi:6296 guix-git/doc/guix.texi:34122 #, no-wrap msgid "--derivation" msgstr "--derivation" #. type: itemx #: guix-git/doc/guix.texi:6297 guix-git/doc/guix.texi:10957 #: guix-git/doc/guix.texi:34123 #, no-wrap msgid "-d" msgstr "-d" #. type: table #: guix-git/doc/guix.texi:6299 msgid "Print the name of the derivation that builds the pack." msgstr "Выведите имя derivation, которая создает pack." #. type: table #: guix-git/doc/guix.texi:6303 msgid "" "Use the bootstrap binaries to build the pack. This option is only useful to " "Guix developers." msgstr "" "Использовать bootstrap бинарники для сборки пакета. Эта опция полезна " "только разработчикам Guix." #. type: Plain text #: guix-git/doc/guix.texi:6308 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:6313 #, no-wrap msgid "GCC" msgstr "GCC" #. type: cindex #: guix-git/doc/guix.texi:6314 #, no-wrap msgid "ld-wrapper" msgstr "ld-wrapper" #. type: cindex #: guix-git/doc/guix.texi:6315 #, no-wrap msgid "linker wrapper" msgstr "ld-wrapper" #. type: cindex #: guix-git/doc/guix.texi:6316 #, no-wrap msgid "toolchain, for C development" msgstr "Разработка программного обеспечения" #. type: cindex #: guix-git/doc/guix.texi:6317 #, no-wrap msgid "toolchain, for Fortran development" msgstr "инструменты, для разработки на Fortran" #. type: Plain text #: guix-git/doc/guix.texi:6324 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 "" "Guix предлагает индивидуальные пакеты компиляторов, как например, " "@code{gcc}. Но если вам необходим полный набор инструментов (тулчейн) для " "компиляции и линковки исходного кода, тогда то, что вам действительно нужно, " "--- это пакет @code{gcc-toolchain}. Этот пакет предоставляет полный тулчейн " "GCC для разработки C/C++, включая сам GCC, библиотеку GNU C (заголовки и " "бинарники, а также отладочные символы в выходе @code{debug}), Binutils и " "набор линковщика." #. type: Plain text #: guix-git/doc/guix.texi:6330 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}, и вызывать " "соответствующий линковщик с этим новым набором аргументов. Вы можете указать " "оболочке отклонять линковку с библиотеками, находящимися не на складе, " "установив переменную окружения @code{GUIX_LD_WRAPPER_ALLOW_IMPURITIES} в " "значение @code{no}." #. type: Plain text #: guix-git/doc/guix.texi:6334 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:6337 #, no-wrap msgid "Invoking @command{guix git authenticate}" msgstr "Вызов @command{guix package}" #. type: Plain text #: guix-git/doc/guix.texi:6345 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}). То есть, начиная с данного коммита, он гарантирует, что " "все последующие коммиты подписаны ключом OpenPGP, отпечаток которого указан " "в файле @file{.guix-authorizations} его родительского коммита(ов)." #. type: Plain text #: guix-git/doc/guix.texi:6350 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 "" "Вы найдете эту команду полезной, если будете поддерживать канал. Но на " "самом деле этот механизм аутентификации полезен в более широком контексте, " "поэтому вы можете использовать его для репозиториев Git, которые не имеют " "ничего общего с Guix." #. type: example #: guix-git/doc/guix.texi:6355 #, no-wrap msgid "guix git authenticate @var{commit} @var{signer} [@var{options}@dots{}]\n" msgstr "guix environment @var{options} @var{package}@dots{}\n" #. type: Plain text #: guix-git/doc/guix.texi:6364 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 ``channel " "introduction'' (@pxref{channel-authentication, channel introduction}). The " "options below allow you to fine-tune the process." msgstr "" "По умолчанию эта команда аутентифицирует проверку Git в текущем каталоге; " "она ничего не выводит и завершает работу с нулевым кодом в случае успеха и " "ненулевым в случае неудачи. @var{commit} выше обозначает первый коммит, в " "котором происходит аутентификация, а @var{signer} - это отпечаток открытого " "ключа OpenPGP, используемый для подписи @var{commit}. Вместе они образуют " "``channel introduction'' (@pxref{channel-authentication, channel " "introduction}). Указанные ниже параметры позволяют вам точно настроить " "процесс." #. type: item #: guix-git/doc/guix.texi:6366 #, no-wrap msgid "--repository=@var{directory}" msgstr "--extract=@var{directory}" #. type: itemx #: guix-git/doc/guix.texi:6367 #, no-wrap msgid "-r @var{directory}" msgstr "-x @var{directory}" #. type: table #: guix-git/doc/guix.texi:6370 msgid "" "Open the Git repository in @var{directory} instead of the current directory." msgstr "Открыть репозиторий Git в @var{directory} вместо текущего каталога." #. type: item #: guix-git/doc/guix.texi:6371 #, no-wrap msgid "--keyring=@var{reference}" msgstr "--expression=@var{expr}" #. type: itemx #: guix-git/doc/guix.texi:6372 #, no-wrap msgid "-k @var{reference}" msgstr "-F @var{free}" #. type: table #: guix-git/doc/guix.texi:6378 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 "" "Загрузить связку ключей OpenPGP из @var{reference}, ссылки на branch, " "например @code{origin/keyring} или @code{my-keyring}. branch должна " "содержать открытые ключи OpenPGP в файлах @file{.key} либо в двоичной форме, " "либо в ``ASCII-armored'' виде. По умолчанию связка ключей загружается из " "branch с именем @code{keyring}." #. type: item #: guix-git/doc/guix.texi:6379 #, no-wrap msgid "--stats" msgstr "--stats" #. type: table #: guix-git/doc/guix.texi:6381 msgid "Display commit signing statistics upon completion." msgstr "Отобразить статистику подписания commit'ов по завершению." #. type: item #: guix-git/doc/guix.texi:6382 #, no-wrap msgid "--cache-key=@var{key}" msgstr "--search=@var{regexp}" #. type: table #: guix-git/doc/guix.texi:6386 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:6387 #, no-wrap msgid "--historical-authorizations=@var{file}" msgstr "--install-from-file=@var{file}" #. type: table #: guix-git/doc/guix.texi:6394 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} " "format})." #. type: Plain text #: guix-git/doc/guix.texi:6407 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:6413 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:6422 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}. Derivation - это низкоуровневое " "представление действий сборки, которые должны быть предприняты, и среды, в " "которой они должны происходить - derivation'ы относятся к определениям " "пакетов, как сборка для программ на C. Термин ``derivation'' происходит от " "того факта, что результаты сборки @emph{производные} от них." #. type: Plain text #: guix-git/doc/guix.texi:6425 msgid "" "This chapter describes all these APIs in turn, starting from high-level " "package definitions." msgstr "" "В этой главе описываются все эти API по очереди, начиная с определений " "пакетов высокого уровня." #. type: menuentry #: guix-git/doc/guix.texi:6438 msgid "Programming Guix in Guile" msgstr "Программирование Guix в Guile" #. type: Plain text #: guix-git/doc/guix.texi:6454 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{} object (@pxref{Defining " "Packages})." msgstr "" "С точки зрения программирования, определения пакетов дистрибутива GNU " "предоставляются модулями Guile в пространстве имен @code{(gnu packages " "@dots{})} @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{} объекту (@pxref{Defining Packages})." #. type: Plain text #: guix-git/doc/guix.texi:6461 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:6463 #, no-wrap msgid "package module search path" msgstr "путь для поиска пакетных модулей" #. type: Plain text #: guix-git/doc/guix.texi:6472 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)} должен храниться в файле @file{my-packages/emacs.scm} относительно " "пути загрузки, указанного с помощью @option{--load-path} или " "@env{GUIX_PACKAGE_PATH}. @xref{Modules and the File System,,, guile, GNU " "Guile Reference Manual}, для подробностей.}. Есть два способа сделать эти " "определения пакетов видимыми для пользовательских интерфейсов:" #. type: enumerate #: guix-git/doc/guix.texi:6479 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 "" "Добавить каталог, содержащий модули вашего пакета, в пути поиска с помощью " "флага @code{-L} команды @command{guix package} и другие команды " "(@pxref{Common Build Options}) или указать переменную окружения " "@env{GUIX_PACKAGE_PATH}, описанную ниже." #. type: enumerate #: guix-git/doc/guix.texi:6485 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{канал} и настроить @command{guix pull} так, чтобы он " "учитывал его. Канал - это, по сути, репозиторий Git, содержащий модули " "пакетов. @xref{Channels}, чтобы узнать больше о том, как определять и " "использовать каналы." #. type: Plain text #: guix-git/doc/guix.texi:6488 msgid "@env{GUIX_PACKAGE_PATH} works similarly to other search path variables:" msgstr "" "@env{GUIX_PACKAGE_PATH} работает аналогично другим переменным пути поиска:" #. type: defvr #: guix-git/doc/guix.texi:6489 #, no-wrap msgid "{Environment Variable} GUIX_PACKAGE_PATH" msgstr "{Environment Variable} GUIX_PACKAGE_PATH" #. type: defvr #: guix-git/doc/guix.texi:6493 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:6501 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{bootstrapped} и @dfn{самодостаточный}: каждый " "пакет построен исключительно на основе других пакетов в дистрибутиве. " "Корнем этого графа зависимостей является небольшой набор @dfn{bootstrap " "бинарный файлы}, предоставляемых модулем @code{(gnu packages bootstrap)}. " "Для получения дополнительной информации о начальной загрузке " "@pxref{Bootstrapping}." #. type: Plain text #: guix-git/doc/guix.texi:6509 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)}. Например, определение " "пакета или @dfn{рецепта} для пакета GNU Hello выглядит так:" #. type: lisp #: guix-git/doc/guix.texi:6517 #, 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:6536 #, 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 `((\"gawk\" ,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 `((\"gawk\" ,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" #. type: Plain text #: guix-git/doc/guix.texi:6546 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{} 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{}, который по сути является record (@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:6550 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:6556 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:6558 msgid "There are a few points worth noting in the above package definition:" msgstr "" "В приведенном выше определении пакета стоит отметить несколько моментов:" #. type: itemize #: guix-git/doc/guix.texi:6565 msgid "" "The @code{source} field of the package is an @code{} 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{} " "(@pxref{origin Reference}, for the complete reference). Здесь используется " "метод @code{url-fetch} из @code{(guix download)}, что означает, что " "источником является файл, который нужно загрузить через FTP или HTTP." #. type: itemize #: guix-git/doc/guix.texi:6568 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} использовать одно из " "зеркал GNU, определенных в @code{(guix download)}." #. type: itemize #: guix-git/doc/guix.texi:6575 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:6576 #, no-wrap msgid "patches" msgstr "патчи" #. type: itemize #: guix-git/doc/guix.texi:6580 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:6582 #, no-wrap msgid "GNU Build System" msgstr "Система сборки GNU" #. type: itemize #: guix-git/doc/guix.texi:6588 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:6592 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:6598 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:6599 guix-git/doc/guix.texi:6602 #, no-wrap msgid "quote" msgstr "цитата" #. type: cindex #: guix-git/doc/guix.texi:6600 #, no-wrap msgid "quoting" msgstr "цитирование" #. type: findex #: guix-git/doc/guix.texi:6601 #, no-wrap msgid "'" msgstr "'" #. type: itemize #: guix-git/doc/guix.texi:6610 msgid "" "What about these quote (@code{'}) characters? They are Scheme syntax to " "introduce a literal list; @code{'} is synonymous with @code{quote}. " "@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 для " "представления literal списка; @code{'} является синонимом @code{цитата}. " "@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:6616 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:6622 msgid "" "The @code{inputs} field specifies inputs to the build process---i.e., build-" "time or run-time dependencies of the package. Here, we define an input " "called @code{\"gawk\"} whose value is that of the @code{gawk} variable; " "@code{gawk} is itself bound to a @code{} object." msgstr "" "Поле @code{inputs} указывает входные данные для процесса сборки, т.е. " "зависимости пакета во время сборки или выполнения. Здесь мы определяем " "input с именем @code{\"gawk\"}, значение которого совпадает со значением " "переменной @code{gawk}; @code{gawk} сам связан с объектом @code{}." #. type: cindex #: guix-git/doc/guix.texi:6623 #, no-wrap msgid "backquote (quasiquote)" msgstr "обратная цитата (квазицитата)" #. type: findex #: guix-git/doc/guix.texi:6624 #, no-wrap msgid "`" msgstr "`" #. type: findex #: guix-git/doc/guix.texi:6625 #, no-wrap msgid "quasiquote" msgstr "quasiquote" #. type: cindex #: guix-git/doc/guix.texi:6626 #, no-wrap msgid "comma (unquote)" msgstr "запятая (не цитирование)" #. type: findex #: guix-git/doc/guix.texi:6627 #, no-wrap msgid "," msgstr "," #. type: findex #: guix-git/doc/guix.texi:6628 #, no-wrap msgid "unquote" msgstr "unquote" #. type: findex #: guix-git/doc/guix.texi:6629 #, no-wrap msgid ",@@" msgstr ",@@" #. type: findex #: guix-git/doc/guix.texi:6630 #, no-wrap msgid "unquote-splicing" msgstr "unquote-splicing" #. type: itemize #: guix-git/doc/guix.texi:6636 msgid "" "Again, @code{`} (a backquote, synonymous with @code{quasiquote}) allows us " "to introduce a literal list in the @code{inputs} field, while @code{,} (a " "comma, synonymous with @code{unquote}) allows us to insert a value in that " "list (@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference " "Manual})." msgstr "" "Опять же, @code{`} (обратная кавычка, синоним @code{quasiquote}) позволяет " "нам ввести literal список в поле @code{inputs}, а @code{,} (запятая, синоним " "@code{unquote}) позволяет нам вставить значение в этот список " "(@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual})." #. type: itemize #: guix-git/doc/guix.texi:6640 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 и другие важные инструменты не " "нужно указывать здесь в качестве inputs. Вместо этого @code{gnu-build-" "system} позаботится об их наличии (@pxref{Build Systems})." #. type: itemize #: guix-git/doc/guix.texi:6644 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:6647 msgid "@xref{package Reference}, for a full description of possible fields." msgstr "@xref{package Reference}, для полного описания возможных полей." #. type: Plain text #: guix-git/doc/guix.texi:6658 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:6658 #, no-wrap msgid "GUIX_PACKAGE_PATH" msgstr "GUIX_PACKAGE_PATH" #. type: Plain text #: guix-git/doc/guix.texi:6662 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:6666 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:6672 msgid "" "Behind the scenes, a derivation corresponding to the @code{} 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 "" "За кулисами derivation, соответствующая объекту @code{}, сначала " "вычисляется с помощью процедуры @code{package-diveration}. Этот вывод " "хранится в файле @file{.drv} в каталоге @file{/gnu/store}. Действия сборки, " "которые он предписывает, затем могут быть реализованы с помощью процедуры " "@code{build-derivations} (@pxref{The Store})." #. type: deffn #: guix-git/doc/guix.texi:6673 #, no-wrap msgid "{Scheme Procedure} package-derivation @var{store} @var{package} [@var{system}]" msgstr "{Процедура Scheme} package-derivation @var{store} @var{package} [@var{system}]" #. type: deffn #: guix-git/doc/guix.texi:6676 msgid "" "Return the @code{} object of @var{package} for @var{system} " "(@pxref{Derivations})." msgstr "" "Возвращает the @code{} объект @var{package} для @var{system} " "(@pxref{Derivations})." #. type: deffn #: guix-git/doc/guix.texi:6682 msgid "" "@var{package} must be a valid @code{} 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{}, а " "@var{system} должен быть строкой, обозначающей тип системы---например, " "@code{\"x86_64-linux\"} для системы GNU на базе x86_64 Linux. @var{store} " "должен быть подключен к демону, который работает с хранилищем (@pxref{The " "Store})." #. type: Plain text #: guix-git/doc/guix.texi:6688 msgid "" "Similarly, it is possible to compute a derivation that cross-builds a " "package for some other system:" msgstr "" "Точно так же можно вычислить derivation, которая cross собирает пакет для " "некоторой другой системы:" #. type: deffn #: guix-git/doc/guix.texi:6689 #, no-wrap msgid "{Scheme Procedure} package-cross-derivation @var{store} @" msgstr "{Процедура Scheme} package-cross-derivation @var{store} @" #. type: deffn #: guix-git/doc/guix.texi:6693 msgid "" "@var{package} @var{target} [@var{system}] Return the @code{} " "object of @var{package} cross-built from @var{system} to @var{target}." msgstr "" "@var{package} @var{target} [@var{system}] Возвращает @code{} " "объект @var{package} cross-собранный из @var{system} в @var{target}." #. type: deffn #: guix-git/doc/guix.texi:6697 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 triplet'ом, обозначающим желамое " "оборудование и операционную систему, например @code{\"aarch64-linux-gnu\"} " "(@pxref{Specifying Target Triplets,,, autoconf, Autoconf})." #. type: Plain text #: guix-git/doc/guix.texi:6701 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{Defining Package Variants}, чтобы " "узнать об этом подробнее." #. type: subsection #: guix-git/doc/guix.texi:6709 #, no-wrap msgid "@code{package} Reference" msgstr "@code{package} Ссылка" #. type: Plain text #: guix-git/doc/guix.texi:6713 msgid "" "This section summarizes all the options available in @code{package} " "declarations (@pxref{Defining Packages})." msgstr "" "В этом разделе перечислены все параметры, доступные в объявлениях " "@code{package} (@pxref{Defining Packages})." #. type: deftp #: guix-git/doc/guix.texi:6714 #, no-wrap msgid "{Data Type} package" msgstr "{Тип данных} package" #. type: deftp #: guix-git/doc/guix.texi:6716 msgid "This is the data type representing a package recipe." msgstr "Это тип данных, представляющий рецепт пакета." #. type: table #: guix-git/doc/guix.texi:6720 msgid "The name of the package, as a string." msgstr "Название пакета в виде строки." #. type: code{#1} #: guix-git/doc/guix.texi:6721 #, no-wrap msgid "version" msgstr "версия" #. type: table #: guix-git/doc/guix.texi:6724 #, fuzzy #| msgid "The version of the package, as a string." msgid "" "The version of the package, as a string. @xref{Version Numbers}, for " "guidelines." msgstr "Версия пакета, в виде строки." #. type: code{#1} #: guix-git/doc/guix.texi:6725 guix-git/doc/guix.texi:12167 #: guix-git/doc/guix.texi:14469 guix-git/doc/guix.texi:14972 #, no-wrap msgid "source" msgstr "источник" #. type: table #: guix-git/doc/guix.texi:6732 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 Reference}). Это также может быть " "любой другой объект, подобный файлу, например @code{local-file}, который " "представляет собой файл из локальной файловой системы (@pxref{G-Expressions, " "@code{local-file}})." #. type: code{#1} #: guix-git/doc/guix.texi:6733 #, no-wrap msgid "build-system" msgstr "система сборки" #. type: table #: guix-git/doc/guix.texi:6736 msgid "" "The build system that should be used to build the package (@pxref{Build " "Systems})." msgstr "" "Система сборки, которую следует использовать для сборки пакета (@pxref{Build " "Systems})." #. type: item #: guix-git/doc/guix.texi:6737 guix-git/doc/guix.texi:16957 #, no-wrap msgid "@code{arguments} (default: @code{'()})" msgstr "@code{arguments} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:6740 msgid "" "The arguments that should be passed to the build system. This is a list, " "typically containing sequential keyword-value pairs." msgstr "" "Аргументы, которые следует передать системе сборки. Это список, обычно " "содержащий последовательные пары ключевого слова и значения." #. type: item #: guix-git/doc/guix.texi:6741 #, no-wrap msgid "@code{inputs} (default: @code{'()})" msgstr "@code{inputs} (default: @code{'()})" #. type: itemx #: guix-git/doc/guix.texi:6742 #, no-wrap msgid "@code{native-inputs} (default: @code{'()})" msgstr "@code{native-inputs} (default: @code{'()})" #. type: itemx #: guix-git/doc/guix.texi:6743 #, no-wrap msgid "@code{propagated-inputs} (default: @code{'()})" msgstr "@code{propagated-inputs} (default: @code{'()})" #. type: cindex #: guix-git/doc/guix.texi:6744 #, no-wrap msgid "inputs, of packages" msgstr "входные данные пакетов" #. type: table #: guix-git/doc/guix.texi:6752 msgid "" "These fields list dependencies of the package. Each one is 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\"} (@pxref{Packages with Multiple Outputs}, for more " "on package outputs). For example, the list below specifies three inputs:" msgstr "" "В этих полях перечислены зависимости пакета. Каждый из них представляет " "собой список кортежей, где каждый кортеж имеет метку для ввода (строку) в " "качестве своего первого элемента, пакет, источник или derivation в качестве " "второго элемента и, необязательно, имя его вывода, которое следует " "использовать, которое по умолчанию является @code{\"out\"} (@pxref{Packages " "with Multiple Outputs}, for more on package outputs). Например, в списке " "ниже указаны три входа:" #. type: lisp #: guix-git/doc/guix.texi:6757 #, no-wrap msgid "" "`((\"libffi\" ,libffi)\n" " (\"libunistring\" ,libunistring)\n" " (\"glib:bin\" ,glib \"bin\")) ;the \"bin\" output of Glib\n" msgstr "" "`((\"libffi\" ,libffi)\n" " (\"libunistring\" ,libunistring)\n" " (\"glib:bin\" ,glib \"bin\")) ;the \"bin\" output of Glib\n" #. type: cindex #: guix-git/doc/guix.texi:6759 #, no-wrap msgid "cross compilation, package dependencies" msgstr "кросс-компиляция, зависимости пакетов" #. type: table #: guix-git/doc/guix.texi:6765 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{input}, создаются для архитектуры @emph{target}; и " "наоборот, зависимости, перечисленные в @code{native-inputs}, созданы для " "архитектуры машины, выполняющей @emph{сборку}." #. type: table #: guix-git/doc/guix.texi:6770 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:6778 msgid "package-propagated-inputs" msgstr "package-propagated-inputs" #. type: table #: guix-git/doc/guix.texi:6778 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}}, for " "information on how @command{guix package} deals with propagated inputs)." #. type: table #: guix-git/doc/guix.texi:6782 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 " "ссылается на другое поле @i{через} его @code{Requires}." #. type: table #: guix-git/doc/guix.texi:6789 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} - это языки, в которых " "отсутствует возможность записывать путь поиска во время выполнения, " "аналогичный @code{RUNPATH} файлов ELF; сюда входят Guile, Python, Perl и " "другие. При упаковке библиотек, написанных на этих языках, убедитесь, что " "они могут найти код библиотеки, от которого они зависят, во время " "выполнения, указав зависимости времени выполнения в @code{propagated-" "inputs}, а не в @code{inputs}." #. type: item #: guix-git/doc/guix.texi:6790 #, no-wrap msgid "@code{outputs} (default: @code{'(\"out\")})" msgstr "@code{outputs} (default: @code{'(\"out\")})" #. type: table #: guix-git/doc/guix.texi:6793 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:6794 #, no-wrap msgid "@code{native-search-paths} (default: @code{'()})" msgstr "@code{native-search-paths} (default: @code{'()})" #. type: itemx #: guix-git/doc/guix.texi:6795 #, no-wrap msgid "@code{search-paths} (default: @code{'()})" msgstr "@code{search-paths} (по умолчанию: @code{'()})" #. type: table #: guix-git/doc/guix.texi:6798 msgid "" "A list of @code{search-path-specification} objects describing search-path " "environment variables honored by the package." msgstr "" "Список объектов @code{search-path-specification}, описывающих переменные " "среды пути поиска, учитываемые пакетом." #. type: item #: guix-git/doc/guix.texi:6799 #, no-wrap msgid "@code{replacement} (default: @code{#f})" msgstr "@code{replacement} (по умолчанию: @code{#f})" #. type: table #: guix-git/doc/guix.texi:6803 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{замена} для этого пакета. @xref{Security Updates, " "grafts}, чтобы узнать подробности." #. type: item #: guix-git/doc/guix.texi:6804 guix-git/doc/guix.texi:12159 #, no-wrap msgid "synopsis" msgstr "синопсис" #. type: table #: guix-git/doc/guix.texi:6806 msgid "A one-line description of the package." msgstr "Описание пакета в одну строку." #. type: code{#1} #: guix-git/doc/guix.texi:6807 guix-git/doc/guix.texi:12160 #: guix-git/doc/guix.texi:34824 guix-git/doc/guix.texi:34975 #, no-wrap msgid "description" msgstr "описание" #. type: table #: guix-git/doc/guix.texi:6809 msgid "A more elaborate description of the package." msgstr "Более подробное описание пакета." #. type: code{#1} #: guix-git/doc/guix.texi:6810 #, no-wrap msgid "license" msgstr "лицензия" #. type: cindex #: guix-git/doc/guix.texi:6811 #, no-wrap msgid "license, of packages" msgstr "лицензии пакетов" #. type: table #: guix-git/doc/guix.texi:6814 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:6815 guix-git/doc/guix.texi:12168 #, no-wrap msgid "home-page" msgstr "главная страница" #. type: table #: guix-git/doc/guix.texi:6817 msgid "The URL to the home-page of the package, as a string." msgstr "URL-адрес домашней страницы пакета в виде строки." #. type: item #: guix-git/doc/guix.texi:6818 #, no-wrap msgid "@code{supported-systems} (default: @code{%supported-systems})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:6821 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:6822 #, 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:6826 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: deffn #: guix-git/doc/guix.texi:6829 #, no-wrap msgid "{Scheme Syntax} this-package" msgstr "{Scheme Syntax} this-package" #. type: deffn #: guix-git/doc/guix.texi:6832 msgid "" "When used in the @emph{lexical scope} of a package field definition, this " "identifier resolves to the package being defined." msgstr "" "При использовании в @emph{lexical scope} определения поля пакета этот " "идентификатор преобразуется в определяемый пакет." #. type: deffn #: guix-git/doc/guix.texi:6835 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:6840 #, 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:6846 #, 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" " `((\"self\" ,this-package))\n" " '())))\n" msgstr "" " ;; 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" " `((\"self\" ,this-package))\n" " '())))\n" #. type: deffn #: guix-git/doc/guix.texi:6849 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:6855 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:6856 #, no-wrap msgid "tool chain, choosing a package's tool chain" msgstr "tool chain, выбор инструментов пакета" #. type: deffn #: guix-git/doc/guix.texi:6857 #, no-wrap msgid "{Scheme Procedure} package-with-c-toolchain @var{package} @var{toolchain}" msgstr "{Процедура Scheme} inferior-package-location @var{package}" #. type: deffn #: guix-git/doc/guix.texi:6862 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:6866 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 "" "Пример ниже возвращает вариант пакета @code{hello}, созданный с помощью " "GCC@tie{}10.x и остальной части GNU утилит (Binutils и библиотеки GNU C) " "вместо цепочки инструментов по умолчанию:" #. type: lisp #: guix-git/doc/guix.texi:6870 #, 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:6878 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. @ref{Build Systems}, for more on " "build systems." msgstr "" "Инструменты сборки являются частью @dfn{неявных входных данных} пакетов - " "обычно они не указываются как часть различных полей ``входных данных'', а " "вместо этого извлекается системой сборки. Следовательно, эта процедура " "работает путем изменения системы сборки @var{package}, так что она " "использует @var{toolchain} вместо значений по умолчанию. @ref{Build " "Systems}, чтобы узнать больше о системах сборки." #. type: subsection #: guix-git/doc/guix.texi:6881 #, no-wrap msgid "@code{origin} Reference" msgstr "@code{origin} Справка" #. type: Plain text #: guix-git/doc/guix.texi:6889 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{origins}. Объявление @code{origin} " "определяет данные, которые должны быть ``произведены''---обычно загружены---" "и чей хэш содержимого известен заранее. Origins в основном используются для " "представления исходного кода пакетов (@pxref{Defining Packages}). По этой " "причине форма @code{origin} позволяет вам объявлять исправления для " "применения к исходному коду, а также фрагменты кода для его изменения." #. type: deftp #: guix-git/doc/guix.texi:6890 #, no-wrap msgid "{Data Type} origin" msgstr "{Тип данных} origin" #. type: deftp #: guix-git/doc/guix.texi:6892 msgid "This is the data type representing a source code origin." msgstr "Это тип данных, представляющий источник исходного кода." #. type: code{#1} #: guix-git/doc/guix.texi:6894 guix-git/doc/guix.texi:25501 #, no-wrap msgid "uri" msgstr "uri" #. type: table #: guix-git/doc/guix.texi:6899 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:6900 #, no-wrap msgid "fixed-output derivations, for download" msgstr "derivation'ы с фиксированным выводом, для загрузки" #. type: code{#1} #: guix-git/doc/guix.texi:6901 #, no-wrap msgid "method" msgstr "метод" #. type: table #: guix-git/doc/guix.texi:6908 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}. " "Она должна возвращать элемент store или derivation в store монаде " "(@pxref{The Store Monad}); большинство методов возвращают derivation с " "фиксированным выводом (@pxref{Derivations})." #. type: table #: guix-git/doc/guix.texi:6912 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:6913 #, no-wrap msgid "sha256" msgstr "sha256" #. type: table #: guix-git/doc/guix.texi:6917 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 источника. Это эквивалент " "предоставлению объекта SHA256 @code{content-hash} в поле @code{hash}, " "описанном ниже." #. type: code{#1} #: guix-git/doc/guix.texi:6918 #, no-wrap msgid "hash" msgstr "hash" #. type: table #: guix-git/doc/guix.texi:6921 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:6925 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:6926 #, no-wrap msgid "@code{file-name} (default: @code{#f})" msgstr "@code{file-name} (по умолчанию: @code{#f})" #. type: table #: guix-git/doc/guix.texi:6932 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:6933 #, no-wrap msgid "@code{patches} (default: @code{'()})" msgstr "@code{patches} (по умолчанию: @code{'()})" #. type: table #: guix-git/doc/guix.texi:6936 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:6940 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:6941 #, no-wrap msgid "@code{snippet} (default: @code{#f})" msgstr "@code{snippet} (по умолчанию: @code{#f})" #. type: table #: guix-git/doc/guix.texi:6945 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:6946 #, no-wrap msgid "@code{patch-flags} (default: @code{'(\"-p1\")})" msgstr "@code{patch-flags} (по умолчанию: @code{'(\"-p1\")})" #. type: table #: guix-git/doc/guix.texi:6949 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:6950 #, no-wrap msgid "@code{patch-inputs} (default: @code{#f})" msgstr "@code{patch-inputs} (по умолчанию: @code{#f})\"" #. type: table #: guix-git/doc/guix.texi:6954 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 "" "Входные пакеты или derivation'ы для процесса исправления. Когда это " "@code{#f}, предоставляется обычный набор входных данных, необходимых для " "исправления, например GNU@tie{}Patch." #. type: item #: guix-git/doc/guix.texi:6955 guix-git/doc/guix.texi:25374 #, no-wrap msgid "@code{modules} (default: @code{'()})" msgstr "@code{modules} (по умолчанию: @code{'()})" #. type: table #: guix-git/doc/guix.texi:6958 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 "" "Список модулей Guile, которые должны быть загружены в процессе установки " "исправлений и при выполнении кода, в поле @code{snippet}." #. type: item #: guix-git/doc/guix.texi:6959 #, no-wrap msgid "@code{patch-guile} (default: @code{#f})" msgstr "@code{patch-guile} (по умолчанию: @code{#f})" #. type: table #: guix-git/doc/guix.texi:6962 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:6965 #, 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:6969 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:6972 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:6974 msgid "The following forms are all equivalent:" msgstr "Следующие зависимости необязательны:" #. type: lisp #: guix-git/doc/guix.texi:6983 #, 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:6988 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:6994 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:6995 #, no-wrap msgid "{Scheme Procedure} url-fetch @var{url} @var{hash-algo} @var{hash} @" msgstr "{Scheme Procedure} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:7003 msgid "" "[name] [#:executable? #f] 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 "" "[name] [#:executable? #f] Возвращает derivation с фиксированным выводом, " "которая извлекает данные из @var{url} (строка или список строк, обозначающих " "альтернативные URL-адреса), который, как ожидается, будет иметь хэш " "@var{hash} типа @var{hash-algo} (символ). По умолчанию имя файла - это " "базовое имя URL-адреса; при желании @var{name} может указывать другое имя " "файла. Если @var{executable?} истинно, загруженный файл будет исполняемым." #. type: deffn #: guix-git/doc/guix.texi:7006 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:7009 msgid "" "Alternatively, when URL starts with @code{file://}, return the corresponding " "file name in the store." msgstr "" "В качестве альтернативного варианта, если URL-адрес начинается с " "@code{file://}, вернуть соответствующее имя файла в store." #. type: Plain text #: guix-git/doc/guix.texi:7015 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-download}, который извлекает данные из репозитория " "управления версиями Git, и тип данных @code{git-reference} для описания " "репозиторий и ревизия для загрузки." #. type: deffn #: guix-git/doc/guix.texi:7016 #, no-wrap msgid "{Scheme Procedure} git-fetch @var{ref} @var{hash-algo} @var{hash}" msgstr "{Scheme Procedure} mixed-text-file @var{name} @var{text} @dots{}" #. type: deffn #: guix-git/doc/guix.texi:7021 msgid "" "Return a fixed-output derivation that fetches @var{ref}, a @code{} 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 "" "Вернуть derivation с фиксированным выводом, которая выбирает объект " "@var{ref}, @code{}. Ожидается, что на выходе будет " "рекурсивный хеш @var{hash} типа @var{hash-algo} (символ). Использовать " "@var{name} в качестве имени файла или общее имя, если @code{#f}." #. type: deftp #: guix-git/doc/guix.texi:7023 #, no-wrap msgid "{Data Type} git-reference" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:7026 msgid "" "This data type represents a Git reference for @code{git-fetch} to retrieve." msgstr "Управление конфигурацией операционной системы." #. type: code{#1} #: guix-git/doc/guix.texi:7028 guix-git/doc/guix.texi:23135 #, no-wrap msgid "url" msgstr "url" #. type: table #: guix-git/doc/guix.texi:7030 msgid "The URL of the Git repository to clone." msgstr "URL-адрес репозитория Git для клонирования." #. type: code{#1} #: guix-git/doc/guix.texi:7031 #, no-wrap msgid "commit" msgstr "commit" #. type: table #: guix-git/doc/guix.texi:7036 #, fuzzy #| msgid "" #| "This string denotes either the commit to fetch (a hexadecimal string, " #| "either the full SHA1 commit or a ``short'' commit string; the latter is " #| "not recommended) or the tag to fetch." 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 "" "Эта строка обозначает либо коммит для загрузки (шестнадцатеричная строка, " "либо полный SHA1 коммит, либо ``short'' коммит строка; последнее не " "рекомендуется), либо тег." #. type: item #: guix-git/doc/guix.texi:7037 #, no-wrap msgid "@code{recursive?} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:7039 msgid "This Boolean indicates whether to recursively fetch Git sub-modules." msgstr "" "Это логическое значение (boolean) указывает, нужно ли рекурсивно получать " "подмодули Git." #. type: deftp #: guix-git/doc/guix.texi:7043 msgid "" "The example below denotes the @code{v2.10} tag of the GNU@tie{}Hello " "repository:" msgstr "Пример ниже обозначает тег @code{v2.10} репозитория GNU@tie{}Hello:" #. type: lisp #: guix-git/doc/guix.texi:7048 #, 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:7052 msgid "" "This is equivalent to the reference below, which explicitly names the commit:" msgstr "" "Это эквивалентно приведенной ниже ссылке, которая явно называет коммит:" #. type: lisp #: guix-git/doc/guix.texi:7057 #, 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:7063 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:7064 #, no-wrap msgid "{Scheme Procedure} hg-fetch @var{ref} @var{hash-algo} @var{hash} @" msgstr "{Scheme Procedure} mixed-text-file @var{name} @var{text} @dots{}" #. type: deffn #: guix-git/doc/guix.texi:7070 msgid "" "[name] Return a fixed-output derivation that fetches @var{ref}, a @code{} 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{#false}." msgstr "" "Вернуть derivation с фиксированным выводом, которая выбирает объект " "@var{ref}, @code{}. Ожидается, что на выходе будет " "рекурсивный хеш @var{hash} типа @var{hash-algo} (символ). Использовать " "@var{name} в качестве имени файла или общее имя, если @code{#f}." #. type: cindex #: guix-git/doc/guix.texi:7075 #, no-wrap msgid "customizing packages" msgstr "настройка, пакетов" #. type: cindex #: guix-git/doc/guix.texi:7076 #, no-wrap msgid "variants, of packages" msgstr "вариантов пакетов" #. type: Plain text #: guix-git/doc/guix.texi:7086 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{profile-manifest, @option{--manifest}}) and in your " "own package collection (@pxref{Creating a Channel}), among others!" msgstr "" "Одна из приятных вещей в Guix заключается в том, что, учитывая определение " "пакета, вы можете легко @emph{наследовать} варианты этого пакета---для " "другой версии, с разными зависимостями, разными параметрами компиляции и так " "далее. Некоторые из этих пользовательских пакетов можно определить прямо из " "командной строки (@pxref{Package Transformation Options}). В этом разделе " "описывается, как определять варианты пакета в коде. Это также может быть " "полезно в ``манифестах'' (@pxref{profile-manifest, @option{--manifest}}) и в " "вашей собственной коллекции пакетов (@pxref{Creating a Channel})!" #. type: cindex #: guix-git/doc/guix.texi:7087 #, no-wrap msgid "inherit, for package definitions" msgstr "наследование для описаниях пакетов" #. type: Plain text #: guix-git/doc/guix.texi:7094 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:7099 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:7102 #, no-wrap msgid "" "(use-modules (gnu packages base)) ;for 'hello'\n" "\n" msgstr "" "(use-modules (gnu packages guile)) ;for 'guile-json'\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:7114 #, 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:7123 msgid "" "The example above corresponds to what the @option{--with-source} package " "transformation option does. 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-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:7129 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:7133 #, no-wrap msgid "" "(use-modules (gnu packages gdb) ;for 'gdb'\n" " (srfi srfi-1)) ;for 'alist-delete'\n" "\n" msgstr "" "(use-modules (guix inferior) (guix channels)\n" " (srfi srfi-1)) ;for 'first'\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:7139 #, no-wrap msgid "" "(define gdb-sans-guile\n" " (package\n" " (inherit gdb)\n" " (inputs (alist-delete \"guile\"\n" " (package-inputs gdb)))))\n" msgstr "" "(define gdb-sans-guile\n" " (package\n" " (inherit gdb)\n" " (inputs (alist-delete \"guile\"\n" " (package-inputs gdb)))))\n" #. type: Plain text #: guix-git/doc/guix.texi:7145 msgid "" "The @code{alist-delete} call above removes the tuple from the @code{inputs} " "field that has @code{\"guile\"} as its first element (@pxref{SRFI-1 " "Association Lists,,, guile, GNU Guile Reference Manual})." msgstr "" "Вызов @code{alist-delete} выше удаляет кортеж из поля @code{inputs}, первым " "элементом которого является @code{\"guile\"} (@pxref{SRFI-1 Association " "Lists,,, guile, GNU Guile Reference Manual})." #. type: Plain text #: guix-git/doc/guix.texi:7153 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), которые возвращают пакет на основе некоторых параметров. Например, " "рассмотрим библиотеку @code{luasocket} для языка программирования Lua. Мы " "хотим создать пакеты @code{luasocket} для основных версий Lua. Один из " "способов сделать это---определить процедуру, которая принимает пакет Lua и " "возвращает зависящий от него пакет @code{luasocket}:" #. type: lisp #: guix-git/doc/guix.texi:7164 #, 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\n" " `((\"lua\" ,lua)))\n" " (synopsis \"Socket library for Lua\")))\n" "\n" msgstr "" "(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\n" " `((\"lua\" ,lua)))\n" " (synopsis \"Socket library for Lua\")))\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:7167 #, 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:7170 #, 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:7178 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{lua5.1-socket} и @code{lua5.2-socket}, " "вызвав @code{make-lua-socket} с разными аргументами. См. " "@xref{Procedures,,, guile, GNU Guile Reference Manual}, для получения " "дополнительной информации о процедурах. Наличие общедоступных определений " "верхнего уровня для этих двух пакетов означает, что на них можно ссылаться " "из командной строки (@pxref{Package Modules})." #. type: cindex #: guix-git/doc/guix.texi:7179 #, no-wrap msgid "package transformations" msgstr "пакетные преобразования" #. type: Plain text #: guix-git/doc/guix.texi:7184 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:7185 #, no-wrap msgid "{Scheme Procedure} options->transformation @var{opts}" msgstr "{Процедура Scheme} open-inferior @var{directory} @" #. type: deffn #: guix-git/doc/guix.texi:7189 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:7193 #, 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:7197 msgid "" "Each symbol names a transformation and the corresponding string is an " "argument to that transformation." msgstr "" "Каждый символ именует преобразование, а соответствующая строка (string) " "является аргументом этого преобразования." #. type: Plain text #: guix-git/doc/guix.texi:7200 msgid "For instance, a manifest equivalent to this command:" msgstr "Например, команда:" #. type: example #: guix-git/doc/guix.texi:7205 #, 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:7209 msgid "... would look like this:" msgstr "Вывод должен быть таким:" #. type: lisp #: guix-git/doc/guix.texi:7212 #, no-wrap msgid "" "(use-modules (guix transformations))\n" "\n" msgstr "" "(use-package-modules guile emacs)\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:7218 #, 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" " ;; The package transformation procedure.\n" " (options->transformation\n" " '((with-branch . \"guile-gcrypt=master\")\n" " (with-debug-info . \"zlib\"))))\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:7221 #, 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:7223 #, no-wrap msgid "input rewriting" msgstr "перезапись input" #. type: cindex #: guix-git/doc/guix.texi:7224 #, no-wrap msgid "dependency graph rewriting" msgstr "перезапись дерева зависимостей" #. type: Plain text #: guix-git/doc/guix.texi:7231 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:7235 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{package-input-rewriting} в @code{(guix packages)}." #. type: deffn #: guix-git/doc/guix.texi:7236 #, no-wrap msgid "{Scheme Procedure} package-input-rewriting @var{replacements} @" msgstr "{Процедура Scheme} package-input-rewriting @var{replacements} @" #. type: deffn #: guix-git/doc/guix.texi:7243 msgid "" "[@var{rewrite-name}] [#:deep? #t] 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 "" "[@var{rewrite-name}] [#:deep? #t] Возвращает процедуру, которая при передаче " "пакета заменяет его прямые и косвенные зависимости, включая неявные входы, " "когда @var{deep?} истинна, согласно @var{replacements}. @var{replacements} " "- это список пар пакетов; первый элемент каждой пары - это заменяемый пакет, " "а второй - заменяющий." #. type: deffn #: guix-git/doc/guix.texi:7246 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:7250 guix-git/doc/guix.texi:10602 msgid "Consider this example:" msgstr "Рассмотрим пример:" #. type: lisp #: guix-git/doc/guix.texi:7256 #, 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" " ;; This is a procedure to replace OPENSSL by LIBRESSL,\n" " ;; recursively.\n" " (package-input-rewriting `((,openssl . ,libressl))))\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:7259 #, 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:7267 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:7270 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:7271 #, no-wrap msgid "{Scheme Procedure} package-input-rewriting/spec @var{replacements} [#:deep? #t]" msgstr "{Процедура Scheme} inferior-package-inputs @var{package}" #. type: deffn #: guix-git/doc/guix.texi:7278 msgid "" "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. @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." msgstr "" "Возвращает процедуру, которая для данного пакета применяет заданные " "@var{replacements} ко всему графу пакета, включая неявные входные данные, " "если @var{deep?} не ложно. @var{replacements} - это список пары " "спецификация/процедуры; каждая спецификация - это спецификация пакета, такая " "как @code{\"gcc\"} или @code{\"guile@@2\"}, и каждая процедура берет " "соответствующий пакет и возвращает замену для этого пакета." #. type: Plain text #: guix-git/doc/guix.texi:7281 msgid "The example above could be rewritten this way:" msgstr "Приведенный выше пример можно переписать так:" #. type: lisp #: guix-git/doc/guix.texi:7286 #, 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" " ;; Replace all the packages called \"openssl\" with LibreSSL.\n" " (package-input-rewriting/spec `((\"openssl\" . ,(const libressl)))))\n" #. type: Plain text #: guix-git/doc/guix.texi:7291 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:7295 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:7296 #, no-wrap msgid "{Scheme Procedure} package-mapping @var{proc} [@var{cut?}] [#:deep? #f]" msgstr "{Процедура Scheme} inferior-package-location @var{package}" #. type: deffn #: guix-git/doc/guix.texi:7301 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?} возвращает истину для данного пакета. Когда " "@var{deep?} истинно, @var{proc} также применяется к неявным входным данным." #. type: cindex #: guix-git/doc/guix.texi:7307 #, no-wrap msgid "build system" msgstr "система сборки" #. type: Plain text #: guix-git/doc/guix.texi:7312 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{Defining Packages}). Это поле @code{build-" "system} представляет процедуру сборки пакета, а также неявные зависимости " "этой процедуры сборки." #. type: Plain text #: guix-git/doc/guix.texi:7316 msgid "" "Build systems are @code{} 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{}. Интерфейс для их " "создания и управления ими предоставляется модулем @code{(guix build-" "system)}, а фактические системы сборки экспортируются определенными модулями." #. type: cindex #: guix-git/doc/guix.texi:7317 #, no-wrap msgid "bag (low-level package representation)" msgstr "мешок (низкоуровневое представление пакета)" #. type: Plain text #: guix-git/doc/guix.texi:7327 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{bag}. " "@dfn{bag} похож на пакет, но с меньшим количеством украшений---другими " "словами, bag - это представление пакета нижнего уровня, которое включает в " "себя все входные данные этого пакета, включая те, которые были неявно " "добавлены система сборки. Это промежуточное представление затем " "компилируется в derivation (@pxref{Derivations}). @code{package-with-c-" "toolchain} - это пример способа изменить неявные входные данные, которые " "использует система сборки пакета (@pxref{package Reference, @code{package-" "with-c-toolchain}})." #. type: Plain text #: guix-git/doc/guix.texi:7335 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{arguments}. В " "определениях пакетов они передаются @i{через} поле @code{arguments} " "(@pxref{Defining Packages}). Обычно это аргументы ключевого слова " "(@pxref{Optional Arguments, keyword arguments in Guile,, guile, GNU Guile " "Reference Manual}). Значение этих аргументов обычно оценивается в " "@dfn{build stratum}---то есть процессом Guile, запущенным демоном " "(@pxref{Derivations})." #. type: Plain text #: guix-git/doc/guix.texi:7339 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: defvr #: guix-git/doc/guix.texi:7340 #, no-wrap msgid "{Scheme Variable} gnu-build-system" msgstr "{Scheme Variable} gnu-build-system" #. type: defvr #: guix-git/doc/guix.texi:7344 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{Configuration, configuration and makefile conventions,, standards, " "GNU Coding Standards})." #. type: cindex #: guix-git/doc/guix.texi:7345 guix-git/doc/guix.texi:8287 #: guix-git/doc/guix.texi:8742 #, no-wrap msgid "build phases" msgstr "build phases" #. type: defvr #: guix-git/doc/guix.texi:7352 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{Build Phases}, чтобы узнать больше о фазах сборки и " "способах их настройки." #. type: defvr #: guix-git/doc/guix.texi:7359 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: defvr #: guix-git/doc/guix.texi:7363 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 "" "Эта система сборки поддерживает ряд ключевых аргументов, которые можно " "передать @i{через} поле @code{arguments} пакета. Вот некоторые из основных " "параметров:" #. type: item #: guix-git/doc/guix.texi:7365 #, no-wrap msgid "#:phases" msgstr "build phases" #. type: table #: guix-git/doc/guix.texi:7368 msgid "" "This argument specifies build-side code that evaluates to an alist of build " "phases. @xref{Build Phases}, for more information." msgstr "" "Считать список каналов из файла @var{file} вместо @file{~/.config/guix/" "channels.scm}. @var{file} должен содержать код Scheme, который определяет " "список объектов \"канал\". См. @xref{Channels} для подробной информации." #. type: item #: guix-git/doc/guix.texi:7369 #, no-wrap msgid "#:configure-flags" msgstr "Конфигурирование системы" #. type: table #: guix-git/doc/guix.texi:7372 msgid "" "This is a list of flags (strings) passed to the @command{configure} script. " "@xref{Defining Packages}, for an example." msgstr "" "Это список флагов (строк), переданных в сценарий (script) " "@command{configure}. См. @xref{Defining Packages}." #. type: item #: guix-git/doc/guix.texi:7373 #, no-wrap msgid "#:make-flags" msgstr "#:make-flags" #. type: table #: guix-git/doc/guix.texi:7377 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:7378 #, no-wrap msgid "#:out-of-source?" msgstr "#:out-of-source?" #. type: table #: guix-git/doc/guix.texi:7381 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:7386 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:7387 #, no-wrap msgid "#:tests?" msgstr "#:tests?" #. type: table #: guix-git/doc/guix.texi:7390 msgid "" "This Boolean, @code{#t} by default, indicates whether the @code{check} phase " "should run the package's test suite." msgstr "" #. type: item #: guix-git/doc/guix.texi:7391 #, no-wrap msgid "#:test-target" msgstr "" #. type: table #: guix-git/doc/guix.texi:7394 msgid "" "This string, @code{\"check\"} by default, gives the name of the makefile " "target used by the @code{check} phase." msgstr "" #. type: item #: guix-git/doc/guix.texi:7395 #, no-wrap msgid "#:parallel-build?" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:7396 #, no-wrap msgid "#:parallel-tests?" msgstr "" #. type: table #: guix-git/doc/guix.texi:7403 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 "" #. type: cindex #: guix-git/doc/guix.texi:7404 #, no-wrap msgid "RUNPATH, validation" msgstr "" #. type: item #: guix-git/doc/guix.texi:7405 #, no-wrap msgid "#:validate-runpath?" msgstr "#:validate-runpath?" #. type: table #: guix-git/doc/guix.texi:7409 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." msgstr "" #. type: table #: guix-git/doc/guix.texi:7417 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 "" #. type: item #: guix-git/doc/guix.texi:7418 #, no-wrap msgid "#:substitutable?" msgstr "#:substitutable?" #. type: table #: guix-git/doc/guix.texi:7422 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 "" #. type: item #: guix-git/doc/guix.texi:7423 #, no-wrap msgid "#:allowed-references" msgstr "--references" #. type: itemx #: guix-git/doc/guix.texi:7424 #, no-wrap msgid "#:disallowed-references" msgstr "--references" #. type: table #: guix-git/doc/guix.texi:7429 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:7434 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 "" #. type: defvr #: guix-git/doc/guix.texi:7437 msgid "Most other build systems support these keyword arguments." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:7444 msgid "" "Other @code{} 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{} определены для поддержки других " "соглашений и инструментов, используемых пакетами свободного программного " "обеспечения. Они наследуют большую часть @code{gnu-build-system} и " "различаются в основном набором входных данных, неявно добавляемых в процесс " "сборки, и списком выполняемых фаз. Некоторые из этих систем сборки " "перечислены ниже." #. type: defvr #: guix-git/doc/guix.texi:7445 #, no-wrap msgid "{Scheme Variable} ant-build-system" msgstr "{Scheme Variable} ant-build-system" #. type: defvr #: guix-git/doc/guix.texi:7449 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)}. Она реализует " "процедуру сборки пакетов Java, которые можно собрать с помощью @url{https://" "ant.apache.org/, Ant build tool}." #. type: defvr #: guix-git/doc/guix.texi:7454 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 " "Development Kit} (JDK), предоставленные пакетом @code{icedtea}. Различные " "пакеты можно указать с помощью параметров @code{#:ant} и @code{#:jdk} " "соответственно." #. type: defvr #: guix-git/doc/guix.texi:7460 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: defvr #: guix-git/doc/guix.texi:7468 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: defvr #: guix-git/doc/guix.texi:7472 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} можно использовать для указания задачи Ant, " "которая должна выполняться на этапе @code{build}. По умолчанию будет " "запущена задача jar." #. type: defvr #: guix-git/doc/guix.texi:7475 #, no-wrap msgid "{Scheme Variable} android-ndk-build-system" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:7476 #, no-wrap msgid "Android distribution" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:7477 #, no-wrap msgid "Android NDK build system" msgstr "система сборки Android NDK" #. type: defvr #: guix-git/doc/guix.texi:7481 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)}. Она " "реализует процедуру сборки пакетов Android NDK (собственный комплект " "разработки) с использованием процесса сборки, специфичного для Guix." #. type: defvr #: guix-git/doc/guix.texi:7485 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 "" "Система сборки предполагает, что пакеты устанавливают свои файлы " "общедоступного интерфейса (заголовки) в подкаталог @file{include} вывода " "@code{out}, а их библиотеки - в подкаталог @file{lib} вывода @code{out}." #. type: defvr #: guix-git/doc/guix.texi:7488 msgid "" "It's also assumed that the union of all the dependencies of a package has no " "conflicting files." msgstr "" "Также предполагается, что объединение всех зависимостей пакета не имеет " "конфликтующих файлов." #. type: defvr #: guix-git/doc/guix.texi:7491 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: defvr #: guix-git/doc/guix.texi:7494 #, no-wrap msgid "{Scheme Variable} asdf-build-system/source" msgstr "" #. type: defvrx #: guix-git/doc/guix.texi:7495 #, no-wrap msgid "{Scheme Variable} asdf-build-system/sbcl" msgstr "" #. type: defvrx #: guix-git/doc/guix.texi:7496 #, no-wrap msgid "{Scheme Variable} asdf-build-system/ecl" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:7502 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)}, реализуют " "процедуры сборки для пакетов Common Lisp с использованием @url{https://" "common-lisp.net/project/asdf/, ``ASDF''}. ASDF - это средство определения " "системы для программ и библиотек Common Lisp." #. type: defvr #: guix-git/doc/guix.texi:7509 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} устанавливает пакеты в исходной " "форме и может быть загружена с использованием любой распространенной " "реализации Lisp через ASDF. Другие, такие как @code{asdf-build-system/" "sbcl}, устанавливают двоичные системы в формате, понятном конкретной " "реализации. Эти системы сборки также могут использоваться для создания " "исполняемых программ или образов lisp, которые содержат набор предварительно " "загруженных пакетов." #. type: defvr #: guix-git/doc/guix.texi:7513 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: defvr #: guix-git/doc/guix.texi:7517 msgid "" "Additionally, the corresponding source package should be labeled using the " "same convention as python packages (see @ref{Python Modules}), using the " "@code{cl-} prefix." msgstr "" "Кроме того, соответствующий исходный пакет должен быть помечен с " "использованием того же соглашения, что и пакеты python (см. @ref{Python " "Modules}), с использованием префикса @code{cl-}." #. type: defvr #: guix-git/doc/guix.texi:7525 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-symlinks}, чтобы только что созданную " "систему можно было использовать в полученном образе. @code{build-program} " "требует, чтобы список выражений Common Lisp был передан в качестве аргумента " "@code{#:entry-program}." #. type: defvr #: guix-git/doc/guix.texi:7534 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{-tests.asd}, " "@code{-test.asd}, @code{tests.asd}, and @code{test.asd} will be " "tried if they exist." msgstr "" "Если система не определена в собственном файле @file{.asd} с тем же именем, " "тогда следует использовать параметр @code{#:asd-file}, чтобы указать, в " "каком файле определена система. Кроме того, если пакет определяет систему " "для своих тестов в отдельном файле, он будет загружен перед запуском тестов, " "если он указан параметром @code{#:test-asd-file}. Если он не установлен, " "будут попробованы файлы @code{-tests.asd}, @code{-test.asd}, " "@code{tests.asd} и @code{test.asd}, если они есть." #. type: defvr #: guix-git/doc/guix.texi:7539 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-system-name} для указания имени системы." #. type: defvr #: guix-git/doc/guix.texi:7542 #, no-wrap msgid "{Scheme Variable} cargo-build-system" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:7543 #, no-wrap msgid "Rust programming language" msgstr "Язык программирования Rust" #. type: cindex #: guix-git/doc/guix.texi:7544 #, no-wrap msgid "Cargo (Rust build system)" msgstr "Cargo (система сборки Rust)" #. type: defvr #: guix-git/doc/guix.texi:7548 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, инструмента сборки " "@uref{https://www.rust-lang.org, языка программирования Rust}." #. type: defvr #: guix-git/doc/guix.texi:7551 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} к набору входных данных. Другой " "пакет Rust можно указать с помощью параметра @code{#:rust}." #. type: defvr #: guix-git/doc/guix.texi:7561 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 зависимости должны быть добавлены к определению пакета через " "параметр @code{#:cargo-inputs} в виде списка пар имени и спецификации, где " "спецификацией может быть определение пакета или источника. Обратите " "внимание, что в спецификации должен быть указан путь к сжатому архиву, " "который содержит файл @code{Cargo.toml} в своем корне, иначе он будет " "проигнорирован. Точно так же dev-зависимости cargo должны быть добавлены в " "определение пакета с помощью параметра @code{#:cargo-development-inputs}." #. type: defvr #: guix-git/doc/guix.texi:7571 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{cargo} на этапе @code{build}. На этапе " "@code{install} устанавливаются двоичные файлы, определенные crate." #. type: defvr #: guix-git/doc/guix.texi:7573 #, no-wrap msgid "{Scheme Variable} chicken-build-system" msgstr "{Scheme переменная} cmake-build-system" #. type: defvr #: guix-git/doc/guix.texi:7578 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 "" #. type: defvr #: guix-git/doc/guix.texi:7581 msgid "" "This build system adds @code{chicken} to the package inputs, as well as the " "packages of @code{gnu-build-system}." msgstr "" "Эта система сборки добавляет @code{chicken} к входным данным (inputs) " "пакета, а также к пакетам @code{gnu-build-system}." #. type: defvr #: guix-git/doc/guix.texi:7585 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 "" #. type: defvr #: guix-git/doc/guix.texi:7587 msgid "For example, if you are packaging the @code{srfi-1} egg:" msgstr "Например, если вы создаете пакет, содержащий Bash, с помощью:" #. type: lisp #: guix-git/doc/guix.texi:7590 #, no-wrap msgid "(arguments '(#:egg-name \"srfi-1\"))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:7595 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 "" #. type: defvr #: guix-git/doc/guix.texi:7597 #, no-wrap msgid "{Scheme Variable} copy-build-system" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:7601 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: defvr #: guix-git/doc/guix.texi:7606 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: defvr #: guix-git/doc/guix.texi:7611 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:7613 #, 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:7615 #, no-wrap msgid "If @var{target} has a trailing slash, install @var{source} basename beneath @var{target}." msgstr "Если @var{target} имеет косую черту в конце, установить @var{source} basename ниже @var{target}." #. type: item #: guix-git/doc/guix.texi:7616 #, no-wrap msgid "Otherwise install @var{source} as @var{target}." msgstr "В противном случае установите @var{source} как @var{target}." #. type: item #: guix-git/doc/guix.texi:7619 #, 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:7622 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:7623 #, no-wrap msgid "Without @var{filters}, install the full @var{source} @emph{content} to @var{target}." msgstr "Без @var{filter} установить @emph{содержимое} @var{source} в @var{target}." #. type: item #: guix-git/doc/guix.texi:7624 #, 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:7627 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:7628 #, 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:7630 msgid "at least one of the elements in the given list." msgstr "хотя бы одному из элементов в данном списке." #. type: item #: guix-git/doc/guix.texi:7630 #, no-wrap msgid "With @code{#:include-regexp}, install all the files which the" msgstr "С помощью @code{#:include-regex} установить все файлы," #. type: itemize #: guix-git/doc/guix.texi:7633 msgid "" "subpaths match at least one of the regular expressions in the given list." msgstr "" "подкаталоги которых соответствуют хотя бы одному из регулярных выражений в " "данном списке." #. type: item #: guix-git/doc/guix.texi:7633 #, no-wrap msgid "The @code{#:exclude} and @code{#:exclude-regexp} filters" msgstr "Фильтры @code{#:exclude} и @code{#:exclude-regexp}" #. type: itemize #: guix-git/doc/guix.texi:7638 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: itemize #: guix-git/doc/guix.texi:7642 msgid "" "In all cases, the paths relative to @var{source} are preserved within " "@var{target}." msgstr "" "В любом случае пути, относительные к @var{source}, сохраняются в " "@var{target}." #. type: defvr #: guix-git/doc/guix.texi:7645 msgid "Examples:" msgstr "Примеры:" #. type: item #: guix-git/doc/guix.texi:7647 #, 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:7648 #, 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:7649 #, 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:7651 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:7651 #, 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:7653 msgid "@file{share/my-app/sub/file}." msgstr "@file{share/my-app/sub/file}." #. type: item #: guix-git/doc/guix.texi:7653 #, 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:7655 msgid "@file{share/my-app/file}." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:7659 #, no-wrap msgid "Clojure (programming language)" msgstr "Clojure (язык программирования)" #. type: cindex #: guix-git/doc/guix.texi:7660 #, no-wrap msgid "simple Clojure build system" msgstr "простая система сборки Clojure" #. type: defvr #: guix-git/doc/guix.texi:7661 #, no-wrap msgid "{Scheme Variable} clojure-build-system" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:7666 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)}. Она " "реализует простую процедуру сборки пакетов @uref{https://clojure.org/, " "Clojure} с использованием простого старого @code{compile} в Clojure. Кросс-" "компиляция пока не поддерживается." #. type: defvr #: guix-git/doc/guix.texi:7670 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: defvr #: guix-git/doc/guix.texi:7676 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 "" "Список исходных каталогов, тестовых каталогов и имен jar-файлов можно " "указать с помощью параметров @code{#:source-dirs}, @code{#:test-dirs} и " "@code{#:jar-names} соответственно. Каталог компиляции и основной класс " "можно указать с помощью параметров @code{#:compile-dir} и @code{#:main-" "class} соответственно. Остальные параметры описаны ниже." #. type: defvr #: guix-git/doc/guix.texi:7679 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:7682 guix-git/doc/guix.texi:8250 #: guix-git/doc/guix.texi:8297 guix-git/doc/guix.texi:8366 #: guix-git/doc/guix.texi:33914 guix-git/doc/guix.texi:36068 #, no-wrap msgid "build" msgstr "" #. type: table #: guix-git/doc/guix.texi:7691 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 "" "На этом этапе вызывается @code{compile} в Clojure для компиляции исходных " "файлов и запускается @command{jar} для создания jar-файлов как из исходных " "файлов, так и из скомпилированных файлов в соответствии со списком включения " "и списком исключений, указанным в @code{#:aot-include} и @code{#:aot-" "exclude} соответственно. Список исключений имеет приоритет над списком " "включения. Эти списки состоят из символов, представляющих библиотеки " "Clojure, или специального ключевого слова @code{#:all}, представляющего все " "библиотеки Clojure, находящиеся в исходных каталогах. Параметр @code{#:omit-" "source?} определяет, следует ли включать исходники в jar-файлы." #. type: item #: guix-git/doc/guix.texi:7692 guix-git/doc/guix.texi:8254 #: guix-git/doc/guix.texi:8371 #, no-wrap msgid "check" msgstr "" #. type: table #: guix-git/doc/guix.texi:7699 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, " "находящиеся в каталогах test. Параметр @code{#:tests?} определяет, нужно ли " "запускать тесты." #. type: item #: guix-git/doc/guix.texi:7700 guix-git/doc/guix.texi:8258 #: guix-git/doc/guix.texi:8301 guix-git/doc/guix.texi:8377 #, no-wrap msgid "install" msgstr "установка" #. type: table #: guix-git/doc/guix.texi:7702 msgid "This phase installs all jars built previously." msgstr "На этом этапе устанавливаются все созданные ранее jars." #. type: defvr #: guix-git/doc/guix.texi:7705 msgid "" "Apart from the above, this build system also contains an additional phase:" msgstr "" "Помимо вышесказанного, эта система сборки также содержит дополнительную фазу:" #. type: item #: guix-git/doc/guix.texi:7708 #, no-wrap msgid "install-doc" msgstr "install-doc" #. type: table #: guix-git/doc/guix.texi:7713 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: defvr #: guix-git/doc/guix.texi:7716 #, no-wrap msgid "{Scheme Variable} cmake-build-system" msgstr "{Scheme переменная} cmake-build-system" #. type: defvr #: guix-git/doc/guix.texi:7720 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: defvr #: guix-git/doc/guix.texi:7724 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: defvr #: guix-git/doc/guix.texi:7731 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\"} (сокращение от ``release mode с отладочной " "информацией''), что примерно означает, что код компилируется с помощью " "@code{-O2 -g}, как в случае пакетов на основе Autoconf по умолчанию." #. type: defvr #: guix-git/doc/guix.texi:7733 #, no-wrap msgid "{Scheme Variable} dune-build-system" msgstr "{Scheme переменная} dune-build-system" #. type: defvr #: guix-git/doc/guix.texi:7740 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: defvr #: guix-git/doc/guix.texi:7744 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: defvr #: guix-git/doc/guix.texi:7748 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: defvr #: guix-git/doc/guix.texi:7752 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: defvr #: guix-git/doc/guix.texi:7757 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: defvr #: guix-git/doc/guix.texi:7760 #, no-wrap msgid "{Scheme Variable} go-build-system" msgstr "{Scheme переменная} go-build-system" #. type: defvr #: guix-git/doc/guix.texi:7765 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)}. Онf реализует " "процедуру сборки пакетов Go с использованием стандартного @url{https://" "golang.org/cmd/go/#hdr-Compile_packages_and_dependencies, механизмов сборки " "Go}." #. type: defvr #: guix-git/doc/guix.texi:7776 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, import path} соответствует пути к файловой " "системе, ожидаемому сценариями сборки пакета и любыми ссылочными пакетами, и " "обеспечивает уникальный способ ссылки на Go пакет. Обычно он основан на " "комбинации удаленного URI исходного кода пакета и иерархической структуры " "файловой системы. В некоторых случаях вам нужно будет распаковать исходный " "код пакета в другую структуру каталогов, отличную от той, которая указана в " "пути импорта, и в таких случаях следует использовать @code{#:unpack-path}." #. type: defvr #: guix-git/doc/guix.texi:7781 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: defvr #: guix-git/doc/guix.texi:7788 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 "" #. type: defvr #: guix-git/doc/guix.texi:7790 #, no-wrap msgid "{Scheme Variable} glib-or-gtk-build-system" msgstr "{Scheme переменная} glib-or-gtk-build-system" #. type: defvr #: guix-git/doc/guix.texi:7793 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: defvr #: guix-git/doc/guix.texi:7796 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:7798 guix-git/doc/guix.texi:8274 #, no-wrap msgid "glib-or-gtk-wrap" msgstr "glib-or-gtk-wrap" #. type: table #: guix-git/doc/guix.texi:7805 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 ``schemas'' и @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:7812 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-" "output}. Это полезно, когда известно, что выходной файл не содержит " "двоичных файлов GLib или GTK+, и где wrapping может произвольно добавить " "зависимость этого вывода от GLib и GTK+." #. type: item #: guix-git/doc/guix.texi:7813 guix-git/doc/guix.texi:8278 #, no-wrap msgid "glib-or-gtk-compile-schemas" msgstr "glib-or-gtk-compile-schemas" #. type: table #: guix-git/doc/guix.texi:7821 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} гарантирует, что все @uref{https://" "developer.gnome.org/gio/stable/glib-compile-schemas.html, GSettings schemas} " "в GLib скомпилированы. Компиляция выполняется программой @command{glib-" "compile-schemas}. Она предоставляется пакетом @code{glib:bin}, который " "автоматически импортируется системой сборки. Пакет @code{glib}, " "предоставляющий @command{glib-compile-schemas}, можно указать с помощью " "параметра @code{#:glib}." #. type: defvr #: guix-git/doc/guix.texi:7824 msgid "Both phases are executed after the @code{install} phase." msgstr "Обе фазы выполняются после фазы @code{install}." #. type: defvr #: guix-git/doc/guix.texi:7826 #, no-wrap msgid "{Scheme Variable} guile-build-system" msgstr "{Scheme переменная} guile-build-system" #. type: defvr #: guix-git/doc/guix.texi:7833 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 "" "Эта система сборки предназначена для пакетов Guile, которые состоят " "исключительно из кода Scheme и настолько скудны, что у них даже нет make-" "файла, не говоря уже о сценарии @file{configure}. Она компилирует Scheme " "код с помощью @command{guild compile} (@pxref{Compilation,,, guile, GNU " "Guile Reference Manual}) и устанавливает файлы @file{.scm} и @file{.go} в " "нужное место. Она также устанавливает документацию." #. type: defvr #: guix-git/doc/guix.texi:7836 msgid "" "This build system supports cross-compilation by using the @option{--target} " "option of @samp{guild compile}." msgstr "" "Эта система сборки поддерживает кросс-компиляцию с использованием параметра " "@option{--target} в @samp{guild compile}." #. type: defvr #: guix-git/doc/guix.texi:7839 msgid "" "Packages built with @code{guile-build-system} must provide a Guile package " "in their @code{native-inputs} field." msgstr "" "Пакеты, созданные с помощью @code{guile-build-system}, должны содержать " "пакет Guile в поле @code{native-inputs}." #. type: defvr #: guix-git/doc/guix.texi:7841 #, no-wrap msgid "{Scheme Variable} julia-build-system" msgstr "{Scheme переменная} julia-build-system" #. type: defvr #: guix-git/doc/guix.texi:7848 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}, которая по сути аналогична запуску @samp{julia -e 'используя " "Pkg; Pkg.add(package)'} в среде, где @env{JULIA_LOAD_PATH} содержит пути ко " "всем входным данным пакета Julia. Тесты запускаются с @code{Pkg.test}." #. type: defvr #: guix-git/doc/guix.texi:7852 msgid "" "The Julia package name is read from the file @file{Project.toml}. This " "value can be overridden by passing the argument @code{#:julia-package-name} " "(which must be correctly capitalized)." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:7856 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 "" #. type: defvr #: guix-git/doc/guix.texi:7861 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 "" #. type: defvr #: guix-git/doc/guix.texi:7865 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 "" #. type: lisp #: guix-git/doc/guix.texi:7877 #, 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-apache\") \"\\\")\\n\"))))\n" " ;; There's a Julia file for each platform, override them all.\n" " (find-files \"src/wrappers/\" \"\\\\.jl$\"))))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:7885 #, fuzzy msgid "" "Some older packages that aren't using @file{Package.toml} yet, will require " "this file to be created, too. The function @code{julia-create-package-toml} " "helps creating the file. You need to pass the outputs and the source of the " "package, its name (the same as the @code{file-name} parameter), the package " "uuid, the package version, and a list of dependencies specified by their " "name and their uuid." msgstr "" "Некоторые старые пакеты, которые еще не используют @file{Package.toml}, " "также потребуют создания этого файла. Функция @code{julia-create-package-" "toml} помогает создать файл. Вам необходимо передать выходные данные и " "источник пакета, его имя (такое же, как параметр @code{file-name}), uuid " "пакета, версию пакета и список зависимостей, указанных по их имени и их uuid." #. type: defvr #: guix-git/doc/guix.texi:7887 #, no-wrap msgid "{Scheme Variable} maven-build-system" msgstr "{Scheme Variable} ant-build-system" #. type: defvr #: guix-git/doc/guix.texi:7894 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: defvr #: guix-git/doc/guix.texi:7904 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 не будет пытаться загрузить " "какие-либо зависимости, работая в offline режиме. Maven завершится ошибкой, " "если зависимость отсутствует. Перед запуском Maven @file{pom.xml} (и " "подпроекты) модифицируются, чтобы указать версию зависимостей и плагинов, " "которые соответствуют версиям, доступным в среде сборки guix. Зависимости и " "плагины должны быть установлены в поддельном репозитории maven по адресу " "@file{lib/m2} и перед запуском maven привязаны к соответствующему " "репозиторию. Maven получает указание использовать этот репозиторий для " "сборки и устанавливает туда созданные артефакты. Измененные файлы " "копируются в каталог @file{lib/m2} выходных данных пакета." #. type: defvr #: guix-git/doc/guix.texi:7907 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: defvr #: guix-git/doc/guix.texi:7913 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: defvr #: guix-git/doc/guix.texi:7919 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: defvr #: guix-git/doc/guix.texi:7922 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: defvr #: guix-git/doc/guix.texi:7927 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: defvr #: guix-git/doc/guix.texi:7929 #, fuzzy, no-wrap #| msgid "{Scheme Variable} meson-build-system" msgid "{Scheme Variable} minetest-mod-build-system" msgstr "{Scheme переменная} meson-build-system" #. type: defvr #: guix-git/doc/guix.texi:7935 #, 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." 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 ocaml)}. Она " "реализует процедуру сборки пакетов @uref{https://ocaml.org, OCaml}, которая " "заключается в выборе правильного набора команд для запуска для каждого " "пакета. Пакеты OCaml могут ожидать выполнения множества различных команд. " "Эта система сборки попробует некоторые из них." #. type: defvr #: guix-git/doc/guix.texi:7937 #, no-wrap msgid "{Scheme Variable} minify-build-system" msgstr "{Scheme переменная} minify-build-system" #. type: defvr #: guix-git/doc/guix.texi:7940 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: defvr #: guix-git/doc/guix.texi:7946 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} к набору входных данных и использует его для " "сжатия всех файлов JavaScript в каталоге @file{src}. Другой minifier пакет " "можно указать с помощью параметра @code{#:uglify-js}, но ожидается, что этот " "пакет запишет минимизированный код в стандартный вывод." #. type: defvr #: guix-git/doc/guix.texi:7950 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}, чтобы указать список имен " "файлов для передачи в minifier." #. type: defvr #: guix-git/doc/guix.texi:7952 #, no-wrap msgid "{Scheme Variable} ocaml-build-system" msgstr "{Scheme переменная} ocaml-build-system" #. type: defvr #: guix-git/doc/guix.texi:7958 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: defvr #: guix-git/doc/guix.texi:7968 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: defvr #: guix-git/doc/guix.texi:7973 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: defvr #: guix-git/doc/guix.texi:7977 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: defvr #: guix-git/doc/guix.texi:7985 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: defvr #: guix-git/doc/guix.texi:7993 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: defvr #: guix-git/doc/guix.texi:7995 #, no-wrap msgid "{Scheme Variable} python-build-system" msgstr "{Scheme переменная} python-build-system" #. type: defvr #: guix-git/doc/guix.texi:8000 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: defvr #: guix-git/doc/guix.texi:8004 msgid "" "For packages that install stand-alone Python programs under @code{bin/}, it " "takes care of wrapping these programs so that their @env{PYTHONPATH} " "environment variable points to all the Python libraries they depend on." msgstr "" "Для пакетов, которые устанавливают само-достаточные программы Python в " "@code{bin/}, она заботится об обертке этих программ, чтобы их переменная " "среды @env{PYTHONPATH} указывала на все библиотеки Python, от которых они " "зависят." #. type: defvr #: guix-git/doc/guix.texi:8010 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: defvr #: guix-git/doc/guix.texi:8015 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{setup.py} под управлением " "@code{setuptools}, как и @command{pip}. Некоторые пакеты несовместимы с " "setuptools (и pip), поэтому вы можете отключить это, установив для параметра " "@code{#:use-setuptools?} значение @code{#f}." #. type: defvr #: guix-git/doc/guix.texi:8017 #, no-wrap msgid "{Scheme Variable} perl-build-system" msgstr "{Scheme Variable} perl-build-system" #. type: defvr #: guix-git/doc/guix.texi:8029 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{#t} для " "параметра @code{#:make-maker?}." #. type: defvr #: guix-git/doc/guix.texi:8033 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: defvr #: guix-git/doc/guix.texi:8035 msgid "Which Perl package is used can be specified with @code{#:perl}." msgstr "Какой пакет Perl используется, можно указать с помощью @code{#:perl}." #. type: defvr #: guix-git/doc/guix.texi:8037 #, no-wrap msgid "{Scheme Variable} renpy-build-system" msgstr "{Scheme Variable} r-build-system" #. type: defvr #: guix-git/doc/guix.texi:8041 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 python)}. Она " "реализует более или менее стандартную процедуру сборки, используемую " "пакетами Python, которая заключается в запуске @code{python setup.py build}, " "а затем @code{python setup.py install --prefix=/gnu/store/@dots{}}." #. type: defvr #: guix-git/doc/guix.texi:8044 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 "" #. type: defvr #: guix-git/doc/guix.texi:8048 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 "" #. type: defvr #: guix-git/doc/guix.texi:8050 #, no-wrap msgid "{Scheme Variable} qt-build-system" msgstr "{Scheme переменная} qt-build-system" #. type: defvr #: guix-git/doc/guix.texi:8053 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: defvr #: guix-git/doc/guix.texi:8056 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:8058 #, no-wrap msgid "check-setup" msgstr "check-setup" #. type: table #: guix-git/doc/guix.texi:8065 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:8068 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:8069 #, no-wrap msgid "qt-wrap" msgstr "qt-wrap" #. type: table #: guix-git/doc/guix.texi:8075 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/} " "заключены в сценарии, определяющие необходимые environment переменные." #. type: table #: guix-git/doc/guix.texi:8081 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-output}. Это " "полезно, когда известно, что вывод не содержит никаких двоичных файлов Qt, и " "когда обертка может произвольно добавить зависимость этого вывода от Qt, KDE " "и т.п." #. type: table #: guix-git/doc/guix.texi:8083 msgid "This phase is added after the @code{install} phase." msgstr "Эта фаза добавляется после фазы @code{install}." #. type: defvr #: guix-git/doc/guix.texi:8086 #, no-wrap msgid "{Scheme Variable} r-build-system" msgstr "{Scheme Variable} r-build-system" #. type: defvr #: guix-git/doc/guix.texi:8094 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: defvr #: guix-git/doc/guix.texi:8096 #, no-wrap msgid "{Scheme Variable} rakudo-build-system" msgstr "{Scheme переменная} rakudo-build-system" #. type: defvr #: guix-git/doc/guix.texi:8104 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: defvr #: guix-git/doc/guix.texi:8112 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 "" "Какой пакет rakudo используется, можно указать с помощью @code{rakudo}. " "Какой пакет perl6-tap-harness, используемый для тестов, можно указать с " "помощью @code{#:verify6} или удалить, передав @code{#f} в параметр " "@code{with-verify6?}. Какой пакет perl6-zef, используемый для тестирования " "и установки, можно указать с помощью @code{#:zef} или удалить, передав " "@code{#f} в параметр @code{with-zef?}." #. type: defvr #: guix-git/doc/guix.texi:8114 #, no-wrap msgid "{Scheme Variable} texlive-build-system" msgstr "{Scheme переменная} texlive-build-system" #. type: defvr #: guix-git/doc/guix.texi:8119 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 в batch режиме с указанным движком. " "Система сборки устанавливает переменную @env{TEXINPUTS} для поиска всех " "исходных файлов TeX во входных данных." #. type: defvr #: guix-git/doc/guix.texi:8128 msgid "" "By default it runs @code{luatex} on all files ending on @code{ins}. A " "different engine and format can be specified with the @code{#:tex-format} " "argument. Different build targets can be specified with the @code{#:build-" "targets} argument, which expects a list of file names. The build system " "adds only @code{texlive-bin} and @code{texlive-latex-base} (both from " "@code{(gnu packages tex}) to the inputs. Both can be overridden with the " "arguments @code{#:texlive-bin} and @code{#:texlive-latex-base}, respectively." msgstr "" "По умолчанию она запускает @code{luatex} для всех файлов, заканчивающихся на " "@code{ins}. Другой механизм и формат можно указать с помощью аргумента " "@code{#:tex-format}. Различные цели сборки могут быть указаны с помощью " "аргумента @code{#:build-target}, который ожидает список имен файлов. " "Система сборки добавляет к входам только @code{texlive-bin} и @code{texlive-" "latex-base} (оба из @code{(gnu packages tex}). Оба могут быть " "переопределены с помощью аргументов @code{#:texlive-bin} и @code{#:texlive-" "latex-base} соответственно." #. type: defvr #: guix-git/doc/guix.texi:8131 msgid "" "The @code{#:tex-directory} parameter tells the build system where to install " "the built files under the texmf tree." msgstr "" "Параметр @code{#:tex-directory} сообщает системе сборки, где установить " "созданные файлы в дереве texmf." #. type: defvr #: guix-git/doc/guix.texi:8133 #, no-wrap msgid "{Scheme Variable} ruby-build-system" msgstr "{Scheme переменная} ruby-build-system" #. type: defvr #: guix-git/doc/guix.texi:8137 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)}. Она " "реализует процедуру сборки RubyGems, используемую пакетами Ruby, которая " "включает запуск @code{gem build}, за которым следует @code{gem install}." #. type: defvr #: guix-git/doc/guix.texi:8145 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 и устанавливает его. Кроме того, на " "каталоги и архивы можно ссылаться, чтобы можно было создавать unreleased " "gem'ы из Git или традиционного архива с исходным кодом." #. type: defvr #: guix-git/doc/guix.texi:8149 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 "" "Какой пакет Ruby используется, можно указать с помощью параметра @code{#:" "ruby}. Список дополнительных флагов, передаваемых команде @command{gem}, " "можно указать с помощью параметра @code{#:gem-flags}." #. type: defvr #: guix-git/doc/guix.texi:8151 #, no-wrap msgid "{Scheme Variable} waf-build-system" msgstr "{Scheme переменная} waf-build-system" #. type: defvr #: guix-git/doc/guix.texi:8157 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: defvr #: guix-git/doc/guix.texi:8161 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. Какой пакет Python " "используется для запуска сценария, можно указать с помощью параметра @code{#:" "python}." #. type: defvr #: guix-git/doc/guix.texi:8163 #, no-wrap msgid "{Scheme Variable} scons-build-system" msgstr "{Scheme переменная} scons-build-system" #. type: defvr #: guix-git/doc/guix.texi:8169 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: defvr #: guix-git/doc/guix.texi:8176 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}, можно указать с помощью " "параметра @code{#:scons-flags}. Цели сборки и установки по умолчанию могут " "быть переопределены с помощью @code{#:build-target} и @code{#:install-" "target} соответственно. Версия Python, используемая для запуска SCons, " "может быть указана путем выбора соответствующего пакета SCons с параметром " "@code{#:scons}." #. type: defvr #: guix-git/doc/guix.texi:8178 #, no-wrap msgid "{Scheme Variable} haskell-build-system" msgstr "{Scheme переменная} haskell-build-system" #. type: defvr #: guix-git/doc/guix.texi:8192 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)}. Она " "реализует процедуру сборки Cabal, используемую пакетами Haskell, которая " "включает запуск @code{runhaskell Setup.hs configure --prefix=/gnu/store/" "@dots{}} и @code{runhaskell Setup.hs build}. Вместо установки пакета путем " "запуска @code{runhaskell Setup.hs install}, чтобы избежать попыток " "регистрации библиотек в каталоге хранилища компилятора только для чтения, " "система сборки использует @code{runhaskell Setup.hs copy}, за которым " "следует @code{runhaskell Setup.hs register}. Кроме того, система сборки " "генерирует документацию по пакету, запуская @code{runhaskell Setup.hs " "haddock}, если только @code{#:haddock? #f} пройден. Дополнительные " "параметры можно передать с помощью параметра @code{#:haddock-flags}. Если " "файл @code{Setup.hs} не найден, система сборки вместо этого ищет @code{Setup." "lhs}." #. type: defvr #: guix-git/doc/guix.texi:8195 msgid "" "Which Haskell compiler is used can be specified with the @code{#:haskell} " "parameter which defaults to @code{ghc}." msgstr "" "Какой компилятор Haskell используется, можно указать с помощью параметра " "@code{#:haskell}, который по умолчанию равен @code{ghc}." #. type: defvr #: guix-git/doc/guix.texi:8197 #, no-wrap msgid "{Scheme Variable} dub-build-system" msgstr "{Scheme переменная} dub-build-system" #. type: defvr #: guix-git/doc/guix.texi:8202 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)}. Она " "реализует процедуру сборки Dub, используемую пакетами D, которая включает " "запуск @code{dub build} и @code{dub run}. Установка осуществляется путем " "копирования файлов вручную." #. type: defvr #: guix-git/doc/guix.texi:8205 msgid "" "Which D compiler is used can be specified with the @code{#:ldc} parameter " "which defaults to @code{ldc}." msgstr "" "Какой компилятор D используется, можно указать с помощью параметра @code{#:" "ldc}, который по умолчанию равен @code{ldc}." #. type: anchor{#1} #: guix-git/doc/guix.texi:8208 msgid "emacs-build-system" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:8208 #, no-wrap msgid "{Scheme Variable} emacs-build-system" msgstr "{Scheme переменная} emacs-build-system" #. type: defvr #: guix-git/doc/guix.texi:8212 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: defvr #: guix-git/doc/guix.texi:8218 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: defvr #: guix-git/doc/guix.texi:8220 #, no-wrap msgid "{Scheme Variable} font-build-system" msgstr "{Scheme переменная} font-build-system" #. type: defvr #: guix-git/doc/guix.texi:8226 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)}. Она " "реализует процедуру установки для пакетов шрифтов, в которой upstream " "предоставляет предварительно скомпилированные файлы TrueType, OpenType и т.д." "@: файлы шрифтов, которые необходимо просто скопировать на место. Она " "копирует файлы шрифтов в стандартные места выходного каталога." #. type: defvr #: guix-git/doc/guix.texi:8228 #, no-wrap msgid "{Scheme Variable} meson-build-system" msgstr "{Scheme переменная} meson-build-system" #. type: defvr #: guix-git/doc/guix.texi:8232 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: defvr #: guix-git/doc/guix.texi:8238 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. The default Meson is @code{meson-for-build}, " "which is special because it doesn't clear the @code{RUNPATH} of binaries and " "libraries when they are installed." msgstr "" "Она добавляет к набору входов как Meson, так и @uref{https://ninja-build." "org/, Ninja}, и их можно изменить с помощью параметров @code{#:meson} и " "@code{#:ninja}. если нужно. По умолчанию Meson - это @code{meson-for-" "build}, что является особенным, потому что он не очищает @code{RUNPATH} от " "двоичных файлов и библиотек при их установке." #. type: defvr #: guix-git/doc/guix.texi:8241 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: item #: guix-git/doc/guix.texi:8244 guix-git/doc/guix.texi:8293 #: guix-git/doc/guix.texi:8361 #, no-wrap msgid "configure" msgstr "" #. type: table #: guix-git/doc/guix.texi:8249 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{meson} с флагами, указанными в @code{#:configure-" "flags}. Флаг @option{--buildtype} всегда установлен на " "@code{debugoptimized}, если что-то еще не указано в @code{#:build-type}." #. type: table #: guix-git/doc/guix.texi:8253 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:8257 msgid "" "The phase runs @code{ninja} with the target specified in @code{#:test-" "target}, which is @code{\"test\"} by default." msgstr "" "На этапе выполняется @code{ninja} с целью, указанной в @code{#:test-target}, " "по умолчанию это @code{\"test\"}." #. type: table #: guix-git/doc/guix.texi:8260 msgid "The phase runs @code{ninja install} and can not be changed." msgstr "Фаза выполняется @code{ninja install} и не может быть изменен." #. type: defvr #: guix-git/doc/guix.texi:8263 msgid "Apart from that, the build system also adds the following phases:" msgstr "Помимо этого, система сборки также добавляет следующие фазы:" #. type: item #: guix-git/doc/guix.texi:8266 #, no-wrap msgid "fix-runpath" msgstr "fix-runpath" #. type: table #: guix-git/doc/guix.texi:8273 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-for-" "build}, such as test dependencies, that aren't actually required for the " "program to run." msgstr "" "Эта фаза гарантирует, что все двоичные файлы могут найти нужные библиотеки. " "Она ищет необходимые библиотеки в подкаталогах собираемого пакета и, при " "необходимости, добавляет их в @code{RUNPATH}. Она также удаляет ссылки на " "библиотеки, оставшиеся от фазы сборки @code{meson-for-build}, такие как " "тестовые зависимости, которые на самом деле не требуются для запуска " "программы." #. type: table #: guix-git/doc/guix.texi:8277 guix-git/doc/guix.texi:8281 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: defvr #: guix-git/doc/guix.texi:8284 #, no-wrap msgid "{Scheme Variable} linux-module-build-system" msgstr "{Scheme переменная} linux-module-build-system" #. type: defvr #: guix-git/doc/guix.texi:8286 msgid "@code{linux-module-build-system} allows building Linux kernel modules." msgstr "" "@code{linux-module-build-system} позволяет создавать модули ядра Linux." #. type: defvr #: guix-git/doc/guix.texi:8290 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:8296 msgid "" "This phase configures the environment so that the Linux kernel's Makefile " "can be used to build the external kernel module." msgstr "" "На этой фазе среда настраивается таким образом, чтобы Makefile ядра Linux " "можно было использовать для сборки внешнего модуля ядра." #. type: table #: guix-git/doc/guix.texi:8300 msgid "" "This phase uses the Linux kernel's Makefile in order to build the external " "kernel module." msgstr "" "На этой фазе используется Makefile ядра Linux для сборки внешнего модуля " "ядра." #. type: table #: guix-git/doc/guix.texi:8304 msgid "" "This phase uses the Linux kernel's Makefile in order to install the external " "kernel module." msgstr "" "На этой фазе используется Makefile ядра Linux для установки внешнего модуля " "ядра." #. type: defvr #: guix-git/doc/guix.texi:8309 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{arguments} пакета с использованием @code{linux-" "module-build-system} используйте ключ @code{#:linux}, чтобы указать это)." #. type: defvr #: guix-git/doc/guix.texi:8311 #, no-wrap msgid "{Scheme Variable} node-build-system" msgstr "{Scheme переменная} node-build-system" #. type: defvr #: guix-git/doc/guix.texi:8316 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: defvr #: guix-git/doc/guix.texi:8320 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 "" "Какой пакет Node.js используется для интерпретации команд @code{npm}, можно " "указать с помощью параметра @code{#:node}, который по умолчанию равен " "@code{node}." #. type: Plain text #: guix-git/doc/guix.texi:8326 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 "" "Наконец, для пакетов, которым не нужно ничего столь же сложного, " "предоставляется ``trivial'' система сборки. Она тривиальна в том смысле, " "что она практически не оказывает поддержки при сборке: она не извлекает " "никаких неявных входных данных и не имеет понятия о этапах сборки." #. type: defvr #: guix-git/doc/guix.texi:8327 #, no-wrap msgid "{Scheme Variable} trivial-build-system" msgstr "{Scheme переменная} trivial-build-system" #. type: defvr #: guix-git/doc/guix.texi:8329 msgid "This variable is exported by @code{(guix build-system trivial)}." msgstr "Эта переменная экспортируется @code{(guix build-system trivial)}." #. type: defvr #: guix-git/doc/guix.texi:8334 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: cindex #: guix-git/doc/guix.texi:8339 #, no-wrap msgid "build phases, for packages" msgstr "входные данные, для пакетов Python" #. type: Plain text #: guix-git/doc/guix.texi:8345 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{фазы сборки}: " "последовательность действий, которые система сборки выполняет при сборке " "пакета, что приводит к установке побочных продуктов в store. Заметным " "исключением является ``bare-bones'' @code{trivial-build-system} " "(@pxref{Build Systems})." #. type: Plain text #: guix-git/doc/guix.texi:8349 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 "" #. type: item #: guix-git/doc/guix.texi:8351 #, no-wrap msgid "unpack" msgstr "" #. type: table #: guix-git/doc/guix.texi:8355 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:8356 #, no-wrap msgid "patch-source-shebangs" msgstr "" #. type: table #: guix-git/doc/guix.texi:8360 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:8365 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:8370 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} со списком флагов, указанным с помощью @code{#:make-" "flags}. Если аргумент @code{#:parallel-build?} истинен (по умолчанию), " "выполнить сборку с @code{make -j}." #. type: table #: guix-git/doc/guix.texi:8376 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} или другой target, указанный с помощью @code{#:" "test-target}, если только @code{#:tests? #f} пройден. Если аргумент @code{#:" "parallel-tests?} истинен (по умолчанию), запустить @code{make check -j}." #. type: table #: guix-git/doc/guix.texi:8379 msgid "Run @code{make install} with the flags listed in @code{#:make-flags}." msgstr "" "Запустить @code{make install} с флагами, перечисленными в @code{#:make-" "flags}." #. type: item #: guix-git/doc/guix.texi:8380 #, no-wrap msgid "patch-shebangs" msgstr "" #. type: table #: guix-git/doc/guix.texi:8382 msgid "Patch shebangs on the installed executable files." msgstr "Изменить shebangs на установленные исполняемые файлы." #. type: item #: guix-git/doc/guix.texi:8383 #, no-wrap msgid "strip" msgstr "" #. type: table #: guix-git/doc/guix.texi:8387 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{Installing Debugging Files})." #. type: Plain text #: guix-git/doc/guix.texi:8396 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{gnu-build-system} стандартные фазы " "включают фазу @code{unpack} для распаковки архива исходного кода, фазу " "@command{configure} для запуска @code{./configure}, @code{build} фаза для " "запуска @command{make} и (среди прочего) фазу @code{install} для запуска " "@command{make install}; @pxref{Build Systems}, чтобы получить более " "подробное представление об этих фазах. Точно так же @code{cmake-build-" "system} наследует эти фазы, но его фаза @code{configure} запускает " "@command{cmake} вместо @command{./configure}. Другие системы сборки, такие " "как @code{python-build-system}, имеют совершенно другой список стандартных " "фаз. Весь этот код выполняется на @dfn{build side}: он выполняется, когда " "вы фактически собираете пакет, в отдельном процессе сборки, порожденном " "демоном сборки (@pxref{Invoking guix-daemon})." #. type: Plain text #: guix-git/doc/guix.texi:8403 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:8404 #, no-wrap msgid "%standard-phases" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:8410 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-phase}, переменную, содержащую список фаз сборки " "@footnote{Мы представляем упрощенное представление этих фаз сборки, но " "обязательно взгляните на @code{(guix build gnu-build-system)}, чтобы увидеть " "все подробности!}:" #. type: lisp #: guix-git/doc/guix.texi:8413 #, no-wrap msgid "" ";; The build phases of 'gnu-build-system'.\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:8417 #, no-wrap msgid "" "(define* (unpack #:key source #:allow-other-keys)\n" " ;; Extract the source tarball.\n" " (invoke \"tar\" \"xvf\" source))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:8423 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:8427 #, no-wrap msgid "" "(define* (build #:allow-other-keys)\n" " ;; Compile.\n" " (invoke \"make\"))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:8434 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:8438 #, no-wrap msgid "" "(define* (install #:allow-other-keys)\n" " ;; Install files to the prefix 'configure' specified.\n" " (invoke \"make\" \"install\"))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:8447 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:8457 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-phase} определяется как список пар " "символ/процедура (@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:8463 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:8479 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}, который система " "сборки использует для передачи имени файла исходного архива (или checkout " "контроля версий), и игнорирует другие параметры. Фаза @code{configure} " "касается только параметра @code{output}, списка имен выходных пакетов, " "отображающих имена файлов хранилища (@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:8480 #, no-wrap msgid "build phases, customizing" msgstr "build phases, customizing" #. type: Plain text #: guix-git/doc/guix.texi:8489 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{#:phase} системы сборки. Изменение набора фаз сборки " "сводится к созданию нового списка фаз на основе списка @code{%standard-" "phase}, описанного выше. Это можно сделать с помощью стандартных процедур " "списков, таких как @code{alist-delete} (@pxref{SRFI-1 Association Lists,,, " "guile, GNU Guile Reference Manual}); однако это удобнее делать с помощью " "@code{modify-phase} (@pxref{Build Utilities, @code{modify-phases}})." #. type: Plain text #: guix-git/doc/guix.texi:8494 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-phase} и вставляет новую фазу перед фазой @code{build}, " "которая называется @code{set-prefix-in- makefile}:" #. type: lisp #: guix-git/doc/guix.texi:8514 #, no-wrap msgid "" "(define-public example\n" " (package\n" " (name \"example\")\n" " ;; other fields omitted\n" " (build-system gnu-build-system)\n" " (arguments\n" " '(#:phases (modify-phases %standard-phases\n" " (delete 'configure)\n" " (add-before 'build 'set-prefix-in-makefile\n" " (lambda* (#:key outputs #:allow-other-keys)\n" " ;; Modify the makefile so that its\n" " ;; 'PREFIX' variable points to \"out\".\n" " (let ((out (assoc-ref outputs \"out\")))\n" " (substitute* \"Makefile\"\n" " ((\"PREFIX =.*\")\n" " (string-append \"PREFIX = \"\n" " out \"\\n\")))\n" " #true))))))))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:8520 msgid "" "The new phase that is inserted is written as an anonymous procedure, " "introduced with @code{lambda*}; it 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*}; она учитывает параметр @code{output}, который мы " "видели ранее. @xref{Build Utilities}, чтобы узнать больше о помощниках, " "используемых в этой фазе, и получить больше примеров @code{modify-phase}." #. type: cindex #: guix-git/doc/guix.texi:8521 guix-git/doc/guix.texi:9494 #, no-wrap msgid "code staging" msgstr "staging кода" #. type: cindex #: guix-git/doc/guix.texi:8522 guix-git/doc/guix.texi:9495 #, no-wrap msgid "staging, of code" msgstr "форматировние, кода" #. type: Plain text #: guix-git/doc/guix.texi:8529 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 apostrophe): 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-phase} целиком (оно идет после @code{'} или апострофа): это " "@dfn{staged} для последующего выполнения. @xref{G-Expressions} для " "объяснения staging кода и задействованных @dfn{code strata}." #. type: Plain text #: guix-git/doc/guix.texi:8539 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}), вы, скорее всего, начнете искать помощников для действий, " "подобных оболочке---создание каталогов, рекурсивное копирование и удаление " "файлов, управление этапами сборки и т.д. Модуль @code{(guix build utils)} " "предоставляет такие служебные процедуры." #. type: Plain text #: guix-git/doc/guix.texi:8543 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:8548 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{(guix build utils)} " "на ``стороне сборки'', используя @code{with-import-modules}, а затем " "поместить его в область видимости с помощью формы @code{use-modules} " "(@pxref{Using Guile Modules,,, guile, GNU Guile Reference Manual}):" #. type: lisp #: guix-git/doc/guix.texi:8555 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:8558 #, no-wrap msgid "" " ;; Happily use its 'mkdir-p' procedure.\n" " (mkdir-p (string-append #$output \"/a/b/c\")))))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:8562 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:8565 #, no-wrap msgid "Dealing with Store File Names" msgstr "Работа с именами файлов в store" #. type: Plain text #: guix-git/doc/guix.texi:8568 msgid "This section documents procedures that deal with store file names." msgstr "В этом разделе описаны процедуры, относящиеся к именам файлов в store." #. type: deffn #: guix-git/doc/guix.texi:8569 #, no-wrap msgid "{Scheme Procedure} %store-directory" msgstr "{Процедура Scheme} sane-service-type" #. type: deffn #: guix-git/doc/guix.texi:8571 msgid "Return the directory name of the store." msgstr "Проверить целостность склада." #. type: deffn #: guix-git/doc/guix.texi:8573 #, no-wrap msgid "{Scheme Procedure} store-file-name? @var{file}" msgstr "{Scheme Procedure} file-union @var{name} @var{files}" #. type: deffn #: guix-git/doc/guix.texi:8575 msgid "Return true if @var{file} is in the store." msgstr "Возвращает true, если объект @var{obj} --- это пакет ранней версии." #. type: deffn #: guix-git/doc/guix.texi:8577 #, no-wrap msgid "{Scheme Procedure} strip-store-file-name @var{file}" msgstr "{Scheme Procedure} file-union @var{name} @var{files}" #. type: deffn #: guix-git/doc/guix.texi:8580 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 "" "Удалиnm @file{/gnu/store} и хэш из @var{file}, имени файла в store. " "Результатом обычно является строка @code{\"@var{package}-@var{version}\"}." #. type: deffn #: guix-git/doc/guix.texi:8582 #, no-wrap msgid "{Scheme Procedure} package-name->name+version @var{name}" msgstr "{Процедура Scheme} inferior-package-version @var{package}" #. type: deffn #: guix-git/doc/guix.texi:8587 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:8589 #, no-wrap msgid "File Types" msgstr "Файловые системы" #. type: Plain text #: guix-git/doc/guix.texi:8592 msgid "The procedures below deal with files and file types." msgstr "" "Процедуры, приведённые ниже, обеспечивают работу и управление ранними " "версиями пакетов." #. type: deffn #: guix-git/doc/guix.texi:8593 #, no-wrap msgid "{Scheme Procedure} directory-exists? @var{dir}" msgstr "{Scheme Procedure} directory-union @var{name} @var{things}" #. type: deffn #: guix-git/doc/guix.texi:8595 msgid "Return @code{#t} if @var{dir} exists and is a directory." msgstr "Вернуть @code{#t}, если @var{dir} существует и является каталогом." #. type: deffn #: guix-git/doc/guix.texi:8597 #, no-wrap msgid "{Scheme Procedure} executable-file? @var{file}" msgstr "{Scheme Procedure} file-union @var{name} @var{files}" #. type: deffn #: guix-git/doc/guix.texi:8599 msgid "Return @code{#t} if @var{file} exists and is executable." msgstr "Вернуть @code{#t}, если @var{file} существует и исполняемый файл." #. type: deffn #: guix-git/doc/guix.texi:8601 #, no-wrap msgid "{Scheme Procedure} symbolic-link? @var{file}" msgstr "{Scheme Procedure} file-union @var{name} @var{files}" #. type: deffn #: guix-git/doc/guix.texi:8603 msgid "Return @code{#t} if @var{file} is a symbolic link (aka. a ``symlink'')." msgstr "" "Вернуть @code{#t}, если @var{file} является символической ссылкой (также " "известной как ``символическая ссылка'')." #. type: deffn #: guix-git/doc/guix.texi:8605 #, no-wrap msgid "{Scheme Procedure} elf-file? @var{file}" msgstr "{Scheme Procedure} file-union @var{name} @var{files}" #. type: deffnx #: guix-git/doc/guix.texi:8606 #, no-wrap msgid "{Scheme Procedure} ar-file? @var{file}" msgstr "{Scheme Procedure} file-union @var{name} @var{files}" #. type: deffnx #: guix-git/doc/guix.texi:8607 #, no-wrap msgid "{Scheme Procedure} gzip-file? @var{file}" msgstr "{Scheme Procedure} file-union @var{name} @var{files}" #. type: deffn #: guix-git/doc/guix.texi:8610 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 "" "Вернуть @code{#t}, если @var{file} является, соответственно, файлом ELF, " "архивом @code{ar} (например, статической библиотекой @file{.a}) или файлом " "gzip." #. type: deffn #: guix-git/doc/guix.texi:8612 #, no-wrap msgid "{Scheme Procedure} reset-gzip-timestamp @var{file} [#:keep-mtime? #t]" msgstr "{Процедура Scheme} inferior-package-inputs @var{package}" #. type: deffn #: guix-git/doc/guix.texi:8616 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, сбросить его timestamp (как в случае " "@command{gzip --no-name}) и вернуть истину. В противном случае вернуть " "@code{#f}. Когда @var{keep-mtime?} истинна, сохранить время модификации " "@var{file}." #. type: subsection #: guix-git/doc/guix.texi:8618 #, no-wrap msgid "File Manipulation" msgstr "Управление файлами" #. type: Plain text #: guix-git/doc/guix.texi:8625 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 "" "Следующие процедуры и макросы помогают создавать, изменять и удалять файлы. " "Они обеспечивают функциональность, сопоставимую с такими обычными утилитами " "оболочки, как @command{mkdir -p}, @command{cp -r}, @command{rm -r} и " "@command{sed}. Они дополняют обширный, но низкоуровневый интерфейс файловой " "системы Guile (@pxref{POSIX,,, guile, GNU Guile Reference Manual})." #. type: deffn #: guix-git/doc/guix.texi:8626 #, no-wrap msgid "{Scheme Syntax} with-directory-excursion @var{directory} @var{body}@dots{}" msgstr "{Scheme Syntax} let-system @var{system} @var{body}@dots{}" #. type: deffn #: guix-git/doc/guix.texi:8628 msgid "Run @var{body} with @var{directory} as the process's current directory." msgstr "" "Запустить @var{body} с @var{directory} в качестве текущего каталога процесса." #. type: deffn #: guix-git/doc/guix.texi:8635 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{directory} перед " "вычислением @var{body}, используя @code{chdir} (@pxref{Processes,,, guile, " "GNU Guile Reference Manual}). Она возвращается в исходный каталог, когда " "остается динамический extent @var{body}, будь то @i{через} возврат " "нормальной процедуры или @i{через} нелокальный выход, такой как исключение." #. type: deffn #: guix-git/doc/guix.texi:8637 #, no-wrap msgid "{Scheme Procedure} mkdir-p @var{dir}" msgstr "{Процедура Scheme} inferior-packages @var{inferior}" #. type: deffn #: guix-git/doc/guix.texi:8639 msgid "Create directory @var{dir} and all its ancestors." msgstr "Создать каталог @var{dir} и всех его предков." #. type: deffn #: guix-git/doc/guix.texi:8641 #, no-wrap msgid "{Scheme Procedure} install-file @var{file} @var{directory}" msgstr "{Процедура Scheme} open-inferior @var{directory} @" #. type: deffn #: guix-git/doc/guix.texi:8644 msgid "" "Create @var{directory} if it does not exist and copy @var{file} in there " "under the same name." msgstr "" "Создать @var{каталог}, если он не существует, и скопировать туда @var{file} " "под тем же именем." #. type: deffn #: guix-git/doc/guix.texi:8646 #, no-wrap msgid "{Scheme Procedure} make-file-writable @var{file}" msgstr "{Scheme Procedure} file-union @var{name} @var{files}" #. type: deffn #: guix-git/doc/guix.texi:8648 msgid "Make @var{file} writable for its owner." msgstr "Сделать @var{file} доступным для записи его владельцу." #. type: deffn #: guix-git/doc/guix.texi:8650 #, no-wrap msgid "{Scheme Procedure} copy-recursively @var{source} @var{destination} @" msgstr "{Scheme Procedure} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:8657 msgid "" "[#:log (current-output-port)] [#:follow-symlinks? #f] [#:keep-mtime? #f] " "Copy @var{source} directory to @var{destination}. Follow symlinks if " "@var{follow-symlinks?} is true; otherwise, just preserve them. When " "@var{keep-mtime?} is true, keep the modification time of the files in " "@var{source} on those of @var{destination}. Write verbose output to the " "@var{log} port." msgstr "" "[#:log (current-output-port)] [#:follow-symlinks? #f] [#:keep-mtime? #f] " "Скопировать каталог @var{source} в @var{destination}. Следовать " "символическим ссылкам, если @var{follow-symlinks?} истинна; в противном " "случае просто сохранить их. Когда @var{keep-mtime?} истинна, оставить время " "изменения файлов в @var{source} таким же, как у @var{destination}. " "Записывать подробный вывод в порт @var{log}." #. type: deffn #: guix-git/doc/guix.texi:8659 #, no-wrap msgid "{Scheme Procedure} delete-file-recursively @var{dir} @" msgstr "{Процедура Scheme} open-inferior @var{directory} @" #. type: deffn #: guix-git/doc/guix.texi:8664 msgid "" "[#:follow-mounts? #f] 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 "" "[#:follow-mounts? #f] @var{dir} рекурсивно, как @command{rm -rf}, без " "использования символических ссылок. Также не следовать точкам монтирования, " "если @var{follow-mounts?} не истинна. Сообщать об ошибках, но игнорировать " "их." #. type: deffn #: guix-git/doc/guix.texi:8666 #, no-wrap msgid "{Scheme Syntax} substitute* @var{file} @" msgstr "{Scheme Syntax} let-system @var{system} @var{body}@dots{}" #. type: deffn #: guix-git/doc/guix.texi:8671 msgid "" "((@var{regexp} @var{match-var}@dots{}) @var{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 "" "((@var{regexp} @var{match-var}@dots{}) @var{body}@dots{}) @dots{} Заменить " "@var{regexp} в @var{file} строкой, возвращаемой @var{body}. @var{body} " "вычисляется с каждой привязкой @var{match-var} к соответствующему " "подвыражению позиционного регулярного выражения. Например:" #. type: lisp #: guix-git/doc/guix.texi:8678 #, no-wrap msgid "" "(substitute* file\n" " ((\"hello\")\n" " \"good morning\\n\")\n" " ((\"foo([a-z]+)bar(.*)$\" all letters end)\n" " (string-append \"baz\" letter end)))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:8684 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{good morning}. Каждый раз, когда строка @var{file} соответствует " "второму регулярному выражению, @code{all} привязывается к полному " "совпадению, @code{letters} привязано к первому подвыражению, а @code{end} " "привязано к последнему." #. type: deffn #: guix-git/doc/guix.texi:8687 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: deffn #: guix-git/doc/guix.texi:8690 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: deffn #: guix-git/doc/guix.texi:8693 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." msgstr "" "В качестве альтернативы @var{file} может быть списком имен файлов, и в этом " "случае все они могут быть заменены." #. type: subsection #: guix-git/doc/guix.texi:8695 #, no-wrap msgid "File Search" msgstr "Файловые системы" #. type: cindex #: guix-git/doc/guix.texi:8697 #, no-wrap msgid "file, searching" msgstr "файл, поиск" #. type: Plain text #: guix-git/doc/guix.texi:8699 msgid "This section documents procedures to search and filter files." msgstr "В этом разделе описаны процедуры поиска и фильтрации файлов." #. type: deffn #: guix-git/doc/guix.texi:8700 #, no-wrap msgid "{Scheme Procedure} file-name-predicate @var{regexp}" msgstr "{Процедура Scheme} inferior-package? @var{obj}" #. type: deffn #: guix-git/doc/guix.texi:8703 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:8705 #, no-wrap msgid "{Scheme Procedure} find-files @var{dir} [@var{pred}] @" msgstr "{Процедура Scheme} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:8716 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:8720 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:8725 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:8729 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:8733 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:8735 #, no-wrap msgid "{Scheme Procedure} which @var{program}" msgstr "{Процедура Scheme} inferior-packages @var{inferior}" #. type: deffn #: guix-git/doc/guix.texi:8738 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 "" "Вернуть полное имя файла для @var{program}, как в @code{$PATH}, или " "@code{#f}, если @var{program} не найдена." #. type: Plain text #: guix-git/doc/guix.texi:8749 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:8753 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)} предоставляют инструменты для " "управления списками. Модуль @code{(guix build utils)} дополняет их " "инструментами, написанными с учетом фаз сборки." #. type: cindex #: guix-git/doc/guix.texi:8754 #, no-wrap msgid "build phases, modifying" msgstr "build phases, modifying" #. type: deffn #: guix-git/doc/guix.texi:8755 #, no-wrap msgid "{Scheme Syntax} modify-phases @var{phases} @var{clause}@dots{}" msgstr "{Scheme Syntax} let-system @var{system} @var{body}@dots{}" #. type: deffn #: guix-git/doc/guix.texi:8758 msgid "" "Modify @var{phases} sequentially as per each @var{clause}, which may have " "one of the following forms:" msgstr "" "Изменить @var{phases} последовательно в соответствии с каждым @var{clause}, " "которое может иметь одну из следующих форм:" #. type: lisp #: guix-git/doc/guix.texi:8764 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:8768 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:8779 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{#:" "output} и игнорирует дополнительные аргументы ключевого слова " "(@pxref{Optional Arguments,,, guile, GNU Guile Reference Manual}, for more " "on @code{lambda*} and optional and keyword arguments.) В фазе используется " "@code{substitute*} для изменения установленных сценариев @file{egrep} и " "@file{fgrep}, чтобы они ссылались на @code{grep} по абсолютному имени файла:" #. type: lisp #: guix-git/doc/guix.texi:8793 #, 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" " #t))))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:8800 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:8813 #, 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" " #t))))\n" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:8821 #, no-wrap msgid "store items" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:8822 #, no-wrap msgid "store paths" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:8833 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} - это место, где хранятся успешно построенные " "derivation'ы - по умолчанию @file{/gnu/store}. Подкаталоги в store " "называются @dfn{store items} или иногда @dfn{store paths}. У store есть " "связанная база данных, которая содержит такую информацию, как store paths, " "на которые ссылается каждый store path, и список @emph{валидных} store " "item'ов---результаты успешных сборок. Эта база данных находится в " "@file{@var{localstatedir}/guix/db}, где @var{localstatedir} - это каталог " "состояний, указанный @i{через} @option{--localstatedir} во время configure, " "обычно @file{/var}." #. type: Plain text #: guix-git/doc/guix.texi:8838 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 "" "Демон @emph{всегда} обращается к store от имени своих клиентов " "(@pxref{Invoking guix-daemon}). Чтобы управлять store, клиенты подключаются " "к демону через сокет домена Unix, отправляют ему запросы и читают результат " "- это вызовы удаленных процедур или RPC." #. type: quotation #: guix-git/doc/guix.texi:8843 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 "" "Пользователи должны @emph{никогда} напрямую изменять файлы в @file{/gnu/" "store}. Это приведет к несоответствиям и нарушит предположения о " "неизменности функциональной модели Guix (@pxref{Introduction})." #. type: quotation #: guix-git/doc/guix.texi:8847 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}}, для получения " "информации о том, как проверить целостность store и попытаться восстановить " "его после случайных изменений." #. type: Plain text #: guix-git/doc/guix.texi:8854 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} подключаются к локальному демону " "или к URI, указанному в переменной среды @env{GUIX_DAEMON_SOCKET}." #. type: defvr #: guix-git/doc/guix.texi:8855 #, no-wrap msgid "{Environment Variable} GUIX_DAEMON_SOCKET" msgstr "{Environment Variable} GUIX_DAEMON_SOCKET" #. type: defvr #: guix-git/doc/guix.texi:8860 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: code{#1} #: guix-git/doc/guix.texi:8862 guix-git/doc/guix.texi:25132 #, no-wrap msgid "file" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:8863 #, no-wrap msgid "unix" msgstr "unix" #. type: table #: guix-git/doc/guix.texi:8867 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:8876 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:8879 #, 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:8884 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:8888 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 "" "Параметр @option{--listen} команды @command{guix-daemon} можно использовать " "для указания ему прослушивать TCP-соединения (@pxref{Invoking guix-daemon, " "@option{--listen}})." #. type: item #: guix-git/doc/guix.texi:8889 #, no-wrap msgid "ssh" msgstr "ssh" #. type: cindex #: guix-git/doc/guix.texi:8890 #, no-wrap msgid "SSH access to build daemons" msgstr "доступ к демонам сборки по ssh" #. type: table #: guix-git/doc/guix.texi:8896 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}) и рабочий @command{guile} " "binary файл в @env{PATH} на конечном компьютере. Он поддерживает открытый " "ключ и аутентификацию GSSAPI. Типичный URL-адрес может выглядеть так:" #. type: example #: guix-git/doc/guix.texi:8899 #, 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:8903 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:8906 msgid "Additional URI schemes may be supported in the future." msgstr "В будущем могут поддерживаться дополнительные схемы URI." #. type: quotation #: guix-git/doc/guix.texi:8913 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:8916 #, no-wrap msgid "{Scheme Procedure} open-connection [@var{uri}] [#:reserve-space? #t]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:8921 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 "" "Подключится к демону через сокет домена Unix по адресу @var{uri} (строка). " "Когда @var{reserve-space?} истинна, указать ему, чтобы он зарезервировал " "немного дополнительного места в файловой системе, чтобы сборщик мусора мог " "работать, если диск заполнится. Вернуть объект сервера." #. type: deffn #: guix-git/doc/guix.texi:8924 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:8926 #, no-wrap msgid "{Scheme Procedure} close-connection @var{server}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:8928 msgid "Close the connection to @var{server}." msgstr "Закрыть соединение с @var{server}." #. type: defvr #: guix-git/doc/guix.texi:8930 #, no-wrap msgid "{Scheme Variable} current-build-output-port" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:8933 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:8937 msgid "" "Procedures that make RPCs all take a server object as their first argument." msgstr "" "Процедуры, которые заставляют все RPC принимать объект сервера в качестве " "своего первого аргумента." #. type: deffn #: guix-git/doc/guix.texi:8938 #, no-wrap msgid "{Scheme Procedure} valid-path? @var{server} @var{path}" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:8939 #, no-wrap msgid "invalid store items" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:8944 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 "" "Возвращать @code{#t}, когда @var{path} обозначает допустимый элемент " "хранилища, и @code{#f} в противном случае (недопустимый элемент может " "существовать на диске, но по-прежнему быть недопустимым, например, потому " "что он является результатом прерывания или неудачной сборки)." #. type: deffn #: guix-git/doc/guix.texi:8947 msgid "" "A @code{&store-protocol-error} condition is raised if @var{path} is not " "prefixed by the store directory (@file{/gnu/store})." msgstr "" "Условие @code{&store-protocol-error} возникает, если @var{path} не имеет " "префикса в каталоге store (@file{/gnu/store})." #. type: deffn #: guix-git/doc/guix.texi:8949 #, no-wrap msgid "{Scheme Procedure} add-text-to-store @var{server} @var{name} @var{text} [@var{references}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:8953 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{text} в файл @var{name} в store и вернуть его store path. " "@var{references} - это список store path'ы, на которые ссылается конечный " "store path." #. type: deffn #: guix-git/doc/guix.texi:8955 #, no-wrap msgid "{Scheme Procedure} build-derivations @var{store} @var{derivations} @" msgstr "{Scheme Procedure} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:8960 msgid "" "[@var{mode}] Build @var{derivations}, a list of @code{} objects, " "@file{.drv} file names, or derivation/output pairs, using the specified " "@var{mode}---@code{(build-mode normal)} by default." msgstr "" "[@var{mode}] Собрать @var{derivations}, список объектов @code{}, " "имен файлов @file{.drv} или пар derivation/output, используя указанный " "@var{mode}---@code{(build-mode normal)} по умолчанию." #. type: Plain text #: guix-git/doc/guix.texi:8966 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)} предоставляет как монаду, " "так и монадические версии вышеупомянутых процедур с целью сделать более " "удобной работу с кодом, который обращается к store (@pxref{The Store Monad})." #. type: i{#1} #: guix-git/doc/guix.texi:8969 msgid "This section is currently incomplete." msgstr "Этот раздел в настоящее время не завершен." #. type: cindex #: guix-git/doc/guix.texi:8973 #, no-wrap msgid "derivations" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:8977 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{derivations}. Derivation содержит следующую " "информацию:" #. type: itemize #: guix-git/doc/guix.texi:8982 msgid "" "The outputs of the derivation---derivations produce at least one file or " "directory in the store, but may produce more." msgstr "" "The outputs of the derivation---derivations создают по крайней мере один " "файл или каталог в store, но могут создавать и больше." #. type: cindex #: guix-git/doc/guix.texi:8984 #, no-wrap msgid "build-time dependencies" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:8985 #, no-wrap msgid "dependencies, build-time" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:8989 msgid "" "The inputs of the derivations---i.e., its build-time dependencies---which " "may be other derivations or plain files in the store (patches, build " "scripts, etc.)." msgstr "" "Входные данные производных---то есть его build-time зависимости - которые " "могут быть другими derivation'ами или простыми файлами в store (патчи, " "скрипты сборки и т.д.)." #. type: itemize #: guix-git/doc/guix.texi:8992 msgid "The system type targeted by the derivation---e.g., @code{x86_64-linux}." msgstr "" "Тип системы, на который нацелена derivation - например, @code{x86_64-linux}." #. type: itemize #: guix-git/doc/guix.texi:8996 msgid "" "The file name of a build script in the store, along with the arguments to be " "passed." msgstr "Имя файла скрипта сборки в store вместе с передаваемыми аргументами." #. type: itemize #: guix-git/doc/guix.texi:8999 msgid "A list of environment variables to be defined." msgstr "Список переменных среды, которые необходимо определить." #. type: cindex #: guix-git/doc/guix.texi:9002 #, no-wrap msgid "derivation path" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9010 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 "" "Derivation'ы позволяют клиентам демона передавать действия сборки в store. " "Они существуют в двух формах: как представление в памяти, как на стороне " "клиента, так и на стороне демона, и в виде файлов в хранилище, имена которых " "заканчиваются на @file{.drv} - эти файлы называются @dfn{derivation paths}. " "Derivation paths могут быть переданы в процедуру @code{build-derivations} " "для выполнения действий сборки, которые они предписывают (@pxref{The Store})." #. type: cindex #: guix-git/doc/guix.texi:9011 #, no-wrap msgid "fixed-output derivations" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9018 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{fixed-output " "derivations}. В отличие от обычных дериваций, выходные данные деривации с " "фиксированным выходом не зависят от его входных данных - например, загрузка " "исходного кода дает тот же результат независимо от метода загрузки и " "используемых инструментов." #. type: item #: guix-git/doc/guix.texi:9019 guix-git/doc/guix.texi:12601 #, no-wrap msgid "references" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:9020 #, no-wrap msgid "run-time dependencies" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:9021 #, no-wrap msgid "dependencies, run-time" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9028 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 "" "Outputs of derivations---то есть результаты сборки---имеют множество " "@dfn{references}, в соответствии с указаниями RPC @code{references} или " "команды @command{guix gc --references} (@pxref{Invoking guix gc}). " "References - это набор run-time зависимостей результатов сборки. References " "- это подмножество входных данных derivation; это подмножество автоматически " "вычисляется демоном сборки путем сканирования всех файлов в выходных данных." #. type: Plain text #: guix-git/doc/guix.texi:9033 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 diverations)} предоставляет представление derivation'ов в " "виде Scheme объектов, а также процедуры для создания derivation'ов и других " "манипуляций с ними. Самым низкоуровневым примитивом для создания " "derivation'а является процедура @code{derivation}:" #. type: deffn #: guix-git/doc/guix.texi:9034 #, no-wrap msgid "{Scheme Procedure} derivation @var{store} @var{name} @var{builder} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9043 msgid "" "@var{args} [#: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{} object." msgstr "" "@var{args} [#: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{}." #. type: deffn #: guix-git/doc/guix.texi:9050 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{fixed-output " "derivation} - то есть результат, который известен заранее, например, " "загрузка файла. Кроме того, если @var{recursive?} истинна, то этот " "фиксированный вывод может быть исполняемым файлом или каталогом, а " "@var{hash} должен быть хешем архива, содержащего этот вывод." #. type: deffn #: guix-git/doc/guix.texi:9055 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{links-graphs} истинна, данная переменная должна быть списком из " "пар имя файла и путь к store. В этом случае граф ссылок каждого store path " "экспортируется в среду сборки в соответствующий файл в простом текстовом " "формате." #. type: deffn #: guix-git/doc/guix.texi:9060 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-links} истинна, данная переменная должна быть списком " "store item'ов или выходных данных, на которые может ссылаться выход " "derivation'а. Аналогично, @var{disallowed-links}, если она истинна, данная " "переменная должна быть списком сущностей, на которые @emph{не} могут " "ссылаться выходные данные." #. type: deffn #: guix-git/doc/guix.texi:9067 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} истинна, данная переменная должна быть списком " "строк, обозначающих переменные среды, которым разрешено ``просачиваться'' из " "среды демона в среду сборки. Это применимо только к fixed-output " "derivation'ам, т.е. когда @var{hash} истинна. Основное использование - " "разрешить передачу таких переменных, как @code{http_proxy}, derivation'ам, " "которые загружают файлы." #. type: deffn #: guix-git/doc/guix.texi:9072 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?} истинна, объявить, что производная не является " "хорошим кандидатом для offload и должна быть собрана локально (@pxref{Daemon " "Offload Setup}). Это справедливо для небольших derivation'ов, когда затраты " "на передачу данных перевешивают выгоды." #. type: deffn #: guix-git/doc/guix.texi:9077 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?} ложно, объявить, что substitutes derivation'ов не " "должны использоваться (@pxref{Substitutes}). Это полезно, например, при " "создании пакетов, которые фиксируют подробности набора команд центрального " "процессора." #. type: deffn #: guix-git/doc/guix.texi:9080 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} должна быть списком ассоциаций, описывающих ``свойства'' " "derivation'а. При выводе они сохраняются как есть, без интерпретации." #. type: Plain text #: guix-git/doc/guix.texi:9086 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 скриптом в качестве его builder'а, предполагая, что " "@var{store} является открытым соединением с демоном, а @var{bash} указывает " "на исполняемый файл Bash в store:" #. type: lisp #: guix-git/doc/guix.texi:9091 #, 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:9100 #, 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{} # /gnu/store/@dots{}-foo>\n" msgstr "" "(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{} # /gnu/store/@dots{}-foo>\n" #. type: Plain text #: guix-git/doc/guix.texi:9107 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:9112 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} не существовала, и построение " "derivation'ов с помощью кода сборки, написанного на Scheme, достигалось с " "помощью @code{build-expression->derivation}, описанной ниже. Эта процедура " "теперь устарела и заменена более приятным @code{gexp->derivation}." #. type: deffn #: guix-git/doc/guix.texi:9113 #, no-wrap msgid "{Scheme Procedure} build-expression->derivation @var{store} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9129 msgid "" "@var{name} @var{exp} @ [#: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 "" "@var{name} @var{exp} @ [#: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] Возвращает derivation, которая " "исполняет Scheme выражение @var{exp} как builder для derivation'а " "@var{name}. @var{inputs} должна быть списком кортежей @code{(name drv-path " "sub-drv)}; когда @var{sub-drv} опущена, предполагается @code{\"out\"}. " "@var{modules} - это список имен модулей Guile из текущего пути поиска, " "которые будут скопированы в store, скомпилированы и станут доступными в пути " "загрузки во время выполнения @var{exp}---например, @code{((guix build utils) " "(guix build gnu-build-system))}." #. type: deffn #: guix-git/doc/guix.texi:9137 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{%output} привязан к списку пар " "output/path, а где @code{%build-inputs} привязан к списку пар строка/output-" "path сделаными из @var{input}. Необязательно, @var{env-vars} - это список " "пар строк, определяющих имя и значение переменных среды, видимых builder'у. " "Builder завершает работу, передавая результат @var{exp} в @code{exit}; таким " "образом, когда @var{exp} возвращает @code{#f}, сборка считается неудачной." #. type: deffn #: guix-git/doc/guix.texi:9141 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} (derivation). " "Когда @var{guile-for-build} опущена или равна @code{#f}, вместо этого " "используется значение fluid'а @code{%guile-for-build}." #. type: deffn #: guix-git/doc/guix.texi:9146 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:9151 msgid "" "Here's an example of a single-output derivation that creates a directory " "containing one file:" msgstr "" "Вот пример single-output derivation'а, которая создает каталог, содержащий " "один файл:" #. type: lisp #: guix-git/doc/guix.texi:9159 #, 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) ; 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" #. type: lisp #: guix-git/doc/guix.texi:9161 #, no-wrap msgid "@result{} # @dots{}>\n" msgstr "@result{} # @dots{}>\n" #. type: cindex #: guix-git/doc/guix.texi:9167 #, no-wrap msgid "monad" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9173 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 "" "Все процедуры, которые работают с store, описанные в предыдущих разделах, " "принимают открытое соединение с демоном сборки в качестве первого " "аргумента. Хотя основная модель является функциональной, они либо имеют " "побочные эффекты, либо зависят от текущего состояния store." #. type: Plain text #: guix-git/doc/guix.texi:9179 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 "" "Первое неудобно: соединение с демоном сборки должно поддерживаться во всех " "этих функциях, что делает невозможным составление функций, которые не " "принимают этот параметр, с функциями, которые его принимают. Последнее " "может быть проблематичным: поскольку операции store имеют побочные эффекты и/" "или зависят от внешнего состояния, они должны быть правильно упорядочены." #. type: cindex #: guix-git/doc/guix.texi:9180 #, no-wrap msgid "monadic values" msgstr "монадические значения" #. type: cindex #: guix-git/doc/guix.texi:9181 #, no-wrap msgid "monadic functions" msgstr "монадические функции" #. type: Plain text #: guix-git/doc/guix.texi:9191 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}. Монады - это конструкции, которая " "позволяют две вещи: связывать ``контекст'' со значениями (в нашем случае " "контекст - это store) и строить последовательности вычислений (здесь " "вычисления включают доступ к store). Значения в монаде---значения, которые " "несут этот дополнительный контекст---называются @dfn{монадическими " "значениями}; процедуры, возвращающие такие значения, называются " "@dfn{монадическими процедурами}." #. type: Plain text #: guix-git/doc/guix.texi:9193 msgid "Consider this ``normal'' procedure:" msgstr "Рассмотрим эту ``нормальную'' процедуру:" #. type: lisp #: guix-git/doc/guix.texi:9202 #, 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" " ;; 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" #. type: Plain text #: guix-git/doc/guix.texi:9206 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:9214 #, 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" " ;; 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" #. type: Plain text #: guix-git/doc/guix.texi:9221 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} " "теперь является неявным и является ``threaded'' в вызовах @code{package-" ">derivation} и @code{gexp->derivation} монадические процедуры, а " "монадическим значением, возвращаемым @code{package->derivation}, является " "@dfn{bound} с использованием @code{mlet} вместо простого @code{let}." #. type: Plain text #: guix-git/doc/guix.texi:9225 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:9231 #, 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:9240 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} ни на что не влияет. Как кто-то " "однажды сказал: ``Вы выходите из монады, как вы выходите из горящего здания: " "by running''. Итак, чтобы выйти из монады и получить желаемый эффект, нужно " "использовать @code{run-with-store}:" #. type: lisp #: guix-git/doc/guix.texi:9244 #, 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:9250 msgid "" "Note that the @code{(guix monad-repl)} module extends the Guile REPL with " "new ``meta-commands'' to make it easier to deal with monadic procedures: " "@code{run-in-store}, and @code{enter-store-monad}. 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}. Первая " "используется для ``run'' одного монадического значения через store:" #. type: example #: guix-git/doc/guix.texi:9254 #, no-wrap msgid "" "scheme@@(guile-user)> ,run-in-store (package->derivation hello)\n" "$1 = # @dots{}>\n" msgstr "" "scheme@@(guile-user)> ,run-in-store (package->derivation hello)\n" "$1 = # @dots{}>\n" #. type: Plain text #: guix-git/doc/guix.texi:9258 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:9267 #, no-wrap msgid "" "scheme@@(guile-user)> ,enter-store-monad\n" "store-monad@@(guile-user) [1]> (package->derivation hello)\n" "$2 = # @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 = # @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:9272 msgid "" "Note that non-monadic values cannot be returned in the @code{store-monad} " "REPL." msgstr "" "Обратите внимание, что немонадические значения не могут быть возвращены в " "REPL @code{store-monad}." #. type: Plain text #: guix-git/doc/guix.texi:9275 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: deffn #: guix-git/doc/guix.texi:9276 #, no-wrap msgid "{Scheme Syntax} with-monad @var{monad} @var{body} ..." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9279 msgid "" "Evaluate any @code{>>=} or @code{return} forms in @var{body} as being in " "@var{monad}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9281 #, no-wrap msgid "{Scheme Syntax} return @var{val}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9283 msgid "Return a monadic value that encapsulates @var{val}." msgstr "Возвращает монадическое значение, инкапсулирующее @var{val}." #. type: deffn #: guix-git/doc/guix.texi:9285 #, no-wrap msgid "{Scheme Syntax} >>= @var{mval} @var{mproc} ..." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9292 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 "" #. type: lisp #: guix-git/doc/guix.texi:9300 #, 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:9303 #, no-wrap msgid "" "@result{} 4\n" "@result{} some-state\n" msgstr "" "@result{} 4\n" "@result{} some-state\n" #. type: deffn #: guix-git/doc/guix.texi:9306 #, no-wrap msgid "{Scheme Syntax} mlet @var{monad} ((@var{var} @var{mval}) ...) @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9308 msgid "@var{body} ..." msgstr "@var{body} ..." #. type: deffnx #: guix-git/doc/guix.texi:9308 #, no-wrap msgid "{Scheme Syntax} mlet* @var{monad} ((@var{var} @var{mval}) ...) @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9320 msgid "" "@var{body} ... 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 "" #. type: deffn #: guix-git/doc/guix.texi:9323 msgid "" "@code{mlet*} is to @code{mlet} what @code{let*} is to @code{let} " "(@pxref{Local Bindings,,, guile, GNU Guile Reference Manual})." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9325 #, no-wrap msgid "{Scheme System} mbegin @var{monad} @var{mexp} ..." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9329 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 "" #. type: deffn #: guix-git/doc/guix.texi:9333 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 "" #. type: deffn #: guix-git/doc/guix.texi:9335 #, no-wrap msgid "{Scheme System} mwhen @var{condition} @var{mexp0} @var{mexp*} ..." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9340 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 "" #. type: deffn #: guix-git/doc/guix.texi:9342 #, no-wrap msgid "{Scheme System} munless @var{condition} @var{mexp0} @var{mexp*} ..." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9347 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 "" #. type: cindex #: guix-git/doc/guix.texi:9349 #, no-wrap msgid "state monad" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9353 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 "" #. type: defvr #: guix-git/doc/guix.texi:9354 #, no-wrap msgid "{Scheme Variable} %state-monad" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:9357 msgid "" "The state monad. Procedures in the state monad can access and change the " "state that is threaded." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:9361 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 "" #. type: lisp #: guix-git/doc/guix.texi:9368 #, 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:9372 #, 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: defvr #: guix-git/doc/guix.texi:9376 msgid "" "When ``run'' through @code{%state-monad}, we obtain that additional state " "value, which is the number of @code{square} calls." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9378 #, no-wrap msgid "{Monadic Procedure} current-state" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9380 msgid "Return the current state as a monadic value." msgstr "Вернуть текущее состояние в виде монадического значения." #. type: deffn #: guix-git/doc/guix.texi:9382 #, no-wrap msgid "{Monadic Procedure} set-current-state @var{value}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9385 msgid "" "Set the current state to @var{value} and return the previous state as a " "monadic value." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9387 #, no-wrap msgid "{Monadic Procedure} state-push @var{value}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9390 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 "" #. type: deffn #: guix-git/doc/guix.texi:9392 #, no-wrap msgid "{Monadic Procedure} state-pop" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9395 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:9397 #, no-wrap msgid "{Scheme Procedure} run-with-state @var{mval} [@var{state}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9400 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 "" #. type: Plain text #: guix-git/doc/guix.texi:9404 msgid "" "The main interface to the store monad, provided by the @code{(guix store)} " "module, is as follows." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:9405 #, no-wrap msgid "{Scheme Variable} %store-monad" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:9407 msgid "The store monad---an alias for @code{%state-monad}." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:9411 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 "" #. type: deffn #: guix-git/doc/guix.texi:9413 #, no-wrap msgid "{Scheme Procedure} run-with-store @var{store} @var{mval} [#:guile-for-build] [#:system (%current-system)]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9416 msgid "" "Run @var{mval}, a monadic value in the store monad, in @var{store}, an open " "store connection." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9418 #, no-wrap msgid "{Monadic Procedure} text-file @var{name} @var{text} [@var{references}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9422 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 "" #. type: deffn #: guix-git/doc/guix.texi:9424 #, no-wrap msgid "{Monadic Procedure} binary-file @var{name} @var{data} [@var{references}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9428 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 "" #. type: deffn #: guix-git/doc/guix.texi:9430 #, no-wrap msgid "{Monadic Procedure} interned-file @var{file} [@var{name}] @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9435 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 "" #. type: deffn #: guix-git/doc/guix.texi:9439 guix-git/doc/guix.texi:9862 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 "" #. type: deffn #: guix-git/doc/guix.texi:9444 guix-git/doc/guix.texi:9867 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 "" #. type: deffn #: guix-git/doc/guix.texi:9446 msgid "The example below adds a file to the store, under two different names:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:9452 #, 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:9454 #, no-wrap msgid "@result{} (\"/gnu/store/rwm@dots{}-README\" \"/gnu/store/44i@dots{}-LEGU-MIN\")\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9460 msgid "" "The @code{(guix packages)} module exports the following package-related " "monadic procedures:" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9461 #, no-wrap msgid "{Monadic Procedure} package-file @var{package} [@var{file}] @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9469 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 "" #. type: deffn #: guix-git/doc/guix.texi:9473 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 "" #. type: deffn #: guix-git/doc/guix.texi:9475 #, no-wrap msgid "{Monadic Procedure} package->derivation @var{package} [@var{system}]" msgstr "" #. type: deffnx #: guix-git/doc/guix.texi:9476 #, no-wrap msgid "{Monadic Procedure} package->cross-derivation @var{package} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9480 msgid "" "@var{target} [@var{system}] Monadic version of @code{package-derivation} and " "@code{package-cross-derivation} (@pxref{Defining Packages})." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:9486 #, no-wrap msgid "G-expression" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:9487 #, no-wrap msgid "build code quoting" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9493 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 "" #. type: cindex #: guix-git/doc/guix.texi:9496 #, no-wrap msgid "strata of code" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9508 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 "" #. type: Plain text #: guix-git/doc/guix.texi:9515 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 "" #. type: Plain text #: guix-git/doc/guix.texi:9524 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 "" #. type: itemize #: guix-git/doc/guix.texi:9529 msgid "" "Gexps are meant to be written to a file and run or manipulated by other " "processes." msgstr "" #. type: itemize #: guix-git/doc/guix.texi:9534 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 "" #. type: itemize #: guix-git/doc/guix.texi:9539 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 "" #. type: cindex #: guix-git/doc/guix.texi:9541 guix-git/doc/guix.texi:10098 #, no-wrap msgid "lowering, of high-level objects in gexps" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9551 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 "" #. type: Plain text #: guix-git/doc/guix.texi:9553 msgid "To illustrate the idea, here is an example of a gexp:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:9561 #, 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:9566 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 "" #. type: lisp #: guix-git/doc/guix.texi:9569 #, no-wrap msgid "(gexp->derivation \"the-thing\" build-exp)\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9577 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 "" #. type: cindex #: guix-git/doc/guix.texi:9578 #, no-wrap msgid "cross compilation" msgstr "кросс-компиляция" #. type: Plain text #: guix-git/doc/guix.texi:9584 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 "" #. type: lisp #: guix-git/doc/guix.texi:9595 #, 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:9601 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 "" #. type: cindex #: guix-git/doc/guix.texi:9602 #, no-wrap msgid "imported modules, for gexps" msgstr "импортированные модули, для gexps" #. type: findex #: guix-git/doc/guix.texi:9603 #, no-wrap msgid "with-imported-modules" msgstr "with-imported-modules" #. type: Plain text #: guix-git/doc/guix.texi:9608 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 "" #. type: lisp #: guix-git/doc/guix.texi:9619 #, 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 \"success!\\n\")\n" " #t)))\n" #. type: Plain text #: guix-git/doc/guix.texi:9625 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 "" #. type: cindex #: guix-git/doc/guix.texi:9626 #, no-wrap msgid "module closure" msgstr "" #. type: findex #: guix-git/doc/guix.texi:9627 #, no-wrap msgid "source-module-closure" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9634 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 "" #. type: lisp #: guix-git/doc/guix.texi:9637 #, no-wrap msgid "" "(use-modules (guix modules)) ;for 'source-module-closure'\n" "\n" msgstr "" "(use-modules (guix modules)) ;for 'source-module-closure'\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:9646 #, no-wrap msgid "" "(with-imported-modules (source-module-closure\n" " '((guix build utils)\n" " (gnu build vm)))\n" " (gexp->derivation \"something-with-vms\"\n" " #~(begin\n" " (use-modules (guix build utils)\n" " (gnu build vm))\n" " @dots{})))\n" msgstr "" "(with-imported-modules (source-module-closure\n" " '((guix build utils)\n" " (gnu build vm)))\n" " (gexp->derivation \"something-with-vms\"\n" " #~(begin\n" " (use-modules (guix build utils)\n" " (gnu build vm))\n" " @dots{})))\n" #. type: cindex #: guix-git/doc/guix.texi:9648 #, no-wrap msgid "extensions, for gexps" msgstr "" #. type: findex #: guix-git/doc/guix.texi:9649 #, no-wrap msgid "with-extensions" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9654 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 "" #. type: lisp #: guix-git/doc/guix.texi:9657 #, no-wrap msgid "" "(use-modules (gnu packages guile)) ;for 'guile-json'\n" "\n" msgstr "" "(use-modules (gnu packages guile)) ;for 'guile-json'\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:9663 #, 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:9666 msgid "The syntactic form to construct gexps is summarized below." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9667 #, no-wrap msgid "{Scheme Syntax} #~@var{exp}" msgstr "" #. type: deffnx #: guix-git/doc/guix.texi:9668 #, no-wrap msgid "{Scheme Syntax} (gexp @var{exp})" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9671 msgid "" "Return a G-expression containing @var{exp}. @var{exp} may contain one or " "more of the following forms:" msgstr "" #. type: item #: guix-git/doc/guix.texi:9673 #, no-wrap msgid "#$@var{obj}" msgstr "#$@var{obj}" #. type: itemx #: guix-git/doc/guix.texi:9674 #, no-wrap msgid "(ungexp @var{obj})" msgstr "" #. type: table #: guix-git/doc/guix.texi:9679 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 "" #. type: table #: guix-git/doc/guix.texi:9682 msgid "" "If @var{obj} is a list, it is traversed and references to supported objects " "are substituted similarly." msgstr "" #. type: table #: guix-git/doc/guix.texi:9685 msgid "" "If @var{obj} is another gexp, its contents are inserted and its dependencies " "are added to those of the containing gexp." msgstr "" #. type: table #: guix-git/doc/guix.texi:9687 msgid "If @var{obj} is another kind of object, it is inserted as is." msgstr "" #. type: item #: guix-git/doc/guix.texi:9688 #, no-wrap msgid "#$@var{obj}:@var{output}" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:9689 #, no-wrap msgid "(ungexp @var{obj} @var{output})" msgstr "" #. type: table #: guix-git/doc/guix.texi:9693 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 "" #. type: item #: guix-git/doc/guix.texi:9694 #, no-wrap msgid "#+@var{obj}" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:9695 #, no-wrap msgid "#+@var{obj}:output" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:9696 #, no-wrap msgid "(ungexp-native @var{obj})" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:9697 #, no-wrap msgid "(ungexp-native @var{obj} @var{output})" msgstr "" #. type: table #: guix-git/doc/guix.texi:9700 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 "" #. type: item #: guix-git/doc/guix.texi:9701 #, no-wrap msgid "#$output[:@var{output}]" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:9702 #, no-wrap msgid "(ungexp output [@var{output}])" msgstr "" #. type: table #: guix-git/doc/guix.texi:9705 msgid "" "Insert a reference to derivation output @var{output}, or to the main output " "when @var{output} is omitted." msgstr "" #. type: table #: guix-git/doc/guix.texi:9707 msgid "This only makes sense for gexps passed to @code{gexp->derivation}." msgstr "" #. type: item #: guix-git/doc/guix.texi:9708 #, no-wrap msgid "#$@@@var{lst}" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:9709 #, no-wrap msgid "(ungexp-splicing @var{lst})" msgstr "" #. type: table #: guix-git/doc/guix.texi:9712 msgid "" "Like the above, but splices the contents of @var{lst} inside the containing " "list." msgstr "" #. type: item #: guix-git/doc/guix.texi:9713 #, no-wrap msgid "#+@@@var{lst}" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:9714 #, no-wrap msgid "(ungexp-native-splicing @var{lst})" msgstr "" #. type: table #: guix-git/doc/guix.texi:9717 msgid "" "Like the above, but refers to native builds of the objects listed in " "@var{lst}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9722 msgid "" "G-expressions created by @code{gexp} or @code{#~} are run-time objects of " "the @code{gexp?} type (see below)." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9724 #, no-wrap msgid "{Scheme Syntax} with-imported-modules @var{modules} @var{body}@dots{}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9727 msgid "" "Mark the gexps defined in @var{body}@dots{} as requiring @var{modules} in " "their execution environment." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9731 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 "" #. type: lisp #: guix-git/doc/guix.texi:9737 #, 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: deffn #: guix-git/doc/guix.texi:9742 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: deffn #: guix-git/doc/guix.texi:9746 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 "" #. type: deffn #: guix-git/doc/guix.texi:9748 #, no-wrap msgid "{Scheme Syntax} with-extensions @var{extensions} @var{body}@dots{}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9753 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 "" #. type: deffn #: guix-git/doc/guix.texi:9758 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 "" #. type: deffn #: guix-git/doc/guix.texi:9760 #, no-wrap msgid "{Scheme Procedure} gexp? @var{obj}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9762 msgid "Return @code{#t} if @var{obj} is a G-expression." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9768 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 "" #. type: deffn #: guix-git/doc/guix.texi:9769 #, no-wrap msgid "{Monadic Procedure} gexp->derivation @var{name} @var{exp} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9787 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 "" #. type: deffn #: guix-git/doc/guix.texi:9795 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 "" #. type: deffn #: guix-git/doc/guix.texi:9798 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 "" #. type: deffn #: guix-git/doc/guix.texi:9801 msgid "" "@var{graft?} determines whether packages referred to by @var{exp} should be " "grafted when applicable." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9804 msgid "" "When @var{references-graphs} is true, it must be a list of tuples of one of " "the following forms:" msgstr "" #. type: example #: guix-git/doc/guix.texi:9811 #, no-wrap msgid "" "(@var{file-name} @var{package})\n" "(@var{file-name} @var{package} @var{output})\n" "(@var{file-name} @var{derivation})\n" "(@var{file-name} @var{derivation} @var{output})\n" "(@var{file-name} @var{store-item})\n" msgstr "" "(@var{file-name} @var{package})\n" "(@var{file-name} @var{package} @var{output})\n" "(@var{file-name} @var{derivation})\n" "(@var{file-name} @var{derivation} @var{output})\n" "(@var{file-name} @var{store-item})\n" #. type: deffn #: guix-git/doc/guix.texi:9817 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 "" #. type: deffn #: guix-git/doc/guix.texi:9823 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 "" #. type: deffn #: guix-git/doc/guix.texi:9826 msgid "" "@var{deprecation-warnings} determines whether to show deprecation warnings " "while compiling modules. It can be @code{#f}, @code{#t}, or " "@code{'detailed}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9828 msgid "The other arguments are as for @code{derivation} (@pxref{Derivations})." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:9830 #, no-wrap msgid "file-like objects" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9835 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 "" #. type: lisp #: guix-git/doc/guix.texi:9839 #, no-wrap msgid "" "#~(system* #$(file-append glibc \"/sbin/nscd\") \"-f\"\n" " #$(local-file \"/tmp/my-nscd.conf\"))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:9848 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 "" #. type: deffn #: guix-git/doc/guix.texi:9849 #, no-wrap msgid "{Scheme Procedure} local-file @var{file} [@var{name}] @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9858 msgid "" "[#:recursive? #f] [#:select? (const #t)] 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 "" #. type: deffn #: guix-git/doc/guix.texi:9870 msgid "" "This is the declarative counterpart of the @code{interned-file} monadic " "procedure (@pxref{The Store Monad, @code{interned-file}})." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9872 #, no-wrap msgid "{Scheme Procedure} plain-file @var{name} @var{content}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9875 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 "" #. type: deffn #: guix-git/doc/guix.texi:9877 msgid "This is the declarative counterpart of @code{text-file}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9879 #, no-wrap msgid "{Scheme Procedure} computed-file @var{name} @var{gexp} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9886 msgid "" "[#:local-build? #t] [#:options '()] 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 "" #. type: deffn #: guix-git/doc/guix.texi:9888 msgid "This is the declarative counterpart of @code{gexp->derivation}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9890 #, no-wrap msgid "{Monadic Procedure} gexp->script @var{name} @var{exp} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9896 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 "" #. type: deffn #: guix-git/doc/guix.texi:9899 msgid "" "The example below builds a script that simply invokes the @command{ls} " "command:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:9902 #, no-wrap msgid "" "(use-modules (guix gexp) (gnu packages base))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:9906 #, no-wrap msgid "" "(gexp->script \"list-files\"\n" " #~(execl #$(file-append coreutils \"/bin/ls\")\n" " \"ls\"))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9911 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 "" #. type: example #: guix-git/doc/guix.texi:9916 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:9919 #, no-wrap msgid "{Scheme Procedure} program-file @var{name} @var{exp} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9924 msgid "" "[#:guile #f] [#:module-path %load-path] 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 "" #. type: deffn #: guix-git/doc/guix.texi:9926 msgid "This is the declarative counterpart of @code{gexp->script}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9928 #, no-wrap msgid "{Monadic Procedure} gexp->file @var{name} @var{exp} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9935 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 "" #. type: deffn #: guix-git/doc/guix.texi:9940 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 "" #. type: deffn #: guix-git/doc/guix.texi:9943 msgid "" "The resulting file holds references to all the dependencies of @var{exp} or " "a subset thereof." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9945 #, no-wrap msgid "{Scheme Procedure} scheme-file @var{name} @var{exp} @" msgstr "{Scheme Procedure} scheme-file @var{name} @var{exp} @" #. type: deffn #: guix-git/doc/guix.texi:9949 msgid "" "[#:splice? #f] [#:set-load-path? #t] Return an object representing the " "Scheme file @var{name} that contains @var{exp}." msgstr "" "[#:splice? #f] [#:set-load-path? #t] Возвращает объект, представляющий " "Scheme файл file @var{name} содержащий @var{exp}." #. type: deffn #: guix-git/doc/guix.texi:9951 msgid "This is the declarative counterpart of @code{gexp->file}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9953 #, no-wrap msgid "{Monadic Procedure} text-file* @var{name} @var{text} @dots{}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:9959 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 "" #. type: deffn #: guix-git/doc/guix.texi:9964 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:9972 #, 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" " ;; 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" #. type: deffn #: guix-git/doc/guix.texi:9977 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 "" #. type: deffn #: guix-git/doc/guix.texi:9979 #, no-wrap msgid "{Scheme Procedure} mixed-text-file @var{name} @var{text} @dots{}" msgstr "{Scheme Procedure} mixed-text-file @var{name} @var{text} @dots{}" #. type: deffn #: guix-git/doc/guix.texi:9983 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 "" #. type: lisp #: guix-git/doc/guix.texi:9987 #, 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:9990 msgid "This is the declarative counterpart of @code{text-file*}." msgstr "Это декларативный аналог @code{text-file*}." #. type: deffn #: guix-git/doc/guix.texi:9992 #, no-wrap msgid "{Scheme Procedure} file-union @var{name} @var{files}" msgstr "{Scheme Procedure} file-union @var{name} @var{files}" #. type: deffn #: guix-git/doc/guix.texi:9997 msgid "" "Return a @code{} 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 "" #. type: lisp #: guix-git/doc/guix.texi:10004 #, 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:10007 msgid "This yields an @code{etc} directory containing these two files." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:10009 #, no-wrap msgid "{Scheme Procedure} directory-union @var{name} @var{things}" msgstr "{Scheme Procedure} directory-union @var{name} @var{things}" #. type: deffn #: guix-git/doc/guix.texi:10012 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 "" #. type: lisp #: guix-git/doc/guix.texi:10015 #, 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:10018 msgid "" "yields a directory that is the union of the @code{guile} and @code{emacs} " "packages." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:10020 #, no-wrap msgid "{Scheme Procedure} file-append @var{obj} @var{suffix} @dots{}" msgstr "{Scheme Procedure} file-append @var{obj} @var{suffix} @dots{}" #. type: deffn #: guix-git/doc/guix.texi:10024 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 "" #. type: deffn #: guix-git/doc/guix.texi:10026 msgid "As an example, consider this gexp:" msgstr "В качестве примера рассмотрим этот gexp:" #. type: lisp #: guix-git/doc/guix.texi:10031 #, no-wrap msgid "" "(gexp->script \"run-uname\"\n" " #~(system* #$(file-append coreutils\n" " \"/bin/uname\")))\n" msgstr "" "(gexp->script \"run-uname\"\n" " #~(system* #$(file-append coreutils\n" " \"/bin/uname\")))\n" #. type: deffn #: guix-git/doc/guix.texi:10034 msgid "The same effect could be achieved with:" msgstr "Такого же эффекта можно добиться с помощью:" #. type: lisp #: guix-git/doc/guix.texi:10039 #, no-wrap msgid "" "(gexp->script \"run-uname\"\n" " #~(system* (string-append #$coreutils\n" " \"/bin/uname\")))\n" msgstr "" "(gexp->script \"run-uname\"\n" " #~(system* (string-append #$coreutils\n" " \"/bin/uname\")))\n" #. type: deffn #: guix-git/doc/guix.texi:10045 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 "" #. type: deffn #: guix-git/doc/guix.texi:10047 #, no-wrap msgid "{Scheme Syntax} let-system @var{system} @var{body}@dots{}" msgstr "{Scheme Syntax} let-system @var{system} @var{body}@dots{}" #. type: deffnx #: guix-git/doc/guix.texi:10048 #, no-wrap msgid "{Scheme Syntax} let-system (@var{system} @var{target}) @var{body}@dots{}" msgstr "{Scheme Syntax} let-system (@var{system} @var{target}) @var{body}@dots{}" #. type: deffn #: guix-git/doc/guix.texi:10051 msgid "" "Bind @var{system} to the currently targeted system---e.g., @code{\"x86_64-" "linux\"}---within @var{body}." msgstr "" "Привязать @var{system} к текущей целевой системе---например, @code{\\" "\"x86_64-linux\\\"}---в @var{body}." #. type: deffn #: guix-git/doc/guix.texi:10056 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 "" #. type: deffn #: guix-git/doc/guix.texi:10059 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 "" #. type: lisp #: guix-git/doc/guix.texi:10070 #, 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*\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" #. type: deffn #: guix-git/doc/guix.texi:10073 #, no-wrap msgid "{Scheme Syntax} with-parameters ((@var{parameter} @var{value}) @dots{}) @var{exp}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:10079 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 "" #. type: deffn #: guix-git/doc/guix.texi:10082 msgid "" "A typical use of @code{with-parameters} is to force the system in effect for " "a given object:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:10086 #, no-wrap msgid "" "(with-parameters ((%current-system \"i686-linux\"))\n" " coreutils)\n" msgstr "" "(with-parameters ((%current-system \"i686-linux\"))\n" " coreutils)\n" #. type: deffn #: guix-git/doc/guix.texi:10090 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 "" #. type: Plain text #: guix-git/doc/guix.texi:10097 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 "" #. type: Plain text #: guix-git/doc/guix.texi:10103 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 "" #. type: deffn #: guix-git/doc/guix.texi:10104 #, no-wrap msgid "{Monadic Procedure} lower-object @var{obj} [@var{system}] @" msgstr "{Monadic Procedure} lower-object @var{obj} [@var{system}] @" #. type: deffn #: guix-git/doc/guix.texi:10110 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{}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:10112 #, fuzzy, no-wrap #| msgid "{Scheme Procedure} file-name-predicate @var{regexp}" msgid "{Procedure} gexp->approximate-sexp @var{gexp}" msgstr "{Процедура Scheme} inferior-package? @var{obj}" #. type: deffn #: guix-git/doc/guix.texi:10120 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 "" #. type: section #: guix-git/doc/guix.texi:10123 #, no-wrap msgid "Invoking @command{guix repl}" msgstr "Вызов @command{guix repl}" #. type: cindex #: guix-git/doc/guix.texi:10125 #, no-wrap msgid "REPL, read-eval-print loop, script" msgstr "цикл чтение-вычисление-вывод" #. type: Plain text #: guix-git/doc/guix.texi:10135 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 "" #. type: example #: guix-git/doc/guix.texi:10140 #, 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:10144 msgid "" "When a @var{file} argument is provided, @var{file} is executed as a Guile " "scripts:" msgstr "" #. type: example #: guix-git/doc/guix.texi:10147 #, no-wrap msgid "guix repl my-script.scm\n" msgstr "guix repl my-script.scm\n" #. type: Plain text #: guix-git/doc/guix.texi:10151 msgid "" "To pass arguments to the script, use @code{--} to prevent them from being " "interpreted as arguments to @command{guix repl} itself:" msgstr "" #. type: example #: guix-git/doc/guix.texi:10154 #, 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:10159 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 "" #. type: example #: guix-git/doc/guix.texi:10163 #, 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:10166 msgid "Without a file name argument, a Guile REPL is started:" msgstr "" #. type: example #: guix-git/doc/guix.texi:10172 #, no-wrap msgid "" "$ guix repl\n" "scheme@@(guile-user)> ,use (gnu packages base)\n" "scheme@@(guile-user)> coreutils\n" "$1 = #\n" msgstr "" "$ guix repl\n" "scheme@@(guile-user)> ,use (gnu packages base)\n" "scheme@@(guile-user)> coreutils\n" "$1 = #\n" #. type: Plain text #: guix-git/doc/guix.texi:10179 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 "" #. type: Plain text #: guix-git/doc/guix.texi:10181 msgid "The available options are as follows:" msgstr "" #. type: item #: guix-git/doc/guix.texi:10183 guix-git/doc/guix.texi:12671 #, no-wrap msgid "--type=@var{type}" msgstr "--type=@var{type}" #. type: itemx #: guix-git/doc/guix.texi:10184 guix-git/doc/guix.texi:12672 #: guix-git/doc/guix.texi:34147 #, no-wrap msgid "-t @var{type}" msgstr "" #. type: table #: guix-git/doc/guix.texi:10186 msgid "" "Start a REPL of the given @var{TYPE}, which can be one of the following:" msgstr "" #. type: item #: guix-git/doc/guix.texi:10188 #, no-wrap msgid "guile" msgstr "" #. type: table #: guix-git/doc/guix.texi:10190 msgid "This is default, and it spawns a standard full-featured Guile REPL." msgstr "" #. type: item #: guix-git/doc/guix.texi:10190 #, no-wrap msgid "machine" msgstr "компьютер" #. type: table #: guix-git/doc/guix.texi:10193 msgid "" "Spawn a REPL that uses the machine-readable protocol. This is the protocol " "that the @code{(guix inferior)} module speaks." msgstr "" #. type: table #: guix-git/doc/guix.texi:10199 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 "" #. type: item #: guix-git/doc/guix.texi:10201 #, no-wrap msgid "--listen=tcp:37146" msgstr "--listen=tcp:37146" #. type: table #: guix-git/doc/guix.texi:10203 msgid "Accept connections on localhost on port 37146." msgstr "" #. type: item #: guix-git/doc/guix.texi:10204 #, no-wrap msgid "--listen=unix:/tmp/socket" msgstr "--listen=unix:/tmp/socket" #. type: table #: guix-git/doc/guix.texi:10206 msgid "Accept connections on the Unix-domain socket @file{/tmp/socket}." msgstr "" #. type: item #: guix-git/doc/guix.texi:10208 guix-git/doc/guix.texi:10312 #: guix-git/doc/guix.texi:12126 guix-git/doc/guix.texi:12306 #: guix-git/doc/guix.texi:12451 guix-git/doc/guix.texi:12719 #, no-wrap msgid "--load-path=@var{directory}" msgstr "--load-path=@var{directory}" #. type: itemx #: guix-git/doc/guix.texi:10209 guix-git/doc/guix.texi:10313 #: guix-git/doc/guix.texi:12307 guix-git/doc/guix.texi:12452 #: guix-git/doc/guix.texi:12720 #, no-wrap msgid "-L @var{directory}" msgstr "-L @var{directory}" #. type: table #: guix-git/doc/guix.texi:10212 guix-git/doc/guix.texi:10316 #: guix-git/doc/guix.texi:12129 guix-git/doc/guix.texi:12310 #: guix-git/doc/guix.texi:12455 guix-git/doc/guix.texi:12723 msgid "" "Add @var{directory} to the front of the package module search path " "(@pxref{Package Modules})." msgstr "" #. type: table #: guix-git/doc/guix.texi:10215 msgid "" "This allows users to define their own packages and make them visible to the " "script or REPL." msgstr "" #. type: itemx #: guix-git/doc/guix.texi:10216 guix-git/doc/guix.texi:10776 #, no-wrap msgid "-q" msgstr "-q" #. type: table #: guix-git/doc/guix.texi:10219 msgid "" "Inhibit loading of the @file{~/.guile} file. By default, that configuration " "file is loaded when spawning a @code{guile} REPL." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:10229 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. Некоторые из них в " "первую очередь нацелены на разработчиков и пользователей, которые пишут " "новые определения пакетов, в то время как другие полезны в целом. Они удобно " "дополняют программный интерфейс Scheme в Guix." #. type: cindex #: guix-git/doc/guix.texi:10251 #, no-wrap msgid "package building" msgstr "сборка пакета" #. type: command{#1} #: guix-git/doc/guix.texi:10252 #, no-wrap msgid "guix build" msgstr "guix build" #. type: Plain text #: guix-git/doc/guix.texi:10258 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} собирает пакеты или производные и их " "зависимости и выводит полученные пути в хранилище (store paths). Обратите " "внимание, что она не изменяет профиль пользователя---это задача команды " "@command{guix package} (@pxref{Invoking guix package}). Таким образом, это в " "основном полезно для разработчиков дистрибутива." #. type: example #: guix-git/doc/guix.texi:10263 #, 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:10268 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:10271 #, no-wrap msgid "guix build emacs guile\n" msgstr "guix build emacs guile\n" #. type: Plain text #: guix-git/doc/guix.texi:10274 msgid "Similarly, the following command builds all the available packages:" msgstr "Аналогичным образом следующая команда собирает все доступные пакеты:" #. type: example #: guix-git/doc/guix.texi:10278 #, fuzzy, no-wrap #| msgid "" #| "guix build --quiet --keep-going \\\n" #| " $(guix package -A | cut -f1,2 --output-delimiter=@@)\n" 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 | cut -f1,2 --output-delimiter=@@`\n" #. type: Plain text #: guix-git/doc/guix.texi:10286 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:10291 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:10294 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:10309 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:10319 guix-git/doc/guix.texi:12132 #: guix-git/doc/guix.texi:12313 guix-git/doc/guix.texi:12458 #: guix-git/doc/guix.texi:12726 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:10320 #, no-wrap msgid "--keep-failed" msgstr "--keep-failed" #. type: itemx #: guix-git/doc/guix.texi:10321 #, no-wrap msgid "-K" msgstr "-K" #. type: table #: guix-git/doc/guix.texi:10327 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:10331 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} и не действует при " "подключении к удалённому демону с URI @code{guix://} (@pxref{The Store, the " "@env{GUIX_DAEMON_SOCKET}}." #. type: item #: guix-git/doc/guix.texi:10332 #, no-wrap msgid "--keep-going" msgstr "--keep-going" #. type: itemx #: guix-git/doc/guix.texi:10333 #, no-wrap msgid "-k" msgstr "-k" #. type: table #: guix-git/doc/guix.texi:10336 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:10339 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:10343 msgid "Do not build the derivations." msgstr "Не собирайте производные." #. type: anchor{#1} #: guix-git/doc/guix.texi:10345 msgid "fallback-option" msgstr "fallback-option" #. type: item #: guix-git/doc/guix.texi:10345 #, no-wrap msgid "--fallback" msgstr "--fallback" #. type: table #: guix-git/doc/guix.texi:10348 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:10354 msgid "client-substitute-urls" msgstr "client-substitute-urls" #. type: table #: guix-git/doc/guix.texi:10354 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-адресов источников " "замещений, заменяющий список URL-адресов по умолчанию @command{guix-daemon} " "(@pxref{daemon-substitute-urls,, @command{guix-daemon} URLs})." #. type: table #: guix-git/doc/guix.texi:10358 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:10361 msgid "" "When @var{urls} is the empty string, substitutes are effectively disabled." msgstr "" "Когда @var{urls} является пустой строкой---замены фактически отключены." #. type: item #: guix-git/doc/guix.texi:10367 #, no-wrap msgid "--no-grafts" msgstr "--no-grafts" #. type: table #: guix-git/doc/guix.texi:10371 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 "" "Не ``прививайте'' (graft) пакеты. На практике это означает, что обновления " "пакетов, доступные в виде прививок, не применяются. Ознакомьтесь с " "@xref{Security Updates}, чтобы узнать больше о прививках (grafts)." #. type: item #: guix-git/doc/guix.texi:10372 #, no-wrap msgid "--rounds=@var{n}" msgstr "--rounds=@var{n}" #. type: table #: guix-git/doc/guix.texi:10375 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:10380 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{verify} " "подлинность сторонних двоичных файлов. Обратитесь к @xref{Invoking guix " "challenge}, чтобы узнать больше." #. type: table #: guix-git/doc/guix.texi:10396 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:10403 msgid "" "By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, " "@option{--timeout}})." msgstr "" "Это ничего не выводит, если демон не был запущен с опцией @option{--cache-" "failures} (@pxref{Invoking guix-daemon, @option{--cache-failures}})." #. type: cindex #: guix-git/doc/guix.texi:10406 #, no-wrap msgid "verbosity, of the command-line tools" msgstr "многословие инструментов командной строки" #. type: cindex #: guix-git/doc/guix.texi:10407 #, no-wrap msgid "build logs, verbosity" msgstr "журналы сборки, многословие" #. type: item #: guix-git/doc/guix.texi:10408 #, no-wrap msgid "-v @var{level}" msgstr "-v @var{level}" #. type: itemx #: guix-git/doc/guix.texi:10409 #, no-wrap msgid "--verbosity=@var{level}" msgstr "--verbosity=@var{level}" #. type: table #: guix-git/doc/guix.texi:10414 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 показывает " "весь вывод журнала сборки при стандартной ошибке." #. type: table #: guix-git/doc/guix.texi:10419 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} ядер ЦП для сборки. Специальное значение " "@code{0} означает использование максимально доступного количества ядер ЦП." #. type: table #: guix-git/doc/guix.texi:10425 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} сборок параллельно. Обратитесь к @xref{Invoking " "guix-daemon, @option{--max-jobs}} для получения подробной информации об этой " "опции и аналогичной опции @command{guix-daemon}." #. type: item #: guix-git/doc/guix.texi:10426 #, no-wrap msgid "--debug=@var{level}" msgstr "--debug=@var{level}" #. type: table #: guix-git/doc/guix.texi:10430 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:10437 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{package-diveration} модуля @code{(guix packages)} и к процедуре " "@code{build-diverations} модуля @code{(guix derivations)} модуль." #. type: Plain text #: guix-git/doc/guix.texi:10441 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:10442 #, no-wrap msgid "{Environment Variable} GUIX_BUILD_OPTIONS" msgstr "{Environment Variable} GUIX_BUILD_OPTIONS" #. type: defvr #: guix-git/doc/guix.texi:10447 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:10450 #, 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:10454 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:10460 #, no-wrap msgid "package variants" msgstr "варианты пакета" #. type: Plain text #: guix-git/doc/guix.texi:10468 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{package transformation options}. " "Это параметры, которые позволяют определять @dfn{package variants}---" "например, пакеты, созданные из другого исходного кода. Это удобный способ " "создавать индивидуальные пакеты на лету без необходимости вводить " "определения вариантов пакета (@pxref{Defining Packages})." #. type: Plain text #: guix-git/doc/guix.texi:10472 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:10477 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: item #: guix-git/doc/guix.texi:10480 #, no-wrap msgid "--with-source=@var{source}" msgstr "--with-source=@var{source}" #. type: itemx #: guix-git/doc/guix.texi:10481 #, no-wrap msgid "--with-source=@var{package}=@var{source}" msgstr "--with-source=@var{package}=@var{source}" #. type: itemx #: guix-git/doc/guix.texi:10482 #, 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:10487 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{Invoking guix download})." #. type: table #: guix-git/doc/guix.texi:10493 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 "" #. type: table #: guix-git/doc/guix.texi:10496 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 "" #. type: table #: guix-git/doc/guix.texi:10501 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 "" #. type: example #: guix-git/doc/guix.texi:10504 #, no-wrap msgid "guix build ed --with-source=mirror://gnu/ed/ed-1.7.tar.gz\n" msgstr "guix build ed --with-source=mirror://gnu/ed/ed-1.7.tar.gz\n" #. type: table #: guix-git/doc/guix.texi:10508 msgid "" "As a developer, @option{--with-source} makes it easy to test release " "candidates:" msgstr "" #. type: example #: guix-git/doc/guix.texi:10511 #, no-wrap msgid "guix build guile --with-source=../guile-2.0.9.219-e1bb7.tar.xz\n" msgstr "guix build guile --with-source=../guile-2.0.9.219-e1bb7.tar.xz\n" #. type: table #: guix-git/doc/guix.texi:10514 msgid "@dots{} or to build from a checkout in a pristine environment:" msgstr "" #. type: example #: guix-git/doc/guix.texi:10518 #, 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:10520 #, no-wrap msgid "--with-input=@var{package}=@var{replacement}" msgstr "--with-input=@var{package}=@var{replacement}" #. type: table #: guix-git/doc/guix.texi:10525 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 "" #. type: table #: guix-git/doc/guix.texi:10529 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.0}:" msgstr "" #. type: example #: guix-git/doc/guix.texi:10532 #, no-wrap msgid "guix build --with-input=guile=guile@@2.0 guix\n" msgstr "guix build --with-input=guile=guile@@2.0 guix\n" #. type: table #: guix-git/doc/guix.texi:10537 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.0}." msgstr "" #. type: table #: guix-git/doc/guix.texi:10540 msgid "" "This is implemented using the @code{package-input-rewriting} Scheme " "procedure (@pxref{Defining Packages, @code{package-input-rewriting}})." msgstr "" #. type: item #: guix-git/doc/guix.texi:10541 #, no-wrap msgid "--with-graft=@var{package}=@var{replacement}" msgstr "--with-graft=@var{package}=@var{replacement}" #. type: table #: guix-git/doc/guix.texi:10547 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 "" #. type: table #: guix-git/doc/guix.texi:10551 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 "" #. type: example #: guix-git/doc/guix.texi:10554 #, 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:10563 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 "" #. type: cindex #: guix-git/doc/guix.texi:10564 guix-git/doc/guix.texi:36253 #, no-wrap msgid "debugging info, rebuilding" msgstr "отладка файлов" #. type: item #: guix-git/doc/guix.texi:10565 #, no-wrap msgid "--with-debug-info=@var{package}" msgstr "--without-tests=@var{package}" #. type: table #: guix-git/doc/guix.texi:10570 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 "" #. type: table #: guix-git/doc/guix.texi:10576 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 "" #. type: example #: guix-git/doc/guix.texi:10579 guix-git/doc/guix.texi:36284 #, no-wrap msgid "guix install inkscape --with-debug-info=glib\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:10583 msgid "" "Only GLib needs to be recompiled so this takes a reasonable amount of time. " "@xref{Installing Debugging Files}, for more info." msgstr "" #. type: quotation #: guix-git/doc/guix.texi:10589 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 "" #. type: quotation #: guix-git/doc/guix.texi:10593 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 "" #. type: cindex #: guix-git/doc/guix.texi:10595 #, no-wrap msgid "tool chain, changing the build tool chain of a package" msgstr "" #. type: item #: guix-git/doc/guix.texi:10596 #, no-wrap msgid "--with-c-toolchain=@var{package}=@var{toolchain}" msgstr "--with-commit=@var{package}=@var{commit}" #. type: table #: guix-git/doc/guix.texi:10600 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 "" #. type: example #: guix-git/doc/guix.texi:10607 #, 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 "" #. type: table #: guix-git/doc/guix.texi:10614 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 "" #. type: table #: guix-git/doc/guix.texi:10618 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 "" #. type: example #: guix-git/doc/guix.texi:10622 #, no-wrap msgid "" "guix build --with-c-toolchain=hwloc=clang-toolchain \\\n" " intel-mpi-benchmarks\n" msgstr "" #. type: quotation #: guix-git/doc/guix.texi:10631 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 "" #. type: item #: guix-git/doc/guix.texi:10633 #, 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:10634 #, no-wrap msgid "Git, using the latest commit" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:10635 #, no-wrap msgid "latest commit, building" msgstr "последний коммит, сборка" #. type: table #: guix-git/doc/guix.texi:10639 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 "" #. type: table #: guix-git/doc/guix.texi:10642 msgid "" "For example, the following command builds the NumPy Python library against " "the latest commit of the master branch of Python itself:" msgstr "" #. type: example #: guix-git/doc/guix.texi:10646 #, 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:10650 msgid "" "This option can also be combined with @option{--with-branch} or @option{--" "with-commit} (see below)." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:10651 guix-git/doc/guix.texi:27897 #, no-wrap msgid "continuous integration" msgstr "непрерывная интеграция" #. type: table #: guix-git/doc/guix.texi:10657 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 "" #. type: table #: guix-git/doc/guix.texi:10661 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 "" #. type: item #: guix-git/doc/guix.texi:10662 #, no-wrap msgid "--with-branch=@var{package}=@var{branch}" msgstr "--with-branch=@var{package}=@var{branch}" #. type: table #: guix-git/doc/guix.texi:10668 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 "" #. type: table #: guix-git/doc/guix.texi:10673 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 "" #. type: example #: guix-git/doc/guix.texi:10676 #, 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:10678 #, no-wrap msgid "--with-commit=@var{package}=@var{commit}" msgstr "--with-commit=@var{package}=@var{commit}" #. type: table #: guix-git/doc/guix.texi:10683 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 "" #. type: item #: guix-git/doc/guix.texi:10684 #, no-wrap msgid "--with-patch=@var{package}=@var{file}" msgstr "--with-branch=@var{package}=@var{branch}" #. type: table #: guix-git/doc/guix.texi:10691 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 "" #. type: table #: guix-git/doc/guix.texi:10694 msgid "" "As an example, the command below rebuilds Coreutils with the GNU C Library " "(glibc) patched with the given patch:" msgstr "" #. type: example #: guix-git/doc/guix.texi:10697 #, no-wrap msgid "guix build coreutils --with-patch=glibc=./glibc-frob.patch\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:10701 msgid "" "In this example, glibc itself as well as everything that leads to Coreutils " "in the dependency graph is rebuilt." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:10702 #, no-wrap msgid "upstream, latest version" msgstr "версия пакета" #. type: item #: guix-git/doc/guix.texi:10703 #, no-wrap msgid "--with-latest=@var{package}" msgstr "--without-tests=@var{package}" #. type: table #: guix-git/doc/guix.texi:10708 msgid "" "So you like living on the bleeding edge? This 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 "" #. type: table #: guix-git/doc/guix.texi:10712 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 "" #. type: table #: guix-git/doc/guix.texi:10715 msgid "" "As an example, the command below builds Guix against the latest version of " "Guile-JSON:" msgstr "" #. type: example #: guix-git/doc/guix.texi:10718 #, no-wrap msgid "guix build guix --with-latest=guile-json\n" msgstr "guix build --with-input=guile=guile@@2.0 guix\n" #. type: table #: guix-git/doc/guix.texi:10727 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 "" #. type: table #: guix-git/doc/guix.texi:10732 msgid "" "You've been warned! In all the other cases, 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 " "(@pxref{Contributing})." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:10733 #, no-wrap msgid "test suite, skipping" msgstr "набор тестов" #. type: item #: guix-git/doc/guix.texi:10734 #, no-wrap msgid "--without-tests=@var{package}" msgstr "--without-tests=@var{package}" #. type: table #: guix-git/doc/guix.texi:10740 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 "" #. type: table #: guix-git/doc/guix.texi:10744 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 "" #. type: example #: guix-git/doc/guix.texi:10747 #, 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:10753 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 "" #. type: table #: guix-git/doc/guix.texi:10759 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 "" #. type: Plain text #: guix-git/doc/guix.texi:10766 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 "" #. type: Plain text #: guix-git/doc/guix.texi:10772 msgid "" "The command-line options presented below are specific to @command{guix " "build}." msgstr "" "Параметры командной строки, представленные ниже, относятся к @command{guix " "build}." #. type: item #: guix-git/doc/guix.texi:10775 #, no-wrap msgid "--quiet" msgstr "--quiet" #. type: table #: guix-git/doc/guix.texi:10780 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 "" #. type: item #: guix-git/doc/guix.texi:10781 #, no-wrap msgid "--file=@var{file}" msgstr "--file=@var{file}" #. type: table #: guix-git/doc/guix.texi:10785 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 "" #. type: table #: guix-git/doc/guix.texi:10788 msgid "" "As an example, @var{file} might contain a package definition like this " "(@pxref{Defining Packages}):" msgstr "" #. type: table #: guix-git/doc/guix.texi:10797 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 "" #. type: item #: guix-git/doc/guix.texi:10802 #, no-wrap msgid "--manifest=@var{manifest}" msgstr "--manifest=@var{file}" #. type: itemx #: guix-git/doc/guix.texi:10803 #, no-wrap msgid "-m @var{manifest}" msgstr "-m @var{file}" #. type: table #: guix-git/doc/guix.texi:10806 msgid "" "Build all packages listed in the given @var{manifest} (@pxref{profile-" "manifest, @option{--manifest}})." msgstr "" #. type: table #: guix-git/doc/guix.texi:10810 msgid "Build the package or derivation @var{expr} evaluates to." msgstr "" #. type: table #: guix-git/doc/guix.texi:10814 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 "" #. type: table #: guix-git/doc/guix.texi:10818 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 "" #. type: table #: guix-git/doc/guix.texi:10822 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 "" #. type: item #: guix-git/doc/guix.texi:10823 #, no-wrap msgid "--source" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:10824 #, no-wrap msgid "-S" msgstr "" #. type: table #: guix-git/doc/guix.texi:10827 msgid "" "Build the source derivations of the packages, rather than the packages " "themselves." msgstr "" #. type: table #: guix-git/doc/guix.texi:10831 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 "" #. type: table #: guix-git/doc/guix.texi:10835 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 "" #. type: cindex #: guix-git/doc/guix.texi:10836 #, no-wrap msgid "source, verification" msgstr "" #. type: table #: guix-git/doc/guix.texi:10842 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 "" #. type: table #: guix-git/doc/guix.texi:10847 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 "" #. type: item #: guix-git/doc/guix.texi:10848 #, no-wrap msgid "--sources" msgstr "" #. type: table #: guix-git/doc/guix.texi:10855 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 "" #. type: item #: guix-git/doc/guix.texi:10857 guix-git/doc/guix.texi:12512 #, no-wrap msgid "package" msgstr "" #. type: table #: guix-git/doc/guix.texi:10860 msgid "" "This value causes the @option{--sources} option to behave in the same way as " "the @option{--source} option." msgstr "" #. type: item #: guix-git/doc/guix.texi:10861 guix-git/doc/guix.texi:18638 #, no-wrap msgid "all" msgstr "" #. type: table #: guix-git/doc/guix.texi:10864 msgid "" "Build the source derivations of all packages, including any source that " "might be listed as @code{inputs}. This is the default value." msgstr "" #. type: example #: guix-git/doc/guix.texi:10870 #, 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 "" #. type: item #: guix-git/doc/guix.texi:10872 #, no-wrap msgid "transitive" msgstr "" #. type: table #: guix-git/doc/guix.texi:10876 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:10887 #, 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 "" #. type: table #: guix-git/doc/guix.texi:10897 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 "" #. type: quotation #: guix-git/doc/guix.texi:10902 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 "" #. type: table #: guix-git/doc/guix.texi:10909 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 "" #. type: quotation #: guix-git/doc/guix.texi:10914 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 "" #. type: table #: guix-git/doc/guix.texi:10920 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 "" #. type: table #: guix-git/doc/guix.texi:10924 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 "" #. type: table #: guix-git/doc/guix.texi:10930 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 "" #. type: anchor{#1} #: guix-git/doc/guix.texi:10932 msgid "build-check" msgstr "" #. type: item #: guix-git/doc/guix.texi:10932 #, no-wrap msgid "--check" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:10933 #, no-wrap msgid "determinism, checking" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:10934 #, no-wrap msgid "reproducibility, checking" msgstr "" #. type: table #: guix-git/doc/guix.texi:10938 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 "" #. type: table #: guix-git/doc/guix.texi:10943 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 "" #. type: item #: guix-git/doc/guix.texi:10948 #, no-wrap msgid "--repair" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:10949 #, no-wrap msgid "repairing store items" msgstr "" #. type: table #: guix-git/doc/guix.texi:10953 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:10955 msgid "This operation is not atomic and thus restricted to @code{root}." msgstr "" #. type: item #: guix-git/doc/guix.texi:10956 #, no-wrap msgid "--derivations" msgstr "" #. type: table #: guix-git/doc/guix.texi:10960 msgid "" "Return the derivation paths, not the output paths, of the given packages." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:10963 #, no-wrap msgid "GC roots, adding" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:10964 #, no-wrap msgid "garbage collector roots, adding" msgstr "" #. type: table #: guix-git/doc/guix.texi:10967 guix-git/doc/guix.texi:34178 msgid "" "Make @var{file} a symlink to the result, and register it as a garbage " "collector root." msgstr "" #. type: table #: guix-git/doc/guix.texi:10973 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 "" #. type: item #: guix-git/doc/guix.texi:10974 #, no-wrap msgid "--log-file" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:10975 #, no-wrap msgid "build logs, access" msgstr "" #. type: table #: guix-git/doc/guix.texi:10979 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 "" #. type: table #: guix-git/doc/guix.texi:10982 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:10988 #, 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 "" #. type: table #: guix-git/doc/guix.texi:10993 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 (as specified with @option{--substitute-urls})." msgstr "" #. type: table #: guix-git/doc/guix.texi:10996 msgid "" "So for instance, imagine you want to see the build log of GDB on MIPS, but " "you are actually on an @code{x86_64} machine:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11000 #, no-wrap msgid "" "$ guix build --log-file gdb -s aarch64-linux\n" "https://@value{SUBSTITUTE-SERVER-1}/log/@dots{}-gdb-7.10\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:11003 msgid "You can freely access a huge library of build logs!" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11008 #, no-wrap msgid "build failures, debugging" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11014 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11019 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11025 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 "" #. type: example #: guix-git/doc/guix.texi:11032 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11036 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:11042 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11045 msgid "" "In such cases, you may need to run inspect the build process from within a " "container similar to the one the build daemon creates:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11053 #, no-wrap msgid "" "$ guix build -K foo\n" "@dots{}\n" "$ cd /tmp/guix-build-foo.drv-0\n" "$ guix environment --no-grafts -C foo --ad-hoc strace gdb\n" "[env]# source ./environment-variables\n" "[env]# cd foo-1.2\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11062 msgid "" "Here, @command{guix environment -C} creates a container and spawns a new " "shell in it (@pxref{Invoking guix environment}). The @command{--ad-hoc " "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 "" #. type: Plain text #: guix-git/doc/guix.texi:11065 msgid "" "To get closer to a container like that used by the build daemon, we can " "remove @file{/bin/sh}:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11068 #, no-wrap msgid "[env]# rm /bin/sh\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11072 msgid "" "(Don't worry, this is harmless: this is all happening in the throw-away " "container created by @command{guix environment}.)" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11075 msgid "" "The @command{strace} command is probably not in the search path, but we can " "run:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11078 #, no-wrap msgid "[env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11083 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:11086 #, no-wrap msgid "Invoking @command{guix edit}" msgstr "Вызов @command{guix edit}" #. type: command{#1} #: guix-git/doc/guix.texi:11088 #, no-wrap msgid "guix edit" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11089 #, no-wrap msgid "package definition, editing" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11094 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 "" #. type: example #: guix-git/doc/guix.texi:11097 #, no-wrap msgid "guix edit gcc@@4.9 vim\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11103 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11109 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11114 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 "" #. type: section #: guix-git/doc/guix.texi:11116 #, no-wrap msgid "Invoking @command{guix download}" msgstr "Вызов @command{guix download}" #. type: command{#1} #: guix-git/doc/guix.texi:11118 #, no-wrap msgid "guix download" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11119 #, no-wrap msgid "downloading package sources" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11126 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11133 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11141 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11146 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11148 guix-git/doc/guix.texi:12825 msgid "The following options are available:" msgstr "" #. type: item #: guix-git/doc/guix.texi:11150 guix-git/doc/guix.texi:11194 #, no-wrap msgid "--hash=@var{algorithm}" msgstr "--show=@var{package}" #. type: itemx #: guix-git/doc/guix.texi:11151 guix-git/doc/guix.texi:11195 #, no-wrap msgid "-H @var{algorithm}" msgstr "-f @var{format}" #. type: table #: guix-git/doc/guix.texi:11154 msgid "" "Compute a hash using the specified @var{algorithm}. @xref{Invoking guix " "hash}, for more information." msgstr "" #. type: item #: guix-git/doc/guix.texi:11155 guix-git/doc/guix.texi:11204 #, no-wrap msgid "--format=@var{fmt}" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:11156 guix-git/doc/guix.texi:11205 #, no-wrap msgid "-f @var{fmt}" msgstr "" #. type: table #: guix-git/doc/guix.texi:11159 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 "" #. type: item #: guix-git/doc/guix.texi:11160 #, no-wrap msgid "--no-check-certificate" msgstr "" #. type: table #: guix-git/doc/guix.texi:11162 msgid "Do not validate the X.509 certificates of HTTPS servers." msgstr "" #. type: table #: guix-git/doc/guix.texi:11166 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 "" #. type: item #: guix-git/doc/guix.texi:11167 #, no-wrap msgid "--output=@var{file}" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:11168 #, no-wrap msgid "-o @var{file}" msgstr "" #. type: table #: guix-git/doc/guix.texi:11171 msgid "" "Save the downloaded file to @var{file} instead of adding it to the store." msgstr "" #. type: section #: guix-git/doc/guix.texi:11174 #, no-wrap msgid "Invoking @command{guix hash}" msgstr "Вызов @command{guix hash}" #. type: command{#1} #: guix-git/doc/guix.texi:11176 #, no-wrap msgid "guix hash" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11181 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 a file, which can be used in the " "definition of a package (@pxref{Defining Packages})." msgstr "" #. type: example #: guix-git/doc/guix.texi:11186 #, no-wrap msgid "guix hash @var{option} @var{file}\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11191 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 "" #. type: table #: guix-git/doc/guix.texi:11198 msgid "" "Compute a hash using the specified @var{algorithm}, @code{sha256} by default." msgstr "" #. type: table #: guix-git/doc/guix.texi:11203 msgid "" "@var{algorithm} must 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 "" #. type: table #: guix-git/doc/guix.texi:11207 msgid "Write the hash in the format specified by @var{fmt}." msgstr "" #. type: table #: guix-git/doc/guix.texi:11210 msgid "" "Supported formats: @code{base64}, @code{nix-base32}, @code{base32}, " "@code{base16} (@code{hex} and @code{hexadecimal} can be used as well)." msgstr "" #. type: table #: guix-git/doc/guix.texi:11214 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 "" #. type: table #: guix-git/doc/guix.texi:11218 msgid "Compute the hash on @var{file} recursively." msgstr "" #. type: table #: guix-git/doc/guix.texi:11227 msgid "" "In this case, the hash is computed on an archive 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 has no impact on the hash " "(@pxref{Invoking guix archive})." msgstr "" #. type: item #: guix-git/doc/guix.texi:11228 #, no-wrap msgid "--exclude-vcs" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:11229 guix-git/doc/guix.texi:12298 #, no-wrap msgid "-x" msgstr "" #. type: table #: guix-git/doc/guix.texi:11232 msgid "" "When combined with @option{--recursive}, exclude version control system " "directories (@file{.bzr}, @file{.git}, @file{.hg}, etc.)." msgstr "" #. type: vindex #: guix-git/doc/guix.texi:11233 #, no-wrap msgid "git-fetch" msgstr "git-fetch" #. type: table #: guix-git/doc/guix.texi:11237 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 "" #. type: example #: guix-git/doc/guix.texi:11242 #, no-wrap msgid "" "$ git clone http://example.org/foo.git\n" "$ cd foo\n" "$ guix hash -rx .\n" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11246 guix-git/doc/guix.texi:11251 #, no-wrap msgid "Invoking @command{guix import}" msgstr "Вызов @command{guix import}" #. type: cindex #: guix-git/doc/guix.texi:11248 #, no-wrap msgid "importing packages" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11249 #, no-wrap msgid "package import" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11250 #, no-wrap msgid "package conversion" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11258 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 "" #. type: example #: guix-git/doc/guix.texi:11263 #, no-wrap msgid "guix import @var{importer} @var{options}@dots{}\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11268 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}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11272 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11274 msgid "Currently, the available ``importers'' are:" msgstr "Возможные форматы:" #. type: item #: guix-git/doc/guix.texi:11276 guix-git/doc/guix.texi:11909 #, no-wrap msgid "gnu" msgstr "" #. type: table #: guix-git/doc/guix.texi:11280 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 "" #. type: table #: guix-git/doc/guix.texi:11283 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:11286 msgid "" "For example, the following command returns a package definition for GNU@tie{}" "Hello:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11289 #, no-wrap msgid "guix import gnu hello\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:11292 guix-git/doc/guix.texi:11534 #: guix-git/doc/guix.texi:11584 guix-git/doc/guix.texi:11613 msgid "Specific command-line options are:" msgstr "" #. type: item #: guix-git/doc/guix.texi:11294 guix-git/doc/guix.texi:12106 #, no-wrap msgid "--key-download=@var{policy}" msgstr "" #. type: table #: guix-git/doc/guix.texi:11298 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 "" #. type: item #: guix-git/doc/guix.texi:11300 guix-git/doc/guix.texi:11301 #: guix-git/doc/guix.texi:11933 #, no-wrap msgid "pypi" msgstr "" #. type: table #: guix-git/doc/guix.texi:11308 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 "" #. type: table #: guix-git/doc/guix.texi:11311 msgid "" "The command below imports metadata for the @code{itsdangerous} Python " "package:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11314 #, no-wrap msgid "guix import pypi itsdangerous\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:11322 guix-git/doc/guix.texi:11347 #: guix-git/doc/guix.texi:11379 guix-git/doc/guix.texi:11557 #: guix-git/doc/guix.texi:11598 guix-git/doc/guix.texi:11649 #: guix-git/doc/guix.texi:11674 guix-git/doc/guix.texi:11690 #: guix-git/doc/guix.texi:11738 guix-git/doc/guix.texi:11768 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 "" #. type: item #: guix-git/doc/guix.texi:11324 guix-git/doc/guix.texi:11325 #: guix-git/doc/guix.texi:11935 #, no-wrap msgid "gem" msgstr "" #. type: table #: guix-git/doc/guix.texi:11334 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 "" #. type: table #: guix-git/doc/guix.texi:11336 msgid "The command below imports metadata for the @code{rails} Ruby package:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11339 #, no-wrap msgid "guix import gem rails\n" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11349 guix-git/doc/guix.texi:11350 #, no-wrap msgid "minetest" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11351 #, no-wrap msgid "ContentDB" msgstr "" #. type: table #: guix-git/doc/guix.texi:11360 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 "" #. type: table #: guix-git/doc/guix.texi:11362 msgid "The command below imports metadata for the Mesecons mod by Jeija:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11365 #, no-wrap msgid "guix import minetest Jeija/mesecons\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:11368 msgid "The author name can also be left out:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11371 #, no-wrap msgid "guix import minetest mesecons\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:11381 guix-git/doc/guix.texi:11931 #, no-wrap msgid "cpan" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11382 #, no-wrap msgid "CPAN" msgstr "" #. type: table #: guix-git/doc/guix.texi:11390 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 "" #. type: table #: guix-git/doc/guix.texi:11393 msgid "" "The command command below imports metadata for the Acme::Boolean Perl module:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11396 #, no-wrap msgid "guix import cpan Acme::Boolean\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:11398 guix-git/doc/guix.texi:11927 #, no-wrap msgid "cran" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11399 #, no-wrap msgid "CRAN" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11400 #, no-wrap msgid "Bioconductor" msgstr "" #. type: table #: guix-git/doc/guix.texi:11404 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 "" #. type: table #: guix-git/doc/guix.texi:11406 msgid "" "Information is extracted from the @file{DESCRIPTION} file of the package." msgstr "" #. type: table #: guix-git/doc/guix.texi:11408 msgid "The command command below imports metadata for the Cairo R package:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11411 #, no-wrap msgid "guix import cran Cairo\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:11416 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 "" #. type: table #: guix-git/doc/guix.texi:11423 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 "" #. type: table #: guix-git/doc/guix.texi:11428 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 "" #. type: table #: guix-git/doc/guix.texi:11431 msgid "" "Information is extracted from the @file{DESCRIPTION} file contained in the " "package archive." msgstr "" #. type: table #: guix-git/doc/guix.texi:11433 msgid "The command below imports metadata for the GenomicRanges R package:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11436 #, no-wrap msgid "guix import cran --archive=bioconductor GenomicRanges\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:11441 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 "" #. type: example #: guix-git/doc/guix.texi:11444 #, no-wrap msgid "guix import cran --archive=git https://github.com/immunogenomics/harmony\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:11446 #, no-wrap msgid "texlive" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11447 #, no-wrap msgid "TeX Live" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11448 #, no-wrap msgid "CTAN" msgstr "" #. type: table #: guix-git/doc/guix.texi:11452 msgid "" "Import metadata from @uref{https://www.ctan.org/, CTAN}, the comprehensive " "TeX archive network for TeX packages that are part of the @uref{https://www." "tug.org/texlive/, TeX Live distribution}." msgstr "" #. type: table #: guix-git/doc/guix.texi:11457 msgid "" "Information about the package is obtained through the XML API provided by " "CTAN, while the source code is downloaded from the SVN repository of the Tex " "Live project. This is done because the CTAN does not keep versioned " "archives." msgstr "" #. type: table #: guix-git/doc/guix.texi:11460 msgid "" "The command command below imports metadata for the @code{fontspec} TeX " "package:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11463 #, no-wrap msgid "guix import texlive fontspec\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:11469 msgid "" "When @option{--archive=@var{directory}} is added, the source code is " "downloaded not from the @file{latex} sub-directory of the @file{texmf-dist/" "source} tree in the TeX Live SVN repository, but from the specified sibling " "@var{directory} under the same root." msgstr "" #. type: table #: guix-git/doc/guix.texi:11473 msgid "" "The command below imports metadata for the @code{ifxetex} package from CTAN " "while fetching the sources from the directory @file{texmf/source/generic}:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11476 #, no-wrap msgid "guix import texlive --archive=generic ifxetex\n" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11479 #, no-wrap msgid "JSON, import" msgstr "" #. type: table #: guix-git/doc/guix.texi:11482 msgid "" "Import package metadata from a local JSON file. Consider the following " "example package definition in JSON format:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11495 #, 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 "" #. type: table #: guix-git/doc/guix.texi:11501 msgid "" "The field names are the same as for the @code{} 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 "" #. type: table #: guix-git/doc/guix.texi:11504 msgid "" "The importer also supports a more explicit source definition using the " "common fields for @code{} records:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11517 #, 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 "" #. type: table #: guix-git/doc/guix.texi:11521 msgid "" "The command below reads metadata from the JSON file @code{hello.json} and " "outputs a package expression:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11524 #, no-wrap msgid "guix import json hello.json\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:11526 guix-git/doc/guix.texi:11527 #: guix-git/doc/guix.texi:11939 #, no-wrap msgid "hackage" msgstr "" #. type: table #: guix-git/doc/guix.texi:11532 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 "" #. type: item #: guix-git/doc/guix.texi:11536 #, no-wrap msgid "--stdin" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:11537 #, no-wrap msgid "-s" msgstr "" #. type: table #: guix-git/doc/guix.texi:11539 msgid "Read a Cabal file from standard input." msgstr "" #. type: item #: guix-git/doc/guix.texi:11539 guix-git/doc/guix.texi:11586 #, no-wrap msgid "--no-test-dependencies" msgstr "" #. type: table #: guix-git/doc/guix.texi:11542 guix-git/doc/guix.texi:11589 msgid "Do not include dependencies required only by the test suites." msgstr "" #. type: item #: guix-git/doc/guix.texi:11542 #, no-wrap msgid "--cabal-environment=@var{alist}" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:11543 #, no-wrap msgid "-e @var{alist}" msgstr "" #. type: table #: guix-git/doc/guix.texi:11552 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 "" #. type: table #: guix-git/doc/guix.texi:11562 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 "" #. type: example #: guix-git/doc/guix.texi:11565 #, 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:11569 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:11572 #, 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:11574 guix-git/doc/guix.texi:11575 #: guix-git/doc/guix.texi:11941 #, no-wrap msgid "stackage" msgstr "" #. type: table #: guix-git/doc/guix.texi:11582 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 "" #. type: item #: guix-git/doc/guix.texi:11589 #, no-wrap msgid "--lts-version=@var{version}" msgstr "--lts-version=@var{version}" #. type: itemx #: guix-git/doc/guix.texi:11590 #, no-wrap msgid "-l @var{version}" msgstr "-l @var{version}" #. type: table #: guix-git/doc/guix.texi:11593 msgid "" "@var{version} is the desired LTS release version. If omitted the latest " "release is used." msgstr "" #. type: table #: guix-git/doc/guix.texi:11602 msgid "" "The command below imports metadata for the HTTP Haskell package included in " "the LTS Stackage release version 7.18:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11605 #, 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:11607 guix-git/doc/guix.texi:11608 #: guix-git/doc/guix.texi:11925 #, no-wrap msgid "elpa" msgstr "elpa" #. type: table #: guix-git/doc/guix.texi:11611 msgid "" "Import metadata from an Emacs Lisp Package Archive (ELPA) package repository " "(@pxref{Packages,,, emacs, The GNU Emacs Manual})." msgstr "" #. type: item #: guix-git/doc/guix.texi:11615 #, no-wrap msgid "--archive=@var{repo}" msgstr "--archive=@var{repo}" #. type: itemx #: guix-git/doc/guix.texi:11616 #, no-wrap msgid "-a @var{repo}" msgstr "-a @var{repo}" #. type: table #: guix-git/doc/guix.texi:11620 msgid "" "@var{repo} identifies the archive repository from which to retrieve the " "information. Currently the supported repositories and their identifiers are:" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:11624 msgid "" "@uref{https://elpa.gnu.org/packages, GNU}, selected by the @code{gnu} " "identifier. This is the default." msgstr "" #. type: itemize #: guix-git/doc/guix.texi:11630 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 "" #. type: itemize #: guix-git/doc/guix.texi:11634 msgid "" "@uref{https://elpa.nongnu.org/nongnu/, NonGNU}, selected by the " "@code{nongnu} identifier." msgstr "" #. type: itemize #: guix-git/doc/guix.texi:11638 msgid "" "@uref{https://stable.melpa.org/packages, MELPA-Stable}, selected by the " "@code{melpa-stable} identifier." msgstr "" #. type: itemize #: guix-git/doc/guix.texi:11642 msgid "" "@uref{https://melpa.org/packages, MELPA}, selected by the @code{melpa} " "identifier." msgstr "" #. type: item #: guix-git/doc/guix.texi:11651 guix-git/doc/guix.texi:11652 #: guix-git/doc/guix.texi:11943 #, no-wrap msgid "crate" msgstr "" #. type: table #: guix-git/doc/guix.texi:11655 msgid "" "Import metadata from the crates.io Rust package repository @uref{https://" "crates.io, crates.io}, as in this example:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11658 #, no-wrap msgid "guix import crate blake2-rfc\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:11661 msgid "The crate importer also allows you to specify a version string:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11664 #, no-wrap msgid "guix import crate constant-time-eq@@0.1.0\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:11667 guix-git/doc/guix.texi:11683 #: guix-git/doc/guix.texi:11731 guix-git/doc/guix.texi:11762 msgid "Additional options include:" msgstr "Дополительные опции включаю:" #. type: item #: guix-git/doc/guix.texi:11676 #, no-wrap msgid "opam" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11677 #, no-wrap msgid "OPAM" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:11678 #, no-wrap msgid "OCaml" msgstr "" #. type: table #: guix-git/doc/guix.texi:11681 msgid "" "Import metadata from the @uref{https://opam.ocaml.org/, OPAM} package " "repository used by the OCaml community." msgstr "" #. type: item #: guix-git/doc/guix.texi:11690 #, no-wrap msgid "--repo" msgstr "" #. type: table #: guix-git/doc/guix.texi:11694 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 "" #. type: item #: guix-git/doc/guix.texi:11696 #, no-wrap msgid "the name of a known repository - can be one of @code{opam}," msgstr "" #. type: itemize #: guix-git/doc/guix.texi:11699 msgid "" "@code{coq} (equivalent to @code{coq-released}), @code{coq-core-dev}, " "@code{coq-extra-dev} or @code{grew}." msgstr "" #. type: item #: guix-git/doc/guix.texi:11699 #, fuzzy, no-wrap #| msgid "The URL of the Git repository to clone." msgid "the URL of a repository as expected by the" msgstr "URL-адрес репозитория Git для клонирования." #. type: itemize #: guix-git/doc/guix.texi:11703 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 "" #. type: item #: guix-git/doc/guix.texi:11703 #, no-wrap msgid "the path to a local copy of a repository (a directory containing a" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:11705 #, fuzzy #| msgid "Package Modules in a Sub-directory" msgid "@file{packages/} sub-directory)." msgstr "Пакетные модули в поддиректории" #. type: table #: guix-git/doc/guix.texi:11710 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 "" #. type: table #: guix-git/doc/guix.texi:11715 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 "" #. type: cindex #: guix-git/doc/guix.texi:11718 guix-git/doc/guix.texi:11719 #, no-wrap msgid "go" msgstr "" #. type: table #: guix-git/doc/guix.texi:11722 msgid "" "Import metadata for a Go module using @uref{https://proxy.golang.org, proxy." "golang.org}." msgstr "" #. type: example #: guix-git/doc/guix.texi:11725 #, no-wrap msgid "guix import go gopkg.in/yaml.v2\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:11729 msgid "" "It is possible to use a package specification with a @code{@@VERSION} suffix " "to import a specific version." msgstr "" #. type: item #: guix-git/doc/guix.texi:11738 #, no-wrap msgid "--pin-versions" msgstr "версия" #. type: table #: guix-git/doc/guix.texi:11746 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 "" #. type: item #: guix-git/doc/guix.texi:11748 guix-git/doc/guix.texi:11749 #: guix-git/doc/guix.texi:11923 #, no-wrap msgid "egg" msgstr "" #. type: table #: guix-git/doc/guix.texi:11756 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-latest, eggs-5-latest} 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 "" #. type: example #: guix-git/doc/guix.texi:11759 #, no-wrap msgid "guix import egg sourcehut\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11774 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 "" #. type: section #: guix-git/doc/guix.texi:11776 #, no-wrap msgid "Invoking @command{guix refresh}" msgstr "Вызов @command{guix refresh}" #. type: command{#1} #: guix-git/doc/guix.texi:11778 #, no-wrap msgid "guix refresh" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:11786 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 "" #. type: example #: guix-git/doc/guix.texi:11791 #, 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 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" #. type: Plain text #: guix-git/doc/guix.texi:11795 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:11800 #, 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: 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" #. type: Plain text #: guix-git/doc/guix.texi:11809 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 "" #. type: table #: guix-git/doc/guix.texi:11814 msgid "" "Consider the packages specified, and all the packages upon which they depend." msgstr "" #. type: example #: guix-git/doc/guix.texi:11822 #, 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:35:2: warning: no updater for acl\n" "gnu/packages/m4.scm:30:12: info: 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: info: 6.1.2 is already the latest version of gmp\n" "@dots{}\n" #. type: Plain text #: guix-git/doc/guix.texi:11830 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 "" #. type: lisp #: guix-git/doc/guix.texi:11837 #, 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:11846 msgid "" "When passed @option{--update}, it modifies distribution source files to " "update the version numbers and source tarball hashes of those package " "recipes (@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 "" #. type: Plain text #: guix-git/doc/guix.texi:11852 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 "" #. type: Plain text #: guix-git/doc/guix.texi:11854 msgid "The following options are supported:" msgstr "Поддерживаются следующие варианты:" #. type: table #: guix-git/doc/guix.texi:11862 guix-git/doc/guix.texi:12707 msgid "This is useful to precisely refer to a package, as in this example:" msgstr "" #. type: example #: guix-git/doc/guix.texi:11865 #, 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:11869 msgid "" "This command lists the dependents of the ``final'' libc (essentially all the " "packages)." msgstr "" #. type: item #: guix-git/doc/guix.texi:11870 #, no-wrap msgid "--update" msgstr "--update" #. type: itemx #: guix-git/doc/guix.texi:11871 #, no-wrap msgid "-u" msgstr "-u" #. type: table #: guix-git/doc/guix.texi:11875 msgid "" "Update distribution source files (package recipes) in place. This is " "usually run from a checkout of the Guix source tree (@pxref{Running Guix " "Before It Is Installed}):" msgstr "" #. type: example #: guix-git/doc/guix.texi:11878 #, no-wrap msgid "$ ./pre-inst-env guix refresh -s non-core -u\n" msgstr "$ ./pre-inst-env guix refresh -s non-core -u\n" #. type: table #: guix-git/doc/guix.texi:11881 msgid "@xref{Defining Packages}, for more information on package definitions." msgstr "" #. type: item #: guix-git/doc/guix.texi:11882 #, no-wrap msgid "--select=[@var{subset}]" msgstr "--select=[@var{subset}]" #. type: itemx #: guix-git/doc/guix.texi:11883 #, no-wrap msgid "-s @var{subset}" msgstr "-s @var{subset}" #. type: table #: guix-git/doc/guix.texi:11886 msgid "" "Select all the packages in @var{subset}, one of @code{core} or @code{non-" "core}." msgstr "" #. type: table #: guix-git/doc/guix.texi:11893 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 "" #. type: table #: guix-git/doc/guix.texi:11897 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 "" #. type: table #: guix-git/doc/guix.texi:11902 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 "" #. type: item #: guix-git/doc/guix.texi:11903 #, no-wrap msgid "--type=@var{updater}" msgstr "--type=@var{updater}" #. type: itemx #: guix-git/doc/guix.texi:11904 #, no-wrap msgid "-t @var{updater}" msgstr "-t @var{updater}" #. type: table #: guix-git/doc/guix.texi:11907 msgid "" "Select only packages handled by @var{updater} (may be a comma-separated list " "of updaters). Currently, @var{updater} may be one of:" msgstr "" #. type: table #: guix-git/doc/guix.texi:11911 msgid "the updater for GNU packages;" msgstr "средство обновления пакетов GNU;" #. type: item #: guix-git/doc/guix.texi:11911 #, no-wrap msgid "savannah" msgstr "savannah" #. type: table #: guix-git/doc/guix.texi:11913 msgid "" "the updater for packages hosted at @uref{https://savannah.gnu.org, Savannah};" msgstr "" #. type: item #: guix-git/doc/guix.texi:11913 #, no-wrap msgid "sourceforge" msgstr "источник" #. type: table #: guix-git/doc/guix.texi:11915 msgid "" "the updater for packages hosted at @uref{https://sourceforge.net, " "SourceForge};" msgstr "средство обновления пакетов, размещенных на kernel.org;" #. type: item #: guix-git/doc/guix.texi:11915 #, no-wrap msgid "gnome" msgstr "gnome" #. type: table #: guix-git/doc/guix.texi:11917 msgid "the updater for GNOME packages;" msgstr "средство обновления пакетов GNOME;" #. type: item #: guix-git/doc/guix.texi:11917 #, no-wrap msgid "kde" msgstr "kde" #. type: table #: guix-git/doc/guix.texi:11919 msgid "the updater for KDE packages;" msgstr "средство обновления пакетов KDE;" #. type: item #: guix-git/doc/guix.texi:11919 #, no-wrap msgid "xorg" msgstr "xorg" #. type: table #: guix-git/doc/guix.texi:11921 msgid "the updater for X.org packages;" msgstr "средство обновления пакетов X.org;" #. type: item #: guix-git/doc/guix.texi:11921 #, no-wrap msgid "kernel.org" msgstr "kernel.org" #. type: table #: guix-git/doc/guix.texi:11923 msgid "the updater for packages hosted on kernel.org;" msgstr "средство обновления пакетов, размещенных на kernel.org;" #. type: table #: guix-git/doc/guix.texi:11925 #, fuzzy #| msgid "the updater for @uref{https://github.com, GitHub} packages." msgid "the updater for @uref{https://wiki.call-cc.org/eggs/, Egg} packages;" msgstr "средство обновления пакетов @uref{https://github.com, GitHub}." #. type: table #: guix-git/doc/guix.texi:11927 msgid "the updater for @uref{https://elpa.gnu.org/, ELPA} packages;" msgstr "" #. type: table #: guix-git/doc/guix.texi:11929 msgid "the updater for @uref{https://cran.r-project.org/, CRAN} packages;" msgstr "" #. type: item #: guix-git/doc/guix.texi:11929 #, no-wrap msgid "bioconductor" msgstr "" #. type: table #: guix-git/doc/guix.texi:11931 msgid "" "the updater for @uref{https://www.bioconductor.org/, Bioconductor} R " "packages;" msgstr "" #. type: table #: guix-git/doc/guix.texi:11933 msgid "the updater for @uref{https://www.cpan.org/, CPAN} packages;" msgstr "" #. type: table #: guix-git/doc/guix.texi:11935 msgid "the updater for @uref{https://pypi.python.org, PyPI} packages." msgstr "" #. type: table #: guix-git/doc/guix.texi:11937 msgid "the updater for @uref{https://rubygems.org, RubyGems} packages." msgstr "" #. type: item #: guix-git/doc/guix.texi:11937 #, no-wrap msgid "github" msgstr "github" #. type: table #: guix-git/doc/guix.texi:11939 msgid "the updater for @uref{https://github.com, GitHub} packages." msgstr "средство обновления пакетов @uref{https://github.com, GitHub}." #. type: table #: guix-git/doc/guix.texi:11941 msgid "the updater for @uref{https://hackage.haskell.org, Hackage} packages." msgstr "" #. type: table #: guix-git/doc/guix.texi:11943 msgid "the updater for @uref{https://www.stackage.org, Stackage} packages." msgstr "" #. type: table #: guix-git/doc/guix.texi:11945 msgid "the updater for @uref{https://crates.io, Crates} packages." msgstr "" #. type: item #: guix-git/doc/guix.texi:11945 #, no-wrap msgid "launchpad" msgstr "" #. type: table #: guix-git/doc/guix.texi:11947 msgid "the updater for @uref{https://launchpad.net, Launchpad} packages." msgstr "" #. type: item #: guix-git/doc/guix.texi:11947 #, no-wrap msgid "generic-html" msgstr "" #. type: table #: guix-git/doc/guix.texi:11950 msgid "" "a generic updater that crawls the HTML page where the source tarball of the " "package is hosted, when applicable." msgstr "" #. type: item #: guix-git/doc/guix.texi:11951 #, no-wrap msgid "generic-git" msgstr "" #. type: table #: guix-git/doc/guix.texi:11956 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 "" #. type: item #: guix-git/doc/guix.texi:11958 #, no-wrap msgid "@code{release-tag-prefix}: a regular expression for matching a prefix of" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:11960 guix-git/doc/guix.texi:11963 #, fuzzy #| msgid "The role name." msgid "the tag name." msgstr "Имя роли." #. type: item #: guix-git/doc/guix.texi:11961 #, no-wrap msgid "@code{release-tag-suffix}: a regular expression for matching a suffix of" msgstr "" #. type: item #: guix-git/doc/guix.texi:11964 #, no-wrap msgid "@code{release-tag-version-delimiter}: a string used as the delimiter in" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:11966 msgid "the tag name for separating the numbers of the version." msgstr "" #. type: item #: guix-git/doc/guix.texi:11967 #, no-wrap msgid "@code{accept-pre-releases}: by default, the updater will ignore" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:11970 msgid "" "pre-releases; to make it also look for pre-releases, set the this property " "to @code{#t}." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:11981 #, 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 "" #. type: table #: guix-git/doc/guix.texi:11988 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 "" #. type: example #: guix-git/doc/guix.texi:11993 #, 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 "" #. type: item #: guix-git/doc/guix.texi:11995 #, no-wrap msgid "--list-updaters" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:11996 #, no-wrap msgid "-L" msgstr "" #. type: table #: guix-git/doc/guix.texi:11998 msgid "List available updaters and exit (see @option{--type} above)." msgstr "" #. type: table #: guix-git/doc/guix.texi:12001 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:12005 msgid "" "In addition, @command{guix refresh} can be passed one or more package names, " "as in this example:" msgstr "" #. type: example #: guix-git/doc/guix.texi:12008 #, no-wrap msgid "$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12015 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 "" #. type: example #: guix-git/doc/guix.texi:12019 #, no-wrap msgid "" "$ ./pre-inst-env guix refresh -u \\\n" " $(guix package --list-installed | cut -f1)\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12025 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 "" #. type: item #: guix-git/doc/guix.texi:12028 #, no-wrap msgid "--list-dependent" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:12029 guix-git/doc/guix.texi:12288 #, no-wrap msgid "-l" msgstr "" #. type: table #: guix-git/doc/guix.texi:12032 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:12036 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12042 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 "" #. type: example #: guix-git/doc/guix.texi:12047 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12051 msgid "" "The command above lists a set of packages that could be built to check for " "compatibility with an upgraded @code{flex} package." msgstr "" #. type: item #: guix-git/doc/guix.texi:12054 #, no-wrap msgid "--list-transitive" msgstr "" #. type: table #: guix-git/doc/guix.texi:12056 msgid "List all the packages which one or more packages depend upon." msgstr "" #. type: example #: guix-git/doc/guix.texi:12061 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12067 msgid "" "The command above lists a set of packages which, when changed, would cause " "@code{flex} to be rebuilt." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12069 msgid "The following options can be used to customize GnuPG operation:" msgstr "" #. type: item #: guix-git/doc/guix.texi:12072 #, no-wrap msgid "--gpg=@var{command}" msgstr "" #. type: table #: guix-git/doc/guix.texi:12075 msgid "" "Use @var{command} as the GnuPG 2.x command. @var{command} is searched for " "in @code{$PATH}." msgstr "" #. type: item #: guix-git/doc/guix.texi:12076 #, no-wrap msgid "--keyring=@var{file}" msgstr "" #. type: table #: guix-git/doc/guix.texi:12082 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 "" #. type: table #: guix-git/doc/guix.texi:12088 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 "" #. type: table #: guix-git/doc/guix.texi:12091 msgid "" "You can export keys from your default GPG keyring into a keybox file using " "commands like this one:" msgstr "" #. type: example #: guix-git/doc/guix.texi:12094 #, no-wrap msgid "gpg --export rms@@gnu.org | kbxutil --import-openpgp >> mykeyring.kbx\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:12097 msgid "Likewise, you can fetch keys to a specific keybox file like this:" msgstr "" #. type: example #: guix-git/doc/guix.texi:12101 #, 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:12105 msgid "" "@xref{GPG Configuration Options, @option{--keyring},, gnupg, Using the GNU " "Privacy Guard}, for more information on GPG's @option{--keyring} option." msgstr "" #. type: table #: guix-git/doc/guix.texi:12109 msgid "" "Handle missing OpenPGP keys according to @var{policy}, which may be one of:" msgstr "" #. type: item #: guix-git/doc/guix.texi:12111 guix-git/doc/guix.texi:21198 #, no-wrap msgid "always" msgstr "всегда" #. type: table #: guix-git/doc/guix.texi:12114 msgid "" "Always download missing OpenPGP keys from the key server, and add them to " "the user's GnuPG keyring." msgstr "" #. type: item #: guix-git/doc/guix.texi:12115 guix-git/doc/guix.texi:21200 #, no-wrap msgid "never" msgstr "никогда" #. type: table #: guix-git/doc/guix.texi:12117 msgid "Never try to download missing OpenPGP keys. Instead just bail out." msgstr "" #. type: item #: guix-git/doc/guix.texi:12118 #, no-wrap msgid "interactive" msgstr "" #. type: table #: guix-git/doc/guix.texi:12121 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 "" #. type: item #: guix-git/doc/guix.texi:12123 #, no-wrap msgid "--key-server=@var{host}" msgstr "--key-server=@var{host}" #. type: table #: guix-git/doc/guix.texi:12125 msgid "Use @var{host} as the OpenPGP key server when importing a public key." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12145 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 "" #. type: section #: guix-git/doc/guix.texi:12148 #, no-wrap msgid "Invoking @command{guix lint}" msgstr "Вызов @command{guix lint}" #. type: command{#1} #: guix-git/doc/guix.texi:12150 #, no-wrap msgid "guix lint" msgstr "guix lint" #. type: cindex #: guix-git/doc/guix.texi:12151 #, no-wrap msgid "package, checking for errors" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12157 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 "" #. type: table #: guix-git/doc/guix.texi:12163 msgid "" "Validate certain typographical and stylistic rules about package " "descriptions and synopses." msgstr "" #. type: item #: guix-git/doc/guix.texi:12164 #, no-wrap msgid "inputs-should-be-native" msgstr "inputs-should-be-native" #. type: table #: guix-git/doc/guix.texi:12166 msgid "Identify inputs that should most likely be native inputs." msgstr "" #. type: itemx #: guix-git/doc/guix.texi:12169 #, no-wrap msgid "mirror-url" msgstr "mirror-url" #. type: itemx #: guix-git/doc/guix.texi:12170 #, no-wrap msgid "github-url" msgstr "github-url" #. type: itemx #: guix-git/doc/guix.texi:12171 #, no-wrap msgid "source-file-name" msgstr "source-file-name" #. type: table #: guix-git/doc/guix.texi:12178 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 "" #. type: item #: guix-git/doc/guix.texi:12179 #, no-wrap msgid "source-unstable-tarball" msgstr "source-unstable-tarball" #. type: table #: guix-git/doc/guix.texi:12183 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 "" #. type: table #: guix-git/doc/guix.texi:12187 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:12188 #, no-wrap msgid "profile-collisions" msgstr "противоречеия профиля" #. type: table #: guix-git/doc/guix.texi:12194 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 "" #. type: item #: guix-git/doc/guix.texi:12195 #, no-wrap msgid "archival" msgstr "архивирование" #. type: cindex #: guix-git/doc/guix.texi:12196 #, no-wrap msgid "Software Heritage, source code archive" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:12197 #, no-wrap msgid "archival of source code, Software Heritage" msgstr "" #. type: table #: guix-git/doc/guix.texi:12200 msgid "" "Checks whether the package's source code is archived at @uref{https://www." "softwareheritage.org, Software Heritage}." msgstr "" #. type: table #: guix-git/doc/guix.texi:12208 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 "" #. type: table #: guix-git/doc/guix.texi:12213 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 "" #. type: table #: guix-git/doc/guix.texi:12219 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 "" #. type: item #: guix-git/doc/guix.texi:12220 #, no-wrap msgid "cve" msgstr "cve" #. type: cindex #: guix-git/doc/guix.texi:12221 guix-git/doc/guix.texi:36317 #, no-wrap msgid "security vulnerabilities" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:12222 #, no-wrap msgid "CVE, Common Vulnerabilities and Exposures" msgstr "" #. type: table #: guix-git/doc/guix.texi:12227 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 "" #. type: table #: guix-git/doc/guix.texi:12229 msgid "" "To view information about a particular vulnerability, visit pages such as:" msgstr "" #. type: indicateurl{#1} #: guix-git/doc/guix.texi:12233 msgid "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-YYYY-ABCD" msgstr "" #. type: indicateurl{#1} #: guix-git/doc/guix.texi:12235 msgid "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-YYYY-ABCD" msgstr "" #. type: table #: guix-git/doc/guix.texi:12240 msgid "" "where @code{CVE-YYYY-ABCD} is the CVE identifier---e.g., " "@code{CVE-2015-7554}." msgstr "" #. type: table #: guix-git/doc/guix.texi:12245 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 "" #. type: lisp #: guix-git/doc/guix.texi:12253 #, 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 "" #. type: table #: guix-git/doc/guix.texi:12260 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 "" #. type: lisp #: guix-git/doc/guix.texi:12270 #, 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 "" #. type: item #: guix-git/doc/guix.texi:12272 #, no-wrap msgid "formatting" msgstr "" #. type: table #: guix-git/doc/guix.texi:12275 msgid "" "Warn about obvious source code formatting issues: trailing white space, use " "of tabulations, etc." msgstr "" #. type: example #: guix-git/doc/guix.texi:12281 #, no-wrap msgid "guix lint @var{options} @var{package}@dots{}\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12285 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 "" #. type: item #: guix-git/doc/guix.texi:12287 #, no-wrap msgid "--list-checkers" msgstr "" #. type: table #: guix-git/doc/guix.texi:12291 msgid "" "List and describe all the available checkers that will be run on packages " "and exit." msgstr "" #. type: item #: guix-git/doc/guix.texi:12292 #, no-wrap msgid "--checkers" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:12293 #, no-wrap msgid "-c" msgstr "" #. type: table #: guix-git/doc/guix.texi:12296 msgid "" "Only enable the checkers specified in a comma-separated list using the names " "returned by @option{--list-checkers}." msgstr "" #. type: item #: guix-git/doc/guix.texi:12297 #, no-wrap msgid "--exclude" msgstr "" #. type: table #: guix-git/doc/guix.texi:12301 msgid "" "Only disable the checkers specified in a comma-separated list using the " "names returned by @option{--list-checkers}." msgstr "" #. type: item #: guix-git/doc/guix.texi:12302 #, no-wrap msgid "--no-network" msgstr "--network" #. type: table #: guix-git/doc/guix.texi:12305 msgid "Only enable the checkers that do not depend on Internet access." msgstr "" #. type: section #: guix-git/doc/guix.texi:12317 #, no-wrap msgid "Invoking @command{guix size}" msgstr "Вызов @command{guix size}" #. type: code{#1} #: guix-git/doc/guix.texi:12319 guix-git/doc/guix.texi:34490 #, no-wrap msgid "size" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:12320 #, no-wrap msgid "package size" msgstr "" #. type: command{#1} #: guix-git/doc/guix.texi:12322 #, no-wrap msgid "guix size" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12329 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12334 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 "" #. type: example #: guix-git/doc/guix.texi:12347 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12353 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 "" #. type: example #: guix-git/doc/guix.texi:12356 #, no-wrap msgid "$ guix gc -R /gnu/store/@dots{}-coreutils-8.23\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12364 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12370 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12373 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:12376 #, 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:12386 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12391 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 it to profile disk usage of " "store items that are not even on disk, only available remotely." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12393 msgid "You can also specify several package names:" msgstr "" #. type: example #: guix-git/doc/guix.texi:12403 #, 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" "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" #. type: Plain text #: guix-git/doc/guix.texi:12409 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12415 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12417 msgid "The available options are:" msgstr "Доступные опции:" #. type: table #: guix-git/doc/guix.texi:12423 msgid "" "Use substitute information from @var{urls}. @xref{client-substitute-urls, " "the same option for @code{guix build}}." msgstr "" #. type: item #: guix-git/doc/guix.texi:12424 #, no-wrap msgid "--sort=@var{key}" msgstr "--sort=@var{key}" #. type: table #: guix-git/doc/guix.texi:12426 msgid "Sort lines according to @var{key}, one of the following options:" msgstr "" #. type: item #: guix-git/doc/guix.texi:12428 #, no-wrap msgid "self" msgstr "" #. type: table #: guix-git/doc/guix.texi:12430 msgid "the size of each item (the default);" msgstr "" #. type: table #: guix-git/doc/guix.texi:12432 msgid "the total size of the item's closure." msgstr "" #. type: item #: guix-git/doc/guix.texi:12434 #, no-wrap msgid "--map-file=@var{file}" msgstr "--map-file=@var{file}" #. type: table #: guix-git/doc/guix.texi:12436 msgid "Write a graphical map of disk usage in PNG format to @var{file}." msgstr "" #. type: table #: guix-git/doc/guix.texi:12438 msgid "For the example above, the map looks like this:" msgstr "" #. type: table #: guix-git/doc/guix.texi:12441 msgid "" "@image{images/coreutils-size-map,5in,, map of Coreutils disk usage produced " "by @command{guix size}}" msgstr "" #. type: table #: guix-git/doc/guix.texi:12446 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 "" #. type: table #: guix-git/doc/guix.texi:12450 msgid "Consider packages for @var{system}---e.g., @code{x86_64-linux}." msgstr "" #. type: section #: guix-git/doc/guix.texi:12461 #, no-wrap msgid "Invoking @command{guix graph}" msgstr "Вызов @command{guix graph}" #. type: cindex #: guix-git/doc/guix.texi:12463 #, no-wrap msgid "DAG" msgstr "DAG" #. type: command{#1} #: guix-git/doc/guix.texi:12464 #, no-wrap msgid "guix graph" msgstr "guix graph" #. type: Plain text #: guix-git/doc/guix.texi:12479 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 "" #. type: example #: guix-git/doc/guix.texi:12482 #, 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:12487 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 "" #. type: example #: guix-git/doc/guix.texi:12490 #, 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:12493 msgid "The output looks like this:" msgstr "Вывод должен быть таким:" #. type: Plain text #: guix-git/doc/guix.texi:12495 msgid "" "@image{images/coreutils-graph,2in,,Dependency graph of the GNU Coreutils}" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12497 msgid "Nice little graph, no?" msgstr "Неплохой граф, не так ли?" #. type: Plain text #: guix-git/doc/guix.texi:12500 msgid "" "You may find it more pleasant to navigate the graph interactively with " "@command{xdot} (from the @code{xdot} package):" msgstr "" #. type: example #: guix-git/doc/guix.texi:12503 #, no-wrap msgid "guix graph coreutils | xdot -\n" msgstr "guix graph coreutils | xdot -\n" #. type: Plain text #: guix-git/doc/guix.texi:12510 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 "" #. type: table #: guix-git/doc/guix.texi:12516 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 "" #. type: item #: guix-git/doc/guix.texi:12517 #, no-wrap msgid "reverse-package" msgstr "reverse-package" #. type: table #: guix-git/doc/guix.texi:12519 msgid "This shows the @emph{reverse} DAG of packages. For example:" msgstr "" #. type: example #: guix-git/doc/guix.texi:12522 #, 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:12527 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 "" #. type: table #: guix-git/doc/guix.texi:12532 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 "" #. type: item #: guix-git/doc/guix.texi:12533 #, no-wrap msgid "bag-emerged" msgstr "" #. type: table #: guix-git/doc/guix.texi:12535 msgid "This is the package DAG, @emph{including} implicit inputs." msgstr "" #. type: table #: guix-git/doc/guix.texi:12537 msgid "For instance, the following command:" msgstr "" #. type: example #: guix-git/doc/guix.texi:12540 #, 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:12543 msgid "...@: yields this bigger graph:" msgstr "" #. type: table #: guix-git/doc/guix.texi:12545 msgid "" "@image{images/coreutils-bag-graph,,5in,Detailed dependency graph of the GNU " "Coreutils}" msgstr "" #. type: table #: guix-git/doc/guix.texi:12548 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 "" #. type: table #: guix-git/doc/guix.texi:12552 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 "" #. type: item #: guix-git/doc/guix.texi:12553 #, no-wrap msgid "bag" msgstr "" #. type: table #: guix-git/doc/guix.texi:12556 msgid "" "Similar to @code{bag-emerged}, but this time including all the bootstrap " "dependencies." msgstr "" #. type: item #: guix-git/doc/guix.texi:12557 #, no-wrap msgid "bag-with-origins" msgstr "bag-with-origins" #. type: table #: guix-git/doc/guix.texi:12559 msgid "Similar to @code{bag}, but also showing origins and their dependencies." msgstr "" #. type: item #: guix-git/doc/guix.texi:12560 #, no-wrap msgid "reverse-bag" msgstr "" #. type: table #: guix-git/doc/guix.texi:12563 msgid "" "This shows the @emph{reverse} DAG of packages. Unlike @code{reverse-" "package}, it also takes implicit dependencies into account. For example:" msgstr "" #. type: example #: guix-git/doc/guix.texi:12566 #, 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:12573 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 "" #. type: table #: guix-git/doc/guix.texi:12579 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 "" #. type: table #: guix-git/doc/guix.texi:12582 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 "" #. type: example #: guix-git/doc/guix.texi:12585 #, 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: item #: guix-git/doc/guix.texi:12587 #, no-wrap msgid "module" msgstr "модуль" #. type: table #: guix-git/doc/guix.texi:12591 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 "" #. type: example #: guix-git/doc/guix.texi:12594 #, 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:12599 msgid "" "All the types above correspond to @emph{build-time dependencies}. The " "following graph type represents the @emph{run-time dependencies}:" msgstr "" #. type: table #: guix-git/doc/guix.texi:12604 msgid "" "This is the graph of @dfn{references} of a package output, as returned by " "@command{guix gc --references} (@pxref{Invoking guix gc})." msgstr "" #. type: table #: guix-git/doc/guix.texi:12607 msgid "" "If the given package output is not available in the store, @command{guix " "graph} attempts to obtain dependency information from substitutes." msgstr "" #. type: table #: guix-git/doc/guix.texi:12611 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:12614 #, 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:12616 #, no-wrap msgid "referrers" msgstr "" #. type: table #: guix-git/doc/guix.texi:12619 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 "" #. type: table #: guix-git/doc/guix.texi:12625 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 "" #. type: table #: guix-git/doc/guix.texi:12628 msgid "" "It can help determine what is preventing a store item from being garbage " "collected." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:12631 #, no-wrap msgid "shortest path, between packages" msgstr "кратчайший путь между пакетами" #. type: Plain text #: guix-git/doc/guix.texi:12638 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 "" #. type: example #: guix-git/doc/guix.texi:12652 #, 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:12660 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 "" #. type: example #: guix-git/doc/guix.texi:12663 #, fuzzy, no-wrap #| msgid "guix graph -t module guile | xdot -\n" msgid "guix graph -M 2 libreoffice | xdot -f fdp -\n" msgstr "guix graph -t module guile | xdot -\n" #. type: Plain text #: guix-git/doc/guix.texi:12667 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12669 msgid "The available options are the following:" msgstr "" #. type: table #: guix-git/doc/guix.texi:12675 msgid "" "Produce a graph output of @var{type}, where @var{type} must be one of the " "values listed above." msgstr "" #. type: item #: guix-git/doc/guix.texi:12676 #, no-wrap msgid "--list-types" msgstr "--list-types" #. type: table #: guix-git/doc/guix.texi:12678 msgid "List the supported graph types." msgstr "" #. type: item #: guix-git/doc/guix.texi:12679 #, no-wrap msgid "--backend=@var{backend}" msgstr "--backend=@var{backend}" #. type: itemx #: guix-git/doc/guix.texi:12680 #, no-wrap msgid "-b @var{backend}" msgstr "-b @var{backend}" #. type: table #: guix-git/doc/guix.texi:12682 msgid "Produce a graph using the selected @var{backend}." msgstr "" #. type: item #: guix-git/doc/guix.texi:12683 #, no-wrap msgid "--list-backends" msgstr "--list-backends" #. type: table #: guix-git/doc/guix.texi:12685 msgid "List the supported graph backends." msgstr "" #. type: table #: guix-git/doc/guix.texi:12687 msgid "Currently, the available backends are Graphviz and d3.js." msgstr "" #. type: item #: guix-git/doc/guix.texi:12688 #, no-wrap msgid "--path" msgstr "--paths" #. type: table #: guix-git/doc/guix.texi:12693 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 "" #. type: example #: guix-git/doc/guix.texi:12700 #, 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:12710 #, 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:12715 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:12718 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:12734 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 "" #. type: example #: guix-git/doc/guix.texi:12737 #, 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:12740 msgid "So many possibilities, so much fun!" msgstr "" #. type: section #: guix-git/doc/guix.texi:12742 #, no-wrap msgid "Invoking @command{guix publish}" msgstr "Вызов @command{guix publish}" #. type: command{#1} #: guix-git/doc/guix.texi:12744 #, no-wrap msgid "guix publish" msgstr "guix publish" #. type: Plain text #: guix-git/doc/guix.texi:12748 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12754 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12760 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12764 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12769 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 "" #. type: example #: guix-git/doc/guix.texi:12774 #, no-wrap msgid "guix publish @var{options}@dots{}\n" msgstr "guix publish @var{options}@dots{}\n" #. type: Plain text #: guix-git/doc/guix.texi:12778 msgid "" "Running @command{guix publish} without any additional arguments will spawn " "an HTTP server on port 8080:" msgstr "" #. type: example #: guix-git/doc/guix.texi:12781 #, no-wrap msgid "guix publish\n" msgstr "guix publish\n" #. type: Plain text #: guix-git/doc/guix.texi:12785 msgid "" "Once a publishing server has been authorized, the daemon may download " "substitutes from it. @xref{Getting Substitutes from Other Servers}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12793 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12800 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 "" #. type: example #: guix-git/doc/guix.texi:12803 #, 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:12807 msgid "" "Obviously, these URLs only work for files that are in the store; in other " "cases, they return 404 (``Not Found'')." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:12808 #, no-wrap msgid "build logs, publication" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12810 msgid "Build logs are available from @code{/log} URLs like:" msgstr "" #. type: example #: guix-git/doc/guix.texi:12813 #, no-wrap msgid "http://example.org/log/gwspk@dots{}-guile-2.2.3\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:12823 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 "" #. type: item #: guix-git/doc/guix.texi:12827 #, no-wrap msgid "--port=@var{port}" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:12828 #, no-wrap msgid "-p @var{port}" msgstr "" #. type: table #: guix-git/doc/guix.texi:12830 msgid "Listen for HTTP requests on @var{port}." msgstr "" #. type: item #: guix-git/doc/guix.texi:12831 #, no-wrap msgid "--listen=@var{host}" msgstr "" #. type: table #: guix-git/doc/guix.texi:12834 msgid "" "Listen on the network interface for @var{host}. The default is to accept " "connections from any interface." msgstr "" #. type: table #: guix-git/doc/guix.texi:12839 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 "" #. type: item #: guix-git/doc/guix.texi:12840 #, no-wrap msgid "--compression[=@var{method}[:@var{level}]]" msgstr "--log-compression=@var{type}" #. type: itemx #: guix-git/doc/guix.texi:12841 #, no-wrap msgid "-C [@var{method}[:@var{level}]]" msgstr "" #. type: table #: guix-git/doc/guix.texi:12845 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 "" #. type: table #: guix-git/doc/guix.texi:12849 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 "" #. type: table #: guix-git/doc/guix.texi:12856 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 "" #. type: table #: guix-git/doc/guix.texi:12860 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 "" #. type: table #: guix-git/doc/guix.texi:12869 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 "" #. type: table #: guix-git/doc/guix.texi:12874 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:12875 #, no-wrap msgid "--cache=@var{directory}" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:12876 #, no-wrap msgid "-c @var{directory}" msgstr "" #. type: table #: guix-git/doc/guix.texi:12879 msgid "" "Cache archives and meta-data (@code{.narinfo} URLs) to @var{directory} and " "only serve archives that are in cache." msgstr "" #. type: table #: guix-git/doc/guix.texi:12887 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 "" #. type: table #: guix-git/doc/guix.texi:12895 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 "" #. type: table #: guix-git/doc/guix.texi:12902 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 "" #. type: table #: guix-git/doc/guix.texi:12906 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 "" #. type: table #: guix-git/doc/guix.texi:12909 msgid "" "When @option{--ttl} is used, cached entries are automatically deleted when " "they have expired." msgstr "" #. type: item #: guix-git/doc/guix.texi:12910 #, no-wrap msgid "--workers=@var{N}" msgstr "" #. type: table #: guix-git/doc/guix.texi:12913 msgid "" "When @option{--cache} is used, request the allocation of @var{N} worker " "threads to ``bake'' archives." msgstr "" #. type: item #: guix-git/doc/guix.texi:12914 #, no-wrap msgid "--ttl=@var{ttl}" msgstr "" #. type: table #: guix-git/doc/guix.texi:12918 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 "" #. type: table #: guix-git/doc/guix.texi:12923 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 "" #. type: table #: guix-git/doc/guix.texi:12927 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 "" #. type: item #: guix-git/doc/guix.texi:12928 #, no-wrap msgid "--negative-ttl=@var{ttl}" msgstr "--manifest=@var{file}" #. type: table #: guix-git/doc/guix.texi:12933 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 "" #. type: table #: guix-git/doc/guix.texi:12937 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:12938 #, no-wrap msgid "--cache-bypass-threshold=@var{size}" msgstr "--search-paths[=@var{kind}]" #. type: table #: guix-git/doc/guix.texi:12943 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 "" #. type: table #: guix-git/doc/guix.texi:12948 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 "" #. type: table #: guix-git/doc/guix.texi:12952 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:12953 #, no-wrap msgid "--nar-path=@var{path}" msgstr "" #. type: table #: guix-git/doc/guix.texi:12956 msgid "" "Use @var{path} as the prefix for the URLs of ``nar'' files (@pxref{Invoking " "guix archive, normalized archives})." msgstr "" #. type: table #: guix-git/doc/guix.texi:12960 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 "" #. type: item #: guix-git/doc/guix.texi:12961 #, no-wrap msgid "--public-key=@var{file}" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:12962 #, no-wrap msgid "--private-key=@var{file}" msgstr "" #. type: table #: guix-git/doc/guix.texi:12965 guix-git/doc/guix.texi:28081 #: guix-git/doc/guix.texi:28118 msgid "" "Use the specific @var{file}s as the public/private key pair used to sign the " "store items being published." msgstr "" #. type: table #: guix-git/doc/guix.texi:12972 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 "" #. type: item #: guix-git/doc/guix.texi:12973 #, no-wrap msgid "--repl[=@var{port}]" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:12974 #, no-wrap msgid "-r [@var{port}]" msgstr "" #. type: table #: guix-git/doc/guix.texi:12978 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12984 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 "" #. type: Plain text #: guix-git/doc/guix.texi:12987 msgid "" "If you are instead running Guix on a ``foreign distro'', follow these " "instructions:" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:12991 msgid "If your host distro uses the systemd init system:" msgstr "" #. type: example #: guix-git/doc/guix.texi:12996 #, 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 "" #. type: example #: guix-git/doc/guix.texi:13004 #, no-wrap msgid "" "# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf /etc/init/\n" "# start guix-publish\n" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:13008 msgid "Otherwise, proceed similarly with your distro's init system." msgstr "" #. type: section #: guix-git/doc/guix.texi:13011 #, no-wrap msgid "Invoking @command{guix challenge}" msgstr "Вызов @command{guix challenge}" #. type: cindex #: guix-git/doc/guix.texi:13014 #, no-wrap msgid "verifiable builds" msgstr "" #. type: command{#1} #: guix-git/doc/guix.texi:13015 #, no-wrap msgid "guix challenge" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13016 #, no-wrap msgid "challenge" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13021 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13029 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13038 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13040 msgid "The command output looks like this:" msgstr "" #. type: smallexample #: guix-git/doc/guix.texi:13052 #, no-wrap msgid "" "$ guix challenge --substitute-urls=\"https://@value{SUBSTITUTE-SERVER-1} https://guix.example.org\"\n" "updating list of substitutes from 'https://@value{SUBSTITUTE-SERVER-1}'... 100.0%\n" "updating list of 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 "" #. type: smallexample #: guix-git/doc/guix.texi:13059 #, 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 "" #. type: smallexample #: guix-git/doc/guix.texi:13066 #, 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 "" #. type: smallexample #: guix-git/doc/guix.texi:13068 #, no-wrap msgid "" "@dots{}\n" "\n" msgstr "" #. type: smallexample #: guix-git/doc/guix.texi:13073 #, no-wrap msgid "" "6,406 store items were analyzed:\n" " - 4,749 (74.1%) were identical\n" " - 525 (8.2%) differed\n" " - 1,132 (17.7%) were inconclusive\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13081 msgid "" "In this example, @command{guix challenge} first scans the store to determine " "the set of locally-built derivations---as opposed to store items that were " "downloaded from a substitute server---and then queries all the substitute " "servers. It then reports those store items for which the servers obtained a " "result different from the local build." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13082 #, no-wrap msgid "non-determinism, in package builds" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13093 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13096 msgid "" "To find out what is wrong with this Git binary, the easiest approach is to " "run:" msgstr "" #. type: example #: guix-git/doc/guix.texi:13101 #, no-wrap msgid "" "guix challenge git \\\n" " --diff=diffoscope \\\n" " --substitute-urls=\"https://@value{SUBSTITUTE-SERVER-1} https://guix.example.org\"\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13105 msgid "" "This automatically invokes @command{diffoscope}, which displays detailed " "information about files that differ." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13108 msgid "" "Alternatively, we can do something along these lines (@pxref{Invoking guix " "archive}):" msgstr "" #. type: example #: guix-git/doc/guix.texi:13113 #, 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 -O - \\\n" " https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-emacs-24.5 \\\n" " | bunzip2 | guix archive -x /tmp/emacs\n" #. type: Plain text #: guix-git/doc/guix.texi:13122 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13130 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13134 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 "" #. type: example #: guix-git/doc/guix.texi:13137 #, no-wrap msgid "$ guix challenge @var{package}\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13142 msgid "" "where @var{package} is a package specification such as @code{guile@@2.0} or " "@code{glibc:debug}." msgstr "" #. type: example #: guix-git/doc/guix.texi:13147 #, no-wrap msgid "guix challenge @var{options} [@var{packages}@dots{}]\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13154 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13156 msgid "The one option that matters is:" msgstr "" #. type: table #: guix-git/doc/guix.texi:13162 msgid "" "Consider @var{urls} the whitespace-separated list of substitute source URLs " "to compare to." msgstr "" #. type: item #: guix-git/doc/guix.texi:13163 #, no-wrap msgid "--diff=@var{mode}" msgstr "--load=@var{file}" #. type: table #: guix-git/doc/guix.texi:13165 msgid "Upon mismatches, show differences according to @var{mode}, one of:" msgstr "" #. type: item #: guix-git/doc/guix.texi:13167 #, no-wrap msgid "@code{simple} (the default)" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:13169 msgid "Show the list of files that differ." msgstr "Вывести список живых файлов и директорий склада." #. type: code{#1} #: guix-git/doc/guix.texi:13170 #, no-wrap msgid "diffoscope" msgstr "" #. type: var{#1} #: guix-git/doc/guix.texi:13171 #, no-wrap msgid "command" msgstr "" #. type: table #: guix-git/doc/guix.texi:13174 msgid "" "Invoke @uref{https://diffoscope.org/, Diffoscope}, passing it two " "directories whose contents do not match." msgstr "" #. type: table #: guix-git/doc/guix.texi:13177 msgid "" "When @var{command} is an absolute file name, run @var{command} instead of " "Diffoscope." msgstr "" #. type: item #: guix-git/doc/guix.texi:13178 guix-git/doc/guix.texi:16543 #: guix-git/doc/guix.texi:18635 #, no-wrap msgid "none" msgstr "" #. type: table #: guix-git/doc/guix.texi:13180 msgid "Do not show further details about the differences." msgstr "" #. type: table #: guix-git/doc/guix.texi:13185 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 "" #. type: item #: guix-git/doc/guix.texi:13186 #, no-wrap msgid "--verbose" msgstr "--verbose" #. type: itemx #: guix-git/doc/guix.texi:13187 #, no-wrap msgid "-v" msgstr "" #. type: table #: guix-git/doc/guix.texi:13190 msgid "" "Show details about matches (identical contents) in addition to information " "about mismatches." msgstr "" #. type: section #: guix-git/doc/guix.texi:13194 #, no-wrap msgid "Invoking @command{guix copy}" msgstr "Вызов @command{guix copy}" #. type: cindex #: guix-git/doc/guix.texi:13196 #, no-wrap msgid "copy, of store items, over SSH" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13197 #, no-wrap msgid "SSH, copy of store items" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13198 #, no-wrap msgid "sharing store items across machines" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13199 #, no-wrap msgid "transferring store items across machines" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13206 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 "" #. type: example #: guix-git/doc/guix.texi:13210 #, no-wrap msgid "" "guix copy --to=@var{user}@@@var{host} \\\n" " coreutils $(readlink -f ~/.guix-profile)\n" msgstr "guix graph -t references `readlink -f ~/.guix-profile`\n" #. type: Plain text #: guix-git/doc/guix.texi:13214 msgid "" "If some of the items to be copied are already present on @var{host}, they " "are not actually sent." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13217 msgid "" "The command below retrieves @code{libreoffice} and @code{gimp} from " "@var{host}, assuming they are available there:" msgstr "" #. type: example #: guix-git/doc/guix.texi:13220 #, no-wrap msgid "guix copy --from=@var{host} libreoffice gimp\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13225 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13231 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 "" #. type: example #: guix-git/doc/guix.texi:13236 #, no-wrap msgid "guix copy [--to=@var{spec}|--from=@var{spec}] @var{items}@dots{}\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13239 msgid "You must always specify one of the following options:" msgstr "" #. type: item #: guix-git/doc/guix.texi:13241 #, no-wrap msgid "--to=@var{spec}" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:13242 #, no-wrap msgid "--from=@var{spec}" msgstr "" #. type: table #: guix-git/doc/guix.texi:13246 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13250 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13254 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 "" #. type: section #: guix-git/doc/guix.texi:13257 #, no-wrap msgid "Invoking @command{guix container}" msgstr "Вызов @command{guix container}" #. type: command{#1} #: guix-git/doc/guix.texi:13259 #, no-wrap msgid "guix container" msgstr "" #. type: quotation #: guix-git/doc/guix.texi:13263 msgid "" "As of version @value{VERSION}, this tool is experimental. The interface is " "subject to radical change in the future." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13270 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 environment} (@pxref{Invoking guix " "environment}) and @command{guix system container} (@pxref{Invoking guix " "system}) commands." msgstr "" #. type: example #: guix-git/doc/guix.texi:13275 #, no-wrap msgid "guix container @var{action} @var{options}@dots{}\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13279 msgid "" "@var{action} specifies the operation to perform with a container, and " "@var{options} specifies the context-specific arguments for the action." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13281 msgid "The following actions are available:" msgstr "" #. type: item #: guix-git/doc/guix.texi:13283 #, no-wrap msgid "exec" msgstr "" #. type: table #: guix-git/doc/guix.texi:13285 msgid "Execute a command within the context of a running container." msgstr "" #. type: table #: guix-git/doc/guix.texi:13287 msgid "The syntax is:" msgstr "" #. type: example #: guix-git/doc/guix.texi:13290 #, no-wrap msgid "guix container exec @var{pid} @var{program} @var{arguments}@dots{}\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:13296 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 "" #. type: table #: guix-git/doc/guix.texi:13300 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 "" #. type: example #: guix-git/doc/guix.texi:13303 #, no-wrap msgid "guix container exec 9001 /run/current-system/profile/bin/bash --login\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:13307 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 "" #. type: section #: guix-git/doc/guix.texi:13311 #, no-wrap msgid "Invoking @command{guix weather}" msgstr "Вызов @command{guix weather}" #. type: Plain text #: guix-git/doc/guix.texi:13320 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})." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13321 #, no-wrap msgid "statistics, for substitutes" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13322 #, no-wrap msgid "availability of substitutes" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13323 #, no-wrap msgid "substitute availability" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13324 #, no-wrap msgid "weather, substitute availability" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13326 msgid "Here's a sample run:" msgstr "" #. type: example #: guix-git/doc/guix.texi:13338 #, 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 list of 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 "" #. type: example #: guix-git/doc/guix.texi:13348 #, 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 "" #. type: cindex #: guix-git/doc/guix.texi:13350 #, no-wrap msgid "continuous integration, statistics" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13361 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13367 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 "" #. type: example #: guix-git/doc/guix.texi:13372 #, no-wrap msgid "guix weather @var{options}@dots{} [@var{packages}@dots{}]\n" msgstr "guix environment @var{options} @var{package}@dots{}\n" #. type: Plain text #: guix-git/doc/guix.texi:13380 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13382 msgid "The available options are listed below." msgstr "Доступные опции резюмированы ниже." #. type: table #: guix-git/doc/guix.texi:13388 msgid "" "@var{urls} is the space-separated list of substitute server URLs to query. " "When this option is omitted, the default set of substitute servers is " "queried." msgstr "" #. type: table #: guix-git/doc/guix.texi:13394 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 "" #. type: table #: guix-git/doc/guix.texi:13400 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 "" #. type: table #: guix-git/doc/guix.texi:13403 msgid "" "This option can be repeated several times, in which case the manifests are " "concatenated." msgstr "" "Создать окружение для пакетов, содержащихся в объекте манифеста, " "возвращаемого кодом Scheme в файле @var{file}." #. type: item #: guix-git/doc/guix.texi:13404 #, no-wrap msgid "--coverage[=@var{count}]" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:13405 #, no-wrap msgid "-c [@var{count}]" msgstr "" #. type: table #: guix-git/doc/guix.texi:13411 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 "" #. type: example #: guix-git/doc/guix.texi:13425 #, 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 "" #. type: table #: guix-git/doc/guix.texi:13431 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 "" #. type: table #: guix-git/doc/guix.texi:13435 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 "" #. type: item #: guix-git/doc/guix.texi:13436 #, no-wrap msgid "--display-missing" msgstr "--missing" #. type: table #: guix-git/doc/guix.texi:13438 msgid "Display the list of store items for which substitutes are missing." msgstr "" #. type: section #: guix-git/doc/guix.texi:13441 #, no-wrap msgid "Invoking @command{guix processes}" msgstr "Вызов @command{guix processes}" #. type: Plain text #: guix-git/doc/guix.texi:13449 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 "" #. type: example #: guix-git/doc/guix.texi:13455 #, no-wrap msgid "" "$ sudo guix processes\n" "SessionPID: 19002\n" "ClientPID: 19090\n" "ClientCommand: guix environment --ad-hoc python\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:13459 #, no-wrap msgid "" "SessionPID: 19402\n" "ClientPID: 19367\n" "ClientCommand: guix publish -u guix-publish -p 3000 -C 9 @dots{}\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:13472 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13479 msgid "" "In this example we see that @command{guix-daemon} has three clients: " "@command{guix environment}, @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 "" #. type: Plain text #: guix-git/doc/guix.texi:13486 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13491 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 "" #. type: example #: guix-git/doc/guix.texi:13497 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13500 msgid "Additional options are listed below." msgstr "Доступные опции резюмированы ниже." #. type: table #: guix-git/doc/guix.texi:13510 msgid "" "The default option. It outputs a set of Session recutils records that " "include each @code{ChildProcess} as a field." msgstr "" #. type: item #: guix-git/doc/guix.texi:13511 #, no-wrap msgid "normalized" msgstr "" #. type: table #: guix-git/doc/guix.texi:13518 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 "" #. type: example #: guix-git/doc/guix.texi:13528 #, 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 "" #. type: example #: guix-git/doc/guix.texi:13531 #, no-wrap msgid "" "PID: 4554\n" "Session_PID: 4278\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:13534 #, no-wrap msgid "" "PID: 4646\n" "Session_PID: 4278\n" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13541 #, no-wrap msgid "system configuration" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13547 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13557 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13562 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: Plain text #: guix-git/doc/guix.texi:13591 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}). A simple setup, with the default " "system services, the default Linux-Libre kernel, initial RAM disk, and boot " "loader looks like this:" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:13592 guix-git/doc/guix.texi:34419 #, no-wrap msgid "operating-system" msgstr "" #. type: include #: guix-git/doc/guix.texi:13594 #, no-wrap msgid "os-config-bare-bones.texi" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13601 msgid "" "This example should be self-describing. 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." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13606 msgid "" "Below we discuss the effect of some of the most important fields " "(@pxref{operating-system Reference}, for details about all the available " "fields), and how to @dfn{instantiate} the operating system using " "@command{guix system}." msgstr "" #. type: unnumberedsubsec #: guix-git/doc/guix.texi:13607 #, no-wrap msgid "Bootloader" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13609 #, no-wrap msgid "legacy boot, on Intel machines" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13610 #, no-wrap msgid "BIOS boot, on Intel machines" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13611 #, no-wrap msgid "UEFI boot" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13612 #, no-wrap msgid "EFI boot" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13618 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 "" #. type: lisp #: guix-git/doc/guix.texi:13623 #, no-wrap msgid "" "(bootloader-configuration\n" " (bootloader grub-efi-bootloader)\n" " (targets '(\"/boot/efi\")))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13627 msgid "" "@xref{Bootloader Configuration}, for more information on the available " "configuration options." msgstr "" #. type: unnumberedsubsec #: guix-git/doc/guix.texi:13628 #, no-wrap msgid "Globally-Visible Packages" msgstr "" #. type: vindex #: guix-git/doc/guix.texi:13630 #, no-wrap msgid "%base-packages" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13643 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 "" #. type: lisp #: guix-git/doc/guix.texi:13647 #, no-wrap msgid "" "(use-modules (gnu packages))\n" "(use-modules (gnu packages dns))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:13652 #, no-wrap msgid "" "(operating-system\n" " ;; ...\n" " (packages (cons (list isc-bind \"utils\")\n" " %base-packages)))\n" msgstr "" #. type: findex #: guix-git/doc/guix.texi:13654 #, no-wrap msgid "specification->package" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13663 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 "" #. type: lisp #: guix-git/doc/guix.texi:13666 #, no-wrap msgid "" "(use-modules (gnu packages))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:13672 #, no-wrap msgid "" "(operating-system\n" " ;; ...\n" " (packages (append (map specification->package\n" " '(\"tcpdump\" \"htop\" \"gnupg@@2.0\"))\n" " %base-packages)))\n" msgstr "" #. type: unnumberedsubsec #: guix-git/doc/guix.texi:13674 #, no-wrap msgid "System Services" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13676 guix-git/doc/guix.texi:33179 #: guix-git/doc/guix.texi:34648 #, no-wrap msgid "services" msgstr "" #. type: vindex #: guix-git/doc/guix.texi:13677 #, no-wrap msgid "%base-services" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13687 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 "" #. type: cindex #: guix-git/doc/guix.texi:13688 #, no-wrap msgid "customization, of services" msgstr "" #. type: findex #: guix-git/doc/guix.texi:13689 #, no-wrap msgid "modify-services" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13693 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 "" #. type: anchor{#1} #: guix-git/doc/guix.texi:13699 msgid "auto-login to TTY" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13699 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 "" #. type: lisp #: guix-git/doc/guix.texi:13716 #, 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" " ;; Automatially log in as \"guest\".\n" " (auto-login \"guest\")))))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:13720 #, no-wrap msgid "" "(operating-system\n" " ;; @dots{}\n" " (services %my-services))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13733 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13740 msgid "" "The configuration for a typical ``desktop'' usage, with an encrypted 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 "" #. type: include #: guix-git/doc/guix.texi:13742 #, no-wrap msgid "os-config-desktop.texi" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13747 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:13749 #, no-wrap msgid "os-config-lightweight-desktop.texi" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13755 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13759 msgid "" "@xref{Desktop Services}, for the exact list of services provided by " "@code{%desktop-services}. @xref{X.509 Certificates}, for background " "information about the @code{nss-certs} package that is used here." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13766 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 "" #. type: lisp #: guix-git/doc/guix.texi:13771 #, no-wrap msgid "" "(remove (lambda (service)\n" " (eq? (service-kind service) avahi-service-type))\n" " %desktop-services)\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13774 msgid "Alternatively, the @code{modify-services} macro can be used:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:13778 #, no-wrap msgid "" "(modify-services %desktop-services\n" " (delete avahi-service-type))\n" msgstr "" #. type: unnumberedsubsec #: guix-git/doc/guix.texi:13781 #, no-wrap msgid "Instantiating the System" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13788 msgid "" "Assuming the @code{operating-system} declaration is stored in the @file{my-" "system-config.scm} file, the @command{guix system reconfigure my-system-" "config.scm} command instantiates that configuration, and makes it the " "default GRUB boot entry (@pxref{Invoking guix system})." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13796 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 "" #. type: cindex #: guix-git/doc/guix.texi:13797 #, no-wrap msgid "roll-back, of the operating system" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13807 msgid "" "Speaking of roll-back, each time you run @command{guix system reconfigure}, " "a new @dfn{generation} of the system is created---without modifying or " "deleting previous generations. Old system generations get an entry in the " "bootloader boot menu, allowing you to boot them in case something went wrong " "with the latest generation. Reassuring, no? The @command{guix system list-" "generations} command lists the system generations available on disk. It is " "also possible to roll back the system via the commands @command{guix system " "roll-back} and @command{guix system switch-generation}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13813 msgid "" "Although the @command{guix system reconfigure} command will not modify " "previous generations, you must take care when the current generation is not " "the latest (e.g., after invoking @command{guix system roll-back}), since the " "operation might overwrite a later generation (@pxref{Invoking guix system})." msgstr "" #. type: unnumberedsubsec #: guix-git/doc/guix.texi:13814 #, no-wrap msgid "The Programming Interface" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13819 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 "" #. type: deffn #: guix-git/doc/guix.texi:13820 #, no-wrap msgid "{Monadic Procedure} operating-system-derivation os" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:13823 msgid "" "Return a derivation that builds @var{os}, an @code{operating-system} object " "(@pxref{Derivations})." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:13827 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 "" #. type: Plain text #: guix-git/doc/guix.texi:13832 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 "" #. type: section #: guix-git/doc/guix.texi:13835 #, no-wrap msgid "@code{operating-system} Reference" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:13840 msgid "" "This section summarizes all the options available in @code{operating-system} " "declarations (@pxref{Using the Configuration System})." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:13841 #, no-wrap msgid "{Data Type} operating-system" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:13845 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 "" #. type: item #: guix-git/doc/guix.texi:13847 #, no-wrap msgid "@code{kernel} (default: @code{linux-libre})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:13852 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:13853 guix-git/doc/guix.texi:29626 #, no-wrap msgid "hurd" msgstr "" #. type: item #: guix-git/doc/guix.texi:13854 #, no-wrap msgid "@code{hurd} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:13859 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 "" #. type: quotation #: guix-git/doc/guix.texi:13862 msgid "This feature is experimental and only supported for disk images." msgstr "" #. type: item #: guix-git/doc/guix.texi:13864 #, no-wrap msgid "@code{kernel-loadable-modules} (default: '())" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:13867 msgid "" "A list of objects (usually packages) to collect loadable kernel modules " "from--e.g. @code{(list ddcci-driver-linux)}." msgstr "" #. type: item #: guix-git/doc/guix.texi:13868 #, no-wrap msgid "@code{kernel-arguments} (default: @code{%default-kernel-arguments})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:13871 msgid "" "List of strings or gexps representing additional arguments to pass on the " "command-line of the kernel---e.g., @code{(\"console=ttyS0\")}." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:13872 guix-git/doc/guix.texi:33411 #: guix-git/doc/guix.texi:33430 #, no-wrap msgid "bootloader" msgstr "" #. type: table #: guix-git/doc/guix.texi:13874 msgid "" "The system bootloader configuration object. @xref{Bootloader Configuration}." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:13875 guix-git/doc/guix.texi:33604 #, no-wrap msgid "label" msgstr "" #. type: table #: guix-git/doc/guix.texi:13878 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:13879 guix-git/doc/guix.texi:15499 #: guix-git/doc/guix.texi:18459 guix-git/doc/guix.texi:33534 #, no-wrap msgid "@code{keyboard-layout} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:13884 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{} record. @xref{Keyboard Layout}, " "for more information." msgstr "" #. type: table #: guix-git/doc/guix.texi:13889 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 "" #. type: quotation #: guix-git/doc/guix.texi:13896 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 "" #. type: item #: guix-git/doc/guix.texi:13898 #, no-wrap msgid "@code{initrd-modules} (default: @code{%base-initrd-modules})" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13899 guix-git/doc/guix.texi:33216 #: guix-git/doc/guix.texi:33339 #, no-wrap msgid "initrd" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13900 guix-git/doc/guix.texi:33217 #: guix-git/doc/guix.texi:33340 #, no-wrap msgid "initial RAM disk" msgstr "" #. type: table #: guix-git/doc/guix.texi:13903 msgid "" "The list of Linux kernel modules that need to be available in the initial " "RAM disk. @xref{Initial RAM Disk}." msgstr "" #. type: item #: guix-git/doc/guix.texi:13904 #, no-wrap msgid "@code{initrd} (default: @code{base-initrd})" msgstr "" #. type: table #: guix-git/doc/guix.texi:13908 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 "" #. type: item #: guix-git/doc/guix.texi:13909 #, no-wrap msgid "@code{firmware} (default: @code{%base-firmware})" msgstr "@code{port} (default: @code{22})" #. type: cindex #: guix-git/doc/guix.texi:13910 #, no-wrap msgid "firmware" msgstr "" #. type: table #: guix-git/doc/guix.texi:13912 msgid "List of firmware packages loadable by the operating system kernel." msgstr "" #. type: table #: guix-git/doc/guix.texi:13917 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:13918 guix-git/doc/guix.texi:34438 #, no-wrap msgid "host-name" msgstr "" #. type: table #: guix-git/doc/guix.texi:13920 msgid "The host name." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:13921 #, no-wrap msgid "hosts-file" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13922 #, no-wrap msgid "hosts file" msgstr "" #. type: table #: guix-git/doc/guix.texi:13927 msgid "" "A file-like object (@pxref{G-Expressions, file-like objects}) for use as " "@file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C Library Reference " "Manual}). The default is a file with entries for @code{localhost} and " "@var{host-name}." msgstr "" #. type: item #: guix-git/doc/guix.texi:13928 #, no-wrap msgid "@code{mapped-devices} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:13930 msgid "A list of mapped devices. @xref{Mapped Devices}." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:13931 #, no-wrap msgid "file-systems" msgstr "" #. type: table #: guix-git/doc/guix.texi:13933 msgid "A list of file systems. @xref{File Systems}." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13934 #, no-wrap msgid "swap devices" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:13935 #, no-wrap msgid "swap space" msgstr "место на диске" #. type: item #: guix-git/doc/guix.texi:13936 #, no-wrap msgid "@code{swap-devices} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:13941 msgid "" "A list of UUIDs, file system labels, or strings identifying devices or files " "to be used for ``swap space'' (@pxref{Memory Concepts,,, libc, The GNU C " "Library Reference Manual}). Here are some examples:" msgstr "" #. type: item #: guix-git/doc/guix.texi:13943 #, no-wrap msgid "(list (uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\"))" msgstr "" #. type: table #: guix-git/doc/guix.texi:13947 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 "" #. type: item #: guix-git/doc/guix.texi:13948 #, no-wrap msgid "(list (file-system-label \"swap\"))" msgstr "" #. type: table #: guix-git/doc/guix.texi:13952 msgid "" "Use the partition with label @code{swap}. Again, the @command{swaplabel} " "command allows you to view and change the label of a Linux swap partition." msgstr "" #. type: item #: guix-git/doc/guix.texi:13953 #, no-wrap msgid "(list \"/swapfile\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:13955 msgid "Use the file @file{/swapfile} as swap space." msgstr "" #. type: item #: guix-git/doc/guix.texi:13956 #, no-wrap msgid "(list \"/dev/sda3\" \"/dev/sdb2\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:13960 msgid "" "Use the @file{/dev/sda3} and @file{/dev/sdb2} partitions as swap space. We " "recommend referring to swap devices by UUIDs or labels as shown above " "instead." msgstr "" #. type: table #: guix-git/doc/guix.texi:13966 msgid "" "It is possible to specify a swap file in a file system on a mapped device " "(under @file{/dev/mapper}), provided that the necessary device mapping and " "file system are also specified. @xref{Mapped Devices} and @ref{File " "Systems}." msgstr "" #. type: item #: guix-git/doc/guix.texi:13967 #, no-wrap msgid "@code{users} (default: @code{%base-user-accounts})" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:13968 #, no-wrap msgid "@code{groups} (default: @code{%base-groups})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:13970 msgid "List of user accounts and groups. @xref{User Accounts}." msgstr "" #. type: table #: guix-git/doc/guix.texi:13973 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 "" #. type: item #: guix-git/doc/guix.texi:13974 #, no-wrap msgid "@code{skeletons} (default: @code{(default-skeletons)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:13978 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 "" #. type: table #: guix-git/doc/guix.texi:13980 msgid "For instance, a valid value may look like this:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:13986 #, 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 "" #. type: item #: guix-git/doc/guix.texi:13988 #, no-wrap msgid "@code{issue} (default: @code{%default-issue})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:13991 msgid "" "A string denoting the contents of the @file{/etc/issue} file, which is " "displayed when users log in on a text console." msgstr "" #. type: item #: guix-git/doc/guix.texi:13992 #, no-wrap msgid "@code{packages} (default: @code{%base-packages})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:13996 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 "" #. type: lisp #: guix-git/doc/guix.texi:14001 #, 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 "" #. type: table #: guix-git/doc/guix.texi:14006 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:14007 #, no-wrap msgid "timezone" msgstr "" #. type: table #: guix-git/doc/guix.texi:14009 msgid "A timezone identifying string---e.g., @code{\"Europe/Paris\"}." msgstr "" #. type: table #: guix-git/doc/guix.texi:14013 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 "" #. type: item #: guix-git/doc/guix.texi:14014 guix-git/doc/guix.texi:20064 #, no-wrap msgid "@code{locale} (default: @code{\"en_US.utf8\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14017 msgid "" "The name of the default locale (@pxref{Locale Names,,, libc, The GNU C " "Library Reference Manual}). @xref{Locales}, for more information." msgstr "" #. type: item #: guix-git/doc/guix.texi:14018 #, no-wrap msgid "@code{locale-definitions} (default: @code{%default-locale-definitions})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:14021 msgid "" "The list of locale definitions to be compiled and that may be used at run " "time. @xref{Locales}." msgstr "" #. type: item #: guix-git/doc/guix.texi:14022 #, no-wrap msgid "@code{locale-libcs} (default: @code{(list @var{glibc})})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14026 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 "" #. type: item #: guix-git/doc/guix.texi:14027 #, no-wrap msgid "@code{name-service-switch} (default: @code{%default-nss})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:14031 msgid "" "Configuration of the libc name service switch (NSS)---a @code{} object. @xref{Name Service Switch}, for details." msgstr "" #. type: item #: guix-git/doc/guix.texi:14032 #, no-wrap msgid "@code{services} (default: @code{%base-services})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:14034 msgid "A list of service objects denoting system services. @xref{Services}." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14035 #, no-wrap msgid "essential services" msgstr "" #. type: item #: guix-git/doc/guix.texi:14036 #, no-wrap msgid "@code{essential-services} (default: ...)" msgstr "" #. type: table #: guix-git/doc/guix.texi:14041 msgid "" "The list of ``essential services''---i.e., things like instances of " "@code{system-service-type} and @code{host-name-service-type} (@pxref{Service " "Reference}), which are derived from the operating system definition itself. " "As a user you should @emph{never} need to touch this field." msgstr "" #. type: item #: guix-git/doc/guix.texi:14042 #, no-wrap msgid "@code{pam-services} (default: @code{(base-pam-services)})" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14043 #, no-wrap msgid "PAM" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14044 #, no-wrap msgid "pluggable authentication modules" msgstr "" #. type: table #: guix-git/doc/guix.texi:14047 msgid "Linux @dfn{pluggable authentication module} (PAM) services." msgstr "" #. type: item #: guix-git/doc/guix.texi:14048 #, no-wrap msgid "@code{setuid-programs} (default: @code{%setuid-programs})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:14051 msgid "" "List of @code{}. @xref{Setuid Programs}, for more " "information." msgstr "" #. type: item #: guix-git/doc/guix.texi:14052 #, no-wrap msgid "@code{sudoers-file} (default: @code{%sudoers-specification})" msgstr "@code{speed} (default: @code{1.0})" #. type: cindex #: guix-git/doc/guix.texi:14053 #, no-wrap msgid "sudoers file" msgstr "" #. type: table #: guix-git/doc/guix.texi:14056 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 "" #. type: table #: guix-git/doc/guix.texi:14061 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 "" #. type: deffn #: guix-git/doc/guix.texi:14064 #, no-wrap msgid "{Scheme Syntax} this-operating-system" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:14067 msgid "" "When used in the @emph{lexical scope} of an operating system field " "definition, this identifier resolves to the operating system being defined." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:14070 msgid "" "The example below shows how to refer to the operating system being defined " "in the definition of the @code{label} field:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14073 guix-git/doc/guix.texi:17680 #, no-wrap msgid "" "(use-modules (gnu) (guix))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14078 #, no-wrap msgid "" "(operating-system\n" " ;; ...\n" " (label (package-full-name\n" " (operating-system-kernel this-operating-system))))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:14082 msgid "" "It is an error to refer to @code{this-operating-system} outside an operating " "system definition." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14093 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 "" #. type: lisp #: guix-git/doc/guix.texi:14099 #, no-wrap msgid "" "(file-system\n" " (mount-point \"/home\")\n" " (device \"/dev/sda3\")\n" " (type \"ext4\"))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14103 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:14104 #, no-wrap msgid "{Data Type} file-system" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:14107 msgid "" "Objects of this type represent file systems to be mounted. They contain the " "following members:" msgstr "" #. type: item #: guix-git/doc/guix.texi:14109 guix-git/doc/guix.texi:14489 #, no-wrap msgid "type" msgstr "" #. type: table #: guix-git/doc/guix.texi:14112 msgid "" "This is a string specifying the type of the file system---e.g., " "@code{\"ext4\"}." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:14113 #, no-wrap msgid "mount-point" msgstr "" #. type: table #: guix-git/doc/guix.texi:14115 msgid "This designates the place where the file system is to be mounted." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:14116 #, no-wrap msgid "device" msgstr "" #. type: table #: guix-git/doc/guix.texi:14126 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 "" #. type: findex #: guix-git/doc/guix.texi:14127 #, no-wrap msgid "file-system-label" msgstr "" #. type: table #: guix-git/doc/guix.texi:14132 msgid "" "File system labels are created using the @code{file-system-label} procedure, " "UUIDs are created using @code{uuid}, and @file{/dev} node are plain " "strings. Here's an example of a file system referred to by its label, as " "shown by the @command{e2label} command:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14138 #, no-wrap msgid "" "(file-system\n" " (mount-point \"/home\")\n" " (type \"ext4\")\n" " (device (file-system-label \"my-home\")))\n" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:14140 guix-git/doc/guix.texi:32023 #: guix-git/doc/guix.texi:32039 #, no-wrap msgid "uuid" msgstr "" #. type: table #: guix-git/doc/guix.texi:14148 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 "" #. type: lisp #: guix-git/doc/guix.texi:14154 #, no-wrap msgid "" "(file-system\n" " (mount-point \"/home\")\n" " (type \"ext4\")\n" " (device (uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")))\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:14162 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 "" #. type: item #: guix-git/doc/guix.texi:14163 #, no-wrap msgid "@code{flags} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14173 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{strict-atime} (update file " "access time), @code{lazy-time} (only update time on the in-memory version of " "the file inode), and @code{no-exec} (disallow program execution). " "@xref{Mount-Unmount-Remount,,, libc, The GNU C Library Reference Manual}, " "for more information on these flags." msgstr "" #. type: item #: guix-git/doc/guix.texi:14174 #, no-wrap msgid "@code{options} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14183 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 and run @command{man 8 mount} for options for " "various file systems. Note that 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 "" #. type: item #: guix-git/doc/guix.texi:14184 #, no-wrap msgid "@code{mount?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14189 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 "" #. type: item #: guix-git/doc/guix.texi:14190 #, no-wrap msgid "@code{needed-for-boot?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14195 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 "" #. type: item #: guix-git/doc/guix.texi:14196 #, no-wrap msgid "@code{check?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14200 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:14201 #, fuzzy, no-wrap #| msgid "@code{silent?} (default: @code{#f})" msgid "@code{skip-check-if-clean?} (default: @code{#t})" msgstr "@code{snippet} (по умолчанию: @code{#f})" #. type: table #: guix-git/doc/guix.texi:14206 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 "" #. type: table #: guix-git/doc/guix.texi:14210 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 "" #. type: table #: guix-git/doc/guix.texi:14214 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 "" #. type: item #: guix-git/doc/guix.texi:14215 #, fuzzy, no-wrap #| msgid "@code{server} (default: @code{'()})" msgid "@code{repair} (default: @code{'preen})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:14218 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 "" #. type: table #: guix-git/doc/guix.texi:14222 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 "" #. type: table #: guix-git/doc/guix.texi:14225 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 "" #. type: table #: guix-git/doc/guix.texi:14229 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 "" #. type: item #: guix-git/doc/guix.texi:14230 #, no-wrap msgid "@code{create-mount-point?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14232 msgid "When true, the mount point is created if it does not exist yet." msgstr "" #. type: item #: guix-git/doc/guix.texi:14233 #, no-wrap msgid "@code{mount-may-fail?} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:14238 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 "" #. type: item #: guix-git/doc/guix.texi:14239 #, no-wrap msgid "@code{dependencies} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14243 msgid "" "This is a list of @code{} or @code{} objects " "representing file systems that must be mounted or mapped devices that must " "be opened before (and unmounted or closed after) this one." msgstr "" #. type: table #: guix-git/doc/guix.texi:14247 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 "" #. type: table #: guix-git/doc/guix.texi:14250 msgid "" "Another example is a file system that depends on a mapped device, for " "example for an encrypted partition (@pxref{Mapped Devices})." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:14253 #, no-wrap msgid "{Scheme Procedure} file-system-label @var{str}" msgstr "{Процедура Scheme} inferior-package? @var{obj}" #. type: deffn #: guix-git/doc/guix.texi:14256 msgid "" "This procedure returns an opaque file system label from @var{str}, a string:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14260 #, no-wrap msgid "" "(file-system-label \"home\")\n" "@result{} #\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:14264 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:14268 msgid "" "The @code{(gnu system file-systems)} exports the following useful variables." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14269 #, no-wrap msgid "{Scheme Variable} %base-file-systems" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14274 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 "" #. type: defvr #: guix-git/doc/guix.texi:14276 #, no-wrap msgid "{Scheme Variable} %pseudo-terminal-file-system" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14282 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 "" #. type: defvr #: guix-git/doc/guix.texi:14284 #, no-wrap msgid "{Scheme Variable} %shared-memory-file-system" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14288 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 "" #. type: defvr #: guix-git/doc/guix.texi:14290 #, no-wrap msgid "{Scheme Variable} %immutable-store" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14295 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 "" #. type: defvr #: guix-git/doc/guix.texi:14298 msgid "" "The daemon itself is still able to write to the store: it remounts it read-" "write in its own ``name space.''" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14300 #, no-wrap msgid "{Scheme Variable} %binary-format-file-system" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14304 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 "" #. type: defvr #: guix-git/doc/guix.texi:14306 #, no-wrap msgid "{Scheme Variable} %fuse-control-file-system" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14310 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14314 msgid "" "The @code{(gnu system uuid)} module provides tools to deal with file system " "``unique identifiers'' (UUIDs)." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:14315 #, no-wrap msgid "{Scheme Procedure} uuid @var{str} [@var{type}]" msgstr "{Процедура Scheme} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:14318 msgid "" "Return an opaque UUID (unique identifier) object of the given @var{type} (a " "symbol) by parsing @var{str} (a string):" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14322 #, no-wrap msgid "" "(uuid \"4dab5feb-d176-45de-b287-9b0a6e4c01cb\")\n" "@result{} #< type: dce bv: @dots{}>\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14325 #, no-wrap msgid "" "(uuid \"1234-ABCD\" 'fat)\n" "@result{} #< type: fat bv: @dots{}>\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:14329 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 "" #. type: deffn #: guix-git/doc/guix.texi:14332 msgid "" "UUIDs are another way to unambiguously refer to file systems in operating " "system configuration. See the examples above." msgstr "" #. type: subsection #: guix-git/doc/guix.texi:14335 guix-git/doc/guix.texi:14336 #, fuzzy, no-wrap msgid "Btrfs file system" msgstr "Сетевые файловые системы" #. type: Plain text #: guix-git/doc/guix.texi:14342 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14345 msgid "" "In its simplest usage, a Btrfs file system can be described, for example, by:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14351 #, no-wrap msgid "" "(file-system\n" " (mount-point \"/home\")\n" " (type \"btrfs\")\n" " (device (file-system-label \"my-home\")))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14357 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 "" #. type: lisp #: guix-git/doc/guix.texi:14365 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14376 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14384 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 "" #. type: example #: guix-git/doc/guix.texi:14391 #, no-wrap msgid "" "/ (top level)\n" "├── rootfs (subvolume directory)\n" " ├── gnu (normal directory)\n" " ├── store (normal directory)\n" "[...]\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14396 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14399 msgid "" "The next example shows a nested hierarchy of subvolumes and directories:" msgstr "" #. type: example #: guix-git/doc/guix.texi:14406 #, no-wrap msgid "" "/ (top level)\n" "├── rootfs (subvolume)\n" " ├── gnu (normal directory)\n" " ├── store (subvolume)\n" "[...]\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14413 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14415 msgid "Finally, a more contrived example of nested subvolumes:" msgstr "" #. type: example #: guix-git/doc/guix.texi:14422 #, no-wrap msgid "" "/ (top level)\n" "├── root-snapshots (subvolume)\n" " ├── root-current (subvolume)\n" " ├── guix-store (subvolume)\n" "[...]\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14429 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 "" #. type: lisp #: guix-git/doc/guix.texi:14437 #, 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 "" #. type: cindex #: guix-git/doc/guix.texi:14442 #, no-wrap msgid "device mapping" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14443 #, no-wrap msgid "mapped devices" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14460 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14463 msgid "" "Mapped devices are declared using the @code{mapped-device} form, defined as " "follows; for examples, see below." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:14464 #, no-wrap msgid "{Data Type} mapped-device" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:14467 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:14474 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 "" #. type: item #: guix-git/doc/guix.texi:14475 #, no-wrap msgid "target" msgstr "" #. type: table #: guix-git/doc/guix.texi:14484 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:14485 guix-git/doc/guix.texi:33506 #, no-wrap msgid "targets" msgstr "" #. type: table #: guix-git/doc/guix.texi:14488 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 "" #. type: table #: guix-git/doc/guix.texi:14492 msgid "" "This must be a @code{mapped-device-kind} object, which specifies how " "@var{source} is mapped to @var{target}." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14495 #, no-wrap msgid "{Scheme Variable} luks-device-mapping" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14499 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 "" #. type: defvr #: guix-git/doc/guix.texi:14501 #, no-wrap msgid "{Scheme Variable} raid-device-mapping" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14506 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 "" #. type: cindex #: guix-git/doc/guix.texi:14508 #, no-wrap msgid "LVM, logical volume manager" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14509 #, no-wrap msgid "{Scheme Variable} lvm-device-mapping" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:14514 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 "" #. type: cindex #: guix-git/doc/guix.texi:14516 #, no-wrap msgid "disk encryption" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14517 #, no-wrap msgid "LUKS" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14525 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 "" #. type: lisp #: guix-git/doc/guix.texi:14531 #, no-wrap msgid "" "(mapped-device\n" " (source \"/dev/sda3\")\n" " (target \"home\")\n" " (type luks-device-mapping))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14536 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 "" #. type: example #: guix-git/doc/guix.texi:14539 #, no-wrap msgid "cryptsetup luksUUID /dev/sda3\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14542 msgid "and use it as follows:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14548 #, no-wrap msgid "" "(mapped-device\n" " (source (uuid \"cb67fc72-0d54-4c88-9d4b-b225f30b0f44\"))\n" " (target \"home\")\n" " (type luks-device-mapping))\n" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14550 #, no-wrap msgid "swap encryption" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14556 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{Preparing for " "Installation,,Disk Partitioning}, for an example." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14559 msgid "" "A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1} " "may be declared as follows:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14565 #, no-wrap msgid "" "(mapped-device\n" " (source (list \"/dev/sda1\" \"/dev/sdb1\"))\n" " (target \"/dev/md0\")\n" " (type raid-device-mapping))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14572 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14575 msgid "" "LVM logical volumes ``alpha'' and ``beta'' from volume group ``vg0'' can be " "declared as follows:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14581 #, no-wrap msgid "" "(mapped-device\n" " (source \"vg0\")\n" " (targets (list \"vg0-alpha\" \"vg0-beta\"))\n" " (type lvm-device-mapping))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14586 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 "" #. type: cindex #: guix-git/doc/guix.texi:14590 #, no-wrap msgid "users" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14591 #, no-wrap msgid "accounts" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14592 #, no-wrap msgid "user accounts" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14596 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 "" #. type: lisp #: guix-git/doc/guix.texi:14606 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14610 msgid "" "Here's a user account that uses a different shell and a custom home " "directory (the default would be @file{\"/home/bob\"}):" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14618 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14627 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 "" #. type: deftp #: guix-git/doc/guix.texi:14628 #, no-wrap msgid "{Data Type} user-account" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:14631 msgid "" "Objects of this type represent user accounts. The following members may be " "specified:" msgstr "" #. type: table #: guix-git/doc/guix.texi:14635 msgid "The name of the user account." msgstr "" #. type: itemx #: guix-git/doc/guix.texi:14636 guix-git/doc/guix.texi:33170 #, no-wrap msgid "group" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14637 guix-git/doc/guix.texi:14716 #, no-wrap msgid "groups" msgstr "" #. type: table #: guix-git/doc/guix.texi:14640 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:14641 #, no-wrap msgid "@code{supplementary-groups} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14644 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:14645 #, no-wrap msgid "@code{uid} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14649 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 "" #. type: item #: guix-git/doc/guix.texi:14650 #, no-wrap msgid "@code{comment} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14652 msgid "A comment about the account, such as the account owner's full name." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:14653 #, no-wrap msgid "home-directory" msgstr "" #. type: table #: guix-git/doc/guix.texi:14655 msgid "This is the name of the home directory for the account." msgstr "" #. type: item #: guix-git/doc/guix.texi:14656 #, no-wrap msgid "@code{create-home-directory?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14659 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:14660 #, no-wrap msgid "@code{shell} (default: Bash)" msgstr "" #. type: table #: guix-git/doc/guix.texi:14664 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 "" #. type: lisp #: guix-git/doc/guix.texi:14667 #, no-wrap msgid "(file-append bash \"/bin/bash\")\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:14671 msgid "... and to the Zsh executable like that:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14674 #, no-wrap msgid "(file-append zsh \"/bin/zsh\")\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:14676 guix-git/doc/guix.texi:14734 #, no-wrap msgid "@code{system?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14680 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:14682 msgid "user-account-password" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14682 #, no-wrap msgid "password, for user accounts" msgstr "" #. type: item #: guix-git/doc/guix.texi:14683 guix-git/doc/guix.texi:14738 #, no-wrap msgid "@code{password} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14689 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 "" #. type: table #: guix-git/doc/guix.texi:14693 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 "" #. type: lisp #: guix-git/doc/guix.texi:14698 #, no-wrap msgid "" "(user-account\n" " (name \"charlie\")\n" " (group \"users\")\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14701 #, no-wrap msgid "" " ;; Specify a SHA-512-hashed initial password.\n" " (password (crypt \"InitialPassword!\" \"$6$abc\")))\n" msgstr "" #. type: quotation #: guix-git/doc/guix.texi:14707 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 "" #. type: table #: guix-git/doc/guix.texi:14712 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14718 msgid "User group declarations are even simpler:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14721 #, no-wrap msgid "(user-group (name \"students\"))\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:14723 #, no-wrap msgid "{Data Type} user-group" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:14725 msgid "This type is for, well, user groups. There are just a few fields:" msgstr "" #. type: table #: guix-git/doc/guix.texi:14729 msgid "The name of the group." msgstr "" #. type: item #: guix-git/doc/guix.texi:14730 guix-git/doc/guix.texi:29713 #, no-wrap msgid "@code{id} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14733 msgid "" "The group identifier (a number). If @code{#f}, a new number is " "automatically allocated when the group is created." msgstr "" #. type: table #: guix-git/doc/guix.texi:14737 msgid "" "This Boolean value indicates whether the group is a ``system'' group. " "System groups have low numerical IDs." msgstr "" #. type: table #: guix-git/doc/guix.texi:14741 msgid "" "What, user groups can have a password? Well, apparently yes. Unless " "@code{#f}, this field specifies the password of the group." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14747 msgid "" "For convenience, a variable lists all the basic user groups one may expect:" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14748 #, no-wrap msgid "{Scheme Variable} %base-groups" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14753 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 "" #. type: defvr #: guix-git/doc/guix.texi:14755 #, no-wrap msgid "{Scheme Variable} %base-user-accounts" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14758 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 "" #. type: defvr #: guix-git/doc/guix.texi:14761 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 "" #. type: cindex #: guix-git/doc/guix.texi:14767 #, no-wrap msgid "keymap" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14775 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 "" #. type: cindex #: guix-git/doc/guix.texi:14776 #, no-wrap msgid "keyboard layout, definition" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14778 msgid "" "There are three components that will want to know about your keyboard layout:" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:14785 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 "" #. type: itemize #: guix-git/doc/guix.texi:14790 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 "" #. type: itemize #: guix-git/doc/guix.texi:14794 msgid "" "The @emph{graphical display server}, usually Xorg, also has its own idea of " "the keyboard layout (@pxref{X Window, @code{keyboard-layout}})." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14798 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 "" #. type: cindex #: guix-git/doc/guix.texi:14799 #, no-wrap msgid "XKB, keyboard layouts" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14807 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 "" #. type: deffn #: guix-git/doc/guix.texi:14808 #, no-wrap msgid "{Scheme Procedure} keyboard-layout @var{name} [@var{variant}] @" msgstr "{Scheme Procedure} directory-union @var{name} @var{things}" #. type: deffn #: guix-git/doc/guix.texi:14811 msgid "" "[#:model] [#:options '()] Return a new keyboard layout with the given " "@var{name} and @var{variant}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:14815 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14818 msgid "Here are a few examples:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14823 #, no-wrap msgid "" ";; The German QWERTZ layout. Here we assume a standard\n" ";; \"pc105\" keyboard model.\n" "(keyboard-layout \"de\")\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14826 #, no-wrap msgid "" ";; The bépo variant of the French layout.\n" "(keyboard-layout \"fr\" \"bepo\")\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14829 #, no-wrap msgid "" ";; The Catalan layout.\n" "(keyboard-layout \"es\" \"cat\")\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14832 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:14839 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:14842 #, no-wrap msgid "" ";; The Russian layout for a ThinkPad keyboard.\n" "(keyboard-layout \"ru\" #:model \"thinkpad\")\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14847 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14851 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 "" #. type: cindex #: guix-git/doc/guix.texi:14852 #, no-wrap msgid "keyboard layout, configuration" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14856 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 "" #. type: findex #: guix-git/doc/guix.texi:14857 #, no-wrap msgid "set-xorg-configuration" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14861 #, no-wrap msgid "" ";; Using the Turkish layout for the bootloader, the console,\n" ";; and for Xorg.\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14873 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14880 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14883 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 "" #. type: itemize #: guix-git/doc/guix.texi:14888 msgid "" "If you're using GNOME, its settings panel has a ``Region & Language'' entry " "where you can select one or more keyboard layouts." msgstr "" #. type: itemize #: guix-git/doc/guix.texi:14893 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 "" #. type: example #: guix-git/doc/guix.texi:14896 #, no-wrap msgid "setxkbmap us dvorak\n" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:14903 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 "" #. type: example #: guix-git/doc/guix.texi:14906 #, no-wrap msgid "loadkeys fr-bepo\n" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14912 #, no-wrap msgid "locale" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14919 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 "" #. type: cindex #: guix-git/doc/guix.texi:14920 #, no-wrap msgid "locale definition" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14924 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14933 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14936 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:14941 #, no-wrap msgid "" "(cons (locale-definition\n" " (name \"fy_DE.utf8\") (source \"fy_DE\"))\n" " %default-locale-definitions)\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14945 msgid "" "Likewise, to save space, one might want @code{locale-definitions} to list " "only the locales that are actually used, as in:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:14950 #, no-wrap msgid "" "(list (locale-definition\n" " (name \"ja_JP.eucjp\") (source \"ja_JP\")\n" " (charset \"EUC-JP\")))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:14959 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 "" #. type: Plain text #: guix-git/doc/guix.texi:14962 msgid "" "The @code{locale-definition} form is provided by the @code{(gnu system " "locale)} module. Details are given below." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:14963 #, no-wrap msgid "{Data Type} locale-definition" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:14965 msgid "This is the data type of a locale definition." msgstr "" #. type: table #: guix-git/doc/guix.texi:14971 msgid "" "The name of the locale. @xref{Locale Names,,, libc, The GNU C Library " "Reference Manual}, for more information on locale names." msgstr "" #. type: table #: guix-git/doc/guix.texi:14975 msgid "" "The name of the source for that locale. This is typically the " "@code{@var{language}_@var{territory}} part of the locale name." msgstr "" #. type: item #: guix-git/doc/guix.texi:14976 #, no-wrap msgid "@code{charset} (default: @code{\"UTF-8\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:14980 msgid "" "The ``character set'' or ``code set'' for that locale, @uref{https://www." "iana.org/assignments/character-sets, as defined by IANA}." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14984 #, no-wrap msgid "{Scheme Variable} %default-locale-definitions" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14988 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 "" #. type: cindex #: guix-git/doc/guix.texi:14989 #, no-wrap msgid "locale name" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:14990 #, no-wrap msgid "normalized codeset in locale names" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:14996 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 "" #. type: subsection #: guix-git/doc/guix.texi:14998 #, no-wrap msgid "Locale Data Compatibility Considerations" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15000 #, no-wrap msgid "incompatibility, of locale data" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:15007 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 "" #. type: Plain text #: guix-git/doc/guix.texi:15019 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 "" #. type: Plain text #: guix-git/doc/guix.texi:15024 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 "" #. type: Plain text #: guix-git/doc/guix.texi:15028 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 "" #. type: Plain text #: guix-git/doc/guix.texi:15035 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 "" #. type: lisp #: guix-git/doc/guix.texi:15038 #, no-wrap msgid "" "(use-package-modules base)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:15042 #, no-wrap msgid "" "(operating-system\n" " ;; @dots{}\n" " (locale-libcs (list glibc-2.21 (canonical-package glibc))))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:15047 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 "" #. type: cindex #: guix-git/doc/guix.texi:15052 #, no-wrap msgid "system services" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:15058 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 "" #. type: Plain text #: guix-git/doc/guix.texi:15065 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 "" #. type: example #: guix-git/doc/guix.texi:15068 #, no-wrap msgid "# herd status\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:15073 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 "" #. type: example #: guix-git/doc/guix.texi:15077 #, no-wrap msgid "" "# herd doc nscd\n" "Run libc's name service cache daemon (nscd).\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:15080 #, no-wrap msgid "" "# herd doc nscd action invalidate\n" "invalidate: Invalidate the given cache--e.g., 'hosts' for host name lookups.\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:15085 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 "" #. type: example #: guix-git/doc/guix.texi:15092 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:15097 msgid "" "The following sections document the available services, starting with the " "core services, that may be used in an @code{operating-system} declaration." msgstr "" #. type: subsection #: guix-git/doc/guix.texi:15132 guix-git/doc/guix.texi:23147 #: guix-git/doc/guix.texi:23148 #, fuzzy, no-wrap msgid "File-Sharing Services" msgstr "Сервисы сообщений" #. type: menuentry #: guix-git/doc/guix.texi:15132 #, fuzzy msgid "File-sharing services." msgstr "Сервисы сообщений." #. type: Plain text #: guix-git/doc/guix.texi:15140 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 "" #. type: defvr #: guix-git/doc/guix.texi:15141 #, no-wrap msgid "{Scheme Variable} %base-services" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15147 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 "" #. type: defvr #: guix-git/doc/guix.texi:15152 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 "" #. type: lisp #: guix-git/doc/guix.texi:15157 #, no-wrap msgid "" "(append (list (service avahi-service-type)\n" " (service openssh-service-type))\n" " %base-services)\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15160 #, no-wrap msgid "{Scheme Variable} special-files-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15163 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 "" #. type: defvr #: guix-git/doc/guix.texi:15167 msgid "" "The value associated with @code{special-files-service-type} services must be " "a list of tuples where the first element is the ``special file'' and the " "second element is its target. By default it is:" msgstr "" #. type: file{#1} #: guix-git/doc/guix.texi:15168 #, no-wrap msgid "/bin/sh" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15169 #, no-wrap msgid "@file{sh}, in @file{/bin}" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:15172 #, no-wrap msgid "`((\"/bin/sh\" ,(file-append bash \"/bin/sh\")))\n" msgstr "" #. type: file{#1} #: guix-git/doc/guix.texi:15174 #, no-wrap msgid "/usr/bin/env" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15175 #, no-wrap msgid "@file{env}, in @file{/usr/bin}" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15178 msgid "" "If you want to add, say, @code{/usr/bin/env} to your system, you can change " "it to:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:15182 #, no-wrap msgid "" "`((\"/bin/sh\" ,(file-append bash \"/bin/sh\"))\n" " (\"/usr/bin/env\" ,(file-append coreutils \"/bin/env\")))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15189 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 "" #. type: deffn #: guix-git/doc/guix.texi:15191 #, no-wrap msgid "{Scheme Procedure} extra-special-file @var{file} @var{target}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15193 msgid "Use @var{target} as the ``special file'' @var{file}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15197 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 "" #. type: lisp #: guix-git/doc/guix.texi:15201 #, no-wrap msgid "" "(extra-special-file \"/usr/bin/env\"\n" " (file-append coreutils \"/bin/env\"))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15204 #, no-wrap msgid "{Scheme Procedure} host-name-service @var{name}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15206 msgid "Return a service that sets the host name to @var{name}." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15208 #, no-wrap msgid "{Scheme Variable} console-font-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:15213 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 "" #. type: lisp #: guix-git/doc/guix.texi:15222 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:15225 #, no-wrap msgid "{Scheme Procedure} login-service @var{config}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15229 msgid "" "Return a service to run login according to @var{config}, a @code{} object, which specifies the message of the day, among other " "things." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15231 #, no-wrap msgid "{Data Type} login-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15233 msgid "This is the data type representing the configuration of login." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:15236 #, no-wrap msgid "motd" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15237 #, no-wrap msgid "message of the day" msgstr "" #. type: table #: guix-git/doc/guix.texi:15239 msgid "A file-like object containing the ``message of the day''." msgstr "" #. type: item #: guix-git/doc/guix.texi:15240 guix-git/doc/guix.texi:18236 #, no-wrap msgid "@code{allow-empty-passwords?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15243 msgid "" "Allow empty passwords by default so that first-time users can log in when " "the 'root' account has just been created." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15247 #, no-wrap msgid "{Scheme Procedure} mingetty-service @var{config}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15251 msgid "" "Return a service to run mingetty according to @var{config}, a " "@code{} object, which specifies the tty to run, " "among other things." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15253 #, no-wrap msgid "{Data Type} mingetty-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15256 msgid "" "This is the data type representing the configuration of Mingetty, which " "provides the default implementation of virtual console log-in." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:15259 guix-git/doc/guix.texi:15298 #: guix-git/doc/guix.texi:32443 #, no-wrap msgid "tty" msgstr "" #. type: table #: guix-git/doc/guix.texi:15261 msgid "The name of the console this Mingetty runs on---e.g., @code{\"tty1\"}." msgstr "" #. type: item #: guix-git/doc/guix.texi:15262 guix-git/doc/guix.texi:15327 #: guix-git/doc/guix.texi:15486 #, no-wrap msgid "@code{auto-login} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15266 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 "" #. type: item #: guix-git/doc/guix.texi:15267 #, no-wrap msgid "@code{login-program} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15271 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 "" #. type: item #: guix-git/doc/guix.texi:15272 #, no-wrap msgid "@code{login-pause?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15275 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 "" #. type: item #: guix-git/doc/guix.texi:15276 #, no-wrap msgid "@code{clear-on-logout?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:15278 msgid "When set to @code{#t}, the screen will be cleared after logout." msgstr "" #. type: item #: guix-git/doc/guix.texi:15279 #, no-wrap msgid "@code{mingetty} (default: @var{mingetty})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15281 msgid "The Mingetty package to use." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15285 #, no-wrap msgid "{Scheme Procedure} agetty-service @var{config}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15289 msgid "" "Return a service to run agetty according to @var{config}, an @code{} object, which specifies the tty to run, among other things." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15291 #, no-wrap msgid "{Data Type} agetty-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15295 msgid "" "This is the data type representing the configuration of agetty, which " "implements virtual and serial console log-in. See the @code{agetty(8)} man " "page for more information." msgstr "" #. type: table #: guix-git/doc/guix.texi:15302 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 "" #. type: table #: guix-git/doc/guix.texi:15306 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 "" #. type: table #: guix-git/doc/guix.texi:15310 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 "" #. type: table #: guix-git/doc/guix.texi:15314 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 "" #. type: item #: guix-git/doc/guix.texi:15315 guix-git/doc/guix.texi:32604 #, no-wrap msgid "@code{baud-rate} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15318 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:15319 #, no-wrap msgid "@code{term} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15322 msgid "" "A string containing the value used for the @env{TERM} environment variable." msgstr "" #. type: item #: guix-git/doc/guix.texi:15323 #, no-wrap msgid "@code{eight-bits?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15326 msgid "" "When @code{#t}, the tty is assumed to be 8-bit clean, and parity detection " "is disabled." msgstr "" #. type: table #: guix-git/doc/guix.texi:15330 guix-git/doc/guix.texi:15489 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:15331 #, no-wrap msgid "@code{no-reset?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15333 msgid "When @code{#t}, don't reset terminal cflags (control modes)." msgstr "" #. type: item #: guix-git/doc/guix.texi:15334 #, no-wrap msgid "@code{host} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15337 msgid "" "This accepts a string containing the ``login_host'', which will be written " "into the @file{/var/run/utmpx} file." msgstr "" #. type: item #: guix-git/doc/guix.texi:15338 #, no-wrap msgid "@code{remote?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15342 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 "" #. type: item #: guix-git/doc/guix.texi:15343 #, no-wrap msgid "@code{flow-control?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15345 msgid "When set to @code{#t}, enable hardware (RTS/CTS) flow control." msgstr "" #. type: item #: guix-git/doc/guix.texi:15346 #, no-wrap msgid "@code{no-issue?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15349 msgid "" "When set to @code{#t}, the contents of the @file{/etc/issue} file will not " "be displayed before presenting the login prompt." msgstr "" #. type: item #: guix-git/doc/guix.texi:15350 #, no-wrap msgid "@code{init-string} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15353 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 "" #. type: item #: guix-git/doc/guix.texi:15354 #, no-wrap msgid "@code{no-clear?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15357 msgid "" "When set to @code{#t}, agetty will not clear the screen before showing the " "login prompt." msgstr "" #. type: item #: guix-git/doc/guix.texi:15358 #, no-wrap msgid "@code{login-program} (default: (file-append shadow \"/bin/login\"))" msgstr "" #. type: table #: guix-git/doc/guix.texi:15362 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 "" #. type: item #: guix-git/doc/guix.texi:15363 #, no-wrap msgid "@code{local-line} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15367 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 "" #. type: item #: guix-git/doc/guix.texi:15368 #, no-wrap msgid "@code{extract-baud?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15371 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 "" #. type: item #: guix-git/doc/guix.texi:15372 #, no-wrap msgid "@code{skip-login?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15376 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 "" #. type: item #: guix-git/doc/guix.texi:15377 #, no-wrap msgid "@code{no-newline?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15380 msgid "" "When set to @code{#t}, do not print a newline before printing the @file{/etc/" "issue} file." msgstr "" #. type: item #: guix-git/doc/guix.texi:15382 #, no-wrap msgid "@code{login-options} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15387 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 "" #. type: item #: guix-git/doc/guix.texi:15388 #, no-wrap msgid "@code{login-pause} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15392 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 "" #. type: item #: guix-git/doc/guix.texi:15393 #, no-wrap msgid "@code{chroot} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15396 msgid "" "Change root to the specified directory. This option accepts a directory " "path as a string." msgstr "" #. type: item #: guix-git/doc/guix.texi:15397 #, no-wrap msgid "@code{hangup?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15400 msgid "" "Use the Linux system call @code{vhangup} to do a virtual hangup of the " "specified terminal." msgstr "" #. type: item #: guix-git/doc/guix.texi:15401 #, no-wrap msgid "@code{keep-baud?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15405 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 "" #. type: item #: guix-git/doc/guix.texi:15406 #, no-wrap msgid "@code{timeout} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15409 msgid "" "When set to an integer value, terminate if no user name could be read within " "@var{timeout} seconds." msgstr "" #. type: item #: guix-git/doc/guix.texi:15410 #, no-wrap msgid "@code{detect-case?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15416 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 "" #. type: item #: guix-git/doc/guix.texi:15417 #, no-wrap msgid "@code{wait-cr?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15422 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 "" #. type: item #: guix-git/doc/guix.texi:15423 #, no-wrap msgid "@code{no-hints?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15426 msgid "" "When set to @code{#t}, do not print hints about Num, Caps, and Scroll locks." msgstr "" #. type: item #: guix-git/doc/guix.texi:15427 #, no-wrap msgid "@code{no-hostname?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15430 msgid "" "By default, the hostname is printed. When this option is set to @code{#t}, " "no hostname will be shown at all." msgstr "" #. type: item #: guix-git/doc/guix.texi:15431 #, no-wrap msgid "@code{long-hostname?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15435 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 "" #. type: item #: guix-git/doc/guix.texi:15436 #, no-wrap msgid "@code{erase-characters} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15439 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:15440 #, no-wrap msgid "@code{kill-characters} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15444 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:15445 #, no-wrap msgid "@code{chdir} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15448 msgid "" "This option accepts, as a string, a directory path that will be changed to " "before login." msgstr "" #. type: item #: guix-git/doc/guix.texi:15449 #, no-wrap msgid "@code{delay} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15452 msgid "" "This options accepts, as an integer, the number of seconds to sleep before " "opening the tty and displaying the login prompt." msgstr "" #. type: item #: guix-git/doc/guix.texi:15453 #, no-wrap msgid "@code{nice} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15456 msgid "" "This option accepts, as an integer, the nice value with which to run the " "@command{login} program." msgstr "" #. type: item #: guix-git/doc/guix.texi:15457 guix-git/doc/guix.texi:15745 #: guix-git/doc/guix.texi:16616 guix-git/doc/guix.texi:24130 #: guix-git/doc/guix.texi:25607 guix-git/doc/guix.texi:28014 #: guix-git/doc/guix.texi:28809 guix-git/doc/guix.texi:30509 #: guix-git/doc/guix.texi:32934 #, no-wrap msgid "@code{extra-options} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15460 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 "" #. type: deffn #: guix-git/doc/guix.texi:15464 #, no-wrap msgid "{Scheme Procedure} kmscon-service-type @var{config}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15468 msgid "" "Return a service to run @uref{https://www.freedesktop.org/wiki/Software/" "kmscon,kmscon} according to @var{config}, a @code{} " "object, which specifies the tty to run, among other things." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15470 #, no-wrap msgid "{Data Type} kmscon-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15473 msgid "" "This is the data type representing the configuration of Kmscon, which " "implements virtual console log-in." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:15476 #, no-wrap msgid "virtual-terminal" msgstr "" #. type: table #: guix-git/doc/guix.texi:15478 msgid "The name of the console this Kmscon runs on---e.g., @code{\"tty1\"}." msgstr "" #. type: item #: guix-git/doc/guix.texi:15479 #, no-wrap msgid "@code{login-program} (default: @code{#~(string-append #$shadow \"/bin/login\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15482 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 "" #. type: item #: guix-git/doc/guix.texi:15483 #, no-wrap msgid "@code{login-arguments} (default: @code{'(\"-p\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15485 msgid "A list of arguments to pass to @command{login}." msgstr "" #. type: item #: guix-git/doc/guix.texi:15490 #, no-wrap msgid "@code{hardware-acceleration?} (default: #f)" msgstr "" #. type: table #: guix-git/doc/guix.texi:15492 msgid "Whether to use hardware acceleration." msgstr "" #. type: item #: guix-git/doc/guix.texi:15493 #, no-wrap msgid "@code{font-engine} (default: @code{\"pango\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:15495 msgid "Font engine used in Kmscon." msgstr "" #. type: item #: guix-git/doc/guix.texi:15496 #, no-wrap msgid "@code{font-size} (default: @code{12})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:15498 msgid "Font size used in Kmscon." msgstr "" #. type: table #: guix-git/doc/guix.texi:15502 msgid "" "If this is @code{#f}, Kmscon uses the default keyboard layout---usually US " "English (``qwerty'') for a 105-key PC keyboard." msgstr "" #. type: table #: guix-git/doc/guix.texi:15506 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 "" #. type: item #: guix-git/doc/guix.texi:15507 #, no-wrap msgid "@code{kmscon} (default: @var{kmscon})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15509 msgid "The Kmscon package to use." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15513 #, no-wrap msgid "name service cache daemon" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15514 #, no-wrap msgid "nscd" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15515 #, no-wrap msgid "{Scheme Procedure} nscd-service [@var{config}] [#:glibc glibc] @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15520 msgid "" "[#:name-services '()] Return a service that runs the libc name service cache " "daemon (nscd) with the given @var{config}---an @code{} " "object. @xref{Name Service Switch}, for an example." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15522 msgid "" "For convenience, the Shepherd service for nscd provides the following " "actions:" msgstr "" #. type: item #: guix-git/doc/guix.texi:15524 #, no-wrap msgid "invalidate" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15525 #, no-wrap msgid "cache invalidation, nscd" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15526 #, no-wrap msgid "nscd, cache invalidation" msgstr "" #. type: table #: guix-git/doc/guix.texi:15528 msgid "This invalidate the given cache. For instance, running:" msgstr "" #. type: example #: guix-git/doc/guix.texi:15531 #, no-wrap msgid "herd invalidate nscd hosts\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:15535 msgid "invalidates the host name lookup cache of nscd." msgstr "" #. type: item #: guix-git/doc/guix.texi:15536 #, no-wrap msgid "statistics" msgstr "" #. type: table #: guix-git/doc/guix.texi:15539 msgid "" "Running @command{herd statistics nscd} displays information about nscd usage " "and caches." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15543 #, no-wrap msgid "{Scheme Variable} %nscd-default-configuration" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15547 msgid "" "This is the default @code{} value (see below) used by " "@code{nscd-service}. It uses the caches defined by @code{%nscd-default-" "caches}; see below." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15549 #, no-wrap msgid "{Data Type} nscd-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15552 msgid "" "This is the data type representing the name service cache daemon (nscd) " "configuration." msgstr "" #. type: item #: guix-git/doc/guix.texi:15555 #, no-wrap msgid "@code{name-services} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15558 msgid "" "List of packages denoting @dfn{name services} that must be visible to the " "nscd---e.g., @code{(list @var{nss-mdns})}." msgstr "" #. type: item #: guix-git/doc/guix.texi:15559 #, no-wrap msgid "@code{glibc} (default: @var{glibc})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15562 msgid "" "Package object denoting the GNU C Library providing the @command{nscd} " "command." msgstr "" #. type: item #: guix-git/doc/guix.texi:15563 #, no-wrap msgid "@code{log-file} (default: @code{\"/var/log/nscd.log\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15566 msgid "" "Name of the nscd log file. This is where debugging output goes when " "@code{debug-level} is strictly positive." msgstr "" #. type: item #: guix-git/doc/guix.texi:15567 #, no-wrap msgid "@code{debug-level} (default: @code{0})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15570 msgid "" "Integer denoting the debugging levels. Higher numbers mean that more " "debugging output is logged." msgstr "" #. type: item #: guix-git/doc/guix.texi:15571 #, no-wrap msgid "@code{caches} (default: @code{%nscd-default-caches})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:15574 msgid "" "List of @code{} objects denoting things to be cached; see below." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15578 #, no-wrap msgid "{Data Type} nscd-cache" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15580 msgid "Data type representing a cache database of nscd and its parameters." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15583 guix-git/doc/guix.texi:20020 #, no-wrap msgid "database" msgstr "" #. type: table #: guix-git/doc/guix.texi:15588 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:15589 #, no-wrap msgid "positive-time-to-live" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:15590 #, no-wrap msgid "@code{negative-time-to-live} (default: @code{20})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15593 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:15594 #, no-wrap msgid "@code{check-files?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15597 msgid "" "Whether to check for updates of the files corresponding to @var{database}." msgstr "" #. type: table #: guix-git/doc/guix.texi:15601 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 "" #. type: item #: guix-git/doc/guix.texi:15602 #, no-wrap msgid "@code{persistent?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15604 msgid "Whether the cache should be stored persistently on disk." msgstr "" #. type: item #: guix-git/doc/guix.texi:15605 #, no-wrap msgid "@code{shared?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15607 msgid "Whether the cache should be shared among users." msgstr "" #. type: item #: guix-git/doc/guix.texi:15608 #, no-wrap msgid "@code{max-database-size} (default: 32@tie{}MiB)" msgstr "" #. type: table #: guix-git/doc/guix.texi:15610 msgid "Maximum size in bytes of the database cache." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15617 #, no-wrap msgid "{Scheme Variable} %nscd-default-caches" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15620 msgid "" "List of @code{} objects used by default by @code{nscd-" "configuration} (see above)." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15626 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: anchor{#1} #: guix-git/doc/guix.texi:15629 msgid "syslog-configuration-type" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15629 guix-git/doc/guix.texi:15645 #, no-wrap msgid "syslog" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15630 guix-git/doc/guix.texi:16216 #, no-wrap msgid "logging" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15631 #, no-wrap msgid "{Data Type} syslog-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15633 msgid "This data type represents the configuration of the syslog daemon." msgstr "" #. type: item #: guix-git/doc/guix.texi:15635 #, no-wrap msgid "@code{syslogd} (default: @code{#~(string-append #$inetutils \"/libexec/syslogd\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15637 msgid "The syslog daemon to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:15638 #, no-wrap msgid "@code{config-file} (default: @code{%default-syslog.conf})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15640 msgid "The syslog configuration file to use." msgstr "" #. type: anchor{#1} #: guix-git/doc/guix.texi:15645 msgid "syslog-service" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15646 #, no-wrap msgid "{Scheme Procedure} syslog-service @var{config}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15648 msgid "Return a service that runs a syslog daemon according to @var{config}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15651 msgid "" "@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more information " "on the configuration file syntax." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15653 #, no-wrap msgid "{Scheme Variable} guix-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15657 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 "" #. type: anchor{#1} #: guix-git/doc/guix.texi:15660 msgid "guix-configuration-type" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15660 #, no-wrap msgid "{Data Type} guix-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15663 msgid "" "This data type represents the configuration of the Guix build daemon. " "@xref{Invoking guix-daemon}, for more information." msgstr "" #. type: item #: guix-git/doc/guix.texi:15665 #, no-wrap msgid "@code{guix} (default: @var{guix})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15667 guix-git/doc/guix.texi:15944 msgid "The Guix package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:15668 #, no-wrap msgid "@code{build-group} (default: @code{\"guixbuild\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15670 msgid "Name of the group for build user accounts." msgstr "" #. type: item #: guix-git/doc/guix.texi:15671 #, no-wrap msgid "@code{build-accounts} (default: @code{10})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15673 msgid "Number of build user accounts to create." msgstr "" #. type: item #: guix-git/doc/guix.texi:15674 #, no-wrap msgid "@code{authorize-key?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15681 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 "" #. type: table #: guix-git/doc/guix.texi:15687 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 "" #. type: quotation #: guix-git/doc/guix.texi:15694 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 "" #. type: vindex #: guix-git/doc/guix.texi:15696 #, no-wrap msgid "%default-authorized-guix-keys" msgstr "" #. type: item #: guix-git/doc/guix.texi:15697 #, no-wrap msgid "@code{authorized-keys} (default: @code{%default-authorized-guix-keys})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:15703 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 "" #. type: item #: guix-git/doc/guix.texi:15704 #, no-wrap msgid "@code{use-substitutes?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15706 msgid "Whether to use substitutes." msgstr "" #. type: item #: guix-git/doc/guix.texi:15707 guix-git/doc/guix.texi:28111 #, no-wrap msgid "@code{substitute-urls} (default: @code{%default-substitute-urls})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:15709 guix-git/doc/guix.texi:28113 msgid "The list of URLs where to look for substitutes by default." msgstr "" #. type: table #: guix-git/doc/guix.texi:15716 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 "" #. type: lisp #: guix-git/doc/guix.texi:15725 #, 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 "" #. type: table #: guix-git/doc/guix.texi:15730 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 "" #. type: item #: guix-git/doc/guix.texi:15731 #, no-wrap msgid "@code{max-silent-time} (default: @code{0})" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:15732 #, no-wrap msgid "@code{timeout} (default: @code{0})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15736 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:15737 #, no-wrap msgid "@code{log-compression} (default: @code{'bzip2})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15740 msgid "" "The type of compression used for build logs---one of @code{gzip}, " "@code{bzip2}, or @code{none}." msgstr "" #. type: item #: guix-git/doc/guix.texi:15741 #, no-wrap msgid "@code{discover?} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:15747 msgid "List of extra command-line options for @command{guix-daemon}." msgstr "" #. type: item #: guix-git/doc/guix.texi:15748 #, no-wrap msgid "@code{log-file} (default: @code{\"/var/log/guix-daemon.log\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15751 msgid "" "File where @command{guix-daemon}'s standard output and standard error are " "written." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15752 #, no-wrap msgid "HTTP proxy, for @code{guix-daemon}" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15753 #, no-wrap msgid "proxy, for @code{guix-daemon} HTTP access" msgstr "" #. type: item #: guix-git/doc/guix.texi:15754 #, no-wrap msgid "@code{http-proxy} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15757 msgid "" "The URL of the HTTP and HTTPS proxy used for downloading fixed-output " "derivations and substitutes." msgstr "" #. type: table #: guix-git/doc/guix.texi:15760 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 "" #. type: example #: guix-git/doc/guix.texi:15763 #, no-wrap msgid "herd set-http-proxy guix-daemon http://localhost:8118\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:15766 msgid "To clear the proxy settings, run:" msgstr "" #. type: example #: guix-git/doc/guix.texi:15769 #, no-wrap msgid "herd set-http-proxy guix-daemon\n" msgstr "herd start ssh-daemon\n" #. type: item #: guix-git/doc/guix.texi:15771 #, no-wrap msgid "@code{tmpdir} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15773 msgid "A directory path where the @command{guix-daemon} will perform builds." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15777 #, no-wrap msgid "{Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15783 msgid "" "Run @var{udev}, which populates the @file{/dev} directory dynamically. udev " "rules can be provided as a list of files through the @var{rules} variable. " "The procedures @code{udev-rule}, @code{udev-rules-service} and @code{file-" ">udev-rule} from @code{(gnu services base)} simplify the creation of such " "rule files." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15786 msgid "" "The @command{herd rules udev} command, as root, returns the name of the " "directory containing all the active udev rules." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15788 #, no-wrap msgid "{Scheme Procedure} udev-rule [@var{file-name} @var{contents}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15791 msgid "" "Return a udev-rule file named @var{file-name} containing the rules defined " "by the @var{contents} literal." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15795 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 "" #. type: lisp #: guix-git/doc/guix.texi:15803 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:15806 #, no-wrap msgid "{Scheme Procedure} udev-rules-service [@var{name} @var{rules}] @" msgstr "{Процедура Scheme} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:15813 msgid "" "[#:groups @var{groups}] 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 "" #. type: deffn #: guix-git/doc/guix.texi:15816 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 "" #. type: lisp #: guix-git/doc/guix.texi:15823 #, no-wrap msgid "" "(operating-system\n" " ;; @dots{}\n" " (services\n" " (cons (udev-rules-service 'usb-thing %example-udev-rule)\n" " %desktop-services)))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15826 #, no-wrap msgid "{Scheme Procedure} file->udev-rule [@var{file-name} @var{file}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15829 msgid "" "Return a udev file named @var{file-name} containing the rules defined within " "@var{file}, a file-like object." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15831 msgid "The following example showcases how we can use an existing rule file." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:15836 #, no-wrap msgid "" "(use-modules (guix download) ;for url-fetch\n" " (guix packages) ;for origin\n" " @dots{})\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:15847 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:15856 msgid "" "Additionally, Guix package definitions can be included in @var{rules} in " "order to extend the udev rules with the definitions found under their " "@file{lib/udev/rules.d} sub-directory. 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 "" #. type: Plain text #: guix-git/doc/guix.texi:15865 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 "" #. type: lisp #: guix-git/doc/guix.texi:15870 #, no-wrap msgid "" "(use-modules (gnu packages android) ;for android-udev-rules\n" " (gnu system shadow) ;for user-group\n" " @dots{})\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:15883 #, 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 "" #. type: defvr #: guix-git/doc/guix.texi:15885 #, no-wrap msgid "{Scheme Variable} urandom-seed-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15890 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 "" #. type: defvr #: guix-git/doc/guix.texi:15892 #, no-wrap msgid "{Scheme Variable} %random-seed-file" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15896 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 "" #. type: cindex #: guix-git/doc/guix.texi:15898 #, no-wrap msgid "mouse" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:15899 #, no-wrap msgid "gpm" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15900 #, no-wrap msgid "{Scheme Variable} gpm-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:15905 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 "" #. type: defvr #: guix-git/doc/guix.texi:15908 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 "" #. type: deftp #: guix-git/doc/guix.texi:15910 #, no-wrap msgid "{Data Type} gpm-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15912 msgid "Data type representing the configuration of GPM." msgstr "" #. type: item #: guix-git/doc/guix.texi:15914 #, no-wrap msgid "@code{options} (default: @code{%default-gpm-options})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15919 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 "" #. type: item #: guix-git/doc/guix.texi:15920 #, no-wrap msgid "@code{gpm} (default: @code{gpm})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15922 msgid "The GPM package to use." msgstr "" #. type: anchor{#1} #: guix-git/doc/guix.texi:15927 msgid "guix-publish-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15927 #, no-wrap msgid "{Scheme Variable} guix-publish-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:15931 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 "" #. type: deffn #: guix-git/doc/guix.texi:15935 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 "" #. type: deftp #: guix-git/doc/guix.texi:15937 #, no-wrap msgid "{Data Type} guix-publish-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:15940 msgid "" "Data type representing the configuration of the @code{guix publish} service." msgstr "" #. type: item #: guix-git/doc/guix.texi:15942 #, no-wrap msgid "@code{guix} (default: @code{guix})" msgstr "" #. type: item #: guix-git/doc/guix.texi:15945 guix-git/doc/guix.texi:30364 #, no-wrap msgid "@code{port} (default: @code{80})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15947 msgid "The TCP port to listen for connections." msgstr "" #. type: item #: guix-git/doc/guix.texi:15948 guix-git/doc/guix.texi:27994 #: guix-git/doc/guix.texi:31745 #, no-wrap msgid "@code{host} (default: @code{\"localhost\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15951 msgid "" "The host (and thus, network interface) to listen to. Use @code{\"0.0.0.0\"} " "to listen on all the network interfaces." msgstr "" #. type: item #: guix-git/doc/guix.texi:15952 #, no-wrap msgid "@code{advertise?} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:15955 msgid "" "When true, advertise the service on the local network @i{via} the DNS-SD " "protocol, using Avahi." msgstr "" #. type: table #: guix-git/doc/guix.texi:15959 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 "" #. type: item #: guix-git/doc/guix.texi:15960 #, no-wrap msgid "@code{compression} (default: @code{'((\"gzip\" 3) (\"zstd\" 3))})" msgstr "@code{compression-level} (default: @code{3})" #. type: table #: guix-git/doc/guix.texi:15964 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 "" #. type: lisp #: guix-git/doc/guix.texi:15967 #, no-wrap msgid "'((\"lzip\" 7) (\"gzip\" 9))\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:15973 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 "" #. type: table #: guix-git/doc/guix.texi:15975 msgid "An empty list disables compression altogether." msgstr "" #. type: item #: guix-git/doc/guix.texi:15976 #, no-wrap msgid "@code{nar-path} (default: @code{\"nar\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15979 msgid "" "The URL path at which ``nars'' can be fetched. @xref{Invoking guix publish, " "@option{--nar-path}}, for details." msgstr "" #. type: item #: guix-git/doc/guix.texi:15980 #, no-wrap msgid "@code{cache} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15986 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 "" #. type: item #: guix-git/doc/guix.texi:15987 #, no-wrap msgid "@code{workers} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:15991 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 "" #. type: item #: guix-git/doc/guix.texi:15992 #, no-wrap msgid "@code{cache-bypass-threshold} (default: 10 MiB)" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:15997 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 "" #. type: item #: guix-git/doc/guix.texi:15998 #, no-wrap msgid "@code{ttl} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16002 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 "" #. type: anchor{#1} #: guix-git/doc/guix.texi:16006 msgid "rngd-service" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16006 #, no-wrap msgid "{Scheme Procedure} rngd-service [#:rng-tools @var{rng-tools}] @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16011 msgid "" "[#:device \"/dev/hwrng\"] Return a service that runs the @command{rngd} " "program from @var{rng-tools} to add @var{device} to the kernel's entropy " "pool. The service will fail if @var{device} does not exist." msgstr "" #. type: anchor{#1} #: guix-git/doc/guix.texi:16014 msgid "pam-limits-service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16014 #, no-wrap msgid "session limits" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16015 #, no-wrap msgid "ulimit" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16016 #, no-wrap msgid "priority" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16017 #, no-wrap msgid "realtime" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16018 #, no-wrap msgid "jackd" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16019 #, no-wrap msgid "nofile" msgstr "профиль" #. type: cindex #: guix-git/doc/guix.texi:16020 #, no-wrap msgid "open file descriptors" msgstr "Краткие обзоры и описания" #. type: deffn #: guix-git/doc/guix.texi:16021 #, no-wrap msgid "{Scheme Procedure} pam-limits-service [#:limits @code{'()}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16028 msgid "" "Return a 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 procedure optionally takes 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." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16031 msgid "" "The following limits definition sets two hard and soft limits for all login " "sessions of users in the @code{realtime} group:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:16037 #, no-wrap msgid "" "(pam-limits-service\n" " (list\n" " (pam-limits-entry \"@@realtime\" 'both 'rtprio 99)\n" " (pam-limits-entry \"@@realtime\" 'both 'memlock 'unlimited)))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16043 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: deffn #: guix-git/doc/guix.texi:16046 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:16051 #, no-wrap msgid "" "(pam-limits-service\n" " (list\n" " (pam-limits-entry \"*\" 'both 'nofile 100000)))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16059 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 "" #. type: cindex #: guix-git/doc/guix.texi:16064 guix-git/doc/guix.texi:35807 #, no-wrap msgid "cron" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16065 guix-git/doc/guix.texi:35808 #, no-wrap msgid "mcron" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16066 guix-git/doc/guix.texi:35809 #, no-wrap msgid "scheduling jobs" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:16073 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 "" #. type: Plain text #: guix-git/doc/guix.texi:16081 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 "" #. type: lisp #: guix-git/doc/guix.texi:16085 #, no-wrap msgid "" "(use-modules (guix) (gnu) (gnu services mcron))\n" "(use-package-modules base idutils)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:16095 #, 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" " (execl (string-append #$findutils \"/bin/updatedb\")\n" " \"updatedb\"\n" " \"--prunepaths=/tmp /var/tmp /gnu/store\"))\n" " \"updatedb\"))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:16101 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:16108 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:16111 #, no-wrap msgid "" "(operating-system\n" " ;; @dots{}\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:16121 #, 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 "" #. type: quotation #: guix-git/doc/guix.texi:16123 #, fuzzy, no-wrap #| msgid "Top" msgid "Tip" msgstr "Top" #. type: quotation #: guix-git/doc/guix.texi:16129 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 "" #. type: Plain text #: guix-git/doc/guix.texi:16136 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 "" #. type: lisp #: guix-git/doc/guix.texi:16152 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:16154 #, no-wrap msgid "" " (define %min-level 20)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:16165 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:16170 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 "" #. type: Plain text #: guix-git/doc/guix.texi:16173 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 "" #. type: example #: guix-git/doc/guix.texi:16176 #, no-wrap msgid "# herd schedule mcron\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:16181 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:16184 #, no-wrap msgid "# herd schedule mcron 10\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16186 #, no-wrap msgid "{Scheme Variable} mcron-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16189 msgid "" "This is the type of the @code{mcron} service, whose value is an @code{mcron-" "configuration} object." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16194 guix-git/doc/guix.texi:35828 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 "" #. type: deftp #: guix-git/doc/guix.texi:16196 #, no-wrap msgid "{Data Type} mcron-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16198 guix-git/doc/guix.texi:35832 msgid "Data type representing the configuration of mcron." msgstr "" #. type: item #: guix-git/doc/guix.texi:16200 guix-git/doc/guix.texi:35834 #, no-wrap msgid "@code{mcron} (default: @var{mcron})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16202 guix-git/doc/guix.texi:35836 msgid "The mcron package to use." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:16203 guix-git/doc/guix.texi:16272 #: guix-git/doc/guix.texi:35837 #, no-wrap msgid "jobs" msgstr "" #. type: table #: guix-git/doc/guix.texi:16207 guix-git/doc/guix.texi:35841 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 "" #. type: cindex #: guix-git/doc/guix.texi:16214 #, no-wrap msgid "rottlog" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16215 #, no-wrap msgid "log rotation" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:16222 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 GNU@tie{}Rot[t]log, a log rotation " "tool (@pxref{Top,,, rottlog, GNU Rot[t]log Manual})." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:16228 msgid "" "This service is part of @code{%base-services}, and thus enabled by default, " "with the default settings, for commonly encountered log files. 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 "" #. type: lisp #: guix-git/doc/guix.texi:16232 #, no-wrap msgid "" "(use-modules (guix) (gnu))\n" "(use-service-modules admin)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:16236 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:16245 #, 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 "" #. type: defvr #: guix-git/doc/guix.texi:16247 #, no-wrap msgid "{Scheme Variable} rottlog-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16250 msgid "" "This is the type of the Rottlog service, whose value is a @code{rottlog-" "configuration} object." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16253 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 "" #. type: defvr #: guix-git/doc/guix.texi:16256 msgid "" "This service type can define mcron jobs (@pxref{Scheduled Job Execution}) to " "run the rottlog service." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16258 #, no-wrap msgid "{Data Type} rottlog-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16260 msgid "Data type representing the configuration of rottlog." msgstr "" #. type: item #: guix-git/doc/guix.texi:16262 #, no-wrap msgid "@code{rottlog} (default: @code{rottlog})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16264 msgid "The Rottlog package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:16265 #, no-wrap msgid "@code{rc-file} (default: @code{(file-append rottlog \"/etc/rc\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16268 msgid "" "The Rottlog configuration file to use (@pxref{Mandatory RC Variables,,, " "rottlog, GNU Rot[t]log Manual})." msgstr "" #. type: item #: guix-git/doc/guix.texi:16269 #, no-wrap msgid "@code{rotations} (default: @code{%default-rotations})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16271 msgid "A list of @code{log-rotation} objects as defined below." msgstr "" #. type: table #: guix-git/doc/guix.texi:16275 msgid "" "This is a list of gexps where each gexp corresponds to an mcron job " "specification (@pxref{Scheduled Job Execution})." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16278 #, no-wrap msgid "{Data Type} log-rotation" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16280 msgid "Data type representing the rotation of a group of log files." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16284 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 "" #. type: lisp #: guix-git/doc/guix.texi:16293 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:16296 msgid "The list of fields is as follows:" msgstr "" #. type: item #: guix-git/doc/guix.texi:16298 #, no-wrap msgid "@code{frequency} (default: @code{'weekly})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16300 msgid "The log rotation frequency, a symbol." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:16301 #, no-wrap msgid "files" msgstr "" #. type: table #: guix-git/doc/guix.texi:16303 msgid "The list of files or file glob patterns to rotate." msgstr "" #. type: item #: guix-git/doc/guix.texi:16304 #, no-wrap msgid "@code{options} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16307 msgid "" "The list of rottlog options for this rotation (@pxref{Configuration " "parameters,,, rottlog, GNU Rot[t]lg Manual})." msgstr "" #. type: item #: guix-git/doc/guix.texi:16308 #, no-wrap msgid "@code{post-rotate} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16310 msgid "Either @code{#f} or a gexp to execute once the rotation has completed." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16313 #, no-wrap msgid "{Scheme Variable} %default-rotations" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16316 msgid "" "Specifies weekly rotation of @code{%rotated-files} and of @file{/var/log/" "guix-daemon.log}." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16318 #, no-wrap msgid "{Scheme Variable} %rotated-files" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16322 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 "" #. type: Plain text #: guix-git/doc/guix.texi:16329 msgid "" "The @code{(gnu services networking)} module provides services to configure " "the network interface." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16330 #, no-wrap msgid "DHCP, networking service" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16331 #, no-wrap msgid "{Scheme Variable} dhcp-client-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16335 msgid "" "This is the type of services that run @var{dhcp}, a Dynamic Host " "Configuration Protocol (DHCP) client, on all the non-loopback network " "interfaces. Its value is the DHCP client package to use, @code{isc-dhcp} by " "default." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16337 #, no-wrap msgid "{Scheme Procedure} dhcpd-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16341 msgid "" "This type defines a service that runs a DHCP daemon. To create a service of " "this type, you must supply a @code{}. For example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:16347 #, no-wrap msgid "" "(service dhcpd-service-type\n" " (dhcpd-configuration\n" " (config-file (local-file \"my-dhcpd.conf\"))\n" " (interfaces '(\"enp0s25\"))))\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16350 #, no-wrap msgid "{Data Type} dhcpd-configuration" msgstr "" #. type: item #: guix-git/doc/guix.texi:16352 #, no-wrap msgid "@code{package} (default: @code{isc-dhcp})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16357 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/products/DHCP, ISC's " "DHCP server}." msgstr "" #. type: item #: guix-git/doc/guix.texi:16357 guix-git/doc/guix.texi:16613 #: guix-git/doc/guix.texi:21828 #, no-wrap msgid "@code{config-file} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16362 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 "" #. type: item #: guix-git/doc/guix.texi:16362 #, no-wrap msgid "@code{version} (default: @code{\"4\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16367 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 "" #. type: item #: guix-git/doc/guix.texi:16367 #, no-wrap msgid "@code{run-directory} (default: @code{\"/run/dhcpd\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16370 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:16370 #, no-wrap msgid "@code{pid-file} (default: @code{\"/run/dhcpd/dhcpd.pid\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16373 msgid "" "The PID file to use. This corresponds to the @code{-pf} option of " "@code{dhcpd}. See @code{man dhcpd} for details." msgstr "" #. type: item #: guix-git/doc/guix.texi:16373 #, no-wrap msgid "@code{interfaces} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16379 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 "" #. type: defvr #: guix-git/doc/guix.texi:16382 #, no-wrap msgid "{Scheme Variable} static-networking-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16385 msgid "This is the type for statically-configured network interfaces." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16387 #, no-wrap msgid "{Scheme Procedure} static-networking-service @var{interface} @var{ip} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16395 msgid "" "[#:netmask #f] [#:gateway #f] [#:name-servers @code{'()}] @ [#:requirement " "@code{'(udev)}] Return a service that starts @var{interface} with address " "@var{ip}. If @var{netmask} is true, use it as the network mask. If " "@var{gateway} is true, it must be a string specifying the default network " "gateway. @var{requirement} can be used to declare a dependency on another " "service before configuring the interface." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16400 msgid "" "This procedure can be called several times, one for each network interface " "of interest. Behind the scenes what it does is extend @code{static-" "networking-service-type} with additional network interfaces to handle." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16402 guix-git/doc/guix.texi:29675 msgid "For example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:16407 #, no-wrap msgid "" "(static-networking-service \"eno1\" \"192.168.1.82\"\n" " #:gateway \"192.168.1.2\"\n" " #:name-servers '(\"192.168.1.2\"))\n" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16410 #, no-wrap msgid "wicd" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16413 #, no-wrap msgid "network management" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16414 #, no-wrap msgid "{Scheme Procedure} wicd-service [#:wicd @var{wicd}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16417 msgid "" "Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network " "management daemon that aims to simplify wired and wireless networking." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16422 msgid "" "This service adds the @var{wicd} package to the global profile, providing " "several commands to interact with the daemon and configure networking: " "@command{wicd-client}, a graphical user interface, and the @command{wicd-" "cli} and @command{wicd-curses} user interfaces." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16424 #, no-wrap msgid "ModemManager" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16426 #, no-wrap msgid "{Scheme Variable} modem-manager-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16431 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 "" #. type: defvr #: guix-git/doc/guix.texi:16434 guix-git/doc/guix.texi:16463 #: guix-git/doc/guix.texi:16495 msgid "" "This service is part of @code{%desktop-services} (@pxref{Desktop Services})." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16436 #, no-wrap msgid "{Data Type} modem-manager-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16438 msgid "Data type representing the configuration of ModemManager." msgstr "" #. type: item #: guix-git/doc/guix.texi:16440 #, no-wrap msgid "@code{modem-manager} (default: @code{modem-manager})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16442 msgid "The ModemManager package to use." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16446 #, no-wrap msgid "USB_ModeSwitch" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16447 #, no-wrap msgid "Modeswitching" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16449 #, no-wrap msgid "{Scheme Variable} usb-modeswitch-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16454 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 "" #. type: defvr #: guix-git/doc/guix.texi:16460 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 "" #. type: deftp #: guix-git/doc/guix.texi:16465 #, no-wrap msgid "{Data Type} usb-modeswitch-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16467 msgid "Data type representing the configuration of USB_ModeSwitch." msgstr "" #. type: item #: guix-git/doc/guix.texi:16469 #, no-wrap msgid "@code{usb-modeswitch} (default: @code{usb-modeswitch})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:16471 msgid "The USB_ModeSwitch package providing the binaries for modeswitching." msgstr "" #. type: item #: guix-git/doc/guix.texi:16472 #, no-wrap msgid "@code{usb-modeswitch-data} (default: @code{usb-modeswitch-data})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:16475 msgid "" "The package providing the device data and udev rules file used by " "USB_ModeSwitch." msgstr "" #. type: item #: guix-git/doc/guix.texi:16476 #, no-wrap msgid "@code{config-file} (default: @code{#~(string-append #$usb-modeswitch:dispatcher \"/etc/usb_modeswitch.conf\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16481 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 "" #. type: cindex #: guix-git/doc/guix.texi:16485 #, no-wrap msgid "NetworkManager" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16487 #, no-wrap msgid "{Scheme Variable} network-manager-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16492 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 "" #. type: deftp #: guix-git/doc/guix.texi:16497 #, no-wrap msgid "{Data Type} network-manager-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16499 msgid "Data type representing the configuration of NetworkManager." msgstr "" #. type: item #: guix-git/doc/guix.texi:16501 #, no-wrap msgid "@code{network-manager} (default: @code{network-manager})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16503 msgid "The NetworkManager package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:16504 #, no-wrap msgid "@code{dns} (default: @code{\"default\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16507 msgid "" "Processing mode for DNS, which affects how NetworkManager uses the " "@code{resolv.conf} configuration file." msgstr "" #. type: table #: guix-git/doc/guix.texi:16512 msgid "" "NetworkManager will update @code{resolv.conf} to reflect the nameservers " "provided by currently active connections." msgstr "" #. type: item #: guix-git/doc/guix.texi:16513 #, no-wrap msgid "dnsmasq" msgstr "" #. type: table #: guix-git/doc/guix.texi:16517 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 "" #. type: table #: guix-git/doc/guix.texi:16523 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 "" #. type: table #: guix-git/doc/guix.texi:16530 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 "" #. type: example #: guix-git/doc/guix.texi:16537 #, 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 "" #. type: table #: guix-git/doc/guix.texi:16542 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 "" #. type: table #: guix-git/doc/guix.texi:16545 msgid "NetworkManager will not modify @code{resolv.conf}." msgstr "" #. type: item #: guix-git/doc/guix.texi:16547 #, no-wrap msgid "@code{vpn-plugins} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16551 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 "" #. type: cindex #: guix-git/doc/guix.texi:16555 #, no-wrap msgid "Connman" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16556 #, no-wrap msgid "{Scheme Variable} connman-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16559 msgid "" "This is the service type to run @url{https://01.org/connman,Connman}, a " "network connection manager." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16562 msgid "" "Its value must be an @code{connman-configuration} record as in this example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:16567 #, no-wrap msgid "" "(service connman-service-type\n" " (connman-configuration\n" " (disable-vpn? #t)))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16570 msgid "See below for details about @code{connman-configuration}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16572 #, no-wrap msgid "{Data Type} connman-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16574 msgid "Data Type representing the configuration of connman." msgstr "" #. type: item #: guix-git/doc/guix.texi:16576 #, no-wrap msgid "@code{connman} (default: @var{connman})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16578 msgid "The connman package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:16579 #, no-wrap msgid "@code{disable-vpn?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16581 msgid "When true, disable connman's vpn plugin." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16584 #, no-wrap msgid "WPA Supplicant" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16585 #, no-wrap msgid "{Scheme Variable} wpa-supplicant-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16589 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 "" #. type: deftp #: guix-git/doc/guix.texi:16591 #, no-wrap msgid "{Data Type} wpa-supplicant-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16593 msgid "Data type representing the configuration of WPA Supplicant." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16595 guix-git/doc/guix.texi:31832 msgid "It takes the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:16597 #, no-wrap msgid "@code{wpa-supplicant} (default: @code{wpa-supplicant})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16599 msgid "The WPA Supplicant package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:16600 #, no-wrap msgid "@code{requirement} (default: @code{'(user-processes loopback syslogd)}" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:16602 msgid "List of services that should be started before WPA Supplicant starts." msgstr "" #. type: item #: guix-git/doc/guix.texi:16603 #, no-wrap msgid "@code{dbus?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16605 msgid "Whether to listen for requests on D-Bus." msgstr "" #. type: item #: guix-git/doc/guix.texi:16606 #, no-wrap msgid "@code{pid-file} (default: @code{\"/var/run/wpa_supplicant.pid\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16608 msgid "Where to store the PID file." msgstr "" #. type: item #: guix-git/doc/guix.texi:16609 guix-git/doc/guix.texi:30133 #: guix-git/doc/guix.texi:30275 #, no-wrap msgid "@code{interface} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16612 msgid "" "If this is set, it must specify the name of a network interface that WPA " "supplicant will control." msgstr "" #. type: table #: guix-git/doc/guix.texi:16615 msgid "Optional configuration file to use." msgstr "" #. type: table #: guix-git/doc/guix.texi:16618 msgid "List of additional command-line arguments to pass to the daemon." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16621 #, no-wrap msgid "hostapd service, for Wi-Fi access points" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16622 #, no-wrap msgid "Wi-Fi access points, hostapd service" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16623 #, no-wrap msgid "{Scheme Variable} hostapd-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:16628 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 "" #. type: lisp #: guix-git/doc/guix.texi:16636 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:16639 #, no-wrap msgid "{Data Type} hostapd-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:16642 msgid "" "This data type represents the configuration of the hostapd service, with the " "following fields:" msgstr "" "Этот тип данных представляет машины для сборки, на которые демон может " "разгружать сборки. Важные поля:" #. type: item #: guix-git/doc/guix.texi:16644 #, no-wrap msgid "@code{package} (default: @code{hostapd})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:16646 msgid "The hostapd package to use." msgstr "Используемый пакет hostapd." #. type: item #: guix-git/doc/guix.texi:16647 #, no-wrap msgid "@code{interface} (default: @code{\"wlan0\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:16649 msgid "The network interface to run the WiFi access point." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:16650 #, no-wrap msgid "ssid" msgstr "" #. type: table #: guix-git/doc/guix.texi:16653 msgid "" "The SSID (@dfn{service set identifier}), a string that identifies this " "network." msgstr "" #. type: item #: guix-git/doc/guix.texi:16654 #, no-wrap msgid "@code{broadcast-ssid?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:16656 msgid "Whether to broadcast this SSID." msgstr "" #. type: item #: guix-git/doc/guix.texi:16657 #, no-wrap msgid "@code{channel} (default: @code{1})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:16659 msgid "The WiFi channel to use." msgstr "Используемый канал Wi-Fi." #. type: item #: guix-git/doc/guix.texi:16660 #, no-wrap msgid "@code{driver} (default: @code{\"nl80211\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:16664 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 "" #. type: item #: guix-git/doc/guix.texi:16665 guix-git/doc/guix.texi:22677 #: guix-git/doc/guix.texi:25756 #, no-wrap msgid "@code{extra-settings} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16669 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 "" #. type: defvr #: guix-git/doc/guix.texi:16672 #, no-wrap msgid "{Scheme Variable} simulated-wifi-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:16679 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 "" #. type: defvr #: guix-git/doc/guix.texi:16681 msgid "The service's value is a @code{hostapd-configuration} record." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16683 #, no-wrap msgid "iptables" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16684 #, no-wrap msgid "{Scheme Variable} iptables-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16690 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 "" #. type: lisp #: guix-git/doc/guix.texi:16712 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:16715 #, no-wrap msgid "{Data Type} iptables-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16717 msgid "The data type representing the configuration of iptables." msgstr "" #. type: item #: guix-git/doc/guix.texi:16719 #, no-wrap msgid "@code{iptables} (default: @code{iptables})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16722 msgid "" "The iptables package that provides @code{iptables-restore} and " "@code{ip6tables-restore}." msgstr "" #. type: item #: guix-git/doc/guix.texi:16722 #, no-wrap msgid "@code{ipv4-rules} (default: @code{%iptables-accept-all-rules})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16726 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 "" #. type: item #: guix-git/doc/guix.texi:16726 #, no-wrap msgid "@code{ipv6-rules} (default: @code{%iptables-accept-all-rules})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16730 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 "" #. type: cindex #: guix-git/doc/guix.texi:16733 #, no-wrap msgid "nftables" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16734 #, no-wrap msgid "{Scheme Variable} nftables-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16742 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 "" #. type: lisp #: guix-git/doc/guix.texi:16745 #, no-wrap msgid "(service nftables-service-type)\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16748 #, no-wrap msgid "{Data Type} nftables-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:16750 msgid "The data type representing the configuration of nftables." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:16752 #, no-wrap msgid "@code{package} (default: @code{nftables})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:16754 msgid "The nftables package that provides @command{nft}." msgstr "" #. type: item #: guix-git/doc/guix.texi:16754 #, no-wrap msgid "@code{ruleset} (default: @code{%default-nftables-ruleset})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:16757 msgid "" "The nftables ruleset to use. This may be any ``file-like'' object (@pxref{G-" "Expressions, file-like objects})." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16760 #, no-wrap msgid "NTP (Network Time Protocol), service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16761 #, no-wrap msgid "ntpd, service for the Network Time Protocol daemon" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16762 #, no-wrap msgid "real time clock" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16763 #, no-wrap msgid "{Scheme Variable} ntp-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16767 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 "" #. type: defvr #: guix-git/doc/guix.texi:16770 msgid "" "The value of this service is an @code{ntpd-configuration} object, as " "described below." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16772 #, no-wrap msgid "{Data Type} ntp-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16774 msgid "This is the data type for the NTP service configuration." msgstr "" #. type: item #: guix-git/doc/guix.texi:16776 #, no-wrap msgid "@code{servers} (default: @code{%ntp-servers})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16780 msgid "" "This is the list of servers (@code{} records) with which " "@command{ntpd} will be synchronized. See the @code{ntp-server} data type " "definition below." msgstr "" #. type: item #: guix-git/doc/guix.texi:16781 #, no-wrap msgid "@code{allow-large-adjustment?} (default: @code{#t})" msgstr "@code{parallel-builds} (default: @code{1})" #. type: table #: guix-git/doc/guix.texi:16784 msgid "" "This determines whether @command{ntpd} is allowed to make an initial " "adjustment of more than 1,000 seconds." msgstr "" #. type: item #: guix-git/doc/guix.texi:16785 #, no-wrap msgid "@code{ntp} (default: @code{ntp})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16787 msgid "The NTP package to use." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16790 #, no-wrap msgid "{Scheme Variable} %ntp-servers" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16793 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 "" #. type: deftp #: guix-git/doc/guix.texi:16795 #, no-wrap msgid "{Data Type} ntp-server" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16797 msgid "The data type representing the configuration of a NTP server." msgstr "" #. type: item #: guix-git/doc/guix.texi:16799 #, no-wrap msgid "@code{type} (default: @code{'server})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:16802 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:16803 #, no-wrap msgid "address" msgstr "" #. type: table #: guix-git/doc/guix.texi:16805 msgid "The address of the server, as a string." msgstr "Порядок следования устройств имеет значение." #. type: code{#1} #: guix-git/doc/guix.texi:16806 guix-git/doc/guix.texi:32667 #: guix-git/doc/guix.texi:32687 #, no-wrap msgid "options" msgstr "" #. type: table #: guix-git/doc/guix.texi:16811 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 "" #. type: example #: guix-git/doc/guix.texi:16817 #, no-wrap msgid "" "(ntp-server\n" " (type 'server)\n" " (address \"some.ntp.server.org\")\n" " (options `(iburst (version 3) (maxpoll 16) prefer))))\n" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16821 #, no-wrap msgid "OpenNTPD" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16822 #, no-wrap msgid "{Scheme Procedure} openntpd-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16826 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 "" #. type: lisp #: guix-git/doc/guix.texi:16835 #, 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 "" #. type: defvr #: guix-git/doc/guix.texi:16839 #, no-wrap msgid "{Scheme Variable} %openntpd-servers" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16842 msgid "" "This variable is a list of the server addresses defined in @code{%ntp-" "servers}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16844 #, no-wrap msgid "{Data Type} openntpd-configuration" msgstr "" #. type: item #: guix-git/doc/guix.texi:16846 #, no-wrap msgid "@code{openntpd} (default: @code{(file-append openntpd \"/sbin/ntpd\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16848 msgid "The openntpd executable to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:16848 #, no-wrap msgid "@code{listen-on} (default: @code{'(\"127.0.0.1\" \"::1\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16850 msgid "" "A list of local IP addresses or hostnames the ntpd daemon should listen on." msgstr "" #. type: item #: guix-git/doc/guix.texi:16850 #, no-wrap msgid "@code{query-from} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16852 msgid "" "A list of local IP address the ntpd daemon should use for outgoing queries." msgstr "" #. type: item #: guix-git/doc/guix.texi:16852 #, no-wrap msgid "@code{sensor} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16857 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 "" #. type: item #: guix-git/doc/guix.texi:16857 #, no-wrap msgid "@code{server} (default: @code{'()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:16859 msgid "" "Specify a list of IP addresses or hostnames of NTP servers to synchronize to." msgstr "" #. type: item #: guix-git/doc/guix.texi:16859 #, no-wrap msgid "@code{servers} (default: @code{%openntp-servers})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:16861 msgid "" "Specify a list of IP addresses or hostnames of NTP pools to synchronize to." msgstr "" #. type: item #: guix-git/doc/guix.texi:16861 #, no-wrap msgid "@code{constraint-from} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16868 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 "" #. type: item #: guix-git/doc/guix.texi:16868 #, no-wrap msgid "@code{constraints-from} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16872 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 "" #. type: cindex #: guix-git/doc/guix.texi:16875 #, no-wrap msgid "inetd" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16876 #, no-wrap msgid "{Scheme variable} inetd-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:16881 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 "" #. type: deffn #: guix-git/doc/guix.texi:16887 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 "" #. type: lisp #: guix-git/doc/guix.texi:16910 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:16913 msgid "See below for more details about @code{inetd-configuration}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16915 #, no-wrap msgid "{Data Type} inetd-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16917 msgid "Data type representing the configuration of @command{inetd}." msgstr "" #. type: item #: guix-git/doc/guix.texi:16919 #, no-wrap msgid "@code{program} (default: @code{(file-append inetutils \"/libexec/inetd\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16921 msgid "The @command{inetd} executable to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:16922 guix-git/doc/guix.texi:26598 #, no-wrap msgid "@code{entries} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16925 msgid "" "A list of @command{inetd} service entries. Each entry should be created by " "the @code{inetd-entry} constructor." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16928 #, no-wrap msgid "{Data Type} inetd-entry" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16932 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 "" #. type: item #: guix-git/doc/guix.texi:16934 #, no-wrap msgid "@code{node} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16939 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 "" #. type: table #: guix-git/doc/guix.texi:16941 msgid "A string, the name must correspond to an entry in @code{/etc/services}." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:16941 #, no-wrap msgid "socket-type" msgstr "" #. type: table #: guix-git/doc/guix.texi:16944 msgid "" "One of @code{'stream}, @code{'dgram}, @code{'raw}, @code{'rdm} or " "@code{'seqpacket}." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:16944 #, no-wrap msgid "protocol" msgstr "" #. type: table #: guix-git/doc/guix.texi:16946 msgid "A string, must correspond to an entry in @code{/etc/protocols}." msgstr "" #. type: item #: guix-git/doc/guix.texi:16946 #, no-wrap msgid "@code{wait?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16949 msgid "" "Whether @command{inetd} should wait for the server to exit before listening " "to new service requests." msgstr "" #. type: table #: guix-git/doc/guix.texi:16954 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 "" #. type: item #: guix-git/doc/guix.texi:16954 #, no-wrap msgid "@code{program} (default: @code{\"internal\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:16957 msgid "" "The server program which will serve the requests, or @code{\"internal\"} if " "@command{inetd} should use a built-in service." msgstr "" #. type: table #: guix-git/doc/guix.texi:16962 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 "" #. type: deftp #: guix-git/doc/guix.texi:16966 msgid "" "@xref{Configuration file,,, inetutils, GNU Inetutils} for a more detailed " "discussion of each configuration field." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16968 #, no-wrap msgid "opendht, distributed hash table network service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:16969 #, no-wrap msgid "dhtproxy, for use with jami" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:16970 #, no-wrap msgid "{Scheme Variable} opendht-service-type" msgstr "{Scheme Variable} etc-service-type" #. type: defvr #: guix-git/doc/guix.texi:16975 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 "" #. type: quotation #: guix-git/doc/guix.texi:16985 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 "" #. type: defvr #: guix-git/doc/guix.texi:16989 msgid "" "The value of this service is a @code{opendht-configuration} object, as " "described below." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:16991 #, no-wrap msgid "{Data Type} opendht-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:16993 msgid "This is the data type for the OpenDHT service configuration." msgstr "Управление конфигурацией операционной системы." #. type: deftp #: guix-git/doc/guix.texi:16998 msgid "Available @code{opendht-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:16999 #, no-wrap msgid "{@code{opendht-configuration} parameter} package opendht" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17001 msgid "The @code{opendht} package to use." msgstr "Используемый пакет @code{webssh}." #. type: deftypevr #: guix-git/doc/guix.texi:17004 #, no-wrap msgid "{@code{opendht-configuration} parameter} boolean peer-discovery?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17006 msgid "Whether to enable the multicast local peer discovery mechanism." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17008 guix-git/doc/guix.texi:17016 #: guix-git/doc/guix.texi:17024 guix-git/doc/guix.texi:18668 #: guix-git/doc/guix.texi:18738 guix-git/doc/guix.texi:18780 #: guix-git/doc/guix.texi:18800 guix-git/doc/guix.texi:18806 #: guix-git/doc/guix.texi:18822 guix-git/doc/guix.texi:18910 #: guix-git/doc/guix.texi:18998 guix-git/doc/guix.texi:19311 #: guix-git/doc/guix.texi:19324 guix-git/doc/guix.texi:20441 #: guix-git/doc/guix.texi:21919 guix-git/doc/guix.texi:22025 #: guix-git/doc/guix.texi:22090 guix-git/doc/guix.texi:22099 #: guix-git/doc/guix.texi:23332 guix-git/doc/guix.texi:23376 #: guix-git/doc/guix.texi:23393 guix-git/doc/guix.texi:23401 #: guix-git/doc/guix.texi:23416 guix-git/doc/guix.texi:23434 #: guix-git/doc/guix.texi:23458 guix-git/doc/guix.texi:23511 #: guix-git/doc/guix.texi:23644 guix-git/doc/guix.texi:23678 #: guix-git/doc/guix.texi:23714 guix-git/doc/guix.texi:23730 #: guix-git/doc/guix.texi:23758 guix-git/doc/guix.texi:23819 #: guix-git/doc/guix.texi:23902 guix-git/doc/guix.texi:27310 #: guix-git/doc/guix.texi:27324 guix-git/doc/guix.texi:27346 #: guix-git/doc/guix.texi:27465 guix-git/doc/guix.texi:27479 #: guix-git/doc/guix.texi:27500 guix-git/doc/guix.texi:27521 #: guix-git/doc/guix.texi:27528 guix-git/doc/guix.texi:27573 #: guix-git/doc/guix.texi:27580 guix-git/doc/guix.texi:28366 #: guix-git/doc/guix.texi:28380 guix-git/doc/guix.texi:28552 #: guix-git/doc/guix.texi:28597 guix-git/doc/guix.texi:28684 #: guix-git/doc/guix.texi:28886 guix-git/doc/guix.texi:28919 #: guix-git/doc/guix.texi:29059 guix-git/doc/guix.texi:29070 #: guix-git/doc/guix.texi:29321 guix-git/doc/guix.texi:30787 #: guix-git/doc/guix.texi:30796 guix-git/doc/guix.texi:30804 #: guix-git/doc/guix.texi:30812 guix-git/doc/guix.texi:30828 #: guix-git/doc/guix.texi:30844 guix-git/doc/guix.texi:30852 #: guix-git/doc/guix.texi:30860 guix-git/doc/guix.texi:30869 #: guix-git/doc/guix.texi:30878 guix-git/doc/guix.texi:30894 #: guix-git/doc/guix.texi:30958 guix-git/doc/guix.texi:31064 #: guix-git/doc/guix.texi:31072 guix-git/doc/guix.texi:31080 #: guix-git/doc/guix.texi:31105 guix-git/doc/guix.texi:31159 #: guix-git/doc/guix.texi:31207 guix-git/doc/guix.texi:31408 #: guix-git/doc/guix.texi:31415 msgid "Defaults to @samp{#f}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17011 #, no-wrap msgid "{@code{opendht-configuration} parameter} boolean enable-logging?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17014 msgid "" "Whether to enable logging messages to syslog. It is disabled by default as " "it is rather verbose." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17019 #, no-wrap msgid "{@code{opendht-configuration} parameter} boolean debug?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17022 msgid "" "Whether to enable debug-level logging messages. This has no effect if " "logging is disabled." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17027 #, no-wrap msgid "{@code{opendht-configuration} parameter} maybe-string bootstrap-host" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17033 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 bootsrapping by " "setting this to the @code{'disabled} symbol." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17035 msgid "Defaults to @samp{\"bootstrap.jami.net:4222\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17038 #, no-wrap msgid "{@code{opendht-configuration} parameter} maybe-number port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17041 msgid "" "The UDP port to bind to. When set to @code{'disabled}, an available port is " "automatically selected." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17043 msgid "Defaults to @samp{4222}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17046 #, no-wrap msgid "{@code{opendht-configuration} parameter} maybe-number proxy-server-port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17048 msgid "Spawn a proxy server listening on the specified port." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17050 guix-git/doc/guix.texi:17057 #: guix-git/doc/guix.texi:23340 guix-git/doc/guix.texi:23384 #: guix-git/doc/guix.texi:23597 guix-git/doc/guix.texi:23653 #: guix-git/doc/guix.texi:23827 guix-git/doc/guix.texi:23838 #: guix-git/doc/guix.texi:23911 guix-git/doc/guix.texi:24636 #: guix-git/doc/guix.texi:24679 guix-git/doc/guix.texi:24687 #: guix-git/doc/guix.texi:24695 guix-git/doc/guix.texi:24703 #: guix-git/doc/guix.texi:24712 guix-git/doc/guix.texi:24720 #: guix-git/doc/guix.texi:24727 guix-git/doc/guix.texi:24735 #: guix-git/doc/guix.texi:24743 guix-git/doc/guix.texi:24753 #: guix-git/doc/guix.texi:24760 guix-git/doc/guix.texi:24784 #: guix-git/doc/guix.texi:24792 guix-git/doc/guix.texi:24818 #: guix-git/doc/guix.texi:24827 guix-git/doc/guix.texi:24836 #: guix-git/doc/guix.texi:24845 guix-git/doc/guix.texi:24854 #: guix-git/doc/guix.texi:24863 guix-git/doc/guix.texi:24871 #: guix-git/doc/guix.texi:24879 guix-git/doc/guix.texi:24886 #: guix-git/doc/guix.texi:24894 guix-git/doc/guix.texi:24901 #: guix-git/doc/guix.texi:24909 guix-git/doc/guix.texi:24917 #: guix-git/doc/guix.texi:24926 guix-git/doc/guix.texi:24935 #: guix-git/doc/guix.texi:24943 guix-git/doc/guix.texi:24951 #: guix-git/doc/guix.texi:24959 guix-git/doc/guix.texi:24970 #: guix-git/doc/guix.texi:24980 guix-git/doc/guix.texi:24991 #: guix-git/doc/guix.texi:25000 guix-git/doc/guix.texi:25010 #: guix-git/doc/guix.texi:25018 guix-git/doc/guix.texi:25029 #: guix-git/doc/guix.texi:25038 guix-git/doc/guix.texi:25048 #: guix-git/doc/guix.texi:28279 guix-git/doc/guix.texi:28286 #: guix-git/doc/guix.texi:28293 guix-git/doc/guix.texi:28300 #: guix-git/doc/guix.texi:28307 guix-git/doc/guix.texi:28314 #: guix-git/doc/guix.texi:28322 guix-git/doc/guix.texi:28330 #: guix-git/doc/guix.texi:28337 guix-git/doc/guix.texi:28344 #: guix-git/doc/guix.texi:28351 guix-git/doc/guix.texi:28358 #: guix-git/doc/guix.texi:28388 guix-git/doc/guix.texi:28426 #: guix-git/doc/guix.texi:28433 guix-git/doc/guix.texi:28442 #: guix-git/doc/guix.texi:28464 guix-git/doc/guix.texi:28472 #: guix-git/doc/guix.texi:28479 guix-git/doc/guix.texi:28634 #: guix-git/doc/guix.texi:28654 guix-git/doc/guix.texi:28669 #: guix-git/doc/guix.texi:28676 guix-git/doc/guix.texi:31360 #: guix-git/doc/guix.texi:31368 guix-git/doc/guix.texi:31376 #: guix-git/doc/guix.texi:31384 guix-git/doc/guix.texi:31392 #: guix-git/doc/guix.texi:31400 msgid "Defaults to @samp{disabled}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17053 #, no-wrap msgid "{@code{opendht-configuration} parameter} maybe-number proxy-server-port-tls" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:17055 msgid "" "Spawn a proxy server listening to TLS connections on the specified port." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:17061 #, no-wrap msgid "Tor" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17062 #, no-wrap msgid "{Scheme Variable} tor-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17067 msgid "" "This is the type for a service that runs the @uref{https://torproject.org, " "Tor} anonymous networking daemon. The service is configured using a " "@code{} record. By default, the Tor daemon runs as the " "@code{tor} unprivileged user, which is a member of the @code{tor} group." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17070 #, no-wrap msgid "{Data Type} tor-configuration" msgstr "" #. type: item #: guix-git/doc/guix.texi:17072 #, no-wrap msgid "@code{tor} (default: @code{tor})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17077 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 "" #. type: item #: guix-git/doc/guix.texi:17078 #, no-wrap msgid "@code{config-file} (default: @code{(plain-file \"empty\" \"\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17084 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 "" #. type: item #: guix-git/doc/guix.texi:17085 #, no-wrap msgid "@code{hidden-services} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17091 msgid "" "The list of @code{} records to use. For any hidden service " "you include in this list, appropriate configuration to enable the hidden " "service will be automatically added to the default configuration file. You " "may conveniently create @code{} records using the @code{tor-" "hidden-service} procedure described below." msgstr "" #. type: item #: guix-git/doc/guix.texi:17092 #, no-wrap msgid "@code{socks-socket-type} (default: @code{'tcp})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17099 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 "" #. type: table #: guix-git/doc/guix.texi:17104 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 "" #. type: item #: guix-git/doc/guix.texi:17105 #, no-wrap msgid "@code{control-socket?} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17111 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 "" #. type: cindex #: guix-git/doc/guix.texi:17115 #, no-wrap msgid "hidden service" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17116 #, no-wrap msgid "{Scheme Procedure} tor-hidden-service @var{name} @var{mapping}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17119 msgid "" "Define a new Tor @dfn{hidden service} called @var{name} and implementing " "@var{mapping}. @var{mapping} is a list of port/host tuples, such as:" msgstr "" #. type: example #: guix-git/doc/guix.texi:17123 #, no-wrap msgid "" " '((22 \"127.0.0.1:22\")\n" " (80 \"127.0.0.1:8080\"))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17127 msgid "" "In this example, port 22 of the hidden service is mapped to local port 22, " "and port 80 is mapped to local port 8080." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17131 msgid "" "This creates a @file{/var/lib/tor/hidden-services/@var{name}} directory, " "where the @file{hostname} file contains the @code{.onion} host name for the " "hidden service." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17134 msgid "" "See @uref{https://www.torproject.org/docs/tor-hidden-service.html.en, the " "Tor project's documentation} for more information." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:17137 msgid "The @code{(gnu services rsync)} module provides the following services:" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:17141 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 "" #. type: deffn #: guix-git/doc/guix.texi:17142 #, no-wrap msgid "{Scheme Variable} rsync-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17146 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 "" #. type: lisp #: guix-git/doc/guix.texi:17149 #, no-wrap msgid "(service rsync-service-type)\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17152 msgid "See below for details about @code{rsync-configuration}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17154 #, no-wrap msgid "{Data Type} rsync-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17156 msgid "Data type representing the configuration for @code{rsync-service}." msgstr "" #. type: item #: guix-git/doc/guix.texi:17158 #, no-wrap msgid "@code{package} (default: @var{rsync})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17160 msgid "@code{rsync} package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:17161 #, no-wrap msgid "@code{port-number} (default: @code{873})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17165 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 "" #. type: item #: guix-git/doc/guix.texi:17166 #, no-wrap msgid "@code{pid-file} (default: @code{\"/var/run/rsyncd/rsyncd.pid\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17168 msgid "Name of the file where @command{rsync} writes its PID." msgstr "" #. type: item #: guix-git/doc/guix.texi:17169 #, no-wrap msgid "@code{lock-file} (default: @code{\"/var/run/rsyncd/rsyncd.lock\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17171 msgid "Name of the file where @command{rsync} writes its lock file." msgstr "" #. type: item #: guix-git/doc/guix.texi:17172 #, no-wrap msgid "@code{log-file} (default: @code{\"/var/log/rsyncd.log\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17174 msgid "Name of the file where @command{rsync} writes its log file." msgstr "" #. type: item #: guix-git/doc/guix.texi:17175 #, no-wrap msgid "@code{use-chroot?} (default: @var{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17177 msgid "Whether to use chroot for @command{rsync} shared directory." msgstr "" #. type: item #: guix-git/doc/guix.texi:17178 #, no-wrap msgid "@code{share-path} (default: @file{/srv/rsync})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17180 msgid "Location of the @command{rsync} shared directory." msgstr "" #. type: item #: guix-git/doc/guix.texi:17181 #, no-wrap msgid "@code{share-comment} (default: @code{\"Rsync share\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17183 msgid "Comment of the @command{rsync} shared directory." msgstr "" #. type: item #: guix-git/doc/guix.texi:17184 #, no-wrap msgid "@code{read-only?} (default: @var{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17186 msgid "Read-write permissions to shared directory." msgstr "" #. type: item #: guix-git/doc/guix.texi:17187 #, no-wrap msgid "@code{timeout} (default: @code{300})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17189 msgid "I/O timeout in seconds." msgstr "" #. type: item #: guix-git/doc/guix.texi:17190 #, no-wrap msgid "@code{user} (default: @var{\"root\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17192 msgid "Owner of the @code{rsync} process." msgstr "" #. type: item #: guix-git/doc/guix.texi:17193 #, no-wrap msgid "@code{group} (default: @var{\"root\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17195 msgid "Group of the @code{rsync} process." msgstr "" #. type: item #: guix-git/doc/guix.texi:17196 #, no-wrap msgid "@code{uid} (default: @var{\"rsyncd\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17199 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 "" #. type: item #: guix-git/doc/guix.texi:17200 #, no-wrap msgid "@code{gid} (default: @var{\"rsyncd\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17202 guix-git/doc/guix.texi:17645 msgid "Group name or group ID that will be used when accessing the module." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:17207 msgid "" "The @code{(gnu services syncthing)} module provides the following services:" msgstr "" "Модуль @code{(guix inferior)} предоставляет следующие процедуры для работы с " "ранними версиями:" #. type: cindex #: guix-git/doc/guix.texi:17207 #, no-wrap msgid "syncthing" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:17212 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 "" #. type: deffn #: guix-git/doc/guix.texi:17213 #, no-wrap msgid "{Scheme Variable} syncthing-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: deffn #: guix-git/doc/guix.texi:17217 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 "" #. type: lisp #: guix-git/doc/guix.texi:17221 #, no-wrap msgid "" "(service syncthing-service-type\n" " (syncthing-configuration (user \"alice\")))\n" msgstr "" "(service openssh-service-type\n" " (openssh-configuration))\n" #. type: deffn #: guix-git/doc/guix.texi:17224 msgid "See below for details about @code{syncthing-configuration}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17225 #, no-wrap msgid "{Data Type} syncthing-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:17227 msgid "" "Data type representing the configuration for @code{syncthing-service-type}." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:17229 #, no-wrap msgid "@code{syncthing} (default: @var{syncthing})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:17231 msgid "@code{syncthing} package to use." msgstr "пакет @code{syncthing} для использования." #. type: item #: guix-git/doc/guix.texi:17232 #, no-wrap msgid "@code{arguments} (default: @var{'()})" msgstr "@code{arguments} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:17234 msgid "List of command-line arguments passing to @code{syncthing} binary." msgstr "" "Список флагов командной строки, которые следует передать команде " "@code{patch}." #. type: item #: guix-git/doc/guix.texi:17235 #, no-wrap msgid "@code{logflags} (default: @var{0})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:17238 msgid "" "Sum of logging flags, see @uref{https://docs.syncthing.net/users/syncthing." "html#cmdoption-logflags, Syncthing documentation logflags}." msgstr "" #. type: item #: guix-git/doc/guix.texi:17239 #, no-wrap msgid "@code{user} (default: @var{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:17242 msgid "" "The user as which the Syncthing service is to be run. This assumes that the " "specified user exists." msgstr "" #. type: item #: guix-git/doc/guix.texi:17243 #, no-wrap msgid "@code{group} (default: @var{\"users\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17246 msgid "" "The group as which the Syncthing service is to be run. This assumes that " "the specified group exists." msgstr "" #. type: item #: guix-git/doc/guix.texi:17247 #, no-wrap msgid "@code{home} (default: @var{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:17250 msgid "" "Common configuration and data directory. The default configuration " "directory is @file{$HOME} of the specified Syncthing @code{user}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:17256 msgid "Furthermore, @code{(gnu services ssh)} provides the following services." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:17256 guix-git/doc/guix.texi:17295 #: guix-git/doc/guix.texi:34581 #, no-wrap msgid "SSH" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:17257 guix-git/doc/guix.texi:17296 #: guix-git/doc/guix.texi:34582 #, no-wrap msgid "SSH server" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17259 #, no-wrap msgid "{Scheme Procedure} lsh-service [#:host-key \"/etc/lsh/host-key\"] @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17268 msgid "" "[#:daemonic? #t] [#:interfaces '()] [#:port-number 22] @ [#:allow-empty-" "passwords? #f] [#:root-login? #f] @ [#:syslog-output? #t] [#:x11-forwarding? " "#t] @ [#:tcp/ip-forwarding? #t] [#:password-authentication? #t] @ [#:public-" "key-authentication? #t] [#:initialize? #t] Run the @command{lshd} program " "from @var{lsh} to listen on port @var{port-number}. @var{host-key} must " "designate a file containing the host key, and readable only by root." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17274 msgid "" "When @var{daemonic?} is true, @command{lshd} will detach from the " "controlling terminal and log its output to syslogd, unless one sets " "@var{syslog-output?} to false. Obviously, it also makes lsh-service depend " "on existence of syslogd service. When @var{pid-file?} is true, " "@command{lshd} writes its PID to the file called @var{pid-file}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17278 msgid "" "When @var{initialize?} is true, automatically create the seed and host key " "upon service activation if they do not exist yet. This may take long and " "require interaction." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17283 msgid "" "When @var{initialize?} is false, 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 "" #. type: deffn #: guix-git/doc/guix.texi:17287 msgid "" "When @var{interfaces} is empty, lshd listens for connections on all the " "network interfaces; otherwise, @var{interfaces} must be a list of host names " "or addresses." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17291 msgid "" "@var{allow-empty-passwords?} specifies whether to accept log-ins with empty " "passwords, and @var{root-login?} specifies whether to accept log-ins as root." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17293 msgid "The other options should be self-descriptive." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17297 #, no-wrap msgid "{Scheme Variable} openssh-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17301 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 "" #. type: lisp #: guix-git/doc/guix.texi:17310 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:17313 msgid "See below for details about @code{openssh-configuration}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17316 msgid "" "This service can be extended with extra authorized keys, as in this example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:17321 #, no-wrap msgid "" "(service-extension openssh-service-type\n" " (const `((\"charlie\"\n" " ,(local-file \"charlie.pub\")))))\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17324 #, no-wrap msgid "{Data Type} openssh-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17326 msgid "This is the configuration record for OpenSSH's @command{sshd}." msgstr "" #. type: item #: guix-git/doc/guix.texi:17328 #, no-wrap msgid "@code{openssh} (default @var{openssh})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17330 msgid "The Openssh package to use." msgstr "Используемый пакет Openssh." #. type: item #: guix-git/doc/guix.texi:17331 #, no-wrap msgid "@code{pid-file} (default: @code{\"/var/run/sshd.pid\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17333 msgid "Name of the file where @command{sshd} writes its PID." msgstr "" #. type: item #: guix-git/doc/guix.texi:17334 #, no-wrap msgid "@code{port-number} (default: @code{22})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17336 msgid "TCP port on which @command{sshd} listens for incoming connections." msgstr "" #. type: item #: guix-git/doc/guix.texi:17337 #, no-wrap msgid "@code{permit-root-login} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17342 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 "" #. type: item #: guix-git/doc/guix.texi:17343 guix-git/doc/guix.texi:17504 #, no-wrap msgid "@code{allow-empty-passwords?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17346 msgid "" "When true, users with empty passwords may log in. When false, they may not." msgstr "" #. type: item #: guix-git/doc/guix.texi:17347 guix-git/doc/guix.texi:17507 #, no-wrap msgid "@code{password-authentication?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17350 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:17351 #, no-wrap msgid "@code{public-key-authentication?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17354 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:17357 msgid "" "Authorized public keys are stored in @file{~/.ssh/authorized_keys}. This is " "used only by protocol version 2." msgstr "" #. type: item #: guix-git/doc/guix.texi:17358 #, no-wrap msgid "@code{x11-forwarding?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17362 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 "" #. type: item #: guix-git/doc/guix.texi:17363 #, no-wrap msgid "@code{allow-agent-forwarding?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17365 msgid "Whether to allow agent forwarding." msgstr "" #. type: item #: guix-git/doc/guix.texi:17366 #, no-wrap msgid "@code{allow-tcp-forwarding?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17368 msgid "Whether to allow TCP forwarding." msgstr "" #. type: item #: guix-git/doc/guix.texi:17369 #, no-wrap msgid "@code{gateway-ports?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17371 msgid "Whether to allow gateway ports." msgstr "" #. type: item #: guix-git/doc/guix.texi:17372 #, no-wrap msgid "@code{challenge-response-authentication?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17375 msgid "" "Specifies whether challenge response authentication is allowed (e.g.@: via " "PAM)." msgstr "" #. type: item #: guix-git/doc/guix.texi:17376 #, no-wrap msgid "@code{use-pam?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17382 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 "" #. type: table #: guix-git/doc/guix.texi:17387 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 "" #. type: item #: guix-git/doc/guix.texi:17388 #, no-wrap msgid "@code{print-last-log?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17391 msgid "" "Specifies whether @command{sshd} should print the date and time of the last " "user login when a user logs in interactively." msgstr "" #. type: item #: guix-git/doc/guix.texi:17392 #, no-wrap msgid "@code{subsystems} (default: @code{'((\"sftp\" \"internal-sftp\"))})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17394 msgid "Configures external subsystems (e.g.@: file transfer daemon)." msgstr "" #. type: table #: guix-git/doc/guix.texi:17398 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:17401 msgid "" "The command @command{internal-sftp} implements an in-process SFTP server. " "Alternatively, one can specify the @command{sftp-server} command:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:17406 #, no-wrap msgid "" "(service openssh-service-type\n" " (openssh-configuration\n" " (subsystems\n" " `((\"sftp\" ,(file-append openssh \"/libexec/sftp-server\"))))))\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:17408 #, no-wrap msgid "@code{accepted-environment} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17410 msgid "List of strings describing which environment variables may be exported." msgstr "" #. type: table #: guix-git/doc/guix.texi:17413 msgid "" "Each string gets on its own line. See the @code{AcceptEnv} option in " "@code{man sshd_config}." msgstr "" #. type: table #: guix-git/doc/guix.texi:17418 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 "" #. type: lisp #: guix-git/doc/guix.texi:17423 #, no-wrap msgid "" "(service openssh-service-type\n" " (openssh-configuration\n" " (accepted-environment '(\"COLORTERM\"))))\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:17425 #, no-wrap msgid "@code{authorized-keys} (default: @code{'()})" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:17426 #, no-wrap msgid "authorized keys, SSH" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:17427 #, no-wrap msgid "SSH authorized keys" msgstr "" #. type: table #: guix-git/doc/guix.texi:17431 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 "" #. type: lisp #: guix-git/doc/guix.texi:17438 #, 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 "" #. type: table #: guix-git/doc/guix.texi:17443 msgid "" "registers the specified public keys for user accounts @code{rekado}, " "@code{chris}, and @code{root}." msgstr "" #. type: table #: guix-git/doc/guix.texi:17446 msgid "" "Additional authorized keys can be specified @i{via} @code{service-extension}." msgstr "" #. type: table #: guix-git/doc/guix.texi:17449 msgid "" "Note that this does @emph{not} interfere with the use of @file{~/.ssh/" "authorized_keys}." msgstr "" #. type: item #: guix-git/doc/guix.texi:17450 guix-git/doc/guix.texi:17881 #, no-wrap msgid "@code{log-level} (default: @code{'info})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17454 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 "" #. type: item #: guix-git/doc/guix.texi:17455 guix-git/doc/guix.texi:20277 #: guix-git/doc/guix.texi:25418 #, no-wrap msgid "@code{extra-content} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17460 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 "" #. type: lisp #: guix-git/doc/guix.texi:17466 #, no-wrap msgid "" "(openssh-configuration\n" " (extra-content \"\\\n" "Match Address 192.168.0.1\n" " PermitRootLogin yes\"))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17471 #, no-wrap msgid "{Scheme Procedure} dropbear-service [@var{config}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17475 msgid "" "Run the @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,Dropbear SSH " "daemon} with the given @var{config}, a @code{} " "object." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17478 msgid "" "For example, to specify a Dropbear service listening on port 1234, add this " "call to the operating system's @code{services} field:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:17482 #, no-wrap msgid "" "(dropbear-service (dropbear-configuration\n" " (port-number 1234)))\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17485 #, no-wrap msgid "{Data Type} dropbear-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17487 msgid "This data type represents the configuration of a Dropbear SSH daemon." msgstr "" #. type: item #: guix-git/doc/guix.texi:17489 #, no-wrap msgid "@code{dropbear} (default: @var{dropbear})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17491 msgid "The Dropbear package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:17492 #, no-wrap msgid "@code{port-number} (default: 22)" msgstr "" #. type: table #: guix-git/doc/guix.texi:17494 msgid "The TCP port where the daemon waits for incoming connections." msgstr "" #. type: item #: guix-git/doc/guix.texi:17495 #, no-wrap msgid "@code{syslog-output?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17497 msgid "Whether to enable syslog output." msgstr "" #. type: item #: guix-git/doc/guix.texi:17498 #, no-wrap msgid "@code{pid-file} (default: @code{\"/var/run/dropbear.pid\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17500 msgid "File name of the daemon's PID file." msgstr "" #. type: item #: guix-git/doc/guix.texi:17501 #, no-wrap msgid "@code{root-login?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17503 msgid "Whether to allow @code{root} logins." msgstr "" #. type: table #: guix-git/doc/guix.texi:17506 msgid "Whether to allow empty passwords." msgstr "" #. type: table #: guix-git/doc/guix.texi:17509 msgid "Whether to enable password-based authentication." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:17512 #, no-wrap msgid "AutoSSH" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17513 #, no-wrap msgid "{Scheme Variable} autossh-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: deffn #: guix-git/doc/guix.texi:17521 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 "" #. type: deffn #: guix-git/doc/guix.texi:17525 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 "" #. type: deffn #: guix-git/doc/guix.texi:17530 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 "" #. type: lisp #: guix-git/doc/guix.texi:17536 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:17539 #, no-wrap msgid "{Data Type} autossh-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:17541 msgid "This data type represents the configuration of an AutoSSH service." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:17544 #, no-wrap msgid "@code{user} (default @code{\"autossh\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17547 msgid "" "The user as which the AutoSSH service is to be run. This assumes that the " "specified user exists." msgstr "" #. type: item #: guix-git/doc/guix.texi:17548 #, no-wrap msgid "@code{poll} (default @code{600})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17550 msgid "Specifies the connection poll time in seconds." msgstr "" #. type: item #: guix-git/doc/guix.texi:17551 #, no-wrap msgid "@code{first-poll} (default @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17557 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 "" #. type: item #: guix-git/doc/guix.texi:17558 #, no-wrap msgid "@code{gate-time} (default @code{30})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17561 msgid "" "Specifies how many seconds an SSH connection must be active before it is " "considered successful." msgstr "" #. type: item #: guix-git/doc/guix.texi:17562 #, no-wrap msgid "@code{log-level} (default @code{1})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:17565 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 "" #. type: item #: guix-git/doc/guix.texi:17566 #, no-wrap msgid "@code{max-start} (default @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17569 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 "" #. type: item #: guix-git/doc/guix.texi:17570 #, no-wrap msgid "@code{message} (default @code{\"\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17572 msgid "" "The message to append to the echo message sent when testing connections." msgstr "" #. type: item #: guix-git/doc/guix.texi:17573 #, no-wrap msgid "@code{port} (default @code{\"0\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17583 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 "" #. type: item #: guix-git/doc/guix.texi:17584 #, no-wrap msgid "@code{ssh-options} (default @code{'()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:17588 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 "" #. type: cindex #: guix-git/doc/guix.texi:17592 #, no-wrap msgid "WebSSH" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17593 #, no-wrap msgid "{Scheme Variable} webssh-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: deffn #: guix-git/doc/guix.texi:17599 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 "" #. type: deffn #: guix-git/doc/guix.texi:17605 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 "" #. type: lisp #: guix-git/doc/guix.texi:17613 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:17629 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:17632 #, no-wrap msgid "{Data Type} webssh-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:17634 msgid "Data type representing the configuration for @code{webssh-service}." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:17636 #, no-wrap msgid "@code{package} (default: @var{webssh})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17638 msgid "@code{webssh} package to use." msgstr "Используемый пакет @code{webssh}." #. type: item #: guix-git/doc/guix.texi:17639 #, no-wrap msgid "@code{user-name} (default: @var{\"webssh\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17642 msgid "" "User name or user ID that file transfers to and from that module should take " "place." msgstr "" #. type: item #: guix-git/doc/guix.texi:17643 #, no-wrap msgid "@code{group-name} (default: @var{\"webssh\"})" msgstr "@code{port} (default: @code{22})" #. type: item #: guix-git/doc/guix.texi:17646 #, no-wrap msgid "@code{address} (default: @var{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:17648 msgid "IP address on which @command{webssh} listens for incoming connections." msgstr "" #. type: item #: guix-git/doc/guix.texi:17649 #, no-wrap msgid "@code{port} (default: @var{8888})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17651 msgid "TCP port on which @command{webssh} listens for incoming connections." msgstr "" #. type: item #: guix-git/doc/guix.texi:17652 #, no-wrap msgid "@code{policy} (default: @var{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:17654 msgid "" "Connection policy. @var{reject} policy requires to specify @var{known-" "hosts}." msgstr "" #. type: item #: guix-git/doc/guix.texi:17655 #, no-wrap msgid "@code{known-hosts} (default: @var{'()})" msgstr "@code{inputs} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:17657 msgid "List of hosts which allowed for SSH connection from @command{webssh}." msgstr "" #. type: item #: guix-git/doc/guix.texi:17658 #, no-wrap msgid "@code{log-file} (default: @file{\"/var/log/webssh.log\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:17660 msgid "Name of the file where @command{webssh} writes its log file." msgstr "" #. type: item #: guix-git/doc/guix.texi:17661 #, no-wrap msgid "@code{log-level} (default: @var{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:17663 msgid "Logging level." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17667 #, no-wrap msgid "{Scheme Variable} %facebook-host-aliases" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17673 msgid "" "This variable contains a string for use in @file{/etc/hosts} (@pxref{Host " "Names,,, libc, The GNU C Library Reference Manual}). Each line contains a " "entry that maps a known server name of the Facebook on-line service---e.g., " "@code{www.facebook.com}---to the local host---@code{127.0.0.1} or its IPv6 " "equivalent, @code{::1}." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17677 msgid "" "This variable is typically used in the @code{hosts-file} field of an " "@code{operating-system} declaration (@pxref{operating-system Reference, " "@file{/etc/hosts}}):" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:17690 #, no-wrap msgid "" "(operating-system\n" " (host-name \"mymachine\")\n" " ;; ...\n" " (hosts-file\n" " ;; Create a /etc/hosts file with aliases for \"localhost\"\n" " ;; and \"mymachine\", as well as for Facebook servers.\n" " (plain-file \"hosts\"\n" " (string-append (local-host-aliases host-name)\n" " %facebook-host-aliases))))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17694 msgid "" "This mechanism can prevent programs running locally, such as Web browsers, " "from accessing Facebook." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:17697 msgid "The @code{(gnu services avahi)} provides the following definition." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17698 #, no-wrap msgid "{Scheme Variable} avahi-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17703 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 "" #. type: defvr #: guix-git/doc/guix.texi:17708 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 "" #. type: defvr #: guix-git/doc/guix.texi:17711 msgid "" "Additionally, add the @var{avahi} package to the system profile so that " "commands such as @command{avahi-browse} are directly usable." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17713 #, no-wrap msgid "{Data Type} avahi-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17715 msgid "Data type representation the configuration for Avahi." msgstr "" #. type: item #: guix-git/doc/guix.texi:17718 #, no-wrap msgid "@code{host-name} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17721 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 "" #. type: item #: guix-git/doc/guix.texi:17722 guix-git/doc/guix.texi:28072 #, no-wrap msgid "@code{publish?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17725 msgid "" "When true, allow host names and services to be published (broadcast) over " "the network." msgstr "" #. type: item #: guix-git/doc/guix.texi:17726 #, no-wrap msgid "@code{publish-workstation?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17730 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 "" #. type: example #: guix-git/doc/guix.texi:17733 #, no-wrap msgid "avahi-browse _workstation._tcp\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:17735 #, no-wrap msgid "@code{wide-area?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17737 msgid "When true, DNS-SD over unicast DNS is enabled." msgstr "" #. type: item #: guix-git/doc/guix.texi:17738 #, no-wrap msgid "@code{ipv4?} (default: @code{#t})" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:17739 #, no-wrap msgid "@code{ipv6?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17741 msgid "These fields determine whether to use IPv4/IPv6 sockets." msgstr "" #. type: item #: guix-git/doc/guix.texi:17742 #, no-wrap msgid "@code{domains-to-browse} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17744 msgid "This is a list of domains to browse." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17747 #, no-wrap msgid "{Scheme Variable} openvswitch-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:17751 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 "" #. type: deftp #: guix-git/doc/guix.texi:17753 #, no-wrap msgid "{Data Type} openvswitch-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17757 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 "" #. type: item #: guix-git/doc/guix.texi:17759 #, no-wrap msgid "@code{package} (default: @var{openvswitch})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17761 msgid "Package object of the Open vSwitch." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17765 #, no-wrap msgid "{Scheme Variable} pagekite-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17770 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 "" #. type: defvr #: guix-git/doc/guix.texi:17772 msgid "Here's an example exposing the local HTTP and SSH daemons:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:17779 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:17782 #, no-wrap msgid "{Data Type} pagekite-configuration" msgstr "{Data Type} pagekite-configuration" #. type: deftp #: guix-git/doc/guix.texi:17784 msgid "Data type representing the configuration of PageKite." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:17786 #, no-wrap msgid "@code{package} (default: @var{pagekite})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17788 msgid "Package object of PageKite." msgstr "" #. type: item #: guix-git/doc/guix.texi:17789 #, no-wrap msgid "@code{kitename} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:17791 msgid "PageKite name for authenticating to the frontend server." msgstr "" #. type: item #: guix-git/doc/guix.texi:17792 #, no-wrap msgid "@code{kitesecret} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:17795 msgid "" "Shared secret for authenticating to the frontend server. You should " "probably put this inside @code{extra-file} instead." msgstr "" #. type: item #: guix-git/doc/guix.texi:17796 #, no-wrap msgid "@code{frontend} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:17799 msgid "" "Connect to the named PageKite frontend server instead of the @uref{https://" "pagekite.net,,pagekite.net} service." msgstr "" #. type: item #: guix-git/doc/guix.texi:17800 #, no-wrap msgid "@code{kites} (default: @code{'(\"http:@@kitename:localhost:80:@@kitesecret\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:17803 msgid "" "List of service kites to use. Exposes HTTP on port 80 by default. The " "format is @code{proto:kitename:host:port:secret}." msgstr "" #. type: item #: guix-git/doc/guix.texi:17804 #, no-wrap msgid "@code{extra-file} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:17807 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: defvr #: guix-git/doc/guix.texi:17811 #, no-wrap msgid "{Scheme Variable} yggdrasil-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:17815 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 "" #. type: quotation #: guix-git/doc/guix.texi:17822 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 "" #. type: defvr #: guix-git/doc/guix.texi:17826 msgid "" "Pass it a value of @code{yggdrasil-configuration} to connect it to public " "peers and/or local peers." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17830 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 "" #. type: lisp #: guix-git/doc/guix.texi:17842 #, 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 "" #. type: example #: guix-git/doc/guix.texi:17849 #, no-wrap msgid "" "# sample content for /etc/yggdrasil-private.conf\n" "@{\n" " # Your public encryption key. Your peers may ask you for this to put\n" " # into their AllowedEncryptionPublicKeys configuration.\n" " EncryptionPublicKey: 378dc5...\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:17852 #, no-wrap msgid "" " # Your private encryption key. DO NOT share this with anyone!\n" " EncryptionPrivateKey: 0777...\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:17856 #, no-wrap msgid "" " # Your public signing key. You should not ordinarily need to share\n" " # this with anyone.\n" " SigningPublicKey: e1664...\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:17860 #, no-wrap msgid "" " # Your private signing key. DO NOT share this with anyone!\n" " SigningPrivateKey: 0589d...\n" "@}\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:17863 #, no-wrap msgid "{Data Type} yggdrasil-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:17865 msgid "Data type representing the configuration of Yggdrasil." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:17867 #, no-wrap msgid "@code{package} (default: @code{yggdrasil})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:17869 msgid "Package object of Yggdrasil." msgstr "" #. type: item #: guix-git/doc/guix.texi:17870 #, no-wrap msgid "@code{json-config} (default: @code{'()})" msgstr "@code{inputs} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:17876 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 "" #. type: item #: guix-git/doc/guix.texi:17877 #, no-wrap msgid "@code{autoconf?} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:17880 msgid "" "Whether to use automatic mode. Enabling it makes Yggdrasil use adynamic IP " "and peer with IPv6 neighbors." msgstr "" #. type: table #: guix-git/doc/guix.texi:17883 msgid "How much detail to include in logs. Use @code{'debug} for more detail." msgstr "" #. type: item #: guix-git/doc/guix.texi:17884 #, no-wrap msgid "@code{log-to} (default: @code{'stdout})" msgstr "@code{outputs} (default: @code{'(\"out\")})" #. type: table #: guix-git/doc/guix.texi:17888 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 "" #. type: item #: guix-git/doc/guix.texi:17889 #, no-wrap msgid "@code{config-file} (default: @code{\"/etc/yggdrasil-private.conf\"})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:17896 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 these options:" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:17898 #, no-wrap msgid "EncryptionPublicKey" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:17899 #, no-wrap msgid "EncryptionPrivateKey" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:17900 #, no-wrap msgid "SigningPublicKey" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:17901 #, no-wrap msgid "SigningPrivateKey" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:17906 #, no-wrap msgid "IPFS" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:17907 #, no-wrap msgid "{Scheme Variable} ipfs-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:17911 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 "" #. type: defvr #: guix-git/doc/guix.texi:17913 msgid "Here's an example configuration, using some non-standard ports:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:17919 #, 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 "" "(service guix-service-type\n" " (guix-configuration\n" " (build-accounts 5)\n" " (use-substitutes? #f)))\n" #. type: deftp #: guix-git/doc/guix.texi:17922 #, no-wrap msgid "{Data Type} ipfs-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:17924 msgid "Data type representing the configuration of IPFS." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:17926 #, no-wrap msgid "@code{package} (default: @code{go-ipfs})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:17928 msgid "Package object of IPFS." msgstr "" #. type: item #: guix-git/doc/guix.texi:17929 #, no-wrap msgid "@code{gateway} (default: @code{\"/ip4/127.0.0.1/tcp/8082\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:17931 msgid "Address of the gateway, in ‘multiaddress’ format." msgstr "" #. type: item #: guix-git/doc/guix.texi:17932 #, no-wrap msgid "@code{api} (default: @code{\"/ip4/127.0.0.1/tcp/5001\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:17934 msgid "Address of the API endpoint, in ‘multiaddress’ format." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:17937 #, no-wrap msgid "keepalived" msgstr "--keep-failed" #. type: deffn #: guix-git/doc/guix.texi:17938 #, no-wrap msgid "{Scheme Variable} keepalived-service-type" msgstr "{Scheme Variable} profile-service-type" #. type: deffn #: guix-git/doc/guix.texi:17943 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 "" #. type: lisp #: guix-git/doc/guix.texi:17948 #, 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: deffn #: guix-git/doc/guix.texi:17951 msgid "where @file{keepalived-master.conf}:" msgstr "" #. type: example #: guix-git/doc/guix.texi:17963 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:17966 msgid "and for backup machine:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:17971 #, 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: deffn #: guix-git/doc/guix.texi:17974 msgid "where @file{keepalived-backup.conf}:" msgstr "" #. type: example #: guix-git/doc/guix.texi:17986 #, 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 "" #. type: cindex #: guix-git/doc/guix.texi:17992 #, no-wrap msgid "unattended upgrades" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:17993 #, no-wrap msgid "upgrades, unattended" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:17998 msgid "" "Guix 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 "" #. type: itemize #: guix-git/doc/guix.texi:18003 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:18007 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 "" #. type: itemize #: guix-git/doc/guix.texi:18010 msgid "" "channel code is authenticated so you know you can only run genuine code " "(@pxref{Channels});" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:18013 msgid "" "@command{guix system reconfigure} prevents downgrades, which makes it immune " "to @dfn{downgrade attacks}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:18018 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 "" #. type: lisp #: guix-git/doc/guix.texi:18021 #, no-wrap msgid "(service unattended-upgrade-service-type)\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:18028 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 "" #. type: Plain text #: guix-git/doc/guix.texi:18034 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 "" #. type: Plain text #: guix-git/doc/guix.texi:18038 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 "" #. type: defvr #: guix-git/doc/guix.texi:18039 #, no-wrap msgid "{Scheme Variable} unattended-upgrade-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:18043 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 "" #. type: defvr #: guix-git/doc/guix.texi:18046 msgid "" "Its value must be a @code{unattended-upgrade-configuration} record (see " "below)." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:18048 #, no-wrap msgid "{Data Type} unattended-upgrade-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:18051 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:18053 #, no-wrap msgid "@code{schedule} (default: @code{\"30 01 * * 0\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:18057 msgid "" "This is the schedule of upgrades, expressed as a gexp containing an mcron " "job schedule (@pxref{Guile Syntax, mcron job specifications,, mcron, " "GNU@tie{}mcron})." msgstr "" #. type: item #: guix-git/doc/guix.texi:18058 #, no-wrap msgid "@code{channels} (default: @code{#~%default-channels})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:18062 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 "" #. type: item #: guix-git/doc/guix.texi:18063 #, no-wrap msgid "@code{operating-system-file} (default: @code{\"/run/current-system/configuration.scm\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:18066 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:18072 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 "" #. type: lisp #: guix-git/doc/guix.texi:18078 #, no-wrap msgid "" "(unattended-upgrade-configuration\n" " (operating-system-file\n" " (file-append (local-file \".\" \"config-dir\" #:recursive? #t)\n" " \"/config.scm\")))\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:18085 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 "" #. type: item #: guix-git/doc/guix.texi:18086 #, no-wrap msgid "@code{services-to-restart} (default: @code{'(mcron)})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:18089 msgid "" "This field specifies the Shepherd services to restart when the upgrade " "completes." msgstr "" #. type: table #: guix-git/doc/guix.texi:18096 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 "" #. type: table #: guix-git/doc/guix.texi:18100 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 "" #. type: table #: guix-git/doc/guix.texi:18103 msgid "" "By default, the @code{mcron} service is restarted. This ensures that the " "latest version of the unattended upgrade job will be used next time." msgstr "" #. type: item #: guix-git/doc/guix.texi:18104 #, no-wrap msgid "@code{system-expiration} (default: @code{(* 3 30 24 3600)})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:18108 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 "" #. type: quotation #: guix-git/doc/guix.texi:18113 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 "" #. type: item #: guix-git/doc/guix.texi:18115 #, no-wrap msgid "@code{maximum-duration} (default: @code{3600})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:18118 msgid "" "Maximum duration in seconds for the upgrade; past that time, the upgrade " "aborts." msgstr "" #. type: table #: guix-git/doc/guix.texi:18121 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:18122 #, no-wrap msgid "@code{log-file} (default: @code{\"/var/log/unattended-upgrade.log\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:18124 msgid "File where unattended upgrades are logged." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:18130 #, no-wrap msgid "X11" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:18131 #, no-wrap msgid "X Window System" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:18132 guix-git/doc/guix.texi:18392 #, no-wrap msgid "login manager" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:18137 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 "" #. type: cindex #: guix-git/doc/guix.texi:18138 #, no-wrap msgid "GDM" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:18139 #, no-wrap msgid "GNOME, login manager" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:18143 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 "" #. type: cindex #: guix-git/doc/guix.texi:18144 #, no-wrap msgid "window manager" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:18149 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 "" #. type: defvr #: guix-git/doc/guix.texi:18150 #, no-wrap msgid "{Scheme Variable} gdm-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:18155 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 "" #. type: cindex #: guix-git/doc/guix.texi:18156 #, no-wrap msgid "session types (X11)" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:18157 #, no-wrap msgid "X11 session types" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:18163 msgid "" "GDM looks for @dfn{session types} described by the @file{.desktop} files in " "@file{/run/current-system/profile/share/xsessions} and allows users to " "choose a session from the log-in screen. Packages such as @code{gnome}, " "@code{xfce}, and @code{i3} provide @file{.desktop} files; adding them to the " "system-wide set of packages automatically makes them available at the log-in " "screen." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:18167 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 "" #. type: deftp #: guix-git/doc/guix.texi:18169 #, no-wrap msgid "{Data Type} gdm-configuration" msgstr "" #. type: item #: guix-git/doc/guix.texi:18171 guix-git/doc/guix.texi:18247 #, no-wrap msgid "@code{auto-login?} (default: @code{#f})" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:18172 #, no-wrap msgid "@code{default-user} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18174 msgid "When @code{auto-login?} is false, GDM presents a log-in screen." msgstr "" #. type: table #: guix-git/doc/guix.texi:18177 msgid "" "When @code{auto-login?} is true, GDM logs in directly as @code{default-user}." msgstr "" #. type: item #: guix-git/doc/guix.texi:18178 guix-git/doc/guix.texi:24026 #: guix-git/doc/guix.texi:25735 guix-git/doc/guix.texi:30153 #: guix-git/doc/guix.texi:30182 guix-git/doc/guix.texi:30211 #: guix-git/doc/guix.texi:30238 guix-git/doc/guix.texi:30293 #: guix-git/doc/guix.texi:30318 guix-git/doc/guix.texi:30345 #: guix-git/doc/guix.texi:30371 guix-git/doc/guix.texi:30413 #, no-wrap msgid "@code{debug?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18180 msgid "When true, GDM writes debug messages to its log." msgstr "" #. type: item #: guix-git/doc/guix.texi:18181 #, no-wrap msgid "@code{gnome-shell-assets} (default: ...)" msgstr "" #. type: table #: guix-git/doc/guix.texi:18183 msgid "List of GNOME Shell assets needed by GDM: icon theme, fonts, etc." msgstr "" #. type: item #: guix-git/doc/guix.texi:18184 #, no-wrap msgid "@code{xorg-configuration} (default: @code{(xorg-configuration)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18186 guix-git/doc/guix.texi:18274 #: guix-git/doc/guix.texi:18358 msgid "Configuration of the Xorg graphical server." msgstr "" #. type: item #: guix-git/doc/guix.texi:18187 #, no-wrap msgid "@code{xsession} (default: @code{(xinitrc)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18189 guix-git/doc/guix.texi:18373 msgid "Script to run before starting a X session." msgstr "" #. type: item #: guix-git/doc/guix.texi:18190 #, no-wrap msgid "@code{dbus-daemon} (default: @code{dbus-daemon-wrapper})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18192 msgid "File name of the @code{dbus-daemon} executable." msgstr "" #. type: item #: guix-git/doc/guix.texi:18193 #, no-wrap msgid "@code{gdm} (default: @code{gdm})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18195 msgid "The GDM package to use." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:18198 #, no-wrap msgid "{Scheme Variable} slim-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:18200 msgid "This is the type for the SLiM graphical login manager for X11." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:18204 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 "" #. type: defvr #: guix-git/doc/guix.texi:18211 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 "" #. type: lisp #: guix-git/doc/guix.texi:18217 #, no-wrap msgid "" "(use-modules (gnu services)\n" " (gnu services desktop)\n" " (gnu services xorg)\n" " (srfi srfi-1)) ;for 'remove'\n" "\n" msgstr "" "(use-modules (gnu services)\n" " (gnu services desktop)\n" " (gnu services xorg)\n" " (srfi srfi-1)) ;for 'remove'\n" "\n" #. type: lisp #: guix-git/doc/guix.texi:18228 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:18232 #, no-wrap msgid "{Data Type} slim-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:18234 msgid "Data type representing the configuration of @code{slim-service-type}." msgstr "" #. type: table #: guix-git/doc/guix.texi:18238 msgid "Whether to allow logins with empty passwords." msgstr "" #. type: item #: guix-git/doc/guix.texi:18239 #, fuzzy, no-wrap #| msgid "@code{lang} (default: @code{#f})" msgid "@code{gnupg?} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:18246 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 "" #. type: itemx #: guix-git/doc/guix.texi:18248 #, no-wrap msgid "@code{default-user} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18250 msgid "When @code{auto-login?} is false, SLiM presents a log-in screen." msgstr "" #. type: table #: guix-git/doc/guix.texi:18253 msgid "" "When @code{auto-login?} is true, SLiM logs in directly as @code{default-" "user}." msgstr "" #. type: item #: guix-git/doc/guix.texi:18254 #, no-wrap msgid "@code{theme} (default: @code{%default-slim-theme})" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:18255 #, no-wrap msgid "@code{theme-name} (default: @code{%default-slim-theme-name})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18257 msgid "The graphical theme to use and its name." msgstr "" #. type: item #: guix-git/doc/guix.texi:18258 #, no-wrap msgid "@code{auto-login-session} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18261 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 "" #. type: table #: guix-git/doc/guix.texi:18265 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 "" #. type: quotation #: guix-git/doc/guix.texi:18270 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 "" #. type: item #: guix-git/doc/guix.texi:18272 guix-git/doc/guix.texi:18356 #, no-wrap msgid "@code{xorg-configuration} (default @code{(xorg-configuration)})" msgstr "" #. type: item #: guix-git/doc/guix.texi:18275 #, no-wrap msgid "@code{display} (default @code{\":0\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:18277 msgid "The display on which to start the Xorg graphical server." msgstr "" #. type: item #: guix-git/doc/guix.texi:18278 #, no-wrap msgid "@code{vt} (default @code{\"vt7\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:18280 msgid "The VT on which to start the Xorg graphical server." msgstr "" #. type: item #: guix-git/doc/guix.texi:18281 #, no-wrap msgid "@code{xauth} (default: @code{xauth})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18283 msgid "The XAuth package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:18284 #, no-wrap msgid "@code{shepherd} (default: @code{shepherd})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18287 msgid "" "The Shepherd package used when invoking @command{halt} and @command{reboot}." msgstr "" #. type: item #: guix-git/doc/guix.texi:18288 #, no-wrap msgid "@code{sessreg} (default: @code{sessreg})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18290 msgid "The sessreg package used in order to register the session." msgstr "" #. type: item #: guix-git/doc/guix.texi:18291 #, no-wrap msgid "@code{slim} (default: @code{slim})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18293 msgid "The SLiM package to use." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:18296 #, no-wrap msgid "{Scheme Variable} %default-theme" msgstr "" #. type: defvrx #: guix-git/doc/guix.texi:18297 #, no-wrap msgid "{Scheme Variable} %default-theme-name" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:18299 msgid "The default SLiM theme and its name." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:18302 guix-git/doc/guix.texi:18409 #, no-wrap msgid "{Data Type} sddm-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:18304 msgid "This is the data type representing the SDDM service configuration." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:18306 #, no-wrap msgid "@code{display-server} (default: \"x11\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:18309 msgid "" "Select display server to use for the greeter. Valid values are " "@samp{\"x11\"} or @samp{\"wayland\"}." msgstr "" #. type: item #: guix-git/doc/guix.texi:18310 #, no-wrap msgid "@code{numlock} (default: \"on\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:18312 msgid "Valid values are @samp{\"on\"}, @samp{\"off\"} or @samp{\"none\"}." msgstr "" #. type: item #: guix-git/doc/guix.texi:18313 #, no-wrap msgid "@code{halt-command} (default @code{#~(string-apppend #$shepherd \"/sbin/halt\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18315 msgid "Command to run when halting." msgstr "" #. type: item #: guix-git/doc/guix.texi:18316 #, no-wrap msgid "@code{reboot-command} (default @code{#~(string-append #$shepherd \"/sbin/reboot\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18318 msgid "Command to run when rebooting." msgstr "" #. type: item #: guix-git/doc/guix.texi:18319 #, no-wrap msgid "@code{theme} (default \"maldives\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:18322 msgid "" "Theme to use. Default themes provided by SDDM are @samp{\"elarun\"}, " "@samp{\"maldives\"} or @samp{\"maya\"}." msgstr "" #. type: item #: guix-git/doc/guix.texi:18323 #, no-wrap msgid "@code{themes-directory} (default \"/run/current-system/profile/share/sddm/themes\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:18325 msgid "Directory to look for themes." msgstr "" #. type: item #: guix-git/doc/guix.texi:18326 #, no-wrap msgid "@code{faces-directory} (default \"/run/current-system/profile/share/sddm/faces\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:18328 msgid "Directory to look for faces." msgstr "" #. type: item #: guix-git/doc/guix.texi:18329 #, no-wrap msgid "@code{default-path} (default \"/run/current-system/profile/bin\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:18331 msgid "Default PATH to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:18332 #, no-wrap msgid "@code{minimum-uid} (default: 1000)" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:18334 msgid "Minimum UID displayed in SDDM and allowed for log-in." msgstr "" #. type: item #: guix-git/doc/guix.texi:18335 #, no-wrap msgid "@code{maximum-uid} (default: 2000)" msgstr "@code{parallel-builds} (default: @code{1})" #. type: table #: guix-git/doc/guix.texi:18337 msgid "Maximum UID to display in SDDM." msgstr "" #. type: item #: guix-git/doc/guix.texi:18338 #, no-wrap msgid "@code{remember-last-user?} (default #t)" msgstr "" #. type: table #: guix-git/doc/guix.texi:18340 msgid "Remember last user." msgstr "" #. type: item #: guix-git/doc/guix.texi:18341 #, no-wrap msgid "@code{remember-last-session?} (default #t)" msgstr "" #. type: table #: guix-git/doc/guix.texi:18343 msgid "Remember last session." msgstr "" #. type: item #: guix-git/doc/guix.texi:18344 #, no-wrap msgid "@code{hide-users} (default \"\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:18346 msgid "Usernames to hide from SDDM greeter." msgstr "" #. type: item #: guix-git/doc/guix.texi:18347 #, no-wrap msgid "@code{hide-shells} (default @code{#~(string-append #$shadow \"/sbin/nologin\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18349 msgid "Users with shells listed will be hidden from the SDDM greeter." msgstr "" #. type: item #: guix-git/doc/guix.texi:18350 #, no-wrap msgid "@code{session-command} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/wayland-session\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18352 msgid "Script to run before starting a wayland session." msgstr "" #. type: item #: guix-git/doc/guix.texi:18353 #, no-wrap msgid "@code{sessions-directory} (default \"/run/current-system/profile/share/wayland-sessions\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:18355 msgid "Directory to look for desktop files starting wayland sessions." msgstr "" #. type: item #: guix-git/doc/guix.texi:18359 #, no-wrap msgid "@code{xauth-path} (default @code{#~(string-append #$xauth \"/bin/xauth\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18361 msgid "Path to xauth." msgstr "" #. type: item #: guix-git/doc/guix.texi:18362 #, no-wrap msgid "@code{xephyr-path} (default @code{#~(string-append #$xorg-server \"/bin/Xephyr\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18364 msgid "Path to Xephyr." msgstr "" #. type: item #: guix-git/doc/guix.texi:18365 #, no-wrap msgid "@code{xdisplay-start} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/Xsetup\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18367 msgid "Script to run after starting xorg-server." msgstr "" #. type: item #: guix-git/doc/guix.texi:18368 #, no-wrap msgid "@code{xdisplay-stop} (default @code{#~(string-append #$sddm \"/share/sddm/scripts/Xstop\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18370 msgid "Script to run before stopping xorg-server." msgstr "" #. type: item #: guix-git/doc/guix.texi:18371 #, no-wrap msgid "@code{xsession-command} (default: @code{xinitrc})" msgstr "" #. type: item #: guix-git/doc/guix.texi:18374 #, no-wrap msgid "@code{xsessions-directory} (default: \"/run/current-system/profile/share/xsessions\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:18376 msgid "Directory to look for desktop files starting X sessions." msgstr "" #. type: item #: guix-git/doc/guix.texi:18377 #, no-wrap msgid "@code{minimum-vt} (default: 7)" msgstr "" #. type: table #: guix-git/doc/guix.texi:18379 msgid "Minimum VT to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:18380 #, no-wrap msgid "@code{auto-login-user} (default \"\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:18382 msgid "User to use for auto-login." msgstr "" #. type: item #: guix-git/doc/guix.texi:18383 #, no-wrap msgid "@code{auto-login-session} (default \"\")" msgstr "" #. type: table #: guix-git/doc/guix.texi:18385 msgid "Desktop file to use for auto-login." msgstr "" #. type: item #: guix-git/doc/guix.texi:18386 #, no-wrap msgid "@code{relogin?} (default #f)" msgstr "" #. type: table #: guix-git/doc/guix.texi:18388 msgid "Relogin after logout." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:18393 #, no-wrap msgid "X11 login" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:18394 #, no-wrap msgid "{Scheme Variable} sddm-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:18398 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 "" #. type: defvr #: guix-git/doc/guix.texi:18400 msgid "Here's an example use:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:18406 #, no-wrap msgid "" "(service sddm-service-type\n" " (sddm-configuration\n" " (auto-login-user \"alice\")\n" " (auto-login-session \"xfce.desktop\")))\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:18412 msgid "" "This data type represents the configuration of the SDDM login manager. The " "available fields are:" msgstr "" "Этот тип данных представляет машины для сборки, на которые демон может " "разгружать сборки. Важные поля:" #. type: item #: guix-git/doc/guix.texi:18414 #, no-wrap msgid "@code{sddm} (default: @code{sddm})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:18416 msgid "The SDDM package to use." msgstr "Используемый пакет SDDM." #. type: item #: guix-git/doc/guix.texi:18417 #, no-wrap msgid "@code{display-server} (default: @code{\"x11\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:18419 msgid "This must be either @code{\"x11\"} or @code{\"wayland\"}." msgstr "" #. type: item #: guix-git/doc/guix.texi:18422 #, no-wrap msgid "@code{auto-login-user} (default: @code{\"\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:18425 msgid "" "If non-empty, this is the user account under which to log in automatically." msgstr "" #. type: item #: guix-git/doc/guix.texi:18426 #, no-wrap msgid "@code{auto-login-session} (default: @code{\"\"})" msgstr "@code{compression-level} (default: @code{3})" #. type: table #: guix-git/doc/guix.texi:18429 msgid "" "If non-empty, this is the @file{.desktop} file name to use as the auto-login " "session." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:18432 #, no-wrap msgid "Xorg, configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:18433 #, no-wrap msgid "{Data Type} xorg-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:18438 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, and SLiM@. Thus, the " "configuration of these display managers aggregates an @code{xorg-" "configuration} record." msgstr "" #. type: item #: guix-git/doc/guix.texi:18440 #, no-wrap msgid "@code{modules} (default: @code{%default-xorg-modules})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18443 msgid "" "This is a list of @dfn{module packages} loaded by the Xorg server---e.g., " "@code{xf86-video-vesa}, @code{xf86-input-keyboard}, and so on." msgstr "" #. type: item #: guix-git/doc/guix.texi:18444 #, no-wrap msgid "@code{fonts} (default: @code{%default-xorg-fonts})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18446 msgid "" "This is a list of font directories to add to the server's @dfn{font path}." msgstr "" #. type: item #: guix-git/doc/guix.texi:18447 #, no-wrap msgid "@code{drivers} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18451 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 "" #. type: item #: guix-git/doc/guix.texi:18452 #, no-wrap msgid "@code{resolutions} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18456 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 "" #. type: cindex #: guix-git/doc/guix.texi:18457 #, no-wrap msgid "keyboard layout, for Xorg" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:18458 #, no-wrap msgid "keymap, for Xorg" msgstr "" #. type: table #: guix-git/doc/guix.texi:18462 msgid "" "If this is @code{#f}, Xorg uses the default keyboard layout---usually US " "English (``qwerty'') for a 105-key PC keyboard." msgstr "" #. type: table #: guix-git/doc/guix.texi:18466 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 "" #. type: item #: guix-git/doc/guix.texi:18467 guix-git/doc/guix.texi:20172 #: guix-git/doc/guix.texi:32929 #, no-wrap msgid "@code{extra-config} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18470 guix-git/doc/guix.texi:32933 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:18471 #, no-wrap msgid "@code{server} (default: @code{xorg-server})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18473 msgid "This is the package providing the Xorg server." msgstr "" #. type: item #: guix-git/doc/guix.texi:18474 #, no-wrap msgid "@code{server-arguments} (default: @code{%default-xorg-server-arguments})" msgstr "" #. type: table #: guix-git/doc/guix.texi:18477 msgid "" "This is the list of command-line arguments to pass to the X server. The " "default is @code{-nolisten tcp}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:18480 #, no-wrap msgid "{Scheme Procedure} set-xorg-configuration @var{config} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:18484 msgid "" "[@var{login-manager-service-type}] Tell the log-in manager (of type " "@var{login-manager-service-type}) to use @var{config}, an @code{} record." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:18488 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 "" #. type: deffn #: guix-git/doc/guix.texi:18490 #, no-wrap msgid "{Scheme Procedure} xorg-start-command [@var{config}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:18494 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 "" #. type: deffn #: guix-git/doc/guix.texi:18496 msgid "Usually the X server is started by a login manager." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:18499 #, no-wrap msgid "{Scheme Procedure} screen-locker-service @var{package} [@var{program}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:18503 msgid "" "Add @var{package}, a package for a screen locker or screen saver whose " "command is @var{program}, to the set of setuid programs and add a PAM entry " "for it. For example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:18506 #, no-wrap msgid "(screen-locker-service xlockmore \"xlock\")\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:18509 msgid "makes the good ol' XlockMore usable." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:18515 #, no-wrap msgid "printer support with CUPS" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:18519 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 "" #. type: deffn #: guix-git/doc/guix.texi:18520 #, no-wrap msgid "{Scheme Variable} cups-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:18524 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 "" #. type: lisp #: guix-git/doc/guix.texi:18526 #, no-wrap msgid "(service cups-service-type)\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:18536 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 "" #. type: Plain text #: guix-git/doc/guix.texi:18542 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 "" #. type: lisp #: guix-git/doc/guix.texi:18549 #, 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: Plain text #: guix-git/doc/guix.texi:18554 msgid "" "Note: 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 "" #. type: Plain text #: guix-git/doc/guix.texi:18561 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 "" #. type: Plain text #: guix-git/doc/guix.texi:18572 msgid "Available @code{cups-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18573 #, no-wrap msgid "{@code{cups-configuration} parameter} package cups" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18575 guix-git/doc/guix.texi:19337 msgid "The CUPS package." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18577 #, 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18579 msgid "Drivers and other extensions to the CUPS package." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18581 #, no-wrap msgid "{@code{cups-configuration} parameter} files-configuration files-configuration" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18584 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:18586 msgid "Available @code{files-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18587 #, no-wrap msgid "{@code{files-configuration} parameter} log-location access-log" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18595 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18597 msgid "Defaults to @samp{\"/var/log/cups/access_log\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18599 #, no-wrap msgid "{@code{files-configuration} parameter} file-name cache-dir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18601 msgid "Where CUPS should cache data." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18603 msgid "Defaults to @samp{\"/var/cache/cups\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18605 #, no-wrap msgid "{@code{files-configuration} parameter} string config-file-perm" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18608 msgid "" "Specifies the permissions for all configuration files that the scheduler " "writes." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18614 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18616 msgid "Defaults to @samp{\"0640\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18618 #, no-wrap msgid "{@code{files-configuration} parameter} log-location error-log" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18626 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18628 msgid "Defaults to @samp{\"/var/log/cups/error_log\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18630 #, no-wrap msgid "{@code{files-configuration} parameter} string fatal-errors" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18633 msgid "" "Specifies which errors are fatal, causing the scheduler to exit. The kind " "strings are:" msgstr "" #. type: table #: guix-git/doc/guix.texi:18637 msgid "No errors are fatal." msgstr "" #. type: table #: guix-git/doc/guix.texi:18640 msgid "All of the errors below are fatal." msgstr "" #. type: item #: guix-git/doc/guix.texi:18641 #, no-wrap msgid "browse" msgstr "" #. type: table #: guix-git/doc/guix.texi:18644 msgid "" "Browsing initialization errors are fatal, for example failed connections to " "the DNS-SD daemon." msgstr "" #. type: item #: guix-git/doc/guix.texi:18645 #, no-wrap msgid "config" msgstr "" #. type: table #: guix-git/doc/guix.texi:18647 msgid "Configuration file syntax errors are fatal." msgstr "" #. type: item #: guix-git/doc/guix.texi:18648 #, no-wrap msgid "listen" msgstr "" #. type: table #: guix-git/doc/guix.texi:18651 msgid "" "Listen or Port errors are fatal, except for IPv6 failures on the loopback or " "@code{any} addresses." msgstr "" #. type: item #: guix-git/doc/guix.texi:18652 #, no-wrap msgid "log" msgstr "" #. type: table #: guix-git/doc/guix.texi:18654 msgid "Log file creation or write errors are fatal." msgstr "" #. type: item #: guix-git/doc/guix.texi:18655 #, no-wrap msgid "permissions" msgstr "" #. type: table #: guix-git/doc/guix.texi:18658 msgid "" "Bad startup file permissions are fatal, for example shared TLS certificate " "and key files with world-read permissions." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18661 msgid "Defaults to @samp{\"all -browse\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18663 #, no-wrap msgid "{@code{files-configuration} parameter} boolean file-device?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18666 msgid "" "Specifies whether the file pseudo-device can be used for new printer " "queues. The URI @uref{file:///dev/null} is always allowed." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18670 #, no-wrap msgid "{@code{files-configuration} parameter} string group" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18673 msgid "" "Specifies the group name or ID that will be used when executing external " "programs." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18675 guix-git/doc/guix.texi:18755 msgid "Defaults to @samp{\"lp\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18677 #, no-wrap msgid "{@code{files-configuration} parameter} string log-file-perm" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18679 msgid "Specifies the permissions for all log files that the scheduler writes." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18681 msgid "Defaults to @samp{\"0644\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18683 #, no-wrap msgid "{@code{files-configuration} parameter} log-location page-log" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18691 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18693 msgid "Defaults to @samp{\"/var/log/cups/page_log\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18695 #, no-wrap msgid "{@code{files-configuration} parameter} string remote-root" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18698 msgid "" "Specifies the username that is associated with unauthenticated accesses by " "clients claiming to be the root user. The default is @code{remroot}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18700 msgid "Defaults to @samp{\"remroot\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18702 #, no-wrap msgid "{@code{files-configuration} parameter} file-name request-root" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18705 msgid "" "Specifies the directory that contains print jobs and other HTTP request data." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18707 msgid "Defaults to @samp{\"/var/spool/cups\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18709 #, no-wrap msgid "{@code{files-configuration} parameter} sandboxing sandboxing" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18714 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18716 msgid "Defaults to @samp{strict}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18718 #, no-wrap msgid "{@code{files-configuration} parameter} file-name server-keychain" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18723 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18725 msgid "Defaults to @samp{\"/etc/cups/ssl\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18727 #, no-wrap msgid "{@code{files-configuration} parameter} file-name server-root" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18729 msgid "Specifies the directory containing the server configuration files." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18731 msgid "Defaults to @samp{\"/etc/cups\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18733 #, no-wrap msgid "{@code{files-configuration} parameter} boolean sync-on-close?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18736 msgid "" "Specifies whether the scheduler calls fsync(2) after writing configuration " "or state files." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18740 #, no-wrap msgid "{@code{files-configuration} parameter} space-separated-string-list system-group" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18742 msgid "Specifies the group(s) to use for @code{@@SYSTEM} group authentication." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18744 #, no-wrap msgid "{@code{files-configuration} parameter} file-name temp-dir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18746 msgid "Specifies the directory where temporary files are stored." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18748 msgid "Defaults to @samp{\"/var/spool/cups/tmp\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18750 #, no-wrap msgid "{@code{files-configuration} parameter} string user" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18753 msgid "" "Specifies the user name or ID that is used when running external programs." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18757 #, no-wrap msgid "{@code{files-configuration} parameter} string set-env" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18759 msgid "Set the specified environment variable to be passed to child processes." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18761 msgid "Defaults to @samp{\"variable value\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18764 #, no-wrap msgid "{@code{cups-configuration} parameter} access-log-level access-log-level" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18771 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18773 msgid "Defaults to @samp{actions}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18775 #, no-wrap msgid "{@code{cups-configuration} parameter} boolean auto-purge-jobs?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18778 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:18782 #, no-wrap msgid "{@code{cups-configuration} parameter} comma-separated-string-list browse-dns-sd-sub-types" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18786 msgid "" "Specifies a list of DNS-SD sub-types to advertise for each shared printer. " "For example, @samp{\"_cups\" \"_print\"} will tell network clients that both " "CUPS sharing and IPP Everywhere are supported." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18788 msgid "Defaults to @samp{\"_cups\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18790 #, no-wrap msgid "{@code{cups-configuration} parameter} browse-local-protocols browse-local-protocols" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18792 msgid "Specifies which protocols to use for local printer sharing." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18794 msgid "Defaults to @samp{dnssd}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18796 #, no-wrap msgid "{@code{cups-configuration} parameter} boolean browse-web-if?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18798 msgid "Specifies whether the CUPS web interface is advertised." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18802 #, no-wrap msgid "{@code{cups-configuration} parameter} boolean browsing?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18804 msgid "Specifies whether shared printers are advertised." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18808 #, no-wrap msgid "{@code{cups-configuration} parameter} string classification" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18813 msgid "" "Specifies the security classification of the server. Any valid banner name " "can be used, including @samp{\"classified\"}, @samp{\"confidential\"}, " "@samp{\"secret\"}, @samp{\"topsecret\"}, and @samp{\"unclassified\"}, or the " "banner can be omitted to disable secure printing functions." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18815 guix-git/doc/guix.texi:19146 #: guix-git/doc/guix.texi:21129 guix-git/doc/guix.texi:21141 #: guix-git/doc/guix.texi:21169 guix-git/doc/guix.texi:21926 #: guix-git/doc/guix.texi:21940 guix-git/doc/guix.texi:21947 #: guix-git/doc/guix.texi:21954 guix-git/doc/guix.texi:21984 #: guix-git/doc/guix.texi:22082 guix-git/doc/guix.texi:24201 #: guix-git/doc/guix.texi:24227 guix-git/doc/guix.texi:24263 #: guix-git/doc/guix.texi:24309 guix-git/doc/guix.texi:24328 #: guix-git/doc/guix.texi:24367 guix-git/doc/guix.texi:24426 #: guix-git/doc/guix.texi:24436 guix-git/doc/guix.texi:29025 #: guix-git/doc/guix.texi:29033 guix-git/doc/guix.texi:29041 #: guix-git/doc/guix.texi:29049 guix-git/doc/guix.texi:29328 #: guix-git/doc/guix.texi:30630 guix-git/doc/guix.texi:30638 #: guix-git/doc/guix.texi:30646 guix-git/doc/guix.texi:30754 #: guix-git/doc/guix.texi:30779 guix-git/doc/guix.texi:30910 #: guix-git/doc/guix.texi:30918 guix-git/doc/guix.texi:30926 #: guix-git/doc/guix.texi:30934 guix-git/doc/guix.texi:30942 #: guix-git/doc/guix.texi:30950 guix-git/doc/guix.texi:30973 #: guix-git/doc/guix.texi:30981 guix-git/doc/guix.texi:31033 #: guix-git/doc/guix.texi:31049 guix-git/doc/guix.texi:31057 #: guix-git/doc/guix.texi:31096 guix-git/doc/guix.texi:31119 #: guix-git/doc/guix.texi:31141 guix-git/doc/guix.texi:31148 #: guix-git/doc/guix.texi:31183 guix-git/doc/guix.texi:31191 #: guix-git/doc/guix.texi:31215 guix-git/doc/guix.texi:31247 #: guix-git/doc/guix.texi:31276 guix-git/doc/guix.texi:31283 #: guix-git/doc/guix.texi:31290 guix-git/doc/guix.texi:31298 #: guix-git/doc/guix.texi:31312 guix-git/doc/guix.texi:31321 #: guix-git/doc/guix.texi:31331 guix-git/doc/guix.texi:31338 #: guix-git/doc/guix.texi:31345 guix-git/doc/guix.texi:31352 #: guix-git/doc/guix.texi:31423 guix-git/doc/guix.texi:31430 #: guix-git/doc/guix.texi:31437 guix-git/doc/guix.texi:31446 #: guix-git/doc/guix.texi:31462 guix-git/doc/guix.texi:31469 #: guix-git/doc/guix.texi:31476 guix-git/doc/guix.texi:31483 #: guix-git/doc/guix.texi:31491 guix-git/doc/guix.texi:31499 msgid "Defaults to @samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18817 #, no-wrap msgid "{@code{cups-configuration} parameter} boolean classify-override?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18820 msgid "" "Specifies whether users may override the classification (cover page) of " "individual print jobs using the @code{job-sheets} option." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18824 #, no-wrap msgid "{@code{cups-configuration} parameter} default-auth-type default-auth-type" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18826 msgid "Specifies the default type of authentication to use." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18828 msgid "Defaults to @samp{Basic}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18830 #, no-wrap msgid "{@code{cups-configuration} parameter} default-encryption default-encryption" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18832 msgid "Specifies whether encryption will be used for authenticated requests." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18834 msgid "Defaults to @samp{Required}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18836 #, no-wrap msgid "{@code{cups-configuration} parameter} string default-language" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18838 msgid "Specifies the default language to use for text and web content." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18840 msgid "Defaults to @samp{\"en\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18842 #, no-wrap msgid "{@code{cups-configuration} parameter} string default-paper-size" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18847 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18849 msgid "Defaults to @samp{\"Auto\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18851 #, no-wrap msgid "{@code{cups-configuration} parameter} string default-policy" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18853 msgid "Specifies the default access policy to use." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18855 msgid "Defaults to @samp{\"default\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18857 #, no-wrap msgid "{@code{cups-configuration} parameter} boolean default-shared?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18859 msgid "Specifies whether local printers are shared by default." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18861 guix-git/doc/guix.texi:18941 #: guix-git/doc/guix.texi:19231 guix-git/doc/guix.texi:22016 #: guix-git/doc/guix.texi:22067 guix-git/doc/guix.texi:22074 #: guix-git/doc/guix.texi:23356 guix-git/doc/guix.texi:23544 #: guix-git/doc/guix.texi:23661 guix-git/doc/guix.texi:23697 #: guix-git/doc/guix.texi:23748 guix-git/doc/guix.texi:23767 #: guix-git/doc/guix.texi:23777 guix-git/doc/guix.texi:23787 #: guix-git/doc/guix.texi:23846 guix-git/doc/guix.texi:23868 #: guix-git/doc/guix.texi:23893 guix-git/doc/guix.texi:23919 #: guix-git/doc/guix.texi:23937 guix-git/doc/guix.texi:27123 #: guix-git/doc/guix.texi:27151 guix-git/doc/guix.texi:27287 #: guix-git/doc/guix.texi:27294 guix-git/doc/guix.texi:27302 #: guix-git/doc/guix.texi:27339 guix-git/doc/guix.texi:27353 #: guix-git/doc/guix.texi:27442 guix-git/doc/guix.texi:27449 #: guix-git/doc/guix.texi:27457 guix-git/doc/guix.texi:28233 #: guix-git/doc/guix.texi:28373 guix-git/doc/guix.texi:28559 #: guix-git/doc/guix.texi:28566 guix-git/doc/guix.texi:28588 #: guix-git/doc/guix.texi:28627 guix-git/doc/guix.texi:28647 #: guix-git/doc/guix.texi:28661 guix-git/doc/guix.texi:28874 #: guix-git/doc/guix.texi:30732 guix-git/doc/guix.texi:30820 #: guix-git/doc/guix.texi:30836 guix-git/doc/guix.texi:30886 msgid "Defaults to @samp{#t}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18863 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer dirty-clean-interval" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18867 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18869 guix-git/doc/guix.texi:18917 #: guix-git/doc/guix.texi:18926 guix-git/doc/guix.texi:19238 #: guix-git/doc/guix.texi:23706 guix-git/doc/guix.texi:23739 msgid "Defaults to @samp{30}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18871 #, no-wrap msgid "{@code{cups-configuration} parameter} error-policy error-policy" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18877 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18879 msgid "Defaults to @samp{stop-printer}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18881 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer filter-limit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18889 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18891 guix-git/doc/guix.texi:18899 #: guix-git/doc/guix.texi:18948 guix-git/doc/guix.texi:19064 #: guix-git/doc/guix.texi:19078 guix-git/doc/guix.texi:19085 #: guix-git/doc/guix.texi:20571 guix-git/doc/guix.texi:20587 #: guix-git/doc/guix.texi:21244 guix-git/doc/guix.texi:21256 #: guix-git/doc/guix.texi:22035 guix-git/doc/guix.texi:22044 #: guix-git/doc/guix.texi:22052 guix-git/doc/guix.texi:22060 #: guix-git/doc/guix.texi:28249 guix-git/doc/guix.texi:28574 #: guix-git/doc/guix.texi:30725 guix-git/doc/guix.texi:31025 #: guix-git/doc/guix.texi:31199 msgid "Defaults to @samp{0}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18893 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer filter-nice" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18897 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18901 #, no-wrap msgid "{@code{cups-configuration} parameter} host-name-lookups host-name-lookups" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18908 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18912 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer job-kill-delay" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18915 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:18919 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer job-retry-interval" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18924 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18928 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer job-retry-limit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18933 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18935 guix-git/doc/guix.texi:23670 #: guix-git/doc/guix.texi:29126 guix-git/doc/guix.texi:29146 #: guix-git/doc/guix.texi:29162 guix-git/doc/guix.texi:29176 #: guix-git/doc/guix.texi:29183 guix-git/doc/guix.texi:29190 #: guix-git/doc/guix.texi:29197 guix-git/doc/guix.texi:29357 #: guix-git/doc/guix.texi:29373 guix-git/doc/guix.texi:29380 #: guix-git/doc/guix.texi:29387 guix-git/doc/guix.texi:29398 #: guix-git/doc/guix.texi:30677 guix-git/doc/guix.texi:30685 #: guix-git/doc/guix.texi:30693 guix-git/doc/guix.texi:30717 msgid "Defaults to @samp{5}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18937 #, no-wrap msgid "{@code{cups-configuration} parameter} boolean keep-alive?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18939 msgid "Specifies whether to support HTTP keep-alive connections." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18943 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer limit-request-body" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18946 msgid "" "Specifies the maximum size of print files, IPP requests, and HTML form " "data. A limit of 0 disables the limit check." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18950 #, no-wrap msgid "{@code{cups-configuration} parameter} multiline-string-list listen" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18957 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:18959 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer listen-back-log" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18966 msgid "" "Specifies the number of pending connections that will be allowed. This " "normally only affects very busy servers that have reached the MaxClients " "limit, but can also be triggered by large numbers of simultaneous " "connections. When the limit is reached, the operating system will refuse " "additional connections until the scheduler can accept the pending ones." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18968 msgid "Defaults to @samp{128}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18970 #, no-wrap msgid "{@code{cups-configuration} parameter} location-access-control-list location-access-controls" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18972 msgid "Specifies a set of additional access controls." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18974 msgid "Available @code{location-access-controls} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18975 #, no-wrap msgid "{@code{location-access-controls} parameter} file-name path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18977 msgid "Specifies the URI path to which the access control applies." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18979 #, no-wrap msgid "{@code{location-access-controls} parameter} access-control-list access-controls" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18982 msgid "" "Access controls for all access to this path, in the same format as the " "@code{access-controls} of @code{operation-access-control}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18984 guix-git/doc/guix.texi:18990 #: guix-git/doc/guix.texi:19004 guix-git/doc/guix.texi:19011 #: guix-git/doc/guix.texi:19153 guix-git/doc/guix.texi:19212 #: guix-git/doc/guix.texi:19290 guix-git/doc/guix.texi:19304 #: guix-git/doc/guix.texi:20451 guix-git/doc/guix.texi:20460 #: guix-git/doc/guix.texi:21730 guix-git/doc/guix.texi:21933 #: guix-git/doc/guix.texi:21961 guix-git/doc/guix.texi:21991 #: guix-git/doc/guix.texi:22106 guix-git/doc/guix.texi:22119 #: guix-git/doc/guix.texi:22126 guix-git/doc/guix.texi:23876 #: guix-git/doc/guix.texi:24271 guix-git/doc/guix.texi:24375 #: guix-git/doc/guix.texi:24802 guix-git/doc/guix.texi:24810 #: guix-git/doc/guix.texi:25055 guix-git/doc/guix.texi:27182 #: guix-git/doc/guix.texi:27360 guix-git/doc/guix.texi:27559 #: guix-git/doc/guix.texi:29017 guix-git/doc/guix.texi:29077 #: guix-git/doc/guix.texi:29085 guix-git/doc/guix.texi:30740 #: guix-git/doc/guix.texi:30747 guix-git/doc/guix.texi:31089 #: guix-git/doc/guix.texi:31167 guix-git/doc/guix.texi:31261 #: guix-git/doc/guix.texi:31269 guix-git/doc/guix.texi:31305 #: guix-git/doc/guix.texi:31455 guix-git/doc/guix.texi:31506 #: guix-git/doc/guix.texi:31515 msgid "Defaults to @samp{()}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18986 #, no-wrap msgid "{@code{location-access-controls} parameter} method-access-control-list method-access-controls" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18988 msgid "Access controls for method-specific access to this path." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18992 msgid "Available @code{method-access-controls} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18993 #, no-wrap msgid "{@code{method-access-controls} parameter} boolean reverse?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:18996 msgid "" "If @code{#t}, apply access controls to all methods except the listed " "methods. Otherwise apply to only the listed methods." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19000 #, no-wrap msgid "{@code{method-access-controls} parameter} method-list methods" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19002 msgid "Methods to which this access control applies." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19006 #, no-wrap msgid "{@code{method-access-controls} parameter} access-control-list access-controls" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19009 msgid "" "Access control directives, as a list of strings. Each string should be one " "directive, such as @samp{\"Order allow,deny\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19015 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer log-debug-history" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19019 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:19021 guix-git/doc/guix.texi:19042 #: guix-git/doc/guix.texi:19049 guix-git/doc/guix.texi:21490 #: guix-git/doc/guix.texi:23408 guix-git/doc/guix.texi:23423 #: guix-git/doc/guix.texi:27544 msgid "Defaults to @samp{100}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19023 #, no-wrap msgid "{@code{cups-configuration} parameter} log-level log-level" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19026 msgid "" "Specifies the level of logging for the ErrorLog file. The value @code{none} " "stops all logging while @code{debug2} logs everything." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19028 guix-git/doc/guix.texi:23885 msgid "Defaults to @samp{info}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19030 #, no-wrap msgid "{@code{cups-configuration} parameter} log-time-format log-time-format" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19033 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:19035 msgid "Defaults to @samp{standard}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19037 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer max-clients" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19040 msgid "" "Specifies the maximum number of simultaneous clients that are allowed by the " "scheduler." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19044 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer max-clients-per-host" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19047 msgid "" "Specifies the maximum number of simultaneous clients that are allowed from a " "single address." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19051 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer max-copies" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19054 msgid "" "Specifies the maximum number of copies that a user can print of each job." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19056 msgid "Defaults to @samp{9999}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19058 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer max-hold-time" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19062 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:19066 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19069 msgid "" "Specifies the maximum number of simultaneous jobs that are allowed. Set to " "0 to allow an unlimited number of jobs." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19071 msgid "Defaults to @samp{500}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19073 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs-per-printer" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19076 msgid "" "Specifies the maximum number of simultaneous jobs that are allowed per " "printer. A value of 0 allows up to MaxJobs jobs per printer." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19080 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer max-jobs-per-user" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19083 msgid "" "Specifies the maximum number of simultaneous jobs that are allowed per " "user. A value of 0 allows up to MaxJobs jobs per user." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19087 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer max-job-time" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19090 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:19092 msgid "Defaults to @samp{10800}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19094 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer max-log-size" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19097 msgid "" "Specifies the maximum size of the log files before they are rotated, in " "bytes. The value 0 disables log rotation." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19099 msgid "Defaults to @samp{1048576}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19101 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer multiple-operation-timeout" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19104 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:19106 guix-git/doc/guix.texi:19317 #: guix-git/doc/guix.texi:27116 msgid "Defaults to @samp{300}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19108 #, no-wrap msgid "{@code{cups-configuration} parameter} string page-log-format" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19113 msgid "" "Specifies the format of PageLog lines. Sequences beginning with percent " "(@samp{%}) characters are replaced with the corresponding information, while " "all other characters are copied literally. The following percent sequences " "are recognized:" msgstr "" #. type: item #: guix-git/doc/guix.texi:19115 #, no-wrap msgid "%%" msgstr "" #. type: table #: guix-git/doc/guix.texi:19117 msgid "insert a single percent character" msgstr "" #. type: item #: guix-git/doc/guix.texi:19118 #, no-wrap msgid "%@{name@}" msgstr "" #. type: table #: guix-git/doc/guix.texi:19120 msgid "insert the value of the specified IPP attribute" msgstr "" #. type: item #: guix-git/doc/guix.texi:19121 #, no-wrap msgid "%C" msgstr "" #. type: table #: guix-git/doc/guix.texi:19123 msgid "insert the number of copies for the current page" msgstr "" #. type: item #: guix-git/doc/guix.texi:19124 #, no-wrap msgid "%P" msgstr "" #. type: table #: guix-git/doc/guix.texi:19126 msgid "insert the current page number" msgstr "" #. type: item #: guix-git/doc/guix.texi:19127 #, no-wrap msgid "%T" msgstr "" #. type: table #: guix-git/doc/guix.texi:19129 msgid "insert the current date and time in common log format" msgstr "" #. type: item #: guix-git/doc/guix.texi:19130 #, no-wrap msgid "%j" msgstr "" #. type: table #: guix-git/doc/guix.texi:19132 msgid "insert the job ID" msgstr "" #. type: item #: guix-git/doc/guix.texi:19133 guix-git/doc/guix.texi:21089 #, no-wrap msgid "%p" msgstr "" #. type: table #: guix-git/doc/guix.texi:19135 msgid "insert the printer name" msgstr "" #. type: item #: guix-git/doc/guix.texi:19136 guix-git/doc/guix.texi:21112 #, no-wrap msgid "%u" msgstr "" #. type: table #: guix-git/doc/guix.texi:19138 msgid "insert the username" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19144 msgid "" "A value of the empty string disables page logging. The string @code{%p %u " "%j %T %P %C %@{job-billing@} %@{job-originating-host-name@} %@{job-name@} " "%@{media@} %@{sides@}} creates a page log with the standard items." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19148 #, no-wrap msgid "{@code{cups-configuration} parameter} environment-variables environment-variables" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19151 msgid "" "Passes the specified environment variable(s) to child processes; a list of " "strings." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19155 #, no-wrap msgid "{@code{cups-configuration} parameter} policy-configuration-list policies" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19157 msgid "Specifies named access control policies." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19159 msgid "Available @code{policy-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19160 #, no-wrap msgid "{@code{policy-configuration} parameter} string name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19162 msgid "Name of the policy." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19164 #, no-wrap msgid "{@code{policy-configuration} parameter} string job-private-access" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19174 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:19176 guix-git/doc/guix.texi:19198 msgid "Defaults to @samp{\"@@OWNER @@SYSTEM\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19178 #, no-wrap msgid "{@code{policy-configuration} parameter} string job-private-values" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19181 guix-git/doc/guix.texi:19203 msgid "" "Specifies the list of job values to make private, or @code{all}, " "@code{default}, or @code{none}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19184 msgid "" "Defaults to @samp{\"job-name job-originating-host-name job-originating-user-" "name phone\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19186 #, no-wrap msgid "{@code{policy-configuration} parameter} string subscription-private-access" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19196 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:19200 #, no-wrap msgid "{@code{policy-configuration} parameter} string subscription-private-values" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19206 msgid "" "Defaults to @samp{\"notify-events notify-pull-method notify-recipient-uri " "notify-subscriber-user-name notify-user-data\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19208 #, no-wrap msgid "{@code{policy-configuration} parameter} operation-access-control-list access-controls" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19210 msgid "Access control by IPP operation." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19215 #, no-wrap msgid "{@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-files" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19220 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:19222 msgid "Defaults to @samp{86400}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19224 #, no-wrap msgid "{@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-history" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19229 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:19233 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer reload-timeout" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19236 msgid "" "Specifies the amount of time to wait for job completion before restarting " "the scheduler." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19240 #, no-wrap msgid "{@code{cups-configuration} parameter} string rip-cache" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19243 msgid "" "Specifies the maximum amount of memory to use when converting documents into " "bitmaps for a printer." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19245 msgid "Defaults to @samp{\"128m\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19247 #, no-wrap msgid "{@code{cups-configuration} parameter} string server-admin" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19249 msgid "Specifies the email address of the server administrator." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19251 msgid "Defaults to @samp{\"root@@localhost.localdomain\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19253 #, no-wrap msgid "{@code{cups-configuration} parameter} host-name-list-or-* server-alias" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19261 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:19263 msgid "Defaults to @samp{*}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19265 #, no-wrap msgid "{@code{cups-configuration} parameter} string server-name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19267 msgid "Specifies the fully-qualified host name of the server." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19269 guix-git/doc/guix.texi:24398 #: guix-git/doc/guix.texi:24443 msgid "Defaults to @samp{\"localhost\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19271 #, no-wrap msgid "{@code{cups-configuration} parameter} server-tokens server-tokens" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19279 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:19281 msgid "Defaults to @samp{Minimal}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19283 #, no-wrap msgid "{@code{cups-configuration} parameter} multiline-string-list ssl-listen" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19288 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:19292 #, no-wrap msgid "{@code{cups-configuration} parameter} ssl-options ssl-options" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19302 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:19306 #, no-wrap msgid "{@code{cups-configuration} parameter} boolean strict-conformance?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19309 msgid "" "Specifies whether the scheduler requires clients to strictly adhere to the " "IPP specifications." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19313 #, no-wrap msgid "{@code{cups-configuration} parameter} non-negative-integer timeout" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19315 msgid "Specifies the HTTP request timeout, in seconds." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19320 #, no-wrap msgid "{@code{cups-configuration} parameter} boolean web-interface?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19322 msgid "Specifies whether the web interface is enabled." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:19332 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 "" #. type: Plain text #: guix-git/doc/guix.texi:19334 msgid "Available @code{opaque-cups-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19335 #, no-wrap msgid "{@code{opaque-cups-configuration} parameter} package cups" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19339 #, no-wrap msgid "{@code{opaque-cups-configuration} parameter} string cupsd.conf" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19341 msgid "The contents of the @code{cupsd.conf}, as a string." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19343 #, no-wrap msgid "{@code{opaque-cups-configuration} parameter} string cups-files.conf" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:19345 msgid "The contents of the @code{cups-files.conf} file, as a string." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:19350 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 "" #. type: lisp #: guix-git/doc/guix.texi:19356 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:19367 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 "" #. type: Plain text #: guix-git/doc/guix.texi:19371 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: defvr #: guix-git/doc/guix.texi:19372 #, no-wrap msgid "{Scheme Variable} %desktop-services" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19375 msgid "" "This is a list of services that builds upon @code{%base-services} and adds " "or adjusts services for a typical ``desktop'' setup." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19386 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, an NTP client (@pxref{Networking Services}), the Avahi daemon, " "and has the name service switch service configured to be able to use " "@code{nss-mdns} (@pxref{Name Service Switch, mDNS})." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:19391 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 "" #. type: Plain text #: guix-git/doc/guix.texi:19414 msgid "" "Additionally, the @code{gnome-desktop-service-type}, @code{xfce-desktop-" "service}, @code{mate-desktop-service-type}, @code{lxqt-desktop-service-type} " "and @code{enlightenment-desktop-service-type} procedures can add GNOME, " "Xfce, MATE and/or Enlightenment to a system. To ``add GNOME'' means that " "system-level services like the backlight adjustment helpers and the power " "management utilities are added to the system, extending @code{polkit} and " "@code{dbus} appropriately, allowing GNOME to operate with elevated " "privileges on a limited number of special-purpose system interfaces. " "Additionally, adding a service made by @code{gnome-desktop-service-type} " "adds the GNOME metapackage to the system profile. Likewise, adding the Xfce " "service not only adds the @code{xfce} metapackage to the system profile, but " "it also gives the Thunar file manager the ability to open a ``root-mode'' " "file management window, if the user authenticates using the administrator's " "password via the standard polkit graphical interface. To ``add MATE'' means " "that @code{polkit} and @code{dbus} are extended appropriately, allowing MATE " "to operate with elevated privileges on a limited number of special-purpose " "system interfaces. Additionally, adding a service of type @code{mate-" "desktop-service-type} adds the MATE metapackage to the system profile. " "``Adding Enlightenment'' means that @code{dbus} is extended appropriately, " "and several of Enlightenment's binaries are set as setuid, allowing " "Enlightenment's screen locker and other functionality to work as expected." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:19423 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 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 "" #. type: defvr #: guix-git/doc/guix.texi:19424 #, no-wrap msgid "{Scheme Variable} gnome-desktop-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19428 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 "" #. type: defvr #: guix-git/doc/guix.texi:19431 msgid "" "This service adds the @code{gnome} package to the system profile, and " "extends polkit with the actions from @code{gnome-settings-daemon}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19433 #, no-wrap msgid "{Data Type} gnome-desktop-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19435 msgid "Configuration record for the GNOME desktop environment." msgstr "" #. type: item #: guix-git/doc/guix.texi:19437 #, no-wrap msgid "@code{gnome} (default: @code{gnome})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:19439 msgid "The GNOME package to use." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19442 #, no-wrap msgid "{Scheme Variable} xfce-desktop-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19446 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 "" #. type: defvr #: guix-git/doc/guix.texi:19451 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 "" #. type: defvr #: guix-git/doc/guix.texi:19457 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 "" #. type: deftp #: guix-git/doc/guix.texi:19459 #, no-wrap msgid "{Data Type} xfce-desktop-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19461 msgid "Configuration record for the Xfce desktop environment." msgstr "" #. type: item #: guix-git/doc/guix.texi:19463 #, no-wrap msgid "@code{xfce} (default: @code{xfce})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:19465 msgid "The Xfce package to use." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19468 #, no-wrap msgid "{Scheme Variable} mate-desktop-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19472 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 "" #. type: deffn #: guix-git/doc/guix.texi:19476 msgid "" "This service adds the @code{mate} package to the system profile, and extends " "polkit with the actions from @code{mate-settings-daemon}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19478 #, no-wrap msgid "{Data Type} mate-desktop-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19480 msgid "Configuration record for the MATE desktop environment." msgstr "" #. type: item #: guix-git/doc/guix.texi:19482 #, no-wrap msgid "@code{mate} (default: @code{mate})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:19484 msgid "The MATE package to use." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19487 #, no-wrap msgid "{Scheme Variable} lxqt-desktop-service-type" msgstr "{Scheme Variable} etc-service-type" #. type: deffn #: guix-git/doc/guix.texi:19491 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 "" #. type: deffn #: guix-git/doc/guix.texi:19494 msgid "This service adds the @code{lxqt} package to the system profile." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19496 #, no-wrap msgid "{Data Type} lxqt-desktop-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:19498 msgid "Configuration record for the LXQt desktop environment." msgstr "Конфигурации для среды рабочего стола LXQt." #. type: item #: guix-git/doc/guix.texi:19500 #, no-wrap msgid "@code{lxqt} (default: @code{lxqt})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:19502 msgid "The LXQT package to use." msgstr "Используемый пакет LXQT." #. type: deffn #: guix-git/doc/guix.texi:19505 #, no-wrap msgid "{Scheme Variable} enlightenment-desktop-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19508 msgid "" "Return a service that adds the @code{enlightenment} package to the system " "profile, and extends dbus with actions from @code{efl}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19510 #, no-wrap msgid "{Data Type} enlightenment-desktop-service-configuration" msgstr "" #. type: item #: guix-git/doc/guix.texi:19512 #, no-wrap msgid "@code{enlightenment} (default: @code{enlightenment})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:19514 msgid "The enlightenment package to use." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:19522 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 "" #. type: lisp #: guix-git/doc/guix.texi:19533 #, 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)\n" " %desktop-services))\n" " ...)\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:19537 msgid "" "These desktop environments will then be available as options in the " "graphical login window." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:19541 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 "" #. type: deffn #: guix-git/doc/guix.texi:19542 #, no-wrap msgid "{Scheme Procedure} dbus-service [#:dbus @var{dbus}] [#:services '()]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19545 msgid "" "Return a service that runs the ``system bus'', using @var{dbus}, with " "support for @var{services}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19549 msgid "" "@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 "" #. type: deffn #: guix-git/doc/guix.texi:19554 msgid "" "@var{services} must be a 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 "" #. type: deffn #: guix-git/doc/guix.texi:19556 #, no-wrap msgid "{Scheme Procedure} elogind-service [#:config @var{config}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19562 msgid "" "Return a service that runs the @code{elogind} login and seat management " "daemon. @uref{https://github.com/elogind/elogind, Elogind} exposes 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 "" #. type: deffn #: guix-git/doc/guix.texi:19566 msgid "" "Elogind 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 "" #. type: deffn #: guix-git/doc/guix.texi:19571 msgid "" "The @var{config} keyword argument specifies the configuration for elogind, " "and should be the result of an @code{(elogind-configuration (@var{parameter} " "@var{value})...)} invocation. Available parameters and their default values " "are:" msgstr "" #. type: item #: guix-git/doc/guix.texi:19573 #, no-wrap msgid "kill-user-processes?" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19575 guix-git/doc/guix.texi:19595 #: guix-git/doc/guix.texi:19597 guix-git/doc/guix.texi:19599 #: guix-git/doc/guix.texi:19611 msgid "#f" msgstr "" #. type: item #: guix-git/doc/guix.texi:19575 #, no-wrap msgid "kill-only-users" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19577 guix-git/doc/guix.texi:19617 msgid "()" msgstr "" #. type: item #: guix-git/doc/guix.texi:19577 #, no-wrap msgid "kill-exclude-users" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19579 msgid "(\"root\")" msgstr "" #. type: item #: guix-git/doc/guix.texi:19579 #, no-wrap msgid "inhibit-delay-max-seconds" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19581 msgid "5" msgstr "" #. type: item #: guix-git/doc/guix.texi:19581 #, no-wrap msgid "handle-power-key" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19583 msgid "poweroff" msgstr "" #. type: item #: guix-git/doc/guix.texi:19583 #, no-wrap msgid "handle-suspend-key" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19585 guix-git/doc/guix.texi:19589 msgid "suspend" msgstr "" #. type: item #: guix-git/doc/guix.texi:19585 #, no-wrap msgid "handle-hibernate-key" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19587 msgid "hibernate" msgstr "" #. type: item #: guix-git/doc/guix.texi:19587 #, no-wrap msgid "handle-lid-switch" msgstr "" #. type: item #: guix-git/doc/guix.texi:19589 #, no-wrap msgid "handle-lid-switch-docked" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19591 guix-git/doc/guix.texi:19593 #: guix-git/doc/guix.texi:19605 msgid "ignore" msgstr "" #. type: item #: guix-git/doc/guix.texi:19591 #, no-wrap msgid "handle-lid-switch-external-power" msgstr "" #. type: item #: guix-git/doc/guix.texi:19593 #, no-wrap msgid "power-key-ignore-inhibited?" msgstr "" #. type: item #: guix-git/doc/guix.texi:19595 #, no-wrap msgid "suspend-key-ignore-inhibited?" msgstr "" #. type: item #: guix-git/doc/guix.texi:19597 #, no-wrap msgid "hibernate-key-ignore-inhibited?" msgstr "" #. type: item #: guix-git/doc/guix.texi:19599 #, no-wrap msgid "lid-switch-ignore-inhibited?" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19601 guix-git/doc/guix.texi:19613 msgid "#t" msgstr "" #. type: item #: guix-git/doc/guix.texi:19601 #, no-wrap msgid "holdoff-timeout-seconds" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19603 msgid "30" msgstr "" #. type: item #: guix-git/doc/guix.texi:19603 #, no-wrap msgid "idle-action" msgstr "" #. type: item #: guix-git/doc/guix.texi:19605 #, no-wrap msgid "idle-action-seconds" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19607 msgid "(* 30 60)" msgstr "" #. type: item #: guix-git/doc/guix.texi:19607 #, no-wrap msgid "runtime-directory-size-percent" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19609 msgid "10" msgstr "" #. type: item #: guix-git/doc/guix.texi:19609 #, no-wrap msgid "runtime-directory-size" msgstr "" #. type: item #: guix-git/doc/guix.texi:19611 #, no-wrap msgid "remove-ipc?" msgstr "" #. type: item #: guix-git/doc/guix.texi:19613 #, no-wrap msgid "suspend-state" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19615 msgid "(\"mem\" \"standby\" \"freeze\")" msgstr "" #. type: item #: guix-git/doc/guix.texi:19615 #, no-wrap msgid "suspend-mode" msgstr "" #. type: item #: guix-git/doc/guix.texi:19617 #, no-wrap msgid "hibernate-state" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19619 guix-git/doc/guix.texi:19623 msgid "(\"disk\")" msgstr "" #. type: item #: guix-git/doc/guix.texi:19619 #, no-wrap msgid "hibernate-mode" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19621 msgid "(\"platform\" \"shutdown\")" msgstr "" #. type: item #: guix-git/doc/guix.texi:19621 #, no-wrap msgid "hybrid-sleep-state" msgstr "" #. type: item #: guix-git/doc/guix.texi:19623 #, no-wrap msgid "hybrid-sleep-mode" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19625 msgid "(\"suspend\" \"platform\" \"shutdown\")" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19628 #, no-wrap msgid "{Scheme Procedure} accountsservice-service @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19636 msgid "" "[#:accountsservice @var{accountsservice}] Return a 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. @uref{https://www.freedesktop.org/wiki/Software/" "AccountsService/, the accountsservice web site} for more information." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19639 msgid "" "The @var{accountsservice} keyword argument is the @code{accountsservice} " "package to expose as a service." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19641 #, no-wrap msgid "{Scheme Procedure} polkit-service @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19650 msgid "" "[#:polkit @var{polkit}] Return a service that runs the @uref{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 "" #. type: defvr #: guix-git/doc/guix.texi:19652 #, no-wrap msgid "{Scheme Variable} polkit-wheel-service" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19657 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 "" #. type: defvr #: guix-git/doc/guix.texi:19659 #, no-wrap msgid "{Scheme Variable} upower-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19663 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 "" #. type: defvr #: guix-git/doc/guix.texi:19666 msgid "" "It implements the @code{org.freedesktop.UPower} D-Bus interface, and is " "notably used by GNOME." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19668 #, no-wrap msgid "{Data Type} upower-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19670 msgid "Data type representation the configuration for UPower." msgstr "" #. type: item #: guix-git/doc/guix.texi:19673 #, no-wrap msgid "@code{upower} (default: @var{upower})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19675 msgid "Package to use for @code{upower}." msgstr "" #. type: item #: guix-git/doc/guix.texi:19676 #, no-wrap msgid "@code{watts-up-pro?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19678 msgid "Enable the Watts Up Pro device." msgstr "" #. type: item #: guix-git/doc/guix.texi:19679 #, no-wrap msgid "@code{poll-batteries?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19681 msgid "Enable polling the kernel for battery level changes." msgstr "" #. type: item #: guix-git/doc/guix.texi:19682 #, no-wrap msgid "@code{ignore-lid?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19684 msgid "Ignore the lid state, this can be useful if it's incorrect on a device." msgstr "" #. type: item #: guix-git/doc/guix.texi:19685 #, no-wrap msgid "@code{use-percentage-for-policy?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19688 msgid "" "Whether battery percentage based policy should be used. The default is to " "use the time left, change to @code{#t} to use the percentage." msgstr "" #. type: item #: guix-git/doc/guix.texi:19689 #, no-wrap msgid "@code{percentage-low} (default: @code{10})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19692 msgid "" "When @code{use-percentage-for-policy?} is @code{#t}, this sets the " "percentage at which the battery is considered low." msgstr "" #. type: item #: guix-git/doc/guix.texi:19693 #, no-wrap msgid "@code{percentage-critical} (default: @code{3})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19696 msgid "" "When @code{use-percentage-for-policy?} is @code{#t}, this sets the " "percentage at which the battery is considered critical." msgstr "" #. type: item #: guix-git/doc/guix.texi:19697 #, no-wrap msgid "@code{percentage-action} (default: @code{2})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19700 msgid "" "When @code{use-percentage-for-policy?} is @code{#t}, this sets the " "percentage at which action will be taken." msgstr "" #. type: item #: guix-git/doc/guix.texi:19701 #, no-wrap msgid "@code{time-low} (default: @code{1200})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19704 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 "" #. type: item #: guix-git/doc/guix.texi:19705 #, no-wrap msgid "@code{time-critical} (default: @code{300})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19708 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 "" #. type: item #: guix-git/doc/guix.texi:19709 #, no-wrap msgid "@code{time-action} (default: @code{120})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19712 msgid "" "When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining " "in seconds at which action will be taken." msgstr "" #. type: item #: guix-git/doc/guix.texi:19713 #, no-wrap msgid "@code{critical-power-action} (default: @code{'hybrid-sleep})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19716 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 "" #. type: table #: guix-git/doc/guix.texi:19718 msgid "Possible values are:" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19722 msgid "'power-off" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19725 msgid "'hibernate" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:19728 msgid "@code{'hybrid-sleep}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19733 #, no-wrap msgid "{Scheme Procedure} udisks-service [#:udisks @var{udisks}]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19743 msgid "" "Return a service for @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 "" #. type: deffn #: guix-git/doc/guix.texi:19745 #, no-wrap msgid "{Scheme Variable} colord-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19752 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 "" #. type: cindex #: guix-git/doc/guix.texi:19754 #, no-wrap msgid "scanner access" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19755 #, no-wrap msgid "{Scheme Variable} sane-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:19761 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 "" #. type: defvr #: guix-git/doc/guix.texi:19763 #, no-wrap msgid "{Scheme Variable} sane-backends-minimal" msgstr "{Scheme Variable} ant-build-system" #. type: defvr #: guix-git/doc/guix.texi:19766 msgid "" "The default package which the @code{sane-service-type} installs. It " "supports many recent scanners." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19768 #, no-wrap msgid "{Scheme Variable} sane-backends" msgstr "{Scheme Variable} ant-build-system" #. type: defvr #: guix-git/doc/guix.texi:19775 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 "" #. type: lisp #: guix-git/doc/guix.texi:19784 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:19789 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:19793 #, no-wrap msgid "" "(operating-system\n" " @dots{}\n" " (services %my-desktop-services)\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19796 #, no-wrap msgid "{Scheme Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19805 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 "" #. type: defvr #: guix-git/doc/guix.texi:19807 #, no-wrap msgid "{Scheme Variable} %standard-geoclue-applications" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19814 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 "" #. type: deffn #: guix-git/doc/guix.texi:19816 #, no-wrap msgid "{Scheme Procedure} geoclue-service [#:colord @var{colord}] @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19829 msgid "" "[#:whitelist '()] @ [#:wifi-geolocation-url \"https://location.services." "mozilla.com/v1/geolocate?key=geoclue\"] @ [#:submit-data? #f] [#:wifi-" "submission-url \"https://location.services.mozilla.com/v1/submit?key=geoclue" "\"] @ [#:submission-nick \"geoclue\"] @ [#:applications %standard-geoclue-" "applications] Return a service that runs the 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. See @uref{https://wiki.freedesktop.org/www/Software/" "GeoClue/, the GeoClue web site} for more information." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19831 #, no-wrap msgid "{Scheme Procedure} bluetooth-service [#:bluez @var{bluez}] @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19838 msgid "" "[@w{#:auto-enable? #f}] Return a service that runs the @command{bluetoothd} " "daemon, which manages all the Bluetooth devices and provides a number of D-" "Bus interfaces. When AUTO-ENABLE? is true, the bluetooth controller is " "powered automatically at boot, which can be useful when using a bluetooth " "keyboard or mouse." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19840 msgid "Users need to be in the @code{lp} group to access the D-Bus service." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19842 #, no-wrap msgid "{Scheme Variable} gnome-keyring-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:19846 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 "" #. type: defvr #: guix-git/doc/guix.texi:19850 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 "" #. type: deftp #: guix-git/doc/guix.texi:19852 #, no-wrap msgid "{Data Type} gnome-keyring-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19854 msgid "Configuration record for the GNOME Keyring service." msgstr "" #. type: item #: guix-git/doc/guix.texi:19856 #, no-wrap msgid "@code{keyring} (default: @code{gnome-keyring})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:19858 msgid "The GNOME keyring package to use." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:19859 #, no-wrap msgid "pam-services" msgstr "Базовые сервисы" #. type: table #: guix-git/doc/guix.texi:19864 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 "" #. type: table #: guix-git/doc/guix.texi:19870 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 "" #. type: table #: guix-git/doc/guix.texi:19873 msgid "" "By default, this field contains ``gdm-password'' with the value @code{login} " "and ``passwd'' is with the value @code{passwd}." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:19880 #, no-wrap msgid "sound support" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:19881 #, no-wrap msgid "ALSA" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:19882 #, no-wrap msgid "PulseAudio, sound support" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:19887 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 "" #. type: deffn #: guix-git/doc/guix.texi:19888 #, no-wrap msgid "{Scheme Variable} alsa-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19893 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 "" #. type: lisp #: guix-git/doc/guix.texi:19896 #, no-wrap msgid "(service alsa-service-type)\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19899 msgid "See below for details about @code{alsa-configuration}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19901 #, no-wrap msgid "{Data Type} alsa-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:19903 msgid "Data type representing the configuration for @code{alsa-service}." msgstr "" #. type: item #: guix-git/doc/guix.texi:19905 #, no-wrap msgid "@code{alsa-plugins} (default: @var{alsa-plugins})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19907 msgid "@code{alsa-plugins} package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:19908 #, no-wrap msgid "@code{pulseaudio?} (default: @var{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19911 msgid "" "Whether ALSA applications should transparently be made to use the " "@uref{https://www.pulseaudio.org/, PulseAudio} sound server." msgstr "" #. type: table #: guix-git/doc/guix.texi:19915 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 "" #. type: item #: guix-git/doc/guix.texi:19916 #, no-wrap msgid "@code{extra-options} (default: @var{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19918 msgid "String to append to the @file{/etc/asound.conf} file." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:19924 msgid "" "Individual users who want to override the system configuration of ALSA can " "do it with the @file{~/.asoundrc} file:" msgstr "" #. type: example #: guix-git/doc/guix.texi:19930 #, 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 "" #. type: example #: guix-git/doc/guix.texi:19939 #, no-wrap msgid "" "# Routing ALSA to jack:\n" "# .\n" "pcm.rawjack @{\n" " type jack\n" " playback_ports @{\n" " 0 system:playback_1\n" " 1 system:playback_2\n" " @}\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:19945 #, no-wrap msgid "" " capture_ports @{\n" " 0 system:capture_1\n" " 1 system:capture_2\n" " @}\n" "@}\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:19952 #, no-wrap msgid "" "pcm.!default @{\n" " type plug\n" " slave @{\n" " pcm \"rawjack\"\n" " @}\n" "@}\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:19956 msgid "" "See @uref{https://www.alsa-project.org/main/index.php/Asoundrc} for the " "details." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19957 #, no-wrap msgid "{Scheme Variable} pulseaudio-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:19961 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 "" #. type: quotation #: guix-git/doc/guix.texi:19967 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 "" #. type: quotation #: guix-git/doc/guix.texi:19975 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 "" #. type: deftp #: guix-git/doc/guix.texi:19978 #, no-wrap msgid "{Data Type} pulseaudio-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:19980 msgid "Data type representing the configuration for @code{pulseaudio-service}." msgstr "" #. type: item #: guix-git/doc/guix.texi:19982 #, no-wrap msgid "@code{client-conf} (default: @code{'()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:19987 msgid "" "List of settings to set in @file{client.conf}. Accepts a list of strings or " "a 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 "" #. type: item #: guix-git/doc/guix.texi:19988 #, no-wrap msgid "@code{daemon-conf} (default: @code{'((flat-volumes . no))})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:19991 msgid "" "List of settings to set in @file{daemon.conf}, formatted just like " "@var{client-conf}." msgstr "" #. type: item #: guix-git/doc/guix.texi:19992 #, no-wrap msgid "@code{script-file} (default: @code{(file-append pulseaudio \"/etc/pulse/default.pa\")})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:19994 msgid "Script file to use as @file{default.pa}." msgstr "" #. type: item #: guix-git/doc/guix.texi:19995 #, no-wrap msgid "@code{system-script-file} (default: @code{(file-append pulseaudio \"/etc/pulse/system.pa\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:19997 msgid "Script file to use as @file{system.pa}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:20000 #, no-wrap msgid "{Scheme Variable} ladspa-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:20003 msgid "" "This service sets the @var{LADSPA_PATH} variable, so that programs, which " "respect it, e.g. PulseAudio, can load LADSPA plugins." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:20006 msgid "" "The following example will setup the service to enable modules from the " "@code{swh-plugins} package:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:20010 #, no-wrap msgid "" "(service ladspa-service-type\n" " (ladspa-configuration (plugins (list swh-plugins))))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:20014 msgid "" "See @uref{http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html} for the " "details." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:20021 #, no-wrap msgid "SQL" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:20023 msgid "" "The @code{(gnu services databases)} module provides the following services." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:20024 #, no-wrap msgid "PostgreSQL" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:20028 msgid "" "The following example describes a PostgreSQL service with the default " "configuration." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:20033 #, no-wrap msgid "" "(service postgresql-service-type\n" " (postgresql-configuration\n" " (postgresql postgresql-10)))\n" msgstr "" "(service postgresql-service-type\n" " (postgresql-configuration\n" " (postgresql postgresql-10)))\n" #. type: Plain text #: guix-git/doc/guix.texi:20039 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 "" #. type: Plain text #: guix-git/doc/guix.texi:20046 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 "" #. type: example #: guix-git/doc/guix.texi:20051 #, no-wrap msgid "" "sudo -u postgres -s /bin/sh\n" "createuser --interactive\n" "createdb $MY_USER_LOGIN # Replace appropriately.\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:20053 #, no-wrap msgid "{Data Type} postgresql-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:20056 msgid "" "Data type representing the configuration for the @code{postgresql-service-" "type}." msgstr "Управление конфигурацией операционной системы." #. type: code{#1} #: guix-git/doc/guix.texi:20058 #, no-wrap msgid "postgresql" msgstr "" #. type: table #: guix-git/doc/guix.texi:20060 msgid "PostgreSQL package to use for the service." msgstr "Пакет PostgreSQL для использования в сервисе." #. type: item #: guix-git/doc/guix.texi:20061 #, no-wrap msgid "@code{port} (default: @code{5432})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:20063 msgid "Port on which PostgreSQL should listen." msgstr "" #. type: table #: guix-git/doc/guix.texi:20066 msgid "Locale to use as the default when creating the database cluster." msgstr "" #. type: item #: guix-git/doc/guix.texi:20067 #, no-wrap msgid "@code{config-file} (default: @code{(postgresql-config-file)})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:20071 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 "" #. type: item #: guix-git/doc/guix.texi:20072 #, no-wrap msgid "@code{log-directory} (default: @code{\"/var/log/postgresql\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:20076 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 "" #. type: item #: guix-git/doc/guix.texi:20077 #, no-wrap msgid "@code{data-directory} (default: @code{\"/var/lib/postgresql/data\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:20079 msgid "Directory in which to store the data." msgstr "" #. type: item #: guix-git/doc/guix.texi:20080 #, no-wrap msgid "@code{extension-packages} (default: @code{'()})" msgstr "@code{patches} (по умолчанию: @code{'()})" #. type: cindex #: guix-git/doc/guix.texi:20081 #, no-wrap msgid "postgresql extension-packages" msgstr "" #. type: table #: guix-git/doc/guix.texi:20086 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 "" #. type: cindex #: guix-git/doc/guix.texi:20087 #, no-wrap msgid "postgis" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:20090 #, no-wrap msgid "" "(use-package-modules databases geo)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:20103 #, 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-10)\n" " (extension-packages (list postgis))))\n" " %base-services)))\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:20107 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:20114 #, no-wrap msgid "" "psql -U postgres\n" "> create database postgistest;\n" "> \\connect postgistest;\n" "> create extension postgis;\n" "> create extension postgis_topology;\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:20119 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 "" #. type: deftp #: guix-git/doc/guix.texi:20123 #, no-wrap msgid "{Data Type} postgresql-config-file" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:20129 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 "" #. type: lisp #: guix-git/doc/guix.texi:20149 #, 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 "" #. type: item #: guix-git/doc/guix.texi:20152 #, no-wrap msgid "@code{log-destination} (default: @code{\"syslog\"})" msgstr "@code{compression-level} (default: @code{3})" #. type: table #: guix-git/doc/guix.texi:20155 msgid "" "The logging method to use for PostgreSQL@. Multiple values are accepted, " "separated by commas." msgstr "" #. type: item #: guix-git/doc/guix.texi:20156 #, no-wrap msgid "@code{hba-file} (default: @code{%default-postgres-hba})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:20159 msgid "" "Filename or G-expression for the host-based authentication configuration." msgstr "" #. type: item #: guix-git/doc/guix.texi:20160 #, no-wrap msgid "@code{ident-file} (default: @code{%default-postgres-ident})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:20162 msgid "Filename or G-expression for the user name mapping configuration." msgstr "" #. type: item #: guix-git/doc/guix.texi:20163 #, no-wrap msgid "@code{socket-directory} (default: @code{#false})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:20168 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 "" #. type: table #: guix-git/doc/guix.texi:20171 msgid "" "By default, the @code{#false} value means the PostgreSQL default value will " "be used, which is currently @samp{/tmp}." msgstr "" #. type: table #: guix-git/doc/guix.texi:20176 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 "" #. type: table #: guix-git/doc/guix.texi:20182 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 "" #. type: deffn #: guix-git/doc/guix.texi:20186 #, no-wrap msgid "{Scheme Variable} postgresql-role-service-type" msgstr "{Scheme Variable} profile-service-type" #. type: deffn #: guix-git/doc/guix.texi:20189 msgid "" "This service allows to create PostgreSQL roles and databases after " "PostgreSQL service start. Here is an example of its use." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:20197 #, 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: deffn #: guix-git/doc/guix.texi:20201 msgid "This service can be extended with extra roles, as in this example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:20207 #, 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:20210 #, no-wrap msgid "{Data Type} postgresql-role" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:20216 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 "" #. type: table #: guix-git/doc/guix.texi:20220 msgid "The role name." msgstr "Имя роли." #. type: item #: guix-git/doc/guix.texi:20221 #, no-wrap msgid "@code{permissions} (default: @code{'(createdb login)})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:20225 msgid "" "The role permissions list. Supported permissions are @code{bypassrls}, " "@code{createdb}, @code{createrole}, @code{login}, @code{replication} and " "@code{superuser}." msgstr "" #. type: item #: guix-git/doc/guix.texi:20226 #, no-wrap msgid "@code{create-database?} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:20228 msgid "Whether to create a database with the same name as the role." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:20232 #, no-wrap msgid "{Data Type} postgresql-role-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:20235 msgid "" "Data type representing the configuration of @var{postgresql-role-service-" "type}." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:20237 #, no-wrap msgid "@code{host} (default: @code{\"/var/run/postgresql\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:20239 msgid "The PostgreSQL host to connect to." msgstr "" #. type: item #: guix-git/doc/guix.texi:20240 #, no-wrap msgid "@code{log} (default: @code{\"/var/log/postgresql_roles.log\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:20242 msgid "File name of the log file." msgstr "Имя используемой базы данных." #. type: item #: guix-git/doc/guix.texi:20243 #, no-wrap msgid "@code{roles} (default: @code{'()})" msgstr "@code{modules} (по умолчанию: @code{'()})" #. type: table #: guix-git/doc/guix.texi:20245 msgid "The initial PostgreSQL roles to create." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:20248 #, no-wrap msgid "MariaDB/MySQL" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:20250 #, no-wrap msgid "{Scheme Variable} mysql-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:20254 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 "" #. type: deftp #: guix-git/doc/guix.texi:20256 #, no-wrap msgid "{Data Type} mysql-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:20258 msgid "Data type representing the configuration of @var{mysql-service-type}." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:20260 #, no-wrap msgid "@code{mysql} (default: @var{mariadb})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20263 msgid "" "Package object of the MySQL database server, can be either @var{mariadb} or " "@var{mysql}." msgstr "" #. type: table #: guix-git/doc/guix.texi:20266 msgid "" "For MySQL, a temporary root password will be displayed at activation time. " "For MariaDB, the root password is empty." msgstr "" #. type: item #: guix-git/doc/guix.texi:20267 guix-git/doc/guix.texi:24087 #, no-wrap msgid "@code{bind-address} (default: @code{\"127.0.0.1\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20270 msgid "" "The IP on which to listen for network connections. Use @code{\"0.0.0.0\"} " "to bind to all available network interfaces." msgstr "" #. type: item #: guix-git/doc/guix.texi:20271 #, no-wrap msgid "@code{port} (default: @code{3306})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20273 msgid "TCP port on which the database server listens for incoming connections." msgstr "" #. type: item #: guix-git/doc/guix.texi:20274 #, no-wrap msgid "@code{socket} (default: @code{\"/run/mysqld/mysqld.sock\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:20276 msgid "Socket file to use for local (non-network) connections." msgstr "" #. type: table #: guix-git/doc/guix.texi:20279 msgid "Additional settings for the @file{my.cnf} configuration file." msgstr "" #. type: item #: guix-git/doc/guix.texi:20280 #, no-wrap msgid "@code{extra-environment} (default: @code{#~'()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:20282 msgid "List of environment variables passed to the @command{mysqld} process." msgstr "Список переменных среды, которые необходимо определить." #. type: item #: guix-git/doc/guix.texi:20283 #, no-wrap msgid "@code{auto-upgrade?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:20288 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:20292 #, no-wrap msgid "Memcached" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:20294 #, no-wrap msgid "{Scheme Variable} memcached-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:20298 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 "" #. type: lisp #: guix-git/doc/guix.texi:20302 #, no-wrap msgid "(service memcached-service-type)\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:20304 #, no-wrap msgid "{Data Type} memcached-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:20306 msgid "Data type representing the configuration of memcached." msgstr "" #. type: item #: guix-git/doc/guix.texi:20308 #, no-wrap msgid "@code{memcached} (default: @code{memcached})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20310 msgid "The Memcached package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:20311 #, no-wrap msgid "@code{interfaces} (default: @code{'(\"0.0.0.0\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20313 msgid "Network interfaces on which to listen." msgstr "" #. type: item #: guix-git/doc/guix.texi:20314 #, no-wrap msgid "@code{tcp-port} (default: @code{11211})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20316 msgid "Port on which to accept connections." msgstr "" #. type: item #: guix-git/doc/guix.texi:20317 #, no-wrap msgid "@code{udp-port} (default: @code{11211})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20320 msgid "" "Port on which to accept UDP connections on, a value of 0 will disable " "listening on a UDP socket." msgstr "" #. type: item #: guix-git/doc/guix.texi:20321 #, no-wrap msgid "@code{additional-options} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20323 msgid "Additional command line options to pass to @code{memcached}." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:20326 #, no-wrap msgid "Redis" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:20328 #, no-wrap msgid "{Scheme Variable} redis-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:20331 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 "" #. type: deftp #: guix-git/doc/guix.texi:20333 #, no-wrap msgid "{Data Type} redis-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:20335 msgid "Data type representing the configuration of redis." msgstr "" #. type: item #: guix-git/doc/guix.texi:20337 #, no-wrap msgid "@code{redis} (default: @code{redis})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20339 msgid "The Redis package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:20340 #, no-wrap msgid "@code{bind} (default: @code{\"127.0.0.1\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20342 msgid "Network interface on which to listen." msgstr "" #. type: item #: guix-git/doc/guix.texi:20343 #, no-wrap msgid "@code{port} (default: @code{6379})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20346 msgid "" "Port on which to accept connections on, a value of 0 will disable listening " "on a TCP socket." msgstr "" #. type: item #: guix-git/doc/guix.texi:20347 #, no-wrap msgid "@code{working-directory} (default: @code{\"/var/lib/redis\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:20349 msgid "Directory in which to store the database and related files." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:20355 #, no-wrap msgid "mail" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:20356 #, no-wrap msgid "email" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:20361 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:20362 #, no-wrap msgid "Dovecot Service" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:20364 #, no-wrap msgid "{Scheme Procedure} dovecot-service [#:config (dovecot-configuration)]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:20366 msgid "Return a service that runs the Dovecot IMAP/POP3/LMTP mail server." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:20376 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 "" #. type: Plain text #: guix-git/doc/guix.texi:20379 msgid "" "For example, to specify that mail is located at @code{maildir~/.mail}, one " "would instantiate the Dovecot service like this:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:20384 #, no-wrap msgid "" "(dovecot-service #:config\n" " (dovecot-configuration\n" " (mail-location \"maildir:~/.mail\")))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:20392 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 "" #. type: Plain text #: guix-git/doc/guix.texi:20402 msgid "Available @code{dovecot-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20403 #, no-wrap msgid "{@code{dovecot-configuration} parameter} package dovecot" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20405 guix-git/doc/guix.texi:21754 msgid "The dovecot package." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20407 #, no-wrap msgid "{@code{dovecot-configuration} parameter} comma-separated-string-list listen" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20413 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20415 #, no-wrap msgid "{@code{dovecot-configuration} parameter} protocol-configuration-list protocols" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20418 msgid "" "List of protocols we want to serve. Available protocols include " "@samp{imap}, @samp{pop3}, and @samp{lmtp}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20420 msgid "Available @code{protocol-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20421 #, no-wrap msgid "{@code{protocol-configuration} parameter} string name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20423 msgid "The name of the protocol." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20425 #, no-wrap msgid "{@code{protocol-configuration} parameter} string auth-socket-path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20429 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20431 #, no-wrap msgid "{@code{protocol-configuration} parameter} boolean imap-metadata?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20436 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20439 msgid "" "If this is @samp{#t}, you must also specify a dictionary @i{via} the " "@code{mail-attribute-dict} setting." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20444 #, no-wrap msgid "{@code{protocol-configuration} parameter} space-separated-string-list managesieve-notify-capabilities" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20449 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20453 #, no-wrap msgid "{@code{protocol-configuration} parameter} space-separated-string-list managesieve-sieve-capability" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20458 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20463 #, no-wrap msgid "{@code{protocol-configuration} parameter} space-separated-string-list mail-plugins" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20465 msgid "Space separated list of plugins to load." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20467 #, no-wrap msgid "{@code{protocol-configuration} parameter} non-negative-integer mail-max-userip-connections" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20471 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20475 #, no-wrap msgid "{@code{dovecot-configuration} parameter} service-configuration-list services" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20479 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20481 msgid "Available @code{service-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20482 #, no-wrap msgid "{@code{service-configuration} parameter} string kind" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20487 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20489 #, no-wrap msgid "{@code{service-configuration} parameter} listener-configuration-list listeners" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20494 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20496 msgid "Available @code{unix-listener-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20497 #, no-wrap msgid "{@code{unix-listener-configuration} parameter} string path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20500 guix-git/doc/guix.texi:20523 msgid "" "Path to the file, relative to @code{base-dir} field. This is also used as " "the section name." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20502 #, no-wrap msgid "{@code{unix-listener-configuration} parameter} string mode" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20505 guix-git/doc/guix.texi:20528 msgid "The access mode for the socket. Defaults to @samp{\"0600\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20507 #, no-wrap msgid "{@code{unix-listener-configuration} parameter} string user" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20510 guix-git/doc/guix.texi:20533 msgid "The user to own the socket. Defaults to @samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20512 #, no-wrap msgid "{@code{unix-listener-configuration} parameter} string group" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20515 guix-git/doc/guix.texi:20538 msgid "The group to own the socket. Defaults to @samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20519 msgid "Available @code{fifo-listener-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20520 #, no-wrap msgid "{@code{fifo-listener-configuration} parameter} string path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20525 #, no-wrap msgid "{@code{fifo-listener-configuration} parameter} string mode" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20530 #, no-wrap msgid "{@code{fifo-listener-configuration} parameter} string user" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20535 #, no-wrap msgid "{@code{fifo-listener-configuration} parameter} string group" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20542 msgid "Available @code{inet-listener-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20543 #, no-wrap msgid "{@code{inet-listener-configuration} parameter} string protocol" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20545 msgid "The protocol to listen for." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20547 #, no-wrap msgid "{@code{inet-listener-configuration} parameter} string address" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20550 msgid "" "The address on which to listen, or empty for all addresses. Defaults to " "@samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20552 #, no-wrap msgid "{@code{inet-listener-configuration} parameter} non-negative-integer port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20554 msgid "The port on which to listen." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20556 #, no-wrap msgid "{@code{inet-listener-configuration} parameter} boolean ssl?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20560 msgid "" "Whether to use SSL for this service; @samp{yes}, @samp{no}, or " "@samp{required}. Defaults to @samp{#t}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20564 #, no-wrap msgid "{@code{service-configuration} parameter} non-negative-integer client-limit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20569 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20574 #, no-wrap msgid "{@code{service-configuration} parameter} non-negative-integer service-count" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20579 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. . Defaults to @samp{1}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20582 #, no-wrap msgid "{@code{service-configuration} parameter} non-negative-integer process-limit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20585 msgid "" "Maximum number of processes that can exist for this service. If set to 0, " "@code{default-process-limit} is used instead." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20590 #, no-wrap msgid "{@code{service-configuration} parameter} non-negative-integer process-min-avail" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20593 msgid "" "Number of processes to always keep waiting for more connections. Defaults " "to @samp{0}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20595 #, no-wrap msgid "{@code{service-configuration} parameter} non-negative-integer vsz-limit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20599 msgid "" "If you set @samp{service-count 0}, you probably need to grow this. Defaults " "to @samp{256000000}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20603 #, no-wrap msgid "{@code{dovecot-configuration} parameter} dict-configuration dict" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20606 msgid "" "Dict configuration, as created by the @code{dict-configuration} constructor." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20608 msgid "Available @code{dict-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20609 #, no-wrap msgid "{@code{dict-configuration} parameter} free-form-fields entries" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20612 msgid "" "A list of key-value pairs that this dict should hold. Defaults to @samp{()}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20616 #, no-wrap msgid "{@code{dovecot-configuration} parameter} passdb-configuration-list passdbs" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20619 msgid "" "A list of passdb configurations, each one created by the @code{passdb-" "configuration} constructor." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20621 msgid "Available @code{passdb-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20622 #, no-wrap msgid "{@code{passdb-configuration} parameter} string driver" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20627 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20629 #, no-wrap msgid "{@code{passdb-configuration} parameter} space-separated-string-list args" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20632 msgid "" "Space separated list of arguments to the passdb driver. Defaults to " "@samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20636 #, no-wrap msgid "{@code{dovecot-configuration} parameter} userdb-configuration-list userdbs" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20639 msgid "" "List of userdb configurations, each one created by the @code{userdb-" "configuration} constructor." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20641 msgid "Available @code{userdb-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20642 #, no-wrap msgid "{@code{userdb-configuration} parameter} string driver" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20646 msgid "" "The driver that the userdb should use. Valid values include @samp{passwd} " "and @samp{static}. Defaults to @samp{\"passwd\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20648 #, no-wrap msgid "{@code{userdb-configuration} parameter} space-separated-string-list args" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20651 msgid "" "Space separated list of arguments to the userdb driver. Defaults to " "@samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20653 #, no-wrap msgid "{@code{userdb-configuration} parameter} free-form-args override-fields" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20656 msgid "Override fields from passwd. Defaults to @samp{()}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20660 #, no-wrap msgid "{@code{dovecot-configuration} parameter} plugin-configuration plugin-configuration" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20663 msgid "" "Plug-in configuration, created by the @code{plugin-configuration} " "constructor." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20665 #, no-wrap msgid "{@code{dovecot-configuration} parameter} list-of-namespace-configuration namespaces" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20668 msgid "" "List of namespaces. Each item in the list is created by the @code{namespace-" "configuration} constructor." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20670 msgid "Available @code{namespace-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20671 #, no-wrap msgid "{@code{namespace-configuration} parameter} string name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20673 msgid "Name for this namespace." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20675 #, no-wrap msgid "{@code{namespace-configuration} parameter} string type" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20678 msgid "" "Namespace type: @samp{private}, @samp{shared} or @samp{public}. Defaults to " "@samp{\"private\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20680 #, no-wrap msgid "{@code{namespace-configuration} parameter} string separator" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20686 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20688 #, no-wrap msgid "{@code{namespace-configuration} parameter} string prefix" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20692 msgid "" "Prefix required to access this namespace. This needs to be different for " "all namespaces. For example @samp{Public/}. Defaults to @samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20694 #, no-wrap msgid "{@code{namespace-configuration} parameter} string location" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20698 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20700 #, no-wrap msgid "{@code{namespace-configuration} parameter} boolean inbox?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20704 msgid "" "There can be only one INBOX, and this setting defines which namespace has " "it. Defaults to @samp{#f}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20706 #, no-wrap msgid "{@code{namespace-configuration} parameter} boolean hidden?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20714 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20716 #, no-wrap msgid "{@code{namespace-configuration} parameter} boolean list?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20722 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20724 #, no-wrap msgid "{@code{namespace-configuration} parameter} boolean subscriptions?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20729 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20731 #, no-wrap msgid "{@code{namespace-configuration} parameter} mailbox-configuration-list mailboxes" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20734 msgid "List of predefined mailboxes in this namespace. Defaults to @samp{()}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20736 msgid "Available @code{mailbox-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20737 #, no-wrap msgid "{@code{mailbox-configuration} parameter} string name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20739 msgid "Name for this mailbox." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20741 #, no-wrap msgid "{@code{mailbox-configuration} parameter} string auto" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20745 msgid "" "@samp{create} will automatically create this mailbox. @samp{subscribe} will " "both create and subscribe to the mailbox. Defaults to @samp{\"no\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20747 #, no-wrap msgid "{@code{mailbox-configuration} parameter} space-separated-string-list special-use" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20752 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20758 #, no-wrap msgid "{@code{dovecot-configuration} parameter} file-name base-dir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20761 msgid "" "Base directory where to store runtime data. Defaults to @samp{\"/var/run/" "dovecot/\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20763 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string login-greeting" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20766 msgid "Greeting message for clients. Defaults to @samp{\"Dovecot ready.\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20768 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-trusted-networks" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20775 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20777 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-access-sockets" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20780 msgid "" "List of login access check sockets (e.g.@: tcpwrap). Defaults to @samp{()}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20782 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean verbose-proctitle?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20788 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20790 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean shutdown-clients?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20796 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20798 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer doveadm-worker-count" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20802 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20804 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string doveadm-socket-path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20807 msgid "" "UNIX socket or host:port used for connecting to doveadm server. Defaults to " "@samp{\"doveadm-server\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20809 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list import-environment" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20813 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20815 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean disable-plaintext-auth?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20822 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 " "ssl=required setting. Defaults to @samp{#t}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20824 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer auth-cache-size" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20829 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20831 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-cache-ttl" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20839 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20841 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-cache-negative-ttl" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20845 msgid "" "TTL for negative hits (user not found, password mismatch). 0 disables " "caching them completely. Defaults to @samp{\"1 hour\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20847 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list auth-realms" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20853 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20855 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-default-realm" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20860 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20862 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-username-chars" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20869 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20871 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-username-translation" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20877 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20879 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-username-format" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20886 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20888 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-master-user-separator" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20896 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 . UW-IMAP uses " "@samp{*} as the separator, so that could be a good choice. Defaults to " "@samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20898 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-anonymous-username" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20902 msgid "" "Username to use for users logging in with ANONYMOUS SASL mechanism. " "Defaults to @samp{\"anonymous\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20904 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer auth-worker-max-count" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20909 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20911 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-gssapi-hostname" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20916 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20918 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-krb5-keytab" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20924 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20926 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean auth-use-winbind?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20931 msgid "" "Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and " "@samp{ntlm-auth} helper. . " "Defaults to @samp{#f}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20933 #, no-wrap msgid "{@code{dovecot-configuration} parameter} file-name auth-winbind-helper-path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20936 msgid "" "Path for Samba's @samp{ntlm-auth} helper binary. Defaults to @samp{\"/usr/" "bin/ntlm_auth\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20938 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-failure-delay" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20941 msgid "" "Time to delay before replying to failed authentications. Defaults to " "@samp{\"2 secs\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20943 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean auth-ssl-require-client-cert?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20947 msgid "" "Require a valid SSL client certificate or the authentication fails. " "Defaults to @samp{#f}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20949 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean auth-ssl-username-from-cert?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20954 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20956 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list auth-mechanisms" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20962 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}. NOTE: See also @samp{disable-plaintext-" "auth} setting." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20964 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list director-servers" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20969 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20971 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list director-mail-servers" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20975 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20977 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string director-user-expire" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20981 msgid "" "How long to redirect users to a specific server after it no longer has any " "connections. Defaults to @samp{\"15 min\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20983 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string director-username-hash" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20988 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:20990 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string log-path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20994 msgid "" "Log file to use for error messages. @samp{syslog} logs to syslog, @samp{/" "dev/stderr} logs to stderr. Defaults to @samp{\"syslog\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:20996 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string info-log-path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21000 msgid "" "Log file to use for informational messages. Defaults to @samp{log-path}. " "Defaults to @samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21002 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string debug-log-path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21006 msgid "" "Log file to use for debug messages. Defaults to @samp{info-log-path}. " "Defaults to @samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21008 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string syslog-facility" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21013 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21015 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean auth-verbose?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21019 msgid "" "Log unsuccessful authentication attempts and the reasons why they failed. " "Defaults to @samp{#f}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21021 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string auth-verbose-passwords" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21028 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21030 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean auth-debug?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21034 msgid "" "Even more verbose logging for debugging purposes. Shows for example SQL " "queries. Defaults to @samp{#f}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21036 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean auth-debug-passwords?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21041 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21043 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean mail-debug?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21047 msgid "" "Enable mail process debugging. This can help you figure out why Dovecot " "isn't finding your mails. Defaults to @samp{#f}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21049 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean verbose-ssl?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21052 msgid "Show protocol level SSL errors. Defaults to @samp{#f}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21054 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string log-timestamp" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21058 msgid "" "Prefix for each line written to log file. % codes are in strftime(3) " "format. Defaults to @samp{\"\\\"%b %d %H:%M:%S \\\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21060 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list login-log-format-elements" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21064 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:21066 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string login-log-format" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21070 msgid "" "Login log format. %s contains @samp{login-log-format-elements} string, %$ " "contains the data we want to log. Defaults to @samp{\"%$: %s\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21072 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-log-prefix" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21076 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21078 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string deliver-log-format" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21080 msgid "Format to use for logging mail deliveries. You can use variables:" msgstr "" #. type: item #: guix-git/doc/guix.texi:21081 #, no-wrap msgid "%$" msgstr "" #. type: table #: guix-git/doc/guix.texi:21083 msgid "Delivery status message (e.g.@: @samp{saved to INBOX})" msgstr "" #. type: item #: guix-git/doc/guix.texi:21083 #, no-wrap msgid "%m" msgstr "" #. type: table #: guix-git/doc/guix.texi:21085 msgid "Message-ID" msgstr "" #. type: item #: guix-git/doc/guix.texi:21085 guix-git/doc/guix.texi:21628 #, no-wrap msgid "%s" msgstr "" #. type: table #: guix-git/doc/guix.texi:21087 msgid "Subject" msgstr "" #. type: item #: guix-git/doc/guix.texi:21087 #, no-wrap msgid "%f" msgstr "" #. type: table #: guix-git/doc/guix.texi:21089 msgid "From address" msgstr "" #. type: table #: guix-git/doc/guix.texi:21091 msgid "Physical size" msgstr "" #. type: item #: guix-git/doc/guix.texi:21091 #, no-wrap msgid "%w" msgstr "" #. type: table #: guix-git/doc/guix.texi:21093 msgid "Virtual size." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21095 msgid "Defaults to @samp{\"msgid=%m: %$\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21097 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-location" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21102 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21108 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21110 msgid "There are a few special variables you can use, e.g.:" msgstr "" #. type: table #: guix-git/doc/guix.texi:21114 msgid "username" msgstr "" #. type: item #: guix-git/doc/guix.texi:21114 guix-git/doc/guix.texi:21624 #, no-wrap msgid "%n" msgstr "" #. type: table #: guix-git/doc/guix.texi:21116 msgid "user part in user@@domain, same as %u if there's no domain" msgstr "" #. type: item #: guix-git/doc/guix.texi:21116 #, no-wrap msgid "%d" msgstr "" #. type: table #: guix-git/doc/guix.texi:21118 msgid "domain part in user@@domain, empty if there's no domain" msgstr "" #. type: item #: guix-git/doc/guix.texi:21118 #, no-wrap msgid "%h" msgstr "" #. type: table #: guix-git/doc/guix.texi:21120 msgid "home director" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21123 msgid "See doc/wiki/Variables.txt for full list. Some examples:" msgstr "" #. type: item #: guix-git/doc/guix.texi:21124 #, no-wrap msgid "maildir:~/Maildir" msgstr "" #. type: item #: guix-git/doc/guix.texi:21125 #, no-wrap msgid "mbox:~/mail:INBOX=/var/mail/%u" msgstr "" #. type: item #: guix-git/doc/guix.texi:21126 #, no-wrap msgid "mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21131 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-uid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21136 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. . Defaults to @samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21138 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-gid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21143 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-privileged-group" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21149 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21151 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-access-groups" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21159 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21161 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-attribute-dict" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21164 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21167 msgid "" "The IMAP METADATA commands are available only if the ``imap'' protocol " "configuration's @code{imap-metadata?} field is @samp{#t}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21172 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21178 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21180 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean mmap-disable?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21184 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21186 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean dotlock-use-excl?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21191 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21193 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-fsync" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21195 msgid "When to use fsync() or fdatasync() calls:" msgstr "" #. type: item #: guix-git/doc/guix.texi:21196 #, no-wrap msgid "optimized" msgstr "" #. type: table #: guix-git/doc/guix.texi:21198 msgid "Whenever necessary to avoid losing important data" msgstr "" #. type: table #: guix-git/doc/guix.texi:21200 msgid "Useful with e.g.@: NFS when @code{write()}s are delayed" msgstr "" #. type: table #: guix-git/doc/guix.texi:21202 msgid "Never use it (best performance, but crashes can lose data)." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21204 msgid "Defaults to @samp{\"optimized\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21206 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-storage?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21211 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21213 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean mail-nfs-index?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21217 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21219 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string lock-method" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21225 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21227 #, no-wrap msgid "{@code{dovecot-configuration} parameter} file-name mail-temp-dir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21231 msgid "" "Directory in which LDA/LMTP temporarily stores incoming mails >128 kB. " "Defaults to @samp{\"/tmp\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21233 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer first-valid-uid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21239 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21241 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-uid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21246 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer first-valid-gid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21251 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21253 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer last-valid-gid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21258 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-max-keyword-length" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21262 msgid "" "Maximum allowed length for mail keyword name. It's only forced when trying " "to create new keywords. Defaults to @samp{50}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21264 #, no-wrap msgid "{@code{dovecot-configuration} parameter} colon-separated-file-name-list valid-chroot-dirs" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21274 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. . Defaults to " "@samp{()}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21276 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-chroot" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21285 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}. . Defaults to @samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21287 #, no-wrap msgid "{@code{dovecot-configuration} parameter} file-name auth-socket-path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21291 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21293 #, no-wrap msgid "{@code{dovecot-configuration} parameter} file-name mail-plugin-dir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21296 msgid "" "Directory where to look up mail plugins. Defaults to @samp{\"/usr/lib/" "dovecot\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21298 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mail-plugins" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21302 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21304 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-cache-min-mail-count" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21309 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21311 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mailbox-idle-check-interval" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21318 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21320 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean mail-save-crlf?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21327 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21329 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean maildir-stat-dirs?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21337 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21339 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean maildir-copy-with-hardlinks?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21344 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21346 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean maildir-very-dirty-syncs?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21351 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21353 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mbox-read-locks" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21356 msgid "" "Which locking methods to use for locking mbox. There are four available:" msgstr "" #. type: item #: guix-git/doc/guix.texi:21358 #, no-wrap msgid "dotlock" msgstr "" #. type: table #: guix-git/doc/guix.texi:21362 msgid "" "Create .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 "" #. type: item #: guix-git/doc/guix.texi:21362 #, no-wrap msgid "dotlock-try" msgstr "" #. type: table #: guix-git/doc/guix.texi:21365 msgid "" "Same as dotlock, but if it fails because of permissions or because there " "isn't enough disk space, just skip it." msgstr "" #. type: item #: guix-git/doc/guix.texi:21365 #, no-wrap msgid "fcntl" msgstr "" #. type: table #: guix-git/doc/guix.texi:21367 msgid "Use this if possible. Works with NFS too if lockd is used." msgstr "" #. type: item #: guix-git/doc/guix.texi:21367 #, no-wrap msgid "flock" msgstr "" #. type: table #: guix-git/doc/guix.texi:21369 guix-git/doc/guix.texi:21371 msgid "May not exist in all systems. Doesn't work with NFS." msgstr "" #. type: item #: guix-git/doc/guix.texi:21369 #, no-wrap msgid "lockf" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21377 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21379 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list mbox-write-locks" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21383 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mbox-lock-timeout" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21386 msgid "" "Maximum time to wait for lock (all of them) before aborting. Defaults to " "@samp{\"5 mins\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21388 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mbox-dotlock-change-timeout" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21392 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21394 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean mbox-dirty-syncs?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21405 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21407 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean mbox-very-dirty-syncs?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21412 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21414 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean mbox-lazy-writes?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21420 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21422 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer mbox-min-index-size" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21427 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21429 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer mdbox-rotate-size" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21432 msgid "" "Maximum dbox file size until it's rotated. Defaults to @samp{10000000}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21434 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mdbox-rotate-interval" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21439 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21441 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean mdbox-preallocate-space?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21446 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21448 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-attachment-dir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21452 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21454 msgid "" "WARNING: This feature hasn't been tested much yet. Use at your own risk." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21457 msgid "" "Directory root where to store mail attachments. Disabled, if empty. " "Defaults to @samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21459 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer mail-attachment-min-size" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21464 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21466 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-attachment-fs" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21468 msgid "File system backend to use for saving attachments:" msgstr "" #. type: item #: guix-git/doc/guix.texi:21469 #, no-wrap msgid "posix" msgstr "" #. type: table #: guix-git/doc/guix.texi:21471 msgid "No SiS done by Dovecot (but this might help FS's own deduplication)" msgstr "" #. type: item #: guix-git/doc/guix.texi:21471 #, no-wrap msgid "sis posix" msgstr "" #. type: table #: guix-git/doc/guix.texi:21473 msgid "SiS with immediate byte-by-byte comparison during saving" msgstr "" #. type: item #: guix-git/doc/guix.texi:21473 #, no-wrap msgid "sis-queue posix" msgstr "" #. type: table #: guix-git/doc/guix.texi:21475 msgid "SiS with delayed comparison and deduplication." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21477 msgid "Defaults to @samp{\"sis posix\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21479 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string mail-attachment-hash" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21485 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21487 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-process-limit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21492 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-client-limit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21495 guix-git/doc/guix.texi:29111 msgid "Defaults to @samp{1000}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21497 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer default-vsz-limit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21502 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21504 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string default-login-user" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21509 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21511 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string default-internal-user" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21516 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21518 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string ssl?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21521 msgid "" "SSL/TLS support: yes, no, required. . Defaults to " "@samp{\"required\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21523 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string ssl-cert" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21526 msgid "" "PEM encoded X.509 SSL/TLS certificate (public key). Defaults to @samp{\" was automatically rejected:%n%r\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21636 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string recipient-delimiter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21640 msgid "" "Delimiter character between local-part and detail in email address. " "Defaults to @samp{\"+\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21642 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string lda-original-recipient-header" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21648 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21650 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autocreate?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21654 msgid "" "Should saving a mail to a nonexistent mailbox automatically create it?. " "Defaults to @samp{#f}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21656 #, no-wrap msgid "{@code{dovecot-configuration} parameter} boolean lda-mailbox-autosubscribe?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21660 msgid "" "Should automatically created mailboxes be also automatically subscribed?. " "Defaults to @samp{#f}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21662 #, no-wrap msgid "{@code{dovecot-configuration} parameter} non-negative-integer imap-max-line-length" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21668 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21670 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string imap-logout-format" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21672 msgid "IMAP logout format string:" msgstr "" #. type: item #: guix-git/doc/guix.texi:21673 #, no-wrap msgid "%i" msgstr "" #. type: table #: guix-git/doc/guix.texi:21675 msgid "total number of bytes read from client" msgstr "" #. type: item #: guix-git/doc/guix.texi:21675 #, no-wrap msgid "%o" msgstr "" #. type: table #: guix-git/doc/guix.texi:21677 msgid "total number of bytes sent to client." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21680 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21682 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string imap-capability" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21686 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21688 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string imap-idle-notify-interval" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21692 msgid "" "How long to wait between \"OK Still here\" notifications when client is " "IDLEing. Defaults to @samp{\"2 mins\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21694 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string imap-id-send" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21700 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:21702 #, no-wrap msgid "{@code{dovecot-configuration} parameter} string imap-id-log" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21705 msgid "" "ID fields sent by client to log. * means everything. Defaults to " "@samp{\"\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21707 #, no-wrap msgid "{@code{dovecot-configuration} parameter} space-separated-string-list imap-client-workarounds" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:21709 msgid "Workarounds for various client bugs:" msgstr "" #. type: item #: guix-git/doc/guix.texi:21711 #, no-wrap msgid "delay-newmail" msgstr "" #. type: table #: guix-git/doc/guix.texi:21718 msgid "" "Send EXISTS/RECENT new mail notifications only when replying to NOOP and " "CHECK commands. Some clients ignore them otherwise, for example OSX Mail " "(' 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 " "Murmur log to ensure that Murmur is using the cipher suites that you " "expected it to." msgstr "" #. type: table #: guix-git/doc/guix.texi:23108 msgid "" "Note: Changing this option may impact the backwards compatibility of your " "Murmur server, and can remove the ability for older Mumble clients to be " "able to connect to it." msgstr "" #. type: item #: guix-git/doc/guix.texi:23109 #, no-wrap msgid "@code{public-registration} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:23111 msgid "" "Must be a @code{} record or " "@code{#f}." msgstr "" #. type: table #: guix-git/doc/guix.texi:23116 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 "" #. type: table #: guix-git/doc/guix.texi:23118 msgid "It might take a few hours until it shows up in the public list." msgstr "" #. type: item #: guix-git/doc/guix.texi:23119 guix-git/doc/guix.texi:25356 #, no-wrap msgid "@code{file} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:23121 msgid "Optional alternative override for this configuration." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:23124 #, no-wrap msgid "{Data Type} murmur-public-registration-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:23126 msgid "Configuration for public registration of a murmur service." msgstr "" #. type: table #: guix-git/doc/guix.texi:23130 msgid "" "This is a display name for your server. Not to be confused with the " "hostname." msgstr "" #. type: itemx #: guix-git/doc/guix.texi:23131 guix-git/doc/guix.texi:32028 #: guix-git/doc/guix.texi:33176 #, no-wrap msgid "password" msgstr "" #. type: table #: guix-git/doc/guix.texi:23134 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:23138 msgid "" "This should be a @code{http://} or @code{https://} link to your web site." msgstr "" #. type: item #: guix-git/doc/guix.texi:23139 guix-git/doc/guix.texi:26235 #, no-wrap msgid "@code{hostname} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:23142 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 "" #. type: Plain text #: guix-git/doc/guix.texi:23152 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:23153 #, no-wrap msgid "Transmission Daemon Service" msgstr "Сервисы упраления версиями" #. type: Plain text #: guix-git/doc/guix.texi:23161 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 "" #. type: deffn #: guix-git/doc/guix.texi:23162 #, no-wrap msgid "{Scheme Variable} transmission-daemon-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: deffn #: guix-git/doc/guix.texi:23166 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 "" #. type: lisp #: guix-git/doc/guix.texi:23177 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:23182 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:23186 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:23193 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:23206 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 "" #. type: Plain text #: guix-git/doc/guix.texi:23214 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 "" #. type: deffn #: guix-git/doc/guix.texi:23215 #, no-wrap msgid "{Scheme Procedure} transmission-password-hash @var{password} @var{salt}" msgstr "{Процедура Scheme} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:23219 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 "" #. type: deffn #: guix-git/doc/guix.texi:23223 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 "" #. type: deffn #: guix-git/doc/guix.texi:23225 #, no-wrap msgid "{Scheme Procedure} transmission-random-salt" msgstr "{Процедура Scheme} open-inferior @var{directory} @" #. type: deffn #: guix-git/doc/guix.texi:23229 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 "" #. type: Plain text #: guix-git/doc/guix.texi:23235 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 "" #. type: example #: guix-git/doc/guix.texi:23241 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:23244 msgid "Alternatively, a complete password hash can generated in a single step:" msgstr "" #. type: example #: guix-git/doc/guix.texi:23249 #, no-wrap msgid "" "scheme@@(guix-user)> (transmission-password-hash \"transmission\"\n" "(transmission-random-salt))\n" "$2 = \"@{c8bbc6d1740cd8dc819a6e25563b67812c1c19c9VtFPfdsX\"\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:23254 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 "" #. type: Plain text #: guix-git/doc/guix.texi:23263 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 "" #. type: Plain text #: guix-git/doc/guix.texi:23270 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 "" #. type: Plain text #: guix-git/doc/guix.texi:23275 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 "" #. type: example #: guix-git/doc/guix.texi:23278 #, no-wrap msgid "# herd reload transmission-daemon\n" msgstr "herd start ssh-daemon\n" #. type: Plain text #: guix-git/doc/guix.texi:23282 msgid "" "The full set of available configuration settings is defined by the " "@code{transmission-daemon-configuration} data type." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:23283 #, no-wrap msgid "{Data Type} transmission-daemon-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:23287 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 "" #. type: Plain text #: guix-git/doc/guix.texi:23301 msgid "Available @code{transmission-daemon-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23302 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} package transmission" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23304 msgid "The Transmission package to use." msgstr "Используемый пакет nfs-utils." #. type: deftypevr #: guix-git/doc/guix.texi:23307 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer stop-wait-period" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23313 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23315 guix-git/doc/guix.texi:23687 #: guix-git/doc/guix.texi:30988 guix-git/doc/guix.texi:31223 #: guix-git/doc/guix.texi:31231 guix-git/doc/guix.texi:31239 msgid "Defaults to @samp{10}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23318 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} string download-dir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23320 msgid "The directory to which torrent files are downloaded." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23322 msgid "Defaults to @samp{\"/var/lib/transmission-daemon/downloads\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23325 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean incomplete-dir-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23330 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23335 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} maybe-string incomplete-dir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23338 msgid "" "The directory in which files from incompletely downloaded torrents will be " "held when @code{incomplete-dir-enabled?} is @code{#t}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23343 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} umask umask" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23346 msgid "" "The file mode creation mask used for downloaded files. (See the " "@command{umask} man page for more information.)" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23348 msgid "Defaults to @samp{18}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23351 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean rename-partial-files?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23354 msgid "" "When @code{#t}, ``.part'' is appended to the name of partially downloaded " "files." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23359 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} preallocation-mode preallocation" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23364 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23366 msgid "Defaults to @samp{fast}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23369 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean watch-dir-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23374 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23379 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} maybe-string watch-dir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23382 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23387 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean trash-original-torrent-files?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23391 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23396 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean speed-limit-down-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23399 msgid "" "When @code{#t}, the daemon's download speed will be limited to the rate " "specified by @code{speed-limit-down}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23404 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer speed-limit-down" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23406 msgid "The default global-maximum download speed, in kilobytes per second." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23411 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean speed-limit-up-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23414 msgid "" "When @code{#t}, the daemon's upload speed will be limited to the rate " "specified by @code{speed-limit-up}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23419 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer speed-limit-up" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23421 msgid "The default global-maximum upload speed, in kilobytes per second." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23426 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean alt-speed-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23432 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23437 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer alt-speed-down" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23439 msgid "The alternate global-maximum download speed, in kilobytes per second." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23441 guix-git/doc/guix.texi:23448 #: guix-git/doc/guix.texi:23620 guix-git/doc/guix.texi:30995 #: guix-git/doc/guix.texi:31010 msgid "Defaults to @samp{50}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23444 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer alt-speed-up" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23446 msgid "The alternate global-maximum upload speed, in kilobytes per second." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23451 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean alt-speed-time-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23456 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23461 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} day-list alt-speed-time-day" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23466 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23468 msgid "Defaults to @samp{all}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23471 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer alt-speed-time-begin" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23474 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:23476 msgid "Defaults to @samp{540}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23479 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer alt-speed-time-end" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23482 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:23484 msgid "Defaults to @samp{1020}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23487 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} string bind-address-ipv4" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23490 msgid "" "The IP address at which to listen for peer connections, or ``0.0.0.0'' to " "listen at all available IP addresses." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23492 guix-git/doc/guix.texi:23795 #: guix-git/doc/guix.texi:28909 msgid "Defaults to @samp{\"0.0.0.0\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23495 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} string bind-address-ipv6" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23498 msgid "" "The IPv6 address at which to listen for peer connections, or ``::'' to " "listen at all available IPv6 addresses." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23500 msgid "Defaults to @samp{\"::\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23503 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean peer-port-random-on-start?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23509 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23514 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} port-number peer-port-random-low" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23517 msgid "" "The lowest selectable port number when @code{peer-port-random-on-start?} is " "@code{#t}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23519 msgid "Defaults to @samp{49152}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23522 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} port-number peer-port-random-high" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23525 msgid "" "The highest selectable port number when @code{peer-port-random-on-start} is " "@code{#t}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23527 msgid "Defaults to @samp{65535}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23530 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} port-number peer-port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23533 msgid "" "The port on which to listen for peer connections when @code{peer-port-random-" "on-start?} is @code{#f}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23535 msgid "Defaults to @samp{51413}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23538 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean port-forwarding-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23542 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23547 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} encryption-mode encryption" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23552 msgid "" "The encryption preference for peer connections, one of @code{prefer-" "unencrypted-connections}, @code{prefer-encrypted-connections} or " "@code{require-encrypted-connections}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23554 msgid "Defaults to @samp{prefer-encrypted-connections}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23557 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} maybe-string peer-congestion-algorithm" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23562 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} (or set to @code{disabled}, in which case the operating-" "system default is used)." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23571 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23579 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 "" #. type: lisp #: guix-git/doc/guix.texi:23586 #, 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 cups-service-type\n" " (cups-configuration\n" " (web-interface? #t)\n" " (extensions\n" " (list cups-filters epson-inkjet-printer-escpr hplip-minimal))))\n" #. type: deftypevr #: guix-git/doc/guix.texi:23589 msgid "The Transmission Daemon configuration can then be updated with" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:23592 #, no-wrap msgid "(peer-congestion-algorithm \"lp\")\n" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23595 msgid "and the system reconfigured to have the changes take effect." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23600 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} tcp-type-of-service peer-socket-tos" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23604 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23606 msgid "Defaults to @samp{default}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23609 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer peer-limit-global" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23611 msgid "The global limit on the number of connected peers." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23613 msgid "Defaults to @samp{200}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23616 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer peer-limit-per-torrent" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23618 msgid "The per-torrent limit on the number of connected peers." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23623 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer upload-slots-per-torrent" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23626 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:23628 msgid "Defaults to @samp{14}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23631 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer peer-id-ttl-hours" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23634 msgid "" "The maximum lifespan, in hours, of the peer ID associated with each public " "torrent before it is regenerated." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23636 msgid "Defaults to @samp{6}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23639 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean blocklist-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23642 msgid "" "When @code{#t}, the daemon will ignore peers mentioned in the blocklist it " "has most recently downloaded from @code{blocklist-url}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23647 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} maybe-string blocklist-url" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23651 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23656 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean download-queue-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23659 msgid "" "If @code{#t}, the daemon will be limited to downloading at most " "@code{download-queue-size} non-stalled torrents simultaneously." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23664 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer download-queue-size" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23668 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23673 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean seed-queue-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23676 msgid "" "If @code{#t}, the daemon will be limited to seeding at most @code{seed-queue-" "size} non-stalled torrents simultaneously." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23681 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer seed-queue-size" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23685 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23690 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean queue-stalled-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23695 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23700 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer queue-stalled-minutes" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23704 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23709 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean ratio-limit-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23712 msgid "" "When @code{#t}, a torrent being seeded will automatically be paused once it " "reaches the ratio specified by @code{ratio-limit}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23717 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-rational ratio-limit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23720 msgid "" "The ratio at which a torrent being seeded will be paused, when @code{ratio-" "limit-enabled?} is @code{#t}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23722 msgid "Defaults to @samp{2.0}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23725 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean idle-seeding-limit-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23728 msgid "" "When @code{#t}, a torrent being seeded will automatically be paused once it " "has been idle for @code{idle-seeding-limit} minutes." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23733 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer idle-seeding-limit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23737 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23742 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean dht-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23746 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23751 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean lpd-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23756 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23761 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean pex-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23765 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23770 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean utp-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23775 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23780 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean rpc-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23785 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23790 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} string rpc-bind-address" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23793 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23798 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} port-number rpc-port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23800 msgid "The port on which to listen for @acronym{RPC} connections." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23802 msgid "Defaults to @samp{9091}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23805 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} string rpc-url" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23807 msgid "The path prefix to use in the @acronym{RPC}-endpoint @acronym{URL}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23809 msgid "Defaults to @samp{\"/transmission/\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23812 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean rpc-authentication-required?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23817 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23822 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} maybe-string rpc-username" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23825 msgid "" "The username required by clients to access the @acronym{RPC} interface when " "@code{rpc-authentication-required?} is @code{#t}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23830 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} maybe-transmission-password-hash rpc-password" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23836 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23841 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean rpc-whitelist-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23844 msgid "" "When @code{#t}, @acronym{RPC} requests will be accepted only when they " "originate from an address specified in @code{rpc-whitelist}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23849 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} string-list rpc-whitelist" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23853 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23855 msgid "Defaults to @samp{(\"127.0.0.1\" \"::1\")}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23858 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean rpc-host-whitelist-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23863 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23866 msgid "" "Note also this functionality is disabled when @code{rpc-authentication-" "required?} is @code{#t}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23871 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} string-list rpc-host-whitelist" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23874 msgid "" "The list of host names recognized by the @acronym{RPC} server when @code{rpc-" "host-whitelist-enabled?} is @code{#t}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23879 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} message-level message-level" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23883 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23888 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean start-added-torrents?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23891 msgid "" "When @code{#t}, torrents are started as soon as they are added; otherwise, " "they are added in ``paused'' state." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23896 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean script-torrent-done-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23900 msgid "" "When @code{#t}, the script specified by @code{script-torrent-done-filename} " "will be invoked each time a torrent completes." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23905 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} maybe-file-object script-torrent-done-filename" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23909 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23914 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean scrape-paused-torrents-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23917 msgid "" "When @code{#t}, the daemon will scrape trackers for a torrent even when the " "torrent is paused." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23922 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} non-negative-integer cache-size-mb" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23926 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:23928 msgid "Defaults to @samp{4}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23931 #, no-wrap msgid "{@code{transmission-daemon-configuration} parameter} boolean prefetch-enabled?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:23935 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:23948 #, no-wrap msgid "Tailon Service" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:23952 msgid "" "@uref{https://tailon.readthedocs.io/, Tailon} is a web application for " "viewing and searching log files." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:23955 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 "" #. type: lisp #: guix-git/doc/guix.texi:23958 #, no-wrap msgid "(service tailon-service-type)\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:23962 msgid "" "The following example customises more of the Tailon configuration, adding " "@command{sed} to the list of allowed commands." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:23969 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:23972 #, no-wrap msgid "{Data Type} tailon-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:23975 msgid "" "Data type representing the configuration of Tailon. This type has the " "following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:23977 #, no-wrap msgid "@code{config-file} (default: @code{(tailon-configuration-file)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:23981 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 "" #. type: table #: guix-git/doc/guix.texi:23984 msgid "" "For example, to instead use a local file, the @code{local-file} function can " "be used:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:23989 #, no-wrap msgid "" "(service tailon-service-type\n" " (tailon-configuration\n" " (config-file (local-file \"./my-tailon.conf\"))))\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:23991 #, no-wrap msgid "@code{package} (default: @code{tailon})" msgstr "" #. type: table #: guix-git/doc/guix.texi:23993 msgid "The tailon package to use." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:23997 #, no-wrap msgid "{Data Type} tailon-configuration-file" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:24000 msgid "" "Data type representing the configuration options for Tailon. This type has " "the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:24002 #, no-wrap msgid "@code{files} (default: @code{(list \"/var/log\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24007 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:24008 #, no-wrap msgid "@code{bind} (default: @code{\"localhost:8080\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24010 msgid "Address and port to which Tailon should bind on." msgstr "" #. type: item #: guix-git/doc/guix.texi:24011 #, no-wrap msgid "@code{relative-root} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24013 msgid "URL path to use for Tailon, set to @code{#f} to not use a path." msgstr "" #. type: item #: guix-git/doc/guix.texi:24014 #, no-wrap msgid "@code{allow-transfers?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24016 msgid "Allow downloading the log files in the web interface." msgstr "" #. type: item #: guix-git/doc/guix.texi:24017 #, no-wrap msgid "@code{follow-names?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24019 msgid "Allow tailing of not-yet existent files." msgstr "" #. type: item #: guix-git/doc/guix.texi:24020 #, no-wrap msgid "@code{tail-lines} (default: @code{200})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24022 msgid "Number of lines to read initially from each file." msgstr "" #. type: item #: guix-git/doc/guix.texi:24023 #, no-wrap msgid "@code{allowed-commands} (default: @code{(list \"tail\" \"grep\" \"awk\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24025 msgid "Commands to allow running. By default, @code{sed} is disabled." msgstr "" #. type: table #: guix-git/doc/guix.texi:24028 msgid "Set @code{debug?} to @code{#t} to show debug messages." msgstr "" #. type: item #: guix-git/doc/guix.texi:24029 #, no-wrap msgid "@code{wrap-lines} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24033 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 "" #. type: item #: guix-git/doc/guix.texi:24034 #, no-wrap msgid "@code{http-auth} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24038 msgid "" "HTTP authentication type to use. Set to @code{#f} to disable authentication " "(the default). Supported values are @code{\"digest\"} or @code{\"basic\"}." msgstr "" #. type: item #: guix-git/doc/guix.texi:24039 #, no-wrap msgid "@code{users} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24044 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 "" #. type: lisp #: guix-git/doc/guix.texi:24050 #, no-wrap msgid "" "(tailon-configuration-file\n" " (http-auth \"basic\")\n" " (users '((\"user1\" . \"password1\")\n" " (\"user2\" . \"password2\"))))\n" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:24056 #, no-wrap msgid "Darkstat Service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:24057 #, no-wrap msgid "darkstat" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24060 msgid "" "Darkstat is a packet sniffer that captures network traffic, calculates " "statistics about usage, and serves reports over HTTP." msgstr "" #. type: defvar #: guix-git/doc/guix.texi:24061 #, no-wrap msgid "{Scheme Variable} darkstat-service-type" msgstr "" #. type: defvar #: guix-git/doc/guix.texi:24066 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 "" #. type: lisp #: guix-git/doc/guix.texi:24071 #, no-wrap msgid "" "(service darkstat-service-type\n" " (darkstat-configuration\n" " (interface \"eno1\")))\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:24074 #, no-wrap msgid "{Data Type} darkstat-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:24076 msgid "Data type representing the configuration of @command{darkstat}." msgstr "" #. type: item #: guix-git/doc/guix.texi:24078 #, no-wrap msgid "@code{package} (default: @code{darkstat})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24080 msgid "The darkstat package to use." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:24081 #, no-wrap msgid "interface" msgstr "" #. type: table #: guix-git/doc/guix.texi:24083 msgid "Capture traffic on the specified network interface." msgstr "" #. type: item #: guix-git/doc/guix.texi:24084 #, no-wrap msgid "@code{port} (default: @code{\"667\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24086 msgid "Bind the web interface to the specified port." msgstr "" #. type: table #: guix-git/doc/guix.texi:24089 guix-git/doc/guix.texi:24124 msgid "Bind the web interface to the specified address." msgstr "" #. type: item #: guix-git/doc/guix.texi:24090 #, no-wrap msgid "@code{base} (default: @code{\"/\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24093 msgid "" "Specify the path of the base URL@. This can be useful if @command{darkstat} " "is accessed via a reverse proxy." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:24097 #, no-wrap msgid "Prometheus Node Exporter Service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:24099 #, no-wrap msgid "prometheus-node-exporter" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24104 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 "" #. type: defvar #: guix-git/doc/guix.texi:24105 #, no-wrap msgid "{Scheme variable} prometheus-node-exporter-service-type" msgstr "" #. type: defvar #: guix-git/doc/guix.texi:24109 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 "" #. type: lisp #: guix-git/doc/guix.texi:24112 #, no-wrap msgid "(service prometheus-node-exporter-service-type)\n" msgstr "(service openssh-service-type)\n" #. type: deftp #: guix-git/doc/guix.texi:24115 #, no-wrap msgid "{Data Type} prometheus-node-exporter-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:24117 msgid "Data type representing the configuration of @command{node_exporter}." msgstr "" #. type: item #: guix-git/doc/guix.texi:24119 #, no-wrap msgid "@code{package} (default: @code{go-github-com-prometheus-node-exporter})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24121 msgid "The prometheus-node-exporter package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:24122 #, no-wrap msgid "@code{web-listen-address} (default: @code{\":9100\"})" msgstr "" #. type: item #: guix-git/doc/guix.texi:24125 #, no-wrap msgid "@code{textfile-directory} (default: @code{\"/var/lib/prometheus/node-exporter\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:24129 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 "" #. type: table #: guix-git/doc/guix.texi:24132 msgid "Extra options to pass to the Prometheus node exporter." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:24136 #, no-wrap msgid "Zabbix server" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:24137 #, no-wrap msgid "zabbix zabbix-server" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24140 msgid "" "Zabbix provides monitoring metrics, among others network utilization, CPU " "load and disk space consumption:" msgstr "" #. type: item #: guix-git/doc/guix.texi:24142 #, no-wrap msgid "High performance, high capacity (able to monitor hundreds of thousands of devices)." msgstr "" #. type: item #: guix-git/doc/guix.texi:24143 #, no-wrap msgid "Auto-discovery of servers and network devices and interfaces." msgstr "" #. type: item #: guix-git/doc/guix.texi:24144 #, no-wrap msgid "Low-level discovery, allows to automatically start monitoring new items, file systems or network interfaces among others." msgstr "" #. type: item #: guix-git/doc/guix.texi:24145 #, no-wrap msgid "Distributed monitoring with centralized web administration." msgstr "" #. type: item #: guix-git/doc/guix.texi:24146 #, no-wrap msgid "Native high performance agents." msgstr "" #. type: item #: guix-git/doc/guix.texi:24147 #, no-wrap msgid "SLA, and ITIL KPI metrics on reporting." msgstr "" #. type: item #: guix-git/doc/guix.texi:24148 #, no-wrap msgid "High-level (business) view of monitored resources through user-defined visual console screens and dashboards." msgstr "" #. type: item #: guix-git/doc/guix.texi:24149 #, no-wrap msgid "Remote command execution through Zabbix proxies." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24155 msgid "Available @code{zabbix-server-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24156 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} package zabbix-server" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24158 msgid "The zabbix-server package." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24161 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string user" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24163 msgid "User who will run the Zabbix server." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24165 guix-git/doc/guix.texi:24172 #: guix-git/doc/guix.texi:24186 guix-git/doc/guix.texi:24193 #: guix-git/doc/guix.texi:24294 guix-git/doc/guix.texi:24301 #: guix-git/doc/guix.texi:24412 guix-git/doc/guix.texi:24419 msgid "Defaults to @samp{\"zabbix\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24168 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} group group" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24170 msgid "Group who will run the Zabbix server." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24175 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string db-host" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24177 guix-git/doc/guix.texi:24396 msgid "Database host name." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24179 msgid "Defaults to @samp{\"127.0.0.1\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24182 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string db-name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24184 guix-git/doc/guix.texi:24410 msgid "Database name." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24189 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string db-user" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24191 guix-git/doc/guix.texi:24417 msgid "Database user." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24196 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string db-password" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24199 msgid "" "Database password. Please, use @code{include-files} with " "@code{DBPassword=SECRET} inside a specified file instead." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24204 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} number db-port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24206 guix-git/doc/guix.texi:24403 msgid "Database port." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24208 guix-git/doc/guix.texi:24405 msgid "Defaults to @samp{5432}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24211 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string log-type" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24213 guix-git/doc/guix.texi:24314 msgid "Specifies where log messages are written to:" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:24217 guix-git/doc/guix.texi:24318 msgid "@code{system} - syslog." msgstr "" #. type: itemize #: guix-git/doc/guix.texi:24220 guix-git/doc/guix.texi:24321 msgid "@code{file} - file specified with @code{log-file} parameter." msgstr "" #. type: itemize #: guix-git/doc/guix.texi:24223 guix-git/doc/guix.texi:24324 msgid "@code{console} - standard output." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24230 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string log-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24232 guix-git/doc/guix.texi:24333 msgid "Log file name for @code{log-type} @code{file} parameter." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24234 msgid "Defaults to @samp{\"/var/log/zabbix/server.log\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24237 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string pid-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24239 guix-git/doc/guix.texi:24340 msgid "Name of PID file." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24241 msgid "Defaults to @samp{\"/var/run/zabbix/zabbix_server.pid\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24244 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string ssl-ca-location" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24247 msgid "" "The location of certificate authority (CA) files for SSL server certificate " "verification." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24249 msgid "Defaults to @samp{\"/etc/ssl/certs/ca-certificates.crt\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24252 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string ssl-cert-location" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24254 msgid "Location of SSL client certificates." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24256 msgid "Defaults to @samp{\"/etc/ssl/certs\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24259 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string extra-options" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24261 guix-git/doc/guix.texi:24365 msgid "Extra options will be appended to Zabbix server configuration file." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24266 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} include-files include-files" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24269 guix-git/doc/guix.texi:24373 msgid "" "You may include individual files or all files in a directory in the " "configuration file." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:24276 #, no-wrap msgid "Zabbix agent" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:24277 #, no-wrap msgid "zabbix zabbix-agent" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24280 msgid "Zabbix agent gathers information for Zabbix server." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24284 msgid "Available @code{zabbix-agent-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24285 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} package zabbix-agent" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24287 msgid "The zabbix-agent package." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24290 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string user" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24292 msgid "User who will run the Zabbix agent." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24297 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} group group" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24299 msgid "Group who will run the Zabbix agent." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24304 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string hostname" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24307 msgid "" "Unique, case sensitive hostname which is required for active checks and must " "match hostname as configured on the server." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24312 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string log-type" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24331 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string log-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24335 msgid "Defaults to @samp{\"/var/log/zabbix/agent.log\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24338 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string pid-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24342 msgid "Defaults to @samp{\"/var/run/zabbix/zabbix_agent.pid\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24345 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} list server" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24349 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24351 guix-git/doc/guix.texi:24360 msgid "Defaults to @samp{(\"127.0.0.1\")}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24354 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} list server-active" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24358 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24363 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string extra-options" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24370 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} include-files include-files" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:24380 #, no-wrap msgid "Zabbix front-end" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:24381 #, no-wrap msgid "zabbix zabbix-front-end" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24384 msgid "This service provides a WEB interface to Zabbix server." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24388 msgid "Available @code{zabbix-front-end-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24389 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} nginx-server-configuration-list nginx" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24391 guix-git/doc/guix.texi:30622 msgid "NGINX configuration." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24394 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string db-host" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24401 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} number db-port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24408 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string db-name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24415 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string db-user" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24422 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string db-password" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24424 msgid "Database password. Please, use @code{db-secret-file} instead." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24429 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string db-secret-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24434 msgid "" "Secret file containing the credentials for the Zabbix front-end. The value " "must be a local file name, not a G-expression. You are expected to create " "this file manually. Its contents will be copied into @file{zabbix.conf.php} " "as the value of @code{$DB['PASSWORD']}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24439 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string zabbix-host" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24441 msgid "Zabbix server hostname." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24446 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} number zabbix-port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24448 msgid "Zabbix server port." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24450 msgid "Defaults to @samp{10051}." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:24458 #, no-wrap msgid "Kerberos" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24462 msgid "" "The @code{(gnu services kerberos)} module provides services relating to the " "authentication protocol @dfn{Kerberos}." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:24463 #, no-wrap msgid "Krb5 Service" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24470 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 "" #. type: Plain text #: guix-git/doc/guix.texi:24474 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 "" #. type: defvr #: guix-git/doc/guix.texi:24475 #, no-wrap msgid "{Scheme Variable} krb5-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:24477 msgid "A service type for Kerberos 5 clients." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24481 msgid "Here is an example of its use:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:24495 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:24499 msgid "This example provides a Kerberos@tie{}5 client configuration which:" msgstr "" #. type: item #: guix-git/doc/guix.texi:24500 #, no-wrap msgid "Recognizes two realms, @i{viz:} ``EXAMPLE.COM'' and ``ARGRX.EDU'', both" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:24502 msgid "" "of which have distinct administration servers and key distribution centers;" msgstr "" #. type: item #: guix-git/doc/guix.texi:24502 #, no-wrap msgid "Will default to the realm ``EXAMPLE.COM'' if the realm is not explicitly" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:24504 msgid "specified by clients;" msgstr "" #. type: item #: guix-git/doc/guix.texi:24504 #, no-wrap msgid "Accepts services which only support encryption types known to be weak." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24512 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 "" #. type: deftp #: guix-git/doc/guix.texi:24514 #, no-wrap msgid "{Data Type} krb5-realm" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:24515 #, no-wrap msgid "realm, kerberos" msgstr "" #. type: table #: guix-git/doc/guix.texi:24521 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:24522 #, no-wrap msgid "admin-server" msgstr "" #. type: table #: guix-git/doc/guix.texi:24525 msgid "" "This field is a string identifying the host where the administration server " "is running." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:24526 #, no-wrap msgid "kdc" msgstr "" #. type: table #: guix-git/doc/guix.texi:24529 msgid "" "This field is a string identifying the key distribution center for the realm." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:24532 #, no-wrap msgid "{Data Type} krb5-configuration" msgstr "" #. type: item #: guix-git/doc/guix.texi:24535 #, no-wrap msgid "@code{allow-weak-crypto?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24538 msgid "" "If this flag is @code{#t} then services which only offer encryption " "algorithms known to be weak will be accepted." msgstr "" #. type: item #: guix-git/doc/guix.texi:24539 #, no-wrap msgid "@code{default-realm} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24546 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:24547 #, no-wrap msgid "realms" msgstr "" #. type: table #: guix-git/doc/guix.texi:24552 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:24556 #, no-wrap msgid "PAM krb5 Service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:24557 #, no-wrap msgid "pam-krb5" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24563 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 "" #. type: defvr #: guix-git/doc/guix.texi:24564 #, no-wrap msgid "{Scheme Variable} pam-krb5-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:24566 msgid "A service type for the Kerberos 5 PAM module." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:24568 #, no-wrap msgid "{Data Type} pam-krb5-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:24571 msgid "" "Data type representing the configuration of the Kerberos 5 PAM module. This " "type has the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:24572 #, no-wrap msgid "@code{pam-krb5} (default: @code{pam-krb5})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24574 msgid "The pam-krb5 package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:24575 #, no-wrap msgid "@code{minimum-uid} (default: @code{1000})" msgstr "" #. type: table #: guix-git/doc/guix.texi:24578 msgid "" "The smallest user ID for which Kerberos authentications should be " "attempted. Local accounts with lower values will silently fail to " "authenticate." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:24584 #, no-wrap msgid "LDAP" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:24585 #, no-wrap msgid "nslcd, LDAP service" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:24592 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 "" #. type: Plain text #: guix-git/doc/guix.texi:24596 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 "" #. type: lisp #: guix-git/doc/guix.texi:24619 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:24624 msgid "Available @code{nslcd-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24625 #, no-wrap msgid "{@code{nslcd-configuration} parameter} package nss-pam-ldapd" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24627 msgid "The @code{nss-pam-ldapd} package to use." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24630 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number threads" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24634 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24639 #, no-wrap msgid "{@code{nslcd-configuration} parameter} string uid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24641 msgid "This specifies the user id with which the daemon should be run." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24643 guix-git/doc/guix.texi:24650 msgid "Defaults to @samp{\"nslcd\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24646 #, no-wrap msgid "{@code{nslcd-configuration} parameter} string gid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24648 msgid "This specifies the group id with which the daemon should be run." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24653 #, no-wrap msgid "{@code{nslcd-configuration} parameter} log-option log" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24661 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24663 msgid "Defaults to @samp{(\"/var/log/nslcd\" info)}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24666 #, no-wrap msgid "{@code{nslcd-configuration} parameter} list uri" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24669 msgid "" "The list of LDAP server URIs. Normally, only the first server will be used " "with the following servers as fall-back." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24671 msgid "Defaults to @samp{(\"ldap://localhost:389/\")}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24674 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string ldap-version" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24677 msgid "" "The version of the LDAP protocol to use. The default is to use the maximum " "version supported by the LDAP library." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24682 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string binddn" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24685 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:24690 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string bindpw" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24693 msgid "" "Specifies the credentials with which to bind. This option is only " "applicable when used with binddn." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24698 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string rootpwmoddn" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24701 msgid "" "Specifies the distinguished name to use when the root user tries to modify a " "user's password using the PAM module." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24706 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string rootpwmodpw" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24710 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24715 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-mech" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24718 msgid "" "Specifies the SASL mechanism to be used when performing SASL authentication." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24723 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-realm" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24725 msgid "" "Specifies the SASL realm to be used when performing SASL authentication." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24730 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-authcid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24733 msgid "" "Specifies the authentication identity to be used when performing SASL " "authentication." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24738 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-authzid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24741 msgid "" "Specifies the authorization identity to be used when performing SASL " "authentication." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24746 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean sasl-canonicalize?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24751 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24756 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string krb5-ccname" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24758 msgid "Set the name for the GSS-API Kerberos credentials cache." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24763 #, no-wrap msgid "{@code{nslcd-configuration} parameter} string base" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24765 msgid "The directory search base." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24767 msgid "Defaults to @samp{\"dc=example,dc=com\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24770 #, no-wrap msgid "{@code{nslcd-configuration} parameter} scope-option scope" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24774 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:24776 msgid "Defaults to @samp{(subtree)}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24779 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-deref-option deref" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24782 msgid "" "Specifies the policy for dereferencing aliases. The default policy is to " "never dereference aliases." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24787 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean referrals" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24790 msgid "" "Specifies whether automatic referral chasing should be enabled. The default " "behaviour is to chase referrals." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24795 #, no-wrap msgid "{@code{nslcd-configuration} parameter} list-of-map-entries maps" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24800 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24805 #, no-wrap msgid "{@code{nslcd-configuration} parameter} list-of-filter-entries filters" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24808 msgid "" "A list of filters consisting of the name of a map to which the filter " "applies and an LDAP search filter expression." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24813 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number bind-timelimit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24816 msgid "" "Specifies the time limit in seconds to use when connecting to the directory " "server. The default value is 10 seconds." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24821 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number timelimit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24825 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24830 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number idle-timelimit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24834 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24839 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number reconnect-sleeptime" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24843 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24848 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number reconnect-retrytime" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24852 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24857 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-ssl-option ssl" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24861 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24866 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-tls-reqcert-option tls-reqcert" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24869 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24874 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cacertdir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24877 msgid "" "Specifies the directory containing X.509 certificates for peer authen‐ " "tication. This parameter is ignored when using GnuTLS." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24882 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cacertfile" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24884 msgid "Specifies the path to the X.509 certificate for peer authentication." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24889 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-randfile" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24892 msgid "" "Specifies the path to an entropy source. This parameter is ignored when " "using GnuTLS." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24897 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-ciphers" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24899 msgid "Specifies the ciphers to use for TLS as a string." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24904 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cert" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24907 msgid "" "Specifies the path to the file containing the local certificate for client " "TLS authentication." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24912 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-key" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24915 msgid "" "Specifies the path to the file containing the private key for client TLS " "authentication." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24920 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number pagesize" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24924 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24929 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-ignore-users-option nss-initgroups-ignoreusers" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24933 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24938 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number nss-min-uid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24941 msgid "" "This option ensures that LDAP users with a numeric user id lower than the " "specified value are ignored." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24946 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number nss-uid-offset" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24949 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24954 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number nss-gid-offset" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24957 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24962 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-nested-groups" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24968 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:24973 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-getgrent-skipmembers" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24978 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:24983 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-disable-enumeration" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24989 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:24994 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string validnames" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:24998 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:25003 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean ignorecase" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:25008 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:25013 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean pam-authc-ppolicy" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:25016 msgid "" "This option specifies whether password policy controls are requested and " "handled from the LDAP server when performing user authentication." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:25021 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string pam-authc-search" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:25027 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:25032 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string pam-authz-search" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:25036 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:25041 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string pam-password-prohibit-message" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:25046 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:25051 #, no-wrap msgid "{@code{nslcd-configuration} parameter} list pam-services" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:25053 msgid "List of pam service names for which LDAP authentication should suffice." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:25064 #, no-wrap msgid "web" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:25065 #, no-wrap msgid "www" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:25066 #, no-wrap msgid "HTTP" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:25069 msgid "" "The @code{(gnu services web)} module provides the Apache HTTP Server, the " "nginx web server, and also a fastcgi wrapper daemon." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:25070 #, no-wrap msgid "Apache HTTP Server" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25072 #, no-wrap msgid "{Scheme Variable} httpd-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25076 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 "" #. type: deffn #: guix-git/doc/guix.texi:25078 guix-git/doc/guix.texi:25260 msgid "A simple example configuration is given below." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:25086 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:25090 msgid "" "Other services can also extend the @code{httpd-service-type} to add to the " "configuration." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:25099 guix-git/doc/guix.texi:25239 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:25105 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 "" #. type: deffn #: guix-git/doc/guix.texi:25106 #, no-wrap msgid "{Data Type} httpd-configuration" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25108 msgid "This data type represents the configuration for the httpd service." msgstr "" #. type: item #: guix-git/doc/guix.texi:25110 #, no-wrap msgid "@code{package} (default: @code{httpd})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25112 msgid "The httpd package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:25113 guix-git/doc/guix.texi:25202 #, no-wrap msgid "@code{pid-file} (default: @code{\"/var/run/httpd\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25115 msgid "The pid file used by the shepherd-service." msgstr "" #. type: item #: guix-git/doc/guix.texi:25116 #, no-wrap msgid "@code{config} (default: @code{(httpd-config-file)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25121 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 "" #. type: deffn #: guix-git/doc/guix.texi:25125 #, no-wrap msgid "{Data Type} httpd-module" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25127 msgid "This data type represents a module for the httpd service." msgstr "" #. type: table #: guix-git/doc/guix.texi:25131 msgid "The name of the module." msgstr "" #. type: table #: guix-git/doc/guix.texi:25137 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 "" #. type: defvr #: guix-git/doc/guix.texi:25141 #, no-wrap msgid "{Scheme Variable} %default-httpd-modules" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:25143 msgid "A default list of @code{httpd-module} objects." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25145 #, no-wrap msgid "{Data Type} httpd-config-file" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25147 msgid "This data type represents a configuration file for the httpd service." msgstr "" #. type: item #: guix-git/doc/guix.texi:25149 #, no-wrap msgid "@code{modules} (default: @code{%default-httpd-modules})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25152 msgid "" "The modules to load. Additional modules can be added here, or loaded by " "additional configuration." msgstr "" #. type: table #: guix-git/doc/guix.texi:25155 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 "" #. type: lisp #: guix-git/doc/guix.texi:25177 #, 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" "\n" " SetHandler \\\"proxy:unix:/var/run/php-fpm.sock|fcgi://localhost/\\\"\n" "\"))))))\n" "(service php-fpm-service-type\n" " (php-fpm-configuration\n" " (socket \"/var/run/php-fpm.sock\")\n" " (socket-group \"httpd\")))\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:25179 #, no-wrap msgid "@code{server-root} (default: @code{httpd})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25183 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 "" #. type: item #: guix-git/doc/guix.texi:25184 #, no-wrap msgid "@code{server-name} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25188 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 "" #. type: table #: guix-git/doc/guix.texi:25192 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 "" #. type: item #: guix-git/doc/guix.texi:25193 #, no-wrap msgid "@code{document-root} (default: @code{\"/srv/http\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25195 msgid "The @code{DocumentRoot} from which files will be served." msgstr "" #. type: item #: guix-git/doc/guix.texi:25196 #, no-wrap msgid "@code{listen} (default: @code{'(\"80\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25201 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 "" #. type: table #: guix-git/doc/guix.texi:25206 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 "" #. type: item #: guix-git/doc/guix.texi:25207 #, no-wrap msgid "@code{error-log} (default: @code{\"/var/log/httpd/error_log\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25209 msgid "The @code{ErrorLog} to which the server will log errors." msgstr "" #. type: item #: guix-git/doc/guix.texi:25210 guix-git/doc/guix.texi:25772 #, no-wrap msgid "@code{user} (default: @code{\"httpd\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25212 msgid "The @code{User} which the server will answer requests as." msgstr "" #. type: item #: guix-git/doc/guix.texi:25213 #, no-wrap msgid "@code{group} (default: @code{\"httpd\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25215 msgid "The @code{Group} which the server will answer requests as." msgstr "" #. type: item #: guix-git/doc/guix.texi:25216 #, no-wrap msgid "@code{extra-config} (default: @code{(list \"TypesConfig etc/httpd/mime.types\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25219 msgid "" "A flat list of strings and G-expressions which will be added to the end of " "the configuration file." msgstr "" #. type: table #: guix-git/doc/guix.texi:25222 msgid "" "Any values which the service is extended with will be appended to this list." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25226 #, no-wrap msgid "{Data Type} httpd-virtualhost" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25228 msgid "" "This data type represents a virtualhost configuration block for the httpd " "service." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25230 msgid "These should be added to the extra-config for the httpd-service." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25242 #, no-wrap msgid "addresses-and-ports" msgstr "" #. type: table #: guix-git/doc/guix.texi:25244 msgid "The addresses and ports for the @code{VirtualHost} directive." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25245 #, no-wrap msgid "contents" msgstr "" #. type: table #: guix-git/doc/guix.texi:25248 msgid "" "The contents of the @code{VirtualHost} directive, this should be a list of " "strings and G-expressions." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:25253 #, no-wrap msgid "NGINX" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25255 #, no-wrap msgid "{Scheme Variable} nginx-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25258 msgid "" "Service type for the @uref{https://nginx.org/,NGinx} web server. The value " "for this service type is a @code{} record." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:25268 guix-git/doc/guix.texi:25322 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:25273 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:25279 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:25290 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 "" #. type: deffn #: guix-git/doc/guix.texi:25291 #, no-wrap msgid "{Data Type} nginx-configuration" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:25295 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 "" #. type: item #: guix-git/doc/guix.texi:25297 #, no-wrap msgid "@code{nginx} (default: @code{nginx})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25299 msgid "The nginx package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:25300 #, no-wrap msgid "@code{log-directory} (default: @code{\"/var/log/nginx\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25302 msgid "The directory to which NGinx will write log files." msgstr "" #. type: item #: guix-git/doc/guix.texi:25303 #, no-wrap msgid "@code{run-directory} (default: @code{\"/var/run/nginx\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25306 msgid "" "The directory in which NGinx will create a pid file, and write temporary " "files." msgstr "" #. type: item #: guix-git/doc/guix.texi:25307 #, no-wrap msgid "@code{server-blocks} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25311 msgid "" "A list of @dfn{server blocks} to create in the generated configuration file, " "the elements should be of type @code{}." msgstr "" #. type: table #: guix-git/doc/guix.texi:25315 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 "" #. type: item #: guix-git/doc/guix.texi:25324 #, no-wrap msgid "@code{upstream-blocks} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25328 msgid "" "A list of @dfn{upstream blocks} to create in the generated configuration " "file, the elements should be of type @code{}." msgstr "" #. type: table #: guix-git/doc/guix.texi:25335 msgid "" "Configuring upstreams through the @code{upstream-blocks} can be useful when " "combined with @code{locations} in the @code{} " "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 "" #. type: lisp #: guix-git/doc/guix.texi:25354 #, 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 "" #. type: table #: guix-git/doc/guix.texi:25362 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 "" #. type: table #: guix-git/doc/guix.texi:25366 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 "" #. type: item #: guix-git/doc/guix.texi:25367 #, no-wrap msgid "@code{server-names-hash-bucket-size} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25370 msgid "" "Bucket size for the server names hash tables, defaults to @code{#f} to use " "the size of the processors cache line." msgstr "" #. type: item #: guix-git/doc/guix.texi:25371 #, no-wrap msgid "@code{server-names-hash-bucket-max-size} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25373 msgid "Maximum bucket size for the server names hash tables." msgstr "" #. type: table #: guix-git/doc/guix.texi:25377 msgid "" "List of nginx dynamic modules to load. This should be a list of file names " "of loadable modules, as in this example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:25385 #, 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 "" #. type: item #: guix-git/doc/guix.texi:25387 #, no-wrap msgid "@code{lua-package-path} (default: @code{'()})" msgstr "@code{native-search-paths} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:25390 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 "" #. type: lisp #: guix-git/doc/guix.texi:25397 #, 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 "" #. type: item #: guix-git/doc/guix.texi:25399 #, no-wrap msgid "@code{lua-package-cpath} (default: @code{'()})" msgstr "@code{native-search-paths} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:25402 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 "" #. type: lisp #: guix-git/doc/guix.texi:25405 #, no-wrap msgid "(lua-package-cpath (list lua-resty-signal))\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:25407 #, no-wrap msgid "@code{global-directives} (default: @code{'((events . ()))})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:25410 msgid "" "Association list of global directives for the top level of the nginx " "configuration. Values may themselves be association lists." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:25416 #, no-wrap msgid "" "(global-directives\n" " `((worker_processes . 16)\n" " (pcre_jit . on)\n" " (events . ((worker_connections . 1024)))))\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:25421 msgid "" "Extra content for the @code{http} block. Should be string or a string " "valued G-expression." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25425 #, no-wrap msgid "{Data Type} nginx-server-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25428 msgid "" "Data type representing the configuration of an nginx server block. This " "type has the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:25430 #, no-wrap msgid "@code{listen} (default: @code{'(\"80\" \"443 ssl\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25435 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 "" #. type: lisp #: guix-git/doc/guix.texi:25438 #, no-wrap msgid "'(\"127.0.0.1:8000\" \"127.0.0.1\" \"8000\" \"*:8000\" \"localhost:8000\")\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:25440 #, no-wrap msgid "@code{server-name} (default: @code{(list 'default)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25443 msgid "" "A list of server names this server represents. @code{'default} represents " "the default server for connections matching no other server." msgstr "" #. type: item #: guix-git/doc/guix.texi:25444 #, no-wrap msgid "@code{root} (default: @code{\"/srv/http\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25446 msgid "Root of the website nginx will serve." msgstr "" #. type: item #: guix-git/doc/guix.texi:25447 #, no-wrap msgid "@code{locations} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25451 msgid "" "A list of @dfn{nginx-location-configuration} or @dfn{nginx-named-location-" "configuration} records to use within this server block." msgstr "" #. type: item #: guix-git/doc/guix.texi:25452 #, no-wrap msgid "@code{index} (default: @code{(list \"index.html\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25455 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 "" #. type: item #: guix-git/doc/guix.texi:25456 #, no-wrap msgid "@code{try-files} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25459 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 "" #. type: item #: guix-git/doc/guix.texi:25460 #, no-wrap msgid "@code{ssl-certificate} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25463 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 "" #. type: item #: guix-git/doc/guix.texi:25464 #, no-wrap msgid "@code{ssl-certificate-key} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25467 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 "" #. type: item #: guix-git/doc/guix.texi:25468 #, no-wrap msgid "@code{server-tokens?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25470 msgid "Whether the server should add its configuration to response." msgstr "" #. type: item #: guix-git/doc/guix.texi:25471 #, no-wrap msgid "@code{raw-content} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25473 msgid "A list of raw lines added to the server block." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25477 #, no-wrap msgid "{Data Type} nginx-upstream-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25480 msgid "" "Data type representing the configuration of an nginx @code{upstream} block. " "This type has the following parameters:" msgstr "" #. type: table #: guix-git/doc/guix.texi:25484 msgid "Name for this group of servers." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25485 #, no-wrap msgid "servers" msgstr "" #. type: table #: guix-git/doc/guix.texi:25492 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 "" #. type: deftp #: guix-git/doc/guix.texi:25496 #, no-wrap msgid "{Data Type} nginx-location-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25499 msgid "" "Data type representing the configuration of an nginx @code{location} block. " "This type has the following parameters:" msgstr "" #. type: table #: guix-git/doc/guix.texi:25503 msgid "URI which this location block matches." msgstr "" #. type: anchor{#1} #: guix-git/doc/guix.texi:25505 msgid "nginx-location-configuration body" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25505 guix-git/doc/guix.texi:25526 #, no-wrap msgid "body" msgstr "" #. type: table #: guix-git/doc/guix.texi:25512 msgid "" "Body of the location block, specified as a list of strings. This can " "contain many configuration directives. 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 "" #. type: deftp #: guix-git/doc/guix.texi:25516 #, no-wrap msgid "{Data Type} nginx-named-location-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25521 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 "" #. type: table #: guix-git/doc/guix.texi:25525 msgid "Name to identify this location block." msgstr "" #. type: table #: guix-git/doc/guix.texi:25531 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:25535 #, no-wrap msgid "Varnish Cache" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:25536 #, no-wrap msgid "Varnish" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:25541 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 "" #. type: defvr #: guix-git/doc/guix.texi:25542 #, no-wrap msgid "{Scheme Variable} varnish-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:25544 msgid "Service type for the Varnish daemon." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25546 #, no-wrap msgid "{Data Type} varnish-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25549 msgid "" "Data type representing the @code{varnish} service configuration. This type " "has the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:25551 #, no-wrap msgid "@code{package} (default: @code{varnish})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25553 msgid "The Varnish package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:25554 #, no-wrap msgid "@code{name} (default: @code{\"default\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25559 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 "" #. type: table #: guix-git/doc/guix.texi:25562 msgid "" "Pass the @code{-n} argument to other Varnish programs to connect to the " "named instance, e.g.@: @command{varnishncsa -n default}." msgstr "" #. type: item #: guix-git/doc/guix.texi:25563 #, no-wrap msgid "@code{backend} (default: @code{\"localhost:8080\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25565 msgid "The backend to use. This option has no effect if @code{vcl} is set." msgstr "" #. type: item #: guix-git/doc/guix.texi:25566 #, no-wrap msgid "@code{vcl} (default: #f)" msgstr "" #. type: table #: guix-git/doc/guix.texi:25571 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 "" #. type: table #: guix-git/doc/guix.texi:25575 msgid "" "For example, to mirror @url{https://www.gnu.org,www.gnu.org} with VCL you " "can do something along these lines:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:25581 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:25589 #, 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 "" #. type: table #: guix-git/doc/guix.texi:25593 msgid "" "The configuration of an already running Varnish instance can be inspected " "and changed using the @command{varnishadm} program." msgstr "" #. type: table #: guix-git/doc/guix.texi:25597 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 "" #. type: item #: guix-git/doc/guix.texi:25598 #, no-wrap msgid "@code{listen} (default: @code{'(\"localhost:80\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25600 msgid "List of addresses Varnish will listen on." msgstr "" #. type: item #: guix-git/doc/guix.texi:25601 #, no-wrap msgid "@code{storage} (default: @code{'(\"malloc,128m\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25603 msgid "List of storage backends that will be available in VCL." msgstr "" #. type: item #: guix-git/doc/guix.texi:25604 #, no-wrap msgid "@code{parameters} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25606 msgid "" "List of run-time parameters in the form @code{'((\"parameter\" . \"value" "\"))}." msgstr "" #. type: table #: guix-git/doc/guix.texi:25609 msgid "Additional arguments to pass to the @command{varnishd} process." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:25613 guix-git/doc/guix.texi:25614 #, no-wrap msgid "Patchwork" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:25617 msgid "" "Patchwork is a patch tracking system. It can collect patches sent to a " "mailing list, and display them in a web interface." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:25618 #, no-wrap msgid "{Scheme Variable} patchwork-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:25620 msgid "Service type for Patchwork." msgstr "Поделитесь своей работой." #. type: Plain text #: guix-git/doc/guix.texi:25624 msgid "" "The following example is an example of a minimal service for Patchwork, for " "the @code{patchwork.example.com} domain." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:25644 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:25650 msgid "" "There are three records for configuring the Patchwork service. The " "@code{} relates to the configuration for Patchwork " "within the HTTPD service." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:25654 msgid "" "The @code{settings-module} field within the @code{} " "record can be populated with the @code{} record, " "which describes a settings module that is generated within the Guix store." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:25658 msgid "" "For the @code{database-configuration} field within the @code{}, the @code{} must be " "used." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25659 #, no-wrap msgid "{Data Type} patchwork-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25662 msgid "" "Data type representing the Patchwork service configuration. This type has " "the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:25664 #, no-wrap msgid "@code{patchwork} (default: @code{patchwork})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:25666 msgid "The Patchwork package to use." msgstr "Используемый пакет Patchwork." #. type: code{#1} #: guix-git/doc/guix.texi:25667 #, no-wrap msgid "domain" msgstr "" #. type: table #: guix-git/doc/guix.texi:25670 msgid "" "The domain to use for Patchwork, this is used in the HTTPD service virtual " "host." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25671 #, no-wrap msgid "settings-module" msgstr "" #. type: table #: guix-git/doc/guix.texi:25677 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{} record, " "any other record that represents the settings in the store, or a directory " "outside of the store." msgstr "" #. type: item #: guix-git/doc/guix.texi:25678 #, no-wrap msgid "@code{static-path} (default: @code{\"/static/\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:25680 msgid "The path under which the HTTPD service should serve the static files." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25681 #, no-wrap msgid "getmail-retriever-config" msgstr "" #. type: table #: guix-git/doc/guix.texi:25685 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 "" #. type: deftp #: guix-git/doc/guix.texi:25689 #, no-wrap msgid "{Data Type} patchwork-settings-module" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25694 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 "" #. type: item #: guix-git/doc/guix.texi:25696 #, no-wrap msgid "@code{database-configuration} (default: @code{(patchwork-database-configuration)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25699 msgid "" "The database connection settings used for Patchwork. See the " "@code{} record type for more information." msgstr "" #. type: item #: guix-git/doc/guix.texi:25700 #, no-wrap msgid "@code{secret-key-file} (default: @code{\"/etc/patchwork/django-secret-key\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:25703 msgid "" "Patchwork, as a Django web application uses a secret key for " "cryptographically signing values. This file should contain a unique " "unpredictable value." msgstr "" #. type: table #: guix-git/doc/guix.texi:25706 msgid "" "If this file does not exist, it will be created and populated with a random " "value by the patchwork-setup shepherd service." msgstr "" #. type: table #: guix-git/doc/guix.texi:25708 msgid "This setting relates to Django." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25709 #, no-wrap msgid "allowed-hosts" msgstr "" #. type: table #: guix-git/doc/guix.texi:25712 msgid "" "A list of valid hosts for this Patchwork service. This should at least " "include the domain specified in the @code{} record." msgstr "" #. type: table #: guix-git/doc/guix.texi:25714 guix-git/doc/guix.texi:25728 #: guix-git/doc/guix.texi:25734 guix-git/doc/guix.texi:25740 msgid "This is a Django setting." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25715 #, no-wrap msgid "default-from-email" msgstr "" #. type: table #: guix-git/doc/guix.texi:25717 msgid "The email address from which Patchwork should send email by default." msgstr "" #. type: table #: guix-git/doc/guix.texi:25719 guix-git/doc/guix.texi:25745 #: guix-git/doc/guix.texi:25750 guix-git/doc/guix.texi:25755 msgid "This is a Patchwork setting." msgstr "" #. type: item #: guix-git/doc/guix.texi:25720 #, no-wrap msgid "@code{static-url} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:25723 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 "" #. type: table #: guix-git/doc/guix.texi:25726 msgid "" "If the default value is used, the @code{static-path} value from the " "@code{} record will be used." msgstr "" #. type: item #: guix-git/doc/guix.texi:25729 #, no-wrap msgid "@code{admins} (default: @code{'()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:25732 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:25738 msgid "" "Whether to run Patchwork in debug mode. If set to @code{#t}, detailed error " "messages will be shown." msgstr "" #. type: item #: guix-git/doc/guix.texi:25741 #, no-wrap msgid "@code{enable-rest-api?} (default: @code{#t})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:25743 msgid "Whether to enable the Patchwork REST API." msgstr "" #. type: item #: guix-git/doc/guix.texi:25746 #, no-wrap msgid "@code{enable-xmlrpc?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:25748 msgid "Whether to enable the XML RPC API." msgstr "" #. type: item #: guix-git/doc/guix.texi:25751 #, no-wrap msgid "@code{force-https-links?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:25753 msgid "Whether to use HTTPS links on Patchwork pages." msgstr "" #. type: table #: guix-git/doc/guix.texi:25758 msgid "Extra code to place at the end of the Patchwork settings module." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25762 #, no-wrap msgid "{Data Type} patchwork-database-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25764 msgid "Data type representing the database configuration for Patchwork." msgstr "" #. type: item #: guix-git/doc/guix.texi:25766 #, no-wrap msgid "@code{engine} (default: @code{\"django.db.backends.postgresql_psycopg2\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:25768 msgid "The database engine to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:25769 #, no-wrap msgid "@code{name} (default: @code{\"patchwork\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:25771 msgid "The name of the database to use." msgstr "Имя используемой базы данных." #. type: table #: guix-git/doc/guix.texi:25774 msgid "The user to connect to the database as." msgstr "" #. type: item #: guix-git/doc/guix.texi:25775 #, no-wrap msgid "@code{password} (default: @code{\"\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:25777 msgid "The password to use when connecting to the database." msgstr "" #. type: item #: guix-git/doc/guix.texi:25778 #, no-wrap msgid "@code{host} (default: @code{\"\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:25780 msgid "The host to make the database connection to." msgstr "" #. type: item #: guix-git/doc/guix.texi:25781 #, no-wrap msgid "@code{port} (default: @code{\"\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:25783 msgid "The port on which to connect to the database." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:25787 #, no-wrap msgid "Mumi" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:25789 #, no-wrap msgid "Mumi, Debbugs Web interface" msgstr "пользовательские интерфейсы" #. type: cindex #: guix-git/doc/guix.texi:25790 #, no-wrap msgid "Debbugs, Mumi Web interface" msgstr "пользовательские интерфейсы" #. type: Plain text #: guix-git/doc/guix.texi:25795 msgid "" "@uref{https://git.elephly.net/gitweb.cgi?p=software/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 "" #. type: defvr #: guix-git/doc/guix.texi:25796 #, no-wrap msgid "{Scheme Variable} mumi-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:25798 msgid "This is the service type for Mumi." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25800 #, no-wrap msgid "{Data Type} mumi-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:25803 msgid "" "Data type representing the Mumi service configuration. This type has the " "following fields:" msgstr "" "Тип данных, представляющий конфигурацию сервиса Mumi. Этот тип имеет " "следующие поля:" #. type: item #: guix-git/doc/guix.texi:25805 #, no-wrap msgid "@code{mumi} (default: @code{mumi})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:25807 msgid "The Mumi package to use." msgstr "Используемый пакет Mumi." #. type: item #: guix-git/doc/guix.texi:25808 #, no-wrap msgid "@code{mailer?} (default: @code{#true})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:25810 msgid "Whether to enable or disable the mailer component." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25811 #, no-wrap msgid "mumi-configuration-sender" msgstr "Конфигурирование системы" #. type: table #: guix-git/doc/guix.texi:25813 msgid "The email address used as the sender for comments." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25814 #, no-wrap msgid "mumi-configuration-smtp" msgstr "Конфигурирование системы" #. type: table #: guix-git/doc/guix.texi:25819 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:25824 #, no-wrap msgid "FastCGI" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:25825 #, no-wrap msgid "fastcgi" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:25826 #, no-wrap msgid "fcgiwrap" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:25833 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 "" #. type: Plain text #: guix-git/doc/guix.texi:25840 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 "" #. type: defvr #: guix-git/doc/guix.texi:25841 #, no-wrap msgid "{Scheme Variable} fcgiwrap-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:25843 msgid "A service type for the @code{fcgiwrap} FastCGI proxy." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25845 #, no-wrap msgid "{Data Type} fcgiwrap-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25848 msgid "" "Data type representing the configuration of the @code{fcgiwrap} service. " "This type has the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:25849 #, no-wrap msgid "@code{package} (default: @code{fcgiwrap})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25851 msgid "The fcgiwrap package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:25852 #, no-wrap msgid "@code{socket} (default: @code{tcp:127.0.0.1:9000})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25858 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 "" #. type: item #: guix-git/doc/guix.texi:25859 #, no-wrap msgid "@code{user} (default: @code{fcgiwrap})" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:25860 #, no-wrap msgid "@code{group} (default: @code{fcgiwrap})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25865 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 "" #. type: table #: guix-git/doc/guix.texi:25872 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 "" #. type: cindex #: guix-git/doc/guix.texi:25875 #, no-wrap msgid "php-fpm" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:25878 msgid "" "PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI " "implementation with some additional features useful for sites of any size." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:25880 msgid "These features include:" msgstr "" #. type: item #: guix-git/doc/guix.texi:25881 #, no-wrap msgid "Adaptive process spawning" msgstr "" #. type: item #: guix-git/doc/guix.texi:25882 #, no-wrap msgid "Basic statistics (similar to Apache's mod_status)" msgstr "" #. type: item #: guix-git/doc/guix.texi:25883 #, no-wrap msgid "Advanced process management with graceful stop/start" msgstr "" #. type: item #: guix-git/doc/guix.texi:25884 #, no-wrap msgid "Ability to start workers with different uid/gid/chroot/environment" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:25886 msgid "and different php.ini (replaces safe_mode)" msgstr "" #. type: item #: guix-git/doc/guix.texi:25886 #, no-wrap msgid "Stdout & stderr logging" msgstr "" #. type: item #: guix-git/doc/guix.texi:25887 #, no-wrap msgid "Emergency restart in case of accidental opcode cache destruction" msgstr "" #. type: item #: guix-git/doc/guix.texi:25888 #, no-wrap msgid "Accelerated upload support" msgstr "" #. type: item #: guix-git/doc/guix.texi:25889 #, no-wrap msgid "Support for a \"slowlog\"" msgstr "" #. type: item #: guix-git/doc/guix.texi:25890 #, no-wrap msgid "Enhancements to FastCGI, such as fastcgi_finish_request() -" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:25893 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:25895 msgid "...@: and much more." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:25896 #, no-wrap msgid "{Scheme Variable} php-fpm-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:25898 msgid "A Service type for @code{php-fpm}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25900 #, no-wrap msgid "{Data Type} php-fpm-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25902 msgid "Data Type for php-fpm service configuration." msgstr "" #. type: item #: guix-git/doc/guix.texi:25903 #, no-wrap msgid "@code{php} (default: @code{php})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25905 msgid "The php package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:25905 #, no-wrap msgid "@code{socket} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.sock\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25907 msgid "The address on which to accept FastCGI requests. Valid syntaxes are:" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25908 #, no-wrap msgid "\"ip.add.re.ss:port\"" msgstr "" #. type: table #: guix-git/doc/guix.texi:25910 msgid "Listen on a TCP socket to a specific address on a specific port." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25910 #, no-wrap msgid "\"port\"" msgstr "" #. type: table #: guix-git/doc/guix.texi:25912 msgid "Listen on a TCP socket to all addresses on a specific port." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25912 #, no-wrap msgid "\"/path/to/unix/socket\"" msgstr "" #. type: table #: guix-git/doc/guix.texi:25914 msgid "Listen on a unix socket." msgstr "" #. type: item #: guix-git/doc/guix.texi:25916 #, no-wrap msgid "@code{user} (default: @code{php-fpm})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25918 msgid "User who will own the php worker processes." msgstr "" #. type: item #: guix-git/doc/guix.texi:25918 #, no-wrap msgid "@code{group} (default: @code{php-fpm})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25920 msgid "Group of the worker processes." msgstr "" #. type: item #: guix-git/doc/guix.texi:25920 #, no-wrap msgid "@code{socket-user} (default: @code{php-fpm})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25922 msgid "User who can speak to the php-fpm socket." msgstr "" #. type: item #: guix-git/doc/guix.texi:25922 #, no-wrap msgid "@code{socket-group} (default: @code{nginx})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:25924 msgid "Group that can speak to the php-fpm socket." msgstr "" #. type: item #: guix-git/doc/guix.texi:25924 #, no-wrap msgid "@code{pid-file} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.pid\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25927 msgid "" "The process id of the php-fpm process is written to this file once the " "service has started." msgstr "" #. type: item #: guix-git/doc/guix.texi:25927 #, no-wrap msgid "@code{log-file} (default: @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.log\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25929 msgid "Log for the php-fpm master process." msgstr "" #. type: item #: guix-git/doc/guix.texi:25929 #, no-wrap msgid "@code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25932 msgid "Detailed settings for the php-fpm process manager. Must be one of:" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25933 #, no-wrap msgid "" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25934 #, no-wrap msgid "" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:25935 #, no-wrap msgid "" msgstr "" #. type: item #: guix-git/doc/guix.texi:25937 #, no-wrap msgid "@code{display-errors} (default @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25942 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 "" #. type: item #: guix-git/doc/guix.texi:25942 #, no-wrap msgid "@code{timezone} (default @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25944 msgid "Specifies @code{php_admin_value[date.timezone]} parameter." msgstr "" #. type: item #: guix-git/doc/guix.texi:25944 #, no-wrap msgid "@code{workers-logfile} (default @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.www.log\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25947 msgid "" "This file will log the @code{stderr} outputs of php worker processes. Can " "be set to @code{#f} to disable logging." msgstr "" #. type: item #: guix-git/doc/guix.texi:25947 #, no-wrap msgid "@code{file} (default @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25950 msgid "" "An optional override of the whole configuration. You can use the " "@code{mixed-text-file} function or an absolute filepath for it." msgstr "" #. type: item #: guix-git/doc/guix.texi:25950 #, no-wrap msgid "@code{php-ini-file} (default @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:25954 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 "" #. type: table #: guix-git/doc/guix.texi:25958 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 "" #. type: lisp #: guix-git/doc/guix.texi:25963 #, no-wrap msgid "" "(define %local-php-ini\n" " (plain-file \"php.ini\"\n" " \"memory_limit = 2G\n" "max_execution_time = 1800\"))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:25970 #, 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 "" #. type: table #: guix-git/doc/guix.texi:25975 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 "" #. type: deftp #: guix-git/doc/guix.texi:25978 #, no-wrap msgid "{Data type} php-fpm-dynamic-process-manager-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25982 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 "" #. type: item #: guix-git/doc/guix.texi:25983 guix-git/doc/guix.texi:25999 #: guix-git/doc/guix.texi:26009 #, no-wrap msgid "@code{max-children} (default: @code{5})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25985 guix-git/doc/guix.texi:26001 #: guix-git/doc/guix.texi:26011 msgid "Maximum of worker processes." msgstr "" #. type: item #: guix-git/doc/guix.texi:25985 #, no-wrap msgid "@code{start-servers} (default: @code{2})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25987 msgid "How many worker processes should be started on start-up." msgstr "" #. type: item #: guix-git/doc/guix.texi:25987 #, no-wrap msgid "@code{min-spare-servers} (default: @code{1})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25989 msgid "How many spare worker processes should be kept around at minimum." msgstr "" #. type: item #: guix-git/doc/guix.texi:25989 #, no-wrap msgid "@code{max-spare-servers} (default: @code{3})" msgstr "" #. type: table #: guix-git/doc/guix.texi:25991 msgid "How many spare worker processes should be kept around at maximum." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25994 #, no-wrap msgid "{Data type} php-fpm-static-process-manager-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:25998 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 "" #. type: deftp #: guix-git/doc/guix.texi:26004 #, no-wrap msgid "{Data type} php-fpm-on-demand-process-manager-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26008 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 "" #. type: item #: guix-git/doc/guix.texi:26011 #, no-wrap msgid "@code{process-idle-timeout} (default: @code{10})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26013 msgid "The time in seconds after which a process with no requests is killed." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:26017 #, no-wrap msgid "{Scheme Procedure} nginx-php-location @" msgstr "{Процедура Scheme} inferior-package-location @var{package}" #. type: deffn #: guix-git/doc/guix.texi:26023 msgid "" "[#:nginx-package nginx] @ [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 "" #. type: Plain text #: guix-git/doc/guix.texi:26026 msgid "A simple services setup for nginx with php can look like this:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:26039 #, 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 "" #. type: cindex #: guix-git/doc/guix.texi:26041 #, no-wrap msgid "cat-avatar-generator" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:26045 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 "" #. type: deffn #: guix-git/doc/guix.texi:26046 #, no-wrap msgid "{Scheme Procedure} cat-avatar-generator-service @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:26054 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 "" #. type: Plain text #: guix-git/doc/guix.texi:26057 msgid "A simple setup for cat-avatar-generator can look like this:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:26064 #, 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:26066 #, no-wrap msgid "Hpcguix-web" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:26068 #, no-wrap msgid "hpcguix-web" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:26073 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 "" #. type: defvr #: guix-git/doc/guix.texi:26074 #, no-wrap msgid "{Scheme Variable} hpcguix-web-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:26076 msgid "The service type for @code{hpcguix-web}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26078 #, no-wrap msgid "{Data Type} hpcguix-web-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26080 msgid "Data type for the hpcguix-web service configuration." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:26082 #, no-wrap msgid "specs" msgstr "" #. type: table #: guix-git/doc/guix.texi:26085 msgid "" "A gexp (@pxref{G-Expressions}) specifying the hpcguix-web service " "configuration. The main items available in this spec are:" msgstr "" #. type: item #: guix-git/doc/guix.texi:26087 #, no-wrap msgid "@code{title-prefix} (default: @code{\"hpcguix | \"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26089 msgid "The page title prefix." msgstr "" #. type: item #: guix-git/doc/guix.texi:26090 #, no-wrap msgid "@code{guix-command} (default: @code{\"guix\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26092 msgid "The @command{guix} command." msgstr "" #. type: item #: guix-git/doc/guix.texi:26093 #, no-wrap msgid "@code{package-filter-proc} (default: @code{(const #t)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26095 msgid "A procedure specifying how to filter packages that are displayed." msgstr "" #. type: item #: guix-git/doc/guix.texi:26096 #, no-wrap msgid "@code{package-page-extension-proc} (default: @code{(const '())})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26098 msgid "Extension package for @code{hpcguix-web}." msgstr "" #. type: item #: guix-git/doc/guix.texi:26099 #, no-wrap msgid "@code{menu} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26101 msgid "Additional entry in page @code{menu}." msgstr "" #. type: item #: guix-git/doc/guix.texi:26102 #, no-wrap msgid "@code{channels} (default: @code{%default-channels})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26104 msgid "" "List of channels from which the package list is built (@pxref{Channels})." msgstr "" #. type: item #: guix-git/doc/guix.texi:26105 #, no-wrap msgid "@code{package-list-expiration} (default: @code{(* 12 3600)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26108 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:26113 msgid "" "See the hpcguix-web repository for a @uref{https://github.com/UMCUGenetics/" "hpcguix-web/blob/master/hpcweb-configuration.scm, complete example}." msgstr "" #. type: item #: guix-git/doc/guix.texi:26114 #, no-wrap msgid "@code{package} (default: @code{hpcguix-web})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26116 msgid "The hpcguix-web package to use." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:26120 msgid "A typical hpcguix-web service declaration looks like this:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:26129 #, no-wrap msgid "" "(service hpcguix-web-service-type\n" " (hpcguix-web-configuration\n" " (specs\n" " #~(define site-config\n" " (hpcweb-configuration\n" " (title-prefix \"Guix-HPC - \")\n" " (menu '((\"/about\" \"ABOUT\"))))))))\n" msgstr "" #. type: quotation #: guix-git/doc/guix.texi:26136 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 "" #. type: quotation #: guix-git/doc/guix.texi:26140 msgid "" "Thus, make sure to add @code{nss-certs} or another certificate package to " "the @code{packages} field of your configuration. @ref{X.509 Certificates}, " "for more information on X.509 certificates." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:26142 guix-git/doc/guix.texi:26144 #, no-wrap msgid "gmnisrv" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:26147 msgid "" "The @uref{https://git.sr.ht/~sircmpwn/gmnisrv, gmnisrv} program is a simple " "@uref{https://gemini.circumlunar.space/, Gemini} protocol server." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:26148 #, no-wrap msgid "{Scheme Variable} gmnisrv-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: deffn #: guix-git/doc/guix.texi:26151 msgid "" "This is the type of the gmnisrv service, whose value should be a " "@code{gmnisrv-configuration} object, as in this example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:26156 #, 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:26159 #, no-wrap msgid "{Data Type} gmnisrv-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:26161 msgid "Data type representing the configuration of gmnisrv." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:26163 #, no-wrap msgid "@code{package} (default: @var{gmnisrv})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:26165 msgid "Package object of the gmnisrv server." msgstr "" #. type: item #: guix-git/doc/guix.texi:26166 #, no-wrap msgid "@code{config-file} (default: @code{%default-gmnisrv-config-file})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:26172 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:26176 #, no-wrap msgid "Agate" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:26178 #, no-wrap msgid "agate" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:26183 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 "" #. type: deffn #: guix-git/doc/guix.texi:26184 #, no-wrap msgid "{Scheme Variable} agate-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: deffn #: guix-git/doc/guix.texi:26187 msgid "" "This is the type of the agate service, whose value should be an @code{agate-" "service-type} object, as in this example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:26194 #, no-wrap msgid "" "(service agate-service-type\n" "\t (agate-configuration\n" "\t (content \"/srv/gemini\")\n" "\t (cert \"/srv/cert.pem\")\n" "\t (key \"/srv/key.rsa\")))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:26199 msgid "" "The example above represents the minimal tweaking necessary to get Agate up " "and running. Specifying the path to the certificate and key is always " "necessary, as the Gemini protocol requires TLS by default." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:26202 msgid "" "To obtain a certificate and a key, you could, for example, use OpenSSL, " "running a command similar to the following example:" msgstr "" #. type: example #: guix-git/doc/guix.texi:26206 #, no-wrap msgid "" "openssl req -x509 -newkey rsa:4096 -keyout key.rsa -out cert.pem \\\n" " -days 3650 -nodes -subj \"/CN=example.com\"\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:26211 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 generated key " "and certificate." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26214 #, no-wrap msgid "{Data Type} agate-configuration" msgstr "{Data Type} pagekite-configuration" #. type: deftp #: guix-git/doc/guix.texi:26216 msgid "Data type representing the configuration of Agate." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:26218 #, no-wrap msgid "@code{package} (default: @code{agate})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:26220 msgid "The package object of the Agate server." msgstr "Пакет для использования." #. type: item #: guix-git/doc/guix.texi:26221 #, no-wrap msgid "@code{content} (default: @file{\"/srv/gemini\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:26223 msgid "The directory from which Agate will serve files." msgstr "" #. type: item #: guix-git/doc/guix.texi:26224 #, no-wrap msgid "@code{cert} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:26227 msgid "" "The path to the TLS certificate PEM file to be used for encrypted " "connections. Must be filled in with a value from the user." msgstr "" #. type: item #: guix-git/doc/guix.texi:26228 guix-git/doc/guix.texi:26664 #, no-wrap msgid "@code{key} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26231 msgid "" "The path to the PKCS8 private key file to be used for encrypted " "connections. Must be filled in with a value from the user." msgstr "" #. type: item #: guix-git/doc/guix.texi:26232 #, no-wrap msgid "@code{addr} (default: @code{'(\"0.0.0.0:1965\" \"[::]:1965\")})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:26234 msgid "A list of the addresses to listen on." msgstr "" #. type: table #: guix-git/doc/guix.texi:26237 msgid "The domain name of this Gemini server. Optional." msgstr "" #. type: item #: guix-git/doc/guix.texi:26238 #, no-wrap msgid "@code{lang} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:26240 msgid "RFC 4646 language code(s) for text/gemini documents. Optional." msgstr "" #. type: item #: guix-git/doc/guix.texi:26241 #, no-wrap msgid "@code{silent?} (default: @code{#f})" msgstr "@code{snippet} (по умолчанию: @code{#f})" #. type: table #: guix-git/doc/guix.texi:26243 msgid "Set to @code{#t} to disable logging output." msgstr "" #. type: item #: guix-git/doc/guix.texi:26244 #, no-wrap msgid "@code{serve-secret?} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:26247 msgid "" "Set to @code{#t} to serve secret files (files/directories starting with a " "dot)." msgstr "" #. type: item #: guix-git/doc/guix.texi:26248 #, no-wrap msgid "@code{log-ip?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:26250 msgid "Whether or not to output IP addresses when logging." msgstr "" #. type: item #: guix-git/doc/guix.texi:26251 #, no-wrap msgid "@code{user} (default: @code{\"agate\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:26253 msgid "Owner of the @code{agate} process." msgstr "" #. type: item #: guix-git/doc/guix.texi:26254 #, no-wrap msgid "@code{group} (default: @code{\"agate\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:26256 msgid "Owner's group of the @code{agate} process." msgstr "" #. type: item #: guix-git/doc/guix.texi:26257 #, no-wrap msgid "@code{log-file} (default: @file{\"/var/log/agate.log\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:26259 msgid "The file which should store the logging output of Agate." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:26266 #, no-wrap msgid "Web" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:26267 #, no-wrap msgid "HTTP, HTTPS" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:26268 #, no-wrap msgid "Let's Encrypt" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:26269 #, no-wrap msgid "TLS certificates" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:26276 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 "" #. type: Plain text #: guix-git/doc/guix.texi:26288 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 "" #. type: Plain text #: guix-git/doc/guix.texi:26295 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 "" #. type: Plain text #: guix-git/doc/guix.texi:26301 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 "" #. type: Plain text #: guix-git/doc/guix.texi:26305 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 "" #. type: defvr #: guix-git/doc/guix.texi:26306 #, no-wrap msgid "{Scheme Variable} certbot-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:26309 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 "" #. type: lisp #: guix-git/doc/guix.texi:26316 #, no-wrap msgid "" "(define %nginx-deploy-hook\n" " (program-file\n" " \"nginx-deploy-hook\"\n" " #~(let ((pid (call-with-input-file \"/var/run/nginx/pid\" read)))\n" " (kill pid SIGHUP))))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:26327 #, 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" " (deploy-hook %nginx-deploy-hook))\n" " (certificate-configuration\n" " (domains '(\"bar.example.net\")))))))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:26330 msgid "See below for details about @code{certbot-configuration}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26332 #, no-wrap msgid "{Data Type} certbot-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26335 msgid "" "Data type representing the configuration of the @code{certbot} service. " "This type has the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:26337 #, no-wrap msgid "@code{package} (default: @code{certbot})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26339 msgid "The certbot package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:26340 #, no-wrap msgid "@code{webroot} (default: @code{/var/www})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26343 msgid "" "The directory from which to serve the Let's Encrypt challenge/response files." msgstr "" #. type: item #: guix-git/doc/guix.texi:26344 #, no-wrap msgid "@code{certificates} (default: @code{()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26348 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 "" #. type: item #: guix-git/doc/guix.texi:26349 #, no-wrap msgid "@code{email} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:26353 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:26354 guix-git/doc/guix.texi:28098 #, no-wrap msgid "@code{server} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:26357 msgid "" "Optional URL of ACME server. Setting this overrides certbot's default, " "which is the Let's Encrypt server." msgstr "" #. type: item #: guix-git/doc/guix.texi:26358 #, no-wrap msgid "@code{rsa-key-size} (default: @code{2048})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26360 msgid "Size of the RSA key." msgstr "" #. type: item #: guix-git/doc/guix.texi:26361 #, no-wrap msgid "@code{default-location} (default: @i{see below})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26370 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 "" #. type: table #: guix-git/doc/guix.texi:26374 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 "" #. type: table #: guix-git/doc/guix.texi:26378 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 "" #. type: table #: guix-git/doc/guix.texi:26380 msgid "Pass @code{#f} to not issue a default location." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26383 #, no-wrap msgid "{Data Type} certificate-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26386 msgid "" "Data type representing the configuration of a certificate. This type has " "the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:26388 #, no-wrap msgid "@code{name} (default: @i{see below})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26392 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 "" #. type: table #: guix-git/doc/guix.texi:26394 msgid "Its default is the first provided domain." msgstr "" #. type: item #: guix-git/doc/guix.texi:26395 #, no-wrap msgid "@code{domains} (default: @code{()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26398 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 "" #. type: item #: guix-git/doc/guix.texi:26399 #, no-wrap msgid "@code{challenge} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26406 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 "" #. type: item #: guix-git/doc/guix.texi:26407 #, fuzzy, no-wrap msgid "@code{csr} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:26414 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 "" #. type: item #: guix-git/doc/guix.texi:26415 #, no-wrap msgid "@code{authentication-hook} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26421 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 "" #. type: item #: guix-git/doc/guix.texi:26422 #, no-wrap msgid "@code{cleanup-hook} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26428 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 "" #. type: item #: guix-git/doc/guix.texi:26429 #, no-wrap msgid "@code{deploy-hook} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26437 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 "" #. type: Plain text #: guix-git/doc/guix.texi:26444 msgid "" "For each @code{certificate-configuration}, the certificate is saved to " "@code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is saved " "to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:26446 #, no-wrap msgid "DNS (domain name system)" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:26447 #, no-wrap msgid "domain name system (DNS)" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:26455 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:26456 #, no-wrap msgid "Knot Service" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:26460 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:26467 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:26474 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:26480 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:26485 #, no-wrap msgid "" "(define plop-master\n" " (knot-remote-configuration\n" " (id \"plop-master\")\n" " (address (list \"208.76.58.171\"))))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:26494 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:26496 #, no-wrap msgid "{Scheme Variable} knot-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:26498 msgid "This is the type for the Knot DNS server." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:26506 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 "" #. type: deffn #: guix-git/doc/guix.texi:26508 msgid "The following data types are used to configure the Knot DNS server:" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26510 #, no-wrap msgid "{Data Type} knot-key-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26513 msgid "Data type representing a key. This type has the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:26515 guix-git/doc/guix.texi:26535 #: guix-git/doc/guix.texi:26650 guix-git/doc/guix.texi:26676 #: guix-git/doc/guix.texi:26711 #, no-wrap msgid "@code{id} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26518 guix-git/doc/guix.texi:26538 msgid "" "An identifier for other configuration fields to refer to this key. IDs must " "be unique and must not be empty." msgstr "" #. type: item #: guix-git/doc/guix.texi:26519 #, no-wrap msgid "@code{algorithm} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26523 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 "" #. type: item #: guix-git/doc/guix.texi:26524 #, no-wrap msgid "@code{secret} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26526 msgid "The secret key itself." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26530 #, no-wrap msgid "{Data Type} knot-acl-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26533 msgid "" "Data type representing an Access Control List (ACL) configuration. This " "type has the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:26539 guix-git/doc/guix.texi:26654 #, no-wrap msgid "@code{address} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26543 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 "" #. type: item #: guix-git/doc/guix.texi:26544 #, no-wrap msgid "@code{key} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26548 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 "" #. type: item #: guix-git/doc/guix.texi:26549 #, no-wrap msgid "@code{action} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26553 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 "" #. type: item #: guix-git/doc/guix.texi:26554 #, no-wrap msgid "@code{deny?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26557 msgid "" "When true, the ACL defines restrictions. Listed actions are forbidden. " "When false, listed actions are allowed." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26561 #, no-wrap msgid "{Data Type} zone-entry" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26564 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:26566 #, no-wrap msgid "@code{name} (default: @code{\"@@\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26572 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 "" #. type: item #: guix-git/doc/guix.texi:26573 #, no-wrap msgid "@code{ttl} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26575 msgid "" "The Time-To-Live (TTL) of this record. If not set, the default TTL is used." msgstr "" #. type: item #: guix-git/doc/guix.texi:26576 #, no-wrap msgid "@code{class} (default: @code{\"IN\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26579 msgid "" "The class of the record. Knot currently supports only @code{\"IN\"} and " "partially @code{\"CH\"}." msgstr "" #. type: item #: guix-git/doc/guix.texi:26580 #, no-wrap msgid "@code{type} (default: @code{\"A\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26584 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 "" #. type: item #: guix-git/doc/guix.texi:26585 #, no-wrap msgid "@code{data} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26589 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 "" #. type: deftp #: guix-git/doc/guix.texi:26593 #, no-wrap msgid "{Data Type} zone-file" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26596 msgid "" "Data type representing the content of a zone file. This type has the " "following parameters:" msgstr "" #. type: table #: guix-git/doc/guix.texi:26605 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 "" #. type: item #: guix-git/doc/guix.texi:26606 #, no-wrap msgid "@code{origin} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26608 msgid "The name of your zone. This parameter cannot be empty." msgstr "" #. type: item #: guix-git/doc/guix.texi:26609 #, no-wrap msgid "@code{ns} (default: @code{\"ns\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26614 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 "" #. type: item #: guix-git/doc/guix.texi:26615 #, no-wrap msgid "@code{mail} (default: @code{\"hostmaster\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26618 msgid "" "An email address people can contact you at, as the owner of the zone. This " "is translated as @code{@@}." msgstr "" #. type: item #: guix-git/doc/guix.texi:26619 #, no-wrap msgid "@code{serial} (default: @code{1})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26623 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 "" #. type: item #: guix-git/doc/guix.texi:26624 #, no-wrap msgid "@code{refresh} (default: @code{(* 2 24 3600)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26628 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 "" #. type: item #: guix-git/doc/guix.texi:26629 #, no-wrap msgid "@code{retry} (default: @code{(* 15 60)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26632 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:26633 #, no-wrap msgid "@code{expiry} (default: @code{(* 14 24 3600)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26637 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 "" #. type: item #: guix-git/doc/guix.texi:26638 #, no-wrap msgid "@code{nx} (default: @code{3600})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26641 msgid "" "Default TTL of inexistent records. This delay is usually short because you " "want your new domains to reach everyone quickly." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26645 #, no-wrap msgid "{Data Type} knot-remote-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26648 msgid "" "Data type representing a remote configuration. This type has the following " "parameters:" msgstr "" #. type: table #: guix-git/doc/guix.texi:26653 msgid "" "An identifier for other configuration fields to refer to this remote. IDs " "must be unique and must not be empty." msgstr "" #. type: table #: guix-git/doc/guix.texi:26658 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 "" #. type: item #: guix-git/doc/guix.texi:26659 #, no-wrap msgid "@code{via} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26663 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 "" #. type: table #: guix-git/doc/guix.texi:26667 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 "" #. type: deftp #: guix-git/doc/guix.texi:26671 #, no-wrap msgid "{Data Type} knot-keystore-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26674 msgid "" "Data type representing a keystore to hold dnssec keys. This type has the " "following parameters:" msgstr "" #. type: table #: guix-git/doc/guix.texi:26678 msgid "The id of the keystore. It must not be empty." msgstr "" #. type: item #: guix-git/doc/guix.texi:26679 #, no-wrap msgid "@code{backend} (default: @code{'pem})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26681 msgid "" "The backend to store the keys in. Can be @code{'pem} or @code{'pkcs11}." msgstr "" #. type: item #: guix-git/doc/guix.texi:26682 #, no-wrap msgid "@code{config} (default: @code{\"/var/lib/knot/keys/keys\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26686 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 "" #. type: deftp #: guix-git/doc/guix.texi:26690 #, no-wrap msgid "{Data Type} knot-policy-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26694 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 "" #. type: deftp #: guix-git/doc/guix.texi:26701 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 "" #. type: deftp #: guix-git/doc/guix.texi:26707 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 "" #. type: deftp #: guix-git/doc/guix.texi:26709 msgid "This type has the following parameters:" msgstr "" #. type: table #: guix-git/doc/guix.texi:26713 msgid "The id of the policy. It must not be empty." msgstr "" #. type: item #: guix-git/doc/guix.texi:26714 #, no-wrap msgid "@code{keystore} (default: @code{\"default\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26719 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 "" #. type: item #: guix-git/doc/guix.texi:26720 #, no-wrap msgid "@code{manual?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26722 msgid "Whether the key management is manual or automatic." msgstr "" #. type: item #: guix-git/doc/guix.texi:26723 #, no-wrap msgid "@code{single-type-signing?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26725 msgid "When @code{#t}, use the Single-Type Signing Scheme." msgstr "" #. type: item #: guix-git/doc/guix.texi:26726 #, no-wrap msgid "@code{algorithm} (default: @code{\"ecdsap256sha256\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26728 msgid "An algorithm of signing keys and issued signatures." msgstr "" #. type: item #: guix-git/doc/guix.texi:26729 #, no-wrap msgid "@code{ksk-size} (default: @code{256})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26732 msgid "" "The length of the KSK@. Note that this value is correct for the default " "algorithm, but would be unsecure for other algorithms." msgstr "" #. type: item #: guix-git/doc/guix.texi:26733 #, no-wrap msgid "@code{zsk-size} (default: @code{256})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26736 msgid "" "The length of the ZSK@. Note that this value is correct for the default " "algorithm, but would be unsecure for other algorithms." msgstr "" #. type: item #: guix-git/doc/guix.texi:26737 #, no-wrap msgid "@code{dnskey-ttl} (default: @code{'default})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26740 msgid "" "The TTL value for DNSKEY records added into zone apex. The special " "@code{'default} value means same as the zone SOA TTL." msgstr "" #. type: item #: guix-git/doc/guix.texi:26741 #, no-wrap msgid "@code{zsk-lifetime} (default: @code{(* 30 24 3600)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26743 msgid "The period between ZSK publication and the next rollover initiation." msgstr "" #. type: item #: guix-git/doc/guix.texi:26744 #, no-wrap msgid "@code{propagation-delay} (default: @code{(* 24 3600)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26747 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:26748 #, no-wrap msgid "@code{rrsig-lifetime} (default: @code{(* 14 24 3600)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26750 msgid "A validity period of newly issued signatures." msgstr "" #. type: item #: guix-git/doc/guix.texi:26751 #, no-wrap msgid "@code{rrsig-refresh} (default: @code{(* 7 24 3600)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26753 msgid "" "A period how long before a signature expiration the signature will be " "refreshed." msgstr "" #. type: item #: guix-git/doc/guix.texi:26754 #, no-wrap msgid "@code{nsec3?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26756 msgid "When @code{#t}, NSEC3 will be used instead of NSEC." msgstr "" #. type: item #: guix-git/doc/guix.texi:26757 #, no-wrap msgid "@code{nsec3-iterations} (default: @code{5})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26759 msgid "The number of additional times the hashing is performed." msgstr "" #. type: item #: guix-git/doc/guix.texi:26760 #, no-wrap msgid "@code{nsec3-salt-length} (default: @code{8})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26763 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:26764 #, no-wrap msgid "@code{nsec3-salt-lifetime} (default: @code{(* 30 24 3600)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26766 msgid "The validity period of newly issued salt field." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26770 #, no-wrap msgid "{Data Type} knot-zone-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26773 msgid "" "Data type representing a zone served by Knot. This type has the following " "parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:26775 #, no-wrap msgid "@code{domain} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26777 msgid "The domain served by this configuration. It must not be empty." msgstr "" #. type: item #: guix-git/doc/guix.texi:26778 #, no-wrap msgid "@code{file} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26781 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:26782 #, no-wrap msgid "@code{zone} (default: @code{(zone-file)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26785 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:26786 #, no-wrap msgid "@code{master} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26789 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:26790 #, no-wrap msgid "@code{ddns-master} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26793 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:26794 #, no-wrap msgid "@code{notify} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26796 msgid "A list of slave remote identifiers." msgstr "" #. type: item #: guix-git/doc/guix.texi:26797 #, no-wrap msgid "@code{acl} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26799 msgid "A list of acl identifiers." msgstr "" #. type: item #: guix-git/doc/guix.texi:26800 #, no-wrap msgid "@code{semantic-checks?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26802 msgid "When set, this adds more semantic checks to the zone." msgstr "" #. type: item #: guix-git/doc/guix.texi:26803 #, no-wrap msgid "@code{zonefile-sync} (default: @code{0})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26806 msgid "" "The delay between a modification in memory and on disk. 0 means immediate " "synchronization." msgstr "" #. type: item #: guix-git/doc/guix.texi:26807 #, no-wrap msgid "@code{zonefile-load} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26810 msgid "" "The way the zone file contents are applied during zone load. Possible " "values are:" msgstr "" #. type: item #: guix-git/doc/guix.texi:26812 #, no-wrap msgid "@code{#f} for using the default value from Knot," msgstr "" #. type: item #: guix-git/doc/guix.texi:26813 #, no-wrap msgid "@code{'none} for not using the zone file at all," msgstr "" #. type: item #: guix-git/doc/guix.texi:26814 #, no-wrap msgid "@code{'difference} for computing the difference between already available" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:26816 msgid "" "contents and zone contents and applying it to the current zone contents," msgstr "" #. type: item #: guix-git/doc/guix.texi:26816 #, no-wrap msgid "@code{'difference-no-serial} for the same as @code{'difference}, but" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:26819 msgid "" "ignoring the SOA serial in the zone file, while the server takes care of it " "automatically." msgstr "" #. type: item #: guix-git/doc/guix.texi:26819 #, no-wrap msgid "@code{'whole} for loading zone contents from the zone file." msgstr "" #. type: item #: guix-git/doc/guix.texi:26822 #, no-wrap msgid "@code{journal-content} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26827 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 "" #. type: item #: guix-git/doc/guix.texi:26828 #, no-wrap msgid "@code{max-journal-usage} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26831 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 "" #. type: item #: guix-git/doc/guix.texi:26832 #, no-wrap msgid "@code{max-journal-depth} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26835 msgid "" "The maximum size of the history. @code{#f} does not set this option, so the " "default value from Knot is used." msgstr "" #. type: item #: guix-git/doc/guix.texi:26836 #, no-wrap msgid "@code{max-zone-size} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26840 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 "" #. type: item #: guix-git/doc/guix.texi:26841 #, no-wrap msgid "@code{dnssec-policy} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26845 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 "" #. type: item #: guix-git/doc/guix.texi:26846 #, no-wrap msgid "@code{serial-policy} (default: @code{'increment})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26848 msgid "A policy between @code{'increment} and @code{'unixtime}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26852 #, no-wrap msgid "{Data Type} knot-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26855 msgid "" "Data type representing the Knot configuration. This type has the following " "parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:26857 #, no-wrap msgid "@code{knot} (default: @code{knot})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26859 msgid "The Knot package." msgstr "" #. type: item #: guix-git/doc/guix.texi:26860 #, no-wrap msgid "@code{run-directory} (default: @code{\"/var/run/knot\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26862 msgid "" "The run directory. This directory will be used for pid file and sockets." msgstr "" #. type: item #: guix-git/doc/guix.texi:26863 #, no-wrap msgid "@code{includes} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26866 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:26867 #, no-wrap msgid "secrets, Knot service" msgstr "" #. type: table #: guix-git/doc/guix.texi:26873 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 "" #. type: table #: guix-git/doc/guix.texi:26878 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 "" #. type: example #: guix-git/doc/guix.texi:26882 #, no-wrap msgid "" "keymgr -t mysecret > /etc/knot/secrets.conf\n" "chmod 600 /etc/knot/secrets.conf\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:26888 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 "" #. type: table #: guix-git/doc/guix.texi:26890 msgid "" "It can also be used to add configuration not supported by this interface." msgstr "" #. type: item #: guix-git/doc/guix.texi:26891 #, no-wrap msgid "@code{listen-v4} (default: @code{\"0.0.0.0\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26893 guix-git/doc/guix.texi:26896 msgid "An ip address on which to listen." msgstr "" #. type: item #: guix-git/doc/guix.texi:26894 #, no-wrap msgid "@code{listen-v6} (default: @code{\"::\"})" msgstr "" #. type: item #: guix-git/doc/guix.texi:26897 #, no-wrap msgid "@code{listen-port} (default: @code{53})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26899 msgid "A port on which to listen." msgstr "" #. type: item #: guix-git/doc/guix.texi:26900 #, no-wrap msgid "@code{keys} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26902 msgid "The list of knot-key-configuration used by this configuration." msgstr "" #. type: item #: guix-git/doc/guix.texi:26903 #, no-wrap msgid "@code{acls} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26905 msgid "The list of knot-acl-configuration used by this configuration." msgstr "" #. type: item #: guix-git/doc/guix.texi:26906 #, no-wrap msgid "@code{remotes} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26908 msgid "The list of knot-remote-configuration used by this configuration." msgstr "" #. type: item #: guix-git/doc/guix.texi:26909 #, no-wrap msgid "@code{zones} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26911 msgid "The list of knot-zone-configuration used by this configuration." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:26915 #, no-wrap msgid "Knot Resolver Service" msgstr "Сервисы Kerberos" #. type: deffn #: guix-git/doc/guix.texi:26917 #, no-wrap msgid "{Scheme Variable} knot-resolver-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:26920 msgid "" "This is the type of the knot resolver service, whose value should be an " "@code{knot-resolver-configuration} object as in this example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:26930 #, 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 "" #. type: deffn #: guix-git/doc/guix.texi:26933 msgid "" "For more information, refer its @url{https://knot-resolver.readthedocs.org/" "en/stable/daemon.html#configuration, manual}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26935 #, no-wrap msgid "{Data Type} knot-resolver-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26937 msgid "Data type representing the configuration of knot-resolver." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:26939 #, no-wrap msgid "@code{package} (default: @var{knot-resolver})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:26941 msgid "Package object of the knot DNS resolver." msgstr "" #. type: item #: guix-git/doc/guix.texi:26942 #, no-wrap msgid "@code{kresd-config-file} (default: %kresd.conf)" msgstr "@code{compression-level} (default: @code{3})" #. type: table #: guix-git/doc/guix.texi:26945 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 "" #. type: item #: guix-git/doc/guix.texi:26946 #, no-wrap msgid "@code{garbage-collection-interval} (default: 1000)" msgstr "@code{parallel-builds} (default: @code{1})" #. type: table #: guix-git/doc/guix.texi:26948 msgid "" "Number of milliseconds for @code{kres-cache-gc} to periodically trim the " "cache." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:26953 #, no-wrap msgid "Dnsmasq Service" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:26955 #, no-wrap msgid "{Scheme Variable} dnsmasq-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:26958 msgid "" "This is the type of the dnsmasq service, whose value should be an " "@code{dnsmasq-configuration} object as in this example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:26964 #, no-wrap msgid "" "(service dnsmasq-service-type\n" " (dnsmasq-configuration\n" " (no-resolv? #t)\n" " (servers '(\"192.168.1.1\"))))\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26967 #, no-wrap msgid "{Data Type} dnsmasq-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:26969 msgid "Data type representing the configuration of dnsmasq." msgstr "" #. type: item #: guix-git/doc/guix.texi:26971 #, no-wrap msgid "@code{package} (default: @var{dnsmasq})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26973 msgid "Package object of the dnsmasq server." msgstr "" #. type: item #: guix-git/doc/guix.texi:26974 #, no-wrap msgid "@code{no-hosts?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26976 msgid "When true, don't read the hostnames in /etc/hosts." msgstr "" #. type: item #: guix-git/doc/guix.texi:26977 #, no-wrap msgid "@code{port} (default: @code{53})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26980 msgid "" "The port to listen on. Setting this to zero completely disables DNS " "responses, leaving only DHCP and/or TFTP functions." msgstr "" #. type: item #: guix-git/doc/guix.texi:26981 #, no-wrap msgid "@code{local-service?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26984 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 "" #. type: item #: guix-git/doc/guix.texi:26985 #, no-wrap msgid "@code{listen-addresses} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26987 msgid "Listen on the given IP addresses." msgstr "" #. type: item #: guix-git/doc/guix.texi:26988 #, no-wrap msgid "@code{resolv-file} (default: @code{\"/etc/resolv.conf\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26990 msgid "The file to read the IP address of the upstream nameservers from." msgstr "" #. type: item #: guix-git/doc/guix.texi:26991 #, no-wrap msgid "@code{no-resolv?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26993 msgid "When true, don't read @var{resolv-file}." msgstr "" #. type: item #: guix-git/doc/guix.texi:26994 #, no-wrap msgid "@code{servers} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:26996 msgid "Specify IP address of upstream servers directly." msgstr "" #. type: item #: guix-git/doc/guix.texi:26997 #, no-wrap msgid "@code{addresses} (default: @code{'()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:27001 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 "" #. type: table #: guix-git/doc/guix.texi:27003 msgid "This is useful for redirecting hosts locally, for example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:27012 #, 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 "" #. type: table #: guix-git/doc/guix.texi:27015 msgid "Note that rules in @file{/etc/hosts} take precedence over this." msgstr "" #. type: item #: guix-git/doc/guix.texi:27016 #, no-wrap msgid "@code{cache-size} (default: @code{150})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27019 msgid "" "Set the size of dnsmasq's cache. Setting the cache size to zero disables " "caching." msgstr "" #. type: item #: guix-git/doc/guix.texi:27020 #, no-wrap msgid "@code{negative-cache?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27022 msgid "When false, disable negative caching." msgstr "" #. type: item #: guix-git/doc/guix.texi:27023 #, no-wrap msgid "@code{tftp-enable?} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:27025 msgid "Whether to enable the built-in TFTP server." msgstr "" #. type: item #: guix-git/doc/guix.texi:27026 #, no-wrap msgid "@code{tftp-no-fail?} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:27028 msgid "If true, does not fail dnsmasq if the TFTP server could not start up." msgstr "" #. type: item #: guix-git/doc/guix.texi:27029 #, no-wrap msgid "@code{tftp-single-port?} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27031 msgid "Whether to use only one single port for TFTP." msgstr "" #. type: item #: guix-git/doc/guix.texi:27032 #, no-wrap msgid "@code{tftp-secure?} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:27034 msgid "" "If true, only files owned by the user running the dnsmasq process are " "accessible." msgstr "" #. type: table #: guix-git/doc/guix.texi:27038 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 "" #. type: item #: guix-git/doc/guix.texi:27039 #, no-wrap msgid "@code{tftp-max} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:27041 msgid "If set, sets the maximal number of concurrent connections allowed." msgstr "" #. type: item #: guix-git/doc/guix.texi:27042 #, no-wrap msgid "@code{tftp-mtu} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27044 msgid "If set, sets the MTU for TFTP packets to that value." msgstr "" #. type: item #: guix-git/doc/guix.texi:27045 #, no-wrap msgid "@code{tftp-no-blocksize?} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27047 msgid "" "If true, stops the TFTP server from negotiating the blocksize with a client." msgstr "" #. type: item #: guix-git/doc/guix.texi:27048 #, no-wrap msgid "@code{tftp-lowercase?} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27050 msgid "Whether to convert all filenames in TFTP requests to lowercase." msgstr "" #. type: item #: guix-git/doc/guix.texi:27051 #, no-wrap msgid "@code{tftp-port-range} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27054 msgid "" "If set, fixes the dynamical ports (one per client) to the given range " "(@code{\",\"})." msgstr "" #. type: item #: guix-git/doc/guix.texi:27055 #, no-wrap msgid "@code{tftp-root} (default: @code{/var/empty,lo})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27062 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 "" #. type: item #: guix-git/doc/guix.texi:27063 #, no-wrap msgid "@code{tftp-unique-root} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27068 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 "" #. type: table #: guix-git/doc/guix.texi:27077 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:27081 #, no-wrap msgid "ddclient Service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:27083 #, no-wrap msgid "ddclient" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27087 msgid "" "The ddclient service described below runs the ddclient daemon, which takes " "care of automatically updating DNS entries for service providers such as " "@uref{https://dyn.com/dns/, Dyn}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27090 msgid "" "The following example show instantiates the service with its default " "configuration:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:27093 #, no-wrap msgid "(service ddclient-service-type)\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27102 msgid "" "Note that ddclient needs to access credentials that are stored in a " "@dfn{secret file}, by default @file{/etc/ddclient/secrets} (see @code{secret-" "file} below). You are expected to create this file manually, in an ``out-of-" "band'' fashion (you @emph{could} make this file part of the service " "configuration, for instance by using @code{plain-file}, but it will be world-" "readable @i{via} @file{/gnu/store}). See the examples in the @file{share/" "ddclient} directory of the @code{ddclient} package." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27106 msgid "Available @code{ddclient-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27107 #, no-wrap msgid "{@code{ddclient-configuration} parameter} package ddclient" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27109 msgid "The ddclient package." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27112 #, no-wrap msgid "{@code{ddclient-configuration} parameter} integer daemon" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27114 msgid "The period after which ddclient will retry to check IP and domain name." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27119 #, no-wrap msgid "{@code{ddclient-configuration} parameter} boolean syslog" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27121 msgid "Use syslog for the output." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27126 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string mail" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27128 msgid "Mail to user." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27130 guix-git/doc/guix.texi:27137 #: guix-git/doc/guix.texi:28936 msgid "Defaults to @samp{\"root\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27133 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string mail-failure" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27135 msgid "Mail failed update to user." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27140 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string pid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27142 msgid "The ddclient PID file." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27144 msgid "Defaults to @samp{\"/var/run/ddclient/ddclient.pid\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27147 #, no-wrap msgid "{@code{ddclient-configuration} parameter} boolean ssl" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27149 msgid "Enable SSL support." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27154 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string user" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27157 msgid "" "Specifies the user name or ID that is used when running ddclient program." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27159 guix-git/doc/guix.texi:27166 msgid "Defaults to @samp{\"ddclient\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27162 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string group" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27164 msgid "Group of the user who will run the ddclient program." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27169 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string secret-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27173 msgid "" "Secret file which will be appended to @file{ddclient.conf} file. This file " "contains credentials for use by ddclient. You are expected to create it " "manually." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27175 msgid "Defaults to @samp{\"/etc/ddclient/secrets.conf\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27178 #, no-wrap msgid "{@code{ddclient-configuration} parameter} list extra-options" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27180 msgid "Extra options will be appended to @file{ddclient.conf} file." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:27191 #, no-wrap msgid "VPN (virtual private network)" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:27192 #, no-wrap msgid "virtual private network (VPN)" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27196 msgid "" "The @code{(gnu services vpn)} module provides services related to " "@dfn{virtual private networks} (VPNs)." msgstr "" "Модуль @code{(gnu services file-sharing)} предоставляет следующие сервисы, " "помогающие с передачей файлов через одноранговые сети." #. type: subsubheading #: guix-git/doc/guix.texi:27197 #, no-wrap msgid "Bitmask" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:27199 #, fuzzy, no-wrap #| msgid "{Scheme Variable} boot-service-type" msgid "{Scheme Variable} bitmask-service-type" msgstr "{Scheme Variable} boot-service-type" #. type: defvr #: guix-git/doc/guix.texi:27204 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:27206 #, no-wrap msgid "OpenVPN" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27210 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@." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:27211 #, no-wrap msgid "{Scheme Procedure} openvpn-client-service @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:27213 msgid "[#:config (openvpn-client-configuration)]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:27215 msgid "" "Return a service that runs @command{openvpn}, a VPN daemon, as a client." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:27217 #, no-wrap msgid "{Scheme Procedure} openvpn-server-service @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:27219 msgid "[#:config (openvpn-server-configuration)]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:27221 msgid "" "Return a service that runs @command{openvpn}, a VPN daemon, as a server." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:27223 msgid "Both can be run simultaneously." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27228 msgid "Available @code{openvpn-client-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27229 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} package openvpn" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27231 guix-git/doc/guix.texi:27386 msgid "The OpenVPN package." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27234 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} string pid-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27236 guix-git/doc/guix.texi:27391 msgid "The OpenVPN pid file." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27238 guix-git/doc/guix.texi:27393 msgid "Defaults to @samp{\"/var/run/openvpn/openvpn.pid\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27241 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} proto proto" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27244 guix-git/doc/guix.texi:27399 msgid "" "The protocol (UDP or TCP) used to open a channel between clients and servers." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27246 guix-git/doc/guix.texi:27401 msgid "Defaults to @samp{udp}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27249 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} dev dev" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27251 guix-git/doc/guix.texi:27406 msgid "The device type used to represent the VPN connection." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27253 guix-git/doc/guix.texi:27408 msgid "Defaults to @samp{tun}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27259 guix-git/doc/guix.texi:27414 msgid "" "If you do not have some of these files (eg.@: you use a username and " "password), you can disable any of the following three fields by setting it " "to @code{'disabled}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27260 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} maybe-string ca" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27262 guix-git/doc/guix.texi:27417 msgid "The certificate authority to check connections against." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27264 guix-git/doc/guix.texi:27419 msgid "Defaults to @samp{\"/etc/openvpn/ca.crt\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27267 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} maybe-string cert" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27270 guix-git/doc/guix.texi:27425 msgid "" "The certificate of the machine the daemon is running on. It should be " "signed by the authority given in @code{ca}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27272 guix-git/doc/guix.texi:27427 msgid "Defaults to @samp{\"/etc/openvpn/client.crt\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27275 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} maybe-string key" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27278 guix-git/doc/guix.texi:27433 msgid "" "The key of the machine the daemon is running on. It must be the key whose " "certificate is @code{cert}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27280 guix-git/doc/guix.texi:27435 msgid "Defaults to @samp{\"/etc/openvpn/client.key\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27283 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} boolean comp-lzo?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27285 guix-git/doc/guix.texi:27440 msgid "Whether to use the lzo compression algorithm." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27290 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} boolean persist-key?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27292 guix-git/doc/guix.texi:27447 msgid "Don't re-read key files across SIGUSR1 or --ping-restart." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27297 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} boolean persist-tun?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27300 guix-git/doc/guix.texi:27455 msgid "" "Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 " "or --ping-restart restarts." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27305 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} boolean fast-io?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27308 guix-git/doc/guix.texi:27463 msgid "" "(Experimental) Optimize TUN/TAP/UDP I/O writes by avoiding a call to poll/" "epoll/select prior to the write operation." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27312 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} number verbosity" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27314 guix-git/doc/guix.texi:27469 msgid "Verbosity level." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27316 guix-git/doc/guix.texi:27471 #: guix-git/doc/guix.texi:29204 guix-git/doc/guix.texi:29428 msgid "Defaults to @samp{3}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27319 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} tls-auth-client tls-auth" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27322 guix-git/doc/guix.texi:27477 msgid "" "Add an additional layer of HMAC authentication on top of the TLS control " "channel to protect against DoS attacks." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27327 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} maybe-string auth-user-pass" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27331 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: deftypevr #: guix-git/doc/guix.texi:27333 msgid "Defaults to @samp{'disabled}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27335 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} key-usage verify-key-usage?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27337 msgid "Whether to check the server certificate has server usage extension." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27342 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} bind bind?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27344 msgid "Bind to a specific local port number." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27349 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} resolv-retry resolv-retry?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27351 msgid "Retry resolving server address." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27356 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} openvpn-remote-list remote" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27358 msgid "A list of remote servers to connect to." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27362 msgid "Available @code{openvpn-remote-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27363 #, no-wrap msgid "{@code{openvpn-remote-configuration} parameter} string name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27365 msgid "Server name." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27367 msgid "Defaults to @samp{\"my-server\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27370 #, no-wrap msgid "{@code{openvpn-remote-configuration} parameter} number port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27372 msgid "Port number the server listens to." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27374 guix-git/doc/guix.texi:27486 msgid "Defaults to @samp{1194}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27383 msgid "Available @code{openvpn-server-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27384 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} package openvpn" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27389 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} string pid-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27396 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} proto proto" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27404 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} dev dev" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27415 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} maybe-string ca" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27422 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} maybe-string cert" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27430 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} maybe-string key" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27438 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} boolean comp-lzo?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27445 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} boolean persist-key?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27452 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} boolean persist-tun?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27460 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} boolean fast-io?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27467 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} number verbosity" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27474 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} tls-auth-server tls-auth" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27482 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} number port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27484 msgid "Specifies the port number on which the server listens." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27489 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} ip-mask server" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27491 msgid "An ip and mask specifying the subnet inside the virtual network." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27493 msgid "Defaults to @samp{\"10.8.0.0 255.255.255.0\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27496 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} cidr6 server-ipv6" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27498 msgid "A CIDR notation specifying the IPv6 subnet inside the virtual network." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27503 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} string dh" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27505 msgid "The Diffie-Hellman parameters file." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27507 msgid "Defaults to @samp{\"/etc/openvpn/dh2048.pem\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27510 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} string ifconfig-pool-persist" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27512 msgid "The file that records client IPs." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27514 msgid "Defaults to @samp{\"/etc/openvpn/ipp.txt\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27517 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} gateway redirect-gateway?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27519 msgid "When true, the server will act as a gateway for its clients." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27524 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} boolean client-to-client?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27526 msgid "When true, clients are allowed to talk to each other inside the VPN." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27531 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} keepalive keepalive" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27537 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:27540 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} number max-clients" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27542 msgid "The maximum number of clients." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27547 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} string status" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27550 msgid "" "The status file. This file shows a small report on current connection. It " "is truncated and rewritten every minute." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27552 msgid "Defaults to @samp{\"/var/run/openvpn/status\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27555 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} openvpn-ccd-list client-config-dir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27557 msgid "The list of configuration for some clients." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27561 msgid "Available @code{openvpn-ccd-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27562 #, no-wrap msgid "{@code{openvpn-ccd-configuration} parameter} string name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27564 msgid "Client name." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27566 msgid "Defaults to @samp{\"client\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27569 #, no-wrap msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask iroute" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27571 msgid "Client own network" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27576 #, no-wrap msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask ifconfig-push" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:27578 msgid "Client VPN IP." msgstr "" #. type: subheading #: guix-git/doc/guix.texi:27587 #, no-wrap msgid "strongSwan" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27591 msgid "" "Currently, the strongSwan service only provides legacy-style configuration " "with @file{ipsec.conf} and @file{ipsec.secrets} files." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:27592 #, fuzzy, no-wrap msgid "{Scheme Variable} strongswan-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:27596 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 "" #. type: lisp #: guix-git/doc/guix.texi:27602 #, 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 guix-service-type\n" " (guix-configuration\n" " (build-accounts 5)\n" " (use-substitutes? #f)))\n" #. type: deftp #: guix-git/doc/guix.texi:27606 #, fuzzy, no-wrap msgid "{Data Type} strongswan-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:27608 #, fuzzy msgid "Data type representing the configuration of the StrongSwan service." msgstr "Управление конфигурацией операционной системы." #. type: code{#1} #: guix-git/doc/guix.texi:27610 #, no-wrap msgid "strongswan" msgstr "" #. type: table #: guix-git/doc/guix.texi:27612 #, fuzzy msgid "The strongSwan package to use for this service." msgstr "Пакет @code{ganeti} для использования в этой службе." #. type: item #: guix-git/doc/guix.texi:27613 #, fuzzy, no-wrap msgid "@code{ipsec-conf} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27616 msgid "" "The file name of your @file{ipsec.conf}. If not @code{#f}, then this and " "@code{ipsec-secrets} must both be strings." msgstr "" #. type: item #: guix-git/doc/guix.texi:27617 #, fuzzy, no-wrap msgid "@code{ipsec-secrets} (default @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:27620 msgid "" "The file name of your @file{ipsec.secrets}. If not @code{#f}, then this and " "@code{ipsec-conf} must both be strings." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:27624 #, no-wrap msgid "Wireguard" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:27626 #, no-wrap msgid "{Scheme Variable} wireguard-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:27629 msgid "" "A service type for a Wireguard tunnel interface. Its value must be a " "@code{wireguard-configuration} record as in this example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:27640 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:27644 #, no-wrap msgid "{Data Type} wireguard-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:27646 msgid "Data type representing the configuration of the Wireguard service." msgstr "Управление конфигурацией операционной системы." #. type: code{#1} #: guix-git/doc/guix.texi:27648 #, no-wrap msgid "wireguard" msgstr "" #. type: table #: guix-git/doc/guix.texi:27650 msgid "The wireguard package to use for this service." msgstr "Пакет @code{ganeti} для использования в этой службе." #. type: item #: guix-git/doc/guix.texi:27651 #, no-wrap msgid "@code{interface} (default: @code{\"wg0\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27653 msgid "The interface name for the VPN." msgstr "" #. type: item #: guix-git/doc/guix.texi:27654 #, no-wrap msgid "@code{addresses} (default: @code{'(\"10.0.0.1/32\")})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:27656 msgid "The IP addresses to be assigned to the above interface." msgstr "" #. type: item #: guix-git/doc/guix.texi:27657 #, fuzzy, no-wrap #| msgid "@code{port} (default: @code{5080})" msgid "@code{port} (default: @code{51820})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27659 msgid "The port on which to listen for incoming connections." msgstr "" #. type: item #: guix-git/doc/guix.texi:27660 #, no-wrap msgid "@code{private-key} (default: @code{\"/etc/wireguard/private.key\"})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:27663 msgid "" "The private key file for the interface. It is automatically generated if " "the file does not exist." msgstr "" #. type: item #: guix-git/doc/guix.texi:27664 #, no-wrap msgid "@code{peers} (default: @code{'()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:27667 msgid "" "The authorized peers on this interface. This is a list of @var{wireguard-" "peer} records." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27671 #, no-wrap msgid "{Data Type} wireguard-peer" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:27673 msgid "Data type representing a Wireguard peer attached to a given interface." msgstr "Управление конфигурацией операционной системы." #. type: table #: guix-git/doc/guix.texi:27677 msgid "The peer name." msgstr "Имя роли." #. type: item #: guix-git/doc/guix.texi:27678 #, no-wrap msgid "@code{endpoint} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27681 msgid "" "The optional endpoint for the peer, such as @code{\"demo.wireguard." "com:51820\"}." msgstr "" #. type: itemx #: guix-git/doc/guix.texi:27682 guix-git/doc/guix.texi:28077 #: guix-git/doc/guix.texi:28114 guix-git/doc/guix.texi:33177 #, no-wrap msgid "public-key" msgstr "" #. type: table #: guix-git/doc/guix.texi:27684 msgid "The peer public-key represented as a base64 string." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:27685 #, no-wrap msgid "allowed-ips" msgstr "" #. type: table #: guix-git/doc/guix.texi:27688 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 "" #. type: item #: guix-git/doc/guix.texi:27689 #, no-wrap msgid "@code{keep-alive} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:27694 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 "" #. type: cindex #: guix-git/doc/guix.texi:27700 #, no-wrap msgid "NFS" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27705 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 "" #. type: Plain text #: guix-git/doc/guix.texi:27709 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:27710 #, no-wrap msgid "NFS Service" msgstr "Сервисы DNS" #. type: cindex #: guix-git/doc/guix.texi:27711 #, no-wrap msgid "NFS, server" msgstr "NFS, сервер" #. type: Plain text #: guix-git/doc/guix.texi:27716 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 "" #. type: defvr #: guix-git/doc/guix.texi:27717 #, no-wrap msgid "{Scheme Variable} nfs-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:27719 msgid "A service type for a complete NFS server." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27721 #, no-wrap msgid "{Data Type} nfs-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:27724 msgid "" "This data type represents the configuration of the NFS service and all of " "its subsystems." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27726 msgid "It has the following parameters:" msgstr "GNU Guix зависит от следующих пакетов:" #. type: item #: guix-git/doc/guix.texi:27727 guix-git/doc/guix.texi:27852 #: guix-git/doc/guix.texi:27877 #, no-wrap msgid "@code{nfs-utils} (default: @code{nfs-utils})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27729 msgid "The nfs-utils package to use." msgstr "Используемый пакет nfs-utils." #. type: item #: guix-git/doc/guix.texi:27730 #, no-wrap msgid "@code{nfs-versions} (default: @code{'(\"4.2\" \"4.1\" \"4.0\")})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:27733 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 "" #. type: item #: guix-git/doc/guix.texi:27734 #, no-wrap msgid "@code{exports} (default: @code{'()})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27739 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 "" #. type: lisp #: guix-git/doc/guix.texi:27745 #, no-wrap msgid "" "(nfs-configuration\n" " (exports\n" " '((\"/export\"\n" " \"*(ro,insecure,no_subtree_check,crossmnt,fsid=0)\"))))\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:27747 #, no-wrap msgid "@code{rpcmountd-port} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27749 msgid "The network port that the @command{rpc.mountd} daemon should use." msgstr "" #. type: item #: guix-git/doc/guix.texi:27750 #, no-wrap msgid "@code{rpcstatd-port} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27752 msgid "The network port that the @command{rpc.statd} daemon should use." msgstr "" #. type: item #: guix-git/doc/guix.texi:27753 guix-git/doc/guix.texi:27801 #, no-wrap msgid "@code{rpcbind} (default: @code{rpcbind})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27755 guix-git/doc/guix.texi:27803 msgid "The rpcbind package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:27756 #, no-wrap msgid "@code{idmap-domain} (default: @code{\"localdomain\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27758 msgid "The local NFSv4 domain name." msgstr "" #. type: item #: guix-git/doc/guix.texi:27759 #, no-wrap msgid "@code{nfsd-port} (default: @code{2049})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27761 msgid "The network port that the @command{nfsd} daemon should use." msgstr "" #. type: item #: guix-git/doc/guix.texi:27762 #, no-wrap msgid "@code{nfsd-threads} (default: @code{8})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:27764 msgid "The number of threads used by the @command{nfsd} daemon." msgstr "" #. type: item #: guix-git/doc/guix.texi:27765 #, no-wrap msgid "@code{nfsd-tcp?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27767 msgid "Whether the @command{nfsd} daemon should listen on a TCP socket." msgstr "" #. type: item #: guix-git/doc/guix.texi:27768 #, no-wrap msgid "@code{nfsd-udp?} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27770 msgid "Whether the @command{nfsd} daemon should listen on a UDP socket." msgstr "" #. type: item #: guix-git/doc/guix.texi:27771 guix-git/doc/guix.texi:27855 #: guix-git/doc/guix.texi:27880 #, no-wrap msgid "@code{pipefs-directory} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27773 guix-git/doc/guix.texi:27857 #: guix-git/doc/guix.texi:27882 msgid "The directory where the pipefs file system is mounted." msgstr "" #. type: item #: guix-git/doc/guix.texi:27774 #, no-wrap msgid "@code{debug} (default: @code{'()\"})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:27778 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 "" #. type: Plain text #: guix-git/doc/guix.texi:27783 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:27784 #, no-wrap msgid "RPC Bind Service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:27785 #, no-wrap msgid "rpcbind" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27791 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 "" #. type: defvr #: guix-git/doc/guix.texi:27792 #, no-wrap msgid "{Scheme Variable} rpcbind-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:27794 msgid "A service type for the RPC portmapper daemon." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27797 #, no-wrap msgid "{Data Type} rpcbind-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27800 msgid "" "Data type representing the configuration of the RPC Bind Service. This type " "has the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:27804 #, no-wrap msgid "@code{warm-start?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27808 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:27812 #, no-wrap msgid "Pipefs Pseudo File System" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:27813 #, no-wrap msgid "pipefs" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:27814 #, no-wrap msgid "rpc_pipefs" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27818 msgid "" "The pipefs file system is used to transfer NFS related data between the " "kernel and user space programs." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:27819 #, no-wrap msgid "{Scheme Variable} pipefs-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:27821 msgid "A service type for the pipefs pseudo file system." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27823 #, no-wrap msgid "{Data Type} pipefs-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27826 msgid "" "Data type representing the configuration of the pipefs pseudo file system " "service. This type has the following parameters:" msgstr "" #. type: item #: guix-git/doc/guix.texi:27827 #, no-wrap msgid "@code{mount-point} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27829 msgid "The directory to which the file system is to be attached." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:27833 #, no-wrap msgid "GSS Daemon Service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:27834 #, no-wrap msgid "GSSD" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:27835 #, no-wrap msgid "GSS" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:27836 #, no-wrap msgid "global security system" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27843 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 "" #. type: defvr #: guix-git/doc/guix.texi:27844 #, no-wrap msgid "{Scheme Variable} gss-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:27846 msgid "A service type for the Global Security System (GSS) daemon." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27848 #, no-wrap msgid "{Data Type} gss-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27851 msgid "" "Data type representing the configuration of the GSS daemon service. This " "type has the following parameters:" msgstr "" #. type: table #: guix-git/doc/guix.texi:27854 msgid "The package in which the @command{rpc.gssd} command is to be found." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:27862 #, no-wrap msgid "IDMAP Daemon Service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:27863 #, no-wrap msgid "idmapd" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:27864 #, no-wrap msgid "name mapper" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27868 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 "" #. type: defvr #: guix-git/doc/guix.texi:27869 #, no-wrap msgid "{Scheme Variable} idmap-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:27871 msgid "A service type for the Identity Mapper (IDMAP) daemon." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27873 #, no-wrap msgid "{Data Type} idmap-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27876 msgid "" "Data type representing the configuration of the IDMAP daemon service. This " "type has the following parameters:" msgstr "" #. type: table #: guix-git/doc/guix.texi:27879 msgid "The package in which the @command{rpc.idmapd} command is to be found." msgstr "" #. type: item #: guix-git/doc/guix.texi:27883 #, no-wrap msgid "@code{domain} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27887 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 "" #. type: item #: guix-git/doc/guix.texi:27888 #, no-wrap msgid "@code{verbosity} (default: @code{0})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27890 msgid "The verbosity level of the daemon." msgstr "Уровень детализации демона." #. type: Plain text #: guix-git/doc/guix.texi:27901 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 "" #. type: Plain text #: guix-git/doc/guix.texi:27903 msgid "" "The @code{(gnu services cuirass)} module provides the following service." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:27904 #, no-wrap msgid "{Scheme Procedure} cuirass-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:27907 msgid "" "The type of the Cuirass service. Its value must be a @code{cuirass-" "configuration} object, as described below." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27912 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 "" #. type: lisp #: guix-git/doc/guix.texi:27923 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:27927 guix-git/doc/guix.texi:27941 #, no-wrap msgid "" "(service cuirass-service-type\n" " (cuirass-configuration\n" " (specifications %cuirass-specs)))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27931 msgid "" "To build the @code{linux-libre} package defined by the default Guix channel, " "one can use the following configuration." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:27937 #, no-wrap msgid "" "(define %cuirass-specs\n" " #~(list (specification\n" " (name \"my-linux\")\n" " (build '(packages \"linux-libre\")))))\n" "\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27946 msgid "" "The other configuration possibilities, as well as the specification record " "itself are described in the Cuirass manual (@pxref{Specifications,,, " "cuirass, Cuirass})." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:27950 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 "" #. type: deftp #: guix-git/doc/guix.texi:27951 #, no-wrap msgid "{Data Type} cuirass-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:27953 msgid "Data type representing the configuration of Cuirass." msgstr "" #. type: item #: guix-git/doc/guix.texi:27955 guix-git/doc/guix.texi:28092 #, no-wrap msgid "@code{cuirass} (default: @code{cuirass})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27957 guix-git/doc/guix.texi:28094 msgid "The Cuirass package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:27958 #, no-wrap msgid "@code{log-file} (default: @code{\"/var/log/cuirass.log\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27960 guix-git/doc/guix.texi:28064 #: guix-git/doc/guix.texi:28107 msgid "Location of the log file." msgstr "" #. type: item #: guix-git/doc/guix.texi:27961 #, no-wrap msgid "@code{web-log-file} (default: @code{\"/var/log/cuirass-web.log\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:27963 msgid "Location of the log file used by the web interface." msgstr "" #. type: item #: guix-git/doc/guix.texi:27964 #, no-wrap msgid "@code{cache-directory} (default: @code{\"/var/cache/cuirass\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27966 msgid "Location of the repository cache." msgstr "" #. type: item #: guix-git/doc/guix.texi:27967 #, no-wrap msgid "@code{user} (default: @code{\"cuirass\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27969 msgid "Owner of the @code{cuirass} process." msgstr "" #. type: item #: guix-git/doc/guix.texi:27970 #, no-wrap msgid "@code{group} (default: @code{\"cuirass\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27972 msgid "Owner's group of the @code{cuirass} process." msgstr "" #. type: item #: guix-git/doc/guix.texi:27973 #, no-wrap msgid "@code{interval} (default: @code{60})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27976 msgid "" "Number of seconds between the poll of the repositories followed by the " "Cuirass jobs." msgstr "" #. type: item #: guix-git/doc/guix.texi:27977 #, no-wrap msgid "@code{parameters} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27980 msgid "" "Read parameters from the given @var{parameters} file. The supported " "parameters are described here (@pxref{Parameters,,, cuirass, Cuirass})." msgstr "" #. type: item #: guix-git/doc/guix.texi:27981 #, no-wrap msgid "@code{remote-server} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:27984 msgid "" "A @code{cuirass-remote-server-configuration} record to use the build remote " "mechanism or @code{#f} to use the default build mechanism." msgstr "" #. type: item #: guix-git/doc/guix.texi:27985 #, no-wrap msgid "@code{database} (default: @code{\"dbname=cuirass host=/var/run/postgresql\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:27990 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 "" #. type: item #: guix-git/doc/guix.texi:27991 #, no-wrap msgid "@code{port} (default: @code{8081})" msgstr "" #. type: table #: guix-git/doc/guix.texi:27993 msgid "Port number used by the HTTP server." msgstr "" #. type: table #: guix-git/doc/guix.texi:27997 msgid "" "Listen on the network interface for @var{host}. The default is to accept " "connections from localhost." msgstr "" #. type: item #: guix-git/doc/guix.texi:27998 #, no-wrap msgid "@code{specifications} (default: @code{#~'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28002 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 "" #. type: item #: guix-git/doc/guix.texi:28003 #, no-wrap msgid "@code{use-substitutes?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28006 msgid "" "This allows using substitutes to avoid building every dependencies of a job " "from source." msgstr "" #. type: item #: guix-git/doc/guix.texi:28007 guix-git/doc/guix.texi:35192 #, no-wrap msgid "@code{one-shot?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28009 msgid "Only evaluate specifications and build derivations once." msgstr "" #. type: item #: guix-git/doc/guix.texi:28010 #, no-wrap msgid "@code{fallback?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28013 msgid "" "When substituting a pre-built binary fails, fall back to building packages " "locally." msgstr "" #. type: table #: guix-git/doc/guix.texi:28016 msgid "Extra options to pass when running the Cuirass processes." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:28020 #, no-wrap msgid "remote build" msgstr "воспроизводимые сборки" #. type: subsubheading #: guix-git/doc/guix.texi:28021 #, no-wrap msgid "Cuirass remote building" msgstr "последний коммит, сборка" #. type: Plain text #: guix-git/doc/guix.texi:28024 msgid "Cuirass supports two mechanisms to build derivations." msgstr "" #. type: item #: guix-git/doc/guix.texi:28026 #, no-wrap msgid "Using the local Guix daemon." msgstr "Запуск демона сборки." #. type: itemize #: guix-git/doc/guix.texi:28030 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 "" #. type: item #: guix-git/doc/guix.texi:28031 #, no-wrap msgid "Using the remote build mechanism." msgstr "Подготовка отдельного окружения сборки." #. type: itemize #: guix-git/doc/guix.texi:28035 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 "" #. type: Plain text #: guix-git/doc/guix.texi:28042 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 "" #. type: Plain text #: guix-git/doc/guix.texi:28047 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 "" #. type: deftp #: guix-git/doc/guix.texi:28048 #, no-wrap msgid "{Data Type} cuirass-remote-server-configuration" msgstr "{Data Type} pagekite-configuration" #. type: deftp #: guix-git/doc/guix.texi:28050 msgid "Data type representing the configuration of the Cuirass remote-server." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:28052 #, no-wrap msgid "@code{backend-port} (default: @code{5555})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28055 msgid "" "The TCP port for communicating with @code{remote-worker} processes using " "ZMQ. It defaults to @code{5555}." msgstr "" #. type: item #: guix-git/doc/guix.texi:28056 #, no-wrap msgid "@code{log-port} (default: @code{5556})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28058 msgid "The TCP port of the log server. It defaults to @code{5556}." msgstr "" #. type: item #: guix-git/doc/guix.texi:28059 #, no-wrap msgid "@code{publish-port} (default: @code{5557})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28061 msgid "The TCP port of the publish server. It defaults to @code{5557}." msgstr "" #. type: item #: guix-git/doc/guix.texi:28062 #, no-wrap msgid "@code{log-file} (default: @code{\"/var/log/cuirass-remote-server.log\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: item #: guix-git/doc/guix.texi:28065 #, no-wrap msgid "@code{cache} (default: @code{\"/var/cache/cuirass/remote\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:28067 msgid "Use @var{cache} directory to cache build log files." msgstr "" #. type: item #: guix-git/doc/guix.texi:28068 #, no-wrap msgid "@code{trigger-url} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:28071 msgid "" "Once a substitute is successfully fetched, trigger substitute baking at " "@var{trigger-url}." msgstr "" #. type: table #: guix-git/doc/guix.texi:28076 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:28078 guix-git/doc/guix.texi:28115 #, no-wrap msgid "private-key" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28087 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:28088 #, no-wrap msgid "{Data Type} cuirass-remote-worker-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:28090 msgid "Data type representing the configuration of the Cuirass remote-worker." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:28095 #, no-wrap msgid "@code{workers} (default: @code{1})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:28097 msgid "Start @var{workers} parallel workers." msgstr "" #. type: table #: guix-git/doc/guix.texi:28101 msgid "" "Do not use Avahi discovery and connect to the given @code{server} IP address " "instead." msgstr "" #. type: item #: guix-git/doc/guix.texi:28102 #, no-wrap msgid "@code{systems} (default: @code{(list (%current-system))})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28104 msgid "Only request builds for the given @var{systems}." msgstr "" #. type: item #: guix-git/doc/guix.texi:28105 #, no-wrap msgid "@code{log-file} (default: @code{\"/var/log/cuirass-remote-worker.log\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: item #: guix-git/doc/guix.texi:28108 #, no-wrap msgid "@code{publish-port} (default: @code{5558})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28110 msgid "The TCP port of the publish server. It defaults to @code{5558}." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:28122 #, no-wrap msgid "Laminar" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28127 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 "" #. type: Plain text #: guix-git/doc/guix.texi:28130 msgid "" "Laminar encourages the use of existing tools such as bash and cron instead " "of reinventing them." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:28131 #, no-wrap msgid "{Scheme Procedure} laminar-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:28134 msgid "" "The type of the Laminar service. Its value must be a @code{laminar-" "configuration} object, as described below." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:28138 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 "" #. type: lisp #: guix-git/doc/guix.texi:28141 #, no-wrap msgid "(service laminar-service-type)\n" msgstr "(service openssh-service-type)\n" #. type: deftp #: guix-git/doc/guix.texi:28144 #, no-wrap msgid "{Data Type} laminar-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:28146 msgid "Data type representing the configuration of Laminar." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:28148 #, no-wrap msgid "@code{laminar} (default: @code{laminar})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28150 msgid "The Laminar package to use." msgstr "Используемый пакет Mumi." #. type: item #: guix-git/doc/guix.texi:28151 #, no-wrap msgid "@code{home-directory} (default: @code{\"/var/lib/laminar\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28153 msgid "The directory for job configurations and run directories." msgstr "" #. type: item #: guix-git/doc/guix.texi:28154 #, no-wrap msgid "@code{bind-http} (default: @code{\"*:8080\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28157 msgid "" "The interface/port or unix socket on which laminard should listen for " "incoming connections to the web frontend." msgstr "" #. type: item #: guix-git/doc/guix.texi:28158 #, no-wrap msgid "@code{bind-rpc} (default: @code{\"unix-abstract:laminar\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28161 msgid "" "The interface/port or unix socket on which laminard should listen for " "incoming commands such as build triggers." msgstr "" #. type: item #: guix-git/doc/guix.texi:28162 #, no-wrap msgid "@code{title} (default: @code{\"Laminar\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28164 msgid "The page title to show in the web frontend." msgstr "Сервис rottlog." #. type: item #: guix-git/doc/guix.texi:28165 #, no-wrap msgid "@code{keep-rundirs} (default: @code{0})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:28169 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 "" #. type: item #: guix-git/doc/guix.texi:28170 #, no-wrap msgid "@code{archive-url} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:28173 msgid "" "The web frontend served by laminard will use this URL to form links to " "artefacts archived jobs." msgstr "" #. type: item #: guix-git/doc/guix.texi:28174 #, no-wrap msgid "@code{base-url} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:28176 msgid "Base URL to use for links to laminar itself." msgstr "URI для использования в базе данных." #. type: cindex #: guix-git/doc/guix.texi:28183 #, no-wrap msgid "tlp" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:28184 #, no-wrap msgid "power management with TLP" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:28185 #, no-wrap msgid "TLP daemon" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28189 msgid "" "The @code{(gnu services pm)} module provides a Guix service definition for " "the Linux power management tool TLP." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28195 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 "" #. type: deffn #: guix-git/doc/guix.texi:28196 #, no-wrap msgid "{Scheme Variable} tlp-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:28200 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 "" #. type: lisp #: guix-git/doc/guix.texi:28205 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:28213 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 @code{'disabled}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28223 msgid "Available @code{tlp-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28224 #, no-wrap msgid "{@code{tlp-configuration} parameter} package tlp" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28226 msgid "The TLP package." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28229 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean tlp-enable?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28231 msgid "Set to true if you wish to enable TLP." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28236 #, no-wrap msgid "{@code{tlp-configuration} parameter} string tlp-default-mode" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28239 msgid "" "Default mode when no power supply can be detected. Alternatives are AC and " "BAT." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28241 msgid "Defaults to @samp{\"AC\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28244 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28247 msgid "" "Number of seconds Linux kernel has to wait after the disk goes idle, before " "syncing on AC." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28252 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28254 msgid "Same as @code{disk-idle-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28256 msgid "Defaults to @samp{2}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28259 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28261 msgid "Dirty pages flushing periodicity, expressed in seconds." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28263 guix-git/doc/guix.texi:28486 #: guix-git/doc/guix.texi:30701 guix-git/doc/guix.texi:30709 msgid "Defaults to @samp{15}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28266 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28268 msgid "Same as @code{max-lost-work-secs-on-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28270 msgid "Defaults to @samp{60}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28273 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28277 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28282 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28284 msgid "Same as @code{cpu-scaling-governor-on-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28289 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28291 msgid "Set the min available frequency for the scaling governor on AC." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28296 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28298 msgid "Set the max available frequency for the scaling governor on AC." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28303 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28305 msgid "Set the min available frequency for the scaling governor on BAT." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28310 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28312 msgid "Set the max available frequency for the scaling governor on BAT." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28317 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28320 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28325 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28328 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28333 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28335 msgid "Same as @code{cpu-min-perf-on-ac} on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28340 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28342 msgid "Same as @code{cpu-max-perf-on-ac} on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28347 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-ac?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28349 msgid "Enable CPU turbo boost feature on AC mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28354 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-bat?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28356 msgid "Same as @code{cpu-boost-on-ac?} on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28361 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-ac?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28364 msgid "" "Allow Linux kernel to minimize the number of CPU cores/hyper-threads used " "under light load conditions." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28369 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-bat?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28371 msgid "Same as @code{sched-powersave-on-ac?} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28376 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean nmi-watchdog?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28378 msgid "Enable Linux kernel NMI watchdog." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28383 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-string phc-controls" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28386 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28391 #, no-wrap msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28394 msgid "" "Set CPU performance versus energy saving policy on AC@. Alternatives are " "performance, normal, powersave." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28396 guix-git/doc/guix.texi:28494 #: guix-git/doc/guix.texi:28524 msgid "Defaults to @samp{\"performance\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28399 #, no-wrap msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28401 msgid "Same as @code{energy-perf-policy-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28403 guix-git/doc/guix.texi:28501 msgid "Defaults to @samp{\"powersave\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28406 #, no-wrap msgid "{@code{tlp-configuration} parameter} space-separated-string-list disks-devices" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28408 msgid "Hard disk devices." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28411 #, no-wrap msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28413 msgid "Hard disk advanced power management level." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28416 #, no-wrap msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28418 msgid "Same as @code{disk-apm-bat} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28421 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28424 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:28429 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28431 msgid "Same as @code{disk-spindown-timeout-on-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28436 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-iosched" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28440 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28445 #, no-wrap msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28448 msgid "" "SATA aggressive link power management (ALPM) level. Alternatives are " "min_power, medium_power, max_performance." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28450 msgid "Defaults to @samp{\"max_performance\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28453 #, no-wrap msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28455 msgid "Same as @code{sata-linkpwr-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28457 msgid "Defaults to @samp{\"min_power\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28460 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-string sata-linkpwr-blacklist" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28462 msgid "Exclude specified SATA host devices for link power management." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28467 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-ac?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28470 msgid "" "Enable Runtime Power Management for AHCI controller and disks on AC mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28475 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-bat?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28477 msgid "Same as @code{ahci-runtime-pm-on-ac} on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28482 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer ahci-runtime-pm-timeout" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28484 msgid "Seconds of inactivity before disk is suspended." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28489 #, no-wrap msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28492 msgid "" "PCI Express Active State Power Management level. Alternatives are default, " "performance, powersave." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28497 #, no-wrap msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28499 msgid "Same as @code{pcie-aspm-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28504 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28507 msgid "" "Radeon graphics clock speed level. Alternatives are low, mid, high, auto, " "default." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28509 msgid "Defaults to @samp{\"high\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28512 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28514 msgid "Same as @code{radeon-power-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28516 msgid "Defaults to @samp{\"low\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28519 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28522 msgid "" "Radeon dynamic power management method (DPM). Alternatives are battery, " "performance." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28527 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28529 msgid "Same as @code{radeon-dpm-state-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28531 msgid "Defaults to @samp{\"battery\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28534 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28536 msgid "Radeon DPM performance level. Alternatives are auto, low, high." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28538 guix-git/doc/guix.texi:28545 #: guix-git/doc/guix.texi:28619 msgid "Defaults to @samp{\"auto\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28541 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28543 msgid "Same as @code{radeon-dpm-perf-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28548 #, no-wrap msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-ac?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28550 msgid "Wifi power saving mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28555 #, no-wrap msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-bat?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28557 msgid "Same as @code{wifi-power-ac?} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28562 #, no-wrap msgid "{@code{tlp-configuration} parameter} y-n-boolean wol-disable?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28564 msgid "Disable wake on LAN." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28569 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28572 msgid "" "Timeout duration in seconds before activating audio power saving on Intel " "HDA and AC97 devices. A value of 0 disables power saving." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28577 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28579 msgid "Same as @code{sound-powersave-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28584 #, no-wrap msgid "{@code{tlp-configuration} parameter} y-n-boolean sound-power-save-controller?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28586 msgid "Disable controller in powersaving mode on Intel HDA devices." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28591 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean bay-poweroff-on-bat?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28595 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28600 #, no-wrap msgid "{@code{tlp-configuration} parameter} string bay-device" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28602 msgid "Name of the optical drive device to power off." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28604 msgid "Defaults to @samp{\"sr0\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28607 #, no-wrap msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-ac" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28610 msgid "" "Runtime Power Management for PCI(e) bus devices. Alternatives are on and " "auto." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28612 msgid "Defaults to @samp{\"on\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28615 #, no-wrap msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-bat" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28617 msgid "Same as @code{runtime-pm-ac} but on BAT mode." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28622 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean runtime-pm-all?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28625 msgid "" "Runtime Power Management for all PCI(e) bus devices, except blacklisted ones." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28630 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list runtime-pm-blacklist" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28632 msgid "" "Exclude specified PCI(e) device addresses from Runtime Power Management." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28637 #, no-wrap msgid "{@code{tlp-configuration} parameter} space-separated-string-list runtime-pm-driver-blacklist" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28640 msgid "" "Exclude PCI(e) devices assigned to the specified drivers from Runtime Power " "Management." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28643 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean usb-autosuspend?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28645 msgid "Enable USB autosuspend feature." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28650 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-string usb-blacklist" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28652 msgid "Exclude specified devices from USB autosuspend." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28657 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean usb-blacklist-wwan?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28659 msgid "Exclude WWAN devices from USB autosuspend." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28664 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-string usb-whitelist" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28667 msgid "" "Include specified devices into USB autosuspend, even if they are already " "excluded by the driver or via @code{usb-blacklist-wwan?}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28672 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-boolean usb-autosuspend-disable-on-shutdown?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28674 msgid "Enable USB autosuspend before shutdown." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28679 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean restore-device-state-on-startup?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28682 msgid "" "Restore radio device state (bluetooth, wifi, wwan) from previous shutdown on " "system startup." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:28687 #, no-wrap msgid "thermald" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:28688 #, no-wrap msgid "CPU frequency scaling with thermald" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:28689 #, no-wrap msgid "Thermald daemon" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28693 msgid "" "The @code{(gnu services pm)} module provides an interface to thermald, a CPU " "frequency scaling service which helps prevent overheating." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:28694 #, no-wrap msgid "{Scheme Variable} thermald-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:28699 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 "" #. type: deftp #: guix-git/doc/guix.texi:28701 #, no-wrap msgid "{Data Type} thermald-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:28703 msgid "" "Data type representing the configuration of @code{thermald-service-type}." msgstr "" #. type: item #: guix-git/doc/guix.texi:28705 #, no-wrap msgid "@code{ignore-cpuid-check?} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28707 msgid "Ignore cpuid check for supported CPU models." msgstr "" #. type: item #: guix-git/doc/guix.texi:28708 #, no-wrap msgid "@code{thermald} (default: @var{thermald})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28710 msgid "Package object of thermald." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28719 msgid "" "The @code{(gnu services audio)} module provides a service to start MPD (the " "Music Player Daemon)." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:28720 #, no-wrap msgid "mpd" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:28721 #, no-wrap msgid "Music Player Daemon" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28726 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 "" #. type: Plain text #: guix-git/doc/guix.texi:28729 msgid "" "The following example shows how one might run @code{mpd} as user @code{\"bob" "\"} on port @code{6666}. It uses pulseaudio for output." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:28735 #, no-wrap msgid "" "(service mpd-service-type\n" " (mpd-configuration\n" " (user \"bob\")\n" " (port \"6666\")))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:28737 #, no-wrap msgid "{Scheme Variable} mpd-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:28739 msgid "The service type for @command{mpd}" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:28741 #, no-wrap msgid "{Data Type} mpd-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:28743 msgid "Data type representing the configuration of @command{mpd}." msgstr "" #. type: item #: guix-git/doc/guix.texi:28745 #, no-wrap msgid "@code{user} (default: @code{\"mpd\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28747 msgid "The user to run mpd as." msgstr "" #. type: item #: guix-git/doc/guix.texi:28748 #, no-wrap msgid "@code{music-dir} (default: @code{\"~/Music\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28750 msgid "The directory to scan for music files." msgstr "" #. type: item #: guix-git/doc/guix.texi:28751 #, no-wrap msgid "@code{playlist-dir} (default: @code{\"~/.mpd/playlists\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28753 msgid "The directory to store playlists." msgstr "" #. type: item #: guix-git/doc/guix.texi:28754 #, no-wrap msgid "@code{db-file} (default: @code{\"~/.mpd/tag_cache\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28756 msgid "The location of the music database." msgstr "" #. type: item #: guix-git/doc/guix.texi:28757 #, no-wrap msgid "@code{state-file} (default: @code{\"~/.mpd/state\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28759 msgid "The location of the file that stores current MPD's state." msgstr "" #. type: item #: guix-git/doc/guix.texi:28760 #, no-wrap msgid "@code{sticker-file} (default: @code{\"~/.mpd/sticker.sql\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28762 msgid "The location of the sticker database." msgstr "" #. type: item #: guix-git/doc/guix.texi:28763 #, no-wrap msgid "@code{port} (default: @code{\"6600\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28765 msgid "The port to run mpd on." msgstr "" #. type: item #: guix-git/doc/guix.texi:28766 #, no-wrap msgid "@code{address} (default: @code{\"any\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:28769 msgid "" "The address that mpd will bind to. To use a Unix domain socket, an absolute " "path can be specified here." msgstr "" #. type: item #: guix-git/doc/guix.texi:28770 #, no-wrap msgid "@code{outputs} (default: @code{\"(list (mpd-output))\"})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:28772 msgid "" "The audio outputs that MPD can use. By default this is a single output " "using pulseaudio." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:28776 #, no-wrap msgid "{Data Type} mpd-output" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:28778 msgid "Data type representing an @command{mpd} audio output." msgstr "" #. type: item #: guix-git/doc/guix.texi:28780 #, no-wrap msgid "@code{name} (default: @code{\"MPD\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28782 msgid "The name of the audio output." msgstr "" #. type: item #: guix-git/doc/guix.texi:28783 #, no-wrap msgid "@code{type} (default: @code{\"pulse\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28785 msgid "The type of audio output." msgstr "" #. type: item #: guix-git/doc/guix.texi:28786 #, no-wrap msgid "@code{enabled?} (default: @code{#t})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:28791 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 "" #. type: item #: guix-git/doc/guix.texi:28792 #, no-wrap msgid "@code{tags?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28796 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 "" #. type: item #: guix-git/doc/guix.texi:28797 #, no-wrap msgid "@code{always-on?} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:28801 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:28802 #, no-wrap msgid "mixer-type" msgstr "" #. type: table #: guix-git/doc/guix.texi:28808 msgid "" "This field accepts a symbol 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})." msgstr "" #. type: table #: guix-git/doc/guix.texi:28812 msgid "" "An association list of option symbols to string values to be appended to the " "audio output configuration." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28818 msgid "" "The following example shows a configuration of @code{mpd} that provides an " "HTTP audio streaming output." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:28830 #, 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" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28839 msgid "" "The @code{(gnu services virtualization)} module provides services for the " "libvirt and virtlog daemons, as well as other virtualization-related " "services." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:28840 #, no-wrap msgid "Libvirt daemon" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28845 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." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:28846 #, no-wrap msgid "{Scheme Variable} libvirt-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:28849 msgid "" "This is the type of the @uref{https://libvirt.org, libvirt daemon}. Its " "value must be a @code{libvirt-configuration}." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:28855 #, no-wrap msgid "" "(service libvirt-service-type\n" " (libvirt-configuration\n" " (unix-sock-group \"libvirt\")\n" " (tls-port \"16555\")))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:28860 msgid "Available @code{libvirt-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28861 #, no-wrap msgid "{@code{libvirt-configuration} parameter} package libvirt" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28863 msgid "Libvirt package." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28866 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean listen-tls?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28869 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28872 msgid "" "It is necessary to setup a CA and issue server certificates before using " "this capability." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28877 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean listen-tcp?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28880 msgid "" "Listen for unencrypted TCP connections on the public TCP/IP port. You must " "set @code{listen} for this to have any effect." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28884 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28889 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string tls-port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28892 msgid "" "Port for accepting secure TLS connections. This can be a port number, or " "service name." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28894 msgid "Defaults to @samp{\"16514\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28897 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string tcp-port" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28900 msgid "" "Port for accepting insecure TCP connections. This can be a port number, or " "service name." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28902 msgid "Defaults to @samp{\"16509\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28905 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string listen-addr" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28907 msgid "IP address or hostname used for client connections." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28912 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean mdns-adv?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28914 msgid "Flag toggling mDNS advertisement of the libvirt service." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28917 msgid "" "Alternatively can disable for all services on a host by stopping the Avahi " "daemon." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28922 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string mdns-name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28925 msgid "" "Default mDNS advertisement name. This must be unique on the immediate " "broadcast network." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28927 msgid "Defaults to @samp{\"Virtualization Host \"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28930 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string unix-sock-group" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28934 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28939 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string unix-sock-ro-perms" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28942 msgid "" "UNIX socket permissions for the R/O socket. This is used for monitoring VM " "status only." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28944 guix-git/doc/guix.texi:28962 msgid "Defaults to @samp{\"0777\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28947 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string unix-sock-rw-perms" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28951 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28953 msgid "Defaults to @samp{\"0770\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28956 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string unix-sock-admin-perms" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28960 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28965 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string unix-sock-dir" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28967 msgid "The directory in which sockets will be found/created." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28969 msgid "Defaults to @samp{\"/var/run/libvirt\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28972 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string auth-unix-ro" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28975 msgid "" "Authentication scheme for UNIX read-only sockets. By default socket " "permissions allow anyone to connect" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28977 guix-git/doc/guix.texi:28986 msgid "Defaults to @samp{\"polkit\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28980 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string auth-unix-rw" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28984 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28989 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string auth-tcp" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28993 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:28995 msgid "Defaults to @samp{\"sasl\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:28998 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string auth-tls" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29002 msgid "" "Authentication scheme for TLS sockets. TLS sockets already have encryption " "provided by the TLS layer, and limited authentication is done by " "certificates." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29005 msgid "" "It is possible to make use of any SASL authentication mechanism as well, by " "using 'sasl' for this option" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29007 msgid "Defaults to @samp{\"none\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29010 #, no-wrap msgid "{@code{libvirt-configuration} parameter} optional-list access-drivers" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29012 msgid "API access control scheme." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29015 msgid "" "By default an authenticated user is allowed access to all APIs. Access " "drivers can place restrictions on this." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29020 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string key-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29023 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:29028 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string cert-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29031 msgid "" "Server key file path. If set to an empty string, then no certificate is " "loaded." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29036 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string ca-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29039 msgid "" "Server key file path. If set to an empty string, then no CA certificate is " "loaded." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29044 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string crl-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29047 msgid "" "Certificate revocation list path. If set to an empty string, then no CRL is " "loaded." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29052 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean tls-no-sanity-cert" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29054 msgid "Disable verification of our own server certificates." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29057 msgid "" "When libvirtd starts it performs some sanity checks against its own " "certificates." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29062 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean tls-no-verify-cert" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29064 msgid "Disable verification of client certificates." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29068 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:29073 #, no-wrap msgid "{@code{libvirt-configuration} parameter} optional-list tls-allowed-dn-list" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29075 msgid "Whitelist of allowed x509 Distinguished Name." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29080 #, no-wrap msgid "{@code{libvirt-configuration} parameter} optional-list sasl-allowed-usernames" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29083 msgid "" "Whitelist of allowed SASL usernames. The format for username depends on the " "SASL authentication mechanism." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29088 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string tls-priority" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29092 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:29094 msgid "Defaults to @samp{\"NORMAL\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29097 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-clients" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29100 guix-git/doc/guix.texi:29524 msgid "" "Maximum number of concurrent client connections to allow over all sockets " "combined." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29102 msgid "Defaults to @samp{5000}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29105 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-queued-clients" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29109 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:29114 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-anonymous-clients" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29117 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:29119 guix-git/doc/guix.texi:29137 #: guix-git/doc/guix.texi:29153 msgid "Defaults to @samp{20}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29122 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer min-workers" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29124 msgid "Number of workers to start up initially." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29129 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-workers" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29131 msgid "Maximum number of worker threads." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29135 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:29140 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer prio-workers" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29144 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:29149 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-requests" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29151 msgid "Total global limit on concurrent RPC calls." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29156 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-client-requests" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29160 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:29165 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-min-workers" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29167 msgid "Same as @code{min-workers} but for the admin interface." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29172 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-max-workers" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29174 msgid "Same as @code{max-workers} but for the admin interface." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29179 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-max-clients" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29181 msgid "Same as @code{max-clients} but for the admin interface." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29186 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-max-queued-clients" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29188 msgid "Same as @code{max-queued-clients} but for the admin interface." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29193 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-max-client-requests" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29195 msgid "Same as @code{max-client-requests} but for the admin interface." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29200 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer log-level" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29202 guix-git/doc/guix.texi:29426 msgid "Logging level. 4 errors, 3 warnings, 2 information, 1 debug." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29207 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string log-filters" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29209 guix-git/doc/guix.texi:29433 msgid "Logging filters." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29212 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:29216 guix-git/doc/guix.texi:29440 msgid "x:name" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:29219 guix-git/doc/guix.texi:29443 msgid "x:+name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29230 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 "" #. type: itemize #: guix-git/doc/guix.texi:29234 guix-git/doc/guix.texi:29279 #: guix-git/doc/guix.texi:29457 guix-git/doc/guix.texi:29502 msgid "1: DEBUG" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:29237 guix-git/doc/guix.texi:29282 #: guix-git/doc/guix.texi:29460 guix-git/doc/guix.texi:29505 msgid "2: INFO" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:29240 guix-git/doc/guix.texi:29285 #: guix-git/doc/guix.texi:29463 guix-git/doc/guix.texi:29508 msgid "3: WARNING" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:29243 guix-git/doc/guix.texi:29288 #: guix-git/doc/guix.texi:29466 guix-git/doc/guix.texi:29511 msgid "4: ERROR" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29248 guix-git/doc/guix.texi:29471 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:29250 guix-git/doc/guix.texi:29473 msgid "Defaults to @samp{\"3:remote 4:event\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29253 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string log-outputs" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29255 guix-git/doc/guix.texi:29478 msgid "Logging outputs." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29258 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:29260 guix-git/doc/guix.texi:29483 #, no-wrap msgid "x:stderr" msgstr "" #. type: table #: guix-git/doc/guix.texi:29262 guix-git/doc/guix.texi:29485 msgid "output goes to stderr" msgstr "" #. type: item #: guix-git/doc/guix.texi:29263 guix-git/doc/guix.texi:29486 #, no-wrap msgid "x:syslog:name" msgstr "" #. type: table #: guix-git/doc/guix.texi:29265 guix-git/doc/guix.texi:29488 msgid "use syslog for the output and use the given name as the ident" msgstr "" #. type: item #: guix-git/doc/guix.texi:29266 guix-git/doc/guix.texi:29489 #, no-wrap msgid "x:file:file_path" msgstr "" #. type: table #: guix-git/doc/guix.texi:29268 guix-git/doc/guix.texi:29491 msgid "output to a file, with the given filepath" msgstr "" #. type: item #: guix-git/doc/guix.texi:29269 guix-git/doc/guix.texi:29492 #, no-wrap msgid "x:journald" msgstr "" #. type: table #: guix-git/doc/guix.texi:29271 guix-git/doc/guix.texi:29494 msgid "output to journald logging system" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29275 guix-git/doc/guix.texi:29498 msgid "In all case the x prefix is the minimal level, acting as a filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29293 guix-git/doc/guix.texi:29516 msgid "" "Multiple outputs can be defined, they just need to be separated by spaces." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29295 guix-git/doc/guix.texi:29518 msgid "Defaults to @samp{\"3:stderr\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29298 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer audit-level" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29300 msgid "Allows usage of the auditing subsystem to be altered" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:29304 msgid "0: disable all auditing" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:29307 msgid "1: enable auditing, only if enabled on host" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:29310 msgid "2: enable auditing, and exit if disabled on host." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29317 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean audit-logging" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29319 msgid "Send audit messages via libvirt logging infrastructure." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29324 #, no-wrap msgid "{@code{libvirt-configuration} parameter} optional-string host-uuid" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29326 msgid "Host UUID@. UUID must not have all digits be the same." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29331 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string host-uuid-source" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29333 msgid "Source to read host UUID." msgstr "" #. type: itemize #: guix-git/doc/guix.texi:29337 msgid "@code{smbios}: fetch the UUID from @code{dmidecode -s system-uuid}" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:29340 msgid "@code{machine-id}: fetch the UUID from @code{/etc/machine-id}" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29345 msgid "" "If @code{dmidecode} does not provide a valid UUID a temporary UUID will be " "generated." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29347 msgid "Defaults to @samp{\"smbios\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29350 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer keepalive-interval" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29355 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:29360 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer keepalive-count" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29364 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:29371 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:29376 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-interval" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29378 guix-git/doc/guix.texi:29385 msgid "Same as above but for admin interface." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29383 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-count" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29390 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer ovs-timeout" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29392 msgid "Timeout for Open vSwitch calls." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29396 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:29403 #, no-wrap msgid "Virtlog daemon" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:29406 msgid "" "The virtlogd service is a server side daemon component of libvirt that is " "used to manage logs from virtual machine consoles." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:29412 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 "" #. type: deffn #: guix-git/doc/guix.texi:29413 #, no-wrap msgid "{Scheme Variable} virtlog-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:29416 msgid "" "This is the type of the virtlog daemon. Its value must be a @code{virtlog-" "configuration}." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:29421 #, no-wrap msgid "" "(service virtlog-service-type\n" " (virtlog-configuration\n" " (max-clients 1000)))\n" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29424 #, no-wrap msgid "{@code{virtlog-configuration} parameter} integer log-level" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29431 #, no-wrap msgid "{@code{virtlog-configuration} parameter} string log-filters" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29436 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:29453 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:29476 #, no-wrap msgid "{@code{virtlog-configuration} parameter} string log-outputs" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29481 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:29521 #, no-wrap msgid "{@code{virtlog-configuration} parameter} integer max-clients" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29526 msgid "Defaults to @samp{1024}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29529 #, no-wrap msgid "{@code{virtlog-configuration} parameter} integer max-size" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29531 msgid "Maximum file size before rolling over." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29533 msgid "Defaults to @samp{2MB}" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29536 #, no-wrap msgid "{@code{virtlog-configuration} parameter} integer max-backups" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29538 msgid "Maximum number of backup files to keep." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:29540 msgid "Defaults to @samp{3}" msgstr "" #. type: anchor{#1} #: guix-git/doc/guix.texi:29544 msgid "transparent-emulation-qemu" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:29544 #, no-wrap msgid "Transparent Emulation with QEMU" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:29546 #, no-wrap msgid "emulation" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:29547 #, no-wrap msgid "binfmt_misc" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:29555 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 "" #. type: defvr #: guix-git/doc/guix.texi:29556 #, no-wrap msgid "{Scheme Variable} qemu-binfmt-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:29561 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 "" #. type: lisp #: guix-git/doc/guix.texi:29566 #, 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: defvr #: guix-git/doc/guix.texi:29572 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 "" #. type: deftp #: guix-git/doc/guix.texi:29574 #, no-wrap msgid "{Data Type} qemu-binfmt-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:29576 msgid "This is the configuration for the @code{qemu-binfmt} service." msgstr "" #. type: item #: guix-git/doc/guix.texi:29578 #, no-wrap msgid "@code{platforms} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:29581 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 "" #. type: table #: guix-git/doc/guix.texi:29584 msgid "" "For example, let's suppose you're on an x86_64 machine and you have this " "service:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:29589 #, 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\" \"aarch64\"))))\n" #. type: table #: guix-git/doc/guix.texi:29592 msgid "You can run:" msgstr "" #. type: example #: guix-git/doc/guix.texi:29595 #, no-wrap msgid "guix build -s armhf-linux inkscape\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:29602 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 "" #. type: item #: guix-git/doc/guix.texi:29603 #, no-wrap msgid "@code{qemu} (default: @code{qemu})" msgstr "" #. type: table #: guix-git/doc/guix.texi:29605 guix-git/doc/guix.texi:29699 msgid "The QEMU package to use." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:29608 #, no-wrap msgid "{Scheme Procedure} lookup-qemu-platforms @var{platforms}@dots{}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:29613 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 "" #. type: deffn #: guix-git/doc/guix.texi:29615 #, no-wrap msgid "{Scheme Procedure} qemu-platform? @var{obj}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:29617 msgid "Return true if @var{obj} is a platform object." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:29619 #, no-wrap msgid "{Scheme Procedure} qemu-platform-name @var{platform}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:29621 msgid "Return the name of @var{platform}---a string such as @code{\"arm\"}." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:29624 #, no-wrap msgid "The Hurd in a Virtual Machine" msgstr "Установка Guix на виртуальную машину (VM)" #. type: cindex #: guix-git/doc/guix.texi:29627 #, no-wrap msgid "the Hurd" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:29628 #, no-wrap msgid "childhurd" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:29636 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 "" #. type: example #: guix-git/doc/guix.texi:29640 #, no-wrap msgid "" "herd start hurd-vm\n" "herd stop childhurd\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:29644 msgid "" "When the service is running, you can view its console by connecting to it " "with a VNC client, for example with:" msgstr "" #. type: example #: guix-git/doc/guix.texi:29648 #, no-wrap msgid "" "guix environment --ad-hoc tigervnc-client -- \\\n" " vncviewer localhost:5900\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:29654 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 10222 on the host. Thus, you can " "connect over SSH to the childhurd with:" msgstr "" #. type: example #: guix-git/doc/guix.texi:29657 #, no-wrap msgid "ssh root@@localhost -p 10022\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:29666 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 "" #. type: defvr #: guix-git/doc/guix.texi:29667 #, no-wrap msgid "{Scheme Variable} hurd-vm-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:29673 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 "" #. type: lisp #: guix-git/doc/guix.texi:29681 #, 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 "" #. type: defvr #: guix-git/doc/guix.texi:29685 msgid "" "would create a disk image big enough to build GNU@tie{}Hello, with some " "extra memory." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:29687 #, no-wrap msgid "{Data Type} hurd-vm-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:29690 msgid "" "The data type representing the configuration for @code{hurd-vm-service-type}." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:29692 #, no-wrap msgid "@code{os} (default: @var{%hurd-vm-operating-system})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:29696 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 "" #. type: item #: guix-git/doc/guix.texi:29697 #, no-wrap msgid "@code{qemu} (default: @code{qemu-minimal})" msgstr "@code{port} (default: @code{22})" #. type: item #: guix-git/doc/guix.texi:29700 #, no-wrap msgid "@code{image} (default: @var{hurd-vm-disk-image})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:29703 msgid "" "The procedure used to build the disk-image built from this configuration." msgstr "" #. type: item #: guix-git/doc/guix.texi:29704 #, no-wrap msgid "@code{disk-size} (default: @code{'guess})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:29706 msgid "The size of the disk image." msgstr "Лицензия этого руководства." #. type: item #: guix-git/doc/guix.texi:29707 #, no-wrap msgid "@code{memory-size} (default: @code{512})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:29709 msgid "The memory size of the Virtual Machine in mebibytes." msgstr "" #. type: item #: guix-git/doc/guix.texi:29710 #, no-wrap msgid "@code{options} (default: @code{'(\"--snapshot\")})" msgstr "@code{outputs} (default: @code{'(\"out\")})" #. type: table #: guix-git/doc/guix.texi:29712 msgid "The extra options for running QEMU." msgstr "" #. type: table #: guix-git/doc/guix.texi:29717 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 "" #. type: item #: guix-git/doc/guix.texi:29718 #, no-wrap msgid "@code{net-options} (default: @var{hurd-vm-net-options})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:29720 msgid "The procedure used to produce the list of QEMU networking options." msgstr "" #. type: table #: guix-git/doc/guix.texi:29722 msgid "By default, it produces" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:29730 #, 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 "" #. type: table #: guix-git/doc/guix.texi:29733 msgid "with forwarded ports:" msgstr "" #. type: example #: guix-git/doc/guix.texi:29738 #, 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 "" #. type: item #: guix-git/doc/guix.texi:29740 #, no-wrap msgid "@code{secret-root} (default: @file{/etc/childhurd})" msgstr "@code{private-key} (default: @file{~root/.ssh/id_rsa})" #. type: table #: guix-git/doc/guix.texi:29745 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 "" #. type: table #: guix-git/doc/guix.texi:29749 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 "" #. type: table #: guix-git/doc/guix.texi:29752 msgid "" "By default, the service automatically populates @file{/etc/childhurd} with " "the following non-volatile secrets, unless they already exist:" msgstr "" #. type: example #: guix-git/doc/guix.texi:29761 #, 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/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 "" #. type: table #: guix-git/doc/guix.texi:29765 msgid "" "These files are automatically sent to the guest Hurd VM when it boots, " "including permissions." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:29766 #, no-wrap msgid "childhurd, offloading" msgstr "разгрузка" #. type: cindex #: guix-git/doc/guix.texi:29767 #, no-wrap msgid "Hurd, offloading" msgstr "разгрузка" #. type: table #: guix-git/doc/guix.texi:29771 msgid "" "Having these files in place means that only a couple of things are missing " "to allow the host to offload @code{i586-gnu} builds to the childhurd:" msgstr "" #. type: enumerate #: guix-git/doc/guix.texi:29776 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:" msgstr "" #. type: example #: guix-git/doc/guix.texi:29780 #, 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" #. type: enumerate #: guix-git/doc/guix.texi:29785 msgid "" "Adding the childhurd to @file{/etc/guix/machines.scm} (@pxref{Daemon Offload " "Setup})." msgstr "" #. type: table #: guix-git/doc/guix.texi:29789 msgid "" "We're working towards making that happen automatically---get in touch with " "us at @email{guix-devel@@gnu.org} to discuss it!" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:29796 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 "" #. type: lisp #: guix-git/doc/guix.texi:29802 #, 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:29804 #, no-wrap msgid "Ganeti" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:29806 #, no-wrap msgid "ganeti" msgstr "" #. type: quotation #: guix-git/doc/guix.texi:29813 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 "" #. type: Plain text #: guix-git/doc/guix.texi:29823 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{operating-system Reference, @code{hosts-" "file}}) with the cluster name and address (or use a DNS server)." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:29828 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 "" #. type: lisp #: guix-git/doc/guix.texi:29838 #, 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" " (hosts-file (plain-file \"hosts\" (format #f \"\n" "127.0.0.1 localhost\n" "::1 localhost\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:29843 #, no-wrap msgid "" "192.168.1.200 ganeti.example.com\n" "192.168.1.201 node1.example.com node1\n" "192.168.1.202 node2.example.com node2\n" "\")))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:29857 #, 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 (static-networking-service \"eth0\" \"192.168.1.201\"\n" " #:netmask \"255.255.255.0\"\n" " #:gateway \"192.168.1.254\"\n" " #:name-servers '(\"192.168.1.252\"\n" " \"192.168.1.253\"))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:29862 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:29872 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:29880 msgid "" "Users are advised to read the @url{http://docs.ganeti.org/ganeti/master/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 "" #. type: defvr #: guix-git/doc/guix.texi:29881 #, no-wrap msgid "{Scheme Variable} ganeti-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:29884 msgid "" "This is a service type that includes all the various services that Ganeti " "nodes should run." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:29889 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 "" #. type: deftp #: guix-git/doc/guix.texi:29891 #, no-wrap msgid "{Data Type} ganeti-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:29893 msgid "The @code{ganeti} service takes the following configuration options:" msgstr "" "Модуль @code{(guix inferior)} предоставляет следующие процедуры для работы с " "ранними версиями:" #. type: item #: guix-git/doc/guix.texi:29895 guix-git/doc/guix.texi:30123 #: guix-git/doc/guix.texi:30173 guix-git/doc/guix.texi:30203 #: guix-git/doc/guix.texi:30230 guix-git/doc/guix.texi:30262 #: guix-git/doc/guix.texi:30315 guix-git/doc/guix.texi:30335 #: guix-git/doc/guix.texi:30361 guix-git/doc/guix.texi:30394 #: guix-git/doc/guix.texi:30434 #, no-wrap msgid "@code{ganeti} (default: @code{ganeti})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:29900 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 "" #. type: item #: guix-git/doc/guix.texi:29901 #, no-wrap msgid "@code{noded-configuration} (default: @code{(ganeti-noded-configuration)})" msgstr "@code{port} (default: @code{22})" #. type: itemx #: guix-git/doc/guix.texi:29902 #, no-wrap msgid "@code{confd-configuration} (default: @code{(ganeti-confd-configuration)})" msgstr "@code{port} (default: @code{22})" #. type: itemx #: guix-git/doc/guix.texi:29903 #, no-wrap msgid "@code{wconfd-configuration} (default: @code{(ganeti-wconfd-configuration)})" msgstr "@code{port} (default: @code{22})" #. type: itemx #: guix-git/doc/guix.texi:29904 #, no-wrap msgid "@code{luxid-configuration} (default: @code{(ganeti-luxid-configuration)})" msgstr "@code{port} (default: @code{22})" #. type: itemx #: guix-git/doc/guix.texi:29905 #, no-wrap msgid "@code{rapi-configuration} (default: @code{(ganeti-rapi-configuration)})" msgstr "@code{port} (default: @code{22})" #. type: itemx #: guix-git/doc/guix.texi:29906 #, no-wrap msgid "@code{kvmd-configuration} (default: @code{(ganeti-kvmd-configuration)})" msgstr "@code{port} (default: @code{22})" #. type: itemx #: guix-git/doc/guix.texi:29907 #, no-wrap msgid "@code{mond-configuration} (default: @code{(ganeti-mond-configuration)})" msgstr "@code{port} (default: @code{22})" #. type: itemx #: guix-git/doc/guix.texi:29908 #, no-wrap msgid "@code{metad-configuration} (default: @code{(ganeti-metad-configuration)})" msgstr "@code{port} (default: @code{22})" #. type: itemx #: guix-git/doc/guix.texi:29909 #, no-wrap msgid "@code{watcher-configuration} (default: @code{(ganeti-watcher-configuration)})" msgstr "@code{port} (default: @code{22})" #. type: itemx #: guix-git/doc/guix.texi:29910 #, no-wrap msgid "@code{cleaner-configuration} (default: @code{(ganeti-cleaner-configuration)})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:29915 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 "" #. type: lisp #: guix-git/doc/guix.texi:29925 #, 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 "" #. type: item #: guix-git/doc/guix.texi:29927 #, no-wrap msgid "@code{file-storage-paths} (default: @code{'()})" msgstr "@code{native-search-paths} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:29929 msgid "List of allowed directories for file storage backend." msgstr "" #. type: item #: guix-git/doc/guix.texi:29930 #, no-wrap msgid "@code{os} (default: @code{%default-ganeti-os})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:29932 msgid "List of @code{} records." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:29936 msgid "" "In essence @code{ganeti-service-type} is shorthand for declaring each " "service individually:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:29947 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:29951 msgid "" "Plus a service extension for @code{etc-service-type} that configures the " "file storage backend and OS variants." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:29954 #, no-wrap msgid "{Data Type} ganeti-os" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:29957 msgid "" "This data type is suitable for passing to the @code{os} parameter of " "@code{ganeti-configuration}. It takes the following parameters:" msgstr "" #. type: table #: guix-git/doc/guix.texi:29963 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:29964 #, no-wrap msgid "extension" msgstr "версия" #. type: table #: guix-git/doc/guix.texi:29967 msgid "" "The file extension for variants of this OS type. For example @file{.conf} " "or @file{.scm}." msgstr "" #. type: item #: guix-git/doc/guix.texi:29968 #, no-wrap msgid "@code{variants} (default: @code{'()})" msgstr "@code{inputs} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:29970 msgid "List of @code{ganeti-os-variant} objects for this OS." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:29974 #, no-wrap msgid "{Data Type} ganeti-os-variant" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:29977 msgid "" "This is the data type for a Ganeti OS variant. It takes the following " "parameters:" msgstr "" #. type: table #: guix-git/doc/guix.texi:29981 msgid "The name of this variant." msgstr "Лицензия этого руководства." #. type: code{#1} #: guix-git/doc/guix.texi:29982 #, no-wrap msgid "configuration" msgstr "Конфигурирование системы" #. type: table #: guix-git/doc/guix.texi:29984 msgid "A configuration file for this variant." msgstr "Файл конфигурации для этого варианта." #. type: defvr #: guix-git/doc/guix.texi:29987 #, no-wrap msgid "{Scheme Variable} %default-debootstrap-hooks" msgstr "{Scheme Variable} ant-build-system" #. type: defvr #: guix-git/doc/guix.texi:29989 msgid "" "This variable contains hooks to configure networking and the GRUB bootloader." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:29991 #, no-wrap msgid "{Scheme Variable} %default-debootstrap-extra-pkgs" msgstr "{Scheme Variable} ant-build-system" #. type: defvr #: guix-git/doc/guix.texi:29993 msgid "" "This variable contains a list of packages suitable for a fully-virtualized " "guest." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:29995 #, no-wrap msgid "{Data Type} debootstrap-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:29998 msgid "" "This data type creates configuration files suitable for the debootstrap OS " "provider." msgstr "" #. type: item #: guix-git/doc/guix.texi:30000 #, no-wrap msgid "@code{hooks} (default: @code{%default-debootstrap-hooks})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30004 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 "" #. type: lisp #: guix-git/doc/guix.texi:30007 #, no-wrap msgid "`((99-hello-world . ,(plain-file \"#!/bin/sh\\necho Hello, World\")))\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:30012 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 "" #. type: item #: guix-git/doc/guix.texi:30012 #, no-wrap msgid "@code{proxy} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30014 msgid "Optional HTTP proxy to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:30014 #, no-wrap msgid "@code{mirror} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:30017 msgid "" "The Debian mirror. Typically something like @code{http://ftp.no.debian.org/" "debian}. The default varies depending on the distribution." msgstr "" #. type: item #: guix-git/doc/guix.texi:30017 #, no-wrap msgid "@code{arch} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:30020 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 "" #. type: item #: guix-git/doc/guix.texi:30020 #, no-wrap msgid "@code{suite} (default: @code{\"stable\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30023 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 "" #. type: item #: guix-git/doc/guix.texi:30023 #, no-wrap msgid "@code{extra-pkgs} (default: @code{%default-debootstrap-extra-pkgs})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30026 msgid "" "List of extra packages that will get installed by dpkg in addition to the " "minimal system." msgstr "" #. type: item #: guix-git/doc/guix.texi:30026 #, no-wrap msgid "@code{components} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:30029 msgid "" "When set, must be a list of Debian repository ``components''. For example " "@code{'(\"main\" \"contrib\")}." msgstr "" #. type: item #: guix-git/doc/guix.texi:30029 #, no-wrap msgid "@code{generate-cache?} (default: @code{#t})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:30031 msgid "Whether to automatically cache the generated debootstrap archive." msgstr "" #. type: item #: guix-git/doc/guix.texi:30031 #, no-wrap msgid "@code{clean-cache} (default: @code{14})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30034 msgid "" "Discard the cache after this amount of days. Use @code{#f} to never clear " "the cache." msgstr "" #. type: item #: guix-git/doc/guix.texi:30034 #, no-wrap msgid "@code{partition-style} (default: @code{'msdos})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:30037 msgid "" "The type of partition to create. When set, it must be one of @code{'msdos}, " "@code{'none} or a string." msgstr "" #. type: item #: guix-git/doc/guix.texi:30037 #, no-wrap msgid "@code{partition-alignment} (default: @code{2048})" msgstr "@code{arguments} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:30039 msgid "Alignment of the partition in sectors." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:30042 #, no-wrap msgid "{Scheme Procedure} debootstrap-variant @var{name} @var{configuration}" msgstr "{Процедура Scheme} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:30045 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 "" #. type: deffn #: guix-git/doc/guix.texi:30047 #, no-wrap msgid "{Scheme Procedure} debootstrap-os @var{variants}@dots{}" msgstr "{Процедура Scheme} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:30050 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 "" #. type: deffn #: guix-git/doc/guix.texi:30052 #, no-wrap msgid "{Scheme Procedure} guix-variant @var{name} @var{configuration}" msgstr "{Процедура Scheme} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:30057 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 "" #. type: deffn #: guix-git/doc/guix.texi:30059 #, no-wrap msgid "{Scheme Procedure} guix-os @var{variants}@dots{}" msgstr "{Процедура Scheme} lookup-inferior-packages @var{inferior} @var{name} @" #. type: deffn #: guix-git/doc/guix.texi:30062 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 "" #. type: defvr #: guix-git/doc/guix.texi:30064 #, no-wrap msgid "{Scheme Variable} %default-debootstrap-variants" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:30068 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 "" #. type: lisp #: guix-git/doc/guix.texi:30073 #, no-wrap msgid "" "(list (debootstrap-variant\n" " \"default\"\n" " (debootstrap-configuration)))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:30076 #, no-wrap msgid "{Scheme Variable} %default-guix-variants" msgstr "{Scheme Variable} ant-build-system" #. type: defvr #: guix-git/doc/guix.texi:30080 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 "" #. type: lisp #: guix-git/doc/guix.texi:30086 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:30092 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 "" #. type: lisp #: guix-git/doc/guix.texi:30101 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:30106 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 "" #. type: Plain text #: guix-git/doc/guix.texi:30109 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 "" #. type: Plain text #: guix-git/doc/guix.texi:30112 msgid "" "The rest of this section documents the various services that are included by " "@code{ganeti-service-type}." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:30113 #, no-wrap msgid "{Scheme Variable} ganeti-noded-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:30117 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 "" #. type: deftp #: guix-git/doc/guix.texi:30119 #, no-wrap msgid "{Data Type} ganeti-noded-configuration" msgstr "{Data Type} pagekite-configuration" #. type: deftp #: guix-git/doc/guix.texi:30121 msgid "This is the configuration for the @code{ganeti-noded} service." msgstr "" #. type: table #: guix-git/doc/guix.texi:30125 guix-git/doc/guix.texi:30175 #: guix-git/doc/guix.texi:30205 guix-git/doc/guix.texi:30232 #: guix-git/doc/guix.texi:30264 guix-git/doc/guix.texi:30317 #: guix-git/doc/guix.texi:30337 guix-git/doc/guix.texi:30363 #: guix-git/doc/guix.texi:30396 msgid "The @code{ganeti} package to use for this service." msgstr "Пакет @code{ganeti} для использования в этой службе." #. type: item #: guix-git/doc/guix.texi:30126 #, no-wrap msgid "@code{port} (default: @code{1811})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30128 msgid "The TCP port on which the node daemon listens for network requests." msgstr "" #. type: item #: guix-git/doc/guix.texi:30129 guix-git/doc/guix.texi:30179 #: guix-git/doc/guix.texi:30271 guix-git/doc/guix.texi:30341 #, no-wrap msgid "@code{address} (default: @code{\"0.0.0.0\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:30132 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:30136 msgid "" "When this is set, it must be a specific network interface (e.g.@: " "@code{eth0}) that the daemon will bind to." msgstr "" #. type: item #: guix-git/doc/guix.texi:30137 guix-git/doc/guix.texi:30279 #, no-wrap msgid "@code{max-clients} (default: @code{20})" msgstr "@code{inputs} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:30141 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:30142 guix-git/doc/guix.texi:30284 #, no-wrap msgid "@code{ssl?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30146 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 "" #. type: item #: guix-git/doc/guix.texi:30147 guix-git/doc/guix.texi:30287 #, no-wrap msgid "@code{ssl-key} (default: @file{\"/var/lib/ganeti/server.pem\"})" msgstr "@code{daemon-socket} (default: @code{\"/var/guix/daemon-socket/socket\"})" #. type: table #: guix-git/doc/guix.texi:30149 guix-git/doc/guix.texi:30289 msgid "" "This can be used to provide a specific encryption key for TLS communications." msgstr "" #. type: item #: guix-git/doc/guix.texi:30150 guix-git/doc/guix.texi:30290 #, no-wrap msgid "@code{ssl-cert} (default: @file{\"/var/lib/ganeti/server.pem\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:30152 guix-git/doc/guix.texi:30292 msgid "" "This can be used to provide a specific certificate for TLS communications." msgstr "" #. type: table #: guix-git/doc/guix.texi:30156 guix-git/doc/guix.texi:30296 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: defvr #: guix-git/doc/guix.texi:30160 #, no-wrap msgid "{Scheme Variable} ganeti-confd-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:30166 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 "" #. type: deftp #: guix-git/doc/guix.texi:30169 #, no-wrap msgid "{Data Type} ganeti-confd-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:30171 msgid "This is the configuration for the @code{ganeti-confd} service." msgstr "" #. type: item #: guix-git/doc/guix.texi:30176 #, no-wrap msgid "@code{port} (default: @code{1814})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30178 msgid "The UDP port on which to listen for network requests." msgstr "" #. type: table #: guix-git/doc/guix.texi:30181 msgid "Network address that the daemon will bind to." msgstr "" #. type: table #: guix-git/doc/guix.texi:30184 guix-git/doc/guix.texi:30213 #: guix-git/doc/guix.texi:30240 guix-git/doc/guix.texi:30320 #: guix-git/doc/guix.texi:30347 guix-git/doc/guix.texi:30373 msgid "" "When true, the daemon performs additional logging for debugging purposes." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:30188 #, no-wrap msgid "{Scheme Variable} ganeti-wconfd-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:30194 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 "" #. type: defvr #: guix-git/doc/guix.texi:30197 msgid "" "The value of this service must be a @code{ganeti-wconfd-configuration} " "object." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:30199 #, no-wrap msgid "{Data Type} ganeti-wconfd-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:30201 msgid "This is the configuration for the @code{ganeti-wconfd} service." msgstr "" #. type: item #: guix-git/doc/guix.texi:30206 guix-git/doc/guix.texi:30233 #, no-wrap msgid "@code{no-voting?} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30210 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 "" #. type: defvr #: guix-git/doc/guix.texi:30217 #, no-wrap msgid "{Scheme Variable} ganeti-luxid-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:30222 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 "" #. type: defvr #: guix-git/doc/guix.texi:30224 msgid "It takes a @code{ganeti-luxid-configuration} object." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:30226 #, no-wrap msgid "{Data Type} ganeti-luxid-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:30228 #, fuzzy #| msgid "" #| "This is the data type representing the configuration for the hurd-getty-" #| "service." msgid "This is the configuration for the @code{ganeti-luxid} service." msgstr "Управление конфигурацией операционной системы." #. type: table #: guix-git/doc/guix.texi:30237 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 "" #. type: defvr #: guix-git/doc/guix.texi:30244 #, no-wrap msgid "{Scheme Variable} ganeti-rapi-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:30248 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 "" #. type: defvr #: guix-git/doc/guix.texi:30254 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{http://docs.ganeti.org/ganeti/master/html/rapi.html, Ganeti Remote " "API documentation} for more information." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:30256 msgid "" "The value of this service must be a @code{ganeti-rapi-configuration} object." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:30258 #, no-wrap msgid "{Data Type} ganeti-rapi-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:30260 msgid "This is the configuration for the @code{ganeti-rapi} service." msgstr "" #. type: item #: guix-git/doc/guix.texi:30265 #, no-wrap msgid "@code{require-authentication?} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:30267 msgid "Whether to require authentication even for read-only operations." msgstr "" #. type: item #: guix-git/doc/guix.texi:30268 #, no-wrap msgid "@code{port} (default: @code{5080})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30270 msgid "The TCP port on which to listen to API requests." msgstr "" #. type: table #: guix-git/doc/guix.texi:30274 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:30278 msgid "" "When set, it must specify a specific network interface such as @code{eth0} " "that the daemon will bind to." msgstr "" #. type: table #: guix-git/doc/guix.texi:30283 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:30286 msgid "Whether to use SSL/TLS encryption on the RAPI port." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:30300 #, no-wrap msgid "{Scheme Variable} ganeti-kvmd-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:30308 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 "" #. type: defvr #: guix-git/doc/guix.texi:30310 msgid "It takes a @code{ganeti-kvmd-configuration} object." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:30312 #, no-wrap msgid "{Data Type} ganeti-kvmd-configuration" msgstr "{Тип данных} build-machine" #. type: defvr #: guix-git/doc/guix.texi:30324 #, no-wrap msgid "{Scheme Variable} ganeti-mond-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:30328 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 "" #. type: defvr #: guix-git/doc/guix.texi:30330 msgid "It takes a @code{ganeti-mond-configuration} object." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:30332 #, no-wrap msgid "{Data Type} ganeti-mond-configuration" msgstr "{Тип данных} build-machine" #. type: item #: guix-git/doc/guix.texi:30338 #, no-wrap msgid "@code{port} (default: @code{1815})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30340 guix-git/doc/guix.texi:30366 msgid "The port on which the daemon will listen." msgstr "" #. type: table #: guix-git/doc/guix.texi:30344 msgid "" "The network address that the daemon will bind to. By default it binds to " "all available interfaces." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:30351 #, no-wrap msgid "{Scheme Variable} ganeti-metad-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:30354 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 "" #. type: defvr #: guix-git/doc/guix.texi:30356 msgid "It takes a @code{ganeti-metad-configuration} object." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:30358 #, no-wrap msgid "{Data Type} ganeti-metad-configuration" msgstr "{Тип данных} build-machine" #. type: item #: guix-git/doc/guix.texi:30367 #, no-wrap msgid "@code{address} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:30370 msgid "" "If set, the daemon will bind to this address only. If left unset, the " "behavior depends on the cluster configuration." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:30377 #, no-wrap msgid "{Scheme Variable} ganeti-watcher-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:30385 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 "" #. type: defvr #: guix-git/doc/guix.texi:30387 msgid "It can be paused on all nodes with @command{gnt-cluster watcher pause}." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:30389 msgid "The service takes a @code{ganeti-watcher-configuration} object." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:30391 #, no-wrap msgid "{Data Type} ganeti-watcher-configuration" msgstr "{Data Type} pagekite-configuration" #. type: item #: guix-git/doc/guix.texi:30397 #, no-wrap msgid "@code{schedule} (default: @code{'(next-second-from (next-minute (range 0 60 5)))})" msgstr "" #. type: table #: guix-git/doc/guix.texi:30399 msgid "How often to run the script. The default is every five minutes." msgstr "" #. type: item #: guix-git/doc/guix.texi:30400 #, no-wrap msgid "@code{rapi-ip} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:30403 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 "" #. type: item #: guix-git/doc/guix.texi:30404 #, no-wrap msgid "@code{job-age} (default: @code{(* 6 3600)})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:30407 msgid "" "Archive cluster jobs older than this age, specified in seconds. The default " "is 6 hours. This keeps @command{gnt-job list} manageable." msgstr "" #. type: item #: guix-git/doc/guix.texi:30408 #, no-wrap msgid "@code{verify-disks?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30412 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 "" #. type: table #: guix-git/doc/guix.texi:30415 msgid "" "When @code{#t}, the script performs additional logging for debugging " "purposes." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:30419 #, no-wrap msgid "{Scheme Variable} ganeti-cleaner-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:30427 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 "" #. type: defvr #: guix-git/doc/guix.texi:30429 msgid "It takes a @code{ganeti-cleaner-configuration} object." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:30431 #, no-wrap msgid "{Data Type} ganeti-cleaner-configuration" msgstr "{Тип данных} build-machine" #. type: table #: guix-git/doc/guix.texi:30436 msgid "The @code{ganeti} package to use for the @command{gnt-cleaner} command." msgstr "" #. type: item #: guix-git/doc/guix.texi:30437 #, no-wrap msgid "@code{master-schedule} (default: @code{\"45 1 * * *\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30440 msgid "" "How often to run the master cleaning job. The default is once per day, at " "01:45:00." msgstr "" #. type: item #: guix-git/doc/guix.texi:30441 #, no-wrap msgid "@code{node-schedule} (default: @code{\"45 2 * * *\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30444 msgid "" "How often to run the node cleaning job. The default is once per day, at " "02:45:00." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:30458 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}, 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 "" #. type: deffn #: guix-git/doc/guix.texi:30459 #, no-wrap msgid "{Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:30463 msgid "" "Return a service that runs @command{git daemon}, a simple TCP server to " "expose repositories over the Git protocol for anonymous access." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:30469 msgid "" "The optional @var{config} argument should be a @code{} object, 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 "" #. type: deftp #: guix-git/doc/guix.texi:30472 #, no-wrap msgid "{Data Type} git-daemon-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:30474 msgid "Data type representing the configuration for @code{git-daemon-service}." msgstr "" #. type: item #: guix-git/doc/guix.texi:30476 #, no-wrap msgid "@code{package} (default: @code{git})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:30478 guix-git/doc/guix.texi:30538 msgid "Package object of the Git distributed version control system." msgstr "" #. type: item #: guix-git/doc/guix.texi:30479 guix-git/doc/guix.texi:30542 #, no-wrap msgid "@code{export-all?} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:30482 msgid "" "Whether to allow access for all Git repositories, even if they do not have " "the @file{git-daemon-export-ok} file." msgstr "" #. type: item #: guix-git/doc/guix.texi:30483 #, no-wrap msgid "@code{base-path} (default: @file{/srv/git})" msgstr "" #. type: table #: guix-git/doc/guix.texi:30489 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 "" #. type: item #: guix-git/doc/guix.texi:30490 #, no-wrap msgid "@code{user-path} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:30498 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 "" #. type: item #: guix-git/doc/guix.texi:30499 #, no-wrap msgid "@code{listen} (default: @code{'()})" msgstr "@code{inputs} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:30502 msgid "" "Whether to listen on specific IP addresses or hostnames, defaults to all." msgstr "" #. type: item #: guix-git/doc/guix.texi:30503 #, no-wrap msgid "@code{port} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30505 msgid "Whether to listen on an alternative port, which defaults to 9418." msgstr "" #. type: item #: guix-git/doc/guix.texi:30506 #, no-wrap msgid "@code{whitelist} (default: @code{'()})" msgstr "@code{inputs} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:30508 msgid "If not empty, only allow access to this list of directories." msgstr "" #. type: table #: guix-git/doc/guix.texi:30512 msgid "" "Extra options will be passed to @command{git daemon}, please run " "@command{man git-daemon} for more information." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:30526 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 "" #. type: Plain text #: guix-git/doc/guix.texi:30529 msgid "" "Guix has a separate configuration data type for serving Git repositories " "over HTTP." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:30530 #, no-wrap msgid "{Data Type} git-http-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:30534 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 "" #. type: item #: guix-git/doc/guix.texi:30536 #, no-wrap msgid "@code{package} (default: @var{git})" msgstr "" #. type: item #: guix-git/doc/guix.texi:30539 #, no-wrap msgid "@code{git-root} (default: @file{/srv/git})" msgstr "" #. type: table #: guix-git/doc/guix.texi:30541 msgid "Directory containing the Git repositories to expose to the world." msgstr "" #. type: table #: guix-git/doc/guix.texi:30545 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 "" #. type: item #: guix-git/doc/guix.texi:30546 #, no-wrap msgid "@code{uri-path} (default: @samp{/git/})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:30551 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 "" #. type: item #: guix-git/doc/guix.texi:30552 #, no-wrap msgid "@code{fcgiwrap-socket} (default: @code{127.0.0.1:9000})" msgstr "" #. type: table #: guix-git/doc/guix.texi:30555 msgid "" "The socket on which the @code{fcgiwrap} daemon is listening. @xref{Web " "Services}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:30562 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 "" #. type: deffn #: guix-git/doc/guix.texi:30563 #, no-wrap msgid "{Scheme Procedure} git-http-nginx-location-configuration @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:30568 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 "" #. type: lisp #: guix-git/doc/guix.texi:30585 #, 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/letsencrypt/live/git.my-host.org/fullchain.pem\")\n" " (ssl-certificate-key\n" " \"/etc/letsencrypt/live/git.my-host.org/privkey.pem\")\n" " (locations\n" " (list\n" " (git-http-nginx-location-configuration\n" " (git-http-configuration (uri-path \"/\"))))))))))\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:30592 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:30594 #, no-wrap msgid "Cgit Service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:30596 #, no-wrap msgid "Cgit service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:30597 #, no-wrap msgid "Git, web interface" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:30600 msgid "" "@uref{https://git.zx2c4.com/cgit/, Cgit} is a web frontend for Git " "repositories written in C." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:30603 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 "" #. type: lisp #: guix-git/doc/guix.texi:30606 #, no-wrap msgid "(service cgit-service-type)\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:30610 msgid "" "The @code{file-object} type designates either a file-like object (@pxref{G-" "Expressions, file-like objects}) or a string." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:30614 msgid "Available @code{cgit-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30615 #, no-wrap msgid "{@code{cgit-configuration} parameter} package package" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30617 msgid "The CGIT package." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30620 #, no-wrap msgid "{@code{cgit-configuration} parameter} nginx-server-configuration-list nginx" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30625 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object about-filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30628 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:30633 #, no-wrap msgid "{@code{cgit-configuration} parameter} string agefile" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30636 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:30641 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object auth-filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30644 msgid "" "Specifies a command that will be invoked for authenticating repository " "access." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30649 #, no-wrap msgid "{@code{cgit-configuration} parameter} string branch-sort" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30652 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:30654 msgid "Defaults to @samp{\"name\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30657 #, no-wrap msgid "{@code{cgit-configuration} parameter} string cache-root" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30659 msgid "Path used to store the cgit cache entries." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30661 msgid "Defaults to @samp{\"/var/cache/cgit\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30664 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer cache-static-ttl" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30667 msgid "" "Number which specifies the time-to-live, in minutes, for the cached version " "of repository pages accessed with a fixed SHA1." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30669 guix-git/doc/guix.texi:31112 msgid "Defaults to @samp{-1}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30672 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer cache-dynamic-ttl" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30675 msgid "" "Number which specifies the time-to-live, in minutes, for the cached version " "of repository pages accessed without a fixed SHA1." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30680 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer cache-repo-ttl" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30683 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:30688 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer cache-root-ttl" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30691 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:30696 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer cache-scanrc-ttl" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30699 msgid "" "Number which specifies the time-to-live, in minutes, for the result of " "scanning a path for Git repositories." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30704 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer cache-about-ttl" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30707 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:30712 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer cache-snapshot-ttl" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30715 msgid "" "Number which specifies the time-to-live, in minutes, for the cached version " "of snapshots." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30720 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer cache-size" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30723 msgid "" "The maximum number of entries in the cgit cache. When set to @samp{0}, " "caching is disabled." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30728 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean case-sensitive-sort?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30730 msgid "Sort items in the repo list case sensitively." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30735 #, no-wrap msgid "{@code{cgit-configuration} parameter} list clone-prefix" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30738 msgid "" "List of common prefixes which, when combined with a repository URL, " "generates valid clone URLs for the repository." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30743 #, no-wrap msgid "{@code{cgit-configuration} parameter} list clone-url" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30745 msgid "List of @code{clone-url} templates." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30750 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object commit-filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30752 msgid "Command which will be invoked to format commit messages." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30757 #, no-wrap msgid "{@code{cgit-configuration} parameter} string commit-sort" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30761 guix-git/doc/guix.texi:31319 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:30763 msgid "Defaults to @samp{\"git log\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30766 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object css" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30768 msgid "URL which specifies the css document to include in all cgit pages." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30770 msgid "Defaults to @samp{\"/share/cgit/cgit.css\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30773 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object email-filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30777 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:30782 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean embedded?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30785 msgid "" "Flag which, when set to @samp{#t}, will make cgit generate a HTML fragment " "suitable for embedding in other HTML pages." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30790 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-commit-graph?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30794 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:30799 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-filter-overrides?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30802 msgid "" "Flag which, when set to @samp{#t}, allows all filter settings to be " "overridden in repository-specific cgitrc files." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30807 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-follow-links?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30810 msgid "" "Flag which, when set to @samp{#t}, allows users to follow a file in the log " "view." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30815 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-http-clone?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30818 msgid "" "If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git clones." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30823 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-index-links?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30826 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:30831 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-index-owner?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30834 msgid "" "Flag which, when set to @samp{#t}, will make cgit display the owner of each " "repo in the repository index." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30839 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-log-filecount?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30842 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:30847 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-log-linecount?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30850 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:30855 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-remote-branches?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30858 guix-git/doc/guix.texi:31382 msgid "" "Flag which, when set to @code{#t}, will make cgit display remote branches in " "the summary and refs views." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30863 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-subject-links?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30867 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:30872 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-html-serving?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30876 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:30881 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-tree-linenumbers?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30884 msgid "" "Flag which, when set to @samp{#t}, will make cgit generate linenumber links " "for plaintext blobs printed in the tree view." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30889 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean enable-git-config?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30892 msgid "" "Flag which, when set to @samp{#f}, will allow cgit to use Git config to set " "any repo specific settings." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30897 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object favicon" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30899 msgid "URL used as link to a shortcut icon for cgit." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30901 msgid "Defaults to @samp{\"/favicon.ico\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30904 #, no-wrap msgid "{@code{cgit-configuration} parameter} string footer" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30908 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:30913 #, no-wrap msgid "{@code{cgit-configuration} parameter} string head-include" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30916 msgid "" "The content of the file specified with this option will be included verbatim " "in the HTML HEAD section on all pages." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30921 #, no-wrap msgid "{@code{cgit-configuration} parameter} string header" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30924 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:30929 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object include" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30932 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:30937 #, no-wrap msgid "{@code{cgit-configuration} parameter} string index-header" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30940 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:30945 #, no-wrap msgid "{@code{cgit-configuration} parameter} string index-info" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30948 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:30953 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean local-time?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30956 msgid "" "Flag which, if set to @samp{#t}, makes cgit print commit and tag times in " "the servers timezone." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30961 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object logo" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30964 msgid "" "URL which specifies the source of an image which will be used as a logo on " "all cgit pages." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30966 msgid "Defaults to @samp{\"/share/cgit/cgit.png\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30969 #, no-wrap msgid "{@code{cgit-configuration} parameter} string logo-link" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30971 guix-git/doc/guix.texi:31428 msgid "URL loaded when clicking on the cgit logo image." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30976 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object owner-filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30979 msgid "" "Command which will be invoked to format the Owner column of the main page." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30984 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer max-atom-items" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30986 msgid "Number of items to display in atom feeds view." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30991 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer max-commit-count" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30993 msgid "Number of entries to list per page in \"log\" view." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:30998 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer max-message-length" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31000 msgid "Number of commit message characters to display in \"log\" view." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31002 guix-git/doc/guix.texi:31018 msgid "Defaults to @samp{80}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31005 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer max-repo-count" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31008 msgid "" "Specifies the number of entries to list per page on the repository index " "page." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31013 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer max-repodesc-length" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31016 msgid "" "Specifies the maximum number of repo description characters to display on " "the repository index page." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31021 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer max-blob-size" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31023 msgid "Specifies the maximum size of a blob to display HTML for in KBytes." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31028 #, no-wrap msgid "{@code{cgit-configuration} parameter} string max-stats" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31031 msgid "" "Maximum statistics period. Valid values are @samp{week},@samp{month}, " "@samp{quarter} and @samp{year}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31036 #, no-wrap msgid "{@code{cgit-configuration} parameter} mimetype-alist mimetype" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31038 msgid "Mimetype for the specified filename extension." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31042 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:31045 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object mimetype-file" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31047 msgid "Specifies the file to use for automatic mimetype lookup." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31052 #, no-wrap msgid "{@code{cgit-configuration} parameter} string module-link" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31055 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:31060 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean nocache?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31062 msgid "If set to the value @samp{#t} caching will be disabled." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31067 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean noplainemail?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31070 msgid "" "If set to @samp{#t} showing full author email addresses will be disabled." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31075 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean noheader?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31078 msgid "" "Flag which, when set to @samp{#t}, will make cgit omit the standard header " "on all pages." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31083 #, no-wrap msgid "{@code{cgit-configuration} parameter} project-list project-list" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31087 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:31092 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object readme" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31094 msgid "Text which will be used as default value for @code{cgit-repo-readme}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31099 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean remove-suffix?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31103 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:31108 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer renamelimit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31110 msgid "Maximum number of files to consider when detecting renames." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31115 #, no-wrap msgid "{@code{cgit-configuration} parameter} string repository-sort" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31117 msgid "The way in which repositories in each section are sorted." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31122 #, no-wrap msgid "{@code{cgit-configuration} parameter} robots-list robots" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31124 msgid "Text used as content for the @code{robots} meta-tag." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31126 msgid "Defaults to @samp{(\"noindex\" \"nofollow\")}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31129 #, no-wrap msgid "{@code{cgit-configuration} parameter} string root-desc" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31131 msgid "Text printed below the heading on the repository index page." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31133 msgid "Defaults to @samp{\"a fast webinterface for the git dscm\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31136 #, no-wrap msgid "{@code{cgit-configuration} parameter} string root-readme" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31139 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:31144 #, no-wrap msgid "{@code{cgit-configuration} parameter} string root-title" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31146 msgid "Text printed as heading on the repository index page." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31151 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean scan-hidden-path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31157 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:31162 #, no-wrap msgid "{@code{cgit-configuration} parameter} list snapshots" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31165 msgid "" "Text which specifies the default set of snapshot formats that cgit generates " "links for." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31170 #, no-wrap msgid "{@code{cgit-configuration} parameter} repository-directory repository-directory" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31173 msgid "" "Name of the directory to scan for repositories (represents @code{scan-path})." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31175 msgid "Defaults to @samp{\"/srv/git\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31178 #, no-wrap msgid "{@code{cgit-configuration} parameter} string section" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31181 guix-git/doc/guix.texi:31497 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:31186 #, no-wrap msgid "{@code{cgit-configuration} parameter} string section-sort" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31189 msgid "" "Flag which, when set to @samp{1}, will sort the sections on the repository " "listing by name." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31194 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer section-from-path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31197 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:31202 #, no-wrap msgid "{@code{cgit-configuration} parameter} boolean side-by-side-diffs?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31205 msgid "" "If set to @samp{#t} shows side-by-side diffs instead of unidiffs per default." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31210 #, no-wrap msgid "{@code{cgit-configuration} parameter} file-object source-filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31213 msgid "" "Specifies a command which will be invoked to format plaintext blobs in the " "tree view." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31218 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer summary-branches" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31221 msgid "" "Specifies the number of branches to display in the repository ``summary'' " "view." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31226 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer summary-log" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31229 msgid "" "Specifies the number of log entries to display in the repository ``summary'' " "view." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31234 #, no-wrap msgid "{@code{cgit-configuration} parameter} integer summary-tags" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31237 msgid "" "Specifies the number of tags to display in the repository ``summary'' view." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31242 #, no-wrap msgid "{@code{cgit-configuration} parameter} string strict-export" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31245 msgid "" "Filename which, if specified, needs to be present within the repository for " "cgit to allow access to that repository." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31250 #, no-wrap msgid "{@code{cgit-configuration} parameter} string virtual-root" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31252 msgid "URL which, if specified, will be used as root for all cgit links." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31254 msgid "Defaults to @samp{\"/\"}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31257 #, no-wrap msgid "{@code{cgit-configuration} parameter} repository-cgit-configuration-list repositories" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31259 msgid "A list of @dfn{cgit-repo} records to use with config." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31263 msgid "Available @code{repository-cgit-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31264 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-list snapshots" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31267 msgid "" "A mask of snapshot formats for this repo that cgit generates links for, " "restricted by the global @code{snapshots} setting." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31272 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-file-object source-filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31274 msgid "Override the default @code{source-filter}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31279 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string url" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31281 msgid "The relative URL used to access the repository." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31286 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-file-object about-filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31288 msgid "Override the default @code{about-filter}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31293 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string branch-sort" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31296 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:31301 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-list clone-url" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31303 msgid "A list of URLs which can be used to clone repo." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31308 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-file-object commit-filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31310 msgid "Override the default @code{commit-filter}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31315 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string commit-sort" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31324 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string defbranch" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31329 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:31334 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string desc" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31336 msgid "The value to show as repository description." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31341 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string homepage" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31343 msgid "The value to show as repository homepage." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31348 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-file-object email-filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31350 msgid "Override the default @code{email-filter}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31355 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-commit-graph?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31358 msgid "" "A flag which can be used to disable the global setting @code{enable-commit-" "graph?}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31363 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-log-filecount?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31366 msgid "" "A flag which can be used to disable the global setting @code{enable-log-" "filecount?}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31371 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-log-linecount?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31374 msgid "" "A flag which can be used to disable the global setting @code{enable-log-" "linecount?}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31379 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-remote-branches?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31387 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-subject-links?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31390 msgid "" "A flag which can be used to override the global setting @code{enable-subject-" "links?}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31395 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-html-serving?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31398 msgid "" "A flag which can be used to override the global setting @code{enable-html-" "serving?}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31403 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-boolean hide?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31406 msgid "" "Flag which, when set to @code{#t}, hides the repository from the repository " "index." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31411 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-boolean ignore?" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31413 msgid "Flag which, when set to @samp{#t}, ignores the repository." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31418 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-file-object logo" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31421 msgid "" "URL which specifies the source of an image which will be used as a logo on " "this repo’s pages." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31426 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string logo-link" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31433 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-file-object owner-filter" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31435 msgid "Override the default @code{owner-filter}." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31440 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string module-link" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31444 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 "" #. type: deftypevr #: guix-git/doc/guix.texi:31449 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} module-link-path module-link-path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31453 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:31458 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string max-stats" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31460 msgid "Override the default maximum statistics period." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31465 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string name" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31467 msgid "The value to show as repository name." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31472 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string owner" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31474 msgid "A value used to identify the owner of the repository." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31479 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string path" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31481 msgid "An absolute path to the repository directory." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31486 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string readme" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31489 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:31494 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-string section" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31502 #, no-wrap msgid "{@code{repository-cgit-configuration} parameter} repo-list extra-options" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31504 guix-git/doc/guix.texi:31513 msgid "Extra options will be appended to cgitrc file." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31511 #, no-wrap msgid "{@code{cgit-configuration} parameter} list extra-options" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31525 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 "" #. type: Plain text #: guix-git/doc/guix.texi:31527 msgid "Available @code{opaque-cgit-configuration} fields are:" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31528 #, no-wrap msgid "{@code{opaque-cgit-configuration} parameter} package cgit" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31530 msgid "The cgit package." msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31532 #, no-wrap msgid "{@code{opaque-cgit-configuration} parameter} string string" msgstr "" #. type: deftypevr #: guix-git/doc/guix.texi:31534 msgid "The contents of the @code{cgitrc}, as a string." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31538 msgid "" "For example, if your @code{cgitrc} is just the empty string, you could " "instantiate a cgit service like this:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:31543 #, no-wrap msgid "" "(service cgit-service-type\n" " (opaque-cgit-configuration\n" " (cgitrc \"\")))\n" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:31545 #, no-wrap msgid "Gitolite Service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:31547 #, no-wrap msgid "Gitolite service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:31548 #, no-wrap msgid "Git, hosting" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31551 msgid "" "@uref{https://gitolite.com/gitolite/, Gitolite} is a tool for hosting Git " "repositories on a central server." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31554 msgid "" "Gitolite can handle multiple repositories and users, and supports flexible " "configuration of the permissions for the users on the repositories." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31557 msgid "" "The following example will configure Gitolite using the default @code{git} " "user, and the provided SSH public key." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:31564 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:31569 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 "" #. type: example #: guix-git/doc/guix.texi:31572 #, no-wrap msgid "git clone git@@example.com:gitolite-admin\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31578 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 "" #. type: deftp #: guix-git/doc/guix.texi:31579 #, no-wrap msgid "{Data Type} gitolite-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:31581 msgid "" "Data type representing the configuration for @code{gitolite-service-type}." msgstr "" #. type: item #: guix-git/doc/guix.texi:31583 #, no-wrap msgid "@code{package} (default: @var{gitolite})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31585 msgid "Gitolite package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:31586 #, no-wrap msgid "@code{user} (default: @var{git})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31589 msgid "" "User to use for Gitolite. This will be user that you use when accessing " "Gitolite over SSH." msgstr "" #. type: item #: guix-git/doc/guix.texi:31590 #, no-wrap msgid "@code{group} (default: @var{git})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31592 msgid "Group to use for Gitolite." msgstr "" #. type: item #: guix-git/doc/guix.texi:31593 #, no-wrap msgid "@code{home-directory} (default: @var{\"/var/lib/gitolite\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31595 msgid "" "Directory in which to store the Gitolite configuration and repositories." msgstr "" #. type: item #: guix-git/doc/guix.texi:31596 #, no-wrap msgid "@code{rc-file} (default: @var{(gitolite-rc-file)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31599 msgid "" "A ``file-like'' object (@pxref{G-Expressions, file-like objects}), " "representing the configuration for Gitolite." msgstr "" #. type: item #: guix-git/doc/guix.texi:31600 #, no-wrap msgid "@code{admin-pubkey} (default: @var{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31604 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 "" #. type: table #: guix-git/doc/guix.texi:31606 msgid "To specify the SSH key as a string, use the @code{plain-file} function." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:31609 #, no-wrap msgid "(plain-file \"yourname.pub\" \"ssh-rsa AAAA... guix@@example.com\")\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:31614 #, no-wrap msgid "{Data Type} gitolite-rc-file" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:31616 msgid "Data type representing the Gitolite RC file." msgstr "" #. type: item #: guix-git/doc/guix.texi:31618 #, no-wrap msgid "@code{umask} (default: @code{#o0077})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31621 msgid "" "This controls the permissions Gitolite sets on the repositories and their " "contents." msgstr "" #. type: table #: guix-git/doc/guix.texi:31625 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 "" #. type: item #: guix-git/doc/guix.texi:31626 #, fuzzy, no-wrap #| msgid "@code{user-path} (default: @code{#f})" msgid "@code{unsafe-pattern} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:31631 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 "" #. type: table #: guix-git/doc/guix.texi:31638 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 "" #. type: item #: guix-git/doc/guix.texi:31639 #, no-wrap msgid "@code{git-config-keys} (default: @code{\"\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31642 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 "" #. type: item #: guix-git/doc/guix.texi:31643 #, no-wrap msgid "@code{roles} (default: @code{'((\"READERS\" . 1) (\"WRITERS\" . ))})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31645 msgid "" "Set the role names allowed to be used by users running the perms command." msgstr "" #. type: item #: guix-git/doc/guix.texi:31646 #, no-wrap msgid "@code{enable} (default: @code{'(\"help\" \"desc\" \"info\" \"perms\" \"writable\" \"ssh-authkeys\" \"git-config\" \"daemon\" \"gitweb\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31648 msgid "" "This setting controls the commands and features to enable within Gitolite." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:31653 #, fuzzy, no-wrap #| msgid "Getmail service" msgid "Gitile Service" msgstr "Почтовые сервисы" #. type: cindex #: guix-git/doc/guix.texi:31655 #, fuzzy, no-wrap #| msgid "Getmail service" msgid "Gitile service" msgstr "Почтовые сервисы" #. type: cindex #: guix-git/doc/guix.texi:31656 #, no-wrap msgid "Git, forge" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31659 msgid "" "@uref{https://git.lepiller.eu/gitile, Gitile} is a Git forge for viewing " "public git repository contents from a web browser." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31665 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 "" #. type: Plain text #: guix-git/doc/guix.texi:31669 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 "" #. type: lisp #: guix-git/doc/guix.texi:31692 #, 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-server-block\n" " (nginx-server-configuration\n" " (ssl-certificate\n" " \"/etc/letsencrypt/live/myweb.site/fullchain.pem\")\n" " (ssl-certificate-key\n" " \"/etc/letsencrypt/live/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 "" #. type: Plain text #: guix-git/doc/guix.texi:31701 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 "" #. type: example #: guix-git/doc/guix.texi:31705 #, no-wrap msgid "" "repo foo\n" " R = daemon\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31711 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 "" #. type: example #: guix-git/doc/guix.texi:31718 #, no-wrap msgid "" "repo foo\n" " R = daemon\n" " desc = A long description, optionally with HTML, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:31724 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 "" #. type: lisp #: guix-git/doc/guix.texi:31736 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:31738 #, fuzzy, no-wrap #| msgid "{Data Type} agate-configuration" msgid "{Data Type} gitile-configuration" msgstr "{Data Type} pagekite-configuration" #. type: deftp #: guix-git/doc/guix.texi:31740 #, fuzzy #| msgid "" #| "Data type representing the configuration for @code{syncthing-service-" #| "type}." msgid "" "Data type representing the configuration for @code{gitile-service-type}." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:31742 #, fuzzy, no-wrap #| msgid "@code{package} (default: @var{pagekite})" msgid "@code{package} (default: @var{gitile})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:31744 #, fuzzy #| msgid "The package to use." msgid "Gitile package to use." msgstr "Пакет для использования." #. type: table #: guix-git/doc/guix.texi:31747 msgid "The host on which gitile is listening." msgstr "" #. type: item #: guix-git/doc/guix.texi:31748 #, fuzzy, no-wrap #| msgid "@code{port} (default: @code{5080})" msgid "@code{port} (default: @code{8080})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:31750 msgid "The port on which gitile is listening." msgstr "" #. type: item #: guix-git/doc/guix.texi:31751 #, fuzzy, no-wrap #| msgid "@code{data-directory} (default: @code{\"/var/lib/postgresql/data\"})" msgid "@code{database} (default: @code{\"/var/lib/gitile/gitile-db.sql\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:31753 #, fuzzy #| msgid "The name of the database to use." msgid "The location of the database." msgstr "Имя используемой базы данных." #. type: item #: guix-git/doc/guix.texi:31754 #, fuzzy, no-wrap #| msgid "@code{log-directory} (default: @code{\"/var/log/postgresql\"})" msgid "@code{repositories} (default: @code{\"/var/lib/gitolite/repositories\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:31758 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:31759 #, fuzzy, no-wrap #| msgid "github-url" msgid "base-git-url" msgstr "github-url" #. type: table #: guix-git/doc/guix.texi:31761 msgid "The base git url that will be used to show clone commands." msgstr "" #. type: item #: guix-git/doc/guix.texi:31762 #, fuzzy, no-wrap #| msgid "@code{title} (default: @code{\"Laminar\"})" msgid "@code{index-title} (default: @code{\"Index\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:31764 msgid "" "The page title for the index page that lists all the available repositories." msgstr "" #. type: item #: guix-git/doc/guix.texi:31765 #, fuzzy, no-wrap #| msgid "@code{inputs} (default: @code{'()})" msgid "@code{intro} (default: @code{'()})" msgstr "@code{inputs} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:31768 msgid "" "The intro content, as a list of sxml expressions. This is shown above the " "list of repositories, on the index page." msgstr "" #. type: item #: guix-git/doc/guix.texi:31769 #, fuzzy, no-wrap #| msgid "@code{roles} (default: @code{'()})" msgid "@code{footer} (default: @code{'()})" msgstr "@code{modules} (по умолчанию: @code{'()})" #. type: table #: guix-git/doc/guix.texi:31772 msgid "" "The footer content, as a list of sxml expressions. This is shown on every " "page served by Gitile." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:31773 #, no-wrap msgid "nginx-server-block" msgstr "" #. type: table #: guix-git/doc/guix.texi:31776 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 "" #. type: table #: guix-git/doc/guix.texi:31780 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:31787 #, no-wrap msgid "The Battle for Wesnoth Service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:31788 #, no-wrap msgid "wesnothd" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31792 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 "" #. type: defvar #: guix-git/doc/guix.texi:31793 #, no-wrap msgid "{Scheme Variable} wesnothd-service-type" msgstr "" #. type: defvar #: guix-git/doc/guix.texi:31797 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 "" #. type: lisp #: guix-git/doc/guix.texi:31800 #, no-wrap msgid "(service wesnothd-service-type)\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:31803 #, no-wrap msgid "{Data Type} wesnothd-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:31805 msgid "Data type representing the configuration of @command{wesnothd}." msgstr "" #. type: item #: guix-git/doc/guix.texi:31807 #, no-wrap msgid "@code{package} (default: @code{wesnoth-server})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31809 msgid "The wesnoth server package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:31810 #, no-wrap msgid "@code{port} (default: @code{15000})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31812 msgid "The port to bind the server to." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:31818 #, no-wrap msgid "pam-mount" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31823 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 "" #. type: defvar #: guix-git/doc/guix.texi:31824 #, no-wrap msgid "{Scheme Variable} pam-mount-service-type" msgstr "" #. type: defvar #: guix-git/doc/guix.texi:31826 msgid "Service type for PAM Mount support." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:31828 #, no-wrap msgid "{Data Type} pam-mount-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:31830 msgid "Data type representing the configuration of PAM Mount." msgstr "Управление конфигурацией операционной системы." #. type: code{#1} #: guix-git/doc/guix.texi:31834 #, no-wrap msgid "rules" msgstr "Модули" #. type: table #: guix-git/doc/guix.texi:31837 msgid "" "The configuration rules that will be used to generate @file{/etc/security/" "pam_mount.conf.xml}." msgstr "" #. type: table #: guix-git/doc/guix.texi:31841 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 "" #. type: lisp #: guix-git/doc/guix.texi:31856 #, 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 "" #. type: table #: guix-git/doc/guix.texi:31862 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 "" #. type: lisp #: guix-git/doc/guix.texi:31887 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:31891 #, no-wrap msgid "" "(service pam-mount-service-type\n" " (pam-mount-configuration\n" " (rules pam-mount-rules)))\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:31895 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:31902 #, no-wrap msgid "Guix Build Coordinator" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31908 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 "" #. type: quotation #: guix-git/doc/guix.texi:31913 msgid "" "This service is considered experimental. Configuration options may be " "changed in a backwards-incompatible manner, and not all features have been " "thorougly tested." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:31920 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 "" #. type: Plain text #: guix-git/doc/guix.texi:31924 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 "" #. type: defvar #: guix-git/doc/guix.texi:31925 #, no-wrap msgid "{Scheme Variable} guix-build-coordinator-service-type" msgstr "{Scheme Variable} boot-service-type" #. type: defvar #: guix-git/doc/guix.texi:31928 msgid "" "Service type for the Guix Build Coordinator. Its value must be a @code{guix-" "build-coordinator-configuration} object." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:31930 #, no-wrap msgid "{Data Type} guix-build-coordinator-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:31932 msgid "Data type representing the configuration of the Guix Build Coordinator." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:31934 guix-git/doc/guix.texi:31978 #: guix-git/doc/guix.texi:32104 #, no-wrap msgid "@code{package} (default: @code{guix-build-coordinator})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:31936 guix-git/doc/guix.texi:31980 #: guix-git/doc/guix.texi:32106 msgid "The Guix Build Coordinator package to use." msgstr "Используемый пакет Guix Build Coordinator." #. type: item #: guix-git/doc/guix.texi:31937 #, no-wrap msgid "@code{user} (default: @code{\"guix-build-coordinator\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:31939 guix-git/doc/guix.texi:31983 #: guix-git/doc/guix.texi:32109 guix-git/doc/guix.texi:32155 msgid "The system user to run the service as." msgstr "Сервис mcron." #. type: item #: guix-git/doc/guix.texi:31940 #, no-wrap msgid "@code{group} (default: @code{\"guix-build-coordinator\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:31942 guix-git/doc/guix.texi:32158 msgid "The system group to run the service as." msgstr "" #. type: item #: guix-git/doc/guix.texi:31943 #, no-wrap msgid "@code{database-uri-string} (default: @code{\"sqlite:///var/lib/guix-build-coordinator/guix_build_coordinator.db\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:31945 msgid "The URI to use for the database." msgstr "URI для использования в базе данных." #. type: item #: guix-git/doc/guix.texi:31946 #, no-wrap msgid "@code{agent-communication-uri} (default: @code{\"http://0.0.0.0:8745\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:31948 msgid "The URI describing how to listen to requests from agent processes." msgstr "" #. type: item #: guix-git/doc/guix.texi:31949 #, no-wrap msgid "@code{client-communication-uri} (default: @code{\"http://127.0.0.1:8746\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:31953 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 "" #. type: item #: guix-git/doc/guix.texi:31954 #, no-wrap msgid "@code{allocation-strategy} (default: @code{#~basic-build-allocation-strategy})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:31958 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 "" #. type: item #: guix-git/doc/guix.texi:31959 #, no-wrap msgid "@code{hooks} (default: @var{'()})" msgstr "@code{inputs} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:31962 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:31963 #, no-wrap msgid "@code{guile} (default: @code{guile-3.0-latest})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:31965 msgid "The Guile package with which to run the Guix Build Coordinator." msgstr "" #. type: defvar #: guix-git/doc/guix.texi:31969 #, no-wrap msgid "{Scheme Variable} guix-build-coordinator-agent-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvar #: guix-git/doc/guix.texi:31972 msgid "" "Service type for a Guix Build Coordinator agent. Its value must be a " "@code{guix-build-coordinator-agent-configuration} object." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:31974 #, no-wrap msgid "{Data Type} guix-build-coordinator-agent-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:31976 msgid "" "Data type representing the configuration a Guix Build Coordinator agent." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:31981 #, no-wrap msgid "@code{user} (default: @code{\"guix-build-coordinator-agent\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: item #: guix-git/doc/guix.texi:31984 #, no-wrap msgid "@code{coordinator} (default: @code{\"http://localhost:8745\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:31986 guix-git/doc/guix.texi:32112 msgid "The URI to use when connecting to the coordinator." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:31987 #, no-wrap msgid "authentication" msgstr "channel-authentication" #. type: table #: guix-git/doc/guix.texi:31990 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:31991 guix-git/doc/guix.texi:32113 #, no-wrap msgid "@code{systems} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:31994 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:31995 #, no-wrap msgid "@code{max-parallel-builds} (default: @code{1})" msgstr "@code{parallel-builds} (default: @code{1})" #. type: table #: guix-git/doc/guix.texi:31997 msgid "The number of builds to perform in parallel." msgstr "Число сборок, которые могут быть запущены на машине." #. type: item #: guix-git/doc/guix.texi:31998 #, no-wrap msgid "@code{max-1min-load-average} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32002 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 "" #. type: table #: guix-git/doc/guix.texi:32006 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 "" #. type: item #: guix-git/doc/guix.texi:32007 #, no-wrap msgid "@code{derivation-substitute-urls} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32010 msgid "" "URLs from which to attempt to fetch substitutes for derivations, if the " "derivations aren't already available." msgstr "" #. type: item #: guix-git/doc/guix.texi:32011 #, no-wrap msgid "@code{non-derivation-substitute-urls} (default: @code{#f})" msgstr "@code{native-inputs} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:32014 msgid "" "URLs from which to attempt to fetch substitutes for build inputs, if the " "input store items aren't already available." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32018 #, no-wrap msgid "{Data Type} guix-build-coordinator-agent-password-auth" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:32021 msgid "" "Data type representing an agent authenticating with a coordinator via a UUID " "and password." msgstr "Управление конфигурацией операционной системы." #. type: table #: guix-git/doc/guix.texi:32027 guix-git/doc/guix.texi:32043 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 "" #. type: table #: guix-git/doc/guix.texi:32030 msgid "The password to use when connecting to the coordinator." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32034 #, no-wrap msgid "{Data Type} guix-build-coordinator-agent-password-file-auth" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:32037 msgid "" "Data type representing an agent authenticating with a coordinator via a UUID " "and password read from a file." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:32044 #, no-wrap msgid "password-file" msgstr "профиль" #. type: table #: guix-git/doc/guix.texi:32047 msgid "" "A file containing the password to use when connecting to the coordinator." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32051 #, no-wrap msgid "{Data Type} guix-build-coordinator-agent-dynamic-auth" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:32054 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:32056 guix-git/doc/guix.texi:32073 #, no-wrap msgid "agent-name" msgstr "каналы" #. type: table #: guix-git/doc/guix.texi:32060 guix-git/doc/guix.texi:32077 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:32061 #, no-wrap msgid "token" msgstr "" #. type: table #: guix-git/doc/guix.texi:32064 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:32068 #, no-wrap msgid "{Data Type} guix-build-coordinator-agent-dynamic-auth-with-file" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:32071 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:32078 #, no-wrap msgid "token-file" msgstr "профиль" #. type: table #: guix-git/doc/guix.texi:32081 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: Plain text #: guix-git/doc/guix.texi:32091 msgid "" "The Guix Build Coordinator package contains a script to query an instance of " "the Guix Data Service for derivations to build, and then submit builds for " "those derivations to the coordinator. The service type below assists in " "running this script. This is an additional tool that may be useful when " "building derivations contained within an instance of the Guix Data Service." msgstr "" #. type: defvar #: guix-git/doc/guix.texi:32092 #, no-wrap msgid "{Scheme Variable} guix-build-coordinator-queue-builds-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvar #: guix-git/doc/guix.texi:32097 msgid "" "Service type for the guix-build-coordinator-queue-builds-from-guix-data-" "service script. Its value must be a @code{guix-build-coordinator-queue-" "builds-configuration} object." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32099 #, no-wrap msgid "{Data Type} guix-build-coordinator-queue-builds-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:32102 msgid "" "Data type representing the options to the queue builds from guix data " "service script." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:32107 #, no-wrap msgid "@code{user} (default: @code{\"guix-build-coordinator-queue-builds\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: item #: guix-git/doc/guix.texi:32110 #, no-wrap msgid "@code{coordinator} (default: @code{\"http://localhost:8746\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32115 msgid "The systems for which to fetch derivations to build." msgstr "" #. type: item #: guix-git/doc/guix.texi:32116 #, no-wrap msgid "@code{systems-and-targets} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32119 msgid "" "An association list of system and target pairs for which to fetch " "derivations to build." msgstr "" #. type: item #: guix-git/doc/guix.texi:32120 #, no-wrap msgid "@code{guix-data-service} (default: @code{\"https://data.guix.gnu.org\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32123 msgid "" "The Guix Data Service instance from which to query to find out about " "derivations to build." msgstr "" #. type: item #: guix-git/doc/guix.texi:32124 #, no-wrap msgid "@code{processed-commits-file} (default: @code{\"/var/cache/guix-build-coordinator-queue-builds/processed-commits\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32127 msgid "" "A file to record which commits have been processed, to avoid needlessly " "processing them again if the service is restarted." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32131 #, no-wrap msgid "Guix Data Service" msgstr "Сервисы баз данных" #. type: Plain text #: guix-git/doc/guix.texi:32135 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 "" #. type: Plain text #: guix-git/doc/guix.texi:32138 msgid "" "The data is stored in a PostgreSQL database, and available through a web " "interface." msgstr "" #. type: defvar #: guix-git/doc/guix.texi:32139 #, no-wrap msgid "{Scheme Variable} guix-data-service-type" msgstr "" #. type: defvar #: guix-git/doc/guix.texi:32144 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 "" #. type: deftp #: guix-git/doc/guix.texi:32146 #, no-wrap msgid "{Data Type} guix-data-service-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32148 msgid "Data type representing the configuration of the Guix Data Service." msgstr "" #. type: item #: guix-git/doc/guix.texi:32150 #, no-wrap msgid "@code{package} (default: @code{guix-data-service})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32152 msgid "The Guix Data Service package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:32153 #, no-wrap msgid "@code{user} (default: @code{\"guix-data-service\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: item #: guix-git/doc/guix.texi:32156 #, no-wrap msgid "@code{group} (default: @code{\"guix-data-service\"})" msgstr "@code{port} (default: @code{22})" #. type: item #: guix-git/doc/guix.texi:32159 #, no-wrap msgid "@code{port} (default: @code{8765})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32161 msgid "The port to bind the web service to." msgstr "Сервис rottlog." #. type: item #: guix-git/doc/guix.texi:32162 #, no-wrap msgid "@code{host} (default: @code{\"127.0.0.1\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32164 msgid "The host to bind the web service to." msgstr "Сервис rottlog." #. type: item #: guix-git/doc/guix.texi:32165 #, no-wrap msgid "@code{getmail-idle-mailboxes} (default: @code{#f})" msgstr "@code{parallel-builds} (default: @code{1})" #. type: table #: guix-git/doc/guix.texi:32168 msgid "" "If set, this is the list of mailboxes that the getmail service will be " "configured to listen to." msgstr "" #. type: item #: guix-git/doc/guix.texi:32169 #, no-wrap msgid "@code{commits-getmail-retriever-configuration} (default: @code{#f})" msgstr "@code{compression-level} (default: @code{3})" #. type: table #: guix-git/doc/guix.texi:32173 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 "" #. type: item #: guix-git/doc/guix.texi:32174 #, no-wrap msgid "@code{extra-options} (default: @var{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32176 msgid "Extra command line options for @code{guix-data-service}." msgstr "" "Дополнительные параметры командной строки для @code {guix-data-service}." #. type: item #: guix-git/doc/guix.texi:32177 #, no-wrap msgid "@code{extra-process-jobs-options} (default: @var{'()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:32179 msgid "Extra command line options for @code{guix-data-service-process-jobs}." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32186 #, no-wrap msgid "oom" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32187 #, no-wrap msgid "out of memory killer" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32188 #, no-wrap msgid "earlyoom" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32189 #, no-wrap msgid "early out of memory daemon" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32190 #, no-wrap msgid "Early OOM Service" msgstr "Почтовые сервисы" #. type: Plain text #: guix-git/doc/guix.texi:32197 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 "" #. type: deffn #: guix-git/doc/guix.texi:32198 #, no-wrap msgid "{Scheme Variable} earlyoom-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:32203 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 "" #. type: lisp #: guix-git/doc/guix.texi:32206 #, no-wrap msgid "(service earlyoom-service-type)\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32209 #, no-wrap msgid "{Data Type} earlyoom-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32211 msgid "This is the configuration record for the @code{earlyoom-service-type}." msgstr "" #. type: item #: guix-git/doc/guix.texi:32213 #, no-wrap msgid "@code{earlyoom} (default: @var{earlyoom})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32215 msgid "The Earlyoom package to use." msgstr "Используемый пакет Earlyoom." #. type: item #: guix-git/doc/guix.texi:32216 #, no-wrap msgid "@code{minimum-available-memory} (default: @code{10})" msgstr "@code{parallel-builds} (default: @code{1})" #. type: table #: guix-git/doc/guix.texi:32218 msgid "The threshold for the minimum @emph{available} memory, in percentages." msgstr "" #. type: item #: guix-git/doc/guix.texi:32219 #, no-wrap msgid "@code{minimum-free-swap} (default: @code{10})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32221 msgid "The threshold for the minimum free swap memory, in percentages." msgstr "" #. type: item #: guix-git/doc/guix.texi:32222 #, no-wrap msgid "@code{prefer-regexp} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32225 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:32226 #, no-wrap msgid "@code{avoid-regexp} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32229 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:32230 #, no-wrap msgid "@code{memory-report-interval} (default: @code{0})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32233 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:32234 #, no-wrap msgid "@code{ignore-positive-oom-score-adj?} (default: @code{#f})" msgstr "@code{compression-level} (default: @code{3})" #. type: table #: guix-git/doc/guix.texi:32237 msgid "" "A boolean indicating whether the positive adjustments set in @file{/proc/*/" "oom_score_adj} should be ignored." msgstr "" #. type: item #: guix-git/doc/guix.texi:32238 #, no-wrap msgid "@code{show-debug-messages?} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32241 msgid "" "A boolean indicating whether debug messages should be printed. The logs are " "saved at @file{/var/log/earlyoom.log}." msgstr "" #. type: item #: guix-git/doc/guix.texi:32242 #, no-wrap msgid "@code{send-notification-command} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32245 msgid "" "This can be used to provide a custom command used for sending notifications." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32248 #, no-wrap msgid "modprobe" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32249 #, no-wrap msgid "kernel module loader" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32250 #, no-wrap msgid "Kernel Module Loader Service" msgstr "Сервисы Kerberos" #. type: Plain text #: guix-git/doc/guix.texi:32256 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 "" #. type: deffn #: guix-git/doc/guix.texi:32257 #, no-wrap msgid "{Scheme Variable} kernel-module-loader-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: deffn #: guix-git/doc/guix.texi:32263 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 "" #. type: lisp #: guix-git/doc/guix.texi:32268 #, no-wrap msgid "" "(use-modules (gnu) (gnu services))\n" "(use-package-modules linux)\n" "(use-service-modules linux)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:32272 #, no-wrap msgid "" "(define ddcci-config\n" " (plain-file \"ddcci.conf\"\n" " \"options ddcci dyndbg delay=120\"))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:32282 #, 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 "" #. type: cindex #: guix-git/doc/guix.texi:32285 #, no-wrap msgid "rasdaemon" msgstr "демон" #. type: cindex #: guix-git/doc/guix.texi:32286 #, no-wrap msgid "Platform Reliability, Availability and Serviceability daemon" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32287 #, no-wrap msgid "Rasdaemon Service" msgstr "Почтовые сервисы" #. type: Plain text #: guix-git/doc/guix.texi:32292 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 "" #. type: Plain text #: guix-git/doc/guix.texi:32295 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:32298 msgid "" "@strong{Relability} is the probability that a system will produce correct " "outputs:" msgstr "" #. type: item #: guix-git/doc/guix.texi:32300 #, no-wrap msgid "Generally measured as Mean Time Between Failures (MTBF), and" msgstr "" #. type: item #: guix-git/doc/guix.texi:32301 #, no-wrap msgid "Enhanced by features that help to avoid, detect and repair hardware" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:32303 msgid "faults" msgstr "по умолчанию" #. type: Plain text #: guix-git/doc/guix.texi:32307 msgid "" "@strong{Availability} is the probability that a system is operational at a " "given time:" msgstr "" #. type: item #: guix-git/doc/guix.texi:32309 #, no-wrap msgid "Generally measured as a percentage of downtime per a period of time, and" msgstr "" #. type: item #: guix-git/doc/guix.texi:32310 #, no-wrap msgid "Often uses mechanisms to detect and correct hardware faults in runtime." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32315 msgid "" "@strong{Serviceability} is the simplicity and speed with which a system can " "be repaired or maintained:" msgstr "" #. type: item #: guix-git/doc/guix.texi:32317 #, no-wrap msgid "Generally measured on Mean Time Between Repair (MTBR)." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32322 msgid "Among the monitoring measures, the most usual ones include:" msgstr "" #. type: item #: guix-git/doc/guix.texi:32324 #, no-wrap msgid "CPU – detect errors at instruction execution and at L1/L2/L3 caches;" msgstr "" #. type: item #: guix-git/doc/guix.texi:32325 #, no-wrap msgid "Memory – add error correction logic (ECC) to detect and correct errors;" msgstr "" #. type: item #: guix-git/doc/guix.texi:32326 #, no-wrap msgid "I/O – add CRC checksums for transferred data;" msgstr "" #. type: item #: guix-git/doc/guix.texi:32327 #, no-wrap msgid "Storage – RAID, journal file systems, checksums, Self-Monitoring," msgstr "" #. type: itemize #: guix-git/doc/guix.texi:32329 msgid "Analysis and Reporting Technology (SMART)." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32335 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:32339 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 "" #. type: defvr #: guix-git/doc/guix.texi:32340 #, no-wrap msgid "{Scheme Variable} rasdaemon-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:32343 msgid "" "Service type for the @command{rasdaemon} service. It accepts a " "@code{rasdaemon-configuration} object. Instantiating like" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:32346 #, no-wrap msgid "(service rasdaemon-service-type)\n" msgstr "(service openssh-service-type)\n" #. type: defvr #: guix-git/doc/guix.texi:32350 msgid "" "will load with a default configuration, which monitors all events and logs " "to syslogd." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32352 #, no-wrap msgid "{Data Type} rasdaemon-configuration" msgstr "{Data Type} pagekite-configuration" #. type: deftp #: guix-git/doc/guix.texi:32354 msgid "The data type representing the configuration of @command{rasdaemon}." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:32356 #, no-wrap msgid "@code{record?} (default: @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:32361 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 "" #. type: cindex #: guix-git/doc/guix.texi:32365 #, no-wrap msgid "zram" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32366 #, no-wrap msgid "compressed swap" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32367 #, no-wrap msgid "Compressed RAM-based block devices" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32368 #, no-wrap msgid "Zram Device Service" msgstr "Игровые службы" #. type: Plain text #: guix-git/doc/guix.texi:32374 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 "" #. type: deffn #: guix-git/doc/guix.texi:32375 #, no-wrap msgid "{Scheme Variable} zram-device-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: deffn #: guix-git/doc/guix.texi:32379 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 "" #. type: deftp #: guix-git/doc/guix.texi:32380 #, no-wrap msgid "{Data Type} zram-device-configuration" msgstr "{Data Type} pagekite-configuration" #. type: deftp #: guix-git/doc/guix.texi:32383 msgid "" "This is the data type representing the configuration for the zram-device " "service." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:32385 #, no-wrap msgid "@code{size} (default @code{\"1G\"})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32389 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 "" #. type: item #: guix-git/doc/guix.texi:32389 #, no-wrap msgid "@code{compression-algorithm} (default @code{'lzo})" msgstr "@code{compression-level} (default: @code{3})" #. type: table #: guix-git/doc/guix.texi:32393 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 "" #. type: item #: guix-git/doc/guix.texi:32393 #, no-wrap msgid "@code{memory-limit} (default @code{0})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32400 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 "" #. type: item #: guix-git/doc/guix.texi:32400 #, no-wrap msgid "@code{priority} (default @code{-1})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32405 msgid "" "This is the priority of the swap device created from the zram device. " "@code{swapon} accepts values between -1 and 32767, with higher values " "indicating higher priority. Higher priority swap will generally be used " "first." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32413 #, no-wrap msgid "{Scheme Variable} hurd-console-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:32415 msgid "This service starts the fancy @code{VGA} console client on the Hurd." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32417 msgid "The service's value is a @code{hurd-console-configuration} record." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32419 #, no-wrap msgid "{Data Type} hurd-console-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:32422 msgid "" "This is the data type representing the configuration for the hurd-console-" "service." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:32424 guix-git/doc/guix.texi:32440 #, no-wrap msgid "@code{hurd} (default: @var{hurd})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32426 guix-git/doc/guix.texi:32442 msgid "The Hurd package to use." msgstr "Используемый пакет Hurd." #. type: defvr #: guix-git/doc/guix.texi:32429 #, no-wrap msgid "{Scheme Variable} hurd-getty-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:32431 msgid "This service starts a tty using the Hurd @code{getty} program." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32433 msgid "The service's value is a @code{hurd-getty-configuration} record." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32435 #, no-wrap msgid "{Data Type} hurd-getty-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:32438 msgid "" "This is the data type representing the configuration for the hurd-getty-" "service." msgstr "Управление конфигурацией операционной системы." #. type: table #: guix-git/doc/guix.texi:32445 msgid "The name of the console this Getty runs on---e.g., @code{\"tty1\"}." msgstr "" #. type: item #: guix-git/doc/guix.texi:32446 #, no-wrap msgid "@code{baud-rate} (default: @code{38400})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32448 msgid "An integer specifying the baud rate of the tty." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32455 #, no-wrap msgid "fingerprint" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32456 #, no-wrap msgid "Fingerprint Service" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32460 msgid "" "The @code{(gnu services authentication)} module provides a DBus service to " "read and identify fingerprints via a fingerprint sensor." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32461 #, no-wrap msgid "{Scheme Variable} fprintd-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32464 msgid "" "The service type for @command{fprintd}, which provides the fingerprint " "reading capability." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:32467 #, no-wrap msgid "(service fprintd-service-type)\n" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32470 #, no-wrap msgid "sysctl" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32471 #, no-wrap msgid "System Control Service" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32475 msgid "" "The @code{(gnu services sysctl)} provides a service to configure kernel " "parameters at boot." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32476 #, no-wrap msgid "{Scheme Variable} sysctl-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32480 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 "" #. type: lisp #: guix-git/doc/guix.texi:32485 #, no-wrap msgid "" "(service sysctl-service-type\n" " (sysctl-configuration\n" " (settings '((\"net.ipv4.ip_forward\" . \"1\")))))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32492 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:32499 #, 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 "" "(service postgresql-role-service-type\n" " (postgresql-role-configuration\n" " (roles\n" " (list (postgresql-role\n" " (name \"test\")\n" " (create-database? #t))))))\n" #. type: deftp #: guix-git/doc/guix.texi:32503 #, no-wrap msgid "{Data Type} sysctl-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32505 msgid "The data type representing the configuration of @command{sysctl}." msgstr "" #. type: item #: guix-git/doc/guix.texi:32507 #, no-wrap msgid "@code{sysctl} (default: @code{(file-append procps \"/sbin/sysctl\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32509 msgid "The @command{sysctl} executable to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:32510 #, no-wrap msgid "@code{settings} (default: @code{%default-sysctl-settings})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32512 msgid "An association list specifies kernel parameters and their values." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32515 #, no-wrap msgid "{Scheme Variable} %default-sysctl-settings" msgstr "{Scheme Variable} ant-build-system" #. type: defvr #: guix-git/doc/guix.texi:32518 msgid "" "An association list specifying the default @command{sysctl} parameters on " "Guix System." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32520 #, no-wrap msgid "pcscd" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32521 #, no-wrap msgid "PC/SC Smart Card Daemon Service" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32528 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 "" #. type: defvr #: guix-git/doc/guix.texi:32529 #, no-wrap msgid "{Scheme Variable} pcscd-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32533 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 "" #. type: lisp #: guix-git/doc/guix.texi:32536 #, no-wrap msgid "(service pcscd-service-type)\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32539 #, no-wrap msgid "{Data Type} pcscd-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32541 msgid "The data type representing the configuration of @command{pcscd}." msgstr "" #. type: item #: guix-git/doc/guix.texi:32543 #, no-wrap msgid "@code{pcsc-lite} (default: @code{pcsc-lite})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32545 msgid "The pcsc-lite package that provides pcscd." msgstr "" #. type: item #: guix-git/doc/guix.texi:32545 #, no-wrap msgid "@code{usb-drivers} (default: @code{(list ccid)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32548 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 "" #. type: cindex #: guix-git/doc/guix.texi:32551 #, no-wrap msgid "lirc" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32552 #, no-wrap msgid "Lirc Service" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32555 msgid "The @code{(gnu services lirc)} module provides the following service." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:32556 #, no-wrap msgid "{Scheme Procedure} lirc-service [#:lirc lirc] @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:32561 msgid "" "[#:device #f] [#:driver #f] [#:config-file #f] @ [#:extra-options '()] " "Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that " "decodes infrared signals from remote controls." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:32565 msgid "" "Optionally, @var{device}, @var{driver} and @var{config-file} (configuration " "file name) may be specified. See @command{lircd} manual for details." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:32568 msgid "" "Finally, @var{extra-options} is a list of additional command-line options " "passed to @command{lircd}." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32570 #, no-wrap msgid "spice" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32571 #, no-wrap msgid "Spice Service" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32574 msgid "The @code{(gnu services spice)} module provides the following service." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:32575 #, no-wrap msgid "{Scheme Procedure} spice-vdagent-service [#:spice-vdagent]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:32579 msgid "" "Returns a 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 "" #. type: cindex #: guix-git/doc/guix.texi:32581 #, no-wrap msgid "inputattach" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32582 #, no-wrap msgid "inputattach Service" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32584 #, no-wrap msgid "tablet input, for Xorg" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32585 #, no-wrap msgid "touchscreen input, for Xorg" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32589 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 "" #. type: deffn #: guix-git/doc/guix.texi:32590 #, no-wrap msgid "{Scheme Variable} inputattach-service-type" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:32593 msgid "" "Type of a service that runs @command{inputattach} on a device and dispatches " "events from it." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32595 #, no-wrap msgid "{Data Type} inputattach-configuration" msgstr "" #. type: item #: guix-git/doc/guix.texi:32597 #, no-wrap msgid "@code{device-type} (default: @code{\"wacom\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32600 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 "" #. type: item #: guix-git/doc/guix.texi:32601 #, no-wrap msgid "@code{device} (default: @code{\"/dev/ttyS0\"})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32603 msgid "The device file to connect to the device." msgstr "" #. type: table #: guix-git/doc/guix.texi:32607 msgid "" "Baud rate to use for the serial connection. Should be a number or @code{#f}." msgstr "" #. type: item #: guix-git/doc/guix.texi:32608 #, no-wrap msgid "@code{log-file} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32610 msgid "If true, this must be the name of a file to log messages to." msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32613 #, no-wrap msgid "Dictionary Service" msgstr "Создание служб" #. type: cindex #: guix-git/doc/guix.texi:32614 #, no-wrap msgid "dictionary" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32616 msgid "The @code{(gnu services dict)} module provides the following service:" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32617 #, no-wrap msgid "{Scheme Variable} dicod-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:32620 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 "" #. type: deffn #: guix-git/doc/guix.texi:32622 #, no-wrap msgid "{Scheme Procedure} dicod-service [#:config (dicod-configuration)]" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:32625 msgid "" "Return a service that runs the @command{dicod} daemon, an implementation of " "DICT server (@pxref{Dicod,,, dico, GNU Dico Manual})." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:32629 msgid "" "The optional @var{config} argument specifies the configuration for " "@command{dicod}, which should be a @code{} object, by " "default it serves the GNU Collaborative International Dictionary of English." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:32633 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 "" #. type: deftp #: guix-git/doc/guix.texi:32635 #, no-wrap msgid "{Data Type} dicod-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32637 msgid "Data type representing the configuration of dicod." msgstr "" #. type: item #: guix-git/doc/guix.texi:32639 #, no-wrap msgid "@code{dico} (default: @var{dico})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32641 msgid "Package object of the GNU Dico dictionary server." msgstr "" #. type: item #: guix-git/doc/guix.texi:32642 #, no-wrap msgid "@code{interfaces} (default: @var{'(\"localhost\")})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32646 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 "" #. type: item #: guix-git/doc/guix.texi:32647 #, no-wrap msgid "@code{handlers} (default: @var{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32649 msgid "" "List of @code{} objects denoting handlers (module instances)." msgstr "" #. type: item #: guix-git/doc/guix.texi:32650 #, no-wrap msgid "@code{databases} (default: @var{(list %dicod-database:gcide)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32652 msgid "" "List of @code{} objects denoting dictionaries to be served." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32655 #, no-wrap msgid "{Data Type} dicod-handler" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32657 msgid "Data type representing a dictionary handler (module instance)." msgstr "" #. type: table #: guix-git/doc/guix.texi:32661 msgid "Name of the handler (module instance)." msgstr "" #. type: item #: guix-git/doc/guix.texi:32662 #, no-wrap msgid "@code{module} (default: @var{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32666 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 "" #. type: table #: guix-git/doc/guix.texi:32669 msgid "" "List of strings or gexps representing the arguments for the module handler" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32672 #, no-wrap msgid "{Data Type} dicod-database" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32674 msgid "Data type representing a dictionary database." msgstr "" #. type: table #: guix-git/doc/guix.texi:32678 msgid "Name of the database, will be used in DICT commands." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:32679 #, no-wrap msgid "handler" msgstr "" #. type: table #: guix-git/doc/guix.texi:32682 msgid "" "Name of the dicod handler (module instance) used by this database " "(@pxref{Handlers,,, dico, GNU Dico Manual})." msgstr "" #. type: item #: guix-git/doc/guix.texi:32683 #, no-wrap msgid "@code{complex?} (default: @var{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32686 msgid "" "Whether the database configuration complex. The complex configuration will " "need a corresponding @code{} object, otherwise not." msgstr "" #. type: table #: guix-git/doc/guix.texi:32690 msgid "" "List of strings or gexps representing the arguments for the database " "(@pxref{Databases,,, dico, GNU Dico Manual})." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32693 #, no-wrap msgid "{Scheme Variable} %dicod-database:gcide" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32696 msgid "" "A @code{} object serving the GNU Collaborative International " "Dictionary of English using the @code{gcide} package." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32699 msgid "The following is an example @code{dicod-service} configuration." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:32714 #, no-wrap msgid "" "(dicod-service #:config\n" " (dicod-configuration\n" " (handlers (list (dicod-handler\n" " (name \"wordnet\")\n" " (module \"dictorg\")\n" " (options\n" " (list #~(string-append \"dbdir=\" #$wordnet))))))\n" " (databases (list (dicod-database\n" " (name \"wordnet\")\n" " (complex? #t)\n" " (handler \"wordnet\")\n" " (options '(\"database=wn\")))\n" " %dicod-database:gcide))))\n" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32716 #, no-wrap msgid "Docker" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32717 #, no-wrap msgid "Docker Service" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32720 msgid "" "The @code{(gnu services docker)} module provides the following services." msgstr "Модуль @code{(gnu services docker)} предоставляет следующие сервисы." #. type: defvr #: guix-git/doc/guix.texi:32721 #, no-wrap msgid "{Scheme Variable} docker-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32726 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 "" #. type: deftp #: guix-git/doc/guix.texi:32729 #, no-wrap msgid "{Data Type} docker-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32731 msgid "" "This is the data type representing the configuration of Docker and " "Containerd." msgstr "" #. type: item #: guix-git/doc/guix.texi:32734 #, fuzzy, no-wrap #| msgid "@code{package} (default: @code{docker-cli})" msgid "@code{docker} (default: @code{docker})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32736 msgid "The Docker daemon package to use." msgstr "Используемый пакет Docker демона." #. type: item #: guix-git/doc/guix.texi:32737 #, fuzzy, no-wrap #| msgid "@code{package} (default: @code{docker-cli})" msgid "@code{docker-cli} (default: @code{docker-cli})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32739 msgid "The Docker client package to use." msgstr "Используемый Docker клиент." #. type: item #: guix-git/doc/guix.texi:32740 #, no-wrap msgid "@code{containerd} (default: @var{containerd})" msgstr "" #. type: table #: guix-git/doc/guix.texi:32742 msgid "The Containerd package to use." msgstr "" #. type: item #: guix-git/doc/guix.texi:32743 #, no-wrap msgid "@code{proxy} (default @var{docker-libnetwork-cmd-proxy})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32745 msgid "The Docker user-land networking proxy package to use." msgstr "Используемый пользователей сетевой прокси-пакет Docker." #. type: item #: guix-git/doc/guix.texi:32746 #, no-wrap msgid "@code{enable-proxy?} (default @code{#t})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32748 msgid "Enable or disable the use of the Docker user-land networking proxy." msgstr "" #. type: item #: guix-git/doc/guix.texi:32749 #, no-wrap msgid "@code{debug?} (default @code{#f})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:32751 msgid "Enable or disable debug output." msgstr "Как включить или отключить подстановки." #. type: item #: guix-git/doc/guix.texi:32752 #, no-wrap msgid "@code{enable-iptables?} (default @code{#t})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32754 msgid "Enable or disable the addition of iptables rules." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32758 #, no-wrap msgid "Singularity, container service" msgstr "целостность, склада" #. type: defvr #: guix-git/doc/guix.texi:32759 #, no-wrap msgid "{Scheme Variable} singularity-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32764 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 "" #. type: defvr #: guix-git/doc/guix.texi:32768 msgid "" "The service does not install a daemon; instead, it installs helper programs " "as setuid-root (@pxref{Setuid Programs}) such that unprivileged users can " "invoke @command{singularity run} and similar commands." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:32770 #, no-wrap msgid "Audit" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32771 #, no-wrap msgid "Auditd Service" msgstr "Сервисы аудио" #. type: Plain text #: guix-git/doc/guix.texi:32774 msgid "The @code{(gnu services auditd)} module provides the following service." msgstr "Модуль @code{(gnu services auditd)} предоставляет следующие сервисы." #. type: defvr #: guix-git/doc/guix.texi:32775 #, no-wrap msgid "{Scheme Variable} auditd-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32780 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 "" #. type: defvr #: guix-git/doc/guix.texi:32782 msgid "Examples of things that can be tracked:" msgstr "" #. type: enumerate #: guix-git/doc/guix.texi:32786 msgid "File accesses" msgstr "Файловые системы" #. type: enumerate #: guix-git/doc/guix.texi:32788 msgid "System calls" msgstr "Установка системы" #. type: enumerate #: guix-git/doc/guix.texi:32790 msgid "Invoked commands" msgstr "Вызов @command{guix gc}" #. type: enumerate #: guix-git/doc/guix.texi:32792 msgid "Failed login attempts" msgstr "" #. type: enumerate #: guix-git/doc/guix.texi:32794 msgid "Firewall filtering" msgstr "" #. type: enumerate #: guix-git/doc/guix.texi:32796 msgid "Network access" msgstr "Сервисы сети" #. type: defvr #: guix-git/doc/guix.texi:32807 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 "" #. type: deftp #: guix-git/doc/guix.texi:32810 #, no-wrap msgid "{Data Type} auditd-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:32812 msgid "This is the data type representing the configuration of auditd." msgstr "" #. type: item #: guix-git/doc/guix.texi:32815 #, no-wrap msgid "@code{audit} (default: @code{audit})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32817 msgid "The audit package to use." msgstr "Пакет аудита для использования." #. type: item #: guix-git/doc/guix.texi:32818 #, no-wrap msgid "@code{configuration-directory} (default: @code{%default-auditd-configuration-directory})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:32822 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 "" #. type: cindex #: guix-git/doc/guix.texi:32826 #, no-wrap msgid "rshiny" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32827 #, no-wrap msgid "R-Shiny service" msgstr "Сервисы DNS" #. type: Plain text #: guix-git/doc/guix.texi:32830 msgid "" "The @code{(gnu services science)} module provides the following service." msgstr "Модуль @code{(gnu services science)} предоставляет следующие сервис." #. type: defvr #: guix-git/doc/guix.texi:32831 #, no-wrap msgid "{Scheme Variable} rshiny-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:32836 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 "" #. type: deftp #: guix-git/doc/guix.texi:32837 #, no-wrap msgid "{Data Type} rshiny-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:32839 msgid "This is the data type representing the configuration of rshiny." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:32842 #, no-wrap msgid "@code{package} (default: @code{r-shiny})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32844 msgid "The package to use." msgstr "Пакет для использования." #. type: item #: guix-git/doc/guix.texi:32845 #, no-wrap msgid "@code{binary} (defaunlt @code{\"rshiny\"})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32848 msgid "" "The name of the binary or shell script located at @code{package/bin/} to run " "when the service is run." msgstr "" #. type: table #: guix-git/doc/guix.texi:32850 msgid "The common way to create this file is as follows:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:32868 #, 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 (string-append (assoc-ref %build-inputs \"r-min\")\n" " \"/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 "" #. type: cindex #: guix-git/doc/guix.texi:32874 #, no-wrap msgid "Nix" msgstr "" #. type: subsubheading #: guix-git/doc/guix.texi:32875 #, no-wrap msgid "Nix service" msgstr "Сервисы DNS" #. type: Plain text #: guix-git/doc/guix.texi:32878 msgid "The @code{(gnu services nix)} module provides the following service." msgstr "Модуль @code{(gnu services nix)} предоставляет следующий сервис." #. type: defvr #: guix-git/doc/guix.texi:32879 #, no-wrap msgid "{Scheme Variable} nix-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32884 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 "" #. type: lisp #: guix-git/doc/guix.texi:32889 #, no-wrap msgid "" "(use-modules (gnu))\n" "(use-service-modules nix)\n" "(use-package-modules package-management)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:32894 #, no-wrap msgid "" "(operating-system\n" " ;; @dots{}\n" " (packages (append (list nix)\n" " %base-packages))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:32897 #, no-wrap msgid "" " (services (append (list (service nix-service-type))\n" " %base-services)))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32900 msgid "After @command{guix system reconfigure} configure Nix for your user:" msgstr "" #. type: item #: guix-git/doc/guix.texi:32902 #, no-wrap msgid "Add a Nix channel and update it. See" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:32904 msgid "@url{https://nixos.org/nix/manual/, Nix Package Manager Guide}." msgstr "" #. type: item #: guix-git/doc/guix.texi:32905 #, no-wrap msgid "Create a symlink to your profile and activate Nix profile:" msgstr "" #. type: example #: guix-git/doc/guix.texi:32911 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:32915 #, no-wrap msgid "{Data Type} nix-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:32917 msgid "This data type represents the configuration of the Nix daemon." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:32919 #, no-wrap msgid "@code{nix} (default: @code{nix})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:32921 msgid "The Nix package to use." msgstr "Используемый пакет Nix." #. type: item #: guix-git/doc/guix.texi:32922 #, no-wrap msgid "@code{sandbox} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32924 msgid "Specifies whether builds are sandboxed by default." msgstr "" #. type: item #: guix-git/doc/guix.texi:32925 #, no-wrap msgid "@code{build-sandbox-items} (default: @code{'()})" msgstr "@code{inputs} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:32928 msgid "" "This is a list of strings or objects appended to the @code{build-sandbox-" "items} field of the configuration file." msgstr "" #. type: table #: guix-git/doc/guix.texi:32936 msgid "Extra command line options for @code{nix-service-type}." msgstr "Дополнительные параметры командной строки для @code{nix-service-type}." #. type: cindex #: guix-git/doc/guix.texi:32942 #, no-wrap msgid "setuid programs" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32952 msgid "" "Some programs need to run with ``root'' 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, " "these executables are @dfn{setuid-root}, meaning that they always run with " "root privileges (@pxref{How Change Persona,,, libc, The GNU C Library " "Reference Manual}, for more info about the setuid mechanism)." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32959 msgid "" "The store itself @emph{cannot} contain setuid 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 changing the setuid bit directly on files that are in the " "store, we let the system administrator @emph{declare} which programs should " "be setuid root." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32966 msgid "" "The @code{setuid-programs} field of an @code{operating-system} declaration " "contains a list of @code{} denoting the names of programs to " "have a setuid or setgid bit set (@pxref{Using the Configuration System}). " "For instance, the @command{passwd} program, which is part of the Shadow " "package, with a setuid root can be designated like this:" msgstr "" #. type: example #: guix-git/doc/guix.texi:32970 #, no-wrap msgid "" "(setuid-program\n" " (program (file-append shadow \"/bin/passwd\")))\n" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:32972 #, fuzzy, no-wrap #| msgid "{Data Type} ganeti-os" msgid "{Data Type} setuid-program" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:32974 #, fuzzy #| msgid "This data type represents the configuration of the Nix daemon." msgid "This data type represents a program with a setuid or setgid bit set." msgstr "Управление конфигурацией операционной системы." #. type: code{#1} #: guix-git/doc/guix.texi:32976 #, no-wrap msgid "program" msgstr "" #. type: table #: guix-git/doc/guix.texi:32978 msgid "A file-like object having its setuid and/or setgid bit set." msgstr "" #. type: item #: guix-git/doc/guix.texi:32979 #, fuzzy, no-wrap #| msgid "@code{ssl?} (default: @code{#t})" msgid "@code{setuid?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32981 #, fuzzy #| msgid "Whether to use a snippet, or a build phase." msgid "Whether to set user setuid bit." msgstr "Где использовать сниппет, а где фазу сборки." #. type: item #: guix-git/doc/guix.texi:32982 #, fuzzy, no-wrap #| msgid "@code{silent?} (default: @code{#f})" msgid "@code{setgid?} (default: @code{#f})" msgstr "@code{snippet} (по умолчанию: @code{#f})" #. type: table #: guix-git/doc/guix.texi:32984 msgid "Whether to set group setgid bit." msgstr "" #. type: item #: guix-git/doc/guix.texi:32985 #, fuzzy, no-wrap msgid "@code{user} (default: @code{0})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32988 msgid "" "UID (integer) or user name (string) for the user owner of the program, " "defaults to root." msgstr "" #. type: item #: guix-git/doc/guix.texi:32989 #, fuzzy, no-wrap #| msgid "@code{group} (default: @code{\"agate\"})" msgid "@code{group} (default: @code{0})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:32992 msgid "" "GID (integer) goup name (string) for the group owner of the program, " "defaults to root." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:32998 msgid "" "A default set of setuid programs is defined by the @code{%setuid-programs} " "variable of the @code{(gnu system)} module." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:32999 #, no-wrap msgid "{Scheme Variable} %setuid-programs" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:33002 msgid "" "A list of @code{} denoting common programs that are setuid-" "root." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:33005 msgid "" "The list includes commands such as @command{passwd}, @command{ping}, " "@command{su}, and @command{sudo}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:33011 msgid "" "Under the hood, the actual setuid programs are created in the @file{/run/" "setuid-programs} directory at system activation time. The files in this " "directory refer to the ``real'' binaries, which are in the store." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33015 #, no-wrap msgid "HTTPS, certificates" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33016 #, no-wrap msgid "X.509 certificates" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33017 #, no-wrap msgid "TLS" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:33024 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33028 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33032 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33039 msgid "" "In Guix, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33044 msgid "" "Note that it is @emph{not} part of @code{%base-packages}, so you 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33054 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 "" #. type: example #: guix-git/doc/guix.texi:33060 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33065 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 "" #. type: example #: guix-git/doc/guix.texi:33069 #, no-wrap msgid "" "guix install nss-certs\n" "export CURL_CA_BUNDLE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n" msgstr "" "$ guix install glibc-locales\n" "$ export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale\n" #. type: Plain text #: guix-git/doc/guix.texi:33073 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:33078 #, no-wrap msgid "name service switch" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33079 #, no-wrap msgid "NSS" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:33088 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33095 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 "" #. type: cindex #: guix-git/doc/guix.texi:33096 #, no-wrap msgid "nss-mdns" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33097 #, no-wrap msgid ".local, host name lookup" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:33102 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 "" #. type: lisp #: guix-git/doc/guix.texi:33106 #, no-wrap msgid "" "(name-service-switch\n" " (hosts (list %files ;first, check /etc/hosts\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:33111 #, no-wrap msgid "" " ;; If the above did not succeed, try\n" " ;; with 'mdns_minimal'.\n" " (name-service\n" " (name \"mdns_minimal\")\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:33117 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:33121 #, no-wrap msgid "" " ;; Then fall back to DNS.\n" " (name-service\n" " (name \"dns\"))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:33125 #, no-wrap msgid "" " ;; Finally, try with the \"full\" 'mdns'.\n" " (name-service\n" " (name \"mdns\")))))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:33130 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33138 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33141 msgid "" "For convenience, the following variables provide typical NSS configurations." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:33142 #, no-wrap msgid "{Scheme Variable} %default-nss" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:33145 msgid "" "This is the default name service switch configuration, a @code{name-service-" "switch} object." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:33147 #, no-wrap msgid "{Scheme Variable} %mdns-host-lookup-nss" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:33150 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33160 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 "" #. type: deftp #: guix-git/doc/guix.texi:33161 #, no-wrap msgid "{Data Type} name-service-switch" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:33166 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 "" #. type: item #: guix-git/doc/guix.texi:33168 #, no-wrap msgid "aliases" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:33169 #, no-wrap msgid "ethers" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:33171 #, no-wrap msgid "gshadow" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:33172 #, no-wrap msgid "hosts" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:33173 #, no-wrap msgid "initgroups" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:33174 #, no-wrap msgid "netgroup" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:33175 #, no-wrap msgid "networks" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:33178 #, no-wrap msgid "rpc" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:33180 #, no-wrap msgid "shadow" msgstr "" #. type: table #: guix-git/doc/guix.texi:33183 msgid "" "The system databases handled by the NSS@. Each of these fields must be a " "list of @code{} objects (see below)." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:33186 #, no-wrap msgid "{Data Type} name-service" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:33190 msgid "" "This is the data type representing an actual name service and the associated " "lookup action." msgstr "" #. type: table #: guix-git/doc/guix.texi:33195 msgid "" "A string denoting the name service (@pxref{Services in the NSS " "configuration,,, libc, The GNU C Library Reference Manual})." msgstr "" #. type: table #: guix-git/doc/guix.texi:33200 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 "" #. type: item #: guix-git/doc/guix.texi:33201 #, no-wrap msgid "reaction" msgstr "" #. type: table #: guix-git/doc/guix.texi:33205 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 "" #. type: lisp #: guix-git/doc/guix.texi:33209 #, no-wrap msgid "" "(lookup-specification (unavailable => continue)\n" " (success => return))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:33223 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33232 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 "" #. type: lisp #: guix-git/doc/guix.texi:33237 #, no-wrap msgid "" "(operating-system\n" " ;; @dots{}\n" " (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:33239 #, no-wrap msgid "{Scheme Variable} %base-initrd-modules" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:33241 msgid "This is the list of kernel modules included in the initrd by default." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:33249 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33254 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 "" #. type: lisp #: guix-git/doc/guix.texi:33262 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33267 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33274 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33279 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 "" #. type: item #: guix-git/doc/guix.texi:33281 #, no-wrap msgid "--load=@var{boot}" msgstr "" #. type: table #: guix-git/doc/guix.texi:33284 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 "" #. type: table #: guix-git/doc/guix.texi:33288 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 "" #. type: item #: guix-git/doc/guix.texi:33289 #, no-wrap msgid "--root=@var{root}" msgstr "" #. type: table #: guix-git/doc/guix.texi:33294 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 "" #. type: item #: guix-git/doc/guix.texi:33295 #, fuzzy, no-wrap #| msgid "--diff=@var{mode}" msgid "fsck.mode=@var{mode}" msgstr "--load=@var{file}" #. type: table #: guix-git/doc/guix.texi:33301 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 file-system object's 'check?' setting " "(@pxref{File Systems}) and run a full scan only if the file system was not " "cleanly shut down." msgstr "" #. type: table #: guix-git/doc/guix.texi:33304 msgid "" "@code{auto} is the default if this option is not present or if @var{mode} is " "not one of the above." msgstr "" #. type: item #: guix-git/doc/guix.texi:33305 #, fuzzy, no-wrap #| msgid "--debug=@var{level}" msgid "fsck.repair=@var{level}" msgstr "--debug=@var{level}" #. type: table #: guix-git/doc/guix.texi:33310 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 "" #. type: table #: guix-git/doc/guix.texi:33313 msgid "" "@code{preen} is the default if this option is not present or if @var{level} " "is not one of the above." msgstr "" #. type: table #: guix-git/doc/guix.texi:33317 msgid "" "Have @file{/run/booted-system} and @file{/run/current-system} point to " "@var{system}." msgstr "" #. type: item #: guix-git/doc/guix.texi:33318 #, no-wrap msgid "modprobe.blacklist=@var{modules}@dots{}" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33319 #, no-wrap msgid "module, black-listing" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33320 #, no-wrap msgid "black list, of kernel modules" msgstr "" #. type: table #: guix-git/doc/guix.texi:33325 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 "" #. type: item #: guix-git/doc/guix.texi:33326 #, no-wrap msgid "--repl" msgstr "" #. type: table #: guix-git/doc/guix.texi:33332 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33338 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 "" #. type: deffn #: guix-git/doc/guix.texi:33341 #, no-wrap msgid "{Scheme Procedure} raw-initrd @var{file-systems} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:33355 msgid "" "[#:linux-modules '()] [#: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{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 "" #. type: deffn #: guix-git/doc/guix.texi:33361 guix-git/doc/guix.texi:33385 msgid "" "When true, @var{keyboard-layout} is a @code{} 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 "" #. type: deffn #: guix-git/doc/guix.texi:33365 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 "" #. type: deffn #: guix-git/doc/guix.texi:33368 msgid "" "When @var{volatile-root?} is true, the root file system is writable but any " "changes to it are lost." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:33370 #, no-wrap msgid "{Scheme Procedure} base-initrd @var{file-systems} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:33379 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 "" #. type: deffn #: guix-git/doc/guix.texi:33387 msgid "" "@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-" "initrd}." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:33392 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33399 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 "" #. type: deffn #: guix-git/doc/guix.texi:33400 #, no-wrap msgid "{Scheme Procedure} expression->initrd @var{exp} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:33406 msgid "" "[#:guile %guile-static-stripped] [#: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 "" #. type: cindex #: guix-git/doc/guix.texi:33412 #, no-wrap msgid "boot loader" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:33419 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33424 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 "" #. type: deftp #: guix-git/doc/guix.texi:33425 #, no-wrap msgid "{Data Type} bootloader-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:33427 msgid "The type of a bootloader configuration declaration." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33431 #, no-wrap msgid "EFI, bootloader" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33432 #, no-wrap msgid "UEFI, bootloader" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33433 #, no-wrap msgid "BIOS, bootloader" msgstr "" #. type: table #: guix-git/doc/guix.texi:33438 msgid "" "The bootloader to use, as a @code{bootloader} object. For now @code{grub-" "bootloader}, @code{grub-efi-bootloader}, @code{grub-efi-netboot-bootloader}, " "@code{extlinux-bootloader} and @code{u-boot-bootloader} are supported." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33439 #, no-wrap msgid "ARM, bootloaders" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33440 #, no-wrap msgid "AArch64, bootloaders" msgstr "" #. type: table #: guix-git/doc/guix.texi:33445 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 "" #. type: table #: guix-git/doc/guix.texi:33451 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 "" #. type: table #: guix-git/doc/guix.texi:33455 msgid "" "@code{grub-bootloader} allows you to boot in particular Intel-based machines " "in ``legacy'' BIOS mode." msgstr "" #. type: vindex #: guix-git/doc/guix.texi:33456 #, no-wrap msgid "grub-efi-netboot-bootloader" msgstr "grub-efi-bootloader" #. type: table #: guix-git/doc/guix.texi:33460 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 "" #. type: table #: guix-git/doc/guix.texi:33466 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}}), 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." msgstr "" #. type: table #: guix-git/doc/guix.texi:33475 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 "" #. type: table #: guix-git/doc/guix.texi:33484 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 "" #. type: table #: guix-git/doc/guix.texi:33490 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 "" #. type: table #: guix-git/doc/guix.texi:33495 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 to your @code{targets}." msgstr "" #. type: table #: guix-git/doc/guix.texi:33500 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." msgstr "" #. type: table #: guix-git/doc/guix.texi:33505 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 "" #. type: table #: guix-git/doc/guix.texi:33509 msgid "" "This is a list of strings denoting the targets onto which to install the " "bootloader." msgstr "" #. type: table #: guix-git/doc/guix.texi:33519 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}, 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 "" #. type: item #: guix-git/doc/guix.texi:33520 #, no-wrap msgid "@code{menu-entries} (default: @code{()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:33524 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 "" #. type: item #: guix-git/doc/guix.texi:33525 #, no-wrap msgid "@code{default-entry} (default: @code{0})" msgstr "" #. type: table #: guix-git/doc/guix.texi:33528 msgid "" "The index of the default boot menu entry. Index 0 is for the entry of the " "current system." msgstr "" #. type: item #: guix-git/doc/guix.texi:33529 #, no-wrap msgid "@code{timeout} (default: @code{5})" msgstr "" #. type: table #: guix-git/doc/guix.texi:33532 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 "" #. type: cindex #: guix-git/doc/guix.texi:33533 #, no-wrap msgid "keyboard layout, for the bootloader" msgstr "" #. type: table #: guix-git/doc/guix.texi:33537 msgid "" "If this is @code{#f}, the bootloader's menu (if any) uses the default " "keyboard layout, usually US@tie{}English (``qwerty'')." msgstr "" #. type: table #: guix-git/doc/guix.texi:33540 msgid "" "Otherwise, this must be a @code{keyboard-layout} object (@pxref{Keyboard " "Layout})." msgstr "" #. type: quotation #: guix-git/doc/guix.texi:33544 msgid "" "This option is currently ignored by bootloaders other than @code{grub} and " "@code{grub-efi}." msgstr "" #. type: item #: guix-git/doc/guix.texi:33546 #, no-wrap msgid "@code{theme} (default: @var{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:33550 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 "" #. type: item #: guix-git/doc/guix.texi:33551 #, no-wrap msgid "@code{terminal-outputs} (default: @code{'(gfxterm)})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:33558 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 "" #. type: item #: guix-git/doc/guix.texi:33559 #, no-wrap msgid "@code{terminal-inputs} (default: @code{'()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:33567 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 "" #. type: item #: guix-git/doc/guix.texi:33568 #, no-wrap msgid "@code{serial-unit} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:33572 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 "" #. type: item #: guix-git/doc/guix.texi:33573 #, no-wrap msgid "@code{serial-speed} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:33577 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 "" #. type: cindex #: guix-git/doc/guix.texi:33581 #, no-wrap msgid "dual boot" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33582 #, no-wrap msgid "boot menu" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:33588 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 "" #. type: lisp #: guix-git/doc/guix.texi:33595 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:33598 msgid "Details below." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:33599 #, no-wrap msgid "{Data Type} menu-entry" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:33601 msgid "The type of an entry in the bootloader menu." msgstr "" #. type: table #: guix-git/doc/guix.texi:33606 msgid "The label to show in the menu---e.g., @code{\"GNU\"}." msgstr "" #. type: item #: guix-git/doc/guix.texi:33607 #, no-wrap msgid "@code{linux} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:33609 msgid "The Linux kernel image to boot, for example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:33612 #, no-wrap msgid "(file-append linux-libre \"/bzImage\")\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:33617 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 "" #. type: example #: guix-git/doc/guix.texi:33620 #, no-wrap msgid "\"(hd0,msdos1)/boot/vmlinuz\"\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:33624 msgid "" "If the device is specified explicitly as above, then the @code{device} field " "is ignored entirely." msgstr "" #. type: item #: guix-git/doc/guix.texi:33625 #, no-wrap msgid "@code{linux-arguments} (default: @code{()})" msgstr "" #. type: table #: guix-git/doc/guix.texi:33628 msgid "" "The list of extra Linux kernel command-line arguments---e.g., " "@code{(\"console=ttyS0\")}." msgstr "" #. type: item #: guix-git/doc/guix.texi:33629 #, no-wrap msgid "@code{initrd} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:33632 msgid "" "A G-Expression or string denoting the file name of the initial RAM disk to " "use (@pxref{G-Expressions})." msgstr "" #. type: item #: guix-git/doc/guix.texi:33633 #, no-wrap msgid "@code{device} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:33636 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 "" #. type: table #: guix-git/doc/guix.texi:33642 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 "" #. type: item #: guix-git/doc/guix.texi:33643 #, no-wrap msgid "@code{multiboot-kernel} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:33647 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 "" #. type: lisp #: guix-git/doc/guix.texi:33650 #, no-wrap msgid "(file-append mach \"/boot/gnumach\")\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:33652 #, no-wrap msgid "@code{multiboot-arguments} (default: @code{()})" msgstr "@code{arguments} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:33654 msgid "The list of extra command-line arguments for the multiboot-kernel." msgstr "" #. type: item #: guix-git/doc/guix.texi:33655 #, no-wrap msgid "@code{multiboot-modules} (default: @code{()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:33657 msgid "The list of commands for loading Multiboot modules. For example:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:33663 #, 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 "" #. type: cindex #: guix-git/doc/guix.texi:33668 guix-git/doc/guix.texi:33727 #, no-wrap msgid "HDPI" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33669 guix-git/doc/guix.texi:33728 #, no-wrap msgid "HiDPI" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33670 guix-git/doc/guix.texi:33729 #, no-wrap msgid "resolution" msgstr "изоляция" #. type: Plain text #: guix-git/doc/guix.texi:33674 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 "" #. type: deftp #: guix-git/doc/guix.texi:33675 #, no-wrap msgid "{Data Type} grub-theme" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:33677 msgid "Data type representing the configuration of the GRUB theme." msgstr "" #. type: item #: guix-git/doc/guix.texi:33679 #, no-wrap msgid "@code{gfxmode} (default: @code{'(\"auto\")})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:33682 msgid "" "The GRUB @code{gfxmode} to set (a list of screen resolution strings, " "@pxref{gfxmode,,, grub, GNU GRUB manual})." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:33685 #, no-wrap msgid "{Scheme Procedure} grub-theme" msgstr "{Процедура Scheme} sane-service-type" #. type: deffn #: guix-git/doc/guix.texi:33689 msgid "" "Return the default GRUB theme used by the operating system if no " "@code{theme} field is specified in @code{bootloader-configuration} record." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:33692 msgid "" "It comes with a fancy background image displaying the GNU and Guix logos." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:33696 msgid "" "For example, to override the default resolution, you may use something like" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:33704 #, no-wrap msgid "" "(bootloader\n" " (bootloader-configuration\n" " ;; @dots{}\n" " (theme (grub-theme\n" " (inherit (grub-theme))\n" " (gfxmode '(\"1024x786x32\" \"auto\"))))))\n" msgstr "" #. type: section #: guix-git/doc/guix.texi:33707 #, no-wrap msgid "Invoking @code{guix system}" msgstr "Вызов @code{guix deploy}" #. type: Plain text #: guix-git/doc/guix.texi:33712 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 "" "Однажды объявленное описание операционной системы, описанное в предыдущих " "разделах, может быть @dfn{применено} с помощью команды @command{guix " "system}. Синопсис:" #. type: example #: guix-git/doc/guix.texi:33715 #, no-wrap msgid "guix system @var{options}@dots{} @var{action} @var{file}\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:33721 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:33723 guix-git/doc/guix.texi:35896 #, no-wrap msgid "search" msgstr "" #. type: table #: guix-git/doc/guix.texi:33726 msgid "" "Display available service type definitions that match the given regular " "expressions, sorted by relevance:" msgstr "" "Показывает доступные определения типов служб, в соответствии с указанным " "регулярным выражениям, отсортированные по релевантности:" #. type: example #: guix-git/doc/guix.texi:33748 #, 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 "" #. type: example #: guix-git/doc/guix.texi:33754 #, 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 "" #. type: example #: guix-git/doc/guix.texi:33761 #, 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 "" #. type: example #: guix-git/doc/guix.texi:33763 guix-git/doc/guix.texi:35949 #, no-wrap msgid "@dots{}\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:33768 guix-git/doc/guix.texi:35954 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: item #: guix-git/doc/guix.texi:33769 guix-git/doc/guix.texi:35955 #, no-wrap msgid "reconfigure" msgstr "" #. type: table #: guix-git/doc/guix.texi:33774 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 System.}." #. type: quotation #: guix-git/doc/guix.texi:33782 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 pull} перед " "первым запуском @command{guix system reconfigure} (@pxref{Invoking guix " "pull}). В противном случае вы можете получить старую версию Guix после " "завершения @command{reconfigure}" #. type: table #: guix-git/doc/guix.texi:33790 msgid "" "This effects all the configuration specified in @var{file}: user accounts, " "system services, global package list, setuid 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}: учетные " "записи пользователей, системные службы, глобальный список пакетов, программы " "setuid и т.д. Команда запустит системные службы, указанные в @var{file}, " "которые в данный момент не запущены; если служба в данный момент запущена, " "изменения вступят в силу при следующем перезапуске (например@: по @code{herd " "stop X} или @code{herd restart X})." #. type: table #: guix-git/doc/guix.texi:33796 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:33801 msgid "" "It also 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:33802 guix-git/doc/guix.texi:34127 #: guix-git/doc/guix.texi:35079 #, no-wrap msgid "provenance tracking, of the operating system" msgstr "трекинг источника, артефакты программного обеспечения" #. type: table #: guix-git/doc/guix.texi:33807 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: example #: guix-git/doc/guix.texi:33810 #, no-wrap msgid "guix system describe\n" msgstr "guix system describe\n" #. type: table #: guix-git/doc/guix.texi:33816 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:33822 #, 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 "" #. type: table #: guix-git/doc/guix.texi:33828 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:33834 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:33835 guix-git/doc/guix.texi:36014 #, no-wrap msgid "switch-generation" msgstr "" #. type: table #: guix-git/doc/guix.texi:33844 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:33848 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:33852 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:33855 #, no-wrap msgid "guix system switch-generation 7\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:33863 guix-git/doc/guix.texi:36033 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:33866 #, no-wrap msgid "guix system switch-generation -- -1\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:33874 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:33876 guix-git/doc/guix.texi:36039 msgid "This action will fail if the specified generation does not exist." msgstr "" "Это действие завершится ошибкой, если указанное поколение не существует." #. type: item #: guix-git/doc/guix.texi:33877 guix-git/doc/guix.texi:36040 #, no-wrap msgid "roll-back" msgstr "" #. type: table #: guix-git/doc/guix.texi:33883 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:33887 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:33888 guix-git/doc/guix.texi:36046 #, no-wrap msgid "delete-generations" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33889 #, no-wrap msgid "deleting system generations" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33890 guix-git/doc/guix.texi:36048 #, no-wrap msgid "saving space" msgstr "" #. type: table #: guix-git/doc/guix.texi:33894 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:33898 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:33901 #, no-wrap msgid "guix system delete-generations\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:33905 msgid "" "You can also select the generations you want to delete. The example below " "deletes all the system generations that are more than two month old:" msgstr "" "Вы также можете выбрать поколения, которые хотите удалить. В приведенном " "примере удаляются все системные поколения, которым более двух месяцев:" #. type: example #: guix-git/doc/guix.texi:33908 #, no-wrap msgid "guix system delete-generations 2m\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:33913 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 "" "Выполнение этой команды автоматически переустановит загрузчик с обновлением " "меню—например, подменю \"old generations\" в GRUB не будет содержать " "удаленные поколения." #. type: table #: guix-git/doc/guix.texi:33918 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:33919 #, no-wrap msgid "init" msgstr "" #. type: table #: guix-git/doc/guix.texi:33923 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{файле}. Это полезно при первой установке системы " "Guix. В качестве примера:" #. type: example #: guix-git/doc/guix.texi:33926 #, no-wrap msgid "guix system init my-os-config.scm /mnt\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:33933 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:33937 #, fuzzy #| msgid "" #| "This command also installs bootloader on the target specified in @file{my-" #| "os-config}, unless the @option{--no-bootloader} option was passed." 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:33938 #, no-wrap msgid "vm" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33939 guix-git/doc/guix.texi:34500 #, no-wrap msgid "virtual machine" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33940 #, no-wrap msgid "VM" msgstr "" #. type: anchor{#1} #: guix-git/doc/guix.texi:33944 msgid "guix system vm" msgstr "" #. type: table #: guix-git/doc/guix.texi:33944 msgid "" "Build a virtual machine that contains the operating system declared in " "@var{file}, and return a script to run that virtual machine (VM)." msgstr "" "Собирает виртуальную машину, содержащую операционную систему, объявленную в " "@var{файле}, и возвращает скрипт для запуска этой виртуальной машины (ВМ)." #. type: quotation #: guix-git/doc/guix.texi:33952 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} и другие, приведенные ниже, могут использовать поддержку " "KVM ядра Linux-libre. В частности, если машина поддерживает аппаратную " "виртуализацию,следует загрузить соответствующий модуль ядра KVM а файл " "устройства @file{/dev/kvm} должен существовать и быть доступен для чтения и " "записи пользователю и процессамсборки демона (@pxref{Build Environment " "Setup})." #. type: table #: guix-git/doc/guix.texi:33957 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 оперативной памяти " "для эмулируемоймашины:" #. type: example #: guix-git/doc/guix.texi:33960 #, no-wrap msgid "$ /gnu/store/@dots{}-run-vm.sh -m 1024 -smp 2 -nic user,model=virtio-net-pci\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:33963 msgid "The VM shares its store with the host system." msgstr "" "Виртуальная машина использует свое хранилище совместно с хост-системой." #. type: table #: guix-git/doc/guix.texi:33968 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:33972 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{$HOME/tmp} хоста " "размещена в @file{/exchange} с правами на чтение и запись:" #. type: example #: guix-git/doc/guix.texi:33976 #, no-wrap msgid "" "guix system vm my-config.scm \\\n" " --expose=$HOME --share=$HOME/tmp=/exchange\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:33981 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:33987 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. The @option{--image-size} option can be used to specify the size " "of the image." msgstr "" "Опция @option{--full-boot} вызывает полную последовательность загрузки, " "начиная с загрузчика. При этом потребуется больше места на диске, так как " "образ, будет включать в себя по крайней мере ядро, initrd и загрузчик. " "Параметр @option{--image-size} можно использовать для указания размераобраза." #. type: cindex #: guix-git/doc/guix.texi:33988 #, no-wrap msgid "System images, creation in various formats" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:33989 #, no-wrap msgid "Creating system images in various formats" msgstr "" #. type: item #: guix-git/doc/guix.texi:33990 #, no-wrap msgid "image" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:33991 #, no-wrap msgid "docker-image" msgstr "" #. type: table #: guix-git/doc/guix.texi:33999 msgid "" "Return a virtual machine, disk image, or Docker image of the operating " "system declared in @var{file} that stands alone. By default, @command{guix " "system} estimates the size of the image needed to store the system, but you " "can use the @option{--image-size} option to specify a value. Docker images " "are built to contain exactly what they need, so the @option{--image-size} " "option is ignored in the case of @code{docker-image}." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:34000 #, no-wrap msgid "image, creating disk images" msgstr "" #. type: table #: guix-git/doc/guix.texi:34012 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{efi-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 "" #. type: example #: guix-git/doc/guix.texi:34020 #, 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)/share/firmware/ovmf_x64.bin\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:34026 msgid "" "When using the @code{efi-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 "" #. type: example #: guix-git/doc/guix.texi:34029 #, 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:34033 msgid "" "The @code{--list-image-types} command lists all the available image types." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:34034 #, no-wrap msgid "creating virtual machine images" msgstr "" #. type: table #: guix-git/doc/guix.texi:34043 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 "" #. type: cindex #: guix-git/doc/guix.texi:34044 #, no-wrap msgid "docker-image, creating docker images" msgstr "" #. type: table #: guix-git/doc/guix.texi:34050 msgid "" "When using @code{docker-image}, 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 "" #. type: example #: guix-git/doc/guix.texi:34055 #, 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 "" #. type: table #: guix-git/doc/guix.texi:34062 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 "" #. type: example #: guix-git/doc/guix.texi:34065 #, no-wrap msgid "docker exec -ti $container_id /run/current-system/profile/bin/bash --login\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:34072 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 "" #. type: table #: guix-git/doc/guix.texi:34076 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 "" #. type: table #: guix-git/doc/guix.texi:34084 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 "" #. type: table #: guix-git/doc/guix.texi:34088 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 "" #. type: table #: guix-git/doc/guix.texi:34092 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 "" #. type: example #: guix-git/doc/guix.texi:34096 #, no-wrap msgid "" "guix system container my-config.scm \\\n" " --expose=$HOME --share=$HOME/tmp=/exchange\n" msgstr "" #. type: quotation #: guix-git/doc/guix.texi:34100 msgid "This option requires Linux-libre 3.19 or newer." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34107 guix-git/doc/guix.texi:36097 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 "" #. type: table #: guix-git/doc/guix.texi:34116 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 "" #. type: table #: guix-git/doc/guix.texi:34121 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 "" #. type: table #: guix-git/doc/guix.texi:34126 msgid "" "Return the derivation file name of the given operating system without " "building anything." msgstr "" #. type: table #: guix-git/doc/guix.texi:34135 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 "" #. type: example #: guix-git/doc/guix.texi:34138 #, no-wrap msgid "guix system image -t qcow2 --save-provenance config.scm\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:34145 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 "" #. type: item #: guix-git/doc/guix.texi:34146 #, no-wrap msgid "--image-type=@var{type}" msgstr "--target=@var{triplet}" #. type: table #: guix-git/doc/guix.texi:34149 msgid "For the @code{image} action, create an image with given @var{type}." msgstr "" #. type: table #: guix-git/doc/guix.texi:34152 msgid "" "When this option is omitted, @command{guix system} uses the @code{efi-raw} " "image type." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:34153 #, no-wrap msgid "ISO-9660 format" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:34154 #, no-wrap msgid "CD image format" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:34155 #, no-wrap msgid "DVD image format" msgstr "" #. type: table #: guix-git/doc/guix.texi:34158 msgid "" "@option{--image-type=iso9660} produces an ISO-9660 image, suitable for " "burning on CDs and DVDs." msgstr "" #. type: item #: guix-git/doc/guix.texi:34159 #, no-wrap msgid "--image-size=@var{size}" msgstr "" #. type: table #: guix-git/doc/guix.texi:34164 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 "" "Если задана @var{min}, остановиться, когда @var{min} байт собрано. " "@var{min} может быть числом байт или может содержать единицу измерения в " "суффиксе, как например, @code{MiB} для мебибайт и @code{GB} гигабайт " "(@pxref{Block size, size specifications,, coreutils, GNU Coreutils})." #. type: table #: guix-git/doc/guix.texi:34168 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 "" #. type: table #: guix-git/doc/guix.texi:34173 msgid "" "For the @code{container} action, allow containers to access the host " "network, that is, do not create a network namespace." msgstr "" #. type: item #: guix-git/doc/guix.texi:34179 #, no-wrap msgid "--skip-checks" msgstr "" #. type: table #: guix-git/doc/guix.texi:34181 msgid "Skip pre-installation safety checks." msgstr "" #. type: table #: guix-git/doc/guix.texi:34188 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 "" #. type: table #: guix-git/doc/guix.texi:34191 msgid "Instruct @command{guix system reconfigure} to allow system downgrades." msgstr "" #. type: table #: guix-git/doc/guix.texi:34199 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 "" #. type: cindex #: guix-git/doc/guix.texi:34205 #, no-wrap msgid "on-error" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:34206 #, no-wrap msgid "on-error strategy" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:34207 #, no-wrap msgid "error strategy" msgstr "" #. type: item #: guix-git/doc/guix.texi:34208 #, no-wrap msgid "--on-error=@var{strategy}" msgstr "" #. type: table #: guix-git/doc/guix.texi:34211 msgid "" "Apply @var{strategy} when an error occurs when reading @var{file}. " "@var{strategy} may be one of the following:" msgstr "" #. type: item #: guix-git/doc/guix.texi:34213 #, no-wrap msgid "nothing-special" msgstr "" #. type: table #: guix-git/doc/guix.texi:34215 msgid "Report the error concisely and exit. This is the default strategy." msgstr "" #. type: item #: guix-git/doc/guix.texi:34216 #, no-wrap msgid "backtrace" msgstr "" #. type: table #: guix-git/doc/guix.texi:34218 msgid "Likewise, but also display a backtrace." msgstr "" #. type: item #: guix-git/doc/guix.texi:34219 #, no-wrap msgid "debug" msgstr "" #. type: table #: guix-git/doc/guix.texi:34225 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34232 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 "" #. type: item #: guix-git/doc/guix.texi:34235 guix-git/doc/guix.texi:36073 #, no-wrap msgid "describe" msgstr "" #. type: table #: guix-git/doc/guix.texi:34238 msgid "" "Describe the current system generation: its file name, the kernel and " "bootloader used, etc., as well as provenance information when available." msgstr "" #. type: item #: guix-git/doc/guix.texi:34239 guix-git/doc/guix.texi:36077 #, no-wrap msgid "list-generations" msgstr "" #. type: table #: guix-git/doc/guix.texi:34244 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 "" #. type: table #: guix-git/doc/guix.texi:34249 guix-git/doc/guix.texi:36087 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 "" #. type: example #: guix-git/doc/guix.texi:34252 #, no-wrap msgid "$ guix system list-generations 10d\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34259 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 "" #. type: anchor{#1} #: guix-git/doc/guix.texi:34261 msgid "system-extension-graph" msgstr "" #. type: item #: guix-git/doc/guix.texi:34263 #, no-wrap msgid "extension-graph" msgstr "" #. type: table #: guix-git/doc/guix.texi:34270 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 "" #. type: table #: guix-git/doc/guix.texi:34272 msgid "The command:" msgstr "" #. type: example #: guix-git/doc/guix.texi:34275 #, no-wrap msgid "$ guix system extension-graph @var{file} | xdot -\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:34278 msgid "shows the extension relations among services." msgstr "" #. type: anchor{#1} #: guix-git/doc/guix.texi:34280 msgid "system-shepherd-graph" msgstr "" #. type: item #: guix-git/doc/guix.texi:34280 #, no-wrap msgid "shepherd-graph" msgstr "" #. type: table #: guix-git/doc/guix.texi:34285 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 "" #. type: table #: guix-git/doc/guix.texi:34288 msgid "" "Again, the default output format is Dot/Graphviz, but you can pass @option{--" "graph-backend} to select a different one." msgstr "" #. type: section #: guix-git/doc/guix.texi:34292 #, no-wrap msgid "Invoking @code{guix deploy}" msgstr "Вызов @command{guix pull}" #. type: Plain text #: guix-git/doc/guix.texi:34300 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 "" #. type: quotation #: guix-git/doc/guix.texi:34305 guix-git/doc/guix.texi:35386 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 "" #. type: example #: guix-git/doc/guix.texi:34309 #, no-wrap msgid "guix deploy @var{file}\n" msgstr "guix deploy @var{file}\n" #. type: Plain text #: guix-git/doc/guix.texi:34313 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 "" #. type: lisp #: guix-git/doc/guix.texi:34320 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:34323 #, no-wrap msgid "" "(use-service-modules networking ssh)\n" "(use-package-modules bootloaders)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:34344 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:34354 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34367 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34372 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 "" "Есть ещё одна вещь, которую нужно выполнить после размещения @file{machines." "scm}. Выше описано, что при разгрузке файлы передаются вперёд и назад между " "складами на машинах. Для этого необходимо сгенерировать ключ-пару на кадой " "машине, чтобы позволить демону экспортировать подписанные архивы файлов из " "склада (@pxref{Invoking guix archive}):" #. type: Plain text #: guix-git/doc/guix.texi:34380 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:34383 #, 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:34394 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 "" #. type: lisp #: guix-git/doc/guix.texi:34398 #, no-wrap msgid "" "(use-modules ...\n" " (gnu system)) ;for %sudoers-specification\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:34400 #, no-wrap msgid "" "(define %user \"username\")\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:34408 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34413 msgid "" "For more information regarding the format of the @file{sudoers} file, " "consult @command{man sudoers}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:34414 #, no-wrap msgid "{Data Type} machine" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:34417 msgid "" "This is the data type representing a single machine in a heterogeneous Guix " "deployment." msgstr "" #. type: table #: guix-git/doc/guix.texi:34421 msgid "The object of the operating system configuration to deploy." msgstr "Управление конфигурацией операционной системы." #. type: code{#1} #: guix-git/doc/guix.texi:34422 #, no-wrap msgid "environment" msgstr "guix environment" #. type: table #: guix-git/doc/guix.texi:34424 msgid "" "An @code{environment-type} describing how the machine should be provisioned." msgstr "" #. type: item #: guix-git/doc/guix.texi:34425 #, no-wrap msgid "@code{configuration} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:34430 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 "" #. type: deftp #: guix-git/doc/guix.texi:34433 #, no-wrap msgid "{Data Type} machine-ssh-configuration" msgstr "{Тип данных} build-machine" #. type: deftp #: guix-git/doc/guix.texi:34436 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 "" #. type: item #: guix-git/doc/guix.texi:34439 #, no-wrap msgid "@code{build-locally?} (default: @code{#t})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:34441 msgid "" "If false, system derivations will be built on the machine being deployed to." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:34441 #, no-wrap msgid "system" msgstr "system" #. type: table #: guix-git/doc/guix.texi:34444 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:34444 #, no-wrap msgid "@code{authorize?} (default: @code{#t})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:34447 msgid "" "If true, the coordinator's signing key will be added to the remote's ACL " "keyring." msgstr "" #. type: item #: guix-git/doc/guix.texi:34448 #, no-wrap msgid "@code{user} (default: @code{\"root\"})" msgstr "@code{port} (default: @code{22})" #. type: item #: guix-git/doc/guix.texi:34449 #, no-wrap msgid "@code{identity} (default: @code{#f})" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:34452 msgid "" "If specified, the path to the SSH private key to use to authenticate with " "the remote host." msgstr "" #. type: item #: guix-git/doc/guix.texi:34453 #, no-wrap msgid "@code{host-key} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:34455 msgid "This should be the SSH host key of the machine, which looks like this:" msgstr "" #. type: example #: guix-git/doc/guix.texi:34458 #, 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:34463 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 "" #. type: item #: guix-git/doc/guix.texi:34464 #, no-wrap msgid "@code{allow-downgrades?} (default: @code{#f})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:34466 msgid "Whether to allow potential downgrades." msgstr "" #. type: table #: guix-git/doc/guix.texi:34474 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 "" #. type: deftp #: guix-git/doc/guix.texi:34477 #, no-wrap msgid "{Data Type} digital-ocean-configuration" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:34480 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:34482 #, no-wrap msgid "ssh-key" msgstr "host-key" #. type: table #: guix-git/doc/guix.texi:34485 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 "" #. type: code{#1} #: guix-git/doc/guix.texi:34485 #, no-wrap msgid "tags" msgstr "" #. type: table #: guix-git/doc/guix.texi:34488 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:34488 #, no-wrap msgid "region" msgstr "" #. type: table #: guix-git/doc/guix.texi:34490 msgid "A Digital Ocean region slug, such as @code{\"nyc3\"}." msgstr "" #. type: table #: guix-git/doc/guix.texi:34492 msgid "A Digital Ocean size slug, such as @code{\"s-1vcpu-1gb\"}" msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:34492 #, no-wrap msgid "enable-ipv6?" msgstr "" #. type: table #: guix-git/doc/guix.texi:34494 msgid "Whether or not the droplet should be created with IPv6 networking." msgstr "" #. type: section #: guix-git/doc/guix.texi:34498 #, no-wrap msgid "Running Guix in a Virtual Machine" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34506 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34513 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34516 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 "" #. type: cindex #: guix-git/doc/guix.texi:34517 #, no-wrap msgid "QEMU" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34524 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 "" #. type: example #: guix-git/doc/guix.texi:34531 #, no-wrap msgid "" "$ qemu-system-x86_64 \\\n" " -nic user,model=virtio-net-pci \\\n" " -enable-kvm -m 1024 \\\n" " -device virtio-blk,drive=myhd \\\n" " -drive if=none,file=/tmp/qemu-image,id=myhd\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34534 msgid "Here is what each of these options means:" msgstr "" #. type: item #: guix-git/doc/guix.texi:34536 #, no-wrap msgid "qemu-system-x86_64" msgstr "" #. type: table #: guix-git/doc/guix.texi:34539 msgid "" "This specifies the hardware platform to emulate. This should match the host." msgstr "" #. type: item #: guix-git/doc/guix.texi:34540 #, no-wrap msgid "-nic user,model=virtio-net-pci" msgstr "" #. type: table #: guix-git/doc/guix.texi:34548 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 "" #. type: item #: guix-git/doc/guix.texi:34549 #, no-wrap msgid "-enable-kvm" msgstr "" #. type: table #: guix-git/doc/guix.texi:34553 msgid "" "If your system has hardware virtualization extensions, enabling the virtual " "machine support (KVM) of the Linux kernel will make things run faster." msgstr "" #. type: item #: guix-git/doc/guix.texi:34555 #, no-wrap msgid "-m 1024" msgstr "" #. type: table #: guix-git/doc/guix.texi:34558 msgid "" "RAM available to the guest OS, in mebibytes. Defaults to 128@tie{}MiB, " "which may be insufficient for some operations." msgstr "" #. type: item #: guix-git/doc/guix.texi:34559 #, no-wrap msgid "-device virtio-blk,drive=myhd" msgstr "" #. type: table #: guix-git/doc/guix.texi:34564 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 "" #. type: item #: guix-git/doc/guix.texi:34565 #, no-wrap msgid "-drive if=none,file=/tmp/qemu-image,id=myhd" msgstr "" #. type: table #: guix-git/doc/guix.texi:34568 msgid "" "Use our QCOW image, the @file{/tmp/qemu-image} file, as the backing store of " "the ``myhd'' drive." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34578 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 "" #. type: subsection #: guix-git/doc/guix.texi:34579 #, no-wrap msgid "Connecting Through SSH" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34587 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 "" #. type: example #: guix-git/doc/guix.texi:34590 #, no-wrap msgid "$(guix system vm config.scm) -nic user,model=virtio-net-pci,hostfwd=tcp::10022-:22\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34593 msgid "To connect to the VM you can run" msgstr "" #. type: example #: guix-git/doc/guix.texi:34596 #, no-wrap msgid "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022 localhost\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34603 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 "" #. type: quotation #: guix-git/doc/guix.texi:34609 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 "" #. type: subsection #: guix-git/doc/guix.texi:34611 #, no-wrap msgid "Using @command{virt-viewer} with Spice" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34617 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34620 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 "" #. type: example #: guix-git/doc/guix.texi:34626 #, 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:34630 msgid "" "You'll also need to add the @code{(spice-vdagent-service)} to your system " "definition (@pxref{Miscellaneous Services, Spice service})." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34637 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 "" #. type: cindex #: guix-git/doc/guix.texi:34649 #, no-wrap msgid "daemons" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34662 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 "" #. type: cindex #: guix-git/doc/guix.texi:34663 #, no-wrap msgid "service extensions" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34675 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34679 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34681 msgid "@image{images/service-graph,,5in,Typical service extension graph.}" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:34682 #, no-wrap msgid "system service" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34690 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 "" #. type: cindex #: guix-git/doc/guix.texi:34691 #, no-wrap msgid "service types" msgstr "service types" #. type: Plain text #: guix-git/doc/guix.texi:34697 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34700 msgid "" "The following section describes the programming interface for service types " "and services." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34707 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 "" #. type: lisp #: guix-git/doc/guix.texi:34717 #, 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:34721 msgid "It defines three things:" msgstr "" #. type: enumerate #: guix-git/doc/guix.texi:34725 msgid "A name, whose sole purpose is to make inspection and debugging easier." msgstr "" #. type: enumerate #: guix-git/doc/guix.texi:34730 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 "" #. type: enumerate #: guix-git/doc/guix.texi:34733 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 "" #. type: enumerate #: guix-git/doc/guix.texi:34736 msgid "Optionally, a default value for instances of this type." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34739 msgid "In this example, @code{guix-service-type} extends three services:" msgstr "" #. type: item #: guix-git/doc/guix.texi:34741 #, no-wrap msgid "shepherd-root-service-type" msgstr "shepherd-root-service-type" #. type: table #: guix-git/doc/guix.texi:34746 msgid "" "The @code{guix-shepherd-service} procedure defines how the Shepherd service " "is extended. Namely, it returns a @code{} object that " "defines how @command{guix-daemon} is started and stopped (@pxref{Shepherd " "Services})." msgstr "" #. type: item #: guix-git/doc/guix.texi:34747 #, no-wrap msgid "account-service-type" msgstr "" #. type: table #: guix-git/doc/guix.texi:34752 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 "" #. type: item #: guix-git/doc/guix.texi:34753 #, no-wrap msgid "activation-service-type" msgstr "activation-service-type" #. type: table #: guix-git/doc/guix.texi:34757 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34760 msgid "A service of this type is instantiated like this:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:34766 #, 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" " (use-substitutes? #f)))\n" #. type: Plain text #: guix-git/doc/guix.texi:34774 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 "" #. type: lisp #: guix-git/doc/guix.texi:34777 #, no-wrap msgid "(service guix-service-type)\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34781 msgid "" "@code{guix-service-type} is quite simple because it extends other services " "but is not extensible itself." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34785 msgid "The service type for an @emph{extensible} service looks like this:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:34792 #, 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:34800 #, no-wrap msgid "" " (compose concatenate) ;concatenate the list of rules\n" " (extend (lambda (config rules)\n" " (match config\n" " (($ udev initial-rules)\n" " (udev-configuration\n" " (udev udev) ;the udev package to use\n" " (rules (append initial-rules rules)))))))))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34806 msgid "" "This is the service type for the @uref{https://wiki.gentoo.org/wiki/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 "" #. type: item #: guix-git/doc/guix.texi:34808 #, no-wrap msgid "compose" msgstr "" #. type: table #: guix-git/doc/guix.texi:34811 msgid "" "This is the procedure to @dfn{compose} the list of extensions to services of " "this type." msgstr "" #. type: table #: guix-git/doc/guix.texi:34814 msgid "" "Services can extend the udev service by passing it lists of rules; we " "compose those extensions simply by concatenating them." msgstr "" #. type: item #: guix-git/doc/guix.texi:34815 #, no-wrap msgid "extend" msgstr "" #. type: table #: guix-git/doc/guix.texi:34818 msgid "" "This procedure defines how the value of the service is @dfn{extended} with " "the composition of the extensions." msgstr "" #. type: table #: guix-git/doc/guix.texi:34823 msgid "" "Udev extensions are composed into a list of rules, but the udev service " "value is itself a @code{} record. So here, we extend " "that record by appending the list of rules it contains to the list of " "contributed rules." msgstr "" #. type: table #: guix-git/doc/guix.texi:34829 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34834 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 "" #. type: Plain text #: guix-git/doc/guix.texi:34837 msgid "" "Still here? The next section provides a reference of the programming " "interface for services." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34845 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 "" #. type: deffn #: guix-git/doc/guix.texi:34846 #, no-wrap msgid "{Scheme Procedure} service @var{type} [@var{value}]" msgstr "{Scheme Procedure} service @var{type} [@var{value}]" #. type: deffn #: guix-git/doc/guix.texi:34850 msgid "" "Return a new service of @var{type}, a @code{} object (see " "below). @var{value} can be any object; it represents the parameters of this " "particular service instance." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:34854 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 "" #. type: deffn #: guix-git/doc/guix.texi:34856 msgid "For instance, this:" msgstr "Например:" #. type: lisp #: guix-git/doc/guix.texi:34859 #, no-wrap msgid "(service openssh-service-type)\n" msgstr "(service openssh-service-type)\n" #. type: deffn #: guix-git/doc/guix.texi:34863 msgid "is equivalent to this:" msgstr "равнозачно этому:" #. type: lisp #: guix-git/doc/guix.texi:34867 #, 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:34871 msgid "" "In both cases the result is an instance of @code{openssh-service-type} with " "the default configuration." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:34873 #, no-wrap msgid "{Scheme Procedure} service? @var{obj}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:34875 msgid "Return true if @var{obj} is a service." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:34877 #, no-wrap msgid "{Scheme Procedure} service-kind @var{service}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:34879 msgid "" "Return the type of @var{service}---i.e., a @code{} object." msgstr "" #. type: deffn #: guix-git/doc/guix.texi:34881 #, no-wrap msgid "{Scheme Procedure} service-value @var{service}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:34884 msgid "" "Return the value associated with @var{service}. It represents its " "parameters." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34887 msgid "Here is an example of how a service is created and manipulated:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:34896 #, 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 "" #. type: lisp #: guix-git/doc/guix.texi:34899 #, no-wrap msgid "" "(service? s)\n" "@result{} #t\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:34902 #, no-wrap msgid "" "(eq? (service-kind s) nginx-service-type)\n" "@result{} #t\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34912 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 "" #. type: deffn #: guix-git/doc/guix.texi:34913 #, no-wrap msgid "{Scheme Syntax} modify-services @var{services} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:34915 msgid "(@var{type} @var{variable} => @var{body}) @dots{}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:34918 msgid "" "Modify the services listed in @var{services} according to the given " "clauses. Each clause has the form:" msgstr "" #. type: example #: guix-git/doc/guix.texi:34921 #, no-wrap msgid "(@var{type} @var{variable} => @var{body})\n" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:34928 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 "" #. type: deffn #: guix-git/doc/guix.texi:34935 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 "" #. type: deffn #: guix-git/doc/guix.texi:34937 msgid "@xref{Using the Configuration System}, for example usage." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:34944 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 "" #. type: deftp #: guix-git/doc/guix.texi:34945 #, no-wrap msgid "{Data Type} service-type" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:34946 #, no-wrap msgid "service type" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:34949 msgid "" "This is the representation of a @dfn{service type} (@pxref{Service Types and " "Services})." msgstr "" #. type: table #: guix-git/doc/guix.texi:34953 msgid "This is a symbol, used only to simplify inspection and debugging." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:34954 #, no-wrap msgid "extensions" msgstr "" #. type: table #: guix-git/doc/guix.texi:34956 msgid "A non-empty list of @code{} objects (see below)." msgstr "" #. type: item #: guix-git/doc/guix.texi:34957 #, no-wrap msgid "@code{compose} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:34961 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 "" #. type: table #: guix-git/doc/guix.texi:34965 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 "" #. type: item #: guix-git/doc/guix.texi:34966 #, no-wrap msgid "@code{extend} (default: @code{#f})" msgstr "" #. type: table #: guix-git/doc/guix.texi:34968 msgid "If this is @code{#f}, services of this type cannot be extended." msgstr "" #. type: table #: guix-git/doc/guix.texi:34974 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 "" #. type: table #: guix-git/doc/guix.texi:34980 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 "" #. type: item #: guix-git/doc/guix.texi:34981 #, no-wrap msgid "@code{default-value} (default: @code{&no-default-value})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:34984 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 "" #. type: lisp #: guix-git/doc/guix.texi:34987 #, no-wrap msgid "(service @var{type})\n" msgstr "(service @var{type})\n" #. type: table #: guix-git/doc/guix.texi:34991 msgid "" "The returned service in this case has the default value specified by " "@var{type}." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:34994 msgid "@xref{Service Types and Services}, for examples." msgstr "@xref{Service Types and Services}, for examples." #. type: deffn #: guix-git/doc/guix.texi:34996 #, no-wrap msgid "{Scheme Procedure} service-extension @var{target-type} @" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:35002 msgid "" "@var{compute} 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 "" #. type: deffn #: guix-git/doc/guix.texi:35004 #, no-wrap msgid "{Scheme Procedure} service-extension? @var{obj}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:35006 msgid "Return true if @var{obj} is a service extension." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:35012 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 "" #. type: deffn #: guix-git/doc/guix.texi:35013 #, no-wrap msgid "{Scheme Procedure} simple-service @var{name} @var{target} @var{value}" msgstr "" #. type: deffn #: guix-git/doc/guix.texi:35017 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 "" #. type: deffn #: guix-git/doc/guix.texi:35020 msgid "" "For example, this extends mcron (@pxref{Scheduled Job Execution}) with an " "additional job:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:35024 #, 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:35034 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 "" #. type: deffn #: guix-git/doc/guix.texi:35035 #, no-wrap msgid "{Scheme Procedure} fold-services @var{services} @" msgstr "{Scheme Procedure} fold-services @var{services} @" #. type: deffn #: guix-git/doc/guix.texi:35039 msgid "" "[#:target-type @var{system-service-type}] Fold @var{services} by propagating " "their extensions down to the root of type @var{target-type}; return the root " "service adjusted accordingly." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:35043 msgid "" "Lastly, the @code{(gnu services)} module also defines several essential " "service types, some of which are listed below." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35044 #, no-wrap msgid "{Scheme Variable} system-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35047 msgid "" "This is the root of the service graph. It produces the system directory as " "returned by the @command{guix system build} command." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35049 #, no-wrap msgid "{Scheme Variable} boot-service-type" msgstr "{Scheme Variable} boot-service-type" #. type: defvr #: guix-git/doc/guix.texi:35052 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 "" #. type: defvr #: guix-git/doc/guix.texi:35054 #, no-wrap msgid "{Scheme Variable} etc-service-type" msgstr "{Scheme Variable} etc-service-type" #. type: defvr #: guix-git/doc/guix.texi:35058 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 "" #. type: lisp #: guix-git/doc/guix.texi:35061 #, no-wrap msgid "(list `(\"issue\" ,(plain-file \"issue\" \"Welcome!\\n\")))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35065 msgid "" "In this example, the effect would be to add an @file{/etc/issue} file " "pointing to the given file." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35067 #, no-wrap msgid "{Scheme Variable} setuid-program-service-type" msgstr "{Scheme Variable} setuid-program-service-type" #. type: defvr #: guix-git/doc/guix.texi:35071 msgid "" "Type for the ``setuid-program service''. This service collects lists of " "executable file names, passed as gexps, and adds them to the set of setuid-" "root programs on the system (@pxref{Setuid Programs})." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35073 #, no-wrap msgid "{Scheme Variable} profile-service-type" msgstr "{Scheme Variable} profile-service-type" #. type: defvr #: guix-git/doc/guix.texi:35077 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 "" #. type: anchor{#1} #: guix-git/doc/guix.texi:35081 msgid "provenance-service-type" msgstr "provenance-service-type" #. type: defvr #: guix-git/doc/guix.texi:35081 #, no-wrap msgid "{Scheme Variable} provenance-service-type" msgstr "{Scheme Variable} provenance-service-type" #. type: defvr #: guix-git/doc/guix.texi:35085 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 "" #. type: item #: guix-git/doc/guix.texi:35087 #, no-wrap msgid "channels.scm" msgstr "каналы" #. type: table #: guix-git/doc/guix.texi:35092 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 "" #. type: item #: guix-git/doc/guix.texi:35093 #, no-wrap msgid "configuration.scm" msgstr "Конфигурирование системы" #. type: table #: guix-git/doc/guix.texi:35098 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 "" #. type: item #: guix-git/doc/guix.texi:35099 #, no-wrap msgid "provenance" msgstr "" #. type: table #: guix-git/doc/guix.texi:35102 msgid "" "This contains the same information as the two other files but in a format " "that is more readily processable." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35106 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:35107 #, no-wrap msgid "Caveats" msgstr "" #. type: quotation #: guix-git/doc/guix.texi:35114 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 "" #. type: quotation #: guix-git/doc/guix.texi:35122 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 "" #. type: defvr #: guix-git/doc/guix.texi:35127 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 "" #. type: defvr #: guix-git/doc/guix.texi:35129 #, no-wrap msgid "{Scheme Variable} linux-loadable-module-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:35133 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: defvr #: guix-git/doc/guix.texi:35136 msgid "" "This service type is intended to be extended by other service types, such as " "below:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:35142 #, 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 "" #. type: defvr #: guix-git/doc/guix.texi:35146 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:35151 guix-git/doc/guix.texi:35847 #, no-wrap msgid "shepherd services" msgstr "сервисы shepherd" #. type: cindex #: guix-git/doc/guix.texi:35152 #, no-wrap msgid "PID 1" msgstr "PID 1" #. type: cindex #: guix-git/doc/guix.texi:35153 #, no-wrap msgid "init system" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:35159 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 "" #. type: Plain text #: guix-git/doc/guix.texi:35165 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 "" #. type: Plain text #: guix-git/doc/guix.texi:35167 msgid "@image{images/shepherd-graph,,5in,Typical shepherd service graph.}" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:35171 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 "" #. type: Plain text #: guix-git/doc/guix.texi:35175 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{} objects." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:35176 #, no-wrap msgid "{Data Type} shepherd-service" msgstr "" #. type: deftp #: guix-git/doc/guix.texi:35178 msgid "The data type representing a service managed by the Shepherd." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:35180 #, no-wrap msgid "provision" msgstr "" #. type: table #: guix-git/doc/guix.texi:35182 msgid "This is a list of symbols denoting what the service provides." msgstr "" #. type: table #: guix-git/doc/guix.texi:35187 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{Slots of services, the " "@code{provides} slot,, shepherd, The GNU Shepherd Manual}, for details." msgstr "" #. type: item #: guix-git/doc/guix.texi:35188 #, no-wrap msgid "@code{requirement} (default: @code{'()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:35190 msgid "List of symbols denoting the Shepherd services this one depends on." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:35191 #, no-wrap msgid "one-shot services, for the Shepherd" msgstr "" #. type: table #: guix-git/doc/guix.texi:35196 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 "" #. type: item #: guix-git/doc/guix.texi:35197 #, no-wrap msgid "@code{respawn?} (default: @code{#t})" msgstr "" #. type: table #: guix-git/doc/guix.texi:35200 msgid "" "Whether to restart the service when it stops, for instance when the " "underlying process dies." msgstr "" #. type: code{#1} #: guix-git/doc/guix.texi:35201 #, no-wrap msgid "start" msgstr "" #. type: itemx #: guix-git/doc/guix.texi:35202 #, no-wrap msgid "@code{stop} (default: @code{#~(const #f)})" msgstr "" #. type: table #: guix-git/doc/guix.texi:35208 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 "" #. type: item #: guix-git/doc/guix.texi:35209 #, no-wrap msgid "@code{actions} (default: @code{'()})" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:35210 #, no-wrap msgid "actions, of Shepherd services" msgstr "" #. type: table #: guix-git/doc/guix.texi:35215 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 "" #. type: example #: guix-git/doc/guix.texi:35218 #, no-wrap msgid "herd @var{action} @var{service} [@var{arguments}@dots{}]\n" msgstr "" #. type: item #: guix-git/doc/guix.texi:35220 #, no-wrap msgid "@code{auto-start?} (default: @code{#t})" msgstr "@code{auto-start?} (default: @code{#t})" #. type: table #: guix-git/doc/guix.texi:35223 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 "" #. type: table #: guix-git/doc/guix.texi:35226 msgid "A documentation string, as shown when running:" msgstr "" #. type: example #: guix-git/doc/guix.texi:35229 #, no-wrap msgid "herd doc @var{service-name}\n" msgstr "herd doc @var{service-name}\n" #. type: table #: guix-git/doc/guix.texi:35233 msgid "" "where @var{service-name} is one of the symbols in @code{provision} " "(@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})." msgstr "" #. type: item #: guix-git/doc/guix.texi:35234 #, no-wrap msgid "@code{modules} (default: @code{%default-modules})" msgstr "@code{modules} (default: @code{%default-modules})" #. type: table #: guix-git/doc/guix.texi:35237 msgid "" "This is the list of modules that must be in scope when @code{start} and " "@code{stop} are evaluated." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:35245 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 "" #. type: example #: guix-git/doc/guix.texi:35257 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:35272 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 "" #. type: deftp #: guix-git/doc/guix.texi:35273 #, no-wrap msgid "{Data Type} shepherd-action" msgstr "{Data Type} shepherd-action" #. type: deftp #: guix-git/doc/guix.texi:35276 msgid "" "This is the data type that defines additional actions implemented by a " "Shepherd service (see above)." msgstr "" #. type: table #: guix-git/doc/guix.texi:35280 msgid "Symbol naming the action." msgstr "" #. type: table #: guix-git/doc/guix.texi:35283 msgid "" "This is a documentation string for the action. It can be viewed by running:" msgstr "" #. type: example #: guix-git/doc/guix.texi:35286 #, 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:35288 #, no-wrap msgid "procedure" msgstr "процедура" #. type: table #: guix-git/doc/guix.texi:35292 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 "" #. type: deftp #: guix-git/doc/guix.texi:35296 msgid "" "The following example defines an action called @code{say-hello} that kindly " "greets the user:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:35305 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:35308 msgid "" "Assuming this action is added to the @code{example} service, then you can do:" msgstr "" #. type: example #: guix-git/doc/guix.texi:35314 #, 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 "" #. type: deftp #: guix-git/doc/guix.texi:35319 msgid "" "This, as you can see, is a fairly sophisticated way to say hello. " "@xref{Service Convenience,,, shepherd, The GNU Shepherd Manual}, for more " "info on actions." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35321 #, no-wrap msgid "{Scheme Variable} shepherd-root-service-type" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35323 msgid "The service type for the Shepherd ``root service''---i.e., PID@tie{}1." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35328 guix-git/doc/guix.texi:35859 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{}. Its value " "must be a @code{shepherd-configuration}, as described below." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:35330 guix-git/doc/guix.texi:35861 #, no-wrap msgid "{Data Type} shepherd-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:35332 guix-git/doc/guix.texi:35863 msgid "This data type represents the Shepherd's configuration." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/guix.texi:35334 guix-git/doc/guix.texi:35865 #, no-wrap msgid "shepherd (default: @code{shepherd})" msgstr "@code{port} (default: @code{22})" #. type: table #: guix-git/doc/guix.texi:35336 guix-git/doc/guix.texi:35867 msgid "The Shepherd package to use." msgstr "Используемый пакет Hurd." #. type: item #: guix-git/doc/guix.texi:35337 guix-git/doc/guix.texi:35871 #, no-wrap msgid "services (default: @code{'()})" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:35341 guix-git/doc/guix.texi:35875 msgid "" "A list of @code{} to start. You should probably use the " "service extension mechanism instead (@pxref{Shepherd Services})." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:35346 msgid "" "The following example specifies the Shepherd package for the operating " "system:" msgstr "" "Следующий пример порождает новую оболочку, установленную для разработки " "GNU@tie{}Guile:" #. type: lisp #: guix-git/doc/guix.texi:35361 #, 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 "" #. type: defvr #: guix-git/doc/guix.texi:35363 #, no-wrap msgid "{Scheme Variable} %shepherd-root-service" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35365 msgid "This service represents PID@tie{}1." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:35369 #, fuzzy, no-wrap #| msgid "configuration" msgid "home configuration" msgstr "Конфигурирование системы" #. type: Plain text #: guix-git/doc/guix.texi:35381 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 @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 "" #. type: Plain text #: guix-git/doc/guix.texi:35398 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 " "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 "" #. type: Plain text #: guix-git/doc/guix.texi:35401 msgid "" "Using Guix for managing home environments provides a number of advantages:" msgstr "" #. type: item #: guix-git/doc/guix.texi:35404 #, no-wrap msgid "All software can be configured in one language (Guile Scheme)," msgstr "" #. type: itemize #: guix-git/doc/guix.texi:35407 msgid "" "this gives users the ability to share values between configurations of " "different programs." msgstr "" #. type: item #: guix-git/doc/guix.texi:35408 #, no-wrap msgid "A well-defined home environment is self-contained and can be" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:35411 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:35412 #, no-wrap msgid "After every @command{guix home reconfigure} invocation, a new home" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:35416 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:35417 #, no-wrap msgid "It is possible to manage stateful data with Guix Home, this" msgstr "" #. type: itemize #: guix-git/doc/guix.texi:35422 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 "" #. type: section #: guix-git/doc/guix.texi:35430 guix-git/doc/guix.texi:35432 #: guix-git/doc/guix.texi:35433 #, fuzzy, no-wrap #| msgid "Preparing the isolated build environment." msgid "Declaring the Home Environment" msgstr "Подготовка отдельного окружения сборки." #. type: menuentry #: guix-git/doc/guix.texi:35430 #, fuzzy #| msgid "Customizing your GNU system." msgid "Customizing your Home." msgstr "Настройка вашей системы GNU." #. type: section #: guix-git/doc/guix.texi:35430 guix-git/doc/guix.texi:35468 #: guix-git/doc/guix.texi:35469 #, fuzzy, no-wrap #| msgid "Configuring the boot loader." msgid "Configuring the Shell" msgstr "Конфигурирование загрузчика диска." #. type: menuentry #: guix-git/doc/guix.texi:35430 #, fuzzy #| msgid "Invoking guix environment" msgid "Enabling home environment." msgstr "Запуск guix environment" #. type: section #: guix-git/doc/guix.texi:35430 guix-git/doc/guix.texi:35515 #: guix-git/doc/guix.texi:35516 #, fuzzy, no-wrap #| msgid "Game Services" msgid "Home Services" msgstr "Игровые службы" #. type: menuentry #: guix-git/doc/guix.texi:35430 #, fuzzy #| msgid "Specifying system services." msgid "Specifying home services." msgstr "Настройка системных служб." #. type: menuentry #: guix-git/doc/guix.texi:35430 #, fuzzy #| msgid "Instantiating a system configuration." msgid "Instantiating a home configuration." msgstr "Проверка конфигурации операционной системы." #. type: Plain text #: guix-git/doc/guix.texi:35442 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}). 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 dotfiles, before " "installing any configuration files, Guix Home will back up existing config " "files to a separate place in the home folder." msgstr "" #. type: quotation #: guix-git/doc/guix.texi:35448 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 "" #. type: findex #: guix-git/doc/guix.texi:35450 #, fuzzy, no-wrap #| msgid "environment" msgid "home-environment" msgstr "guix environment" #. type: include #: guix-git/doc/guix.texi:35452 #, fuzzy, no-wrap #| msgid "configuration.scm" msgid "he-config-bare-bones.scm" msgstr "Конфигурирование системы" #. type: Plain text #: guix-git/doc/guix.texi:35459 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 "" #. type: Plain text #: guix-git/doc/guix.texi:35467 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 @ref{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 "" #. type: Plain text #: guix-git/doc/guix.texi:35472 msgid "" "This section is safe to skip if your shell or shells are managed by Guix " "Home. Otherwise, read it carefully." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:35479 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 "" #. type: Plain text #: guix-git/doc/guix.texi:35486 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 "" #. type: Plain text #: guix-git/doc/guix.texi:35489 msgid "" "Guix Home will always create @file{~/.profile}, which contains the following " "lines:" msgstr "" #. type: example #: guix-git/doc/guix.texi:35494 #, no-wrap msgid "" "HOME_ENVIRONMENT=$HOME/.guix-home\n" ". $HOME_ENVIRONMENT/setup-environment\n" "$HOME_ENVIRONMENT/on-first-login\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:35504 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 "" #. type: Plain text #: guix-git/doc/guix.texi:35509 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 "" #. type: quotation #: guix-git/doc/guix.texi:35513 msgid "" "This step is only required if your shell is NOT managed by Guix Home. " "Otherwise, everything will be done automatically." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:35517 #, fuzzy, no-wrap #| msgid "Other services." msgid "home services" msgstr "Другие службы." #. type: Plain text #: guix-git/doc/guix.texi:35526 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 "" #. type: Plain text #: guix-git/doc/guix.texi:35534 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 "" #. type: Plain text #: guix-git/doc/guix.texi:35545 msgid "" "A good way to discover avaliable 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 "" #. type: subsection #: guix-git/doc/guix.texi:35551 guix-git/doc/guix.texi:35554 #: guix-git/doc/guix.texi:35555 #, fuzzy, no-wrap #| msgid "Essential system services." msgid "Essential Home Services" msgstr "Ключевые службы системы." #. type: menuentry #: guix-git/doc/guix.texi:35551 msgid "Environment variables, packages, on-* scripts." msgstr "" #. type: menuentry #: guix-git/doc/guix.texi:35551 #, fuzzy #| msgid "Shepherd Services" msgid "Shells: Shells Home Services" msgstr "Сервисы Shepherd" #. type: menuentry #: guix-git/doc/guix.texi:35551 msgid "POSIX shells, Bash, Zsh." msgstr "" #. type: menuentry #: guix-git/doc/guix.texi:35551 #, fuzzy #| msgid "PAM Mount Service" msgid "Mcron: Mcron Home Service" msgstr "Службы подключения PAM" #. type: menuentry #: guix-git/doc/guix.texi:35551 #, fuzzy #| msgid "Scheduled Job Execution" msgid "Scheduled User's Job Execution." msgstr "Запланированное исполнения задач" #. type: menuentry #: guix-git/doc/guix.texi:35551 #, fuzzy #| msgid "Shepherd Services" msgid "Shepherd: Shepherd Home Service" msgstr "Сервисы Shepherd" #. type: menuentry #: guix-git/doc/guix.texi:35551 #, fuzzy #| msgid "Messaging services." msgid "Managing User's Daemons." msgstr "Сервисы сообщений." #. type: Plain text #: guix-git/doc/guix.texi:35560 msgid "" "There are a few essential home services defined in @code{(gnu 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 "" #. type: cindex #: guix-git/doc/guix.texi:35561 #, fuzzy, no-wrap #| msgid "environment" msgid "environment variables" msgstr "guix environment" #. type: defvr #: guix-git/doc/guix.texi:35563 #, fuzzy, no-wrap #| msgid "{Scheme Variable} radicale-service-type" msgid "{Scheme Variable} home-environment-variables-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:35568 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:35572 #, no-wrap msgid "" "(list (\"ENV_VAR1\" . \"value1\")\n" " (\"ENV_VAR2\" . \"value2\"))\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35577 msgid "" "The easiest way to extend a service type, without defining new service type " "is to use the @code{simple-service} helper from @code{(gnu services)}." msgstr "" #. type: lisp #: guix-git/doc/guix.texi:35585 #, 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" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35590 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 "" #. type: example #: guix-git/doc/guix.texi:35595 #, 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" msgstr "" #. type: quotation #: guix-git/doc/guix.texi:35602 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} packages, which is used in the example above." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35615 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 "" #. type: defvr #: guix-git/doc/guix.texi:35618 #, fuzzy, no-wrap #| msgid "{Scheme Variable} profile-service-type" msgid "{Scheme Variable} home-profile-service-type" msgstr "{Scheme Variable} profile-service-type" #. type: defvr #: guix-git/doc/guix.texi:35624 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 avaliable to the " "user will also extend this service type." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35626 msgid "The extension value is just a list of packages:" msgstr "" #. type: lisp #: guix-git/doc/guix.texi:35629 #, no-wrap msgid "(list htop vim emacs)\n" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35639 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 string without importing related module." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:35643 msgid "" "There are few more essential services, but users are not expected to extend " "them." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35644 #, fuzzy, no-wrap #| msgid "{Scheme Variable} etc-service-type" msgid "{Scheme Variable} home-service-type" msgstr "{Scheme Variable} etc-service-type" #. type: defvr #: guix-git/doc/guix.texi:35649 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 "" #. type: defvr #: guix-git/doc/guix.texi:35651 #, fuzzy, no-wrap #| msgid "{Scheme Variable} hurd-console-service-type" msgid "{Scheme Variable} home-run-on-first-login-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:35656 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 "" #. type: defvr #: guix-git/doc/guix.texi:35662 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-shpeherd-service-type} with a Shepherd service (@pxref{Shepherd " "Services}), or extend the shell's startup file with required command using " "the appropriate service type." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35664 #, fuzzy, no-wrap #| msgid "{Scheme Variable} hostapd-service-type" msgid "{Scheme Variable} home-activation-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:35668 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 "" #. type: node #: guix-git/doc/guix.texi:35670 #, fuzzy, no-wrap #| msgid "Shepherd Services" msgid "Shells Home Services" msgstr "Сервисы Shepherd" #. type: subsection #: guix-git/doc/guix.texi:35671 #, no-wrap msgid "Shells" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:35673 guix-git/doc/guix.texi:35900 #, no-wrap msgid "shell" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:35674 #, no-wrap msgid "login shell" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:35675 #, no-wrap msgid "interactive shell" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:35676 guix-git/doc/guix.texi:35902 #, no-wrap msgid "bash" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:35677 guix-git/doc/guix.texi:35903 #, fuzzy, no-wrap #| msgid "ssh" msgid "zsh" msgstr "ssh" #. type: Plain text #: guix-git/doc/guix.texi:35683 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 "" #. type: Plain text #: guix-git/doc/guix.texi:35693 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:35694 #, fuzzy, no-wrap #| msgid "Certificate Services" msgid "Shell Profile Service" msgstr "Сервисы сертификатов" #. type: deftp #: guix-git/doc/guix.texi:35696 #, fuzzy, no-wrap #| msgid "{Data Type} postgresql-role-configuration" msgid "{Data Type} home-shell-profile-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:35698 msgid "Available @code{home-shell-profile-configuration} fields are:" msgstr "" #. type: item #: guix-git/doc/guix.texi:35700 #, fuzzy, no-wrap #| msgid "@code{debug?} (default @code{#f})" msgid "@code{profile} (default: @code{()}) (type: text-config)" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:35710 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 have to be evaluated by login shell to make home-environment's profile " "avaliable 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:35715 #, fuzzy, no-wrap #| msgid "Base Services" msgid "Bash Home Service" msgstr "Базовые службы" #. type: deftp #: guix-git/doc/guix.texi:35717 #, fuzzy, no-wrap #| msgid "{Data Type} webssh-configuration" msgid "{Data Type} home-bash-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:35719 msgid "Available @code{home-bash-configuration} fields are:" msgstr "" #. type: item #: guix-git/doc/guix.texi:35721 #, fuzzy, no-wrap #| msgid "@code{packages} (default: @code{%base-packages})" msgid "@code{package} (default: @code{bash}) (type: package)" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:35723 #, fuzzy #| msgid "The package to use." msgid "The Bash package to use." msgstr "Пакет для использования." #. type: item #: guix-git/doc/guix.texi:35724 #, fuzzy, no-wrap #| msgid "@code{debug?} (default @code{#f})" msgid "@code{guix-defaults?} (default: @code{#t}) (type: boolean)" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:35727 msgid "" "Add sane defaults like reading @file{/etc/bashrc}, coloring output for " "@code{ls} provided by guix to @file{.bashrc}." msgstr "" #. type: item #: guix-git/doc/guix.texi:35728 guix-git/doc/guix.texi:35768 #, fuzzy, no-wrap #| msgid "@code{extra-environment} (default: @code{#~'()})" msgid "@code{environment-variables} (default: @code{()}) (type: alist)" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:35730 #, fuzzy #| msgid "A list of environment variables to be defined." msgid "Association list of environment variables to set for the Bash session." msgstr "Список переменных среды, которые необходимо определить." #. type: item #: guix-git/doc/guix.texi:35731 #, fuzzy, no-wrap #| msgid "@code{packages} (default: @code{%base-packages})" msgid "@code{bash-profile} (default: @code{()}) (type: text-config)" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:35736 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 "" #. type: item #: guix-git/doc/guix.texi:35737 #, fuzzy, no-wrap #| msgid "@code{packages} (default: @code{%base-packages})" msgid "@code{bashrc} (default: @code{()}) (type: text-config)" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:35742 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 "" #. type: item #: guix-git/doc/guix.texi:35743 #, fuzzy, no-wrap #| msgid "@code{packages} (default: @code{%base-packages})" msgid "@code{bash-logout} (default: @code{()}) (type: text-config)" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:35748 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 "" #. type: subsubheading #: guix-git/doc/guix.texi:35753 #, fuzzy, no-wrap #| msgid "Game Services" msgid "Zsh Home Service" msgstr "Игровые службы" #. type: deftp #: guix-git/doc/guix.texi:35755 #, fuzzy, no-wrap #| msgid "{Data Type} webssh-configuration" msgid "{Data Type} home-zsh-configuration" msgstr "Конфигурирование системы" #. type: deftp #: guix-git/doc/guix.texi:35757 msgid "Available @code{home-zsh-configuration} fields are:" msgstr "" #. type: item #: guix-git/doc/guix.texi:35759 #, fuzzy, no-wrap #| msgid "@code{packages} (default: @code{%base-packages})" msgid "@code{package} (default: @code{zsh}) (type: package)" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:35761 #, fuzzy #| msgid "The package to use." msgid "The Zsh package to use." msgstr "Пакет для использования." #. type: item #: guix-git/doc/guix.texi:35762 #, fuzzy, no-wrap #| msgid "@code{debug?} (default @code{#f})" msgid "@code{xdg-flavor?} (default: @code{#t}) (type: boolean)" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:35767 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 "" #. type: table #: guix-git/doc/guix.texi:35770 #, fuzzy #| msgid "A list of environment variables to be defined." msgid "Association list of environment variables to set for the Zsh session." msgstr "Список переменных среды, которые необходимо определить." #. type: item #: guix-git/doc/guix.texi:35771 #, fuzzy, no-wrap #| msgid "@code{packages} (default: @code{%base-packages})" msgid "@code{zshenv} (default: @code{()}) (type: text-config)" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:35776 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 "" #. type: item #: guix-git/doc/guix.texi:35777 #, fuzzy, no-wrap #| msgid "@code{debug?} (default @code{#f})" msgid "@code{zprofile} (default: @code{()}) (type: text-config)" msgstr "@code{features} (default: @code{'()})" #. type: table #: guix-git/doc/guix.texi:35782 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 "" #. type: item #: guix-git/doc/guix.texi:35783 #, fuzzy, no-wrap #| msgid "@code{packages} (default: @code{%base-packages})" msgid "@code{zshrc} (default: @code{()}) (type: text-config)" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:35788 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 "" #. type: item #: guix-git/doc/guix.texi:35789 #, fuzzy, no-wrap #| msgid "@code{enabled?} (default: @code{#t})" msgid "@code{zlogin} (default: @code{()}) (type: text-config)" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:35793 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 "" #. type: item #: guix-git/doc/guix.texi:35794 #, fuzzy, no-wrap #| msgid "@code{packages} (default: @code{%base-packages})" msgid "@code{zlogout} (default: @code{()}) (type: text-config)" msgstr "@code{speed} (default: @code{1.0})" #. type: table #: guix-git/doc/guix.texi:35799 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 "" #. type: node #: guix-git/doc/guix.texi:35804 #, fuzzy, no-wrap #| msgid "Monitoring Services" msgid "Mcron Home Service" msgstr "Сервисы мониторинга" #. type: subsection #: guix-git/doc/guix.texi:35805 #, fuzzy, no-wrap #| msgid "Scheduled Job Execution" msgid "Scheduled User's Job Execution" msgstr "Запланированное исполнения задач" #. type: Plain text #: guix-git/doc/guix.texi:35818 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-envirnoment} " "record instead of an @code{operating-system} record." msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35819 #, fuzzy, no-wrap #| msgid "{Scheme Variable} etc-service-type" msgid "{Scheme Variable} home-mcron-service-type" msgstr "{Scheme Variable} etc-service-type" #. type: defvr #: guix-git/doc/guix.texi:35823 msgid "" "This is the type of the @code{mcron} home service, whose value is an " "@code{home-mcron-configuration} object. It allows to manage scheduled tasks." msgstr "" #. type: deftp #: guix-git/doc/guix.texi:35830 #, fuzzy, no-wrap #| msgid "{Data Type} ganeti-mond-configuration" msgid "{Data Type} home-mcron-configuration" msgstr "{Тип данных} build-machine" #. type: node #: guix-git/doc/guix.texi:35844 #, fuzzy, no-wrap #| msgid "Shepherd Services" msgid "Shepherd Home Service" msgstr "Сервисы Shepherd" #. type: subsection #: guix-git/doc/guix.texi:35845 #, no-wrap msgid "Managing User's Daemons" msgstr "" #. type: defvr #: guix-git/doc/guix.texi:35849 #, fuzzy, no-wrap #| msgid "{Scheme Variable} hostapd-service-type" msgid "{Scheme Variable} home-shepherd-service-type" msgstr "{Процедура Scheme} sane-service-type" #. type: defvr #: guix-git/doc/guix.texi:35854 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 "" #. type: item #: guix-git/doc/guix.texi:35868 #, fuzzy, no-wrap #| msgid "@code{auto-start?} (default: @code{#t})" msgid "auto-start? (default: @code{#t})" msgstr "@code{auto-start?} (default: @code{#t})" #. type: table #: guix-git/doc/guix.texi:35870 msgid "Whether or not to start Shepherd on first login." msgstr "" #. type: section #: guix-git/doc/guix.texi:35879 #, fuzzy, no-wrap #| msgid "Invoking @code{guix system}" msgid "Invoking @code{guix home}" msgstr "Вызов @code{guix deploy}" #. type: Plain text #: guix-git/doc/guix.texi:35884 #, 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:" 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 "" "Однажды объявленное описание операционной системы, описанное в предыдущих " "разделах, может быть @dfn{применено} с помощью команды @command{guix " "system}. Синопсис:" #. type: example #: guix-git/doc/guix.texi:35887 #, fuzzy, no-wrap #| msgid "guix weather @var{options}@dots{} [@var{packages}@dots{}]\n" msgid "guix home @var{options}@dots{} @var{action} @var{file}\n" msgstr "guix environment @var{options} @var{package}@dots{}\n" #. type: Plain text #: guix-git/doc/guix.texi:35894 #, 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:" 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{operating-" "system}. @var{action} указывает, как воспроизводится операционная система. В " "настоящее время поддерживаются следующие значения:" #. type: table #: guix-git/doc/guix.texi:35899 #, fuzzy #| msgid "" #| "Display available service type definitions that match the given regular " #| "expressions, sorted by relevance:" msgid "" "Display available home service type definitions that match the given regular " "expressions, sorted by relevance:" msgstr "" "Показывает доступные определения типов служб, в соответствии с указанным " "регулярным выражениям, отсортированные по релевантности:" #. type: cindex #: guix-git/doc/guix.texi:35901 #, fuzzy, no-wrap #| msgid "profile" msgid "shell-profile" msgstr "профиль" #. type: example #: guix-git/doc/guix.texi:35913 #, no-wrap msgid "" "$ guix home search shell\n" "name: home-shell-profile\n" "location: gnu/home/services/shells.scm:73:2\n" "extends: home-files\n" "description: Create `~/.profile', which is used for environment initialization\n" "+ of POSIX compatible login shells. Can be extended with a list of strings or\n" "+ gexps.\n" "relevance: 6\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:35919 #, no-wrap msgid "" "name: home-zsh-plugin-manager\n" "location: gnu/home/services/shellutils.scm:28:2\n" "extends: home-zsh home-profile\n" "description: Install plugins in profile and configure Zsh to load them.\n" "relevance: 1\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:35926 #, no-wrap msgid "" "name: home-zsh-direnv\n" "location: gnu/home/services/shellutils.scm:69:2\n" "extends: home-profile home-zsh\n" "description: Enables `direnv' for `zsh'. Adds hook to `.zshrc' and installs a\n" "+ package in the profile.\n" "relevance: 1\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:35935 #, no-wrap msgid "" "name: home-zsh-autosuggestions\n" "location: gnu/home/services/shellutils.scm:43:2\n" "extends: home-zsh-plugin-manager home-zsh\n" "description: Enables Fish-like fast/unobtrusive autosuggestions for `zsh' and\n" "+ sets reasonable default values for some plugin's variables to improve perfomance\n" "+ and adjust behavior: `(history completion)' is set for strategy, manual rebind\n" "+ and async are enabled.\n" "relevance: 1\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:35941 #, no-wrap msgid "" "name: home-zsh\n" "location: gnu/home/services/shells.scm:236:2\n" "extends: home-files home-profile\n" "description: Install and configure Zsh.\n" "relevance: 1\n" "\n" msgstr "" #. type: example #: guix-git/doc/guix.texi:35947 #, no-wrap msgid "" "name: home-bash\n" "location: gnu/home/services/shells.scm:388:2\n" "extends: home-files home-profile\n" "description: Install and configure Bash.\n" "relevance: 1\n" "\n" msgstr "" #. type: table #: guix-git/doc/guix.texi:35963 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{~/" "TIMESTAMP-guix-home-legacy-configs-backup}, where TIMESTAMP is a current " "UNIX epoch time." msgstr "" #. type: quotation #: guix-git/doc/guix.texi:35968 #, 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." 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 pull} перед " "первым запуском @command{guix system reconfigure} (@pxref{Invoking guix " "pull}). В противном случае вы можете получить старую версию Guix после " "завершения @command{reconfigure}" #. type: table #: guix-git/doc/guix.texi:35975 #, fuzzy #| msgid "" #| "This effects all the configuration specified in @var{file}: user " #| "accounts, system services, global package list, setuid 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})." 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 X} or " "@code{herd restart X})." msgstr "" "Это действие повлияет на всю конфигурацию, указанную в @var{file}: учетные " "записи пользователей, системные службы, глобальный список пакетов, программы " "setuid и т.д. Команда запустит системные службы, указанные в @var{file}, " "которые в данный момент не запущены; если служба в данный момент запущена, " "изменения вступят в силу при следующем перезапуске (например@: по @code{herd " "stop X} или @code{herd restart X})." #. type: table #: guix-git/doc/guix.texi:35981 #, 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})." 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 system list-generations}). " "Если это поколение уже существует, оно будет перезаписано. Это поведение " "описано в @command{guix package} (@pxref{Invoking guix package})." #. type: cindex #: guix-git/doc/guix.texi:35982 #, fuzzy, no-wrap #| msgid "provenance tracking, of the operating system" msgid "provenance tracking, of the home environment" msgstr "трекинг источника, артефакты программного обеспечения" #. type: table #: guix-git/doc/guix.texi:35987 #, 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:" 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{/run/current-system}. " "Этот каталог содержит @dfn{метаданные о происхождении}: список используемых " "каналов (@pxref{Channels}) и сам @var{file}, если он доступен. Вы можете " "просмотреть его, запустив:" #. type: example #: guix-git/doc/guix.texi:35990 #, fuzzy, no-wrap #| msgid "guix describe\n" msgid "guix home describe\n" msgstr "guix describe\n" #. type: table #: guix-git/doc/guix.texi:35996 #, 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:" 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:36002 #, 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 "" #. type: table #: guix-git/doc/guix.texi:36009 #, 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." 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{она содержит свой " "собственный источник}. @xref{Service Reference, @code{provenance-service-" "type}}, для получения дополнительной информации об отслеживании " "происхождения." #. type: cindex #: guix-git/doc/guix.texi:36015 #, fuzzy, no-wrap #| msgid "generations" msgid "home generations" msgstr "поколения" #. type: table #: guix-git/doc/guix.texi:36018 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:36022 #, fuzzy #| msgid "" #| "The target generation can be specified explicitly by its generation " #| "number. For example, the following invocation would switch to system " #| "generation 7:" 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:36025 #, fuzzy, no-wrap #| msgid "guix package --list-generations\n" msgid "guix home switch-generation 7\n" msgstr "guix package --list-generations\n" #. type: example #: guix-git/doc/guix.texi:36036 #, fuzzy, no-wrap #| msgid "guix package --list-generations\n" msgid "guix home switch-generation -- -1\n" msgstr "guix package --list-generations\n" #. type: table #: guix-git/doc/guix.texi:36045 #, 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}." 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}, и " "делает то же самое, что @command{switch-generation} с аргументом @code{-1}." #. type: cindex #: guix-git/doc/guix.texi:36047 #, fuzzy, no-wrap #| msgid "generations" msgid "deleting home generations" msgstr "поколения" #. type: table #: guix-git/doc/guix.texi:36052 #, fuzzy #| msgid "" #| "Delete system generations, making them candidates for garbage collection " #| "(@pxref{Invoking guix gc}, for information on how to run the ``garbage " #| "collector'')." 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:36056 #, 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:" 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:36059 #, fuzzy, no-wrap #| msgid "guix package --list-generations\n" msgid "guix home delete-generations\n" msgstr "guix package --list-generations\n" #. type: table #: guix-git/doc/guix.texi:36063 #, 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 month old:" msgid "" "You can also select the generations you want to delete. The example below " "deletes all the home generations that are more than two month old:" msgstr "" "Вы также можете выбрать поколения, которые хотите удалить. В приведенном " "примере удаляются все системные поколения, которым более двух месяцев:" #. type: example #: guix-git/doc/guix.texi:36066 #, fuzzy, no-wrap #| msgid "guix package --list-generations\n" msgid "guix home delete-generations 2m\n" msgstr "guix package --list-generations\n" #. type: table #: guix-git/doc/guix.texi:36072 #, 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." 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:36076 msgid "" "Describe the current home generation: its file name, as well as provenance " "information when available." msgstr "" #. type: table #: guix-git/doc/guix.texi:36082 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 "" #. type: example #: guix-git/doc/guix.texi:36090 #, fuzzy, no-wrap #| msgid "guix package --list-generations\n" msgid "$ guix home list-generations 10d\n" msgstr "guix package --list-generations\n" #. type: table #: guix-git/doc/guix.texi:36105 msgid "" "Consider the home-environment @var{expr} evaluates to. This is an " "alternative to specifying a file which evaluates to a home environment." msgstr "" #. type: cindex #: guix-git/doc/guix.texi:36111 #, no-wrap msgid "documentation, searching for" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:36112 #, no-wrap msgid "searching for documentation" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:36113 #, no-wrap msgid "Info, documentation format" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:36114 #, no-wrap msgid "man pages" msgstr "" #. type: cindex #: guix-git/doc/guix.texi:36115 #, no-wrap msgid "manual pages" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36122 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36126 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 "" #. type: example #: guix-git/doc/guix.texi:36134 #, 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)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" #. type: Plain text #: guix-git/doc/guix.texi:36138 msgid "The command below searches for the same keyword in man pages:" msgstr "" #. type: example #: guix-git/doc/guix.texi:36144 #, 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 library\n" "certtool (1) - GnuTLS certificate tool\n" "@dots{}\n" #. type: Plain text #: guix-git/doc/guix.texi:36150 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:36153 msgid "" "Once you have these results, you can view the relevant documentation by " "running, say:" msgstr "" #. type: example #: guix-git/doc/guix.texi:36156 #, no-wrap msgid "$ info \"(gnutls)Core TLS API\"\n" msgstr "$ info \"(gnutls)Core TLS API\"\n" #. type: Plain text #: guix-git/doc/guix.texi:36160 msgid "or:" msgstr "или:" #. type: example #: guix-git/doc/guix.texi:36163 #, no-wrap msgid "$ man certtool\n" msgstr "$ man certtool\n" #. type: Plain text #: guix-git/doc/guix.texi:36171 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 "" #. type: cindex #: guix-git/doc/guix.texi:36175 #, no-wrap msgid "debugging files" msgstr "отладка файлов" #. type: Plain text #: guix-git/doc/guix.texi:36181 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36185 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:36201 msgid "" "The problem with debugging information is that is 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36208 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36216 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 "" #. type: example #: guix-git/doc/guix.texi:36219 #, 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:36225 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 "" #. type: example #: guix-git/doc/guix.texi:36228 #, no-wrap msgid "(gdb) set debug-file-directory ~/.guix-profile/lib/debug\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36232 msgid "" "From there on, GDB will pick up debugging information from the @file{.debug} " "files under @file{~/.guix-profile/lib/debug}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36239 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36247 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36249 msgid "Read on for how to deal with packages lacking a @code{debug} output." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36261 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36266 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 "" #. type: example #: guix-git/doc/guix.texi:36277 #, 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=, 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=)\n" " at dl-init.c:118\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36281 msgid "" "To address that, you install Inkscape linked against a variant GLib that " "contains debug info:" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36287 msgid "This time, debugging will be a whole lot nicer:" msgstr "" #. type: example #: guix-git/doc/guix.texi:36305 #, 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=, argc=argc@@entry=3, argv=argv@@entry=0x7fffffffd088, \n" " env=env@@entry=0x7fffffffd0a8) at dl-init.c:72\n" "@dots{}\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36308 msgid "Much better!" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36312 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 "" #. type: cindex #: guix-git/doc/guix.texi:36316 #, no-wrap msgid "security updates" msgstr "обновление безопасности" #. type: Plain text #: guix-git/doc/guix.texi:36325 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 "" #. type: smallexample #: guix-git/doc/guix.texi:36332 #, 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36335 msgid "@xref{Invoking guix lint}, for more information." msgstr "@xref{Invoking guix lint}, для получения дополнительной информации." #. type: Plain text #: guix-git/doc/guix.texi:36344 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 "" #. type: cindex #: guix-git/doc/guix.texi:36345 #, no-wrap msgid "grafts" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36353 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 "" #. type: cindex #: guix-git/doc/guix.texi:36354 #, no-wrap msgid "replacements of packages, for grafts" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36360 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 "" #. type: lisp #: guix-git/doc/guix.texi:36367 #, no-wrap msgid "" "(define bash\n" " (package\n" " (name \"bash\")\n" " ;; @dots{}\n" " (replacement bash-fixed)))\n" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36377 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36385 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36389 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 "" #. type: example #: guix-git/doc/guix.texi:36392 #, no-wrap msgid "guix build bash --no-grafts\n" msgstr "guix build bash --no-grafts\n" #. type: Plain text #: guix-git/doc/guix.texi:36396 msgid "returns the store file name of the original Bash, whereas:" msgstr "" #. type: example #: guix-git/doc/guix.texi:36399 #, no-wrap msgid "guix build bash\n" msgstr "guix build bash\n" #. type: Plain text #: guix-git/doc/guix.texi:36404 msgid "" "returns the store file name of the ``fixed'', replacement Bash. This allows " "you to distinguish between the two variants of Bash." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36407 msgid "" "To verify which Bash your whole profile refers to, you can run " "(@pxref{Invoking guix gc}):" msgstr "" "Чтобы проверить, к какому именно Bash установлен в вашем профилt, вы можете " "запустить (@pxref{Invoking guix gc}):" #. type: example #: guix-git/doc/guix.texi:36410 #, 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:36415 msgid "" "@dots{} and compare the store file names that you get with those above. " "Likewise for a complete Guix system generation:" msgstr "" #. type: example #: guix-git/doc/guix.texi:36418 #, 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:36422 msgid "" "Lastly, to check which Bash running processes are using, you can use the " "@command{lsof} command:" msgstr "" #. type: example #: guix-git/doc/guix.texi:36425 #, no-wrap msgid "lsof | grep /gnu/store/.*bash\n" msgstr "lsof | grep /gnu/store/.*bash\n" #. type: cindex #: guix-git/doc/guix.texi:36433 #, no-wrap msgid "bootstrapping" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36440 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36448 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 "" #. type: cindex #: guix-git/doc/guix.texi:36449 guix-git/doc/guix.texi:36661 #, no-wrap msgid "bootstrap binaries" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36459 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36463 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 "" #. type: section #: guix-git/doc/guix.texi:36470 #, no-wrap msgid "The Reduced Binary Seed Bootstrap" msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36477 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36483 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36488 msgid "" "For @code{i686-linux} and @code{x86_64-linux}, Guix now features a ``Reduced " "Binary Seed'' bootstrap @footnote{We would like to say: ``Full Source " "Bootstrap'' and while we are working towards that goal it would be hyperbole " "to use that term for what we do now.}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36494 msgid "" "The Reduced Binary Seed bootstrap removes the most critical tools---from a " "trust perspective---from the bootstrap binaries: GCC, Binutils and the GNU C " "Library are replaced by: @code{bootstrap-mescc-tools} (a tiny assembler and " "linker) and @code{bootstrap-mes} (a small Scheme Interpreter and a C " "compiler written in Scheme and the Mes C Library, built for TinyCC and for " "GCC)." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36499 msgid "" "Using these new binary seeds the ``missing'' Binutils, GCC, and the GNU C " "Library are built from source. From here on the more traditional bootstrap " "process resumes. This approach has reduced the bootstrap binaries in size " "to about 145MB in Guix v1.1." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36507 msgid "" "The next 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. The rest of the bootstrap binary seeds that were removed are now " "built from source." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36517 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36521 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36524 msgid "" "@image{images/gcc-core-mesboot0-graph,6in,,Dependency graph of gcc-core-" "mesboot0}" msgstr "" "@image{images/gcc-core-mesboot0-graph,6in,,Dependency graph of gcc-core-" "mesboot0}" #. type: Plain text #: guix-git/doc/guix.texi:36531 msgid "" "The only significant binary bootstrap seeds that remain@footnote{ Ignoring " "the 68KB @code{mescc-tools}; that will be removed later, together with " "@code{mes}.} are a Scheme interpreter and a Scheme compiler: GNU Mes and GNU " "Guile@footnote{Not shown in this graph are the static binaries for " "@file{bash}, @code{tar}, and @code{xz} that are used to get Guile running.}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36534 msgid "" "This further reduction has brought down the size of the binary seed to about " "60MB for @code{i686-linux} and @code{x86_64-linux}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36539 msgid "" "Work is ongoing to remove all binary blobs from our free software bootstrap " "stack, working towards a Full Source Bootstrap. Also ongoing is work to " "bring these bootstraps to the @code{arm-linux} and @code{aarch64-linux} " "architectures and to the Hurd." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36543 msgid "" "If you are interested, join us on @samp{#bootstrappable} on the Freenode IRC " "network or discuss on @email{bug-mes@@gnu.org} or @email{gash-devel@@nongnu." "org}." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36550 msgid "" "@image{images/bootstrap-graph,6in,,Dependency graph of the early bootstrap " "derivations}" msgstr "" "@image{images/bootstrap-graph,6in,,Dependency graph of the early bootstrap " "derivations}" #. type: Plain text #: guix-git/doc/guix.texi:36555 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 "" #. type: example #: guix-git/doc/guix.texi:36560 #, 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:36563 msgid "or, for the further Reduced Binary Seed bootstrap" msgstr "" #. type: example #: guix-git/doc/guix.texi:36568 #, 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:36577 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36586 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36598 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36603 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 "" #. type: unnumberedsec #: guix-git/doc/guix.texi:36604 #, no-wrap msgid "Building the Build Tools" msgstr "Сборка инструментов сборки" #. type: Plain text #: guix-git/doc/guix.texi:36613 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36620 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 "" #. type: example #: guix-git/doc/guix.texi:36625 #, 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:36632 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36634 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:36640 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:36645 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, построенные как псевдо-кросс-инструменты---т.е. с " "@code{--target}, равным @code{--host}. Они используются для сборки libc. " "Благодаря этому кросс-сборочному трюку, libc гарантированно не будет " "содержать никаких ссылок на начальный набор инструментов." #. type: Plain text #: guix-git/doc/guix.texi:36651 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 " "использует @code{ld} из финального Binutils и связывает программы с только " "что созданным libc. Эта цепочка инструментов используется для сборки других " "пакетов, используемых Guix и система сборки GNU: Guile, Bash, Coreutils и т." "д." #. type: Plain text #: guix-git/doc/guix.texi:36657 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-input} модуля " "@code{(gnu packages commencement)} и неявно используются любым пакетом, " "использующим @code{gnu-build-system} (@pxref{Build Systems, @code{gnu-build-" "system}})." #. type: unnumberedsec #: guix-git/doc/guix.texi:36659 #, no-wrap msgid "Building the Bootstrap Binaries" msgstr "Сборка двоичных файлов двоичной загрузки" #. type: Plain text #: guix-git/doc/guix.texi:36666 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:36672 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 "" "Следующая команда создает tar-архивы, содержащие двоичные файлы начальной " "загрузки (Binutils, GCC, glibc, для традиционной загрузки и linux-libre-" "headers, bootstrap-mescc-tools, bootstrap-mes для начальной загрузки Reduced " "Binary Seed, Guile и tarball содержащий смесь Coreutils и других основных " "инструментов командной строки):" #. type: example #: guix-git/doc/guix.texi:36675 #, no-wrap msgid "guix build bootstrap-tarballs\n" msgstr "tar архив начальной сборки guix\n" #. type: Plain text #: guix-git/doc/guix.texi:36680 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 "" "Сгенерированные тарболы - это те, на которые нужно ссылаться в модуле " "@code{(gnu packages bootstrap)}, упомянутом в начале этого раздела." #. type: Plain text #: guix-git/doc/guix.texi:36686 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:36687 #, no-wrap msgid "Reducing the Set of Bootstrap Binaries" msgstr "Сокращение набора Bootstrap Binaries" #. type: Plain text #: guix-git/doc/guix.texi:36695 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36701 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36707 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36716 msgid "" "Our first major achievement is the replacement of 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36719 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 "" #. type: chapter #: guix-git/doc/guix.texi:36721 #, no-wrap msgid "Porting to a New Platform" msgstr "Портирование на новую платформу" #. type: Plain text #: guix-git/doc/guix.texi:36730 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36735 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 "" #. type: example #: guix-git/doc/guix.texi:36738 #, 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:36745 msgid "" "For this to work, the @code{glibc-dynamic-linker} procedure in @code{(gnu " "packages bootstrap)} must be augmented to return the right file name for " "libc's dynamic linker on that platform; likewise, @code{system->linux-" "architecture} in @code{(gnu packages linux)} must be taught about the new " "platform." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:36754 msgid "" "Once these 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36763 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 "" #. type: include #: guix-git/doc/guix.texi:36765 #, no-wrap msgid "contributing.texi" msgstr "contributing.ru.texi" #. type: Plain text #: guix-git/doc/guix.texi:36778 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 "" #. type: Plain text #: guix-git/doc/guix.texi:36781 msgid "" "The Nix-based software distributions, Nixpkgs and NixOS, have also been an " "inspiration for Guix." msgstr "" "Дистрибутивы, основанный на Nix, Nixpkgs and NixOS, также были источником " "вдохновения для Guix." #. type: Plain text #: guix-git/doc/guix.texi:36787 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 "" #. type: cindex #: guix-git/doc/guix.texi:36792 #, no-wrap msgid "license, GNU Free Documentation License" msgstr "лицензия, GNU Free Documentation License" #. type: include #: guix-git/doc/guix.texi:36793 #, no-wrap msgid "fdl-1.3.texi" msgstr "fdl-1.3.texi" #~ msgid "git-send-email" #~ msgstr "git-send-email" #, 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}." #~ msgid "" #~ "The @code{#:profile} parameter can be passed to specify the @uref{https://" #~ "dune.readthedocs.io/en/stable/dune-files.html#profile, dune build " #~ "profile}. This is equivalent to passing the @code{--profile} argument to " #~ "@code{dune}. Its default value is @code{\"release\"}." #~ msgstr "" #~ "Параметр @code{#:package} может быть передан для указания имени пакета, " #~ "что полезно, когда пакет содержит несколько пакетов, и вы хотите создать " #~ "только один из них. Это эквивалентно передаче аргумента @code{-p} в " #~ "@code{dune}." #~ msgid "@code{opam}, the default opam repository," #~ msgstr "@code{port} (default: @code{22})" #~ msgid "of coq packages." #~ msgstr "пакетов coq." #~ msgid "Using Debbugs." #~ msgstr "Использование Debbugs." #~ msgid "2.2.x;" #~ msgstr "2.2.x;" #~ msgid "To copy the image to a USB stick, follow these steps:" #~ msgstr "Чтобы записать образ на USB-флеш, выполните следующие шаги:" #~ msgid "Decompress the image using the @command{xz} command:" #~ msgstr "Распакуйте образ, используя команду @command{xz}:" #~ msgid "xz -d guix-system-install-@value{VERSION}.x86_64-linux.iso.xz\n" #~ msgstr "xz -d guix-system-install-@value{VERSION}.x86_64-linux.iso.xz\n" #~ msgid "To copy the image to a DVD, follow these steps:" #~ msgstr "Чтобы скопировать образ на DVD, проделайте следующие шаги:" #~ msgid "" #~ "The build-side module @code{(guix build gnu-build-system)} defines " #~ "@code{%standard-phases} as the default list of build phases. " #~ "@code{%standard-phases} is a list of symbol/procedure pairs, where the " #~ "procedure implements the actual phase." #~ msgstr "" #~ "Модуль на стороне сборки @code{(guix build gnu-build-system)} определяет " #~ "@code{%standard-phase} как список фаз сборки по умолчанию. " #~ "@code{%standard-phase} - это список пар символ/процедура, в которых " #~ "процедура реализует фазу." #, 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 "" #~| "For packages requiring shared library dependencies, you may need to " #~| "write the @file{/deps/deps.jl} file manually. It's usually a line of " #~| "@code{const variable = /gnu/store/library.so} for each dependency, plus " #~| "a void function @code{check_deps() = nothing}." #~ msgid "" #~ "For packages requiring shared library dependencies, you may need to write " #~ "the @file{/deps/deps.jl} file manually. It's usually a line of " #~ "@code{const variable = /gnu/store/library.so} for each dependency, plus a " #~ "void function @code{check_deps() = nothing}." #~ msgstr "" #~ "Для пакетов, требующих зависимостей shared библиотек, вам может " #~ "потребоваться вручную написать файл @file{/deps/deps.jl}. Обычно это " #~ "строка @code{const variable = /gnu/store/library.so} для каждой " #~ "зависимости плюс void функция @code{check_deps() = nothing}." #, fuzzy #~| msgid "@code{speed} (default: @code{1.0})" #~ msgid "@code{queries-log-file} (default: @code{#f})" #~ msgstr "@code{speed} (default: @code{1.0})" #, fuzzy #~| msgid "@code{speed} (default: @code{1.0})" #~ msgid "@code{web-queries-log-file} (default: @code{#f})" #~ msgstr "@code{speed} (default: @code{1.0})" #, fuzzy #~| msgid "@code{port} (default: @code{22})" #~ msgid "@code{queue-size} (default: @code{1})" #~ msgstr "@code{port} (default: @code{22})" #~ msgid "Size of the database writer queue." #~ msgstr "Уровень детализации демона." #, fuzzy #~| msgid "" #~| "{Scheme Procedure} lookup-inferior-packages @var{inferior} @var{name} @" #~ msgid "" #~ "{Scheme Procedure} simple-cuirass-configuration->specs @var{configuration}" #~ msgstr "" #~ "{Процедура Scheme} lookup-inferior-packages @var{inferior} @var{name} @" #, fuzzy #~| msgid "Manage the operating system configuration." #~ msgid "" #~ "Data type representing the configuration of a simple Cuirass instance." #~ msgstr "Управление конфигурацией операционной системы." #, fuzzy #~| msgid "@code{speed} (default: @code{1.0})" #~ msgid "@code{build} (default: @code{all})" #~ msgstr "@code{speed} (default: @code{1.0})" #, fuzzy #~| msgid "{Data Type} build-machine" #~ msgid "{Data Type} build-manifest" #~ msgstr "{Тип данных} build-machine" #, fuzzy #~| msgid "channels" #~ msgid "channel-name" #~ msgstr "каналы" #, fuzzy #~| msgid "profile-manifest" #~ msgid "manifest" #~ msgstr "profile-manifest" #, fuzzy #~| msgid "@code{patches} (default: @code{'()})" #~ msgid "@code{non-package-channels} (default: @code{'()})" #~ msgstr "@code{patches} (по умолчанию: @code{'()})" #, fuzzy #~| msgid "@code{auto-start?} (default: @code{#t})" #~ msgid "@code{guix-support?} (default: @code{#t})" #~ msgstr "@code{auto-start?} (default: @code{#t})" #, fuzzy #~| msgid "@code{port} (default: @code{22})" #~ msgid "@code{password-file} (default: @code{#f})" #~ msgstr "@code{port} (default: @code{22})" #~ 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} считаются @emph{замороженными}, " #~ "если существует поседнее определение или соответствующий бренч @code{-" #~ "next}. Пожалуйста, задайте вопрос в рассылках или IRC, если не уверенны " #~ "куда разместить патч." #~ msgid "" #~ "Julia packages require the source @code{file-name} to be the real name of " #~ "the package, correctly capitalized." #~ msgstr "" #~ "Пакеты Julia требуют, чтобы исходный код @code{file-name} был настоящим " #~ "именем пакета, написанным с заглавной буквы." #~ msgid "" #~ "GUIX_PROFILE=\"$HOME/.guix-profile\" ; \\\n" #~ "source \"$HOME/.guix-profile/etc/profile\"\n" #~ msgstr "" #~ "GUIX_PROFILE=\"$HOME/.guix-profile\" ; \\\n" #~ "source \"$HOME/.guix-profile/etc/profile\"\n" #~ msgid "" #~ "When @url{https://www.nongnu.org/lzip/lzlib.html, lzlib} is available, " #~ "lzlib substitutes can be used and @command{guix publish} can compress " #~ "substitutes with lzlib." #~ msgstr "" #~ "Когда библиотека @url{https://www.nongnu.org/lzip/lzlib.html, lzlib} " #~ "установлена, можно использовать lzlib substitutes и @command{guix " #~ "publish} может сжимать substitutes с помощью lzlib" #~ msgid "Support for the Logical Volume Manager (LVM) is missing." #~ msgstr "Менеджер логических томов (LVM) отсутствует." #~ msgid "" #~ "For binary packages, each system should be defined as a Guix package. If " #~ "one package @code{origin} contains several systems, package variants can " #~ "be created in order to build all the systems. Source packages, which use " #~ "@code{asdf-build-system/source}, may contain several systems." #~ msgstr "" #~ "Для binary пакетов каждая система должна быть определена как пакет Guix. " #~ "Если один пакет @code{origin} содержит несколько систем, можно создать " #~ "варианты пакета, чтобы собрать все системы. Пакеты с исходным кодом, в " #~ "которых используется @code{asdf-build-system/source}, могут содержать " #~ "несколько систем." #, fuzzy #~| msgid "./pre-inst-env guix build gnew --keep-failed\n" #~ msgid "./pre-inst-env guix build guix --with-git-url=guix=$PWD\n" #~ msgstr "./pre-inst-env guix build gnew --keep-failed\n" #~ msgid "" #~ "Packages can be manipulated in arbitrary ways. An example of a useful " #~ "transformation is @dfn{input rewriting}, whereby the dependency tree of a " #~ "package is rewritten by replacing specific inputs by others:" #~ msgstr "" #~ "Пакетами можно манипулировать различными способами. Примером полезного " #~ "преобразования является @dfn{input rewriting}, при котором дерево " #~ "зависимостей пакета переписывается путем замены определенных входных " #~ "данных другими:" #~ msgid "guix-daemon --substitute-urls=http://example.org:8080\n" #~ msgstr "guix-daemon --substitute-urls=http://example.org:8080\n" #~ msgid "@var{git-fetch} from @code{(guix git-download)}" #~ msgstr "@var{git-fetch} из @code{(guix git-download)}" #~ msgid "#:phases (modify-phases %standard-phases (delete 'configure))\n" #~ msgstr "#:phases (modify-phases %standard-phases (delete 'configure))\n" #, fuzzy #~| msgid "@code{features} (default: @code{'()})" #~ msgid "@code{extra-options} (default: @code{'()\"})" #~ msgstr "@code{features} (default: @code{'()})"