Next: Invocación de guix time-machine
, Previous: Invocación de guix gc
, Up: Gestión de paquetes [Contents][Index]
guix pull
Packages are installed or upgraded to the latest version available in the
distribution currently available on your local machine. To update that
distribution, along with the Guix tools, you must run guix pull
:
the command downloads the latest Guix source code and package descriptions,
and deploys it. Source code is downloaded from a
Git repository, by default the official
GNU Guix repository, though this can be customized. guix
pull
ensures that the code it downloads is authentic by verifying
that commits are signed by Guix developers.
Specifically, guix pull
downloads code from the channels
(see Canales) specified by one of the following, in this order:
channels
field of
guix-configuration
);
%default-channels
.
Una vez completada, guix package
usará paquetes y versiones de
paquetes de esta copia recién obtenida de Guix. No solo eso, sino que todas
las órdenes de Guix y los módulos Scheme también se tomarán de la última
versión. Nuevas sub-órdenes guix
incorporadas por la actualización
también estarán disponibles.
Cualquier usuaria puede actualizar su copia de Guix usando guix
pull
, y el efecto está limitado a la usuaria que ejecute guix
pull
. Por ejemplo, cuando la usuaria root
ejecuta guix
pull
, dicha acción no produce ningún efecto en la versión del Guix que la
usuaria alicia
ve, y viceversa.
El resultado de ejecutar guix pull
es un perfil disponible
bajo ~/.config/guix/current conteniendo el último Guix.
Las opciones --list-generations o -l enumeran las
generaciones pasadas producidas por guix pull
, junto a detalles de
su procedencia:
$ guix pull -l Generación 1 10 jun 2018 00:18:18 guix 65956ad URL del repositorio: https://git.savannah.gnu.org/git/guix.git rama: origin/master revisión: 65956ad3526ba09e1f7a40722c96c6ef7c0936fe Generation 2 Jun 11 2018 11:02:49 guix e0cc7f6 repository URL: https://git.savannah.gnu.org/git/guix.git branch: origin/master commit: e0cc7f669bec22c37481dd03a7941c7d11a64f1d Generation 3 Jun 13 2018 23:31:07 (current) guix 844cc1c repository URL: https://git.savannah.gnu.org/git/guix.git branch: origin/master commit: 844cc1c8f394f03b404c5bb3aee086922373490c
guix describe
, para otras formas de
describir el estado actual de Guix.
This ~/.config/guix/current
profile works exactly like the profiles
created by guix package
(see Invocación de guix package
). That is,
you can list generations, roll back to the previous generation—i.e., the
previous Guix—and so on:
$ guix pull --roll-back se pasó de la generación 3 a la 2 $ guix pull --delete-generations=1 borrando /var/guix/profiles/per-user/carlos/current-guix-1-link
También puede usar guix package
(see Invocación de guix package
)
para gestionar el perfil proporcionando su nombre de manera específica:
$ guix package -p ~/.config/guix/current --roll-back se pasó de la generación 3 a la 2 $ guix package -p ~/.config/guix/current --delete-generations=1 borrando /var/guix/profiles/per-user/carlos/current-guix-1-link
La orden guix pull
se invoca habitualmente sin parámetros, pero
permite las siguientes opciones:
--url=url
--commit=revisión
--branch=rama
Download code for the guix
channel from the specified url, at
the given commit (a valid Git commit ID represented as a hexadecimal
string or the name of a tag), or branch.
Estas opciones se proporcionan por conveniencia, pero también puede especificar su configuración en el archivo ~/.config/guix/channels.scm o usando la opción --channels (vea más adelante).
--channels=archivo
-C archivo
Lee la lista de canales de archivo en vez de ~/.config/guix/channels.scm o /etc/guix/channels.scm. archivo debe contener código Scheme que evalúe a una lista de objetos “channel”. See Canales, para más información.
--no-channel-files
-q
Inhibit loading of the user and system channel files, ~/.config/guix/channels.scm and /etc/guix/channels.scm.
--news
-N
Display news written by channel authors for their users for changes made since the previous generation (see Writing Channel News). When --details is passed, additionally display new and upgraded packages.
You can view that information for previous generations with guix
pull -l
.
--list-generations[=patrón]
-l [patrón]
Enumera todas las generaciones de ~/.config/guix/current o, si se
proporciona un patrón, el subconjunto de generaciones que correspondan
con el patrón. La sintaxis de patrón es la misma que guix
package --list-generations
(see Invocación de guix package
).
By default, this prints information about the channels used in each revision as well as the corresponding news entries. If you pass --details, it will also print the list of packages added and upgraded in each generation compared to the previous one.
--details
Instruct --list-generations or --news to display more information about the differences between subsequent generations—see above.
--roll-back
¶Vuelve a la generación previa de ~/.config/guix/current—es decir, deshace la última transacción.
--switch-generation=patrón
¶-S patrón
Cambia a una generación particular definida por el patrón.
patrón puede ser tanto un número de generación como un número prefijado con “+” o “-”. Esto último significa: mueve atrás/hacia delante el número especificado de generaciones. Por ejemplo, si quiere volver a la última generación antes de --roll-back, use --switch-generation=+1.
--delete-generations[=patrón]
-d [patrón]
Cuando se omite patrón, borra todas las generaciones excepto la actual.
Esta orden acepta los mismos patrones que --list-generations. Cuando se especifica un patrón, borra las generaciones coincidentes. Cuando el patrón especifica una duración, las generaciones más antiguas que la duración especificada son las borradas. Por ejemplo, --delete-generations=1m borra las generaciones de más de un mes de antigüedad.
Si la generación actual entra en el patrón, no será borrada.
Preste atención a que el borrado de generaciones previas impide la reversión a su estado. Consecuentemente esta orden debe ser usada con cuidado.
Invocación de guix describe
, para una forma de mostrar información sobre
únicamente la generación actual.
--profile=perfil
-p perfil
Usa perfil en vez de ~/.config/guix/current.
--dry-run
-n
Muestra qué revisión/es del canal serían usadas y qué se construiría o sustituiría, sin efectuar ninguna acción real.
--allow-downgrades
Permite obtener revisiones de los canales más antiguas o no relacionadas con aquellas que se encuentran en uso actualmente.
De manera predeterminada guix pull
proteje contra los llamados
“ataques de versión anterior” en los que el repositorio Git de un canal se
reinicia a una revisión anterior o no relacionada de sí mismo, provocando
potencialmente la instalación de versiones más antiguas y con
vulnerabilidades conocidas de paquetes de software.
Nota: Asegúrese de entender las implicaciones de seguridad antes de usar la opción --allow-downgrades.
--disable-authentication
Permite obtener código de un canal sin verificarlo.
De manera predeterminada, guix pull
valida el código que descarga
de los canales verificando que sus revisiones están firmadas por
desarrolladoras autorizadas, y emite un error si no es el caso. Esta opción
le indica que no debe realizar ninguna de esas verificaciones.
Nota: Asegúrese de entender las implicaciones de seguridad antes de usar la opción --disable-authentication.
--system=sistema
-s sistema
Intenta construir paquetes para sistema—por ejemplo,
x86_64-linux
—en vez del tipo de sistema de la máquina de
construcción.
--bootstrap
Use el Guile usado para el lanzamiento para construir el último Guix. Esta opción es útil para las desarrolladoras de Guix únicamente.
El mecanismo de canales le permite instruir a guix pull
de
qué repositorio y rama obtener los datos, así como repositorios
adicionales que contengan módulos de paquetes que deben ser
desplegados. See Canales, para más información.
Además, guix pull
acepta todas las opciones de construcción
comunes (see Opciones comunes de construcción).
Next: Invocación de guix time-machine
, Previous: Invocación de guix gc
, Up: Gestión de paquetes [Contents][Index]