03 octubre 2014

Teoría: Los Repositorios, desde Terminal

Los repositorios, ubicación y contenido

  Decíamos en la entrada anterior que los repositorios son los almacenes donde se encuentran los distintos paquetes de software de los que se nutre nuestro sistema operativo: programas, aplicaciones, librerías, software del sistema, etcétera.

   En definitiva, nuestro software se descarga de estos repositorios. El sistema, una vez instalado crea unos archivos de texto que contienen las direcciones de los repositorios. Pero nosotros podemos añadir otros repositorios, normalmente porque queremos un software que no encontramos en los repositorios que tenemos instalados. También podemos modificar estos archivos, una de las razones es que no nos interese que nuestro sistema descargue determinados archivos, por ejemplo los archivos que contienen el código fuente de nuestro programa o paquete.
   ¿En qué lugar de nuestro disco se encuentran estos archivos?
   Para dar respuesta a ello vemos a utilizar el comando inxi -r, que nos informará de los repositorios se encuentran activos para nuestro sistema. Nos mostrará también su ubicación (directorios/subdirectorios) y su contenido, es decir las líneas que contienen las direcciones de los repositorios.
   Ejecutamos inxi -r en nuestro terminal:
   $ inxi -r   
   Este sería el resultado, (evidentemente es el resultado que ofrece mi sistema, en vuestro caso puede ser otro, algo que es normal y no tiene por qué tratarse de ningún error, ya que podéis tener añadidos otros repositorios distintos, pero para entender los conceptos, no tienen ninguna importancia.)


    En color cyan encontramos tres líneas que dicen: Active apt sources in file, que podríamos traducir como Fuentes activas para apt en el fichero.
   Aquí la palabra fuente no se refiere, como dije anteriormente, a los archivos fuentes, que contienen el código fuente de un programa y que deben compilarse para se ejecutados. Aquí se refiere a aquellos archivos de los que APT va a tomar su contenido para acceder a los repositorios, por tanto debemos entender el término fuente como un sinónimo de órigen.
   La primera de estas líneas azules no lleva a:
  /etc/apt/sources.list.d/atareao-atareao-trusty.list
   El archivo que contiene el repositorio (la dirección del repositorio) es
atareao-atareao-trusty.list
   Además podemos ver el contenido de este archivo:
  deb http://ppa.launchpad.net/atareao/atareao/ubuntu trusty main
   La información es bastante completa, nos informa de:
  • Repositorios activos (APT los tomará en cuenta), pues no tienen el símbolo # al comienzo de la la línea.
  • Su ubicación (directorio/subdirectorio)
  • Su nombre (acaban siempre en .list)
  • Su contenido (dirección de los repositorios)
    Pero también pueden existir archivos de repositorios que no estén activos, vimos que la interfaz gráfica Orígenes del software nos permitía activar/desactivar PPA's.
   Para ver esta cuestión vamos a ir a /etc/apt y utilizaremos el comando ls (lista el contenido del directorio en el que nos encontramos), para ver que tenemos allí.
   $ cd /etc/apt  
   Una vez en el directorio apt, ejecutamos el comando ls.
   $ ls   
   Esto es lo que muestra mi terminal:
    Vamos a ver el contenido del archivo sources.list, para ello utilizaremos el comando cat.
   $ cat sources.list   
   Contiene sólo esta línea:
#deb cdrom:[Linux Mint 17 _Qiana_ - Release amd64 20140624]/ trusty contrib main non-free
   En esta línea podemos ver dos cuestiones importantes:
  • La línea empieza con # (becuadro). Toda línea que empiece con un becuadro será tomada como un comentario por apt, en definitiva, apt no realizará ninguna acción. Poner un becuadro delante de una línea (editando el archivo), es un modo de inhabilitarl.
  • La uri se dirige hacia el cdrom, ya hemos visto que puede dirigirse también a http, ftp, etcétera. Este archivo ha sido generado en la instalación del sistema, realizada desde el LiveCd, pero en la siguientes actualizaciones, el cd ya no estará en el equipo, lo que daría un error de este estilo:
 
   El usuario ha utilizado apt-get update para actualizar el su sistema, tenía la línea deb cdrom activada lo que provoca este error, puesto que al ejecutar el comando apt-get update el sistema iría a la unidad de DVD a buscar este repositorio.. Para evitarlo tendría que editar el archivo sources.list y colocar un # al comienzo de la línea.
   Al agregar más repositorios dispondréis también de mas archivos de tipo list, por eso es muy difícil que el contenido de los directorios que hemos visto y los archivos sean coincidentes de un ordenador a otro. Pero lo explicado es válido tengáis los repositorios que tengáis.

