Y seguimos para terrorista. Ahora, con Slackware 14.1, la llamada distribución madre. Una de las pocas distribuciones que quedan sin gestión automática de dependencias, con init en vez de systemd y fiel seguidora de la filosofia KISS (Keep It Simple, Stupid!), por resumir algo.
Procuraré no andarme con rodeos, todos tenemos cosas de tira-bombas que hacer, lo último que queremos es tardar demasiado en instalar un nuevo SO. En esta página podemos descargar la iso que más nos convenga. Una vez descargado:
dd if=slackware.iso of=/dev/sdx
Donde x es la letra del dispositivo donde queremos quemar la iso.
Arrancamos desde USB y veremos algo parecido a esto.
OPTION TO LOAD SUPPORT FOR NON-US KEYBOARD If you are not using a US keyboard, you may need to load a different keyboard map. To select a different keyboard map, please enter 1 now. To continue using the US map, just hit enter. Enter 1 to select a keyboard map:
Escogemos el mapa y pasamos al login, donde entramos con root.
Ahora llega lo interesante. El instalador de Slackware no particiona el disco, por lo que debemos hacerlo nosotros. Si tenemos una tabla GPT, usaremos cgdisk, sinó con fdisk vale. Veremos cómo hacerlo con cgdisk, ya que hay menos información que de fdisk (tampoco mucha menos).
Un inciso, si no habéis hecho un backup, tatuaros en la mano «Tengo Que Hacer Backups de Manera Regular», parad todo y haced uno.
De vosotros dependerá decidir que particionado necesitais, ya que tal vez decidís instalar Slackware junto a otro SO. Aquí haremos tres particiones: /boot, /boot/efi y el contenedor de lvm2 cifrado. Supondremos que el disco a particionar es sda y además no tiene ninguna partición hecha, así que hacemos gdisk /dev/sda y empezamos: (A partir de los dos puntos, es el input que haremos para cada partición.)
- /boot/efi: n, 1, 2048, 997375, EF00
- /boot/: n, 2, 997376, 1497087, 8300
- lvm2: n, 3, 1497088, +${Tamaño}g, 8300
- Escribir los datos: w
Explicación:
- El primer input, n, sirve para crear una nueva partición.
- El segundo input, {1,2,3}, es el número de cada partición.
- El tercer input es el sector de inicio de la partición.
- El cuarto input es el sector de finalización de la partición. En el caso de lvm2, ${tamaño} es una variable que indica que le metais el tamaño deseado.
- Y el quinto input es el código hexadecimal para definir el tipo de partición.
Para quien quiera saber más, man gdisk y RTFM. El esquema debería quedar parecido a esto:
Number Start (sector) End (sector) Size Code Name 1 2048 997375 486.0 MiB EF00 2 997376 1497087 244.0 MiB 8300 3 1497088 733919231 349.2 GiB 8300
Sigamos. Para borrar todo rastro de vida anterior en el disco duro, podemos usar este comando:
dd if=/dev/urandom of=/dev/sda3
Depende del tamaño del disco puede tirarse dos dias, literalmente. Avisados estáis. Una vez hecho esto, crearemos el contenedor de luks de 256 bits con cifrado AES-CBC-PLAIN y clave secreta.
cryptsetup -s 256 -y luksFormat /dev/sda3
Nos preguntará por la contraseña dos veces. Es especialmente importante haber escogido nuestro mapa de teclado, ya que tal vez usemos algún signo pensando que es otro diferente. Una vez creado el contenedor, lo abriremos, crearemos el volumen físico, el grupo de volumen y los volúmenes lógicos.
cryptsetup luksOpen /dev/sda3 slackcrypt pvcreate /dev/mapper/slackcrypt vgcreate cryptvg /dev/mapper/slackcrypt lvcreate -L 7G -n root cryptvg lvcreate -L 5GB -n var cryptvg lvcreate -L 2GB -n swap cryptvg lvcreate -l 100%FREE -n home cryptvg
Los volúmenes lógicos podéis y debéis adaptarlos a vuestras necesidades, este es sólo un ejemplo. Para que el SO detecte los volúmenes y los active:
vgscan --mknodes vgchange -ay
Y por último, activar el swap
mkswap /dev/cryptvg/swap
Una vez hecho todo esto, podremos empezar con la instalación en si con setup. La comentaré a grandes rasgos ya que la instalación dependerá de vuestras necesidades y además está hecha con una interfaz dialog muy simple. A la hora de decidir el sitio de cada partición, sólo recordaros que tenéis que definir la partición /boot, ya que no la detecta automáticamente, al contrario que /boot/efi y es necesario montarla fuera del contenedor cifrado, ya que sinó os dará error al intentar iniciar vuestro recién instalado Slackware.
En el momento de elegir los paquetes, deberiais instalar, cómo mínimo: A, AP, D y L. Podéis instalarlos con la opción menu para vaciar de cosas que no vayáis a necesitar, pero no es recomendable hacerlo si no sabéis lo que hacéis. Para ahorrarse problemas, usad full.
Otra cosa a tener en cuenta de Slackware es que usa LILO cómo encargado de arrancar el sistema. Si no tenéis ningún otro SO, tal vez os de igual y podéis escoger LILO sin más. Pero si tenéis otro SO instalado, probablemente con GRUB2, o simplemente os molesta el guarreo que hace LILO con el MBR, siempre podéis escoger no configurar LILO y añadir una sección para Slackware en /boot/grub/grub.cfg. Debería ser parecido a esto.
*** ### BEGIN /etc/grub.d/10_linux ### menuentry 'Slackware GNU/Linux 3.10.17' --class slackware --class gnu-linux --class gnu --class os { load_video insmod gzio insmod part_gpt insmod ext2 set root='(hd0,gpt2)' search --no-floppy --fs-uuid --set=root $UUIDde_sda2 echo 'Loading Linux 3.10.17 ...' linux /vmlinuz-generic-3.10.17 root=/dev/slackcrypt/root ro quiet echo 'Loading initial ramdisk ...' initrd /initrd.gz } ***
Una vez instalado, configurado todo y blablabla, recordad que tenéis que crear una imagen intrd, que es la encargada de descifrar el contenedor luks y cargar el kernel. Hacerlo será sencillo:
chroot /mnt /usr/share/mkinitrd/mkinitrd_command_generator.sh
El segundo comando ejecuta un script que nos dice que comando de mkinitrd ejecutar para generar nuestra imagen teniendo en cuenta lo que tenemos instalado en nuestor sistema. Para cubrir las necesiades básicas es más que suficiente. Así que deberemos ejecutar lo que nos devuelva, que será algo del tipo:
mkinitrd -c -k 3.10.17 -f ext4 -r /dev/slackcrypt/root -m rts5139:ehci-hcd:ehci-pci:usbhid:hid_generic:mbcache:jbd2:ext4 -C /dev/sda4 -L -u -o /boot/initrd.gz
Para cualquier duda, siempre podéis recurrir a la documentación de Slackware, que es muy completa.
Ah, y para facilitar nuestra vida de pedófilos, traficantes de drogas y/o sicarios, está sbopkg, que ayuda a mantener un seguimiento de todos los slackbuilds de slackbuilds.org que instalemos. Porqué nosotros lo valemos.
PD: Para todo lo demás, documentación oficial de Slackware.
A ver si encuentro tiempo y me instalo slackware. Tiene buena pinta y se agradece esta información para el tema del cifrado. Saludos.