viernes, 29 de agosto de 2025

Montar automáticamente un disco duro interno auxiliar sin usar fstab

Cuando arranco Debian 12 Mate me monta automáticamente las particiones de la unidad SSD (sda) pero NO monta la partición del disco duro donde almaceno varios datos (sdb1) sino que necesito hacer clic en Lugares y la etiqueta de la partición o acceder a Caja (el "explorador de archivos" de MATE) y abrir la partición.

Lógicamente puedo añadir una nueva entrada en fstab y montar donde quiera mi disco duro pero, ¿no podría simplemente simular que hago clic en las opciones de montaje manual sin instalar nada más que lo que ya trae el sistema.

Pues sí se puede hacer, el comando en concreto es el siguiente:

udisksctl mount --block-device /dev/sdb1

Si queremos podemos poner el comando en el script de opciones de inicio y así se montará automáticamente la partición al iniciar el sistema.

Para ello podemos añadir gráficamente el comando mediante las opciones de menu:

Sistema ► Preferencias ► Personal ► Aplicaciones al inicio

Pulsamos el botón Añadir y le ponemos un nombre indicativo que lo que hace y en el campo comando el comando completo que deseamos ejecutar.


En este caso el comando a ejecutar es:

udisksctl mount --block-device /dev/sdb1

Esto hará que el disco se monte se monte en la ruta:

mi_etiqueta_de_disco

Donde mi_usuario es el usuario con el que trabajamos y mi_etiqueta_de_disco la etiqueta del disco que estamos usando.

Un problema es que como esta ruta pertenece en principio a root no nos va a funcionar la papelera ni crear carpetas en el raiz del disco externo, para solucionarlo simplemente otorgamos la propiedad a mi usuario:

sudo chown mi_usuario mi_etiqueta_de_disco

Si tuviéramos problemas para borrar alguna carpeta también deberíamos comprobar si esa carpeta es propiedad de mi usuario o de root. 

Si no quieres que te pida contraseña cada vez que inicie el sistema para montar la partición recuerda que puedes configurar para que no te pida nunca más.

viernes, 22 de agosto de 2025

¿Que hago después de instalar Debian 13?

Por si alguien no se ha enterado aún, el pasado 9 de agosto salió Debian 13 estable, así que estoy actualizando los equipos como siempre de menos a más críticos.

Por ahora, he actualizado mi viejo portátil de Debian 12 a 13 y he instalado de cero en mi segunda torre, un viejo DELL Inspirion 3847 i3 así digo adiós al último Ubuntu que todavía tenía instalado, un obsoleto 20.04 que ya olía. Para ello me he creado un pendrive con Ventoy.

Nos vamos a centrar en la instalación limpia en este último equipo, después de la cual he hecho las siguientes operaciones:

  1. Como recomendé en el anterior artículo, instalo git y etckeeper para tener un control de los cambios que vaya haciendo en las configuraciones.
    sudo apt install git etckeeper
  2. Actualizo el sistema:
    sudo apt update
    sudo apt upgrade
  3. Descargo RetroMultiInstaller y lo ejecuto para facilitar la instalación desatendida de buena parte de mis programas fundamentales:
    cd $HOME
    mkdir opt
    cd opt
    git clone https://gitlab.com/cpcbegin/retromultiinstaller
    cd retromultinstaller
    ./retroinstaller.sh
  4. Nos vamos a la instalación desatendida mediante las opciones:
    Update > Multiinstall
  5. Seleccionamos los programas que vamos a instalar y pulsamos aceptar
  6. Instalo los paquetes que no están en los menús de RMI por estar en los repositorios oficiales y no presentar dificultades en su puesta en marcha:
    sudo apt install mc dosbox jedit okular audacity vlc blockattack keepassxc-full pdfarranger

 

Otras opciones

Aquí tenéis enlaces de como hacer diversas configuraciones a vuestra discreción en función de como quieras usar el sistema, bajo que circunstancias y para qué:

  • Montar disco auxiliar sin introducir una contraseña, por ejemplo, al hacer clic en un disco duro interno de gran capacidad donde tenemos nuestros archivos.
  • Automontaje:  también nos puede interesar que el disco interno auxiliar sea accesible aunque no hayamos hecho clic en él.
  • Autologin: solo en equipos que no tengan archivos ni datos sensibles y vayan a ser usados por un solo perfil.
     

Por supuesto, esto es solo una guía de lo que puedes hacer después de instalar Debian 13, puedes instalar y configurar lo que te guste y/o necesites. 



viernes, 15 de agosto de 2025