APT
   APT es el acrónimo de Advancing Packing Tool, una herramienta avanzada para la gestión de los paquetes. Muchos nos referimos a ella como un comando, y por comodidad seguiré haciéndolo, pero en realidad APT es un programa.

apt-get update
   Ya hemos visto donde están las direcciones de nuestros repositorios, en ellos se encuentran los paquetes. Nosotros tenemos muchos instalados en nuestro ordenador,(no todos), y probablemente desde que instalamos nuestro sistema algunos se han actualizado y están disponibles en los repositorios.
  Lo lógico sería comparar los paquetes que tenemos instalados con los que hay en los repositorios y que nuestro índice de paquetes se actualice con las novedades, si las hay. Todo ello lo guardamos en una base de datos (en nuestro disco duro) y cuando queramos actualizar nuestro sistema y programas apt tomará la información actualizada de esa base de datos e instalará las actualizaciones.
  En resumen y de una manera sencilla, la función del comando apt-get update, es actualizar los índices de nuestras base de datos local de paquetes para que siempre estén al día.
  Esa base de datos local se encuentra en nuestro disco duro, su ubicación es /var/lib/apt/lists/. Vamos a ir a esta ubicación:
   $ cd /var/lib/apt/lists   
  Ahora vamos a ver su contenido con el comando ls, ejecutamos el comando ls dentro del directorio lists:
   Aquí tenéis ( de manera parcial, por razones de tamaño), el listado de los índices. Cada vez que ejecutemos el comando apt-get update este listado se actualizará.
   Por ello, antes de actualizar los paquetes (upgrade) o después de instalar una PPA que incluye un nuevo repositorio, debemos realizar está acción, para actualizar este fichero de índices y se realicen las descargas y actualizaciones oportunas.
  Al ser un comando administrativo lo ejecutaremos en el terminal de esta forma:
   $ sudo apt-get update  
   Al pulsar Intro, nos pedirá la contraseña que tenemos de usuario, al introducir la contraseña no se escribe ni aparece nada en el terminal. No os preocupéis, introducirla y después pulsar Intro, si la contraseña está bien escrita el comando se ejecutará. El resultado será este (recordad que doy el resultado de mi sistema):

 (Parte final del listado que suministra apt-get update)


