apt

Comandos apt

apt-get

Instalar las utilerias

sudo apt-get install apt-show-versions
sudo apt-get install netselect
sudo apt-get install netselect-apt
sudo apt-get install localepurge - libera espacio ocupado por los locale
sudo apt-get install auto-apt
sudo apt-get install apt-file
sudo apt-get install apt-listchanges

Archivo de configuración de los fuentes:

/etc/apt/sources.list

Contenido:
deb http://host/debian distribución sección1 sección2 sección3
deb-src http://host/debian distribución sección1 sección2 sección3}

deb - contiene archivos binarios precompilados
deb-src - contiene códigos originales, más archivo de control .dsc y el diff .gz con los cambios para debianizar el programa

puede manejar los siguientes protocolos en la definición de las lineas

file
http
ftp
ssh

Después de modificar el archivo de fuentes hay que ejecutar

apt-get update

Para obtener la lista de paquetes que se especifico en el archivo

Archivo de configuración:
/etc/apt/apt.conf - version anterior

/etc/apt/apt.conf.d/ - nueva versión

¿Como decirdir cual sources.list es el mejor?

- Instalar netselect

apt-get install netselect

- Ejecutar netselect con

netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.br.debian.org ftp.mx.debian.org ftp.jp.debian.org

resultado:

user@server:~$ sudo netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.br.debian.org ftp.mx.debian.org ftp.jp.debian.org
340 http.us.debian.org

Nota.- La lista de servidores está en http://www.debian.org/mirror/mirrors_full


sudo netselect ftp.ccc.uba.ar mirrors.dcarsat.com.ar ftp.at.debian.org ftp.au.debian.org ftp.ba.debian.org mirrors.ispros.com.bd ftp.be.debian.org ftp.bg.debian.org ftp.br.debian.org ftp.by.debian.org ftp.ch.debian.org ftp.cl.debian.org ftp.cn.debian.org debian.unal.edu.co mirrors.ucr.ac.cr ftp.cz.debian.org ftp.de.debian.org ftp.dk.debian.org ftp.ee.debian.org ftp.es.debian.org ftp.fi.debian.org debian.grena.ge ftp.gr.debian.org ftp.hk.debian.org ftp.hr.debian.org ftp.hu.debian.org mirror.unej.ac.id ftp.ie.debian.org ftp.is.debian.org ftp.it.debian.org ftp.jp.debian.org ftp.kr.debian.org ftp.lt.debian.org debian.md ftp.mx.debian.org mmc.geofisica.unam.mx ftp.nc.debian.org ftp.nl.debian.org ftp.no.debian.org ftp.nz.debian.org ftp.pl.debian.org ftp.pt.debian.org ftp.ro.debian.org ftp.se.debian.org ftp.si.debian.org ftp.sk.debian.org ftp.sv.debian.org ftp.tr.debian.org ftp.tw.debian.org ftp.ua.debian.org

- Agregar el servidor al archivo sources.list

Otra opción es dejar que el comando netselect-apt nos genere un archivo sources.list en el directorio actual, ejecutando

apt-get install netselect-apt

sudo netselect-apt --arch i386 -s -n stable wheezy

¿Como agregar un cdrom?

apt-cdrom add

¿Como instalar paquetes?

/var/cache/apt/archives - contiene los paquetes descargados

apt-get install [paquete(s)] - Instalar paquetes

apt-get install [paquete(s)] [paquete-] - Instala y elimina al mismo tiempo

apt-get --reinstall install [paquete] - Reinstala paquete dañado


¿Como se eliminan los paquetes?

Con esto se eliminan los paquetes pero, no sus archivos de configuración

apt-get remove [paquete(s)]

Si se desea eliminar todo el paquete incluido archivos de configuración

apt-get --purge remove [paquete(s)]

Nota.- si se usa [paquete+] se instala el paquete

apt-get autoremove - elimina aquellos paquetes que fueron instalados sólo para cubrir una dependencia y que ya no son utilizados

¿Como se actualizan los paquetes?

apt-get -u upgrade

apt-get -u dist-upgrade - actualiza a nueva versión de debian

¿Como remover paquetes no utilizados?

apt-get clean - elimina todo de /var/cache/apt/archives y de /var/cache/apt/archives/partial

apt-get autoclean - elimina sólo los archivos que no es necesario descargar de nuevo porque existe una nueva versión.o hay dos versiones una más actualizada que a otra en el directorio de paquetes

¿Como saber la versión de un paquete y si está actualizada?

apt-show-versions -p [paquete]

apt-show-versions -u - muestra los paquetes que pueden ser actualizados

¿que es dselect?

es un programa que en base a sugerencias de los paquetes instalados instala dichos paquetes para el mejor funcionamiento del sistema

sudo apt-get -u dselect-upgrade

¿Como descubrir nuevos paquetes?

apt-cache search atari - busca paquetes que cumplan con el patron "atari"
apt-cache show stella - muestra la información de un paquete, si un paquete está instalado y hay nueva version se muestran ambas informaciones

Otros comandos

equivs - genera un archivo para cuando se requiere que una herramienta piense que todas sus dependencias se han cumplido, esto es util si no se quiere usar un determinado archivo de dependencia y en su lugar se quiere usar otra herramienta que supla esa dependencia, sus comandos

equivs-control [name]
equivs-build [name]

localepurge - remueve los locales no utilizados (japones, aleman, ruso, etc.)

dpkg

dpkg -S stdio.h - muestra los paquetes que contienen ciertos archivos

o bien

dpkg -S /usr/include/stdio.h

dpkg -l |grep mozilla - busca el paquete mozilla
COLUMNS=132 dpkg -l | grep mozilla - con esto no trunca la salida

o bien

apt-cache search "Mozilla Web Browser"

¿Como instalar programas en demanda?

auto-apt run command

¿Como descubrir a que paquete pertenece un archivo?

apt-file search [filename]

apt-file update - actualiza la DBs de archivos

¿Como listar el contenido de un paquete?

apt-file list [paquete]

¿Como saber que cambios se instalaran con los paquetes?

apt-get install apt-listchanges - hay que instalar este paquete

Codigo fuente:

apt-get source [paquete] - descarga el fuente del paquete

apt-get -b source [paquete] - descarga el fuente y lo compila

dpkg-buildpackage -rfakeroot -uc -b - una vez descargado se compila

Instalar un .deb (puede ser el compilado del paso anterior)

dpkg -i [archivo.deb]


Manejo de errores

Si una instalación termina abruptamente y no es posible instalar o eliminar el paquete se debe ejecutar

apt-get -f install

y después (puede ser necesario ejecutarlo varias veces)

dpkg --configure -a

¿Cómo configurar un servidor para manejar la instalación de paquetes para muchos equipos?

Para instalar/actualizar muchos equipos y ahorrar ancho de banda lo que se debe hacer es usar apt-cacher, esto nos permite tener un servidor donde se descargarań todos los paquetes y de ahí distribuirlos a cada uno de los equipos en nuestra red local. Así si por ejemplo algun equipo necesita un paquete en especifico, el servidor se encarga de descargar y guardar la copia de ese paquete para que cuando otro equipo necesite ese paquete en lugar de ir a internet por el paquete lo toma del servidor local y lo distribuye, ahorrando con ello ancho de banda. Esto es muy útil también cuando se tienen muchas máquinas virtuales instaladas en un equipo teniendo todos la misma distribución bien vale la pena configurar esta opción.