Next: , Previous: , Up: Каналы   [Contents][Index]


6.3 Копирование Guix

Результат guix pull --list-generations выше показывает точно, какие коммиты были использованы для сборки данной инстанции Guix. Так что мы можем повторить её, скажем, на другой машине, предоставив объявление канала в ~/.config/guix/channels.scm, которое завязано на этих коммитах:

;; Deploy specific commits of my channels of interest.
(list (channel
       (name 'guix)
       (url "https://git.savannah.gnu.org/git/guix.git")
       (commit "6298c3ffd9654d3231a6f25390b056483e8f407c"))
      (channel
       (name 'variant-packages)
       (url "https://example.org/variant-packages.git")
       (commit "dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb")))

The guix describe --format=channels command can even generate this list of channels directly (see Вызов guix describe). The resulting file can be used with the -C options of guix pull (see Запуск guix pull) or guix time-machine (see Вызов guix time-machine).

И тогда две машины будут работать с полностью одинаковым Guix, имея доступ к абсолютно одинаковым пакетам. Результат guix build gimp на одной машине будет совершенно таким же, бит к биту, как результат этой команды на другой машине. Это также означает, что обе машины имеют доступ ко всем исходным кодам Guix, следовательно, ко всем исходным кодам каждого пакета, определённого в Guix.

Это даёт вам супервозможности, позволяя вам отслеживать и управлять происхождением артефактов бинарников с точной детализацией, также повторять программные окружения — это воспроизводимость высокого уровня. Смотрите See Младшие версии, чтобы узнать другие преимущества таких супервозможностей.