NOMBRE
dpkg − Gestor de paquetes Debian de medio nivel
SINOPSIS
dpkg [opciones] acción
AVISO
El propósito de este manual es que los usuarios entiendan las opciones de llamada de dpkg y los estados en los que puede estar un paquete con algo más de precisión que la dada por dpkg −−help.
No deberían usarlo los encargados de paquetes para comprender el proceso de instalación. Las descripciones de lo que hace este programa al instalar y desinstalar simplemente no son apropiadas.
DESCRIPCIÓN
dpkg es una herramienta de nivel medio para instalar, construir, borrar y gestionar los paquetes de Debian GNU/Linux. Se llama con parámetros desde línea de órdenes, especificando una acción y cero o más opciones. La acción dice a dpkg qué hacer y las opciones controlan de alguna manera su comportamiento.
También
se puede usar dkpg como interfaz a
dpkg−deb. Si aquél se encuentra alguna
de las opciones de éste, se limita a llamarlo con
esas mismas opciones. La lista de opciones de
dpkg−deb es:
−b, −−build,
−c, −−contents,
−I, −−info,
−f, −−field,
−e, −−control,
−x, −−extract,
−X, −−vextract, and
−−fsys−tarfile.
Lea dpkg−deb(1) si desea más
información sobre estas acciones.
Nota: La interfaz de dpkg principal y más sencilla de usar es dselect(8). También hay otras, como las basadas en apt(8).
INFORMACIÓN SOBRE PAQUETES
Hay bastante información útil sobre los paquetes disponibles accesible a través de dpkg. Esta información se divide en tres clases: estados, estados de selección e indicadores. Teóricamente, estos valores se cambiarán principalmente con dselect.
ESTADOS DE
LOS PAQUETES
installed
Bien desempaquetado y configurado.
half−installed
Se inició la instalación del paquete, pero no se completó por alguna razón.
not−installed
No está instalado en el sistema.
unpacked
Descomprimido, pero no configurado.
half−configured
El paquete está descomprimido y la configuración se inició, pero no se terminó por alguna razón.
config−files
Sólo quedan los ficheros de configuración del paquete en el sistema.
ESTADOS DE
SELECCIÓN DE LOS PAQUETES
install
El paquete se ha seleccionado para instalarse.
deinstall
El paquete se ha seleccionado para desinstalarse (es decir, que queremos borrarlo todo excepto los ficheros de configuración).
purge |
El paquete se ha seleccionado para purgarse (es decir, que queremos borrarlo todo, incluso los ficheros de configuración). |
INDICADORES DE LOS PAQUETES
hold |
Un paquete marcado como hold no es modificado por dpkg, a no ser que lo forcemos a hacerlo con la opción −−force−hold. |
reinst−required
Un paquete marcado como necesita−reinst está roto y necesita reinstalarse. Estos paquetes no pueden borrarse, a no ser que se fuerce la acción con la opción −−force−remove−reinstreq.
ACCIONES
dpkg −i | −−install fichero_paquete...
Instala el paquete. Si se especifica la opción −−recursive o −R, fichero_paquete debe ser un directorio.
La
instalación consiste en los siguientes pasos:
1. Se extraen los ficheros de control del paquete.
2. Si hay instalada otra versión del mismo
paquete, se ejecuta el programa prerm del antiguo
paquete.
3. Se ejecuta el programa preinst, si el paquete
lo tiene.
4. Se desempaquetan los nuevos ficheros, y al mismo
tiempo se hace una copia de seguridad de los antiguos, para
que, si algo va mal, se puedan restaurar.
5. Si había instalada otra versión del
mismo paquete, se ejecuta el postrm del paquete
antiguo. Tenga en cuenta que este programa se ejecuta
después del preinst del nuevo paquete, ya que
los nuevos ficheros se escriben a la vez que se borran los
antiguos.
6. Se configura el paquete. Si quiere información
detallada sobre el proceso, vea
−−configure.
dpkg −−unpack fichero_paquete ...
Desempaqueta el fichero, pero no lo configura. Si se dan las opciones −−recursive o −R, fichero_paquete debe referirse a un directorio.
dpkg −−configure paquete ... | −a | −−pending
Vuelve a configurar un paquete que, al menos, esté desempaquetado. Si se dan las opciones −a o −−pending en vez de paquete, se configuran todos los paquetes no configurados.
La
configuración consiste en los siguientes pasos:
1. Se desempaquetan los ficheros de
configuración, y al mismo tiempo se hace una copia de
seguridad de los antiguos, para que puedan restaurarse si
algo va mal.
2. Se ejecuta el programa postinst, si el paquete
lo tiene.
dpkg −r | −−remove |
−P | −−purge paquete
... | −a | −−pending
Borra un paquete instalado. Las opciones −r y −−remove lo borran todo excepto los ficheros de configuración. Esto podría evitar tener que configurar de nuevo el paquete si se reinstala después (los ficheros de configuración son los listados en el fichero de control debian/conffiles). Si se usan las opciones −a y −−pending en vez de un paquete, todos los que están al menos desempaquetados, pero marcados para borrar o purgar en /var/lib/dpkg/status, se borran o purgan respectivamente.
Borrar un
paquete consiste de los siguientes pasos:
1. Ejecutar el programa prerm.
2. Borrar los ficheros instalados.
3. Ejecutar el programa postrm.
dpkg −−update−avail |
−−merge−avail
fichero−Packages
Actualiza la lista de paquetes disponibles de dpkg y dselect. Con la acción −−merge−avail, la información antigua se combina con la información de fichero−Packages. El fichero−Packages que viene con Debian GNU/Linux se llama simplemente Packages. El programa dpkg guarda la lista de paquetes disponibles en /var/lib/dpkg/available.
Una orden más simple que permite obtener y actualizar el fichero available de una tirada es dselect update.
dpkg −A | −−record−avail fichero_paquete ...
Actualiza la idea que tienen dpkg y dselect de qué paquetes están disponibles, con información del paquete fichero_paquete. Si se usa −−recursive o −R, fichero_paquete debe ser un directorio.
dpkg −−forget−old−unavail
Olvida los paquetes no instalados ni disponibles.
dpkg −−clear−avail
Borra la información sobre los paquetes disponibles.
dpkg −C | −−audit
Busca paquetes que se hayan instalado sólo parcialmente. El programa dpkg sugerirá qué hacer con ellos para hacerlos funcionar.
dpkg −−get−selections [patrón...]
Muestra la lista de selecciones de paquetes en la salida estándar.
dpkg −−set−selections
Establece las selecciones a unas determinadas, leyendo de la entrada estándar.
dpkg −−yet−to−unpack
Busca los paquetes seleccionados para instalar, pero que por alguna razón todavía no se han instalado.
dpkg −−print−architecture
Imprime la arquitectura de destino (por ejemplo, «i386»). Esta opción usa a gcc.
dpkg −−print−gnu−build−architecture
Imprime la versión GNU de la arquitectura de destino (por ejemplo, «i486»).
dpkg −−print−installation−architecture
Imprime la arquitectura de origen de instalación.
dpkg −−compare−versions ver1 op ver2
Compara números de versión, donde op es un operador binario. Devuelve éxito (cero) si la condición especificada se cumple, y fallo (resultado distinto de cero) si no. Hay dos grupos de operadores, que difieren en cómo se comportan cuando les falta alguno de los operandos. Los primeros tratan la falta de versión como la versión más antigua posible: lt le eq ne ge gt. Los otros tratan la falta de versión como la más moderna posible: lt−nl le−nl ge−nl gt−nl. Éstos se dan sólo por compatibilidad con la sintaxis del fichero de control: < << <= = >= >> >.
dpkg −−command−fd <n>
Acepta una serie de órdenes en el fichero cuyo descriptor es <n>. Aviso: las opciones adicionales pasadas desde la línea de órdenes y mediante este descriptor de fichero no se desactivan en las subsiguientes llamadas efectuadas en la misma ejecución.
dpkg −−help
Muestra las instrucciones de uso.
dpkg −−force−help
Muestra la ayuda de las opciones −−force−algo.
dpkg −Dh | −−debug=help
Muestra la ayuda de las opciones de depuración.
dpkg −−licence | dpkg −−license
Muestra la licencia e información sobre derechos de autor de dpkg.
dpkg −−version
Muestra la versión de dpkg.
dpkg−deb−actions
Ver dpkg−dev(1) para más información sobre las siguientes acciones.
dpkg
−b | −−build directorio
[fichero]
Construye un paquete Debian GNU/Linux.
dpkg −c | −−contents
fichero
Muestra el contenidos de un paquete Debian GNU/Linux.
dpkg −e | −−control
fichero [directorio]
Extrae la información de control de un paquete.
dpkg −x | −−extract fichero
directorio
Extrae los ficheros contenidos en el paquete.
dpkg −f | −−field
fichero [campo−control] ...
Muestra el/los campo(s) de control de un paquete.
dpkg −−fsys−tarfile fichero
Muestra el fichero tar contenido en el paquete Debian.
dpkg −I | −−info fichero
[fichero−control]
Muestra información sobre el paquete.
dpkg −X | −−vextract fichero
directorio
Extrae y muestra los nombres de ficheros contenidos en un
paquete.
dpkg−query−actions
Vea dpkg−query(1) para más información sobre las siguientes acciones:
dpkg
−l | −−list
patrón−nombre−paquete ...
Lista los paquetes cuyo nombre encaja en el patrón
dado.
dpkg −s | −−status
nombre−paquete ...
Informa del estado del paquete especificado.
dpkg −L | −−listfiles
paquete ...
Lista los ficheros instalados en el sistema, que pertenecen
a paquete.
dpkg −S | −−search
patrón−búsqueda−ficheros
...
Busca un fichero en los paquetes instalados.
dpkg −p | −−print−avail
paquete ...
Imprime información sobre el paquete, sacada
de /var/lib/dpkg/available.
OPCIONES
Todas las
opciones pueden especificarse tanto en línea de
órdenes como en el fichero de configuración de
dpkg, /etc/dpkg/dpkg.cfg. Cada línea de
este fichero es bien una opción (exactamente la misma
que la de línea de órdenes, pero sin los
guiones al principio) o bien un comentario (si empieza con
#).
−−abort−after=número
Cambiar después de cuántos errores abortará dpkg. El valor por omisión es 50.
−B|−−auto−deconfigure
Cuando se borra un paquete, hay posibilidades de que otro dependa de él. Especificar esta opción producirá la desconfiguración automática del paquete que dependía del borrado.
−Doctal | −−debug=octal
Activar el modo de depuración. El parámetro octal se forma uniendo los valores de la siguiente lista mediante la operación or a nivel de bits (tenga en cuenta que estos valores podrían cambiar en futuras versiones). −Dh o −−debug=help muestran estos valores.
número
descripción
1 Información de progreso generalmente útil
2 Invocación y estado de los scripts del paquete
10 Salida por cada fichero procesado
100 Mucha salida por cada fichero procesado
20 Salida por cada conffile
200 Mucha salida por cada conffile
40 Dependencias y conflictos
400 Mucha salida sobre dependencias y conflictos
1000 Parrafadas sobre el directorio dpkg/info
2000 Montañas de parrafadas (perjudica la salud)
−−force−cosas | −−no−force−cosas | −−refuse−cosas
Fuerza o rehusa (no−force y refuse significan lo mismo) a hacer ciertas cosas. El parámetro cosas es una lista de cosas especificadas abajo, separada por comas. La opción −−force−help muestra un mensaje que las describe. Las cosas marcadas con (*) se fuerzan por omisión.
Aviso: Estas
opciones están pensadas mayormente para que las usen
expertos. Usarlas sin total conocimiento de sus efectos
podrían hacer que su sistema dejara de funcionar.
all: Activa (o desactiva) todas las opciones de forzar.
auto−select(*): Selecciona paquetes para
instalarlos, y quita la selección a paquetes para
borrarlos.
downgrade(*): Instala un paquete, incluso si hay una
versión más nueva ya instalada.
Aviso: actualmente dpkg no comprueba de ninguna manera las dependencias al desactualizar y por lo tanto no avisará si se rompe alguna dependencia de otro paquete. Una situación así podría tener efectos laterales graves; desactualizar componentes esenciales del sistema incluso podría inutilizar su sistema completo. Úselo con cuidado.
configure−any:
Configura también todo lo desempaquetado y no
configurado sobre lo que depende el paquete.
hold: Procesa los paquetes incluso si están
marcados como «hold» (mantener).
remove−reinstreq: Borra un paquete, incluso si
está roto y marcado como de reinstalación
requerida. Esto podría causar, por ejemplo, que
algunas partes del paquete quedaran en el sistema, pero
dpkg se olvidara de ellas.
remove−essential: Borra, incluso si el paquete se
considera esencial. Los paquetes esenciales contienen sobre
todo órdenes de Unix muy básicas. Borrarlos
podría hacer que el sistema dejara de funcionar en
absoluto, así que use esta opción con cuidado.
depends: Convierte todos los problemas de dependencias
en avisos.
depends−version: No tiene en cuenta las versiones
al comprobar dependencias.
conflicts: Instala, incluso si está en conflicto
con otro paquete. Esta opción es peligrosa, dado que
generalmente sobreescribirá algunos ficheros.
confmiss: Siempre instala un fichero de
configuración perdido. Es peligroso porque no guarda
los cambios (el borrado) hechos al fichero.
confnew: Si se ha modificado un fichero de
configuración, instalar siempre la nueva
versión sin preguntar, a menos que se especifique
también la opción
−−force−confdef, en cuyo caso se toma la
acción por omisión.
confold: Si se ha modificado un fichero de
configuración, mantener siempre la versión
existente sin preguntar, a menos que también se
especifique la opción
−−force−confdef, en cuyo caso se toma la
acción por omisión.
confdef: Si se ha modificado un fichero de
configuración, elegir siempre la opción por
omisión. Si no la hay, parará y
preguntará al usuario a no ser que se usen
también las opciones
−−force−confnew o
−−force−confold, en cuyo caso se
usará esta opción para tomar la
decisión final.
overwrite: Sobreescribe un fichero de un paquete con
otro fichero.
overwrite−dir: Sobreescribe un directorio de un
paquete con otro fichero.
overwrite−diverted: Sobreescribe una
versión desviada de un fichero con una no desviada.
architecture: Procesar incluso si los paquetes no son de
la arquitectura adecuada.
bad−path: PATH no contiene algunos
programas importantes, así que es bastante posible
que haya problemas.
not−root: Intentar la (des)instalación
incluso si no se es root.
bad−verify: Instala un paquete incluso si falla la
comprobación de autenticidad.
−−ignore−depends=paquete,...
Ignora la comprobación de dependencias para los paquetes especificados (realmente, se hacen las comprobaciones, pero se imprimen avisos en vez de abortar el proceso).
−−new | −−old
elige el formato de paquetes nuevo o antiguo. Es una opción de dpkg−deb(1).
−−nocheck
No lee ni comprueba el contenido del fichero de control mientras se construye el paquete. Es una opción de dpkg−deb(1).
−−no−act | −−dry−run | −−simulate
Hace todo lo que se supone que debe hacer, pero no realiza ningún cambio. Se utiliza para ver qué ocurriría con las opciones elegidas sin llegar a cambiar nada.
Asegúrese
de dar la opción −−no−act
antes del parámetro de acción, o podría
acabar con resultados no deseados. P.ej.: dpkg
−−purge foo −−no−act
primero purgará el paquete foo y luego
intentará purgar el paquete
−−no−act, ¡aunque probablemente
usted esperara que no hiciera nada!).
−R | −−recursive
Actúa recursivamente sobre todos los ficheros que coincidan con el patrón *.deb que se encuentren en el directorio especificado y todos sus subdirectorios. Puede usarse con las opciones −i, −A, −−install, −−unpack y −−avail.
−G |
No instala un paquete del que hay ya instalada una versión más nueva. Es lo mismo que −−refuse−downgrade. |
−−root=dir | −−admindir=dir | −−instdir=dir
Cambia los directorios por omisión. El valor predeterminado para el directorio admindir es /var/lib/dpkg y contiene muchos ficheros con información sobre el estado de los paquetes instalados y desinstalados, etc. El valor por omisión de instdir es / y se refiere al directorio donde se instalarán los paquetes. También es el directorio pasado a chroot(2) antes de ejecutar los programas de instalación de paquete, lo que significa que éstos verán instdir como directorio raíz. Cambiar root cambia a su vez instdir a dir y admindir a dir/var/lib/dpkg.
−O | −−selected−only
Procesa sólo los paquetes que se han elegido para la instalación. La marca en sí la hacen dselect o dpkg, cuando se usa para gestionar paquetes. Por ejemplo, si se borra uno, se marcará como elegido para desinstalar.
−E | −−skip−same−version
Evita la instalación de un paquete si es la misma versión que ya hay instalada.
−−status−fd <n>
Envía el estado del paquete al descriptor de fichero <n>. Puede usarse varias veces. Las actualizaciones de estado tienen la forma «status: <pkg>: <pkg qstate>».
FICHEROS
/etc/dpkg/dpkg.cfg
Fichero de configuración con las opciones por omisión.
Los otros
ficheros listados abajo están en sus directorios por
omisión. Véase la opción
−−admindir para ver cómo cambiar
la ruta de estos ficheros.
/var/lib/dpkg/available
Lista de paquetes disponibles.
/var/lib/dpkg/status
Estado de los paquetes disponibles. Este fichero contiene información sobre si un paquete está marcado para borrar o no, si está instalado o no, etc. Véase el apartado INFORMACIÓN SOBRE PAQUETES para más información.
Los siguientes
ficheros son componentes de un paquete binario. Véase
deb(5) para más información sobre
éstos:
control
conffiles
preinst
postinst
prerm |
||
postrm |
VARIABLES DE ENTORNO
DPKG_NO_TSTP
Defina esta variable si prefiere que dpkg arranque en un intérprete diferente en vez de suspenderse a sí mismo cuando vuelve temporalmente al intérprete de órdenes.
SHELL |
El programa que ejecutará dpkg cuando arranque el nuevo intérprete. |
COLUMNS
Especifica el número de columnas que puede usar dpkg para mostrar la información. Por ahora sólo la usa la opción −l.
EJEMPLOS
Para listar los
paquetes con «vi» en su nombre:
dpkg −l ’*vi*’
Para ver las
entradas en /var/lib/dpkg/available de varios
paquetes:
dpkg −p base−files login xfree86−common |
pager
Para borrar un
paquete instalado llamado «elvis»:
dpkg −r elvis
Para instalar
un paquete, primero hay que encontrarlo en la
colección de paquetes que queramos. El fichero
«available» muestra que el paquete
«vim» está en el apartado
«editors»:
cd /cdrom/hamm/hamm/binary/editors
dpkg −i vim_4.5−3.deb
(Nota: En estos casos suele usarse
apt−get(8))
Para hacer una
copia local de los estados de la selección de
paquetes:
dpkg −−get−selections
>mis_selecciones
Se
podría copiar este fichero a otra máquina e
instalarlo allí con:
dpkg −−set−selections
<mis_selecciones
Tenga en cuenta que esto no instalará ni
borrará nada, simplemente modificará el estado
de selección de los paquetes escogidos.
Necesitará otra aplicación para conseguir los
paquetes e instalarlos. Por ejemplo, ejecute dselect
y elija «Instalar».
Por lo general, encontrará que dselect(8) es una forma más cómoda de modificar los estados de selección de los paquetes.
FUNCIONALIDAD ADICIONAL
Se puede ganar funcionalidad adicional instalando alguno de los siguientes paquetes: apt, aptitude and debsums.
VÉASE TAMBIÉN
dselect(8), dpkg−deb(1), deb(5), deb−control(5), y dpkg−reconfigure(8).
FALLOS/RESTRICCIONES
dpkg no
ordena inteligentemente los paquetes a la hora de
instalarlos.
No hay ningún sistema automático de registro
de actividades en dpkg.
Durante las actualizaciones, las relaciones de los paquetes
que dependen de otros se podrían desincronizar
(p.ej.: las dependencias exactas de la versión de
desarrollo de un paquete sobre el propio paquete).
Normalmente, la
opción −−no−act da menos
información de la que necesita.
No hay información de estado para los paquetes
virtuales.
AUTORES
El programador
original de dpkg fue Ian Jackson, y luego mucha gente
fue
mejorándolo. La lista completa está en
/usr/share/doc/dpkg/THANKS.gz.
Traducción realizada por Esteban Manchado
Velázquez (zoso [AT] demiurgo.org).