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


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

Этот раздел описывает, как установить Guix на обычную систему из отдельного архива, который содержит бинарники Guix и все его зависимости. Это обычно быстрее установки из исходных кодов, которая описана в следующем разделе. Единственное требование - иметь GNU tar и Xz.

Примечание: We recommend the use of this 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:

cd /tmp
wget 'https://git.savannah.gnu.org/gitweb/?p=guix.git;a=blob_plain;f=etc/guix-install.sh;hb=HEAD'
chmod +x guix-install.sh
./guix-install.sh

If you’re running Debian or a derivative such as Ubuntu, you can instead install the package (it might be a version older than 1.4.0 but you can update it afterwards by running ‘guix pull’):

sudo apt install guix

Likewise on openSUSE:

sudo zypper install guix

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

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

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

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

    $ wget https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.x86_64-linux.tar.xz.sig
    $ gpg --verify guix-binary-1.4.0.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-1.4.0.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
    

    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
    
  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. To use substitutes from 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.

  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]