Error: mysql_secure_installation command not found

Cuando se instala el gestor de bases de datos MariaDB, una de las primeras cosas que se suele hacer es ejecutar el script mysql_secure_insallation, que permite aumentar la seguridad de la instalación de varias formas, como podemos leer en la página correspondiente de la documentación de MySQL.

Como dicho script tiene su origen en MySQL, como es evidente por su nombre, los desarrolladores de MariaDB decidieron a partir de la versión 10.5 que mejor creaban su propio script, que es mariadb-secure-installation. Aunque en su página de documentación dicen que aún puede ejecutarse dicho script usando el nombre original, porque hay un enlace simbólico que relaciona ambos scripts, lo cierto es que si, por ejemplo, instalas Debian 12 de la rama testing, dicho enlace no existe, por lo que es posible que nos surja cierto desconcierto al no encontrar un script tan conocido y usado. Que al renombrar dicho script no solo se haya cambiado el nombre mysql por el de mariadb, sino que también se hayan sustituido los guiones bajos por guiones normales, no ayuda mucho a la hora de encontrar este nuevo script.

Así que habrá que acostumbrarse al nuevo nombre y ejecutar mariadb-secure-installation cada vez que instalemos una nueva inistancia de MariaDB.

Cambiar la resolución en Ubuntu Server

Después de instalar Ubuntu Server 24.04 LTS en mi servidor de pruebas, la resolución del terminal por defecto (no hay entorno gráfico, solo modo terminal) mostraba caracteres demasiado grandes y resultaba incómodo. Para cambiar la resolución por defecto podemos hacerlo modificando el fichero /etc/default/grub descomentando el comando que establece la resolución del terminal. El proceso sería el siguiente:

  1. Abrimos el fichero /etc/default/grub como root con un editor de texto.
  2. Localizamos la línea que pone «GRUB_GFXMODE…»
  3. La descomentamos quitando el carácter «#» al inicio y ponemos la resolución que queremos, por ejemplo en mi caso la línea queda «GRUB_GFXMODE=1024×768»
  4. Guardamos el fichero
  5. Ejecutamos el comando «sudo update-grub»
  6. Reiniciamos el ordenador

Cómo iniciar Linux sin entorno gráfico por defecto con systemd

Si tenemos un ordenador con una distribución Linux que arranca con systemd, podemos muy fácilmente conseguir que el inicio sea en modo gráfico o no, simplemente activando el servicio que corresponda.

Primero buscaremos qué gestor de pantallas se está utilizando, para eso en un terminal lanzamos el comando

cat /etc/X11/default-display-manager

El cual nos mostrará por pantalla si nuestro sistema usa gdm (lo normal en Gnome), kdm (utilizado por KDE) o sddm (usado en KDE Plasma). En mi caso me muestra «/usr/bin/sddm» porque estoy usando Debian 12 con KDE.

Para confirmar que el servicio que tenemos que modificar es el correcto lanzamos en un terminal el comando:

sudo systemctl status | grep sddm

El cual nos mostrará, si tenemos el servicio activado, algo como lo siguiente:

Al estar el servicio «enabled» se arranca automáticamente al iniciar el sistema, que lo hará, por lo tanto, en modo gráfico. Para desactivarlo, solo tenemos que lanzar el comando:

sudo systemctl disable sddm.service

De esta manera cuando arranquemos la próxima vez no se cargará el gestor de pantallas y podremos iniciar sesión directamente en modo consola.

Si en un momento dado queremos volver a estar en modo gráfico, solo tenemos que lanzar el comando:

sudo systemctl start sddm.service

Y nos aparecerá la ventana de inicio de sesión de sddm.

Más información en:

https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units-eshttps://wiki.debian.org/es/GDM

Instalar OnlyOffice en Debian 12 Bookworm

Si intentamos instalar la aplicación de escritorio OnlyOffice en Debian 12 siguiendo las instrucciones de su página web para hacerlo mediante el método de añadir el repositorio, cuando lanzamos la instalación con apt, da un error.

dpkg: error al procesar el paquete onlyoffice-desktopeditors (--configure):
el subproceso instalado paquete onlyoffice-desktopeditors script post-installation devolvió el código de salida de error 127

