fedora 15 0.1 software management guide es es

Upload: jgutierreztovar2482

Post on 12-Jul-2015

144 views

Category:

Documents


0 download

TRANSCRIPT

Fedora 15 Manual para gestin del softwareLa gua definitiva para la gestin del software

Guillermo Gmez Savino

Manual para gestin del software

Borrador

Fedora 15 Manual para gestin del software La gua definitiva para la gestin del software Edicin 1Autor Guillermo Gmez Savino [email protected]

Copyright 2010 Red Hat, Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons AttributionShare Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. For guidelines on the permitted uses of the Fedora trademarks, refer to https://fedoraproject.org/wiki/ Legal:Trademark_guidelines. Linux is the registered trademark of Linus Torvalds in the United States and other countries. Java is a registered trademark of Oracle and/or its affiliates. XFS is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL is a registered trademark of MySQL AB in the United States, the European Union and other countries. All other trademarks are the property of their respective owners.

Este manual est dedicado a la gestin del software en Fedora. El lector adquirir las habilidades necesarias para poder instalar, remover y actualizar el software de su sistema. Este manual esta diseado para todos los niveles de lectores, desde usuarios de escritorio Fedora, hasta administradores de sistemas y desarrolladores Fedora.

Borrador

Borrador ix ix ix x xi xi 1 1 1 1 3 4 4 5 6

Prefacio 1. Convenciones del Documento ......................................................................................... 1.1. Convenciones Tipogrficas ................................................................................... 1.2. Convenciones del documento ............................................................................... 1.3. Notas y Advertencias ........................................................................................... 2. Necesitamos sus comentarios! ....................................................................................... 1. Introduccin 1.1. Propsito ..................................................................................................................... 1.2. Audiencia ..................................................................................................................... 1.3. Organizacin del manual .............................................................................................. 2. Introduccin a la gestin del software 2.1. RPM ............................................................................................................................ 2.2. Repositorios de software .............................................................................................. 2.3. YUM ............................................................................................................................ 2.4. PackageKit ..................................................................................................................

3. Las interfases GUI de gnome-packagekit 7 3.1. Aadir y quitar software con gpk-application .................................................................. 7 3.1.1. Estado de la aplicacin ...................................................................................... 7 3.1.2. Listados ............................................................................................................ 8 3.1.3. Instalacin de paquetes ................................................................................... 10 3.1.4. Desinstalacin de paquetes .............................................................................. 14 3.1.5. Filtros para listados ......................................................................................... 16 3.2. Alerta, actualizaciones disponibles .............................................................................. 19 3.3. Actualizando con gpk-update-viewer ............................................................................ 19 3.4. Ajuste de preferencias con gpk-prefs ........................................................................... 21 3.5. Visualizacin de los registros con gpk-log .................................................................... 23 4. Configuracin de YUM 4.1. Configuracin general ................................................................................................. 4.2. Variables yum ............................................................................................................ 4.3. Manejo del cache ....................................................................................................... 4.4. Configuracin con prioridad ........................................................................................ 4.5. Control de ancho de banda ........................................................................................ 4.6. Configuracin con proxy ............................................................................................. 4.7. Poltica multiarquitectura ............................................................................................. 4.8. Gestin de los repositorios yum .................................................................................. 4.8.1. Agregar nuevos repositorios ............................................................................. 4.8.2. Configuracin manual de un repositorio ............................................................ 4.8.3. Remover repositorios ....................................................................................... 4.8.4. Los repositorios Fedora ................................................................................... 4.8.5. Repositorios de terceros y personales .............................................................. 4.8.6. Lista de espejos y metalink .............................................................................. 4.8.7. Configuracin para proteccin de paquetes ....................................................... 5. Uso del comando yum 5.1. Comandos yum y su sintaxis ...................................................................................... 5.2. Los nombres de paquetes .......................................................................................... 5.3. El comando help ........................................................................................................ 5.4. Listado de repositorios ................................................................................................ 5.5. Instalacin de nuevo software ..................................................................................... 5.5.1. Instalar desde los repositorios habilitados ......................................................... 5.5.2. Error de dedo, mire las sugerencias ................................................................. 5.5.3. Instalar un RPM .............................................................................................. 25 25 27 27 28 29 29 30 30 30 31 32 33 34 35 36 39 39 41 42 42 44 44 45 45 iii

Manual para gestin del software

Borrador 46 46 47 47 47 48 48 49 49 49 50 51 51 51 52 52 52 53 53 53 54 54 55 55 56 56 57 57 59 59 60 61 62 63 65 65 66 66 67 69 69 69 70 70 70 71 71 71 72 73 73 73 74

5.5.4. Reinstalando software ...................................................................................... 5.6. Actualizando el software ............................................................................................. 5.6.1. Actualizar un paquete ...................................................................................... 5.6.2. Actualizar con un RPM .................................................................................... 5.6.3. Volver a versin anterior .................................................................................. 5.6.4. Actualizacin general ....................................................................................... 5.6.5. Verificacin y listado de actualizaciones ............................................................ 5.6.6. Exclusin al actualizar ..................................................................................... 5.6.7. Evitar paquetes problemticos al actualizar ....................................................... 5.7. Removiendo software ................................................................................................. 5.8. Obtener informacin de un paquete ............................................................................ 5.9. Bsquedas y listados de paquetes .............................................................................. 5.9.1. Bsqueda por nombre, descripcn y resumen ................................................... 5.9.2. Bsqueda por funcionalidad o archivo ............................................................... 5.9.3. Listado de paquetes instalados ........................................................................ 5.9.4. Listado de paquetes disponibles ....................................................................... 5.9.5. Listado de actualizaciones disponibles .............................................................. 5.9.6. Listado de paquetes recientes .......................................................................... 5.9.7. Listado de paquetes forneos .......................................................................... 5.10. Habilitar repositorio al momento ................................................................................ 5.11. Listar dependencias .................................................................................................. 5.12. Consulta al cache ..................................................................................................... 5.13. Mostrar duplicados ................................................................................................... 5.14. Bloqueo existente ... ................................................................................................. 5.15. Grupos de software YUM .......................................................................................... 5.15.1. Listar grupos disponibles ................................................................................ 5.15.2. Informacin de paquetes de grupo .................................................................. 5.15.3. Instalacin y remocin de grupos ................................................................... 5.16. Registros e histricos YUM ....................................................................................... 5.16.1. Historia .......................................................................................................... 5.16.2. Undo?Redo! ............................................................................................... 5.16.3. Histrico corrupto ........................................................................................... 5.16.4. Identificacin del responsable con sudo .......................................................... 5.16.5. Verificacin de la base de datos rpm .............................................................. 6. Extensiones yum 6.1. Instalacin y configuracin general de las extensiones ................................................. 6.2. yum-plugin-aliases ...................................................................................................... 6.2.1. Configuracin .................................................................................................. 6.2.2. Ejemplos de uso .............................................................................................. 6.3. yum-plugin-auto-update-debug-info .............................................................................. 6.3.1. Configuracin .................................................................................................. 6.3.2. Ejemplos de uso .............................................................................................. 6.4. yum-plugin-changelog ................................................................................................. 6.4.1. Configuracin .................................................................................................. 6.4.2. Ejemplos de uso .............................................................................................. 6.5. yum-plugin-downloadonly ............................................................................................ 6.5.1. Configuracin .................................................................................................. 6.5.2. Ejemplos de uso .............................................................................................. 6.5.3. Qu pasa si el paquete tiene dependencias? .................................................. 6.5.4. Qu pasa si el paquete ya est instalado? ...................................................... 6.6. yum-plugin-fastestmirror .............................................................................................. 6.6.1. Configuracin .................................................................................................. 6.6.2. Ejemplos de uso ..............................................................................................

iv