apt-get upgrade (dist-upgrade)

   Con la opción upgrade actualizaremos nuestro sistema. No instala nuevos paquetes, tan sólo los actualiza. Si queremos una actualización más a fondo, utilizaremos la opción dist-upgrade.
   Para entender como funcionan estos comandos vamos a ver con más detalle el concepto de paquete.
  Aunque el paquete parezca un solo fichero, contiene una colección de software: el software de la aplicación propiamente dicha, información importante sobre el paquete y sus dependencias. Este último extremo es muy importante para que el software funcione correctamente. Al decir dependencias, queremos decir que el software que vamos a instalar, requiere (depende), para su funcionamiento, de que otro software esté previamente instalado. Esta cuestión la veremos con más detalla en las entradas relativa a la instalación/desinstalación de paquetes.
  El comando apt-upgrade, no nos instala nada nuevo, ningún programa nuevo aparecerá en nuestro sistema, tan sólo actualiza (si es que existen actualizaciones), los paquetes que tenemos instalados.

  Vamos a explicarlos de forma gráfica. Imaginemos que tenemos instalado un paquete llamado MINT.1 y sus dos dependencias: DEPMIN.1 y DEPMIN.2, podríamos representarlos así:
   Este es el paquete con sus dependencias, tal y como se encuentra en nuestro ordenador. Imaginémos que existe una actualización (en sus repositorios), se actualiza MINT.1 a MINT.1.1 y DEPMIN.2 se actualiza a DEPMIN.2.1. DEPMIN.1 sigue como siempre. La actualización disponible, representándola de forma gráfica sería:
   Vamos a ejecutar apt-get upgrade. Evidentemente el sistema actualizará este paquete, sustituye MINT.1 por MINT1.1, DEPMIN.1 no lo toca, ya que no existe ninguna actualización de esta dependencia y, DEPMIN.2 será actualizado con DEPMIN.2.1:

   Pongamos ahora otro supuesto.
   Seguimos con el mismo paquete instalado, MINT.1 y sus dos dependencias: DEPMIN.1 y DEPMIN.3.
    La actualización renueva MINT.1 con MINT.1.1, no modifica DEPMIN.1, actualiza DEPMIN.2 a DEPMIN.2.1 y añade una nueva dependencia DEPMIN.3. Este sería el paquete:
   Vamos a ejecutar apt-get upgrade y veremos gráficamente que sucede:



    Actualiza el paquete, y actualiza las dependencias existentes pero no añade ninguna dependencia. Al ejecutar la opción upgrade DEPMIN.3 no se descarga ni instala. Así que a nuestro nuevo paquete, recién actualizado le falta una dependencia.
   Para que esta nueva dependencia (DEPMIN.3), se instale al realizar la actualización de nuestro sistema, el comando recomendado es apt-get dist-upgrade. Con este comando la dependencia DEPMIN.3 quedará instalada.
   Recordad que apt-get upgrade y apt-get dist-upgrade son comandos administrativos, tendréis que utilizarlos como administradores, así que su sintaxis será:
   $ sudo apt-get upgrade  

   $ sudo apt-get dist-upgrade  
   En ambos casos, antes de ejecutarse os pedirá vuestra contraseña.

Añadir repositorios.

   Lo primero de todo saber que vamos a añadir. En la entrada anterior, Teoría: Los repositorios y su tratamiento gráfico, ya hablamos de Canonical y Launchpad. Vamos a ampliar un poco más la información sobre lo repositorios, más concretamente sobre las PPA.
   Para ello vamos a entrar en la página web de Canonical


   Una vez en la página nos dirigimos a la opción More que se encuentra la barra superior de la página, la última de la derecha. Al hacer clic se nos desplegará un menú, la primera opción que nos presenta es la de: Apps, vamos a hacer clic sobre ella y esta es la página que se nos muestra:

   
   La columna de la izquierda titula su cabecera como App departments, podríamos traducirlo como: Secciones de App. Efectivamente, debajo encontramos la lista de las distintas secciones en que Ubuntu ha "departamentalizado" sus App. Tenemos la sección de accesorios, educación, fuentes (tipos de letra), juegos, etcétera. Mi consejo, daros una vuelta, no hay nada como la propia experiencia. Pero antes permitidme mostraros una realidad, se que a muchos no os va a gustar, pero no quiero que os desmoralice en absoluto, las cosas son así.
   Vamos a hacer clic en la sección/departamento de Graphics (Gráficos), encontraréis, a la derecha, una aplicación llamada ARCAD 3D C1 (3 CAD ARCHITECTURE). Si hacemos clic sobre el título, la nueva ventana tendrá este aspecto:


   Debajo de su título aparece su título aparece su precio: 32 dólares (USA). Por tanto no se trata de software gratuito. Si os desplazáis más abajo veréis el comentario, de una manera fina viene a decir: Esto apesta, no puedo obtener ninguna ayuda para aprender sobre este software, y acabo de pagar el dinero, por favor actualice.
   Espero que nunca os suceda algo parecido. Si estáis dispuestos a pagar por una aplicación, lo lógico es que tengáis más información sobre el desarrollador, el programa etcétera. Las prisas no son buenas, menos cuando hay dinero por el medio. Con esto no quiero desmerecer ni una "gota" a GNU/Linux ni a nadie, tan sólo quiero advertir que el software de terceros debe de mirarse con precaución, asegurarnos de que hace lo que dice que hace.
   Si hubiera investigado un poco más habría localizado diversas alternativas. De pago: Briscscad (500$), Medusa4 para diseño mecánico. Alternativas libres: LibreCAD, CADEMIA (el más simple de todos) y seguramente alguno más.
   Con ello no quiero desilusionaros ni quitar un ápice de mérito a GNU/Linux, tan sólo advertiros de que existen aplicaciones de pago, algunas excelentes y que, para quien las necesite, son una excelente opción. Pero informaros todo lo posible sobre la aplicación, su soporte, garantía, manuales, etcétera. Si estamos ante una aplicación de pago, deberá responder por su precio.

   Vamos a seguir con lo nuestro. Como ejemplo voy a instalar un software llamado POP-CORN TIME. Es un aplicación que nos permitirá ver películas, permitiendo la selección de subtítulos en español. Podemos realizar la instalación, probarlo y si no nos convence, desinstalarlo y a otra cosa. Para ejecutar POP-CORN necesitamos una conexión a Internet. Para la visualización de la película podemos elegir VLC, si lo tenemos previamente instalado, supongo que sí, pues Quiana lo incluye en su instalación.

   Lo primero que tenemos que hacer es instalar el repositorio donde se encuentra este software y para ello conocer su nombre:

