Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
![]() |
Páginas del comando man de Image Packaging System Oracle Solaris 11 Information Library (Español) |
- cliente de publicaciones de Image Packaging System
/usr/bin/pkgsend [opciones] comando [opciones_comando] [operandos]
/usr/bin/pkgsend generate [-T modelo] [--target archivo] origen ...
/usr/bin/pkgsend publish [-b paquete ...] [-d origen ...] [-s uri_o_ruta_dep] [-T modelo] [--no-catalog] [manifiesto ...]
pkgsend permite la publicación de paquetes nuevos y versiones de paquetes nuevas en un depósito de empaquetado de imágenes mediante manifiestos de paquetes. Para crear o gestionar depósitos, consulte pkgrepo(1). Para crear archivos de paquetes a partir de paquetes de un depósito existente, consulte pkgrecv(1). Para obtener más información sobre manifiestos de paquetes, consulte pkg(5).
Después de una operación pkgsend, ejecute pkgrepo refresh o pkgrepo rebuild en el repositorio para crear índices de búsqueda.
Se admiten las siguientes opciones:
Muestra un mensaje de uso.
Se admiten los subcomandos siguientes:
Lee cada origen (como un paquete SVR4, un directorio, o un archivo tar) y emite el manifiesto que describe el origen en stdout. En el manifiesto de salida, las acciones de file y dir tienen el propietario establecido en root y el grupo establecido en bin.
Al manifiesto de salida se le puede realizar anotaciones, se le puede agregar o analizar dependencias usando pkgdepend(1), y se le puede verificar la exactitud mediante pkglint(1) antes de pasar al subcomando publish.
Se admiten los siguientes orígenes:
Paquetes SVR4 de formato de sistema de archivos
Paquetes SVR4 de formato de secuencia de datos
Archivos tar
Directorios
Si el nombre de base de los archivos del origen coinciden con los modelos especificados con -T, el indicador de fecha y hora del archivo se agrega a la acción para ese archivo. El modelo utiliza reglas de coincidencia de shell:
Coincide con todo.
Sustituye a un carácter cualquiera.
Coincide con cualquier carácter incluido en seq.
Coincide con cualquier carácter no incluido en seq.
Cuando el origen especificado es un directorio, no existe una manera clara de distinguir una acción file de una acción hardlink cuando hay varios nombres de ruta para un único inode. Generalmente, el primer nombre de ruta que se encuentra en el recorrido del sistema de archivos se trata como un archivo y el resto como enlaces físicos. Esto puede ser arbitrario, según la implementación del sistema de archivos. Para especificar qué nombres de ruta se deben tratar como archivos, pase cada nombre de ruta como argumento a la opción --target. Esta opción no tiene ningún efecto sobre otros tipos de orígenes, porque éstos son capaces de expresar qué nombres de ruta son archivos y qué nombres de ruta son enlaces físicos.
Cuando se proporcionan paquetes SVR4 como origen, pkgsend comprueba que no haya archivos con secuencias de comandos de acción de clase ni secuencias de comandos preinstall, postinstall, preremove o postremove. Se crea una excepción para cualquier manifiesto SMF instalado con la clase manifest. BASEDIR se elimina de todas las rutas reubicables.
El parámetro SVR4 DESC se convierte en un valor pkg.description. El parámetro SVR4 NAME se convierte en un valor pkg.summary.
Publica un paquete utilizando los manifiestos de paquete especificados en el depósito de paquetes de destino, y recupera archivos para el paquete a parir de los orígenes proporcionados. Si se especifican varios manifiestos, se unen en el orden proporcionado. Si no se especifica un manifiesto, éste se lee desde stdin.
Con -b, puede agregar el paquete especificado a la lista de orígenes en los que se deben buscar los archivos del manifiesto. Los paquetes son orígenes como archivos tar y paquetes SVR4. Si esta opción se especifica varias veces, los orígenes se buscan en el orden en el que aparecen en la línea de comandos. Si se especifican - b y -d, los orígenes -d se buscan en primer lugar. Para obtener una descripción de los paquetes admitidos, y de cómo utilizarlos, consulte el subcomando generate descrito anteriormente.
Con -d, puede agregar el directorio especificado a la lista de orígenes en los que se deben buscar los archivos del manifiesto. Si esta opción se especifica varias veces, los orígenes se buscan en el orden en el que aparecen en la línea de comandos. Para obtener una descripción de los orígenes admitidos, y de cómo utilizarlos, consulte el subcomando generate descrito anteriormente.
Con -s, puede publicar el paquete en el depósito ubicado en el URI o la ruta del sistema de archivos determinados. Consulte la sección “Notas” a continuación, para obtener más información sobre las restricciones y las sugerencias para la publicación. Consulte también la sección “Variables de entorno”.
Con --no-catalog, no puede agregar el paquete al catálogo del editor. Se recomienda usar esta opción cuando se publiquen varios paquetes a la vez, ya que las actualizaciones de los catálogos del editor se deben realizar en serie. Una vez finalizada la publicación, se puede utilizar el subcomando refresh de pkgrepo (1) para agregar los paquetes nuevos a los respectivos catálogos de editor.
Para todas las demás opciones, consulte el subcomando generate descrito anteriormente, para ver el uso y sus efectos.
La ruta o el URI del depósito de destino.
Ejemplo 1 Generación y publicación de un paquete
Cree un paquete mediante pkgsend generate y publíquelo.
$ pkgsend generate /path/to/proto > /path/to/manifests/foo.p5m
Agregue el FMRI de paquete para el editor example.com al principio de foo.p5m.
set name=pkg.fmri value=pkg://example.com/foo@1.0
El manifiesto resultante debe tener este aspecto:
set name=pkg.fmri value=pkg://example.com/foo@1.0 dir group=sys mode=0755 owner=root path=usr dir group=bin mode=0755 owner=root path=usr/bin file usr/bin/foo group=bin mode=0555 owner=root path=usr/bin/foo
$ pkgsend publish -s http://example.com:10000 -d /path/to/proto \ /path/to/manifests/foo.p5m
Ejemplo 2 Creación y publicación de un paquete trivial
Cree un manifiesto para el editor example.com que contenga las líneas siguientes:
set name=pkg.fmri value=pkg://example.com/foo@1.0-1 file /exdir/foo mode=0555 owner=root group=bin path=/usr/bin/foo
Publique el paquete:
$ pkgsend publish -s http://example.com:10000 -d /exdir
Ejemplo 3 Uso de un manifiesto preexistente
Publique un paquete con una publicación basada en sistema de archivos y un manifiesto preexistente.
$ pkgsend publish -s /tmp/example_repo -d /tmp/pkg_files \ /tmp/pkg_manifest
Se devolvieron los siguientes valores de salida:
El comando se ejecutó correctamente.
Se produjo un error.
Se especificaron opciones de línea de comandos no válidas.
Se produjo una excepción no anticipada.
Consulte attributes(5) para ver descripciones de los atributos siguientes:
|
pkgdepend(1), pkgrepo(1), pkg.depotd(1m), pkg(5)
http://hub.opensolaris.org/bin/view/Project+pkg/
Debido a limitaciones de protocolo de publicación, la publicación basada en sistema de archivos se debe utilizar al publicar archivos de paquetes individuales cuyo tamaño sea superior a los 128 MB. La publicación basada en sistema de archivos también se recomienda cuando se necesita control de acceso para un depósito.
Cuando se utiliza la publicación basada en sistema de archivos, una vez completada la publicación, se debe reiniciar cualquier proceso pkg.depotd que esté prestando servicio al depósito de destino, para que los cambios se reflejen en la interfaz web o en las respuestas de las búsquedas. Consulte pkg.depotd(1M) para obtener más información.