Controlar los cambios en la configuración de GNU/Linux con etckeeper

Para adaptar nuestro GNU/Linux a nuestras necesidades muchas veces tenemos que hacerle configuraciones globales a nivel de todo el sistema, esto se hace cambiando los correspondientes archivos de configuración que están dentro de la carpeta /etc como archivos sueltos u otros que están en las subcarpetas de esta ruta.

Es una operación delicada que tenemos que hacer con los máximos privilegios como root y que, si configuramos mal, podemos hacer que algún servicio deje de funcionar y no sabremos como ponerlos como estaba antes.

Para esto tenemos el paquete etckeeper que lo que hace, es gestionar todos los cambios que se produzcan dentro de la carpeta /etc usando git y guardarlos como commits, que son instántaneas de como estaba la configuración en un momento dado.

El programa creará un commit cada vez que hagamos una operación importante, como actualizar paquetes, aunque también lo hará cada día con los cambios que hayamos hecho o incluso podemos crear un commit de manera manual para tener los cambios de una configuración en concreto.

Para instalarlo lo podríamos hacer con un comando como éste:

sudo apt install git etckeeper

Como al instalarlo crea el commit inicial, lo ideal sería hacerlo con una distro recién hecha para así tener toda la historia de cambios, aunque se puede instalar en cualquier momento, solo que todo lo que se haya cambiado antes no habrá sido monitoreado.

 

Uso de etckeeper

Para usar etckeeper, abrimos una consola de comandos, nos situamos en la carpeta /etc

cd /etc

y como root ejecutamos los diferentes comandos git, es decir, según la configuración de nuestro GNU/Linux debemos haber tecleado su - antes de introducir el comando o usar sudo si nuestro usuario ya está en los autorizados en sudoers, como yo voy a asumir este último escenario voy a asumir el uso de sudo.

Algunas cosas que podemos hacer con etckeeper

  • Ver la historia de cambios:
    sudo git log
  • Ver si hay cambios pendientes de controlar:
    sudo git status
  • Añadir cambios aún no controlados:
    sudo git add .
    sudo git commit -m "Descripción del cambio"
  • Si la cosa va mal, podemos deshacer el último cambio:
    sudo git reset --hard HEAD~1

Para más información mira cualquier manual de uso de git.

viernes, 8 de agosto de 2025

Cambiar las cuerdas del tendedero

Las cuerdas del tendedero se van deteriorando hasta llegar a partirse por lo que cada cierto tiempo hay que cambiarlas, estos días en los que estamos muchos de vacaciones es un buen momento para hacerlo, vamos a ver una manera sencilla de cambiarlas usando la cuerda de al lado como apoyo:

Supongamos que tenemos un tendedero con varias cuerdas que están para cambiar como éste:
 