Borrador 6.7. yum-plugin-filter-data .................................................................................................. 75 6.7.1. Configuracin .................................................................................................. 75 6.7.2. Documentacin ................................................................................................ 75 6.7.3. Ejemplos de uso .............................................................................................. 75 6.8. yum-plugin-fs-snapshot ............................................................................................... 77 6.8.1. Configuracin .................................................................................................. 77 6.8.2. Documentacin ................................................................................................ 78 6.9. yum-plugin-keys ......................................................................................................... 78 6.9.1. Configuracin .................................................................................................. 78 6.9.2. Ejemplos de uso .............................................................................................. 78 6.10. yum-plugin-list-data ................................................................................................... 80 6.10.1. Documentacin .............................................................................................. 81 6.10.2. Configuracin ................................................................................................ 81 6.10.3. Ejemplos de uso ............................................................................................ 81 6.11. yum-plugin-local ........................................................................................................ 82 6.11.1. Configuracin ................................................................................................. 82 6.11.2. Ejemplos de uso ............................................................................................ 83 6.12. yum-plugin-merge-conf .............................................................................................. 85 6.12.1. Configuracin ................................................................................................ 86 6.12.2. Ejemplos de uso ............................................................................................ 86 6.13. yum-plugin-post-transaction-actions ........................................................................... 87 6.13.1. Configuracin ................................................................................................ 87 6.13.2. Ejemplos de uso ............................................................................................ 87 6.14. yum-plugin-priorities .................................................................................................. 88 6.14.1. Configuracin ................................................................................................ 88 6.14.2. Ejemplos de uso ............................................................................................ 89 6.15. yum-plugin-protectbase ............................................................................................. 89 6.15.1. Configuracin ................................................................................................ 89 6.15.2. Ejemplos de uso ............................................................................................ 90 6.16. yum-plugin-refresh-updatesd ..................................................................................... 90 6.16.1. Configuracin ................................................................................................ 90 6.17. yum-plugin-remove-with-leaves .................................................................................. 91 6.17.1. Configuracin ................................................................................................ 91 6.17.2. Ejemplos de uso ............................................................................................ 91 6.18. yum-plugin-rpm-warm-cache ...................................................................................... 92 6.18.1. Configuracin ................................................................................................ 92 6.19. yum-plugin-security ................................................................................................... 93 6.19.1. Configuracin ................................................................................................ 93 6.19.2. Ejemplos de uso ............................................................................................ 93 6.20. yum-plugin-show-leaves ............................................................................................ 95 6.20.1. Configuracin ................................................................................................ 95 6.20.2. Ejemlos de uso .............................................................................................. 96 6.21. yum-plugin-tmprepo .................................................................................................. 96 6.21.1. Configuracin ................................................................................................ 96 6.21.2. Ejemplo de uso ............................................................................................. 97 6.22. yum-plugin-tsflags ..................................................................................................... 97 6.22.1. Configuracin ................................................................................................ 98 6.22.2. Ejemplos de uso ............................................................................................ 98 6.23. yum-plugin-upgrade-helper ........................................................................................ 99 6.23.1. Configuracin ................................................................................................ 99 6.24. yum-plugin-verify ...................................................................................................... 99 6.24.1. Configuracin ............................................................................................... 100 6.24.2. Documentacin ............................................................................................ 100 6.24.3. Ejemplos de uso .......................................................................................... 100

v

Manual para gestin del software

Borrador 101 101 102 103 103 104 105 106 106 106 106 106 106 109 109 109 109 110 111 112 113 114 115 116 116 116 117 117 118 121 121 123 126 128 130 132 133 135 135 135 136 137 140 142 143 143 143 144 145 145 146 146

6.25. yum-plugin-versionlock ............................................................................................ 6.25.1. Configuracin ............................................................................................... 6.25.2. Ejemplos de uso .......................................................................................... 6.26. yum-presto ............................................................................................................. 6.26.1. Configuracin ............................................................................................... 6.26.2. Ejemplos de uso .......................................................................................... 6.27. PackageKit-yum-plugin ............................................................................................ 6.27.1. Configuracin ............................................................................................... 6.28. yum-langpacks ....................................................................................................... 6.28.1. Configuracin ............................................................................................... 6.29. Uso del comando yum y las extensiones ................................................................. 6.29.1. Desactivar las extensiones ........................................................................... 6.29.2. Ejemplos de uso .......................................................................................... 7. Utilidades YUM 7.1. Autocompletado Bash ............................................................................................... 7.2. yum-updateonboot .................................................................................................... 7.2.1. Configuracin ................................................................................................ 7.3. yumdownloader ........................................................................................................ 7.4. package-cleanup ...................................................................................................... 7.4.1. Ejemplos de uso ............................................................................................ 7.5. yum-complete-transaction .......................................................................................... 7.6. yum-builddep ............................................................................................................ 7.7. yum-NetworkManager-dispatcher ............................................................................... 7.8. yum-cron .................................................................................................................. 7.8.1. Arranque y parada ......................................................................................... 7.8.2. Configuracin ................................................................................................ 7.8.3. needs-restarting ............................................................................................. 7.8.4. find-repos-of-install ......................................................................................... 7.8.5. show-installed ................................................................................................ 8. Gestin avanzada de repositorios YUM 8.1. Creacin de repositorios con createrepo .................................................................... 8.2. Consultar repositorios con repoquery ......................................................................... 8.3. Gestin de grupos con yum-groups-manager ............................................................. 8.4. Creando espejos YUM con reposync ......................................................................... 8.5. Repositorios explorables web con repoview ............................................................... 8.6. Dependencias no resueltas con repoclosure .............................................................. 8.7. Seguimiento de paquetes con repotrack .................................................................... 9. PackageKit CLI 9.1. pkcon ....................................................................................................................... 9.1.1. Documentacin .............................................................................................. 9.1.2. Bsquedas .................................................................................................... 9.1.3. Instalar,actualizar y remover paquetes ............................................................ 9.1.4. Informacin sobre paquetes ........................................................................... 9.1.5. Actualizacin general ..................................................................................... 9.1.6. Actualizaciones disponibles ............................................................................ 9.1.7. Grupos .......................................................................................................... 9.1.8. Repositorios .................................................................................................. 9.1.9. Descarga de paquetes ................................................................................... 9.1.10. Uso de filtros ............................................................................................... 9.1.11. Transacciones .............................................................................................. 9.2. gpk-install-local-file ................................................................................................... 9.3. gpk-install-catalog .....................................................................................................

vi

Borrador 9.4. pkmon ...................................................................................................................... 147 9.5. PackageKit-command-not-found ................................................................................ 148 10. Elementos de la gestin rpm 10.1. Por qu evitar RPM? ............................................................................................ 10.2. Documentacin en el paquete ................................................................................. 10.3. Archivos de configuracin del paquete ..................................................................... 10.4. Propiedad de un archivo ......................................................................................... 10.5. Respaldo y reconstruccin de la base de datos ........................................................ 10.6. Importando llaves ................................................................................................... 10.7. Listar llaves instaladas ............................................................................................ 149 149 149 150 150 150 150 151

11. Tcnicas para administradores de sistemas 153 11.1. Configuracin remota .............................................................................................. 153 11.2. Soporte syslog ........................................................................................................ 153 A. Historial de revisiones 155 12. Agradecimientos 157 12.1. Personales ............................................................................................................. 157 12.2. Traduccin ............................................................................................................. 157 ndice 159

vii

viii

Borrador

Borrador

Prefacio1. Convenciones del DocumentoEste manual utiliza varias convenciones para resaltar algunas palabras y frases y llamar la atencin sobre ciertas partes especficas de informacin. En ediciones PDF y de papel, este manual utiliza tipos de letra procedentes de Liberation Fonts . Liberation Fonts tambin se utilizan en ediciones de HTML si estn instalados en su sistema. Si no, se muestran tipografas alternativas pero equivalentes. Nota: Red Hat Enterprise Linux 5 y siguientes incluyen Liberation Fonts predeterminadas.1

1.1. Convenciones TipogrficasSe utilizan cuatro convenciones tipogrficas para llamar la atencin sobre palabras o frases especficas. Dichas convenciones y las circunstancias en que se aplican son las siguientes: Negrita monoespaciado Utilizada para resaltar la entrada del sistema, incluyendo comandos de shell, nombres de archivo y rutas. Tambin se utiliza para resaltar teclas claves y combinaciones de teclas. Por ejemplo: Para ver el contenido del archivo my_next_bestselling_novel en su directorio actual de trabajo, escriba el comando cat my_next_bestselling_novel en el intrprete de comandos de shell y pulse Enter para ejecutar el comando. El ejemplo anterior incluye un nombre de archivo, un comando de shell y una tecla clave. Todo se presenta en negrita-monoespaciado y distinguible gracias al contexto. Las combinaciones de teclas se pueden distinguir de las teclas claves mediante el guin que conecta cada parte de una combinacin de tecla. Por ejemplo: Pulse Enter para ejecutar el comando. Pulse Control+Alt+F2 para cambiar a la primera terminal virtual. Pulse Control+Alt+F1 para volver a su sesin de Ventanas-X. La primera oracin resalta la tecla clave determinada que se debe pulsar. La segunda resalta dos conjuntos de tres teclas claves que deben ser presionadas simultneamente. Si se discute el cdigo fuente, los nombres de las clase, los mtodos, las funciones, los nombres de variables y valores de retorno mencionados dentro de un prrafo sern presentados en Negritamonoespaciado. Por ejemplo: Las clases de archivo relacionadas incluyen filename para sistema de archivos, file para archivos y dir para directorios. Cada clase tiene su propio conjunto asociado de permisos. Negrita proporcional Esta denota palabras o frases encontradas en un sistema, incluyendo nombres de aplicacin, texto de cuadro de dilogo, botones etiquetados, etiquetas de cajilla de verificacin y botn de radio; ttulos de men y ttulos del sub-men. Por ejemplo:

1

https://fedorahosted.org/liberation-fonts/

ix

Prefacio

Borrador

