Next: Требования, Up: Установка [Contents][Index]
Этот раздел описывает, как установить Guix на обычную систему из отдельного архива, который содержит бинарники Guix и все его зависимости. Это обычно быстрее установки из исходных кодов, которая описана в следующем разделе. Единственное требование - иметь GNU tar и Xz.
Примечание: Мы рекомендуем использовать этот установочный скрипт. Скрипт автоматизирует скачивание, установку и начальные шаги конфигурации, описанные ниже. Он должен запускаться от пользователя root. Как root вы можете запустить это:
cd /tmp wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh chmod +x guix-install.sh ./guix-install.shКогда закончите, вам может понадобиться see Установка приложения для дополнительной настройки и Начиная!
Установка производится следующими образом:
https://ftp.gnu.org/gnu/guix/guix-binary-1.3.0.17171-a1632.system.tar.xz
’,
где system — это x86_64-linux
для машины x86_64
, на
которой уже запущено ядро Linux, и так далее.
Убедитесь в аутентичности архива, скачав файл .sig и запустив:
$ wget https://ftp.gnu.org/gnu/guix/guix-binary-1.3.0.17171-a1632.x86_64-linux.tar.xz.sig $ gpg --verify guix-binary-1.3.0.17171-a1632.x86_64-linux.tar.xz.sig
Если это завершается ошибкой, значит у вас нет необходимого публичного ключа, тогда запустите команду для импорта ключа:
$ wget 'https://sv.gnu.org/people/viewgpg.php?user_id=127547' \ -qO - | gpg --import -
и запустите команду gpg --verify
.
Обратите внимание, что предупреждение по типу «Этот ключ не сертифицирован с доверенной подписью!» является нормальным.
root
. В зависимости от
вашего дистрибутива, можно запустить su -
или sudo -i
. Под
root
запустите:
# cd /tmp # tar --warning=no-timestamp -xf \ /path/to/guix-binary-1.3.0.17171-a1632.x86_64-linux.tar.xz # mv var/guix /var/ && mv gnu /
Это создаёт /gnu/store (see Хранилище) и
/var/guix. Последнее содержит готовый к использованию профиль для
root
(подробнее в следующем шаге).
Не распаковывайте архив в работающую систему Guix, так как это перезапишет её основные файлы.
Опция --warning=no-timestamp
необходима, чтобы удостовериться, что
GNU tar не вызывает ошибок об "устаревшей дате", подобные ошибки
появлялись в GNU tar 1.26 и старше, в последних версиях всё в
порядке). Они возникают из-за того, что архив имеет нулевую дату модификации
(что соответствует 1 января 1970). Это сделано с той целью, чтобы
удостовериться, что содержимое архива не засисит от даты его создания, что
делает его воспроизводимым (повторяемым).
guix pull
будет устанавливать обновления (see Запуск guix pull):
# mkdir -p ~root/.config/guix # ln -sf /var/guix/profiles/per-user/root/current-guix \ ~root/.config/guix/current
Добавьте etc/profile в PATH
и другие уместные переменные
окружения:
# GUIX_PROFILE="`echo ~root`/.config/guix/current" ; \ source $GUIX_PROFILE/etc/profile
Если ваш дистрибутив использует систему инициализации systemd, этого можно добиться следующими командами:
# cp ~root/.config/guix/current/lib/systemd/system/gnu-store.mount \ ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \ /etc/systemd/system/ # systemctl enable --now gnu-store.mount guix-daemon
You may also want to arrange for guix gc
to run periodically:
# cp ~root/.config/guix/current/lib/systemd/system/guix-gc.service \ ~root/.config/guix/current/lib/systemd/system/guix-gc.timer \ /etc/systemd/system/ # systemctl enable --now guix-gc.timer
You may want to edit guix-gc.service to adjust the command line options to fit your needs (see Вызов guix gc).
Если ваш дистрибутив использует систему инициализации Upstart:
# initctl reload-configuration # cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \ /etc/init/ # start guix-daemon
Или можно запускать демон вручную так:
# ~root/.config/guix/current/bin/guix-daemon \ --build-users-group=guixbuild
guix
доступной для других пользователей машины,
например, так:
# mkdir -p /usr/local/bin # cd /usr/local/bin # ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix
Хорошо также предоставить доступ к Info-версии руководства так:
# mkdir -p /usr/local/share/info # cd /usr/local/share/info # for i in /var/guix/profiles/per-user/root/current-guix/share/info/* ; do ln -s $i ; done
Таким образом, если предположить, что /usr/local/share/info находится
в пути поиска, запуск info guix
откроет это руководство (см.,
see Other Info Directories in GNU Texinfo).
ci.guix.gnu.org
,
bordeaux.guix.gnu.org
or a mirror (see Подстановки),
authorize them:
# guix archive --authorize < \ ~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub # guix archive --authorize < \ ~root/.config/guix/current/share/guix/bordeaux.guix.gnu.org.pub
Примечание: If you do not enable substitutes, Guix will end up building everything from source on your machine, making each installation and upgrade very expensive. See Касательно проверенных бинарников, for a discussion of reasons why one might want do disable substitutes.
Вуаля! Установка завершена!
Вы можете проверить, что Guix работает, установив тестовый пакет для профиля root:
# guix install hello
Архив для бинарной установки может быть воспроизведён (повторён) и проверен простым запуском следующей команды в дереве исходников Guix:
make guix-binary.system.tar.xz
..., что в свою очередь, выполнит:
guix pack -s system --localstatedir \ --profile-name=current-guix guix
See Запуск guix pack для подробной информации об этом полезном инструменте.
Next: Требования, Up: Установка [Contents][Index]