Next: , Up: Установка   [Contents][Index]


2.1 Бинарная установка

This section describes how to install Guix from a self-contained tarball providing binaries for Guix and for all its dependencies. This is often quicker than installing from source, which is described in the next sections. Binary installation requires a system using a Hurd or Linux kernel; the GNU tar and Xz commands must also be available.

Важно: This section only applies to systems without Guix. Following it for existing Guix installations will overwrite important system files.

Мы рекомендуем использовать этот установочный скрипт. Скрипт автоматизирует скачивание, установку и начальные шаги конфигурации, описанные ниже. Он должен запускаться от пользователя 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, то можете вместо этого установить пакет (он может оказаться более старой версией, чем 0e8f7ee, но потом её можно обновить путём запуска ‘guix pull’):

sudo apt install guix

Подобным же образом на openSUSE:

sudo zypper install guix

Когда закончите, вам может понадобиться see Установка приложения для дополнительной настройки и Начиная!

Установка производится следующими образом:

  1. Скачайте архив с бинарником из ‘https://ftp.gnu.org/gnu/guix/guix-binary-0e8f7ee.system.tar.xz’, где system — это x86_64-linux для машины x86_64, на которой уже запущено ядро Linux, и так далее.

    Убедитесь в аутентичности архива, скачав файл .sig и запустив:

    $ wget https://ftp.gnu.org/gnu/guix/guix-binary-0e8f7ee.x86_64-linux.tar.xz.sig
    $ gpg --verify guix-binary-0e8f7ee.x86_64-linux.tar.xz.sig
    

    Если это завершается ошибкой, значит у вас нет необходимого публичного ключа, тогда запустите команду для импорта ключа:

    $ wget 'https://sv.gnu.org/people/viewgpg.php?user_id=15145' \
          -qO - | gpg --import -
    

    и запустите команду gpg --verify.

    Обратите внимание, что предупреждение по типу «Этот ключ не сертифицирован с доверенной подписью!» является нормальным.

  2. Теперь вам необходимы привилегии пользователя root. В зависимости от вашего дистрибутива, можно запустить su - или sudo -i. Под root запустите:
    # cd /tmp
    # tar --warning=no-timestamp -xf \
         /path/to/guix-binary-0e8f7ee.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). Это сделано с той целью, чтобы удостовериться, что содержимое архива не засисит от даты его создания, что делает его воспроизводимым (повторяемым).

  3. Сделайте профиль доступным по пути ~root/.config/guix/current, куда 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
    
  4. Создайте группу и пользовательские учётные записи, как это обозначено в (see Установка окружения сборки).
  5. Запустите демон и сделайте добавьте его в автоззагрузку после старта.

    Если ваш дистрибутив использует систему инициализации 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
    
  6. Сделайте команду 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).

  7. Чтобы использовать подстановки из 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.

  8. Каждый пользователь, возможно, должен выполнить дополнительные шаги, чтобы сделать их окружение Guix готовым к использованию see Установка приложения.

Вуаля! Установка завершена!

Вы можете проверить, что 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]