Seleccionar Sistema Preferencias Ratn desde la barra del men principal para lanzar Preferencias de Ratn. En la pestaa de Botones, haga clic en la cajilla ratn de mano izquierda y luego haga clic en Cerrar para cambiar el botn principal del ratn de la izquierda a la derecha (adecuando el ratn para la mano izquierda). Para insertar un caracter especial en un archivo de gedit, seleccione desde la barra del men principal Aplicaciones Accessories Mapa de caracteres. Luego, desde la barra de menes de mapa de caracteres elija Bsqueda Hallar, teclee el nombre del caracter en el campo Bsqueda y haga clic en Siguiente. El caracter buscado se resaltar en la Tabla de caracteres. Haga doble clic en este caracter resaltado para colocarlo en el campo de Texto para copiar y luego haga clic en el botn de Copiar. Ahora regrese a su documento y elija Editar Pegar desde la barra de men de gedit. El texto anterior incluye nombres de aplicacin; nombres y elementos del men de todo el sistema; nombres de men de aplicaciones especficas y botones y texto hallados dentro de una interfaz grfica de usuario, todos presentados en negrita proporcional y distinguibles por contexto. Itlicas-negrita monoespaciado o Itlicas-negrita proporcional Ya sea negrita monoespaciado o negrita proporcional, la adicin de itlicas indica texto reemplazable o variable. Las itlicas denotan texto que usted no escribe literalmente o texto mostrado que cambia dependiendo de la circunstancia. Por ejemplo: Para conectar a una mquina remota utilizando ssh, teclee ssh [email protected] en un intrprete de comandos de shell. Si la mquina remota es example.com y su nombre de usuario en esa mquina es john, teclee ssh [email protected]. El comando mount -o remount file-system remonta el sistema de archivo llamado. Por ejemplo, para volver a montar el sistema de archivo /home, el comando es mount -o remount /home. Para ver la versin de un paquete actualmente instalado, utilice el comando rpm -q paquete. ste entregar el resultado siguiente: paquete-versin-lanzamiento. Observe las palabras en itlicas y negrita sobre nombre de usuario, domain.name, sistema de archivo, paquete, versin y lanzamiento. Cada palabra es un marcador de posicin, tanto para el texto que usted escriba al ejecutar un comando como para el texto mostrado por el sistema. Aparte del uso estndar para presentar el ttulo de un trabajo, las itlicas denotan el primer uso de un trmino nuevo e importante. Por ejemplo: Publican es un sistema de publicacin de DocBook.

1.2. Convenciones del documentoLos mensajes de salida de la terminal o fragmentos de cdigo fuente se distinguen visualmente del texto circundante. Los mensajes de salida enviados a una terminal se muestran en romano monoespaciado y se presentan as:books books_tests Desktop Desktop1 documentation downloads drafts images mss notes photos scripts stuff svgs svn

x

Borrador

Notas y Advertencias

Los listados de cdigo fuente tambin se muestran en romano monoespaciado, pero se presentan y resaltan de la siguiente manera:package org.jboss.book.jca.ex1; import javax.naming.InitialContext; public class ExClient { public static void main(String args[]) throws Exception { InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref; Echo echo = home.create(); System.out.println("Created Echo"); System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); } }

1.3. Notas y AdvertenciasFinalmente, utilizamos tres estilos visuales para llamar la atencin sobre la informacin que de otro modo se podra pasar por alto.

NotaUna nota es una sugerencia, atajo o enfoque alternativo para una tarea determinada. Ignorar una nota no debera tener consecuencias negativas, pero podra perderse de algunos trucos que pueden facilitarle las cosas.

ImportanteLos cuadros con el ttulo de importante dan detalles de cosas que se pueden pasar por alto fcilmente: cambios de configuracin nicamente aplicables a la sesin actual, o servicios que necesitan reiniciarse antes de que se aplique una actualizacin. Ignorar estos cuadros no ocasionar prdida de datos, pero puede causar enfado y frustracin.

AdvertenciaLas advertencias no deben ignorarse. Ignorarlas muy probablemente ocasionar prdida de datos.

2. Necesitamos sus comentarios!Si encuentra un error tipogrfico en este manual o si sabe de alguna manera de mejorarlo, nos gustara escuchar sus sugerencias. Por favor complete un reporte en Bugzilla: http:// bugzilla.redhat.com/bugzilla/ usando el producto Fedora Documentation. xi

Prefacio Cuando enve un reporte de error no olvide mencionar el identificador del manual: softwaremanagement-guide

Borrador

Si tiene una sugerencia para mejorar la documentacin, intente ser tan especfico como sea posible cuando describa su sugerencia. Si ha encontrado un error, por favor incluya el nmero de seccin y parte del texto que rodea el error para que podamos encontrarlo ms fcilmente.

xii

Borrador

Borrador

IntroduccinEste manual es el producto de la experiencia y evolucin de las herramientas para la gestin del software en Fedora. Los contenidos aqu vertidos son especficos a Fedora pero muchos de ellos son fcilmente aplicables y transportables a otros sistemas GNU/Linux basados en RPM. Incluso algunos captulos son independientes de la distribucin como lo son los contenidos dedicados a PackageKit y sus herramientas.

1.1. PropsitoEste manual pretende consolidar toda la informacin relevante con respecto al tema de la gestin de software en Fedora, a todos los niveles, de novato a experto. Este manual debe servir para los ms conocedores como referencia general en el tema, para los novatos debe servir como gua de aprendizaje y podrn usar los primeros captulos para resolver sus necesidades ms elementales.

1.2. Audiencia Usuario de escritorio Usuarios avanzados Administrador de sistemas GNU/Linux Fedora Desarrolladores y empaquetadores Fedora

1.3. Organizacin del manual1. Introduccin general a conceptos de gestin general del software. 2. Gestin general de software con herramientas grficas de escritorio (GUI). 3. El sistema YUM y su configuracin. 4. Ganando poder en la lnea de comandos con yum (CLI). Este manual esta organizado de tal forma que primero se presentan los conceptos fundamentales, luego las herramientas grficas de escritorio, luego las herramientas de consola y tcnicas ms avanzadas en el tema de la gestin del software. Este manual fu diseado as para que el recin iniciado pueda ir escalando o limitarse a leer las primeras secciones de esta manual y obtener el suficiente nivel de informacin necesaria para un usuario de escritorio casero. Si usted necesita ms que las herramientas grficas de escritorio, puede continuar la lectura y profundizar en la configuracin y uso del sistema YUM hasta convertirse en un maestro de la gestin del software en Fedora. En la medida que se avanza en el texto, se avanza en el nivel de complejidad y dificultad, escalando de la gestin del software de un sistema casero, a una red gestionada de estaciones de trabajo y servidores Fedora.

1

2

Borrador

Borrador

Introduccin a la gestin del softwareTodo sistema informtico necesita un mecanismo para instalar y remover el software que utilizar para relizar sus funciones, pero qu es instalar software? Instalar software no es ms que colocar los fuentes binarios ejecutables o no de dicho software en los lugares adecuados en el sistema destino. Los sitios adecuados para instalar software en Fedora estn sujetos al esquema definido por el Linux Filesystem Hierarchy Standard (FHS). Luego de definido dnde se debe instalar el software, entonces podemos escoger la forma para realizar dicha instalacin: A mano, copiar y pegar con herramientas como cp, mv, scp. Usando alguna herramienta como make. Tpicamente utilizado en instalaciones desde fuentes. ./configure ; make ; make install Usando alguna herramienta general de distribucin de software. gem install rubygem cpan> install DateTime Usando alguna herramienta de control de versiones, svn, cvs , git , etc. git clone ... svn co ... cvs co ... Usando las herramientas propia de la distribucin. yum install ... aptitude install ... Este manual es acerca de la ltima opcin y en particular Fedora aunque muchos de los conceptos, herramientas y tcnicas de este manual se pueden aplicar a otros sistemas. A continuacin se resaltan algunos problemas de usar los otros mtodos. 1. Diversidad de herramientas para la misma tarea, gem o cpan? 2. Difcil averiguar qu software se tiene instalado. 3. Difcil realizar actualizaciones al software instalado. 4. No escala en la medida que se instala mucho software. 5. Dficil o imposible de saber quin instal un software determinado. 6. Tiende a ser desordenado y a ensuciar el sistema en general. 7. Rutas alteradas y sin certeza de que se est usando el programa deseado.

3

Captulo 2. Introduccin a la gestin del software

Borrador

Hay algunas pocas ventajas de usar mecanismos manuales o herramientas de gestin de software independientes de la plataforma, a saber: 1. Soporte para mltiples versiones. 2. Acceso a ltimas versiones disponibles aguas arriba. 3. Acceso a software privativo sin sustituto libre. En general no se recomienda usar herramientas no nativas Fedora para la gestin de software en la medida que el software que usted necesita est disponible en el formato RPM, incluso si es software privativo. Tambin esas supuestas ventajas son muy cuestionables y realmente se insiste que no se usen dichos mtodos salvo excepcin y que sepa lo que est haciendo. En Fedora y al igual que otras distribuciones GNU/Linux hoy da, la gestin del software ocurre en tres niveles que introduciremos a continuacin: Tabla 2.1. Tres capas en la gestin del software Capa 1 2 3 Componente RPM YUM PackageKit Comentario Bajo nivel, gestin bsica de dependencias Gestin de dependencias automticas y repositorios Gestin GUI y Multi-distro