ppa:webupd8team/popcorntime

   El comando que nos instalará este repositorio es:

sudo add-apt-repository

   La instrucción completa para la instalación será:

sudo add-apt-repository ppa:webup8team/popcorntime

   Nos vamos al panel (parte inferior de nuestro escritorio), hacemos clic en el el icono del Terminal y nos aparecerá en esta ventana:


   El rectángulo de color blanco es el cursor del terminal, así que empezamos a escribir el comando completo y nos quedará:


   Pulsamos la tecla Intro y nos pedirá nuestra clave de usuario administrador. escribirla, no aparece nada en la línea pero no os preocupéis, la esta recogiendo, una vez terminéis de escribir vuestra clave pulsáis la tecla Intro.
   El cursos parpadeará unos segundos y aparecerá este mensaje:
   El sistema nos informa de que estamos a punto de añadir esta PPA, nos da la opción de cancelar la acción pulsando las teclas Ctrl + c o de continuar con la instalación pulsando Intro. Pulsamos Intro y aparecerá un último mensaje del sistema:


  La línea o prompt, donde aparece mi nombre de usuario y el nombre del equipo aparecen de nuevo, dispuestas a recibir más comandos.
  
  El siguiente paso, siempre que añadimos un repositorio, es actualizar nuestra base de datos de repositorios. Para ello utilizaremos el comando: apt-get update.
El sistema leerá las direcciones de nuestros repositorios, comprobando si hay alguna novedad en su contenido.
   Ejecutamos el comando:
   $ sudo apt-get update  

  De nuevo nos pedirá nuestra clave, la introducimos y pulsamos Intro, comenzando el sistema con la actualización de los repositorios. Una vez actualizada esta base de datos, nuestro sistema puede instalar el programa (que se encuentra en el repositorio que acabamos de instalar).
   Aunque más adelante veremos el apartado de instalar/desinstalar paquetes, vamos ahora a proceder a la instalación de popcorn-time. Para ello utilizaremos el comando sudo apt-get install.
   Escribiremos en nuestro terminal:
   $ sudo apt-get install popcorn-time   
  El sistema procederá a su instalación y nos mostrará (no sucede en todas las instalaciones), la siguiente ventana:

   Pulsamos la tecla Intro para aceptar y a continuación nos aparecerá otra ventana con el mismo estilo:


   Nos pregunta si aceptamos las condiciones del servicio, con las teclas del cursor nos movemos a la opción Si y pulsamos Intro. El sistema continuará con la instalación hasta finalizar. Vuelve a aparecer la línea con el prompt (nuestro nombre@nombre_del_equipo ~$). La instalación ha terminado.
   Para salir de Terminal, utilizaremos en comando: exit. Así que ejecutamos simplemente este comando:
   $ exit   
   La ventana de Terminal se cerrará y damos terminado nuestro trabajo que, en resumen ha sido:
  • Instalar un repositorio
  • Actualizar nuestra base de repositorios
  • Instalar el programa perteneciente al repositorio instalado
   Ahora toca disfrutar un poco de nuestro trabajo.
   Si accedéis al Menú, en la sección Internet tendréis el icono y el nombre de Popcorn Time, ya sabéis, hacemos clic sobre el nombre y disfrutamos del programa. Advierto que la mayoría de sus películas se encuentran en inglés, si bien podemos, en la mayoría, elegir los subtítulos.

   Haciendo un resumen, en ocasiones queremos instalar algún programas o aplicación que no se encuentra en nuestros repositorios. El primer paso es el de añadir el repositorio/s a nuestro sistema.
    El comando para añadir repositorios desde el Terminal es:
 sudo add-apt-repository nombre_del_repositorio
   El siguiente paso es actualizar nuestra base de datos de repositorios, el comando utilizado es:
sudo apt-get update
   Por último instalar el paquete o programa utilizando el comando:
sudo apt-get install nombre_del_programa

   Con estas tres operaciones quedarán instalados en nuestro sistema el repositorio y el programa.

Inhabilitar/Desinstalar repositorios.
   Antes de nada aconsejo irnos a la parte gráfica, es decir a Orígenes de software, allí en la opción PPA's, veremos que los repositorios de popcorn-time están instalados. Desde esta opción gráfica podemos hacer dos cosas:
  • Inhabilitarlos. Tan solo tenemos que ir a los cuadros de la izquierda marcados y desmarcarlos.
  • Eliminarlos. Ir a la opción de Eliminarlos permanentemente.
   Sea de manera gráfica o desde el Terminal, al inhabilitar o eliminar un repositorio no eliminamos el programa/aplicación. El programa seguirá en nuestro ordenador y funcionando como una rosa (si ya funcionaba así antes). Eso sí, si el programa después de un tiempo se ha actualizado, no dispondremos de dichas actualizaciones, ¿donde encontrarlas si hemos inhabilitado/borrado su almacén?.
    También puede suceder que queramos desinstalar el programa, pero no sus repositorios y, por último, desinstalar completamente el programa y sus repositorios.
Inhabilitar el repositorio
   Habíamos comentado que las direcciones de los repositorios se encuentran en el archivo sources.list. Así que si hemos instalado el repositorio webup8team/popcorntime, en algún sitio de nuestro disco duro tiene que estar su "list" conteniendo las direcciones de los "almacenes".
