# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Desactivar el acceso por proxy en Debian a APT


Esta mañana nos encontrábamos instalando una máquina virtual Debian Squeeze a través de netinstall y por restricciones de seguridad hemos tenido que configurar vía proxy la descarga de paquetes para la instalación.

Una vez instalado e intentar actualizar el sistema nos hemos dado cuenta que seguíamos usando el proxy al usar apt/aptitude. Cuando instalamos Debian a través de un proxy, luego hay que desactivarlo en apt si no queremos seguir usándolo.

Para ello, debemos eliminar las líneas en /etc/apt/apt.conf que contienen la configuración del proxy: Acquire::http::Proxy ó Acquire::ftp::Proxy seguido de la URL del proxy:

Acquire::http::Proxy "http://miproxy.com:8213";
Acquire::ftp::Proxy "http://miproxy.com:8213";

Guía de comandos apt para Debian / Ubuntu (apt-get, apt-cache)


debianHoy vamos a dar un repaso al gestor de paquetes de Debian (y Ubuntu…) apt (Advanced Packaging Tool). Nos vamos a centrar en apt-get y apt-cache. apt-get permite descargar, actualizar e instalar paquetes entre otras cosas, apt-cache por otro lado permite lanzar consultas y buscar paquetes contra la base de datos de los repositorios.

APT-GET

Instalar un paquete:

# apt-get install <paquete>

Desinstalar un paquete:

# apt-get remove <paquete>

Eliminar un paquete incluidos sus ficheros de configuración:

# apt-get purge <paquete>

Eliminar de forma automática aquellos paquetes que no se estén utilizando:

# apt-get autoremove

Actualizar un paquete a la última versión disponible en el repositorio:

# apt-get update <paquete>

Actualizar el sistema. Actualizará todos los paquetes que dispongan de una versión superior dentro de la rama instalada de la distribución:

# apt-get upgrade

Actualizar la distribución completa. Actualizará nuestro sistema a la siguiente versión disponible de la distribución:

# apt-get dist-upgrade

Descargar únicamente las fuentes de un paquete para manipularlas de forma manual:

# apt-get source <paquete>

Limpiar cachés, paquetes descargados, etc:

# apt-get clean
# apt-get autoclean

Verificar que no tenemos ninguna dependencia incumplida:

# apt-get check

APT-CACHE

Buscar un paquete en los repositorios, se puede especificar un patrón, expresión regular, el nombre exacto del paquete, etc:

# apt-cache search <paquete>

Mostrar información sobre un paquete específico (nombre del paquete, versión, dependencias…):

# apt-cache showpkg <paquete>

Mostrar información del paquete incluyendo la descripción, información del paquete como su sitio web, página de bugs…

# apt-cache show <paquete>

Mostrar dependencias de un paquete:

# apt-cache depends <paquete>

Mostrar los nombres de todos los paquetes instalados en el sistema:

# apt-cache pkgnames

Cómo usar APT o Synaptic en versiones antiguas de Ubuntu (tras ‘end of life’)


Como muchos sabéis, Ubuntu tiene un calendario muy riguroso en el que se van publicando nuevas versiones del sistema operativo. Algunas de ellas son llamadas LTS (Long Time Support) debido a que tienen soporte durante 5 años, mientras que las normales solo durante uno o dos años. Por esto, lógicamente es recomendable instalar siempre una LTS para disponer el mayor tiempo de las actualizaciones.

En el momento que se termina el ciclo de soporte de la versión, los repositorios dejan de funcionar, dando error 404 (tanto en APT como Synaptic):

# sudo apt-get update
Ign http://mirror.ousli.org jaunty Release.gpg
Ign http://mirror.ousli.org jaunty/main Translation-es
Ign http://mirror.ousli.org jaunty/restricted Translation-es
Ign http://mirror.ousli.org jaunty/universe Translation-es
Ign http://mirror.ousli.org jaunty/multiverse Translation-es
...
...
Err http://mirror.ousli.org jaunty/main Packages
  404 Not Found
Err http://mirror.ousli.org jaunty/restricted Packages
  404 Not Found
Err http://mirror.ousli.org jaunty/main Sources
  404 Not Found
...
...
W: Imposible obtener http://mirror.ousli.org/ubuntu/dists/jaunty/main/binary-i386/Packages  404 Not Found

W: Imposible obtener http://mirror.ousli.org/ubuntu/dists/jaunty/restricted/binary-i386/Packages  404 Not Found

W: Imposible obtener http://mirror.ousli.org/ubuntu/dists/jaunty/main/source/Sources  404 Not Found
...
...

Lo recomendable llegados a este punto es reinstalar el sistema con una versión LTS actual, una pena porque la estabilidad de GNU/Linux y Ubuntu es tal que podemos tener un sistema durante años y años sin ningún tipo de problema.

No obstante, existe una forma de modificar las sources/repositorios para poder seguir utilizando APT e instalar/actualizar paquetes. Simplemente, modificad el fichero /etc/apt/sources.list y copiar el siguiente contenido. En este caso sería para la versión jaunty, si utilizáis otra versión simplemente sustituid ‘jaunty’por el nombre de la misma:

deb http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted
deb http://old-releases.ubuntu.com/ubuntu/ jaunty-updates main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ jaunty-updates main restricted
deb http://old-releases.ubuntu.com/ubuntu/ jaunty universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ jaunty universe multiverse
deb http://old-releases.ubuntu.com/ubuntu jaunty-security main restricted
deb-src http://old-releases.ubuntu.com/ubuntu jaunty-security main restricted

Guardamos y actualizamos los repositorios, a partir de ese momento y si no recibimos ningún error podremos seguir instalando nuevos paquetes en el sistema:

$ sudo apt-get update