2.1. RPMEl formato RPM es la forma de encapsular todo el software de una aplicacin dada, o datos en general, para el sistema de gestin de software RPM existente en Fedora y otras distribuciones Linux y otros sistemas Unix. El sistema RPM es tanto el formato del archivo como un sistema de gestin de software de bajo nivel basado en registros en base de datos. As entonces, la aplicacin escogida puede ser suministrada por los desarrolladores en formato RPM compatible Fedora. Igualmente puede ser suministrada por el propio Proyecto Fedora si dicho software ha sido previamente empaquetado correctamente y validado legalmente como para formar parte de la distribucin. Una tercera opcin es que est disponible en repositorios externos que se han dado a la tarea de empaquetar dicha aplicacin en el formato RPM. RPM permite instalar, desinstalar y actualizar paquetes de software con comandos simples. RPM mantiene una base de datos de los paquetes instalados as que se pueden invocar comandos de consulta y verificacin en el sistema.

2.2. Repositorios de softwareLa definicin de repositorio es fundamental, se puede definirlos como una coleccin de software ordenado, clasificado y disponibilizado para su uso con herramientas compatibles que lo usen para descargar software y manipular dicho software. Dichos repositorios tienen datos a usar y metadatos que procesar para por ejemplo realizar bsquedas sin recorrer rutas completas de forma remota. La idea de repositorio es crucial en la historia de las distribuciones de GNU/Linux, Fedora es una de ellas. Lo que algunos conocen como "la distribucin" o simplemente Fedora, es el DVD o LiveCD, ms hoy da esta percepcin est equivocada. Fedora es una distribucin basada en repositorios y no limitada a lo que se escoge para construir una seleccin y distribucin en un medio fsico o mtodo particular de acceso. Fedora son todos aquellos paquetes de software disponibles en los repositorios 4

Borrador

YUM

oficiales. El DVD o LiveCD correspondiente a la versin en curso de Fedora no es ms ni menos que una seleccin particular y puesta en formato para su uso. Los repositorios de software son entonces base hoy da para la distribucin como tal pero adems es una herramienta para los administradores de sistemas para desplegar sus sistemas y redes de forma ms ordenada, controlada y segura. Cada administrador de sistema puede construir repositorios de software para distribuir el software requerido a redes de estaciones de trabajo o servidores. Tambin se pueden usar a manera de cache o espejo de los repositorios oficiales y evitar as el uso excesivo de Internet para la actualizacin e instalacin de software en redes de estaciones y servidores Fedora. Ms adelante se har una parada en la creacin de repositorios de software. Es importante destacar que los repositorios que utiliza Fedora son repositorios YUM y que pueden disponibilizarse por los mtodos de acceso http:// , ftp:// y file://

2.3. YUMYUM :: Yellow dog Updater, Modified, software de lnea de comandos (CLI) para actualizar, instalar y desinstalar paquetes en sistemas basados en RPM de forma automtica. Si bien rpm es el gestor base de bajo nivel para los paquetes, su clculo de dependencias es muy bsico y puede fcilmente conducir a la situacin conocida como "la pesadilla de las dependencias". Esta es la tarea fundamental que resuelve el sistema YUM, de ah que aprender a usar yum evitar muchos malos ratos y que siempre y cuando se tenga acceso a un repositorio YUM, se podr sonrer e instalar, desinstalar y actualizar cualquiera de los paquetes de software en nuestro sistema basado en RPM sin complicaciones debido a las dependencias. La ventaja fundamental es el clculo de las dependencias y en consecuencia su inclusin automtica para poder instalar el paquete de software deseado, sin embargo no est limitado a ello y desde su diseo inicial a nuestros das, ha ganado una gran cantidad de extensiones que le permiten casi remplazar por completo a la herramienta rpm en la lnea de comandos. Luego existen programas grficos GUIs como gpk-application y gpk-update-viewer que son frontales de YUM para gestionar el software de nuestro sistema basado en RPM, como por ejemplo Fedora, Red Hat o Centos. Estas aplicaciones son parte de la suite denominada PackageKit. Tambin existe Yumex que es una herramienta GUI ms avanzada que ofrece ms poder de control sobre YUM desde el entorno X. En cualquiera de los casos, la gestin del software es una operacin sensible para el sistema y en consecuencia se requiere de privilegios suficientes para poder llevar a cabo dichas operaciones, tpicamente debe ser root. yum es la herramienta de consola principal del sistema YUM. En muchos casos es suficiente utilizar las herramientas GUI de alto nivel, en otros casos puede ser insuficiente o simplemente imposible de usar, por ejemplo un servidor sin entorno GUI (X), por ello aprender a usar la herramienta yum tiene doble beneficio, mayor poder y mayor alcance. Para hacer justicia hay que mencionar que PackageKit tambin incluye herramientas tipo consola en cuyo caso la discusin es si usar dichas herramientas versus la herramienta nativa yum. La documentacin para dicho cliente en consola es realmente escasa y an no le recomendamos su uso y se prefiere la herramienta nativa yum.1

1

http://linux.duke.edu/projects/yum/

5

Captulo 2. Introduccin a la gestin del software

Borrador

2.4. PackageKitPackageKit es un sistema diseado para instalar y actualizar software en su computador fcilmente. El objetivo es unificar todas las herramientas grficas (GUIs) utilizadas en las diferentes distribuciones GNU/Linux. PackageKit es un sistema de gestin del software para mltiples plataformas utilizando las herramientas nativas de cada una de ellas y que no pretende sustituirlas pero si crear una nueva capa de abstraccin en esta tarea de la gestin del software entre distintos tipos de sistemas y as facilitar esa tarea para los usuarios y administradores. De acuerdo a su descripcin PackageKit es una capa de abstraccin D-Bus que permite a la sesin de usuario gestionar los paquetes de forma segura utilizando una API multi-distro. En este manual se describir PackageKit desde la ptica de Fedora que es un sistema gestionado con yum para la instalacin de software. Con PackageKit y sus aplicaciones grficas podr resolver las tareas bsicas fundamentales de la gestin del software en su sistema Fedora. En Fedora PackageKit es el sistema estandar para la gestin del software en entornos GUI por lo que la siguiente nota de instalacin es en el caso excepcional de que no tenga instalado PackageKit.$ su -c "yum install PackageKit gnome-packagekit"2

2

http://www.packagekit.org/

6

Borrador

Borrador

Las interfases GUI de gnomepackagekitNormalmente las interfases GUI gnome-packagekit se instalan por omisin en Fedora como escritorio, de todas formas, en el caso de que no sea as, para su instalacin haga con privilegios de root:$ su -c "yum install gnome-packagekit"

3.1. Aadir y quitar software con gpk-applicationgpk-application es la interfase GUI hecha para GNOME y es el GUI estandar Fedora para gestin del software desde su versin 9 y luce como se muestra abajo. gpk-application se utiliza para instalar, remover y buscar paquetes de software en los sistemas Fedora y sus repositorios.

Figura 3.1. gpk-application En GNOME3, la mejor forma de invocar esta aplicacin es buscndola y luego tal vez agregndola como favorita. Para buscar gpk-application presione la tecla Win, la combinacin Alt-F1 o vaya al men de actividades en la esquina izquierda superior de su escritorio. Tipee "aa" y obtendr un resultado similar al pantallazo siguiente. En el pantallazo tambin se muestra el men contextual que se obtiene de presionar clic derecho sobre el icono para agregar como aplicacin favorita. Figura 3.2. Buscando gpk-application en GNOME3

3.1.1. Estado de la aplicacinAntes de comenzar a detallar las operaciones que se pueden realizar con gpk-application, es importante notar el estado del sistema en cuanto a la gestin del software se refiere, es decir, el sistema debe por ejemplo hacer consultas a los repositorios externos para lograr un listado actualizado de aplicaciones disponibles, entonces, debemos esperar que dicha accin se culmine con xito o que falle, no se desespere haciendo clic aqu y all, slo generar nuevas transacciones que se irn apilando. Abajo un pantallazo resaltando en un cruadro azul el reporte del estado de la aplicacin. 7

Captulo 3. Las interfases GUI de gnome-packagekit

Borrador

Figura 3.3. gpk-application estado de la aplicacin

3.1.2. ListadosEn la ventana principal de la aplicacin se pueden observar tres paneles, el primero enmarcado en rojo es para seleccionar el listado de paquetes deseado, el segundo, en azul, es para mostrar el listado de paquetes incluyendo el estado de cada paquete, si est tildado ya est instalado, el tercer panel enmarcado en color verde, se utiliza para mostrar detalles del paquete seleccionado en el segundo panel.

Figura 3.4. gpk-application listados

3.1.2.1. Colecciones de paquetesEste listado muestra colecciones de paquetes, es decir, cada entrada en el listado representa muchos paquetes relacionados entre s de cierta forma particular. Si se instala una coleccin, se instalan todos los paquetes base de esa coleccin. 8

Borrador

Listados

Figura 3.5. gpk-application colecciones de paquetes

3.1.2.2. Paquetes nuevosEste listado muestra los paquetes ms recientes agregados a los repositorios de software.

Figura 3.6. gpk-application paquetes nuevos

