Archive for the ‘Linux y administración de sistemas’ Category

h1

dpkg: reparar un paquete parcialmente instalado sin editar status directamente

11/02/2012

Advertencia de seguridad y mantenimiento (octubre de 2026). La solución histórica que aparece más abajo propone editar directamente /var/lib/dpkg/status. No se recomienda utilizarla como procedimiento habitual: puede hacer que la base de datos declare instalado un paquete cuyo proceso de configuración falló realmente.

Comprobaciones previas

Inspecciona el estado con sudo dpkg --audit, revisa el mensaje del script de instalación y comprueba los servicios implicados. Según el problema real, pueden resultar apropiados sudo dpkg --configure -a o sudo apt --fix-broken install, después de leer qué cambios propone cada comando. Haz copia de los datos importantes y de la configuración antes de intervenir. Conservamos el ejemplo de VirtualBox 4.1 únicamente como caso histórico.

Relacionado: dependencias incumplidas con apt/dpkg y errores del controlador VirtualBox.


Si al instalar un paquete se queda registrado como parcialmente instalado o mal instalado, o ha fallado una parte de su instalador, pero realmente se ha instalado correctamente, como puede ser este caso:

root@shirley:/var/cache/apt/archives# dpkg -i virtualbox-4.1_4.1.8-75467~Ubuntu~lucid_amd64.deb
(Leyendo la base de datos ... 00%
126367 ficheros y directorios instalados actualmente.)
Preparando para reemplazar virtualbox-4.1 4.1.8-75467~Ubuntu~lucid (usando virtualbox-4.1_4.1.8-75467~Ubuntu~lucid_amd64.deb) ...
* Stopping VirtualBox kernel modules [ OK ]
Desempaquetando el reemplazo de virtualbox-4.1 ...
Configurando virtualbox-4.1 (4.1.8-75467~Ubuntu~lucid) ...
addgroup: El grupo `vboxusers' ya existe como grupo del sistema. Saliendo.
* Stopping VirtualBox kernel modules [ OK ]
* Uninstalling old VirtualBox DKMS kernel modules [ OK ]
* Trying to register the VirtualBox kernel modules using DKMS
[ OK ]
* Starting VirtualBox kernel modules [ OK ]
* Starting VirtualBox web service
*
invoke-rc.d: initscript vboxweb-service, action "start" failed.
dpkg: error al procesar virtualbox-4.1 (--install):
el subproceso instalado el script post-installation devolvió el código de salida de error 1

Procesando disparadores para ureadahead ...
Procesando disparadores para shared-mime-info ...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Unknown media type in type 'uri/mms'
Unknown media type in type 'uri/mmst'
Unknown media type in type 'uri/mmsu'
Unknown media type in type 'uri/pnm'
Unknown media type in type 'uri/rtspt'
Unknown media type in type 'uri/rtspu'
Unknown media type in type 'fonts/package'
Unknown media type in type 'interface/x-winamp-skin'
Procesando disparadores para hicolor-icon-theme ...
Procesando disparadores para python-central ...
Se encontraron errores al procesar:
virtualbox-4.1

root@shirley:/var/cache/apt/archives#

Se puede corregir especificando en la base de datos el estado del paquete:
$ sudo nano /var/lib/dpkg/status
Package: virtualbox-4.1
Status: install ok half installed

h1

error El controlador de disco para /dev/sda1 no está listo o presente. Continué esperando o pulse S para omitir o M para recuperar manualmente.

29/12/2011

Si se produce el siguiente error:

El controlador de disco para /dev/sda1 no está listo o presente. Continue esperando o pulse S para omitir o M para recuperar manualmente.
The disk drive for /media/miDisco is not ready yet or not present. Continue to wait; or Press S to skip mounting or M for manual recovery

se debe a que en el arranque no se ha encontrado una unidad de almacenamiento definida en /etc/fstab. Para que la espera no sea bloqueante, es necesario añadir el parámetro «nobootwait» en su definición del fstab:

UUID=abcd /media/miDisco vfat utf8,auto,rw,user 0 0
UUID=abcd /media/miDisco vfat utf8,auto,rw,user,nobootwait 0 0

h1

Monit: problemas al enviar alertas por Gmail y configuración TLS

18/12/2011

Revisión de seguridad (octubre de 2026): el tutorial de 2011 utiliza Monit 5.3.1, TLSv1 y ejemplos de autenticación con usuario y contraseña. No reutilices protocolos TLS obsoletos ni pegues credenciales reales en configuraciones compartidas.

En instalaciones modernas revisa la versión actual de Monit, el soporte TLS, el puerto y la autenticación exigida por el proveedor SMTP. Gmail puede requerir métodos de autenticación específicos; una contraseña normal puede no ser aceptada. Consulta primero la documentación vigente de Monit y del proveedor de correo.

Relacionado: error del manejador de alertas de Monit.


Si se desean enviar emails de notificación con Monit a través de un SMTP que utilice conexión cifrada (SSL), es necesario recompilar Monit con soporte SSL. Para ello:

1º) Descargar y descomprimir las fuentes:
$ wget http://mmonit.com/monit/dist/monit-5.3.1.tar.gz
$ tar xvfz monit-5.3.1.tar.gz

2º) Instalarlo:
$ ./configure
(...)
checking for SSL support... enabled
checking for SSL include directory... /usr/include
checking for SSL library directory... Not found
Couldn't find your SSL library files.
Use --with-ssl-lib-dir option to fix this problem or disable the
SSL support with --without-ssl
(...)

En caso de que se produzca esta salida, instalar libssl:

$ sudo apt-get install libssl0.9.8

de modo que tras volver a ejecutar ./configure se obtendrá:

| Monit has been configured with the following options:      
  PAM support:                                  ENABLED      
  SSL support:                                  ENABLED    
  Large files support:                       ENABLED          
  Optimized:                                    DISABLED      

Despuéss:

# make
# make install

Posteriormente para configurar un smtp como Gmail con ssl:

$ nano /etc/monit/monitrc
(...)
set mailserver “smtp.gmail.com” port “587”
username mimonit@gmail.com password “mipassword”
using tlsv1
with timeout 30 seconds
set alert john.doe@gmail.com

(...)

Fuente:
http://csrdu.org/toqeer/2010/07/27/monit-installation-and-configuration/

h1

Error, pkgProblemResolver::Resolve generó roturas; esto puede haber sido causado por paquetes retenidos

05/12/2011

Nota de seguridad (2026): este caso se documentó con paquetes muy antiguos. No elimines paquetes con dpkg --remove como remedio general sin revisar antes las dependencias y las consecuencias. Empieza inspeccionando apt-mark showhold, dpkg --audit y los mensajes de apt; determina el paquete conflictivo antes de intervenir.


Si al instalar un paquete se queda el sistema inestable con el siguiente aspecto:


root@whenigrewup:~#
root@whenigrewup:~# apt-get -f install
Leyendo listas de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Corrigiendo dependencias... falló.
Los siguientes paquetes tienen dependencias incumplidas:
kid3:i386 : Depende de: kde-runtime:i386 pero no está instalado
Depende de: libflac++6:i386 (>= 1.2.1) pero no está instalado
Depende de: libid3-3.8.3c2a:i386 pero no está instalado
Depende de: libkdecore5:i386 (>= 4:4.3.4) pero no está instalado
Depende de: libkdeui5:i386 (>= 4:4.3.4) pero no está instalado
Depende de: libkio5:i386 (>= 4:4.3.4) pero no está instalado
Depende de: libphonon4:i386 (>= 4:4.2.0) pero no está instalado
Depende de: libtag1c2a:i386 (>= 1.7) pero no está instalado
Depende de: libtunepimp5:i386 pero no está instalado
Depende de: libvorbisfile3:i386 (>= 1.1.2) pero no está instalado
Depende de: phonon:i386 pero no es instalable
kid3-qt:i386 : Depende de: libflac++6:i386 (>= 1.2.1) pero no está instalado
Depende de: libid3-3.8.3c2a:i386 pero no está instalado
Depende de: libphonon4:i386 (>= 4:4.2.0) pero no está instalado
Depende de: libtag1c2a:i386 (>= 1.7) pero no está instalado
Depende de: libtunepimp5:i386 pero no está instalado
Depende de: libvorbisfile3:i386 (>= 1.1.2) pero no está instalado
Depende de: phonon:i386 pero no es instalable
E: Error, pkgProblemResolver::Resolve generó roturas; esto puede haber sido causado por paquetes retenidos.
E: No se puede corregir las dependencias

En vez de desinstalar el paquete con apt-get, utilizar dpkg:
root@whenigrewup:~# dpkg --remove kid3-qt

h1

error /var/lib/dpkg/info/libcap2-bin.postinst: line 23: pam-auth-update: command not found

06/05/2011

Si al actualizar o modificar los paquetes instalados en Ubuntu ocurre el siguiente error:


(...)
Setting up libcap2-bin (1:2.19-2) ...
/var/lib/dpkg/info/libcap2-bin.postinst: line 23: pam-auth-update: command not found
dpkg: error processing libcap2-bin (--configure):
subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
libcap2-bin
E: Sub-process /usr/bin/dpkg returned an error code (1)
(...)

Al no disponerse habitualmente el comando «pam-auth-update» (deprecated), es facilmente solucionable bypasseandolo.

$ ln -s /bin/true /usr/local/bin/pam-auth-update

Fuente: OsDir

h1

error /usr/bin/mandb el caché de índices está dañado

30/12/2010

Si se produce el siguiente error:

/usr/bin/mandb: el caché de índices /var/cache/man/3665 está dañado.

es debido a que las bases de datos de ayuda están corruptas. Se soluciona de manera sencilla recreándolas automaticamente:

 

pilar002:/home/carlos# mandb -c

Fuente: LinuxQuestions

h1

Como montar automaticamente USB en Linux

30/04/2010

Si se desea montar automaticamente dispositivos USB en GNU/Linux, inicialmente se puede pensar en incluirlos los manejadores de dispositivos en el fichero /etc/fstab. No obstante esto provoca un inconveniente: en cada arranque el manejador cambia (de /dev/sdf1 a /dev/sde1 por ejemplo), por lo cual en ocasiones puede que no se monten todos los dispositivos.

Para evitarlo, es necesario utilizar los UUID de dispositivos:

1º) Identificar el UUID de un dispositivo USB montado:

cgacimartin@adscompc02:$ ls -la /dev/disk/by-uuid

total 0
drwxr-xr-x 2 root root 100 2010-04-30 12:36 .
drwxr-xr-x 5 root root 100 2010-04-30 12:36 ..
lrwxrwxrwx 1 root root 10 2010-04-26 13:24 03f96f18-00da-4253-81b9-5f7982fdd7f9 -> ../../sda5
lrwxrwxrwx 1 root root 10 2010-04-26 13:24 56E4E94AE4E92CC5 -> ../../sda1
lrwxrwxrwx 1 root root 10 2010-04-26 13:24 d474e575-2ff0-4c91-a962-aa010c4b42eb -> ../../sda3

2º) Cambiar la referencia en /etc/fstab del manejador al UUID:

cgacimartin@adscompc02:$ sudo nano /etc/fstab

#/dev/sda5 /users ext3 relatime,errors=remount-ro 0 1
UUID=03f96f18-00da-4253-81b9-5f7982fdd7f9 /users ext3 relatime,errors=remount-ro 0 1

h1

Monit «Couldn’t find your SSL header files»

08/01/2010

Compilando Monit puede producirse el siguiente aviso/errror:

root@server56:~/monit-5.0.3# ./configure
(...)
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for SSL support... enabled
checking for SSL include directory... Not found
Couldn't find your SSL header files.
Use --with-ssl-incl-dir option to fix this problem or disable
the SSL support with --without-ssl

#

Se soluciona instalando las librerías de SSL:
root@server56:~/monit-5.0.3# sudo apt-get install libssl-dev

h1

Error dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 7)

23/12/2009

Generando un paquete instalador .deb puede ocurrir el siguiente error:

vb@vk:~/xplico_0.5.4_final/xplico-0.5.4$ sudo dpkg-buildpackage -rfakeroot
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: set CFLAGS to default value: -g -O2
dpkg-buildpackage: set CPPFLAGS to default value:
dpkg-buildpackage: set LDFLAGS to default value: -Wl,-Bsymbolic-functions
dpkg-buildpackage: set FFLAGS to default value: -g -O2
dpkg-buildpackage: set CXXFLAGS to default value: -g -O2
dpkg-buildpackage: source package xplico
dpkg-buildpackage: source version 0.5.4
dpkg-buildpackage: source changed by Gianluca Costa
dpkg-buildpackage: host architecture i386
dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 7)
dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: warning: (Use -d flag to override.)

Se soluciona sencilla e intuitivamente instalando el paquete «debhelper»:
vb@vk:~/xplico_0.5.4_final/xplico-0.5.4$ sudo apt-get install debhelper

h1

/usr/bin/msgmerge not found

08/09/2009

Si a la hora de realizar una compilación se produce un error similar al siguiente:

/usr/bin/msgmerge --update ar.po amule.pot
/bin/sh: /usr/bin/msgmerge: not found

Es facilmente solucionable instalando el paquete gettext:

carlos@WhenIGrowUp:~/amule/amule$ sudo apt-get install gettext
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Paquetes sugeridos:
cvs gettext-doc
Se instalarán los siguientes paquetes NUEVOS:
gettext
0 actualizados, 1 se instalarán, 0 para eliminar y 81 no actualizados.
Necesito descargar 2067kB de archivos.
Se utilizarán 8221kB de espacio de disco adicional después de desempaquetar.
Des:1 http://archive.ubuntu.com hardy/main gettext 0.17-2ubuntu1 [2067kB]
Descargados 2067kB en 1s (1182kB/s)
Seleccionando el paquete gettext previamente no seleccionado.
(Leyendo la base de datos ...
152201 ficheros y directorios instalados actualmente.)
Desempaquetando gettext (de .../gettext_0.17-2ubuntu1_amd64.deb) ...
Configurando gettext (0.17-2ubuntu1) ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place