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Если пользуетесь Debian или его производной типа Ubuntu, то можете вместо этого установить пакет (он может оказаться более старой версией, чем 4bdb8bd, но потом её можно обновить путём запуска ‘guix pull’):
sudo apt install guixПодобным же образом на openSUSE:
sudo zypper install guixКогда закончите, вам может понадобиться see Установка приложения для дополнительной настройки и Начиная!
Установка производится следующими образом:
https://ftp.gnu.org/gnu/guix/guix-binary-4bdb8bd.system.tar.xz
’,
где system — это x86_64-linux
для машины x86_64
, на
которой уже запущено ядро Linux, и так далее.
Убедитесь в аутентичности архива, скачав файл .sig и запустив:
$ wget https://ftp.gnu.org/gnu/guix/guix-binary-4bdb8bd.x86_64-linux.tar.xz.sig $ gpg --verify guix-binary-4bdb8bd.x86_64-linux.tar.xz.sig
Если это завершается ошибкой, значит у вас нет необходимого публичного ключа, тогда запустите команду для импорта ключа:
$ wget 'https://sv.gnu.org/people/viewgpg.php?user_id=15145' \ -qO - | gpg --import -
и запустите команду gpg --verify
.
Обратите внимание, что предупреждение по типу «Этот ключ не сертифицирован с доверенной подписью!» является нормальным.
root
. В зависимости от
вашего дистрибутива, можно запустить su -
или sudo -i
. Под
root
запустите:
# cd /tmp # tar --warning=no-timestamp -xf \ /path/to/guix-binary-4bdb8bd.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
Вы также можете организовать периодический запуск guix gc
:
# 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
Вы можете отредактировать guix-gc.service, чтобы настроить параметры
командной строки в соответствии с вашими потребностями (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
или из одного из зеркал
(see Подстановки), авторизуйте их:
# 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]