3.1.2.3. Colecciones popularesSigue en la lista de seleccin de paquetes, despes de Colecciones de paquetes, Paquetes Nuevos y Paquetes Selecionados, se encuentra una variedad selecta de colecciones especficas de software populares. Si se selecciona alguna de dichas colecciones se pueden visualizar todos los paquetes que se incluyen en esa coleccin en particular. Abajo el ejemplo despus de seleccionar el listado de paquetes que conforman la seleccin Escritorio GNOME. 9

Captulo 3. Las interfases GUI de gnome-packagekit

Borrador

Figura 3.7. gpk-application colecciones populares

3.1.3. Instalacin de paquetesEn todos los listados de gpk-application se reporta el estado del paquete o coleccin de paquetes, tildado equivale a instalado o por instalar, si no est tildado no est instalado o est agendado para desintalar, observe el cambio del icono y la activacin de los botones Limpiar y Aplicar .

Figura 3.8. gpk-application marcado para instalar Este procedimiento lo puede repetir para seleccionar mltiples paquetes a su instalacin.

10

Borrador

Instalacin de paquetes

Figura 3.9. gpk-application marcados para instalar Es posible hacer revisin de los Paquetes seleccionados haciendo clic en la entrada del mismo nombre en la lista de Colecciones de paquetes.

Figura 3.10. gpk-application paquetes seleccionados Al finalizar su seleccin de paquetes y colecciones a instalar presione el botn Aplicar para proceder con las transacciones agendadas, en este caso, instalar software nuevo. El sistema calcular las dependencias y las notificar de ser necesario para aprobacin e instalacin.

11

Captulo 3. Las interfases GUI de gnome-packagekit

Borrador

Figura 3.11. gpk-application notificacin dependencias al instalar Si presiona el botn Limpiar, gpk-application olvidar todas las selecciones agendadas. En Paquetes seleccionados es posible corregir la seleccin individualmente. Es importante notar que gpk-application no permite agendar la remocin de paquetes de software si ha comenzado por agregar para instalar. Si se acepta la instalacin de las dependencias y se presiona el botn Instalar, continuar el progreso de las transacciones agendadas. Ya que gestionar el software del sistema es una operacin privilegiada, debe suministrar las credendicales del superusuario root antes de que el proceso pueda proseguir.

12

Borrador

Instalacin de paquetes

Figura 3.12. gpk-application autenticacin root Si no tiene dicha autorizacin, hable con el administrador de su sistema. Luego de autorizado gpkapplication llevar a cabo las transacciones programadas que se resumen con la descarga e instalacin de los paquetes.

Figura 3.13. gpk-application descargando

13

Captulo 3. Las interfases GUI de gnome-packagekit

Borrador

Figura 3.14. gpk-application instalando

3.1.4. Desinstalacin de paquetesDe forma anloga a la instalacin, la desinstalacin de paquetes con gpk-application es un proceso de listar, remover las tildes para agendar la desinstalacin y aplicar, abajo los pantallazos correspondientes.

Figura 3.15. gpk-application marcado para desinstalar Luego la correspondiente notificacin de los dependientes a desinstalar.

14

Borrador

Desinstalacin de paquetes

Figura 3.16. gpk-application notificacin dependencias al desinstalar Por brevedad no se muestra nuevamente la pantalla para autorizacin y slo se muestra el progreso de las acciones.

15

Captulo 3. Las interfases GUI de gnome-packagekit

Borrador

Figura 3.17. gpk-application probando desinstalacin

Figura 3.18. gpk-application desinstalando

3.1.5. Filtros para listadosPara limitar los listados existe la posibilidad de aplicar filtros y as facilitar en primera instancia el alcance de la exploracin de paquetes. El primer filtro es para limitar el listado a los paquetes instalados o disponibles.

16

Borrador

Filtros para listados

Figura 3.19. gpk-application filtro instalado El segundo filtro es para limitar el listado a los paquetes de usuario final o de desarrollo.

Figura 3.20. gpk-application filtro desarrollo. El tercer filtro es para limitar el listado a los paquetes que son de entorno grfico o texto. Tenga en cuenta que PackageKit utiliza heurstica para determinar si un paquete es una aplicacin grfica, y puede equivocarse si un paquete tiene dependencias tales como gtk2+.

17

Captulo 3. Las interfases GUI de gnome-packagekit

Borrador

Figura 3.21. gpk-application filtro grfico. El cuarto filtro es para limitar el listado de acuerdo a si se considera software libre o no, se considera software libre segn lo que aparece en http://fedoraproject.org/wiki/Licensing.

Figura 3.22. gpk-application filtro libre. Hay tres opciones ms para filtrar: Ocultar subpaquetes De esta forma no se listan los paquetes "hijos", slo los "padres". Solamente paquetes nuevos Se listan los paquetes disponibilizados recientemente en los repositorios. Solamente paquetes nativos Slo se listarn los paquetes que coincidan con la arquitectura del sistema. 18

Borrador

Alerta, actualizaciones disponibles

3.2. Alerta, actualizaciones disponiblesCuando existan actualizaciones disponibles, aparecer una notificacin como la que se muestra en el pantallazo a continuacin. En ella podr invocar directamente gpk-update-viewer y proceder con la instalacin o no de dichas actualizaciones.

Figura 3.23. GNOME3 alerta actualizaciones disponibles

3.3. Actualizando con gpk-update-viewerPermite listar las actualizaciones disponibes y actualizar el sistema. Usualmente gpk-update-viewer es invocado desde la alerta de notificacin de nuevas actualizaciones.

19

Captulo 3. Las interfases GUI de gnome-packagekit

Borrador

Figura 3.24. gpk-update-viewer Si desea invocar manualmente puede buscar por "actualizacin" o mirando en las aplicaciones Herramientas del Sistema.

20

Borrador

Ajuste de preferencias con gpk-prefs

Figura 3.25. GNOME3 Aplicaciones - Herramientas del Sistema

3.4. Ajuste de preferencias con gpk-prefsgpk-prefs permite establecer las preferencias del sistema con respecto a las actualizaciones de software y los repositorios de software habilitados. Su ventana principal se divide en dos pestaas. La primera es para las preferencias de las actualizaciones.

Figura 3.26. gpk-prefs Actualizar configuracin La segunda pestaa permite configurar los repositorios que se utilizarn como fuentes de software.

21

Captulo 3. Las interfases GUI de gnome-packagekit

Borrador

Figura 3.27. gpk-prefs Repositorios de software A esta segunda pestaa de gpk-prefs tambn se le puede acceder directamente desde gpkapplication en su men sistema.

Figura 3.28. gpk-application men sistema repositorios de software Si desea localizar gpk-prefs para su invocacin manual desde GNOME3 o para agregarlo como aplicacin favorita, busque por "preferencia" y debera obtener un resultado similar al pantallazo siguiente.

22

Borrador

Visualizacin de los registros con gpk-log

Figura 3.29. Localizando gpk-prefs en GNOME3

3.5. Visualizacin de los registros con gpk-loggpk-log es una aplicacin para visualizar los registros de actividad relativos a la gestin del software, abajo un pantallazo.

Figura 3.30. gpk-log. Desde gpk-application se puede invocar grficamente esta aplicacin. Por supuesto puede invocar gpk-log desde el shell o cualquier otra forma de ejecucin de comando. Para el momento de redaccin esta aplicacin no aparece listada como aplicacin de escritorio.

23

Captulo 3. Las interfases GUI de gnome-packagekit

Borrador

Figura 3.31. gpk-application men sistema registro de software

24

Borrador

Borrador

Configuracin de YUMEn esta seccin del manual se revisar la configuracin del sistema YUM para poder comprender su funcionamiento como un todo. La configuracin general del sistema YUM se encuentra en /etc/yum.conf y los repositorios YUM configurados se encuentran declarados en /etc/yum.repos.d/. Para comprender las configuraciones analizaremos estos archivos de configuracin una vez que Fedora est instalado. Para configuraciones ms avanzadas puede siempre consultar las pginas en lnea de manual man yum y man yum.conf.

4.1. Configuracin generalPara comenzar, invoque su editor de texto favorito y abra el archivo de configuracin general de yum, /etc/yum.conf, obtendr un contenido similar a lo que se muestra abajo. /etc/yum.conf[main] cachedir=/var/cache/yum keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=2 # # # # # # # # # This is the default, if you make this bigger yum won't see if the metadata is newer on the remote and so you'll "gain" the bandwidth of not having to download the new metadata and "pay" for it by yum not having correct information. It is esp. important, to have correct metadata, for distributions like Fedora which don't keep old packages around. If you don't like this checking interupting your command line usage, it's much better to have something manually check the metadata once an hour (yum-updatesd will do this). metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d

El primer aspecto notable del archivo de configuracin de yum es su estructura de bloques de secciones identificados por corchetes como [seccin]. Esta estructura se repite al momento de configurar los repositorios. En este caso yum.conf en la seccin [main] define el comportamiento general del sistema YUM y establece las directivas base, por ejemplo, de dnde se encuentran el cache. Se comentan abajo cada una de las directivas mencionadas. cachedir Directorio donde YUM debe almacenar su cache y archivos db. El valor por omisin es /var/ cache/yum. keepcache Ya sea 1 o 0. Determina si YUM debe o no mantener el cache de los encabezados y paquetes despus de una instalacin exitosa. Valor por omisin es 1 (mantener los archivos).

