24 septiembre 2014

Teoría: Los repositorios y su tratamiento gráfico.


 Para muchos el término repositorio puede ser una novedad, pero en cuanto empiece a navegar por Internet y visitar páginas sobre Linux y sus distribuciones, el término repositorio aparecerá con relativa frecuencia, lo mismo sucederá con el término paquete, con el que nos familiarizaremos más adelante, ya que ambos son fundamentales para entender como funciona nuestro sistema operativo.

  Todos los que en su día utilizamos Windows teníamos, con carácter general, dos formas de conseguir programas, comprándolos o descargándolos de Internet. Me dejo, intencionadamente, otra opción muy utilizada que era la de copiarlos. Para Windows algunos programas de software libre también están disponibles, OpenOffice es un buen ejemplo de ello.

  En Linux trabajamos, mayoritariamente, con software libre, (lo hay privativo), las distribuciones que utilizamos: Ubuntu, Linux Mint, Debian, etcétera), disponen de Gestores de Software que nos permiten descargar e instalar esos programas en nuestro ordenador. ¿Donde están estos programas?, en sus correspondientes repositorios.

  Podemos decir que un repositorio es un lugar donde se encuentran almacenados los programas y podemos acceder a ellos a través de una dirección de Internet.

  De los repositorios vienen también nuestras actualizaciones, Canonical (empresa desarrolladora de Ubuntu), dispone de sus repositorios, de estos almacenes de software nos nutrimos los usuarios de Ubuntu y Linux Mint (entre otros).
Para acceder a estos repositorios necesitamos tener sus direcciones, ya que el acceso a ellos se hace a través de Internet. Estas direcciones se encuentran en un archivo de nuestro ordenador llamado: sources.list, ubicado en: etc/apt/sources.list.

  Los usuarios podemos ampliar o restringir estas direcciones, pero con cuidado, ya que podemos quedarnos sin actualizaciones o acceso a ellos, lo que nos impedirá la descarga de determinados programas, puesto que impedimos la entrada a sus almacenes. Pero no es nada extraño tener que recurrir a repositorios externos a los de Ubuntu (repositorios oficiales).

  Cuando realicemos la actualización de nuestros repositorios, los programas descargados e instalados de estos repositorios externos también se actualizarán.

  Por supuesto, al instalar nuestra distribución, en este caso Linux Mint, se crea este archivo con las correspondientes direcciones de los repositorios.

  Para ver nuestros repositorios podemos utilizar el comando: inxi -r. Abrimos el Terminal y ejecutamos el comando:

   $ inxi -r    
  Al pulsar la tecla Intro nos aparecerá algo parecido a esto:


  Si pasáis el cursor por encima de la uri (Identificador de recursos uniforme), por ejemplo http://extra.linuxmint.com veréis que automáticamente esta uri se subraya, haciendo clic en el botón derecho del ratón se abrirá un menú cuya primera opción es Abrir el enlace, elegimos esta opción y nuestro navegador nos llevará al repositorio.
  Se utiliza el nombre de URI y no el de URL (localizador de recuros uniforme), la diferencia entre un identificador (URI) y un localizador (URL), es que el identificador URI es más preciso y no varía con el tiempo.
  La URI es la ruta hacia la raíz del repositorio o de los repositorios. Puede ser una URL del tipo http o ftp, pero también puede ser una ruta local, un CD oDVD, etcétera.
  Otro comando que podemos utilizar para inspeccionar los ficheros que contienen las direcciones de los repositorios es el comando: cat nombre_del_archivo.
  Para poder utilizar este comando debéis situaros en el directorio donde se encuentra (para ello se utiliza el comando cd), o bien escribir la ruta completa:
   $ cat /etc/apt/sources.list    