Un truco sencillo es retirar una cuerda y amarrar la que se va a poner a la contigua, hay que seguir los siguientes pasos:
  1. Pasamos la cuerda por una de las ruedas de arrastre.
  2. Deslizamos la cuerda contigua de manera que el nudo de unión esté junto a la rueda de arrastre por la que hemos pasado la cuerda que vamos a poner.
  3. Hacemos un nudo para unir provisionalmente la cuerda, hay que hacerlo de manera que al mover la cuerda de apoyo se desplace la cuerda que queremos poner.
  4. Una vez que la cuerda nueva llegue a la otra punta  deshacemos el nudo con cuidado de no perder la punta de la cuerda.
  5. Pasamos cuerda por la rueda de arrastre, de manera que si esa parte de la cuerda pasó por debajo en la rueda de enfrente así debemos ponerla (o por arriba en caso contrario.
  6. Volvemos a anudar y ahora arrastramos la cuerda en sentido contrario hasta volver a la rueda de arrastre inicial.
  7. Anudamos los dos extremos cuidando que quede bien tensa.
  8. Según el tipo de cuerda puede que se destense con el tiempo y tengamos que deshacer el nudo y volverla a tensarla. Ni se os ocurra usar cuerdas de cáñamo, como la lluvia se tensan tanto que destrozan las ruedas de arrastre.
¿Y como cambio la primera?

Pues el procedimiento es similar solo que en lugar de apoyarte en la otra cuerda habrá que ir pasándola por la ventana, lo puede hacer una sola personal pero es más cómodo con la ayuda de otra.



Algunas cuerdas se dan de sí con el tiempo y es posible que tengas que re-tensarlas, pero NO uses nunca cuerdas de cáñamo, se tensan tanto al mojarse que rompen las ruedas del tendedero.

viernes, 1 de agosto de 2025

Emular el Commodore 128 con 80 columnas con VICE

VICE es un emulador libre y multiplataforma de la amplia gama de ordenadores Commodore que no eran ni Amiga ni PCs.
Hace tiempo expliqué como instalarlo y añadirle todo lo necesario para hacerlo funcionar, aunque si no te quieres compilar también se puede instalar con RetroMultiInstaller.

Hoy vamos a ver como emular el Commodore 128, un ordenador de 8 bits, muy potente pero como otros llegó tarde, todas sus mejoras las podéis ver en su artículo en la wikipedia pero aquí lo que vamos a destacar es su capacidad para usar dos monitores a la vez, uno conectado por vídeo compuesto de 40 columnas y otro por RGBI de 80 columnas.

En un Commodore 128 real podríamos activar un monitor u otro pulsando una tecla "40/80 DISPLAY".
El monitor activo es el que muestra el prompt READY y donde aparecen los comandos que tecleamos y el resultado de la ejecución de los mismos.

Los que no tenemos la suerte de tener uno de estos ordenadores lo podemos emular con vice, para lo cual ejecutamos el comando:

x128

Se nos abrirán dos ventanas mostrando los dos monitores.


En principio aparecerá el promp Ready en el monitor compuesto de 40 columnas que es donde aparecerá todo lo que escribamos, mientras que el monitor RGBI de 80 aparecerá con la pantalla negra, pero si tecleamos el comando:

GRAPHIC 5

Aparecerá el prompt ahora en el monitor de 80 columnas, si queremos volver al monitor de vídeo compuesto tecleamos:

GRAPHIC 0

Si queremos que al cambiar borre la pantalla a la que transferimos el control deberíamos pasarle un segundo parámetro con valor 1, es decir, para cambiar y borrar las pantallas de 40 o la de 80 columnas tendríamos que teclear respectivamente:

GRAPHIC 0,1

GRAPHIC 5,1

De esta manera se podría utilizar en un programa ambas pantallas de manera alternativa, incluso se puede dejar un mensaje en la pantalla que no va a estar activa para avisar al usuario que use la otra, con un programa similar a este:

10 GRAPHIC 0,1
20 PRINT "ENCIENDE LA PANTALLA DE 80 COLUMNAS"
30 GRAPHIC 5,1
40 PRINT "SALUDOS EN EL MONITOR DE 80 COLUMNAS"

Este programa lógicamente devolvería el prompt en el monitor RGB.

En el caso del software comercial específico del C128 éste debería usar el monitor correcto para el funcionamiento deseado.

 

¿Y que pasa si quiero ejecutar CP/M a 80 columnas?

Sí, efectivamente, otra de las características que incorporaba del C128 era un procesador Z80 para ejecutar CP/M sin cartuchos adicionales pero si lo ejecutamos con el anterior comando lo veríamos a 40 columnas, lo que es un problema para los programas que requieren más columnas ya que para iniciarlo hay que introducir el disco de CP/M y reiniciar la máquina, con lo que no tendríamos acceso a los comandos de Basic antes descritos.

El emulador VICE también permite ejecutar por defecto el monitor RGBI de 80 columnas pero para ello hay que lanzarlo pasándole un parámetro tal que así:

x128 -80

De esta manera si cargamos CP/M y reiniciamos lo hacemos con 80 columnas de ancho y por tanto podríamos disfrutar de programa como el remake de Gorilla.BAS del que ya comenté las versiones de CPC y PCW en un reciente artículo de AUA.


En el caso de Windows posiblemente tendréis que crear un acceso directo con un comando similar a este:

x128 /80col

Este juego os lo podéis descargar de la página del autor, que incluye entre otras, una versión para el C128 con el autoarranque de CP/M preparado.

 

Fuente: Using 80 Columns in VICE Commodore 128 Emulator.

 

viernes, 25 de julio de 2025

Instalar VirtualBox en Debian con extension pack

VirtualBox es un software de virtualización muy fácil de instalar y desinstalar que no requiere licencias para su uso, aunque tiene una parte que no es libre llamada extesion pack que se puede usar para fines educativos y es necesaria si se quiere tener acceso a cosas como impresoras, portapapeles compartido, etc... 

Para instalar correctamente VirtualBox con Extension Pack en Debian 12 hay que seguir los siguientes pasos: 

  1. Si tenemos una versión previa de Virtual Box HAY QUE DESINSTALARLA o nos dará un error.
  2. Descargar VirtualBox, para lo cual debemos ir a la página de descargas de las versiones para GNU/Linux y elegir la correspondiente a Debian 12, o bien descargarla directamente desde consola, con un comando similar a este (el nº. de versión puede cambiar):
    wget https://download.virtualbox.org/virtualbox/7.1.12/virtualbox-7.1_7.1.12-169651~Debian~bookworm_amd64.deb
  3. Instalar VirtualBox:
    sudo dpkg -i virtualbox-7.1_7.1.12-169651~Debian~bookworm_amd64.deb
  4. Instalar dependencias si sale un error solicitándolas:
    sudo apt install -f
  5. Nos descargamos la versión correspondiente de VirtualBox extensión pack a esta versión de VB haciendo clic en el botón de "Accept and download", o si lo prefieres descargarlo desde la consola:
    wget https://download.virtualbox.org/virtualbox/7.1.12/Oracle_VirtualBox_Extension_Pack-7.1.12.vbox-extpack
  6. Ejecutamos la instalación del extension pack arrastando el archivo al VirtualBox arrancado, o desde consola:
    virtualbox Oracle_VirtualBox_Extension_Pack-7.1.12.vbox-extpack
  7. Nos pedirá aceptar la licencia educativa para poder instalar al ser esta parte del virtualizador no libre. 

 
Y listo, ya puedes disfrutar de tus máquinas virtuales.


¿Y para Debian 13 que sale la versión estable en un par de semanas? 

Lo mismo, solo que tendrás que bajarte la versión para esa versión en concreto y suele tardar algo más en estar disponible, así que si vas a necesitar VirtualBox mejor espera a que esté disponible para hacer la actualización y ya lo tienes sólido como una roca ;-)