Obj http://old-releases.ubuntu.com jaunty Release.gpg
Obj http://old-releases.ubuntu.com jaunty/main Translation-es
Obj http://old-releases.ubuntu.com jaunty/restricted Translation-es
Obj http://old-releases.ubuntu.com jaunty/universe Translation-es
Obj http://old-releases.ubuntu.com jaunty/multiverse Translation-es
Obj http://old-releases.ubuntu.com jaunty-updates Release.gpg
Ign http://old-releases.ubuntu.com jaunty-updates/main Translation-es
Ign http://old-releases.ubuntu.com jaunty-updates/restricted Translation-es
Obj http://old-releases.ubuntu.com jaunty-security Release.gpg
Ign http://old-releases.ubuntu.com jaunty-security/main Translation-es
Ign http://old-releases.ubuntu.com jaunty-security/restricted Translation-es
Obj http://old-releases.ubuntu.com jaunty Release
Obj http://old-releases.ubuntu.com jaunty-updates Release
Obj http://old-releases.ubuntu.com jaunty-security Release
Obj http://old-releases.ubuntu.com jaunty/main Packages
Obj http://old-releases.ubuntu.com jaunty/restricted Packages
Obj http://old-releases.ubuntu.com jaunty/main Sources
Obj http://old-releases.ubuntu.com jaunty/restricted Sources
Obj http://old-releases.ubuntu.com jaunty/universe Packages
Obj http://old-releases.ubuntu.com jaunty/multiverse Packages
Obj http://old-releases.ubuntu.com jaunty/universe Sources
Obj http://old-releases.ubuntu.com jaunty/multiverse Sources
Obj http://old-releases.ubuntu.com jaunty-updates/main Packages
Obj http://old-releases.ubuntu.com jaunty-updates/restricted Packages
Obj http://old-releases.ubuntu.com jaunty-updates/main Sources
Obj http://old-releases.ubuntu.com jaunty-updates/restricted Sources
Obj http://old-releases.ubuntu.com jaunty-security/main Packages
Obj http://old-releases.ubuntu.com jaunty-security/restricted Packages
Obj http://old-releases.ubuntu.com jaunty-security/main Sources
Obj http://old-releases.ubuntu.com jaunty-security/restricted Sources
Leyendo lista de paquetes... Hecho

¿Qué es mejor, compilar o usar yum/apt?


La respuesta es: depende…

A raíz del anterior artículo en el que explico cómo compilar Apache y PHP en Linux me ha apetecido escribir esta entrada en la que definir los pros y contras de compilar frente a usar gestores de paquetes precompilados tipo yum (rpm) o apt (.deb).

Es mejor compilar si…

  • Necesitamos tener instalada una versión reciente de la aplicación, y tener la opción de actualizarla en el momento que una nueva versión o parche de seguridad aparezca.
  • Necesitamos poder personalizar al 100% la aplicación. Compilando puedes definir una gran cantidad de parámetros, configuraciones y módulos. Esta flexibilidad te permite adaptar la aplicación a tus requerimientos. Los paquetes utilizados por los gestores de descargas añaden el mayor número de extras posibles para una mayor aceptación general.
  • No nos importa perder un poco de tiempo al principio (durante la instalación), ya que se requiere más tiempo que la instalación de un paquete precompilado (escasos segundos).
  • Probablemente lograremos un mejor rendimiento ya que adaptamos la aplicación a nuestros requerimientos.

Es mejor usar yum, rpm, apt, deb si…

  • Necesitamos hacer la instalación de forma rápida y sencilla. Los paquetes precompilados .rpm, .deb, etc se instalan en escasos segundos y automáticamente buscan las dependencias de cada paquete para evitar tener que instalarlas de forma manual como pasaría con la compilación.
  • No es crítico disponer de la última versión de la aplicación. Los repositorios por lo general no se actualizan a la misma velocidad que salen nuevas versiones (ni por asomo), por ejemplo RHEL y CentOS actualmente tienen en su repositorio la versión 5.1.6 de PHP y la estable es la 5.3.6.
  • Instalar el paquete precompilado no te permitirá personalizar la instalación del mismo como puedes hacerlo compilando. Normalmente se peca de exceso y se añaden módulos y extras en las aplicaciones que probablemente no necesites.
  • Siguiendo con el punto anterior, ese exceso de extras puede provocar peor rendimiento que el que te da la instalación por compilación ya que no has podido reducir el peso de la instalación o adecuarlo a tus necesidades.

Estos son, en mi humilde opinión, los pros y contras de cada una de estas formas de instalación en Linux (y en Unix en general).

Imposible obtener http://es.archive.ubuntu.com/ubuntu/ XXX 403 Forbidden


Hoy, tratando de realizar unas tareas en virtualbox, me encontraba con este error al tratar de instalar los módulos de virtualbox-ose para mi kernel actual:

Err http://es.archive.ubuntu.com hardy/universe virtualbox-ose-modules-2.6.24-16-generic 24
  403 Forbidden
Imposible obtener http://es.archive.ubuntu.com/ubuntu/pool/universe/v/virtualbox-ose-modules/virtualbox-ose-modules-2.6.24-16-generic_24_i386.deb  403 Forbidde

Resulta que el fallo es debido a que los repositorios de mis sources ya no eran válidos, la solución pasa por cambiar de repositorios o dejar a Ubuntu que seleccione los más rápidos, para ello accede al Gestor de Paquetes Synaptic, y haz lo siguiente:

  1. En el menú superior, pincha en Configuración –> Repositorios
  2. En Descargar desde, selecciona “Otro
  3. Deja que eliga El mejor servidor

Una vez termine de buscar el mejor servidor, selecciona el que te diga y solucionado, ya deberías poder descargar e instalar de nuevo cualquier paquete.