25

Captulo 4. Configuracin de YUM

Borrador

debuglevel Nivel de mensajes de depuracin en la salida. El rango prctico es de 0-10. El valor por omisin es 2. . logfile Ruta completa al nombre de archivo donde YUM debe escribir sus actividades. exactarch Ya sea 1 o 0. Puesto a 1 provoca que por ejemplo yum update solo actualice los paquete de arquitectura que haya instalado, es decir, con esta opcin habilitada el comando yum no instalar un paquete i686 para actualizar un paquete i386. Por omisin el valor es 1.. obsoletes Esta opcin slo tiene efecto durante una actualizacin. Habilita la lgica de procesamiento de obsolescencias YUM. Es til cuando se realizan actualizaciones de nivel de distribucin (upgrade). Vea tambin la documentacin del comando yum upgrade para ms detalles. Opcin en la lnea de comando: --obsoletes. gpgcheck Ya sea 1 o 0. Esto le indica a YUM si debe o no realizar una verficacin de firma GPG en los paquetes. Cuando est habilitado en la seccin [main], establece el comportamiento por omisin para todos los repositorios. Esta opcin tambin determina si una instalacin de un archivo local RPM ser verificado por su firma GPG o no. El valor por omisin es 0. plugins Ya sea 0 o 1. Conmutador global para habilitar o deshabilitar las extensiones (plugins) de YUM. Por omisin su valor es 0 (extensiones deshabilitadas). Vea la seccin PLUGINS del manual yum(8) para ms informacin acerca de la instalacin de extensiones YUM. metadata_expire Duracin en segundos despus del cual los metadatos caducarn. As entonces si los metadatos actuales descargados son menos segundos de antiguo, entonces yum no actualizar dichos metadatos a partir del repositorio. Si encuentra que yum no est descargando la informacin para actualizaciones tan frecuente como usted quisiera, disminuya el valor de este parmetro. Tambin puede cambiar del formato por omisin en segundos a das, horas o minutos agregando d,h o m respectivamente al valor especificado. El valor por omisin es 1.5 hours (horas), para complementar yum-updatesd ejecutndose una vez por hora. Tambin es posible usar la palabra never implicando que los metadatos nunca expirarn. Debido a la naturaleza de cierto software, en particular el kernel, se requiere que se puedan tener instalados ms de una versin a la vez por diferentes razones, los siguientes parmetros son de relevancia en esos casos. installonlypkgs Lista de paquetes que deben ser instalados siempre, nunca actualizados. Los kernel en particular caen en esta categora. Por omisin el valor es kernel, kernel-smp, kernel-bigmem, kernelenterprise, kernel-debug, kernel-unsupported. installonly_limit Cantidad de paquetes listados en installonlypkgs que se deben mantener instalados al mismo tiempo. Poner este valor a 0 deshabilita la funcionalidad. Por omisin el valor es 2. Estas son slo algunas directivas de configuracin del sistema YUM, para ms, man yum.conf. Dentro de yum.conf puede incluir la configuracin de los repositorios pero esa forma de

26

Borrador

Variables yum

configuracin est en desuso y se prefiere utilizar archivos individuales en /etc/yum.repos.d/ que sern detallados ms adelante en este manual.

4.2. Variables yumExiste una cantidad de variables yum disponibles que pueden ser usadas en los archivos de configuracin del sistema YUM. Su uso est disponible en varias opciones de configuracin como name, baseurl y en el uso de los comandos. $releasever Ser remplazado con el valor de la versin del paquete especificado por distroverpkg. Por omisin es la versin del paquete redhat-release. En Fedora es fedora-release. $arch Se sustituye con la arquitectura de su sistema y de acuerdo a os.uname() en Python. $basearch Es remplazada por la arquitectura base en yum. Por ejemplo, si su $arch is i686 , $basearch ser i386. $uuid Ser remplazada con un uuid nico y persistente para esta mquina. El valor generado ser almacenado en /var/lib/yum/uuid y reusado hasta que este archivo sea eliminado. $YUM0-$YUM9 Estas variables sern remplazadas con el valor de la variable shell del mismo nombre. Si la variable de entorno shell no existe, entonces la variable en el archivo de configuracin no ser remplazada. A partir de yum version 3.2.28 cualquier archivo en /etc/yum/vars se convierte en una variable con el nombre igual al nombre del archivo y sobrescribe cualquiera de las variables previamente descritas arriba. Asegrese que los archivos en /etc/yum/vars sean legibles ya que no habr alertas o errores de no ser as. De los archivos slo ser leda la primera lnea he ignorados los caracteres nueva lnea. Note que no hay chequeo de existencia de caracteres extraos.

4.3. Manejo del cachePor omisin las versiones actuales de yum eliminan los archivos de datos y los paquetes que han descargado justo despus de que han sido utilizados exitosamente en una operacin yum dada. Esto minimiza la cantidad de espacio de almacenamiento requerido para operar, sin embargo usted puede habilitar el sistema cache para que yum retenga los archivos que ha descargado. Las ventajas de hacer cache se pueden resumir en: 1. Mejora en el desempeo. 2. Puede realizar operaciones sin conexin de red. 3. Puede copiar paquetes del cache y reusarlos a voluntad. Por omisin yum almacena los archivos temporales en /var/cache/yum/ con un subdirectorio por repositorio configurado. El directorio packages/ dentro de cada subdirectorio mantiene los paquetes puestos en el cache. Por ejemplo, /var/cache/yum/x86_64/13/fedora/packages mantiene los paquetes descargados del repositorio fedora.

27

Captulo 4. Configuracin de YUM Para habilitar el uso del cache use la directiva keepcache en /etc/yum.conf. /etc/yum.conf

Borrador

[main] cachedir=/var/cache/yum keepcache=1 gpgcheck=1 plugins=1 ...

Para limpiar el cache debe utilizar el comando yum clean con alguna de sus opciones: yum clean expire-cache Elimina los datos locales si es necesario para cada repositorio. Esto significa que yum revalidar el cache para cada repo, si el cache es vlido nada ser eliminado. yum clean packages Elimina los paquetes del cache. yum clean headers Elimina los archivos de encabezados del cache. yum clean metadata Elimina todos los archivos que yum utiliza para determinar la disponibilidad de paquetes. Usar este comando forzar a yum a descargar la prxima vez que se ejecute todos los metadatos necesarios. yum clean dbcache Elimina el cache sqlite utilizado para acelerar el acceso a los metadatos. Usar este comando forzar la descarga de los metadatos yum la prxima vez que ste se ejecute. yum clean rpmdb Elimina el cache de los datos provenientes de rpmdb local. yum clean plugins Le indica a las extensiones habilitadas que eliminen sus datos de cache. yum clean all Ejecuta todos los comandos anteriores.

4.4. Configuracin con prioridadSiguiendo con la configuracin yum, se demostrar cmo configurar Fedora para que yum use los repositorios en cierto orden con prioridad sin descartar la lista de espejos externos. Sin ms vea la configuracin necesaria.[fedora] name=Fedora $releasever - $basearch failovermethod=priority baseurl=http://mirepo.org/$releasever/$basearch/os/ http://otrorepo.org/$releasever/$basearch/os/ mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch enabled=1 metadata_expire=7d gpgcheck=1

28

Borradorgpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

Control de ancho de banda

Primero note el uso de mltiples URL en baseurl. Debe hacerse como se ha puesto aqu, no utilice mltiples declaraciones baseurl, no funcionar adecuadamente. Luego note el uso de la declaracin failovermethod, este parmetro puede tener los valores 'roundrobin' o 'priority'. Por omisin el valor es 'roundrobin' que aleatoriamente selecciona un URL de la lista de URLs. El valor puesto a 'priority' hace que se comience por el primer URL de la lista de URLs. Aqu es importante notar que la lista de URLs se construye con los baseurl y luego de la lista obtenida de mirrorlist. As entonces se logra el objetivo deseado, buscar primero en los repositorios locales, luego si fallan, en el orden especificado, se busca en los URL de la lista de espejos.

4.5. Control de ancho de bandaEn redes gestionadas de estaciones o servidores existe la necesidad de controlar el uso del ancho de banda disponible para el uso de cada sistema YUM, tambin es til para usuarios que desean mantener al sistema YUM bajo control en particular cuando estn haciendo alguna otra cosa que requiere ancho de banda. La solucin es simple, configurar yum para que se controle en el uso del ancho de banda, abajo se muestra un ejemplo de yum.conf con los parmetros relevantes. throttle puede ser un valor absoluto o un valor porcentual, en ese ltimo caso, bandwidth especifica el 100% del ancho de banda disponible en bytes/seg. Si desea deshabilitar el control, ponga throttle=0.# Ajustes para control de ancho de banda # 70% de 512kbps ~ 358Kbps tope throttle=70% bandwidth=64000