viernes, 18 de julio de 2025

¿Cómo configurar dos VirtualHost en Apache2 con diferentes versiones de PHP?

Hace poco vimos como instalar y usar dos versiones distintas de php, ahora vamos a afinar más y vamos ha hacer que cada virtualHost de Apache2 use una versión distinta de PHP (por ejemplo, PHP 7.4 y PHP 8.3) en Debian 12, la forma más robusta y recomendada es usar PHP-FPM junto con el módulo proxy_fcgi de Apache. Así, cada sitio web puede ejecutar su propia versión de PHP de manera simultánea e independiente.

Pasos para la configuración:

  1. Instala y habilita los módulos necesarios de Apache:
    sudo a2enmod proxy_fcgi setenvif
    sudo systemctl restart apache2
  2. Asegúrate de tener instalados y activos los servicios PHP-FPM para cada versión
    Por ejemplo:
    sudo systemctl enable php7.4-fpm
    sudo systemctl start php7.4-fpm

    sudo systemctl enable php8.3-fpm
    sudo systemctl start php8.3-fpm
    Verifica que los sockets existan en /run/php/ (por ejemplo, php7.4-fpm.sock y php8.3-fpm.sock).

  3. Configura los archivos de VirtualHost
    Ejemplo para PHP 7.4
    Archivo: /etc/apache2/sites-available/site1.tu_dominio.conf
    <VirtualHost *:80>
        ServerAdmin admin@site1.tu_dominio
        ServerName site1.tu_dominio
        DocumentRoot /var/www/site1.tu_dominio

        <Directory /var/www/site1.tu_dominio>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

        <FilesMatch \.php$>
            SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
        </FilesMatch>

        ErrorLog ${APACHE_LOG_DIR}/site1_error.log
        CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
    </VirtualHost>
    Ejemplo para PHP 8.3
    Archivo: /etc/apache2/sites-available/site2.tu_dominio.conf
    <VirtualHost *:80>
        ServerAdmin admin@site2.tu_dominio
        ServerName site2.tu_dominio
        DocumentRoot /var/www/site2.tu_dominio

        <Directory /var/www/site2.tu_dominio>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

        <FilesMatch \.php$>
            SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost"
        </FilesMatch>

        ErrorLog ${APACHE_LOG_DIR}/site2_error.log
        CustomLog ${APACHE_LOG_DIR}/site2_access.log combined
    </VirtualHost>

  4. Habilita los sitios y recarga de Apache:
    sudo a2ensite site1.tu_dominio.conf
    sudo a2ensite site2.tu_dominio.conf
    sudo systemctl reload apache2

En conclusión:

  • Cada VirtualHost especifica su versión de PHP mediante la directiva SetHandler apuntando al socket de PHP-FPM correspondiente.
  • Puedes tener tantos sitios como necesites, cada uno con su propia versión de PHP, sin conflictos.
  • Esta configuración es válida tanto para entornos de desarrollo como de producción y es la más flexible y mantenible

.