En mi artículo anterior les hablé un poco de los cambios que tiene Arch Linux con respecto a lo que estoy acostumbrado a hacer en Debian, los cuales veremos a continuación pues lo que toca, es mostrarles como instalar Arch sin morir en el intento.
Creo que es muy bueno aclarar que si he llegado hasta acá ha sido por la excelente guía que Gregorio Espadas ha escrito en su blog y de la cual tomo gran parte de su contenido para este artículo. Todo el crédito es para él.
Consejos previos a la instalación
Para instalar Arch lo 1ro que aconsejo es probar en una máquina virtual, de esta forma una vez que estemos seguro de lo que vamos a hacer, podemos proceder a ejecutar los pasos aprendidos en nuestro ordenador.
Lo 2do que recomendaría es hacer una salva de todos nuestros ficheros por si algo llega a ocurrir, y si es posible, hacer una instalación con el disco duro vacío. Por si acaso.
Y por último mi 3er consejo a la hora de instalar Arch, es tener otro ordenador con acceso a Internet por si se presenta algún problema o en su defecto, imprimir la guía de instalación que podemos encontrar en la Wiki de Arch Linux.
Instalación de Arch Linux paso a paso
Pues bien, supongo que ya tenemos a la mano una imagen actualizada del iso de Arch Linux. Al igual que GEspadas, recomiendo que se usen las correspondientes a las fechas: 2013.07.01, 2013.01.04, 2012.12.01, 2012.11.01, 2012.10.06, 2012.09.07, 2012.08.04, o superior, pues usan el mismo método de instalación que describiremos a continuación.
Pueden descargar la última compilación de la imagen iso de este enlace:
Lo primero es pasar nuestra imagen a una memoria USB, o quemarla en un CD-ROM «–¿En serio, en pleno siglo 21? ¬_¬
Una vez que hemos puesto la memoria en el puerto USB, procedemos a conocer cual es su nombre, para ello podemos usar el comando:
dmesg |tail
Lo que nos devolverá algo como esto:
[14403.197153] sd 7:0:0:0: [sdc] Write Protect is off [14403.197157] sd 7:0:0:0: [sdc] Mode Sense: 23 00 00 00 [14403.197299] sd 7:0:0:0: [sdc] No Caching mode page present [14403.197303] sd 7:0:0:0: [sdc] Assuming drive cache: write through [14403.198325] sd 7:0:0:0: [sdc] No Caching mode page present [14403.198329] sd 7:0:0:0: [sdc] Assuming drive cache: write through [14403.198726] sdc: [14403.199372] sd 7:0:0:0: [sdc] No Caching mode page present [14403.199376] sd 7:0:0:0: [sdc] Assuming drive cache: write through [14403.199379] sd 7:0:0:0: [sdc] Attached SCSI removable disk
Como pueden apreciar, en este caso mi memoria es sdc. Sabiendo esto, podemos proceder a pasar la imagen .iso a la memoria, que debe estar desmontada:
$ dd if=archlinux-2013.07.01-dual.iso of=/dev/sdc
Esto demora un poco, pero cuando termine reiniciamos nuestro ordenador y nos aseguramos que arranque por el dispositivo USB.
Una vez que arranque la PC nos encontraremos con esta pantalla, y en mi caso, selecciono la primera opción (64 bits).
1. Configurando el teclado.
Cuando cargue el prompt veremos algo como esto:
lo primero que debemos hacer seleccionar la distribución del teclado que estamos usando. En mi caso:
# loadkeys us
Si, hablo español pero mi teclado está en Inglés.. así que uso us, pero si su teclado está en español, pues quedaría:
# loadkeys es
Podemos ver todas las distribuciones disponibles para el teclado con el siguiente comando:
# ls /usr/share/kbd/keymaps/i386/qwerty
2. Particionando el disco
Ahora viene la parte más crítica de la instalación. Para particionar el disco usamos una herramienta un poco compleja de manejar, llamada cfdisk. Así que tecleamos:
# cfdisk
Y nos aparece algo como esto si tenemos el disco duro sin particionar:
Con cfdisk lo que haremos es configurar nuestra tabla de particiones. Por lo general lo normal en Arch Linux es configurar 4 particiones, como bien explica GEspadas:
- La primera, /boot, es donde se almacenarán los archivos esenciales para bootear ArchLinux (tales como el kernel, imágenes ramdisk, el bootloader, etc). Se recomienda un tamaño de 100 MiB (no es necesario dejarle más espacio).
- La segunda es la partición / (root), en donde se instalará el sistema operativo y las aplicaciones (entre muchas otras cosas). Su tamaño depende del uso que desees darle a ArchLinux. Unos 10 GiB deben ser más que suficientes para un sistema tradicional; si piensas que instalarás muchas aplicaciones (los juegos, entre ellas), será mejor pensar en unos 20 o 30 GiB.
- La tercera es la partición /home, donde se almacenarán nuestras configuraciones personales, las configuraciones de las aplicaciones (y tus perfiles en ellas), y tradicionalmente nuestros datos (documentos, fotos, videos, etc), por lo que se recomienda asignarle un espacio considerable del disco duro.
- Por último, toca elegir el tamaño de la partición swap, lugar donde se almacena temporalmente información de la memoria RAM (cuando ésta se llena) en el disco duro.¿Qué tamaño elegir para la swap?
Ahora bien, si tenemos un disco sin particionar, tenemos que ir creando las particiones colocándonos sobre el espacio libre (Free Space). Lo que hacemos es dar Enter sobre New y no sale algo como esto:
Damos enter y nos toca poner el tamaño que queremos usar. En este caso, la primera partición como se explica más arriba es /boot y no necesita más de 100 MB de espacio, así que podemos poner algo como esto:
Y por último, una vez que se ha credo esta partición, tenemos que establecerla como Booteable.
Para el resto de las particiones el proceso es el mismo, excepto cuando lleguemos a la partición para la Swap, pues una vez creada, nos ponemos sobre ella y damos Enter sobre Type y nos sale algo como esto:
Y tenemos que asegurarnos que tenemos seleccionada la opción 82.
3. Formateando las particiones creadas
Ahora nos queda darle formato a las particiones que configuramos con cfdisk. No creo que sea necesario volver a decir que esto deben hacerlo bajo su completa y total responsabilidad.
Para ello hacemos uso de mkfs de la siguiente forma:
# mkfs -t ext2 /dev/sda1
Esta partición se formatea en Ext2 que no tiene Journaling y el arranque por ende es mucho más rápido, entre otras cosas.
Ahora formateamos las particiones correspondiente a la / y al /home, ambas en ext4. Estoy suponiendo que hemos dejado la partición de la Swap como sda4.
# mkfs -t ext4 /dev/sda2 # mkfs -t ext4 /dev/sda3
Ahora pasamos a formatear la Swap con el comando mkswap y luego la activamos con swapon:
# mkswap /dev/sda4 # swapon /dev/sda4
4. Montando las particiones del disco duro
Vamos a montar las particiones que hemos creado y formateado en /mnt. Comenzamos por la partición destinada a la / y hay que tener en cuenta que no es sda1, sino sda2. Tengan cuidado con eso.
# mount /dev/sda2 /mnt
Ya montada esta partición, tenemos que crear en ella los directorios /boot y /home.
# mkdir /mnt/boot # mkdir /mnt/home
Y procedemos a montar las particiones correspondientes:
# mount /dev/sda1 /mnt/boot # mount /dev/sda3 /mnt/home
5. ¿Estamos conectados a Internet?
Antes de proseguir al siguiente paso tenemos que estar seguro que tenemos conexión a Internet.
Sinceramente no lo entiendo ¿Por qué no se pueden instalar los paquetes «base» del sistema desde el propio CD-ROM como en versiones previas? Si alguien lo sabe que me lo aclare.
Pues bien, hacemos un ping a cualquier IP o dirección que sabemos nos va a devolver una respuesta, por ejemplo:
# ping www.google.com
Y si todo funciona bien, pasamos al siguiente paso. Si no lo hace (algo raro a no ser que uses el iso 2012.07.15), primero tenemos que conocer cual es el nombre de nuestra tarjeta, por lo que ejecutamos:
# ip link
Lo que nos devolverá algo como esto:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 1000 link/ether 18:03:73:a3:f3:e1 brd ff:ff:ff:ff:ff:ff 3: wlp9s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000 link/ether 4c:80:93:19:da:02 brd ff:ff:ff:ff:ff:ff
En mi caso, la tarjeta que voy a usar es la cableada, que es enp5s0. Activamos la red con el siguiente comando:
# ip link set enp5s0 up
y se le asigna una IP dinámica mediante DHCP:
# dhclient enp5s0
En el caso que se vaya a conectar mediante WiFi, por favor lea este enlace.
6. Instalando el Sistema Base
Bien, tenemos Internet y ahora lo que nos toca hacer es ejecutar:
# pacstrap /mnt base base-devel
Pacstrap es el nuevo script de instalación de Arch Linux. Cuando lo ejecutemos comenzará a descargar e instalar los paquetes necesarios para que Arch funcione.
Y hagamos otra pausa por acá. Si como yo, tienen los repositorios en un servidor local, tenemos que editar el fichero /etc/pacman.d/mirrorlist y añadir la ruta de nuestro repo. Por ejemplo, en mi caso solo añadí delante de los mirrors que viene configurado:
Server = http://192.168.26.1/archlinux/$repo/os/$arch
Y listo.
Si disponemos de conexión cableada instalamos:
# pacstrap /mnt ifplugd
Si nuestra conexión es wifi:
# pacstrap /mnt wireless_tools wpa_supplicant wpa_actiond dialog
Por último instalamos sudo
# pacstrap /mnt sudo
7. Instalando GRUB
Ahora procedemos a instalar el Gestor de Arranque, en este caso Grub2. Para ello ejecutamos:
# pacstrap /mnt grub-bios
Es válido aclarar que como indica el nombre, este paquete está destinado a los que usamos BIOS. Si lo que tienen es UEFI, por favor léanse la documentación oficial al respecto y si les interesa usar Syslinux, pues GEspadas nos deja una excelente guía para ello.
8. Generando el fichero fstab
Ahora vamos a decirle a fstab como tenemos establecidas nuestras particiones.. para ello ejecutamos:
# genfstab -p /mnt >> /mnt/etc/fstab
9. Configurando el resto del sistema
Para configurar el resto de las cosas del sistema, debemos hacerlo mediante un chroot. Para ello ponemos:
# arch-chroot /mnt
El paso siguiente es establecer cual será el nombre de nuestro ordenador. El mío se llama Vostro, así que solo ejecuto:
# echo vostro >> /etc/hostname
Ahora, creamos un enlace simbólico de /etc/localtime a /usr/share/zoneinfo// (reemplaza y según tu ubicación geográfica). Por ejemplo, para Cuba:
# ln -s /usr/share/zoneinfo/America/Havana /etc/localtime
Posteriormente debemos configurar el fichero que corresponde a los locales, ubicado en /etc/locale.gen.
Lo abrimos con un editor de texto (nano en este caso) y descomentamos los locales a usar.. En mi caso descomenté es_ES.UTF-8 UTF-8, pero podía haber descomentado es_CU.UTF-8 UTF-8. Me quedó de esta forma:
#es_EC ISO-8859-1 es_ES.UTF-8 UTF-8 #es_ES ISO-8859-1
Luego ejecutamos:
# echo LANG="es_ES.UTF-8" >> /etc/locale.conf
Y por último, para que todo esto surta efecto (y lo digo por experiencia propia), deben ejecutar el comando:
# locale-gen
Para generar nuestra localización como es obvio.
Ahora nos queda establecer por defecto la distribución del teclado. Lo que hicimos en el primer paso solo fue establecerla para la sesión actual.
# echo KEYMAP=us >> /etc/vconsole.conf
¿Qué nos va quedando? Muy poco. En un paso más arriba instalamos GRUB pero no lo configuramos. Y eso es lo que haremos ahora:
# grub-install /dev/sda
Y creamos el fichero grub.cfg con el siguiente comando:
# grub-mkconfig -o /boot/grub/grub.cfg
Nuestro amigo GEspadas luego de repetir en varias ocasiones el proceso de instalación, notó un molesto bug en el GRUB (no es un bug de ArchLinux), el cual muestra por una fracción de segundo un mensaje de error al iniciar el sistema:
Welcome to Grub! error: file '/boot/grub/locale/en.mo.gz' not found
De todos modos, la solución que nos propone GEspadas es ejecutar:
# cp /boot/grub/locale/en@quot.mo /boot/grub/locale/en_US.mo
Ahora procedemos a crear el disco RAM inicial:
# mkinitcpio -p linux
Y ya casi terminamos.. solo nos queda hacer algo muy importante: Cambiar, o mejor dicho, establecer la contraseña para root. Así que ejecutamos:
# passwd
Salidos del chroot, desmontamos las particiones y reiniciamos:
# exit
# umount /mnt/{boot,home,}
# reboot
10. Creando nuestro usuario
Para añadir mi usuario, usé el siguiente comando:
# useradd -m -G audio,lp,optical,storage,video,wheel,games,power,scanner -s /bin/bash elav
Los grupos son los siguientes:
audio – Tareas que involucran la tarjeta de sonido y aplicaciones relacionadas.
lp – Administración de impresoras.
optical – Manejo de los dispositivos ópticos (CD, DVD, etc).
storage – Manejo de diversos dispositivos de almacenamiento.
video – Tareas que involucran la tarjeta de video y aceleración por hardware.
wheel – ¡Importantísimo! Para que el usuario pueda usar sudo.
games – Necesario para permisos de escritura para juegos.
power – Necesario para poder apagar y reiniciar el sistema.
scanner – Administración y uso de digitalizadores (scanners).
Accedemos al fichero /etc/sudoers y descomentamos la línea:
# %wheel ALL=(ALL) ALL
11. Activando Network-Manager
No sé ustedes pero yo uso NetworkManager para gestionar mis conexiones e interfaces de red.
Primero, detenemos el demonio de red:
# systemctl stop net-auto-wireless.service
A continuación, desactivamos los demonios de red que se estén ejecutando.
# systemctl disable net-auto-wireless.service
Por último, detenemos nuestras tarjetas de red. Si no sabemos cuales son, solo tenemos que teclear:
# ip link
En mi caso sería:
# ip link set enp5s0 down # ip link set wlp9s0 down
Activamos NetworkManager para que se inicie en el arranque con la siguiente orden:
# systemctl enable NetworkManager
Puede iniciar el demonio NetworkManager inmediatamente con la siguiente orden:
# systemctl start NetworkManager
En mi caso que uso KDE, solo me queda instalar el paquete kdeplasma-applets-networkmanagement una vez que haya instaldo mi Entorno de Escritorio, pero esto lo veremos en el siguiente artículo.
- Activar la red sin NetworkManager
Si nos conectamos por DHCP y no necesitamos gestionar la red manualmente, solo tenemos que ejecutar:
# systemctl enable dhcpcd@enp5s0.service # systemctl start dhcpcd@enp5s0.service
Claro, tienen que sustituir enp5s0 por el nombre de su interfaz de red.
Y eso es todo.. Ya tenemos Arch Linux instalado, configurado y funcionando. En el próximo artículo veremos como instalar KDE sin morir en el intento