Ya habíamos visto en entradas anteriores dondes se encuentran los archivos list que contienen los repositorios :
/etc/apt/sources.list.d
  Abrimos nuestro términal y nos vamos a esa dirección utilizando el comando cd, que nos permite viajar por directorios de nuestro disco.
  Como véis, la linea del prompt me indica que que me encuentro en el "camino" (path), marcado al ejecutar la instrucción cd /etc/apt/source.list.d.
   Ahora voy a utilizar el comando ls, que me permitirá ver lo que hay en el útlimo directorio del camino, pues es en el directorio en que me encuentro.
 
  Como veis, en el directorio sources.list.d se encuentra:
  • getdeb.list
  • official-package-repositories.list
  • webupd8team-popcorntime-trusty.list
  Este último es el que hemos instalado, para ver su contenido vamos a utilizar el comando cat. Este comando permite ver el contenido, el "interior" de un fichero, siempre que el fichero contenga "texto". Si aplicamos este comando a un fichero binario veríamos una serie de caracteres sin ningún significado para nosotros. Pero en este caso y en todo los ficheros .list, el contenido es de texto y podemos verlos, editarlos y modificarlos.
   Ahora ejecutaremos el comando cat sobre el archivos que nos interesa:
   $ cat webupd8team-popcorntime-trusty.list   
   El resultado es el siguiente:
   
   Tenemos las direcciones de nuestro repositorio, la primera línea comienza con deb y la segunda con deb-src (se refiere a las fuentes popcorn-time).
   Para inhabilitar estas dos líneas tenemos que poner al comienzo de cada una el símbolo #. Para ello tenemos que editar el archivo webupd8team-popcorntime-trusty.list, como si fuera una nota o una carta. Usaremos un editor de los llamados de "texto plano", no debemos utilizar editores como Write de LibreOffice, ya que al guardar un archivo, guardan otros datos que no interesan y hace que el sistema no los reconozca.
   Un editor, tenemos varios, que recomiendo es Gedit, se instala por defecto en Linux Mint y Ubuntu, aparece en nuestro Menú (entorno gráfico), en la sección de Accesorios con el nombre de editor de textos.
   Pero podemos utilizar este editor desde el terminal, escribimos su nombre y el archivo que queremos editar: 
   $ sudo gedit webupd8team-popcorntime-trusty.list  
    Entramos como administradores (sudo), para que Gedit nos permita realizar cambios en el fichero.

   Nos encontraremos con una ventana similar a esta:
  Ya tenemos nuestro archivo editado en el programa Gedit ahora tan sólo tenemos que añadir el símbolo # en el principio de cada línea.
   Realizada la modificación, hacemos clic en el icono Guardar y salimos del Gedit.
   Como se explicó en entradas anteriores al colocar el becuadro (#), al comienzo de una línea, el sistema lo tomará como un comentario sin ejecutar acción alguna. 
   Para activar este repositorio, tan sólo tenemos que volver a editarlo, quitar los becuadros y volver a guardarlo.

Desinstalar un repositorio.

   Vamos a ver en primer lugar como desinstalar el instalado. Este repositorio no se encuentra entre los repositorios oficiales de Ubuntu, así que no podemos utilizar los comando ppa-purge o add-apt-repository --remove, no obstante los veremos más adelante en esta misma entrada ya que el termino desinstalar no es el más correcto para explicar lo que realizan estos dos comando.

  Para desinstalar nuestro repositorio webupd8team/popcorntime, utilizaremos el comando rm (remove), utilizado para eliminar cualquier tipo de archivo. Por tanto no vamos a eliminar el repositorio como tal, sino como un archivo, recordemos que es un archivo tipo .list.
   Para ello nos vamos al directorio donde se encuentra este archivo:
   $ cd /etc/apt/sources.list.d   
   Una vez en el directorio sources.list.d., ejecutamos el comando ls para listar todos los archivos .list que tenemos en él y aquí tenemos nuestro archivo:
webupd8team-popcorntime-trusty.list
   Es importante escribir correctamente el nombre del archivo que deseamos eliminar. Conocido el nombre, de primera mano, ejecutamos el comando rm con la siguiente instrucción:
   $ sudo rm webupd8team-popcorntime-trusty.list  
   Al pulsar la tecla Intro, aparecerá de nuevo el prompt. Ningún aviso ni mensaje pero, si ejecutamos de nuevo el comando ls (listar), nuestro archivo ha desaparecido.
   Nos queda actualizar nuestra base de datos de repositorios, así que podemos ejecutar la instrucción:
   $ sudo apt-get update  
   La base de datos de repositorios quedará actualizada, pero sin este repositorio. No obstante recordemos que hemos eliminado el repositorio (el almacén), pero el programa que hemos instalado quedará en nuestro ordenador y seguirá funcionando, eso sí, no se actualizará hasta que volvamos a añadir su repositorio.

ppa-purge

   Se trata de un sript, lo llamaremos comando, que hemos de instalar previamente en nuestro sistema, para ello tendremos que utilizar el ya famoso comando: apt-get install nombre_del_paquete.
   Este comando realmente no quita el repositorio, sino que va más allá intentando poner las cosas como estaban antes.
  Los PPA (Personal Package Archive = Archivo personal de paquetes), nos permite instalar nuevos paquetes y también paquetes más actuales de los que tenemos instalados. Pero recordemos que estos paquetes más actuales suelen estar todavía en periodo de prueba, estarán en otros repositorios distintos a los oficiales. Suele pasar un periodo de tiempo hasta que se incorporen a los repositorios oficiales, ya que en estos repositorios prima la seguridad y la estabilidad frente a la novedad. 
  Imaginemos que hemos añadido un repositorio para poder comprobar la novedad de un paquete. Actualizamos los índices con apt-get update e instalamos el nuevo paquete.
   Lo probamos y resulta que la novedad nos empieza a complicar la existencia, da problemas y resulta que preferiríamos volver a la versión anterior, la oficial, la estable. Es aquí donde ppa-purge adquiere su valor.
   Este comando "intentará" instalar las versiones existentes en la versiones oficiales de los paquetes que hayamos actualizado a través del PPA. Por ello, al hablar de este comando se utiliza el término revertir, en el el sentido de volver a la versió que está considerada como oficial, estable.
   Decimos "intentará" sustituir, pero si no encuentra con qué, no lo podrá realizar y seguiremos teniendo el mismo paquete.
    Vamos a ver como funciona este comando y sus particularidades.
   Desde los repositorios he instalado en mi ordenador el programa Shutter, un programa que permite la captura de imágenes de mi escritorio, menús, ventanas, secciones, etcétera. Conocido el PPA de shutter: ppa:shutter/ppa, realicé los pasos que ya conocemos:
  • Instalar el PPA:
    • $ sudo add-apt-repository ppa:shutter/ppa
  • Actualizar los repositorios (índices)
    • $ sudo apt-get update
  • Instalar el programa shutter:
    • $ sudo apt-get install shutter
   Con estos pasos ya tengo instalado el programa shutter en mi ordenador.
   
   Decido, utilizar el commando ppa-purge, pero para ello tengo que instalarlo previamente. Eso es sencillo, tan sólo tenemos que utilizar el comando apt-get install:
    $ sudo apt-get install ppa-purge   
  Una vez instalado, podemos utilizarlo, la instrucción sería: 
   $ sudo ppa-purge ppa:shutter/ppa   
   Recordemos que el comando es de administración y nos pedirá nuestra clave. El resultado en nuestro Terminal será:


    El sistema nos da el siguiente mensaje: No se encontró la Dsitribución "quiana" para "shutter". Pero sin embargo nos da el mensaje: Disabling shutter PPA from /etc/apt/sources.list.d/shutter-ppa-trusty.list.
   Este "Disabling" significa que las direcciones del repositorio han sido desactivadas, es decir, a las líneas del archivo shutter-ppa-trusty.list, el sistema les ha colocado al principio el símbolo #, evitando así la actualización del paquete. Sin embargo el sistema no encuentra la Distribución "quiana", lo cual es comprensible ya que este paquete pertenece a la distribución "trusty" de Ubuntu.
   Voy a utilizar el comando ppa-purge, forzando su ejecución sobre su verdadera distribución. Para ello escribiré en el terminal:
   $ sudo ppa-purge -d trusty ppa:shutter/ppa   
   Este es el resultado que obtendremos:

  • El sistema reconoce que el paquete a revertir es shutter/trusty. Evidentemente los usuarios de Ubuntu no tendrán que estar al tanto de esta cuestión, pero sí los hemos de estar los de Linux Mint cuando añadimos repositorios de Launchpad.
  • Desactiva el repositorio, al igual que lo hizo anteriormente. Si entramos en el programa Orígenes del software, veremos que las dos direcciones (deb y deb-src), tienen sus casillas desactivadas.
  • Selecciona una versión de shutter estable, los paquetes extras y los sugeridos y nos informa de la instalación y desinstalación que va a realizar el sistema.
  • Por último, nos pregunta si queremos continuar con la ejecución.
   Si respondemos que sí el sistema comenzará a ejecutar la instalación/desinstalación que previamente había informado. Al final, tendremos un shutter estable instalado.
   Espero que esta explicación y los ejemplo resulten comprensibles.
   Lo más importante es saber que ppa-purge no "desinstala", sino que "revierte". Es un comando apropiado para que aquellos PPA que hemos instalado por su novedad y nos dan problemas, sean sustituidos por las versiones más estables, las oficiales. PPA lo intentará si esas versiones existen.
   Por otra parte recordad que mucha PPA no pertenecen a nuestra distribución quiana de Linux Mint, sino a la distribución trusty de Ubuntu, por ello tenemos que utilizar este comando "forzando" su ejecución sobre dicha distribución (o la que en su caso tengamos instalada).

   En el caso de que deseemos desinstalar todo, repositorio y paquete, la mejor opción es, en primer lugar borrar el archivo ".list" correspondiente, con el comando rm, actualizar con apt-get update y, a continuación, desinstalar el programa, en otra entrada veremos los comandos de desinstalación. Por el momento podemos desinstalar el software con el Gestor de software de Linux Mint o con el programa Synaptic.

   Gracias por vuestra atención.

2 comentarios:

  1. Simplemente, enhorabuena por este blog, su contenido y sobre todo el modo de explicarlo, hacia muchisimo tiempo que no veia una explicación/tutorial de este modo y de esta calidad. Creo que es el modo en que realmente, se aprende.
    Un saludo!!

    ResponderEliminar
    Respuestas
    1. Gracias Wonder W por tu enhorabuena, eso da muchos ánimos para seguir.
      Un saludo

      Eliminar