Podemos distinguir dos tipos de repositorios:
  • Oficiales: Estos repositorios contienen los paquetes y aplicaciones que dan soporte a nuestra distribución. Como regla general, los paquetes incluidos en los repositorios oficiales han de pasar un protocolo de revisión muy exigente y riguroso para que su descarga e instalación no supongan un riesgo para nuestro sistema
  • No oficiales: Contienen paquetes y aplicaciones no soportados directamente por la distribución, están soportados por comunidades de usuarios y los protocolos de revisión no son tan rigurosos como los anteriores. No suelen estar incluidos en la lista, que por defecto, se crea cuando instalamos nuestra distribución. Pueden descargarse fácilmente. Para el caso de Ubuntu son los PPA (Personal Package Archive), aquí se encuentran, entre otros, VLC y Gimp (El primero, un completo editor de vídeo y el segundo un programa de edición gráfico)
      Veamos otra línea del listado generado por inxi -r , por ejemplo:

     deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse

      Ya hemos visto su URL: http://archive.ubuntu.com/ubuntu
      Continúa con la distribución, en este ejemplo se hace referencia a la distribución de Ubuntu, trusty (el nombre de la distribución 14.04). Este nombre tiene mucha importancia. En Ubuntu como en Linux Mint existen diversas distribuciones, por ejemplo Precise Pangolín (Ubuntu 12.04), en esta versión de Ubuntu se basaba Linux Mint Maya. Yo estoy utilizando Quiana (Linux Mint 17), basada en Ubuntu Trusty Tahr (14.04).
      Mezclar los repositorios de otras versiones puede ser un grave problema, de ahí que simpre hemos de prestar atención a la distribución.
      Después del nombre de la distribución aparecerá: main, restricted, universe o multiverse. Estos son los sombre de los componentes de la distribución, en este ejemplo la distribución trusty.
    • main. Contiene paquetes binarios (compilados) y paquetes de código fuente de software Linux que está soportado y puede redistribuirse. Este almacén dispone de los paquetes necesarios para tener un escritorio o servidor totalmente funcional. Este software está soportado por Canonical (Ubuntu)
    • restricted. Almacena paquetes binarios y de código fuente de uso habitual, pero no disponible bajo una licencia completa de uso libre. Contiene controladores privativos para dispositivos.
    • universe. Se encuentran paquetes binarios y de código fuente de software libre y código abierto desarrollado por Linux bajo diferentes tipo de licencias. No está garantizado su soporte, pero el existente lo realiza la comunidad.
    • multiverse. Contiene paquetes binarios y de código fuente, de software cuya licencia no cumple los requisitos de Ubuntu para ser considerado como libre y de código abierto, principalmente por razones de copyright y otros derechos. No está soportado por Ubuntu.
      Tenemos que la uri, la distribución y los componentes, construyen la URL completa de acceso al repositorio. La línea del ejemplo corresponde a las URL:

          http://archive.ubuntu.com/ubuntu trusty main    
          http://archive.ubuntu.com/ubuntu trusty restricted
          http://archive.ubuntu.com/ubuntu trusty universe 
          http://archive.ubuntu.com/ubuntu trusty multiverse
     
        Podemos comprobar, con nuestro navegador, lo comentado hasta ahora. Abrimos nuestro navegador, (también podéis pinchar el enlace siguiente), y escribimos:

       El siguiente paso es acceder a la distribución trusty, para ello hacemos clic en la carpeta/enlace: dists/. Una vez dentro, aparece un listado con las carpetas de las diferentes distribuciones de Ubuntu, buscamos la carpeta trusty:

        
        Hacemos clic sobre la carpeta trusty/

       Ahí tenemos las carpetas: main, multiverse, restricted y universe. Si entramos, por ejemplo en la carpeta universe, tendremos las distintas carpetas para las diversas arquitecturas (x32, x64)

       Entramos en binary-i386/ y en esta carpeta encontraremos los ficheros:

       Release, contiene la descripción del repositorio. Packages.gz, contiene el índice de los paquetes del repositorio en el formato gzip y, por último, Packages.bz2, contiene lo mismo que el anterior pero en formato bz2.

      Los paquetes están en los ficheros Packages, veamos el aspecto que tiene la selección que he realizado:


      El paquete seleccionado se llama calcoo, como nos informa la línea Package. En la línea Descriptión, nos indica que se trata de una calculadora científica (GTK+). La línea Filename, indica que el fichero (calcoo), está en pool/universe/c/calcoo_1.3.18-3.1_i386.deb, desde la uri, es decir desde:



      Este enlace os llevará a los paquetes de esta calculadora. Es de tipo universe, por tanto soportado por la comunidad

      Espero que con esta explicación os quede un poco más claro el concepto de estos magníficos almacenes digitales, los repositorios, almacenes de direcciones que permiten al sistema acceder a los paquetes.
      Se que esta explicación puede resultar teórica, pero la creo necesaria para entender el aspecto práctico que, a continuación vamos a ver.

    Los repositorios desde el entorno gráfico de Linux Mint


     Podemos administrar nuestro sistema, siempre y de manera completa, desde el terminal y con los comandos de Linux, pero también, las tareas más cotidianas de la administración las podemos realizar desde un entorno gráfico.

    Veamos el entorno gráfico existente para gestionar los repositorios.

    La aplicación o programa se denomina Orígenes del software, parece un nombre bastante adecuado, ya que precisamente se trata de establecer y fijar, de dónde, los almacenes de los que vamos a descargar el software de nuestro equipo, sean programas del sistema operativo u otra clase de aplicaciones: utilidades, programas gráficos, juegos, de oficina, de escritorio, etcétera.

    Para acceder a esta aplicación, Orígenes del Software los haremos a través del Menú de nuestro panel, siguiendo este camino:


    Menú > Administración > Orígenes del software


    Antes de entrar en la aplicación, aparecerá una ventana pidiendo nuestra clave, ya que entramos en un programa de administración y sólo el administrador puede acceder a él con su clave.

    La ventana del programa es:


      Repositorios oficiales
     
      Podemos comprobar que el botón Repositorios oficiales, ya está activado.
      En la parte derecha de la ventana tenemos tres apartados:
    • Espejos.
    • Componentes opcionales.
    • Código fuente.
      Espejos. Muchos, supongo, ya sabéis que nos estamos refiriendo a los mirrors, servidores espejo, que contienen las distintas distribuciones y sus paquetes, repartidos por todo el mundo y que permiten un acceso más ligero a estos recursos. 
      Tenemos dos en este apartado. El primero será destinado a los repositorios (almacenes) de Linux Mint Qiana, nuestra distribución. El segundo, puesto que Linux Mint Qiana está basada en Ubuntu 14.04 LTS (Trusty), indica el servidor seleccionado para acceder a sus repositorios.
      Si pulsamos cualquiera de los dos botones, entraremos en una ventana que tiene por objeto seleccionar otros servidores:

     La parte gráfica de la ventana, indica la velocidad del servidor, cuestión que evidentemente afecta a la velocidad de acceso y descarga de los paquetes.

     Cambiar de servidor (mirror), tiene sentido si observamos que el seleccionado es lento y existen otros más rápidos.

      La imagen seleccionada pertenece al los servidores de Ubuntu. Podéis entrar en los servidores de Linux Mint Qiana y veréis que el aspecto es idéntico, salvo las direcciones de los servidores, como es lógico.


      Componentes opcionales. Este apartado comienza con una advertencia ya que los paquetes que se descarguen no son estables.
      Los backports son las últimas versiones de los paquetes y aún no están soportadas por Ubuntu. No son paquetes oficiales y pueden poner en peligro la estabilidad de nuestro sistema. Suelen ser los desarrolladores y programadores quienes descargan estas versiones, precisamente para hacer pruebas, descubrir fallos (bugs) y depurarlos.
      Así que para evitar dolores de cabeza, conviene no activar esta casilla.

      Lo mismo puedo decir para la rama inestable de Linux Mint, Romeo, que por defecto aparece desmarcada.
      Al igual que en el caso anterior, los usuarios que descarguen paquetes de esta rama, tendrán acceso a los más avanzados programas pero inestables. Los nuevos paquetes se lanzan primero en Romeo, donde los desarrolladores los prueban. Después que un paquete es considerado como suficientemente estable, se traslada a los repositorios oficiales, estables de Linux Mint.
      Mi recomendación es desmarcar esta opción.

      Código fuente. Marcar esta opción supone la descarga de el código fuente de nuestros programas, opción inherente al software libre. El acceso al código fuente permite a los programadores estudiar el programa y realizar modificaciones de todo tipo.
      Evidentemente, si esta no es nuestra labor, lo mejor es dejar esta casilla desactivada, pues nos limitaríamos a llenar nuestro disco de software que no vamos a utilizar.

      La siguiente opción de Origenes del software, es el botón:

      PPA's.

      PPA es el acrónimo de Privative Package Archive, muchos usuarios también los denominan como repositorios de terceros. Una alternativa a los componentes main, restricted, universe y multiverse, para hacernos con software que no está disponible en estos repositorios.
      Este software se encuentra alojado en Launchpad, así, una persona puede realizar un programa, enviarlo a Launchpad y, nosotros, añadiendo la ppa adecuada podemos acceder a él y descargarlo.
      Pero antes de meternos en esta cuestión, es conveniente que os informéis a través de la red, foros, comunidades, etcétera, de que ppa's vais a descargar.
    Hemos dicho que un programador, cualquiera, puede alojar su software en Launchpad, así que esto también puede tener sus riesgos. Os recomiendo este artículo: con un poco de conocimiento puede montarse un PPA y decirle a los usuarios que lo añadan para obtener lo que desean. (De un artículo de Manuel Escudero, blog.xenodesystems.com/2012/01/el-peligro-detras-de-los-ppa-de-ubuntu.html).

      Cuando comencé a escribir este blog y me refería a las descarga de distribuciones, comenté lo conveniente que resulta, para evitar problemas, hacerlo desde su página oficial. El mismo criterio debe de seguirse con el tema de las PPA. Para ello aconsejo antes dar un un rodeo, es decir, darse antes una vuelta por la página de Canonical e investigar las novedades.




      Esta es su página principal y podéis enteraros de muchas cosas, sobre Ubuntu, novedades, desarrollos, aplicaciones/paquetes, etcétera. Conviene que os deís un paseo por ella. Más adelante, cuando hablemos de los paquetes, la veremos de nuevo.
      En la parte superior de la página, tenemos distintas opciones de menú, a la derecha del todo aparece la opción More, al pulsar sobre ella se desplegará este nuevo menú:


      Aquí tenéis la opción de Launchpad, haciendo clic sobre ella podemos ir a la página.
     

      Como siempre, os aconsejo que investiguéis la página.
      Para el tema que nos ocupa, vamos a fijarnos en la parte inferior derecha de esta imagen:

       Vamos a utiliza como ejemplo para añadir una PPA, a Shutter, se encuentra en la columna de la derecha. Este programa nos permite, principalmente realizar capturas de pantalla, las imágenes que veis en mis entradas, están realizadas con este programa. El programa está en los repositorios de Ubuntu, por lo que no haría falta añadir una PPA, lo podríamos descargar con el Gestor de Archivos, Synaptic o desde el Terminal, pero ya que estamos en el apartado de las PPA, vamos a utilizarlo, insisto, como ejemplo.
      Hacemos clic sobre Shutter y entraremos en su página, como veréis son páginas muy completas:


      Al final del apartado Feature-rich screenshot apllicatión, (columna de la izquierda), tenemos la opción External dowloads, vamos a entrar en esta opción.
      La parte más interesante es esta:
      El primer cuadro gris, indica la forma de instalar el repositorio (primera línea), y de instalar el programa (segunda línea).
      Pero el segundo cuadro, se refiere a la instalación inestable, de este programa. Nos avisa de que puede tener fallos (critial bugs). Este sería al programa que los desarrolladores descargarían, para probar y experimentar. Ya que el programa está desarrollo.
      Nosotros queremos la versión estable y si no s fijamos en la primera línea del primer cuadro gris, tenemos esta parte:
    ppa:shutter/ppa
      Esta es la configuración típica de un PPA: ppa:nombre/ppa.

      Puesto que ya conocemos el nombre de nuestra ppa, volvamos a nuestra ventana de Orígenes de Software, 
      En la ventana nos aparecerán las que ya tenemos instaladas. Para instalar Shutter, haremos clic en el botón Agregar nuevo PPA.
      Aparecerá una nueva ventana:

       Como podéis ver, en la caja de texto se indica la estructura que hemos de seguir, así que escribiremos: ppa:shutter/ppa, hacemos clic en aceptar y la ppa quedará añadida.


      Se nos ha instalado también la ppa de shutter (Fuentes), evidentemente la mayoría de nosotros no necesitamos los archivos fuente, así que tenemos dos opciones:
    • Deshabilitar la PPA. Para ello desmarcamos el cuadro Activado, que se encuentra a la izquierda de la PPA. De esta manera, no se instalaran ni se actualizarán las fuentes.
    • Eliminar la PPA. La marcamos con el ratón y pulsamos el botón inferior Eliminar permanentemente.
      Mi consejo es que deshabilitéis las fuentes y directamente las eliminéis.
      El botón Editar URL..., tiene como finalidad poder cambiar alguna de las partes de ella. Fijaros que debajo de la PPA aparece la dirección. Puede ser que esta cambie, o puede ser (un error muy frecuente), que tengamos la dirección de otra distribución, si os fijáis en las imágenes, la distribución es trusty, por tanto es correcta. Insisto, quienes utilicemos Linux Mint 17 Qiana, debemos de tener como distribución de Ubuntu, trusty, otras podrían causar errores. De hecho así sucede frecuentemente al actualizar versiones.

      Hasta ahora hemos creado la dirección para acceder a un almacen (repositorio), donde se encuentra la aplicación Shutther, pero no está instalada.
    Para ello hemos de ir a la parte superior derecha de la ventana y hacer clic en el botón: Actualizar caché. Esta opción realizará dos cosas, actualizará la base de datos de nuestros repositorios e instalará el paquete/programa.
      Pasamos a la siguiente opción de Orígenes del software.

      Claves de autenticación
          
      Al añadir un PPA también se añade una clave. Estas claves de autenticación de los repositorios permiten al sistema reconocer y confiar en los paquetes almacenados en él. Sin clave o con clave equivocada no se producirá la descarga e instalación del paquete. Evidentemente el sistema nos avisará del error. 
      

      En la ventana aparecen los PPA y sus claves, fijaros que la tercera clave es la perteneciente a Shutter. Si elimináis la PPA, como vimos en el apartado anterior, la clave continuará. Podéis eliminarla permanentemente con el botón inferior derecho Eliminar permanentemente. Evidentemente si añades Shutter de nuevo, la clave se instalará automáticamente.

      La mayoría de las veces tenemos que abordar la cuestión de las claves por causa de un error. He copiado uno de estos errores del foro español de Linux Mint:


      El sistema notifica que no existe la llave pública. Para solucionarlo tomemos en consideración las letras y dígitos que aparecen despues de NO_PUBKEY, concretamente vamos a tener en consideración los 8 últimos caracteres, que son:
    65FFB764

      Seleccionamos el botón inferior de la ventana Descargar una clave.., y nos solicitará en una nueva ventana que introduzcamos los 8 últimos dígitos.


     Escribimos los 8 últimos dígitos que hemos tomado y hacemos clic en el botón aceptar. El error ya está corregido.

      La otra alternativa que nos propone es la de Importar una archivo de claves. Su uso desde esta interfaz gráfica me parece bastante complejo. Hemos de acceder a la página de la PPA, buscar dicho archivo, copiarlo en una de nuestra carpetas y volver a esta ventana para realizar la importación. A menudo, la búsqueda del archivo ya supone una auténtica lata. Esta cuestión la podemos solventar más fácilmente con el uso del Terminal. Por ello dejo esta cuestión para ese momento.

      Llegamos a la opción final de Orígenes del software:

    Mantenaince. (Mantenimiento). La ventana nos ofrece este aspecto:


      La utilización de estas dos opciones: Arreglar problemas de MergeList y Purgar la configuración residual, por lo general va condicionada a que el botón superior derecho (No se requiere ninguna acción), esté activado. En mi caso esta desactivado.

      Sucede que pueden aparecer en nuestro sistema avisos como este, aparecen normalmente en el Terminal.


     La segunda línea nos señala un problema con MergeList /var/lib/apt/lists/security.ubuntu.com_ubuntu_dist_precise-security_multiverse_binary-i386_Packages. Este error no se ha producido en mi sistema sino que lo he copiado de un foro.
     El error se produce en este archivo: security.ubuntu.com_ubuntu_dist_precise-security_multiverse_binary-i386_Packages
     Probablemente está corrompido y de ahí que provoque este error. La corrupción pudo haberse producido, valga como ejemplo, al actualizarse el sistema por un fallo en la conexión a Internet.
      Este archivo, está situado en:
    /var/lib/apt/lists

      Desde nuestro escritorio vamos a pulsar el botón derecho de  nuestro ratón, se desplegará el siguiente menú:

     Como véis vamos a seleccionar la opción Abrir con permisos administrativos.

      Vamos a abrir, como administrador, nuestro gestor de archivos, en Linux Mint se denomina Nemo, en Ubuntu, Nautilus.

      Como siempre, cuando vamos a realizar tareas de administración, nos pedirá nuestra clave de administrador, la introducimos y en un instante aparecerá nuestro gestor de archivos, con un formato ligeramente distinto al que estamos acostumbrados.



      Este será el aspecto de Nemo cuando actuemos como administradores (superusuarios):

    Una franja roja nos avisa de que estamos actuando como privilegios elevados.
    Esta opción hay que utilizarla con cuidado, pues ahora, en lo referente a gestión de archivo, podemos hacer absolutamente de todo, incluso "cargarnos" uno de esos ficheros inexcusables y por tanto comprometer seriamente nuestro sistema. Conviene actuar con cuidado.

      En la columna de la izquierda tenemos en Mi equipo, la opción Sistema de Archivos, vamos a acceder a ella.
      La carpetas cambian, pues evidentemente estamos en el directorio raíz de nuestro disco. Buscamos la carpeta var y entramos en ella. En la nueva ubicación buscamos la carpeta lib y repetimos la operación, buscamos apt y accedemos, buscamos lists y accedemos. Aquí veréis una lista de ficheros, tendríamos que borrar: security.ubuntu.com_ubuntu_dist_precise-security_multiverse_binary-i386_Packages, y el problema quedaría solucionado. Para evitar todo este trasiego, la opción que nos da el botón Arreglar problemas de MergeList, nos soluciona este tipo de problemas. Finalmente el botón superior derecho nos pedirá actualizar la cache, lo haremos y la cuestión queda resuelta. La solución desde el Terminal, también es más corta.

     El otro botón Purgar la configuración residual lo utilizamos para desinstalar definitivamente un paquete. No es extraño, ya que resulta sencillo, que instalemos y desinstalemos múltiples paquetes/programas. Pero muchas veces estas desinstalaciones dejan carpetas y archivos residuales, no sirven para nada pero acaban ocupando espacio.
      Para eliminar estos archivos de configuración, pulsamos este botón y el sistema comenzará a realizar la limpieza. Al cabo de un tiempo, en una ventana emergente nos aparecerá el aviso de que No hay más configuración residual en el sistema.

      Con esto he terminado mi explicación sobre los repositorios y el uso de la interfaz gráfica de Linux Mint, Orígenes del software. La siguiente entrada se referirá al mismo tema pero desde el uso de la Terminal. Pero creo que los conceptos básicos, en referencia a los repositorios, están en su mayoría explicados.

      Probablemente se me quede alguna cosa en el tintero, por favor, enviarme un comentario e intentaré resolverlo. Colaborar es un compromiso que todos tenemos con todos, es una de las filosofías más importantes del entorno de Linux y el software libre.

      Nos merecemos ser cada día mejores.
      Gracias a todos.


     

     
                                    






    No hay comentarios:

    Publicar un comentario