Академический Документы
Профессиональный Документы
Культура Документы
Copyright 2011, 2013, Oracle y/o sus filiales. Todos los derechos reservados. Este software y la documentacin relacionada estn sujetos a un contrato de licencia que incluye restricciones de uso y revelacin, y se encuentran protegidos por la legislacin sobre la propiedad intelectual. A menos que figure explcitamente en el contrato de licencia o est permitido por la ley, no se podr utilizar, copiar, reproducir, traducir, emitir, modificar, conceder licencias, transmitir, distribuir, exhibir, representar, publicar ni mostrar ninguna parte, de ninguna forma, por ningn medio. Queda prohibida la ingeniera inversa, desensamblaje o descompilacin de este software, excepto en la medida en que sean necesarios para conseguir interoperabilidad segn lo especificado por la legislacin aplicable. La informacin contenida en este documento puede someterse a modificaciones sin previo aviso y no se garantiza que se encuentre exenta de errores. Si detecta algn error, le agradeceremos que nos lo comunique por escrito. Si este software o la documentacin relacionada se entrega al Gobierno de EE.UU. o a cualquier entidad que adquiera licencias en nombre del Gobierno de EE.UU. se aplicar la siguiente disposicin: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government. Este software o hardware se ha desarrollado para uso general en diversas aplicaciones de gestin de la informacin. No se ha diseado ni est destinado para utilizarse en aplicaciones de riesgo inherente, incluidas las aplicaciones que pueden causar daos personales. Si utiliza este software o hardware en aplicaciones de riesgo, usted ser responsable de tomar todas las medidas apropiadas de prevencin de fallos, copia de seguridad, redundancia o de cualquier otro tipo para garantizar la seguridad en el uso de este software o hardware. Oracle Corporation y sus subsidiarias declinan toda responsabilidad derivada de los daos causados por el uso de este software o hardware en aplicaciones de riesgo. Oracle y Java son marcas comerciales registradas de Oracle y/o sus subsidiarias. Todos los dems nombres pueden ser marcas comerciales de sus respectivos propietarios. Intel e Intel Xeon son marcas comerciales o marcas comerciales registradas de Intel Corporation. Todas las marcas comerciales de SPARC se utilizan con licencia y son marcas comerciales o marcas comerciales registradas de SPARC International, Inc. AMD, Opteron, el logotipo de AMD y el logotipo de AMD Opteron son marcas comerciales o marcas comerciales registradas de Advanced Micro Devices. UNIX es una marca comercial registrada de The Open Group. Este software o hardware y la documentacin pueden ofrecer acceso a contenidos, productos o servicios de terceros o informacin sobre los mismos. Ni Oracle Corporation ni sus subsidiarias sern responsables de ofrecer cualquier tipo de garanta sobre el contenido, los productos o los servicios de terceros y renuncian explcitamente a ello. Oracle Corporation y sus subsidiarias no se harn responsables de las prdidas, los costos o los daos en los que se incurra como consecuencia del acceso o el uso de contenidos, productos o servicios de terceros.
130327@25097
Contenido
Prefacio ....................................................................................................................................................5
Repositorios de paquetes de Image Packaging System ................................................................. 9 Repositorios de IPS locales ....................................................................................................................9 Preparar el sistema host de repositorios ........................................................................................... 10 Requisitos del sistema .................................................................................................................. 10 Privilegios de gestin del repositorio ......................................................................................... 10 Creacin de un conjunto de datos ZFS ...................................................................................... 11
Copia de repositorios de paquetes de IPS ....................................................................................... 13 Copia de un repositorio de Internet .................................................................................................. 13 Creacin de la infraestructura necesaria para el repositorio local ......................................... 13 Copia del repositorio ................................................................................................................... 13 Copia de un repositorio desde un archivo ........................................................................................ 15 Obtencin del archivo del repositorio de paquetes .................................................................. 15 Facilitacin de los contenidos del archivo del repositorio ...................................................... 15 Copia de los archivos de repositorio .......................................................................................... 16 Desmonte de la imagen ............................................................................................................... 16 Creacin de un ndice de bsqueda y una instantnea del repositorio ......................................... 17
Cmo proporcionar acceso al repositorio ....................................................................................... 19 Recuperacin de paquetes mediante una interfaz de archivo ........................................................ 19 Configuracin de un recurso compartido NFS ........................................................................ 19 Configuracin del origen del editor en el URI del repositorio de archivos ........................... 20 Recuperacin de paquetes mediante una interfaz HTTP ............................................................... 20 Configuracin del servicio del servidor del repositorio .......................................................... 20 Inicio del servicio de repositorio ................................................................................................ 21
3
Contenido
Configuracin del origen del editor en el URI del repositorio HTTP ................................... 21
Mantenimiento del repositorio de paquetes de IPS local ............................................................ 23 Actualizacin del repositorio local .................................................................................................... 23 Comprobacin y definicin de las propiedades del repositorio .................................................... 24 Personalizacin del repositorio local ................................................................................................ 26 Cmo servir varios repositorios con instancias de servidor de varios depsitos ......................... 27 Configuracin Apache para el servidor de depsitos ...................................................................... 28 Configuracin del almacenamiento en cach para el servidor de depsitos ......................... 28 Ejecucin del servidor de depsitos detrs de un proxy web .................................................. 30 Ejemplos de configuracin Apache ............................................................................................ 31
Prefacio
Copia y creacin de repositorios de paquetes de Oracle Solaris 11.1 describe cmo crear un repositorio de paquetes de software usando la funcin Image Packaging System (IPS) de Oracle Solaris. Las herramientas de IPS permiten copiar fcilmente un repositorio existente o crear un repositorio de paquetes propio. Tambin permiten actualizar fcilmente los paquetes del repositorio. Puede proporcionar una interfaz de archivo o una interfaz HTTP para los usuarios del repositorio.
El Captulo 1, Repositorios de paquetes de Image Packaging System describe los beneficios de proporcionar un repositorio de paquetes de IPS local y muestra cmo crear un sistema de archivos ZFS para el repositorio. El Captulo 2, Copia de repositorios de paquetes de IPS trata sobre la copia de repositorios desde un archivo o desde una ubicacin de Internet. El Captulo 3, Cmo proporcionar acceso al repositorio explica cmo permitir que los clientes vean e instalen los paquetes desde el repositorio. El Captulo 4, Mantenimiento del repositorio de paquetes de IPS local determina cmo llevar a cabo las siguientes tareas:
Agregar paquetes actualizados al repositorio Cambiar los valores de las propiedades del repositorio Agregar paquetes de diferentes fuentes al repositorio Proporcionar acceso a varios repositorios en un servidor Configurar el servidor de depsitos de repositorio
Prefacio
Documentacin relacionada
Administracin de Oracle Solaris 11.1: sistemas de archivos ZFS En el Captulo 1, Gestin de servicios (descripcin general) de Gestin de servicios y errores en Oracle Solaris 11.1 se describe la funcin Service Management Facility (SMF) de Oracle Solaris Documentacin del servidor HTTP Apache versin 2.2 Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.1 Agregacin y actualizacin de paquetes de software de Oracle Solaris 11.1 Instalacin de sistemas Oracle Solaris 11.1
Convenciones tipogrficas
La siguiente tabla describe las convenciones tipogrficas utilizadas en este manual.
TABLA P1
Convenciones tipogrficas
Descripcin Ejemplo
Tipos de letra
AaBbCc123
Los nombres de los comandos, los archivos, los directorios y los resultados que el equipo muestra en pantalla
Edite el archivo .login. Utilice el comando ls -a para mostrar todos los archivos. nombre_sistema% tiene correo.
AaBbCc123
Lo que se escribe, en contraposicin con la salida nombre_sistema% su del equipo en pantalla Contrasea: Marcador de posicin: sustituir por un valor o nombre real El comando para eliminar un archivo es rm filename.
aabbcc123
Prefacio
TABLA P1
Convenciones tipogrficas
Descripcin
(Continuacin)
Ejemplo
Tipos de letra
AaBbCc123
Consulte el captulo 6 de la Gua del usuario. Una copia en cach es aquella que se almacena localmente. No guarde el archivo. Nota: Algunos elementos destacados aparecen en negrita en lnea.
Indicadores de shell
Indicador
Shell Bash, shell Korn y shell Bourne Shell Bash, shell Korn y shell Bourne para superusuario Shell C Shell C para superusuario
$ #
machine_name% machine_name#
C A P T U L O
El software de Oracle Solaris 11 se distribuye en los paquetes de Image Packaging System (IPS). Los paquetes de IPS se almacenan en repositorios de paquetes de IPS que los editores IPS rellenan. En esta gua se describe cmo crear un repositorio de paquetes de IPS. Este captulo proporciona los motivos para crear un repositorio de paquetes de IPS local para uso interno.
Rendimiento y seguridad. No desea que los sistemas cliente recurran a Internet para recuperar paquetes de software nuevos ni para actualizar paquetes existentes. Replicacin. Desea asegurarse de que el prximo ao podr realizar la misma instalacin que est realizando hoy. Paquetes personalizados. Desea incluir su propio paquete IPS en el mismo repositorio que contiene los paquetes del Oracle Solaris.
IPS admite dos tipos de repositorios: los repositorios de origen y los repositorios de reflejo. Para alcanzar el rendimiento y los objetivos de seguridad mencionados anteriormente, el repositorio local que se cree debe ser un repositorio de origen. El repositorio de origen contiene todos los metadatos (como catlogos, manifiestos e ndices de bsqueda) y el contenido (archivos) para uno o ms paquetes. El repositorio de reflejo contiene solamente el contenido de los paquetes (archivos). Los clientes que instalan y actualizan paquetes desde un repositorio de reflejo deben seguir descargando los metadatos desde un repositorio de origen. Los clientes de IPS acceden al repositorio de origen para obtener el catlogo de un editor, incluso cuando los clientes descargan el contenido de los paquetes desde un repositorio de reflejo. Los dos mtodos de copia de repositorios que se mencionan en este documento crean un repositorio de origen. Cuando se utiliza el comando pkgrecv para copiar un repositorio de
9
paquetes, se crea un repositorio de origen de manera implcita, y los archivos ISO del repositorio provistos por Oracle proporcionan un repositorio de origen.
Espacio en disco
Si un sistema aloja ms de un repositorio de IPS, cada repositorio debe ser un sistema de archivos ZFS independiente, de manera que cada repositorio se puede deshacer o recuperar por separado.
Instalacin de software Si cuenta con el perfil de derechos de instalacin de software, puede utilizar el comando pfexec para ejecutar el comando pkg.
10 Copia y creacin de repositorios de paquetes de Oracle Solaris 11.1 Febrero de 2013
Gestin de servicios Si cuenta con el perfil de derechos de gestin de servicios, puede ejecutar comandos de servicio. En este caso, el comando pfexec no es necesario.
$ svcadm enable application/pkg/server
Roles
Utilice el comando roles para obtener una lista de los roles que se le hayan asignado. Si tiene el rol root, puede utilizar el comando su con la contrasea root para asumir el rol root. En funcin de la poltica de seguridad de su sitio, es posible que pueda utilizar el comando sudo con su contrasea de usuario para ejecutar un comando con privilegios.
Comando sudo
Obtener un mayor rendimiento. Establecer las distintas caractersticas del sistema de archivos. Tomar una instantnea directamente y recuperar sistemas de archivos especficos.
Utilice el comando zfs list para ver los conjuntos de datos de ZFS actuales.
$ zfs list NAME rpool rpool/ROOT rpool/ROOT/solaris rpool/dump rpool/export rpool/export/home rpool/export/home/bob rpool/swap USED AVAIL REFER MOUNTPOINT 75.2G 108G 5.00G /rpool 23.0G 108G 31K legacy 44.8G 108G 3.52G / 1.97G 108G 1.97G 43.0G 108G 30.5G /export 12.6G 108G 32K /export/home 12.6G 108G 12.6G /export/home/bob 2.09G 108G 1.97G -
11
off.
$ pfexec zfs set atime=off rpool/export/repoSolaris11
La propiedad atime controla si la hora de acceso de los archivos se actualiza cuando los archivos se leen. Con la desactivacin de esta propiedad, se evita generar trfico de escritura al leer los archivos.
12
C A P T U L O
En este captulo, se describen dos formas de crear una copia del repositorio de paquetes IPS de la versin Oracle Solaris 11.1: se puede utilizar el archivo de repositorio desde algn medio o desde el sitio de descarga de Oracle Solaris 11.1, o se puede recuperar un repositorio de Internet.
13
Consejo Para obtener un mejor rendimiento, cierre las aplicaciones que utilizan una gran
cantidad de memoria y asegrese de que la capacidad de la agrupacin de almacenamiento ZFS sea menor que 80%. Utilice el comando zpool list para ver la capacidad de la agrupacin.
$ zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT rpool 186G 75.2G 111G 40% 1.00x ONLINE -
El comando siguiente obtiene las ltimas versiones de todos los paquetes del repositorio especificado por la opcin -s en el repositorio especificado por la opcin -d. Consulte la pgina del comando man pkgrecv(1) para obtener ms informacin.
$ pkgrecv -s http://pkg.oracle.com/solaris/release/ -d /export/repoSolaris11 * Processing packages for publisher solaris ... Retrieving and evaluating 4400 package(s)... Download Manifests (4400/4400) PROCESS ITEMS GET (MB) SEND (MB) developer/build/cmake 446/4400 332.1/4589.7 1000.2/14511.8 ... Completed 4400/4400 4589.7/4589.7 14511.8/14511.8
Una vez que el repositorio se copia, el proceso realiza algunos trabajos finales. Cuando aparezca la lnea de completado, espere unos minutos ms, hasta que vuelva a aparecer la peticin. Si actualiza este depsito ms adelante, se copiarn solamente los cambios, y es posible que el proceso demore mucho menos. Si se interrumpe la operacin pkgrecv, utilice la opcin -c para recuperar el contenido que ya se haya descargado y reanude la descarga del contenido. El valor de cache_dir se proporciona en un mensaje informativo cuando se interrumpe la transferencia, como se muestra en el siguiente ejemplo:
PROCESS ITEMS GET (MB) SEND (MB) ... pkgrecv: http protocol error: code: 503 reason: Service Unavailable URL: http://pkg.oracle.som/solaris/release/file/file_hash pkgrecv: Cached files were preserved in the following directory: /var/tmp/pkgrecv-fOGaIg Use pkgrecv -c to resume the interrupted download. $ pkgrecv -c /var/tmp/pkgrecv-fOGaIg \ -s http://pkg.oracle.com/solaris/release/ -d /export/repoSolaris11 * Processing packages for publisher solaris ... Creating Plan Retrieving and evaluating 156 package(s)... PROCESS ITEMS GET (MB) SEND (MB) desktop/compiz 1/156 0/395.0 0/1100.2
14 Copia y creacin de repositorios de paquetes de Oracle Solaris 11.1 Febrero de 2013
El archivo de suma de comprobacin. Haga clic en el enlace Suma de comprobacin MD5 cerca de la parte superior de la pgina Descargas. Las sumas de comprobacin se proporcionan para los dos archivos de repositorio y para la concatenacin de los dos archivos. que compara la salida del comando siguiente con el valor apropiado del archivo de suma de comprobacin a fin de confirmar que la descarga se haya realizado correctamente.
$ digest -a md5 iso_file
El archivo Lame (Readme). Este archivo contiene la informacin de esta seccin junto con informacin adicional, como qu hay que hacer para copiar el repositorio en USB o DVD.
Copie los archivos del repositorio en el sistema de archivos que cre en el ltimo paso. Concatene los archivos en un solo archivo.
$ cat sol-11_1-repo-full.iso-a sol-11_1-repo-full.iso-b > \ sol-11_1-repo-full.iso $ ls /export/repoSolaris11 sol-11_1-repo-full.iso
Si recibe un mensaje de error desde el comando mount, asegrese de haber especificado una ruta absoluta completa para el archivo .iso. Revise su trabajo:
Captulo 2 Copia de repositorios de paquetes de IPS 15
$ df -k /mnt Filesystem 1K-blocks Used Available Use% Mounted on /export/repoSolaris11/sol-11_1-repo-full.iso 6778178 6778178 0 100% /mnt
Tendr que volver a montar la imagen .iso cada vez que el sistema del servidor del repositorio se reinicie. Para evitar la necesidad de volver a montar el archivo .iso cada vez que el sistema se reinicia, copie los archivos del repositorio tal como se describe en la siguiente seccin.
Si utiliza el comando rsync, asegrese de especificar /mnt/repo/ (incluida la barra diagonal final) en vez de /mnt/repo para copiar los archivos y subdirectorios en el directorio repo. Consulte la pgina del comando man rsync(1).
$ rsync -aP /mnt/repo/ /export/repoSolaris11
Con el comando tar, como se muestra en el siguiente ejemplo, se puede trasladar el repositorio mucho ms rpido del sistema de archivos montado al sistema de archivos ZFS del repositorio.
$ cd /mnt/repo; tar cf - . | (cd /export/repoSolaris11; tar xfp -) $ cd /export/repoSolaris11
Revise su trabajo:
$ ls /export/repoSolaris11 pkg5.repository README publisher sol-11_1-repo-full.iso $ df -k /export/repoSolaris11 Filesystem 1K-blocks Used Available Use% Mounted on rpool/export/repoSolaris11 191987712 13733450 75787939 16% /export/repoSolaris11
Desmonte de la imagen
Desmonte la imagen.
$ pfexec umount /mnt
16
Dado que cre un sistema de archivos ZFS separado para este repositorio de paquetes, puede crear una instantnea de ZFS del sistema de archivos del repositorio. Con una instantnea, puede restaurar fcilmente el sistema de archivos en una fecha posterior o puede copiar rpidamente el sistema de archivos. Debe tomar una instantnea del sistema de archivos del repositorio cuando cambie el contenido del repositorio. Utilice el siguiente comando para crear una instantnea del nuevo repositorio.
$ pfexec zfs snapshot rpool/export/repoSolaris11@initial
Puede utilizar el comando zfs clone para crear copias del sistema de archivos del repositorio. Por ejemplo, puede mantener un repositorio con este conjunto original de paquetes y puede actualizar peridicamente otra copia con nuevas versiones de paquetes. Consulte Administracin de Oracle Solaris 11.1: sistemas de archivos ZFS para obtener ms informacin sobre la clonacin, las instantneas y la restauracin de ZFS.
17
18
C A P T U L O
En este captulo se describe cmo permitir a los clientes recuperar paquetes en su repositorio local mediante una interfaz de archivo o mediante una interfaz HTTP. Se puede configurar un repositorio para ambos tipos de acceso.
Lleve a cabo una de las siguientes pruebas para confirmar la publicacin del recurso compartido:
Ejecute el siguiente comando en cada cliente para restablecer el origen para el editor de solaris:
$ pfexec pkg set-publisher -G * -M * -g /net/host1/export/repoSolaris11/ solaris
-G * -M * -g
Elimina todos los orgenes existentes para el editor de solaris. Elimina todos los reflejos existentes para el editor de solaris. Agrega el URI del repositorio local recin creado como el nuevo origen del editor solaris.
Consulte Configuracin de editores de Agregacin y actualizacin de paquetes de software de Oracle Solaris 11.1 para obtener ms informacin acerca de la configuracin de editores.
Revise su trabajo:
$ svcprop -p pkg/inst_root application/pkg/server /export/repoSolaris11
Use pkg.depotd para servir el repositorio a los clientes. De manera predeterminada, pkg.depotd recibe las conexiones en el puerto 80. Para cambiar el puerto, restablezca la propiedad pkg/port.
$ svccfg -s application/pkg/server setprop pkg/port=port_number
Para obtener una lista completa de las propiedades de application/pkg/server, consulte la pgina del comando man pkg.depotd(1M). Para configurar varias propiedades del servicio, utilice el siguiente comando para editar todas las propiedades a la vez:
$ svccfg -s pkg/server editprop
Recuerde eliminar desde el principio el marcador de comentario (#) en las lneas que cambie.
Para comprobar si el servidor del repositorio est funcionando, abra una ventana del explorador en la ubicacin localhost. De manera predeterminada, pkg.depotd recibe las conexiones en el puerto 80. Si ha cambiado el puerto, abra una ventana del explorador en la ubicacin localhost:nmero_puerto.
21
Ejecute el siguiente comando en cada cliente para restablecer el origen para el editor de solaris:
$ pfexec pkg set-publisher -G * -M * -g http://localhost:port_number/ solaris
-G * -M * -g
Elimina todos los orgenes existentes para el editor de solaris. Elimina todos los reflejos existentes para el editor de solaris. Agrega el URI del repositorio local recin creado como el nuevo origen del editor solaris.
Consulte Configuracin de editores de Agregacin y actualizacin de paquetes de software de Oracle Solaris 11.1 para obtener ms informacin acerca de la configuracin de editores.
22
C A P T U L O
En este captulo, se explica cmo actualizar los paquetes en un repositorio de IPS, cmo definir o actualizar las propiedades de un repositorio, y cmo agregar paquetes a un repositorio desde una segunda fuente. Adems, se trata la configuracin Apache del servidor de depsitos, incluidos el almacenamiento en cach y el equilibrio de la carga.
--cert /var/pkg/ssl/Oracle_Solaris_11_Support.certificate.pem *
Si va a efectuar esta actualizacin con regularidad, quiz desee utilizar las variables de entorno PKG_SRC y PKG_DEST.
$ export PKG_SRC=http://pkg.oracle.com/solaris/support/ $ export PKG_DEST=/export/repoSolaris11 $ pkgrecv *
Despus de actualizar el repositorio, ejecute el siguiente comando para catalogar los paquetes nuevos que se hayan encontrado en el repositorio y actualizar todos los ndices de bsqueda.
$ pkgrepo rebuild -s /export/repoSolaris11
Si est proporcionado el repositorio a travs de una interfaz HTTP, reinicie el servicio SMF:
$ svcadm restart application/pkg/server:default
El valor del prefijo del editor especifica que solaris se va a usar en los siguientes casos:
Cuando hay ms de un editor de paquetes, pero ninguno est especificado en el nombre del paquete en el comando pkg Cuando los paquetes se publican en el repositorio y no hay ningn editor especificado
24
Los repositorios de la versin 4 se crean de manera predeterminada. Los repositorios de la versin 4 admiten el almacenamiento de paquetes para varios editores. Utilice el subcomando set para especificar valores de propiedad nuevos.
$ pkgrepo set -s /export/repoSolaris11 \ repository/description="Local copy of the Oracle Solaris 11.1 repository" \ repository/name="Oracle Solaris 11.1 Package Repository" $ pkgrepo get -s /export/repoSolaris11 SECTION PROPERTY VALUE publisher prefix solaris repository description Local\ copy\ of\ the\ Oracle\ Solaris\ 11.1\ repository repository name Oracle\ Solaris\ 11.1\ Package\ Repository repository version 4
El siguiente comando muestra informacin sobre las propiedades del editor solaris en el repositorio local. Los parntesis indican que un determinado valor puede ser una lista de valores. Si crea varios repositorios locales, asegrese de cambiar el nombre del repositorio, la ruta de acceso, el nmero de puerto y la base del proxy Apache durante la configuracin. Configuracin de proxy con prefijo simple en la pgina 31 muestra cmo se configura pkg/proxy_base.
$ pkgrepo PUBLISHER solaris solaris solaris solaris solaris solaris solaris solaris solaris solaris solaris get -p solaris -s /export/repoSolaris11 SECTION PROPERTY VALUE publisher alias publisher prefix solaris repository collection-type core repository description Local\ copy\ of\ the\ Oracle\ Solaris\ 11.1\ repository repository legal-uris () repository mirrors () repository name Oracle\ Solaris\ 11.1\ Package\ Repository repository origins () repository refresh-seconds repository registration-uri "" repository related-uris ()
El tipo de coleccin core indica que el repositorio contiene todas las dependencias declaradas por los paquetes en el repositorio. legal-uris es una lista de ubicaciones para los documentos que proporcionan informacin jurdica sobre el repositorio. origins es una lista de ubicaciones de repositorios que contienen una copia completa del contenido y los metadatos del paquete de este repositorio. related-uris es una lista de ubicaciones de repositorios que contienen paquetes que pueden ser interesantes para los usuarios.
related-uris
Consulte la pgina del comando man pkgrepo(1) para obtener descripciones de otras propiedades del repositorio y del editor.
Captulo 4 Mantenimiento del repositorio de paquetes de IPS local 25
El siguiente comando muestra informacin sobre la propiedad especificada seccin/propiedad en el repositorio pkg.oracle.com.
$ pkgrepo get -p solaris -s http://pkg.oracle.com/solaris/release \ repository/name repository/description PUBLISHER SECTION PROPERTY VALUE solaris repository description Local\ copy\ of\ the\ Oracle\ Solaris\ 11.1\ repository solaris repository name Oracle\ Solaris\ 11.1\ Package\ Repository
Tenga en cuenta que los valores de propiedad de la descripcin del repositorio y del nombre del repositorio no se establecen para el editor de solaris en el repositorio local. A fin de suministrar valores para las propiedades del editor, use el subcomando set como se muestra arriba y, adems, especifique el nombre del editor. El valor repository/name del editor aparece en la interfaz del explorador, cerca de la parte superior de la pgina y como ttulo de pgina. El valor repository/description del editor aparece en la interfaz del explorador en la seccin Acerca de, justo debajo del nombre.
$ pkgrepo set -p solaris -s /export/repoSolaris11 \ repository/description="Local copy of the Oracle Solaris 11.1 repository" \ repository/name="Oracle Solaris 11.1 Package Repository" $ pkgrepo get -p solaris -s /export/repoSolaris11 PUBLISHER SECTION PROPERTY VALUE solaris publisher alias solaris publisher prefix solaris solaris repository collection-type core solaris repository description Local\ copy\ of\ the\ Oracle\ Solaris\ 11.1\ repository solaris repository legal-uris () solaris repository mirrors () solaris repository name Oracle\ Solaris\ 11.1\ Package\ Repository solaris repository origins () solaris repository refresh-seconds solaris repository registration-uri "" solaris repository related-uris ()
Puede agregar paquetes de diferentes editores en el repositorio. El siguiente comando pkgrecv agrega todos los paquetes del archivo de paquetes ISVproducts.p5p al repositorio local. En la salida pkg list, el editor se muestra porque no es el editor mejor clasificado en el orden de bsqueda de esta imagen.
26
$ pkg list -g /tmp/ISVproducts.p5p NAME (PUBLISHER) VERSION IFO isvtool (isvpub) 1.0 --$ pkgrecv -s /tmp/ISVproducts.p5p -d /export/repoSolaris11 * Processing packages for publisher isvpub ... Retrieving and evaluating 1 package(s)... PROCESS ITEMS GET (MB) SEND (MB) Completed 1/1 0.0/0.0 0.0/0 $ pkg list -g /export/repoSolaris11 isvtool NAME (PUBLISHER) VERSION IFO isvtool (isvpub) 1.0 ---
Un archivo de paquetes es un archivo que contiene informacin del editor y uno o ms paquetes proporcionados por ese editor. Consulte Publish as a Package Archive de Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.1.
27
Examine el repositorio en http://localhost:81/. Consulte Varios repositorios en un mismo dominio en la pgina 32 para obtener informacin sobre cmo ejecutar varios repositorios con un solo nombre de dominio con prefijos diferentes.
Mejora el rendimiento mediante el almacenamiento en cach del contenido y el equilibrio de la carga. Permite alojar varios repositorios con un mismo nombre de dominio.
Apache permite activar el almacenamiento en cach para directorios especficos. Quiz desee que su servidor de repositorios almacene en cach todo el contenido del servidor, como se muestra en la siguiente directiva.
CacheEnable disk /
28
Utilice la directiva CacheMaxFileSize para establecer el tamao mximo de los archivos que se van a almacenar en cach. Puede que el valor predeterminado de 1 MB de Apache sea demasiado pequeo para la mayora de los repositorios. La siguiente directiva establece 1 GB como tamao mximo para el archivo almacenado en cach.
CacheMaxFileSize 1000000000
Ajustar la estructura del directorio de la memoria cach en disco para obtener el mejor rendimiento con el sistema de archivos subyacente. En un conjunto de datos ZFS, el rendimiento se ve ms afectado si hay varios niveles de directorios que si hay un gran nmero de archivos en un mismo directorio. Por lo tanto, configure un solo nivel de directorio con un gran nmero de archivos en cada directorio. Utilice las directivas CacheDirLevels y CacheDirLength para controlar la estructura de directorios. Establezca CacheDirLevels en 1. Establezca CacheDirLength en un valor que proporcione un buen equilibrio entre el nmero de directorios y el nmero de archivos por directorio. El valor de 2 establecido a continuacin genera 4096 directorios. Consulte la documentacin Disk-based Caching (Almacenamiento en cach basado en disco) para obtener ms informacin.
CacheDirLevels 1 CacheDirLength 2
No almacene este archivo en cach. Esta solucin tambin funciona mejor si el servidor de repositorios se ejecuta en un entorno de alto ancho de banda en el que el trfico adicional no es una consideracin importante. El siguiente archivo httpd.conf parcial muestra cmo especificar que no se almacene en cach el archivo catalog.attrs:
<LocationMatch ".*/catalog.attrs"> Header set Cache-Control no-cache </LocationMatch>
Quite este archivo de la memoria cach cuando se actualiza el catlogo del repositorio en segundo plano.
29
ancho de banda derivado del uso del almacenamiento en cach es reducido. El siguiente archivo httpd.conf parcial muestra cmo especificar que no se almacenen en cach los resultados de bsqueda.
<LocationMatch ".*/search/\d/.*"> Header set Cache-Control no-cache </LocationMatch>
No decodificar barras diagonales codificadas. Los paquetes pueden contener barras diagonales codificadas para URL. Para asegurarse de que estas barras diagonales no se interpreten como delimitadores de directorio, establezca que Apache no los decodifique.
AllowEncodedSlashes NoDecode
30 Copia y creacin de repositorios de paquetes de Oracle Solaris 11.1 Febrero de 2013
Permitir ms solicitudes canalizadas. Aumente el valor MaxKeepAliveRequests para permitir que los clientes extraigan un mayor nmero de solicitudes canalizadas sin cerrar la conexin. El valor predeterminado de Apache de 100 es demasiado bajo.
MaxKeepAliveRequests 10000
Establecer el tiempo de espera mximo de respuesta. El tiempo de espera del proxy determina cunto tiempo Apache espera la respuesta del depsito en segundo plano. Para la mayora de las operaciones, 30 segundos es suficiente. Las bsquedas que arrojan una gran cantidad de resultados pueden llevar bastante ms tiempo. Quiz desee asignar un valor de tiempo de espera mayor para dichas bsquedas.
ProxyTimeout 30
El cliente pkg(5) abre 20 conexiones paralelas al servidor de depsitos cuando realiza operaciones de red. Asegrese de que el nmero de subprocesos de depsitos coincida con las conexiones esperadas para el servidor en cualquier momento. Utilice los siguientes comandos para definir el nmero de subprocesos por depsito:
$ svccfg -s pkg/server:repo "setprop pkg/threads = 200" $ svcadm refresh pkg/server:repo $ svcadm restart pkg/server:repo
Utilice nocanon para suprimir la canonizacin de direcciones URL. Este valor es importante para que la bsqueda funcione correctamente. Adems, limite el nmero de conexiones en segundo plano al nmero de subprocesos que el servidor de depsitos proporciona. El siguiente archivo httpd.conf parcial muestra cmo aplicar un proxy en un servidor de depsitos:
Redirect /myrepo http://pkg.example.com/myrepo/ ProxyPass /myrepo/ http://internal.example.com:10000/ nocanon max=200
http://pkg.example.com/repo_one est conectado con internal.example.com:10000 http://pkg.example.com/repo_two est conectado con internal.example.com:20000 http://pkg.example.com/xyz/repo_three est conectado con internal.example.com:30000
El servidor de depsitos pkg(5) es un servicio que se gestiona mediante SMF. Por lo tanto, para ejecutar varios servidores de depsitos en el mismo host, simplemente cree una nueva instancia de servicio:
$ svccfg -s pkg/server add repo1 $ svccfg -s pkg/server:repo1 setprop pkg/property=value $ ...
Como en el ejemplo anterior, cada servidor de depsitos se ejecuta con 200 subprocesos.
Redirect /repo_one http://pkg.example.com/repo_one/ ProxyPass /repo_one/ http://internal.example.com:10000/ nocanon max=200 Redirect /repo_two http://pkg.example.com/repo_two/ ProxyPass /repo_two/ http://internal.example.com:20000/ nocanon max=200 Redirect /xyz/repo_three http://pkg.example.com/xyz/repo_three/ ProxyPass /xyz/repo_three/ http://internal.example.com:30000/ nocanon max=200
32 Copia y creacin de repositorios de paquetes de Oracle Solaris 11.1 Febrero de 2013
http://pkg.example.com/repo_one est conectado con internal1.example.com:10000 y internal2.example.com:10000 http://pkg.example.com/repo_two est conectado con internal1.example.com:20000
AddOutputFilterByType DEFLATE text/html application/javascript text/css text/plain AllowEncodedSlashes NoDecode MaxKeepAliveRequests 10000 ProxyTimeout 30
33
ProxyRequests Off <Proxy balancer://pkg-example-com-repo_one> # depot on internal1 BalancerMember http://internal1.example.com:10000 retry=5 max=100 # depot on internal2 BalancerMember http://internal2.example.com:10000 retry=5 max=100 </Proxy> Redirect /repo_one http://pkg.example.com/repo_one/ ProxyPass /repo_one/ balancer://pkg-example-com-repo_one/ nocanon Redirect /repo_two http://pkg.example.com/repo_two/ ProxyPass /repo_two/ http://internal.example.com:20000/ nocanon max=200
34