Añadir repositorios externos

De Guía Ubuntu
Revisión a fecha de 22:38 5 ago 2012; LyingB (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

En la distribución Debian y derivadas existen lo que se denominan repositorios. Estos repositorios consisten en sitios web donde se encuentran almacenados los paquetes, que una vez descargados, instalan el software en el ordenador. Inicialmente Ubuntu posee una serie de repositorios oficiales, que están mantenidos por el equipo de Ubuntu. Si usamos exclusivamente estos repositorios se nos garantiza un alto nivel de estabilidad. Sin embargo agregar repositorios externos es útil para instalar software no soportado oficialmente por Ubuntu, normalmente porque se trata de programas que no son libres ni de código abierto, o porque están en una versión no estable pero totalmente funcional para nuestros intereses.

Lista de repositorios

El sistema de instalación de paquetes que usemos (ver Añadir aplicaciones) internamente usa un fichero donde se encuentran los repositorios, este fichero lo podemos encontrar en :

/etc/apt/sources.list

El fichero tiene permiso exclusivo para ser modificado sólo por el usuario root por lo que debemos de ser un usuario con permisos para ejecutar sudo para poder modificarlo.

Mediante terminal

Para agregar los cualquier repositorio externo basta con editar el archivo sources.list. Abrimos una terminal y tecleamos:

$ sudo gedit /etc/apt/sources.list
$ sudo kate /etc/apt/sources.list

Al final del archivo, añadimos los repositorios que deseamos. Por ejemplo podemos agregar los siguientes:

## BACKPORTS (paquetes viejos, no incluidos en Dapper y que pueden causar daño. Usar bajo propia responsabilidad)
deb http://archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse

## PLF (paquetes no soportados por ser privados y no libres)
deb http://packages.freecontrib.org/plf edgy free non-free
deb-src http://packages.freecontrib.org/plf edgy free non-free                                               
                                                                                                                                          
## CANNONICAL COMMERCIAL (paquetes ofrecidos por Canonical, no por Ubuntu)
## incluye: RealPlayer 10, Opera, etc.
deb http://archive.canonical.com/ubuntu edgy-commercial main

Guardamos el archivo y cerramos.

Nota clasica.png Estos repositorios son válidos para Edgy, verificar previamente para cualquier otra versión de Ubuntu.

A partir de Ubuntu 9.10, se pueden agregar repositorios de Launchpad mediante un simple comando:

sudo add-apt-repository ppa:[nombre del repositorio]


También es posible agregar archivos de fuentes al directorio /etc/apt/sources.list.d/. Los archivos tienen la misma sintaxis que cualquier otro repositorio para APT y el nombre del archivo debe terminar en ".list" (sin las comillas), por ejemplo: firefox.list, wine.list...

Modo gráfico

A través de los gestores de paquetes gráficos como Synaptic o Adept Manager podemos encontrar un menú que nos permite agregar un repositorio externo. Esto lo hacemos abriendo

También hay una herramienta que podemos utilizar para introducir repositorios externos: Sistema>Administración>Orígenes de software, entramos en la pestaña de "Software de terceros", pinchamos en "Añadir..." y escribimos el repositorio que queramos (normalmente será del siguiente modo):

 deb (URL_descarga_paquetes) (distro) (componentes) #(descripción_humana)

Añadimos y cerramos la ventana de orígenes de software (entonces nos pedirá recargar los repositorios, ya que están obsoletos por introducir uno nuevo)

Nota clasica.png Hacer ésto con mucho cuidado. En mi caso particular, agregué el repositorio de google con la dirección indicada en Añadir repositorio de Google (http://dl.google.com/linux/deb/ stable non-free) y mi manjador de paquetes de synaptics dejó de funcionar. Me vi a gatas para repararlo

Repositorios útiles

  • Repositorio de Treviño:
deb http://download.tuxfamily.org/3v1deb/ feisty eyecandy
deb-src http://download.tuxfamily.org/3v1deb/ feisty eyecandy
  • Repositorio de Google:
deb http://dl.google.com/linux/deb/ stable non-free
deb http://ftp.eq.uc.pt/software/unix/Linux/debian-multimedia/ stable main

Para que al recargar los repositorios no aparezca ningún mensaje, puede instalar la clave del repositorio. Para ello escriba en una terminal:

$ wget -q http://www.debian-multimedia.org/gpgkey.pub -O- | sudo apt-key add -
  • Repositorio MEDIBUNTU:
deb http://packages.medibuntu.org/

Actualizar la lista de paquetes

Una vez modificado el fichero de repositorios tenemos que actualizar la lista de paquetes, para eso basta con ejecutar el siguiente comando en un terminal:

$ sudo aptitude update

También podemos hacerlo desde Synaptic o Adept Manager. Una vez actualizada la base de datos de paquetes podemos añadir aplicaciones y paquetes de los nuevos repositorios como hemos hecho hasta ahora.

Obtener repositorios externos

En la web Sources.list generator (válido para Warty, Hoary, Breezy, Dapper y Feisty) encontraremos un formulario web que crea automáticamente el sources.list en función de lo que necesitamos. Una vez creado, basta con reemplazar el contenido del sources.list por el generado a través del mencionado formulario, o bien los añadimos a los que ya tenemos.

En Ubuntu Karmic Koala disponemos de una nueva herramienta para añadir repositorios PPA de Launchpad de una forma mucho más sencilla, copiando una línea mucho más simple que además descarga y añade automáticamente su clave GPG. Puede hacerse desde el terminal, ejecutando el siguiente comando:

$ sudo add-apt-repository ppa:Nombre_Repositorio

Por ejemplo, para añadir el repositorio de Gnome Do sería:

$ sudo add-apt-repository ppa:do-core/ppa

Además, este nuevo sistema no añade la línea completa al fichero /etc/apt/sources.list sino que lo crea con su propio fichero en el directorio sources.list.d, lo cual suele ser mucho mejor para el mantenimiento del sistema, tener todos los repositorios en ficheros diferentes.

Retener y restaurar paquetes de repositorios externos

Es posible que no nos interese que el sistema acutalice determinados paquetes porque las versiones posteriores sean defectuosas, incompatibles, etc. Para ello retendremos ese paquete, y para volver a actualizarlo lo restauraremos.

Nota clasica.png Los paquetes retenidos para apt no están retenidos para aptitude, y viceversa. Por lo que se recomienda retener los paquetes para ambos métodos

Paquetes para aptitude

Modo consola

A través del terminal, para retener un paquete lo único que tenemos que hacer es:

$ sudo aptitude hold nombre del paquete

Y para restaurarlo y permitir su actualización:

$ sudo aptitude unhold nombre_del_paquete

Modo semigráfico

Para llevar a cabo el prodecimiento de una forma semigráfica primero debes actualizar la lista de paquetes y luego escribir en un terminal

$ aptitude 

y entra en paquetes actualizables. Dentro debería aparecer los paquetes que se van a actualizar. Te colocas sobre el que deseas y pulsas la tecla "=". Finalmente pulsas "q" para salir de la aplicación.

Paquetes para apt y dpkg

Método 1

En un terminal

  • Para retener un paquete:
$ echo “nombre_del_paquete hold” | sudo dpkg - -set-selections
  • Para restaurarlo y permitir su actualización
$ echo “nombre_del_paquete install” | sudo dpkg - -set-selections

Método 2

Existe un front-end al alcance de repositorio que simplifica el comando. Primero lo instalados

$ sudo aptitude install feta
  • Para retener un paquete:
$ sudo feta hold nombre del paquete
  • Para restaurar un paquete:
$ sudo feta unhold nombre del paquete

Ver también

Enlaces externos

La versión original del artículo, o partes de él, han sido extraídas de Entre tuxes y pepinos, que edita bajo licencia by-nc-sa. Consúltese la autorización en Guía Ubuntu:Autorizaciones/Entre tuxes y pepinos.