No muevo el directorio home completo porque no quiero que se mezclen escritorios, que se mezclen archivos de configuración de GNOME, KDE, etc, de diferentes versiones y que posiblemente vaya a borrar o cambiar en cualquier momento, quiero tener los datos de trabajo limpios.
Por este mismo motivo tampoco creo una partición para boot, quiero eliminar una distribución e instalar otra sin preocuparme de nada, ni de copias de seguridad, ni archivos de configuración o de arranque, nada, todo esto esta en una partición a parte para ser utilizados por todas las distribuciones. Recordar la importancia de tener copias de seguridad de los datos por lo que pueda pasar, yo hago copias semanales a dispositivos USB y MicroSD.
Este artículo lo baso en mi sistema y como tengo yo mi ordenador instalado y las distribuciones que tengo.
Tengo un disco de 1T, pero se podría hacer con un disco de 512G, las particiones que tengo son:
- Una partición de 512 MB para el sistema de arranque del ordenador montado en /etc/efi También puede llamarse "Área reservada de la Bios de arranque"
- Una partición para el swap (área de intercambio) de unos 10G, aquí dependerá de la memoria RAM que tengas pero a partir de 16G se puede poner 10G de swap. Si tienes menos pon tanto swap como memoria RAM tenga el ordenador.
- Tres / Cuatro particiones de 50G para instalar diferentes distribuciones Linux.
- Y el resto para los datos.
/dev/sda1 puede estar nombrada como FAT32 en versiones de Ubuntu / Debian o derivados más antiguos, creo que a partir de la 22.04 ya pone /etc/efi, y esta es la partición de arranque.
¿Porque 50G para las particiones de las distribuciones linux? pues no se, es un numero un poco a prueba y error, al principio las ponía de 30 pero había veces que me quedaba sin espacio y con 50 me va bien y no he tenido problemas de espacio hasta ahora (los datos van en otra partición) pero aquí dependerá de lo que quieras instalar, del número de distribuciones linux que quieras probar y del tamaño del disco que tengáis.
Yo lo que hago es tener una distribución base que es la que mas utilizo, Linux Mint con el escritorio Cinnamon, y después voy instalando y probando diferentes distribuciones linux.
Si es la primera vez que se realiza este proceso seguramente hay que formatear todo el disco para redistribuir las particiones, no te olvides de hacer copias de seguridad antes de formatear. Una vez distribuido por primera vez ya sirve para siempre, hasta que queráis cambiar tamaños.
Comentar que yo en ocasiones también tengo un Windows, para los que tenéis windows esta distribución de discos también sirve, solo que una de las primeras particiones sera la de Windows.
Instalando distribuciones linux
Podemos Instalar tres distribuciones Ubuntu, Linux Mint y Kubuntu con una instalación normal, si no tienes muy claro como instalar linux aquí os dejo un par de artículos donde lo explico:- Instalar Linux en un disco nuevo particionadolo con soporte EFI
- Como instalar Windows 11 y Linux juntos
Seleccionamos la partición para que el sistema la monte y active. Si es la primera vez que hacemos estas particiones tendremos que crear los directorios de trabajo, los que creo yo siempre son:
Descargas, Documentos, Dropbox, Imágenes, Vídeos
Estos son los directorios que enlazaré dentro de mi directorio /home/USUARIO a las carpetas que tienen el mismo nombre. Pero antes de crear las carpetas hay que dar permisos a tu usuario para que pueda escribir con la siguiente instrucción:
sudo chown alex.alex 34e84519-8119-4c05-951a-503b2fb845a9/ -R
Ahora al crear las carpetas os tiene que quedar así:
Ahora vamos a crear un script con los comando para instalar/actualizar el sistema automáticamente con los programas que mas utilizamos.
Tenéis que crear un fichero llamado install.sh en la raíz de vuestro sistema.
Y dentro copiar este código. Lo dejo muy explicado para que se entienda sin problemas.
#!/usr/bin/bash
# Nos ponemos en el directorio de usuarios /home/usuario
cd
#
# Actualizamos el sistema
sudo apt update
sudo apt upgrade
#
#
# Creamos dos directorios datos para enlazarlo con el disco/partición de 800GB
# y un directorio temporal
#
mkdir datos
mkdir tmp
#
# Añadimos al fichero /etc/fstab el enlace entre la unidad donde tenemos los datos
# Y el directorio que hemos creado para verlos
# Seguidamente montamos el directorio datos con la unidad de 800GB y le damos permisos
# a nuestro usuario
#
sudo tee -a /etc/fstab <<< '/dev/sda7 /home/alex/datos ext4 defaults,noatime 0 2'
sudo mount -a
sudo chown alex.alex /home/alex/datos/ -R
#
# Borramos del directorio /home/USUARIO todo lo que vamos a enlazar a la unidada
# de datos (lade 800G) o no queremos
#
rm Descargas/ Documentos/ Imágenes/ Música/ Plantillas/ Público/ Vídeos/ -r
#
# Enlazamos los directorios de datos con los nombre que tenian antes en el directorio
# de usuario asi todo queda como estaba pero los datos guardados en una unidad a parte
# y accesibles desde cualquier distribuccion linux
#
ln -s /home/alex/datos/Descargas
ln -s /home/alex/datos/Documentos
ln -s /home/alex/datos/Imágenes
ln -s /home/alex/datos/Vídeos
ln -s /home/alex/datos/Dropbox
#
# Modificamos el fichero /etc/sudoers para que al hacer sudo no pida password
#
sudo sed -i "s/%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD:ALL/g" /etc/sudoers
#
# Instalamos las aplicaciones que nosotros utilizamos
# Hay otras aplicaciones que instalaremos despues desde consola porque son .deb
# y las instalaremos todas de golpe
#
sudo apt install filezilla gcc vlc ubuntu-restricted-extras build-essential openjdk-18-jre rdesktop patch synapse samba gir1.2-gtop-2.0 linux-headers-$(uname -r) curlftpfs sshfs lm-sensors git zim htop ttf-mscorefonts-installer whois kazam keepassx gedit gedit-plugins gparted gimp python3-pip python3-gtkspellcheck git numix-gtk-theme numix-icon-theme numix-icon-theme-circle git vim curl apt-transport-https python3-venv python3-dev php
#
# Instalamos las aplicaciones que nos faltan desde y nos hemos bajado de internet en formato .deb
#
sudo dpkg -i /home/alex/Descargas/debs/*.deb
#
# Volvemos a corregir errores de dependencia
#
sudo apt-get -f install
#
# Instalamos el shell zsh para el terminal y sus utilidades.
#
sudo apt install zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
#
echo "FINNN"
Cosas importantes de este script:
Si por ejemplo nos fijamos en este otro disco, de otro ordenador:
El nombre es diferente, es /dev/nvme0n1p6 esto es lo que tenéis que buscar y poner en el script, el vuestro.
Ahora es la hora de ejecutar el script, para esto hay que darle permisos de ejecución
chmod 744 install.sh
y lo ejecutamos./install.sh
Hay que estar un poco atento al script porque en algún punto pide confirmación y esto es apropósito para poder ir revisando el script, y si falla algo revisarlo.
Una vez finalizada la instalación solo queda probar las aplicaciones instaladas y ponernos a trabajar. Copiamos el fichero install.sh al directorio de datos /home/alex/datos para guardarlo y tenerlo a mano para utilizarlos en el resto de instalaciones.
Ahora toca realizar el mismo proceso de instalación para el resto de distribuciones Linux que instalemos en nuestro ordenador, Ubuntu, Kubuntu, etc .. Es importante para que la automatización salga bien y no tener que ir tocando el script que el nombre de usuario y máquina sean el mismo en todas las distribuciones que instaléis en el mismo ordenador.
En la siguiente instalación de Linux, por ejemplo de Ubuntu la parte de creación de los directorios y la creación del script ya no se tiene que hacer y solo es revisarlo y ejecutarlo. No os olvidéis de seleccionar primero la partición de datos para que se active :-)
Y esto es todo amigos!!
Gracias por seguirme, leerme y espero que les haya ayudado
Saludos
Alex.
/
Faltó una cosa para que el artículo fuese impecable, y te lo ofrezco como idea, que es sustituir los nombres de usuario o algunas de las rutas por las variables de entorno que contienen esaos valores y así no habría que cambiar nada.
Un saludo.