4.6. Configuracin con proxyEn redes gestionadas donde existe un proxy HTTP que regula qu estaciones y servidores pueden tener acceso a las redes externas o internas con por ejemplo el protocolo HTTP, yum debe ser configurado adecuadamente para que pueda utilizar los recursos del proxy para poder acceder a los repositorios de software necesarios. En yum.conf puede utilizar las siguientes tres directivas: proxy URL del servidor proxy que debe usar yum. proxy_username Nombre de usuario a utilizar con el servidor proxy. proxy_password Contrasea para este servidor proxy.. Recuerde que YUM puede utilizar repositorios disponibles va HTTP y FTP por lo que no necesariamente se trata de un servidor proxy HTTP. Estractos relevantes con configuracin ejemplo en /etc/yum.conf: 29

Captulo 4. Configuracin de YUM

Borrador

proxy=http://proxy.dominio.com:puerto proxy_username=dragon proxy_password=secreto

4.7. Poltica multiarquitecturaEn el caso de que el sistema soporte paquetes multiarquitectura, por ejemplo x86_64, es posible instalar una o ambas versiones de un paquete dado. Para definir qu hacer en general se debe definir el parmetro de configuracin multilib_policy. multilib_policy all|best all significa que yum instalar todas las posibles arquitecturas de cualquier paquete que desee instalar. Entonces yum install foo instalar foo.i386 y foo.x86_64 en sistemas x86_64, si estn disponibles. best significa instalar solamente la mejor arquitectura para esta plataforma. Estractos relevantes con configuracin ejemplo en /etc/yum.conf:multilib_policy best

4.8. Gestin de los repositorios yumCuando se instala un sistema Fedora, los archivos que declaran los repositorios base se encuentran ya instalados y los repositorios base habilitados y disponibles, de hecho Anaconda durante el proceso de instalacin le puede haber dado la oportunidad de habilitar algunos otros repositorios. En esta seccin se revisarn las formas de agregar nuevos repositorios y las formas de ajustar sus configuraciones de forma particular para que se ajusten a las necesidades del administrador.

4.8.1. Agregar nuevos repositoriosSe usan dos mtodos para agregar nuevos repositorios, el ms conveniente para el administrador de sistemas, es el suministro de los archivos que configuran el repositorio por medio de un archivo instalable rpm o por medio del suministro del archivo de configuracin de texto simple .repo provisto por los propietarios del repositorio en cuestin. Ejemplo con archivo rpm que configura el repositorio deseado:$ su # rpm -vhi http://download1.rpmfusion.org/free/fedora/rpmfusion-free-releasestable.noarch.rpm

Ejemplo con archivo de texto simple .repo:

$ su # cd /etc/yum.repos.d/ # wget http://repos.fedorapeople.org/repos/mmcgrath/nagios/fedora-nagios.repo .... Saving to: fedora-nagios.repo 100%[======================================>] 220 --.-K/s in 0s

2010-07-30 18:30:14 (24.9 MB/s) - fedora-nagios.repo saved [220/220]

30

Borrador

Configuracin manual de un repositorio

Ciertamente siempre es posible lanzar su editor de texto favorito y comenzar una configuracin manual.

4.8.2. Configuracin manual de un repositorioA continuacin se revisar a nivel de ejemplo la configuracin manual de un archivo .repo en particular para ver sus detalles y poder tomar control de cada uno de ellos. /etc/yum.repos.d/fedora.repo[fedora] name=Fedora $releasever - $basearch failovermethod=priority baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/ $basearch/os/ #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch enabled=1 metadata_expire=7d gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch [fedora-debuginfo] name=Fedora $releasever - $basearch - Debug failovermethod=priority #baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/ $basearch/debug/ mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-debug-$releasever&arch= $basearch enabled=0 metadata_expire=7d gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch [fedora-source] name=Fedora $releasever - Source failovermethod=priority #baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/ source/SRPMS/ mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-source-$releasever&arch= $basearch enabled=0 metadata_expire=7d gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

Como es comn en muchos archivos de configuracin Linux, las lneas que comienzan con # son comentarios y no son interpretados por yum. Cada seccin [nombre] define un repositorio yum, luego dentro de cada definicin de repositorio puede sobrescribirse el comportamiento general de yum con directivas de alcance global para el manejo en particular de este repositorio o agregarse nuevas directivas especficas de alcance repositorio.[fedora] http:// fedora.c3sl.ufpr.br/linux/releases/13/Everything/x86_64/os/repodata/repomd.xml ftp:// fedora.c3sl.ufpr.br/fedora-enchilada/linux/releases/13/Everything/x86_64/os/repodata/ repomd.xml rsync:// fedora.c3sl.ufpr.br/fedora/linux/releases/13/Everything/x86_64/os/repodata/repomd.xml http:// mirror.ispbrasil.com.br/fedora/releases/13/Everything/x86_64/os/repodata/repomd.xml

35

Captulo 4. Configuracin de YUMhttp:// fedora.pop.com.br/linux/releases/13/Everything/x86_64/os/repodata/repomd.xml http:// mirrors.ucr.ac.cr/fedora/releases/13/Everything/x86_64/os/repodata/repomd.xml

Borrador

En este caso es visible que no se trata simplemente de una lista de baseurls. Las definiciones de ambas opciones de configuracin se explicitan abajo. mirrorlist Especifica el URL a un archivo que contiene una lista de baseurls. Puede utilizar en sustitucin o como complemento a la opcin baseurl. Se pueden usar variables con esta opcin. metalink Especifica un URL a un archivo metalink que dirige a un archivo repomd.xml, se genera una lista de espejos para el repositorio convirtiendo los espejos del archivo repomd.xml a baseurl. El archivo metalink tambin contiene la marca de tiempo de los datos en repomd.xml, la longitud y suma de verificacin de repomd.xml. Los datos son verificados versus el archivo repomd.xml descargado y toda la informacin proveniente del archivo metalink debe hacer coincidencia. metalink puede ser utilizado como sustituto o complemento de baseurl. Se pueden usar variables con esta directiva. Esta opcin deshabilita la opcin mirrorlist. Pero adems en ambas secciones de la documentacin se hace mencin a un hack especial acerca de que el URL de mirrorlist contenga la palabra "metalink" y entonces el valor de mirrorlist es copiado a metalink (si metalink no est definido). Fedora por omisin usa este hack, esta es su relacin. En general la configuracin de caja de Fedora debera siempre ofrecer la mejor familia de repositorios disponibles cercanos a la instalacin del usuario, note que arriba toda la lista proviene de Brasil y el usuario es de Venezuela, y en Venezuela no hay ningn espejo Fedora. En mirrormanager de Fedora se utiliza informacin geogrfica y de ah este listado. Sin embargo, por ejemplo, Brasil no est mejor conectado a Venezuela que Venezuela con EEUU. De ah que los venezolanos prefieren usar los espejos en EEUU por razones de velocidad. Si se usa el plugin yum-fastest-mirror, esta extensin slo usa la lista de baseurls calculados para escoger el repositorio, entonces, nunca se utilizar otros repositorios diferentes a los Brasileros, solucin, hackear y reconfigurar mirrorlist y/o metalink. Una opcin es simplemente colocar una lista de repositorios especificando varios baseurl, pero cules son. Hay forma de automatizar? Por supuesto tambin interesa que los repositorios estn sincronizados con los fuentes. https://fedorahosted.org/mirrormanager/ http://www.metalinker.org/ mirrorlist_expire Especifica el tiempo en segundos despus del cual la lista local de espejos en cache expira. Si la lista local es ms antigua a esta tiempo, yum descargar una nueva lista.

4.8.7. Configuracin para proteccin de paquetesEsta funcionalidad fue recientemente agregada a yum a partir de una extensin denominada yumplugin-protect-packages y evita que yum se desinstale l mismo as como evita que remueva 36

Borrador

Configuracin para proteccin de paquetes

