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.