No tengo claro por qué se produce este error, pero al mirar las instrucciones de esa página veo que el repositorio de Debian que indican es para la versión 6 (Squeeze) que es muy antigua. Intentando acceder al mismo repositorio pero con la versión Bookworm (Debian 12) vemos que no existe.

La forma de instalarlo y que funcione es utilizar la AppImage, siguiendo las instrucciones de la página https://helpcenter.onlyoffice.com/installation/desktop-install-appimage.aspx

Yo me he descargado la versión 8.0.1 y me ha funcionado perfectamente en Debian 12 con KDE. El fichero AppImage realmente es un ejecutable similar a los «exe» del entorno Windows, yo lo he guardado en /opt pero podría estar en cualquier lugar del disco.

Añadir el ejecutable al menú de KDE es fácil pulsando con el botón derecho sobre el lanzador de aplicaciones, eligiendo «Editar aplicaciones», botón derecho sobre «Oficina», seleccionar «añadir elemento», rellenar la información del ejecutable y guardar.

Montar una partición NTFS de Windows en Linux con permisos de lectura y escritura

Si tenemos un sistema compartido entre Linux y Windows, es probable que queramos poder leer y escribir algunos archivos desde ambos sistemas. Desde Windows no se puede acceder a las particiones de Linux, pero desde Linux sí que es posible leer y escribir archivos en particiones ntfs gracias a los paquetee ntfs-3g y fuse.

Primero tenemos que entrar en el sistema Windows y desactivar el inicio rápido. Esto se puede hacer tanto en Windows 10 como 11. Pulsamos en el icono de inicio de Windows y en la ventana de búsqueda ponemos «panel de control» y pulsamos en el icono que nos muestra. En la ventana que se abre pulsamos en «Hardware y sonido», a continuación en el grupo de enlaces dentro de «Opciones de energía» pulsamos en «Cambiar las acciones de los botones de inicio/apagado». En la ventana que aparece, deberemos desmarcar la casilla que indica «Activar inicio rápido (recomendado)».

A continuación reiniciamos el equipo y entramos en el sistema Linux. Tenemos que instalar los paquetes ntfs-3g y fuse usando el gestor de programas que corresponda a nuestra distribución. Por ejemplo en Fedora 39 sería:

sudo dnf install ntfs-3g fuse

A continuación necesitamos saber el UUID de nuestra unidad ntfs. Podemos encontrarla utilizando el comando:

lsblk -f

La salida de este comando nos muestra varias filas y columnas con la información de nuestras particiones. Nos interesa la columna UUID de la fila cuyo fstype sea ntfs y se corresponda con la partición a la que queremos acceder desde Linux. En la imagen podemos ver que la unidad que nos interesa (en mi equipo) es la sda3 ntfs. Apuntamos el UUID.

A continuación necesitamos el id de nuestro usuario (uid) y grupo (gid) en el sistema Linux, los cuales los obtenemos con el comando «id» el cual nos da una salida

uid=1000(myuser) gid=1000(mygroup) grupos=1000(mygroup),10(wheel)

Ahora necesitamos crear el directorio donde queremos que se monte la partición ntfs. En mi caso lo he hecho en /mnt/win pero podría ser en otro.

sudo mkdir /mnt/win

La última operación a realizar es editar el archivo /etc/fstab (hay que hacerlo como root) y añadir al final una línea con:

UUID=<uuid>   /mnt/win     ntfs-3g    uid=<uid>,gid=<gid>,umask=0022   0   0 

Donde tenemos que reemplazar <uuid> con el valor obtenido con el comando «lsblk -f»; y <uid> , <gid> con los valores obtenidos con el comando «id».

Podemos comprobar que todo está correcto verificando las particiones especificadas en el fstab con el comando

findmnt --verify

Una vez comprobado que no ha habido errores, podemos volver a montar las particiones especificadas en el fstab con el comando

mount -a

Y ya tendremos preparada la partición ntfs para leer y escribir en ella desde Linux. Cuando reiniciemos el equipo esta configuración se mantendrá, y si acaso en algún momento vemos que ya no podemos escribir en la partición, lo más seguro es que en alguna de las actualizaciones de Windows se nos haya vuelto a activar el inicio rápido, por lo que habría que volverlo a desactivar a mano.