otros paquetes protegidos. De caja yum es el nico paquete protegido pero por extensin esto automticamente protege todo aquello de lo que depende yum (rpm, python, glibc, etc.). As entonces esta funcionalidad es muy buena incluso sin la necesidad de construir listas cuidadosas de paquetes importantes. De forma estandar se bloquea la desinstalacin de yum y sus dependencias pero si se desea agregar y proteger otros paquetes, se deben crear archivos /etc/yum/protected.d/*.conf y agregar un nombre de paquete por lnea en cada uno de ellos. Situacin ejemplo, se desea proteger el paquete postgresql. Configure creando o editando un archivo .conf, por ejemplo rdbms.conf en el directorio adecuado.$ vi /etc/yum/protected.d/rbdms.conf postgresql :wq

Verifique probando que yum ahora no puede desinstalar por error el paquete configurado.# yum remove postgresql Complementos cargados:aliases, changelog, fastestmirror, filter-data, keys, list-data, presto, refresh-packagekit, verify Configurando el proceso de eliminacin Resolviendo dependencias --> Ejecutando prueba de transaccin ---> Paquete postgresql.i686 0:8.4.4-1.fc13 definido para ser eliminado --> Procesando dependencias: postgresql = 8.4.4-1.fc13 para el paquete: postgresqldevel-8.4.4-1.fc13.i686 --> Procesando dependencias: postgresql = 8.4.4-1.fc13 para el paquete: postgresqlserver-8.4.4-1.fc13.i686 --> Ejecutando prueba de transaccin ---> Paquete postgresql-devel.i686 0:8.4.4-1.fc13 definido para ser eliminado ---> Paquete postgresql-server.i686 0:8.4.4-1.fc13 definido para ser eliminado --> Resolucin de dependencias finalizada Error: Trying to remove "postgresql", which is protected Podra intentar utilizar el comando --skip-broken para sortear el problema Podra intentar ejecutar: rpm- Va --nofiles --nodigest

El mensaje de error es bastante claro, no se ha podido desinstalar. Para poder desinstalar es necesario remover el nombre del paquete de rdbms.conf.

37

38

Borrador

Borrador

Uso del comando yumUna vez configurado el sistema YUM, puede usar la herramienta en la lnea de comandos (CLI) yum. Se demostrar con ejemplos y exposicin de parmetros comunes tiles y necesarios en las tareas diarias del administrador de sistemas Fedora.

5.1. Comandos yum y su sintaxisSi se revisa las pginas del manual, man yum, se encontrar la siguiente definicin para el uso de yum:yum [options] [command] [package ...]

De la sintaxis entonces se sabe que existen opciones y comandos yum, seguido de una lista de nombres de paquetes. Se mezclarn a continuacin a lo largo del desarrollo de este manual diferentes comandos y opciones de yum pero es de suma importancia destacar su diferencia ya que no todas las opciones aplican a todos los comandos. La referencia es la pgina del manual de yum (man yum). Una opcin rpida es simplemente tipear el comando yum y ver la ayuda que despliega de su uso, por ejemplo, abajo la salida del comando yum y de acuerdo a las extensiones instaladas en un sistema Fedora dado, se listan los comandos y opciones:$ yum Complementos cargados:downloadonly, filter-data, list-data, presto, refresh-packagekit, showleaves Necesita ingresar algn comando Usage: yum [options] COMMAND List of Commands: check-update clean deplist downgrade erase groupinfo groupinstall grouplist groupremove help history info info-arches Verifica la existencia de actualizaciones de paquetes Elimina los datos del cach Muestra las dependencias que necesita un paquete desactualizar un paquete a una versin anterior Elimina uno o varios paquetes de su sistema Muestra detalles acerca de un grupo de paquetes Instala los paquetes en un grupo de su sistema Muestra los grupos de paquetes disponibles Elimina los paquetes de un grupo de su sistema Muestra un mensaje de ayuda del uso Mostrar, o utilizar, el historial de la transaccin Muestra detalles acerca de un paquete o de un grupo de paquetes Display aggregate data on the arch attribute of a group of packages and list all the packages under each info-archive-sizes Display aggregate data on the archivesize attribute of a group of packages and list all the packages under each info-baseurls Display aggregate data on the url attribute of a group of packages and list all the packages under each info-buildhosts Display aggregate data on the buildhost attribute of a group of packages and list all the packages under each info-committers Display aggregate data on the committer attribute of a group of packages and list all the packages under each info-groups Display aggregate group data, for matching members and list all the packages under each info-installed-sizes Display aggregate data on the installedsize attribute of a group of packages and list all the packages under each info-licenses Display aggregate data on the license attribute of a group of packages and list all the packages under each info-package-sizes Display aggregate data on the packagesize attribute of a group of packages and list all the packages under each info-packagers Display aggregate data on the packager attribute of a group of packages and list all the packages under each

39

Captulo 5. Uso del comando yuminfo-rpm-groups Display aggregate data on the group attribute of a group of packages and list all the packages under each info-vendors Display aggregate data on the vendor attribute of a group of packages and list all the packages under each install Instala uno o varios paquetes en su sistema list Muestra un paquete o grupos de paquete list-arches Display aggregate data on the arch attribute of a group of packages list-archive-sizes Display aggregate data on the archivesize attribute of a group of packages list-baseurls Display aggregate data on the url attribute of a group of packages list-buildhosts Display aggregate data on the buildhost attribute of a group of packages list-committers Display aggregate data on the committer attribute of a group of packages list-groups Display aggregate group data, for matching members list-installed-sizes Display aggregate data on the installedsize attribute of a group of packages list-licenses Display aggregate data on the license attribute of a group of packages list-package-sizes Display aggregate data on the packagesize attribute of a group of packages list-packagers Display aggregate data on the packager attribute of a group of packages list-rpm-groups Display aggregate data on the group attribute of a group of packages list-vendors Display aggregate data on the vendor attribute of a group of packages localinstall Instala un RPM local makecache Genera el cach de metadatos provides Localiza el paquete que ofrezca el valor indicado reinstall reinstalar un paquete repolist Muestra los repositorios de software configurados resolvedep Determina qu paquetes ofrecen la dependencia indicada search Busca detalles en los paquetes para la cadena indicada shell Ejecuta una shell de Yum interactiva update Actualiza uno o varios paquetes en su sistema upgrade Actualiza los paquetes tomando en cuenta los obsoletos version Muestra una versin para la mquina y/o los repositorios disponibles.

Borrador

Options: -h, --help -t, --tolerant -C

muestra este mensaje de ayuda y cierra sea tolerante con los errores se ejecuta completamente a partir del cach, pero no lo actualiza -c [config file] configurar ubicacin de archivo -R [minutes] tiempo mximo de espera del comando -d [debug level] nivel de depuracin de la salida --showduplicates muestra duplicados en los repositorios, y en los comandos para mostrar/buscar -e [error level] nivel de error de la salida -q, --quiet operacin discreta -v, --verbose operacin detallada -y responde "si" a todas las preguntas --version muestra la versin de Yum y finaliza --installroot=[path] define la raz de instalacin --enablerepo=[repo] activa uno o ms repositorios (los comodines son permitidos) --disablerepo=[repo] desactiva uno o ms repositorios (los comodines son permitidos) -x [package], --exclude=[package] excluya paquete(s) de acuerdo a su nombre o glob --disableexcludes=[repo] deshabilita la posibilidad de exclusin desde main, para un repositorio o para todos

40

Borrador--obsoletes

Los nombres de paquetes

habilita el proceso de paquetes obsoletos durante las actualizaciones --noplugins deshabilita los complementos de Yum --nogpgcheck deshabilita la verificacin de firmas GPG --disableplugin=[plugin] deshabilita complementos de acuerdo a su nombre --enableplugin=[plugin] habilita complementos de acuerdo a su nombre --skip-broken ignora paquetes con problemas de resolucin de dependencias --color=COLOR controla la utilizacin de colores --filter-vendors=FILTER_VENDORS Filter to packages with a matching vendor --filter-rpm-groups=FILTER_RPM_GROUPS Filter to packages with a matching group --filter-packagers=FILTER_PACKAGERS Filter to packages with a matching packager --filter-licenses=FILTER_LICENSES Filter to packages with a matching license --filter-committers=FILTER_COMMITTERS Filter to packages with a matching committer --filter-arches=FILTER_ARCHES Filter to packages with a matching arch --filter-buildhosts=FILTER_BUILDHOSTS Filter to packages with a matching buildhost --filter-urls=FILTER_URLS Filter to packages with a matching url --filter-package-sizes=FILTER_PACKAGE_SIZES Filter to packages with a packagesize in the given range --filter-archive-sizes=FILTER_ARCHIVE_SIZES Filter to packages with a archivesize in the given range --filter-installed-sizes=FILTER_INSTALLED_SIZES Filter to packages with a installedsize in the given range --filter-groups=FILTER_GROUPS Filter to packages within a matching yum group --disablepresto disable Presto plugin and don't download any deltarpms Opciones de complementos: --downloadonly don't update, just download --downloaddir=DLDIR specifies an alternate directory to store packages

NotaTodas las salidas de los comandos yum en este manual pueden variar ligeramente dependiendo de la versin Fedora que tenga instalada as como de las extensiones yum que tenga habilitadas para el momento de la ejecucin.

5.2. Los nombres de paquetesCuando se deba referir a un nombre de paquete para instalar, actualizar, remover, listar, obtener informacin, etc., puede especificar el nombre del paquete con alguno de los siguientes formatos: nombre nombre.arq nombre-ver 41

Captulo 5. Uso del comando yum nombre-ver-lib nombre-ver-lib.arq nombre-epoca:ver-lib.arq epoca:nombre-ver-lib.arq Por ejemplo:# yum remove kernel-2.4.1-10.i686

Borrador

Remover esa versin especfica de kernel y arquitectura.# yum list available foo*

Listar todos los paquetes disponibles que hagan coincidencia con el patrn 'foo*'. Las comillas simples evitarn la expansin shell.Architecture Compatibility i386 Suitable for any current Intel-compatible computer noarch Compatible with all computer architectures ppc Suitable for PowerPC systems, such as Apple Power Macintosh x86_64 Suitable for 64-bit Intel-compatible processors, such as Opterons

Use el nombre corto en los comandos yum. Esto provoca que yum automticamente seleccione el paquete ms reciente en