Next: Requisitos, Up: Instalación [Contents][Index]
Esta sección describe cómo instalar Guix en un sistema arbitrario desde un archivador autocontenido que proporciona los binarios para Guix y todas sus dependencias. Esto es normalmente más rápido que una instalación desde las fuentes, la cual es descrita en las siguientes secciones. El único requisito es tener GNU tar y Xz.
Nota: Le recomendamos el uso de este guión de instalación. Automatiza la descarga, instalación y los pasos iniciales de configuración descritos a continuación. Debe ser ejecutarse como root. Mediante el uso de dicha cuenta puede ejecutar esto:
cd /tmp wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh chmod +x guix-install.sh ./guix-install.shIf 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 guixLikewise on openSUSE:
sudo zypper install guixCuando haya terminado, see Configuración de la aplicación para obtener información adicional que pueda necesitar, ¡y Empezando para sus primeros pasos!
La instalación consiste más o menos en los siguientes pasos:
https://ftp.gnu.org/gnu/guix/guix-binary-1.4.0.x86_64-linux.tar.xz
’,
donde, por ejemplo, x86_64-linux
puede sustituirse por
i686-linux
para una máquina i686
(32 bits) que ejecute el
núcleo Linux (see Distribución GNU).
Asegúrese de descargar el archivo .sig asociado y de verificar la autenticidad del archivador con él, más o menos así:
$ 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
Si la orden falla porque no dispone de la clave pública necesaria, entonces ejecute esta otra orden para importarla:
$ wget 'https://sv.gnu.org/people/viewgpg.php?user_id=15145' \ -qO - | gpg --import -
y vuelva a ejecutar la orden gpg --verify
.
Tenga en cuenta que un aviso del tipo “Esta clave no esta certificada con una firma de confianza” es normal.
root
. Dependiendo de su
distribución, puede que tenga que ejecutar su -
o sudo
-i
. Como root
, ejecute:
# cd /tmp # tar --warning=no-timestamp -xf \ /ruta/a/guix-binary-1.4.0.x86_64-linux.tar.xz # mv var/guix /var/ && mv gnu /
Esto crea /gnu/store (see El almacén) y /var/guix. El
último contiene un perfil listo para usar para root
(véase el
siguiente paso).
No extraiga el archivador en un sistema Guix ya funcionando ya que sobreescribiría sus propios archivos esenciales.
La opción --warning=no-timestamp asegura que GNU tar no emite avisos sobre “marcas de tiempo imposibles” (dichos avisos eran emitidos por GNU tar 1.26 y anteriores; las versiones recientes están bien). Parten del hecho de que todos los archivos en el archivador tienen su tiempo de modificación con valor uno (que significa el 1 de enero de 1970). Esto se hace de manera voluntaria para asegurarse de que el contenido del archivador es independiente de su fecha de creación, haciendolo por tanto reproducible.
guix pull
instalará las actualizaciones (see Invocación de guix pull
):
# mkdir -p ~root/.config/guix # ln -sf /var/guix/profiles/per-user/root/current-guix \ ~root/.config/guix/current
Cargue etc/profile para aumentar PATH
y otras variables de
entorno relevantes:
# GUIX_PROFILE="`echo ~root`/.config/guix/current" ; \ source $GUIX_PROFILE/etc/profile
Si su distribución anfitriona usa el sistema de inicio systemd, puede hacerlo con las siguientes órdenes:
# 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 Invocación de guix gc
).
Si su distribución anfitriona usa el sistema de inicio Upstart:
# initctl reload-configuration # cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \ /etc/init/ # start guix-daemon
En otro caso, todavía puede iniciar el daemon manualmente con:
# ~root/.config/guix/current/bin/guix-daemon \ --build-users-group=guixbuild
guix
a otras usuarias de la máquina, por
ejemplo con:
# mkdir -p /usr/local/bin # cd /usr/local/bin # ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix
Es también una buena idea poner disponible la versión Info de este manual ahí:
# 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
De este modo, asumiendo que /usr/local/share/info está en la ruta de
búsqueda, ejecutar info guix.es
abrirá este manual (see Other
Info Directories in GNU Texinfo, para más detalles sobre cómo
cambiar la ruta de búsqueda de Info).
ci.guix.gnu.org
,
bordeaux.guix.gnu.org
or a mirror (see Sustituciones),
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
Nota: 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 Sobre la confianza en binarios, for a discussion of reasons why one might want do disable substitutes.
Voilà, ¡la instalación está completa!
Puede confirmar que Guix está funcionando instalando un paquete de ejemplo en su perfil de root:
# guix install hello
El archivador de la instalación binaria puede ser (re)producido y verificado simplemente ejecutando la siguiente orden en el árbol de fuentes de Guix:
make guix-binary.sistema.tar.xz
... que a su vez ejecuta:
guix pack -s sistema --localstatedir \ --profile-name=current-guix guix
See Invocación de guix pack
, para más información sobre esta útil herramienta.
Next: Requisitos, Up: Instalación [Contents][Index]