Cómo usar un directorio .bashrc.d para no «ensuciar» nuestro .bashrc

En los sistemas operativos GNU/Linux, el fichero ~/.basrhrc es un script de bash que se ejecuta cada vez que hacemos login en un terminal, y en él podemos encontrar las configuraciones que se aplican cada vez que iniciamos una sesión.

Es habitual escribir en él todo aquello que queremos añadir ya sea por gusto personal o para incluir una configuración que necesitemos o necesite un programa para ejecutarse, por lo que, si no somos muy cuidadosos, al final podemos llegar a tener un script .bashrc bastante «sucio» y desorganizado.

Otra cosa a tener en cuenta es que si hacemos una reinstalación de nuestro sistema, perderemos todas esas modificaciones, salvo que previamente las hayamos extraído y respaldado en un fichero aparte, algo que puede resultar engorroso si dichas modificaciones las tenemos esparcidas por todo el script.

Para evitar esto podemos hacer uso de un directorio .bashrc.d. Si miramos en el .bashrc que se crea por defecto en Fedora 39, veremos que tiene las siguientes líneas:

# User specific aliases and functions
if [ -d ~/.bashrc.d ]; then
for rc in ~/.bashrc.d/*.bashrc; do
if [ -f "$rc" ]; then
. "$rc"
fi
done
fi

Este código hace que se ejecuten todos los script que tengamos en el directorio .bashrc.d con extensión «bashrc», por lo que podemos incluir ahí todas nuestras modificaciones del perfil en scripts separados, de forma que podamos localizarlas rápidamente, así como respaldarlas, pues solo tendremos que copiar a un medio externo nuestro directorio .basrdc.d

Pongamos un ejemplo: yo suelo usar el alias «la» para ejecutar el comando «ls -la» pero no suele venir por defecto en Fedora. Para incluirlo en mi configuración primero creo el directorio «.bashrc.d»

mkdir ~/.bashrc.d

A continuación creo en él un fichero «01_alias.bashrc» con la línea

alias la="ls -la"

Si ejecuto en este momento la lista de alias que tengo en mi sistema con «alias -p» no aparecerá listado.

Si cierro el terminal y lo vuelvo a abrir, puedo comprobar que ahora ya sí que me aparece.

De la misma manera podemos crearnos por ejemplo un script ~/bashrc.d/10_python.bashrc con la línea

export PIP_REQUIRE_VIRTUALENV=TRUE

Y de la misma forma para cualquier otra configuración que necesitemos.

Firefox no muestra algunos videos web en Fedora 39

En una instalación desde cero de Fedora 39, una de las cosas que no me han funcionado ha sido la visualización de algunos videos de la web, en concreto los de un curso de EdX en el que me he apuntado. He probado a instalar codecs, etc. conforme se especifica en la página web de Fedora Docs, pero no he conseguido arreglarlo.

La solución finalmente ha sido desinstalar la versión de Firefox que viene por defecto en Fedora e instalar la que se obtiene desde Flathub. Si buscamos «Firefox» en la aplicación Software de Fedora veremos que se ofrece desde dos orígenes: el paquete rpm de la distribución y el flatpak que se obtiene de Flathub. Este último ya viene empaquetado con todos los codecs necesarios par la visualización de videos, etc.

Y con esta versión instalada, ya puedo ver los vídeos del curso sin problemas.

Por cierto, según las estadísticas del curso, solo un 5% de los que estamos apuntados al mismo usamos Linux para hacer los ejercicios, algo que me ha sorprendido, ya que el curso trata de programación y tecnologías web, aspectos en los que yo personalmente me encuentro mucho más a gusto en Linux que en Windows.

Iwlwifi falla en Linux con el error -110

Después de una instalación limpia de Fedora 39 en un Dell Latitude 5590, y comprobando que todo funcionaba bien, tras un par de reinicios, dejó de funcionar el wifi. No es que diera error, simplemente no aparecía ni la opción de activarlo, como si hubiera dejado de reconocerse el hardware. Haciendo un:

dmesg | grep iwlwifi

Se mostraba el error:

iwlwifi failed with error -110

Después de varias tentativas y búsquedas por internet, parece ser que el problema surge a causa del «fast boot» habilitado en la BIOS. Para corregirlo, hay que entrar en la configuración pulsando «F2» al iniciar.

Vamos a la sección Secure Boot y ponemos:

  • Secure Boot Enable, sin el check.
  • Secure Boot Mode, en modo Audit.

Después vamos a la sección POST Behaviour y ponemos:

  • Fastboot en modo Thorough

De esta manera, al reiniciar, ya aparece la wifi funcionando. Al parecer, el inicio rápido es tan rápido que no permite que se carguen correctamente los drivers en Linux al arrancar. Las prisas nunca han sido buenas.

Montar el acceso a HiDrive en Linux

El sistema de almacenamiento HiDrive disponible en Ionos tiene apps clientes para Windows, Mac y Android, pero no para Linux. Sin embargo, montar el acceso en Linux como si fuera una unidad de disco más es fácil utilizando el protocolo WebDav. La forma de hacerlo es la siguiente:

Instalamos davfs. Por ejemplo en Debian sería:

apt-get update 
apt-get upgrade (si hace falta)
apt-get install -y davfs2

Creamos el directorio donde montaremos la unidad remota, lo mejor es hacerlo en /home/<usuario> para evitar problemas de permisos, pero se podría hacer en cualquier otro directorio. Problemas de permisos también pueden darse cuando el directorio se crea en un sistema de archivos distinto al raiz :

mkdir /home/<mi_usuario>/HiDrive 

Tenemos que incluir nuestro usuario en el grupo davfs2 con el comando:

sudo usermod -aG davfs2 <mi_usuario>

Ahora podemos montar dicha unidad directamente desde un terminal lanzando el comando:

mount -t davfs -o noexec  https://webdav.hidrive.ionos.com/ /home/<mi_usuario>/HiDrive/

Si queremos que esta unidad se monte automáticamente cada vez que iniciamos el equipo, podemos editar el /etc/fstab y añadir la nueva unidad, para lo cual tenemos que incluir al final de dicho fichero una línea:

https://webdav.hidrive.ionos.com/ /home/<mi_usuario>/HiDrive davfs rw,user,uid=<mi_usuario>,auto 0 0

Para no tener que introducir usuario y contraseña cada vez que accedamos, podemos guardar nuestras credenciales en el fichero /etc/davfs2/secrets añadiendo al final de dicho fichero la línea:

/home/<mi_usuario>/HiDrive <Username> <Password>

Reiniciamos y ya se puede acceder a la unidad, que se sincronizará con el contenido remoto. Si queremos, podemos añadir la ruta a «Lugares» en el explorador de archivos para acceder más rápidamente.

Más información sobre el uso de HiDrive:

https://www.ionos.es/ayuda/hidrive/configuracion/ionos-hidrive-primeros-pasos/

https://server-help.org/index.php/2021/01/18/mount-hidrive-using-webdav-protocol/

https://geekland.eu/montar-servidor-webdav-en-un-sistema-de-archivos-con-davfs2/

Instalar KDE en Debian 11

Después de mucho tiempo trabajando en Debian con Gnome, me entraron las ganas de volver a usar KDE, escritorio que hace tiempo que no uso. Hacer el cambio es muy sencillo. Ejecutamos en un terminal:

sudo apt update && sudo apt upgrade
sudo apt install tasksel -y

A continuación ejecutamos tasksel

sudo tasksel

Y seleccionamos el escritorio que queremos instalar, en este caso KDE.

Esta es la forma en la que se explica la forma de instalar KDE en Debian en las páginas que he consultado, sin embargo, en ninguna de ellas se cita, y creo que es importante, que hay que tener en cuenta que el gestor de inicio de sesión por defecto en KDE es sddm, por lo que si procedemos de Gnome, que usa el gdm3, algunas cosas no funcionan, como por ejemplo activar el inicio de sesión automático de un usuario. Por evitar esto, tenemos que instalar también:

sudo apt install sddm kde-config-sddm sddm-theme-debian-maui

Y a continuación seleccionamos sddm como gestor de inicio con:

sudo dpkg-reconfigure sddm

Y ya está, ya tenemos KDE en Debian funcionando con su inicio de sesión correcto.