# Instal·lació d'Arch Linux

**Arch Linux** és una distribució GNU/Linux dissenyada amb una filosofia molt diferent de les distribucions "amigables" com Ubuntu. No té instal·lador gràfic: t'obliga a fer manualment cada pas. És la millor manera d'entendre-ho tot en profunditat, però requereix atenció.

![Arch logo](https://proferamon.com/tic/imatges/arch/arch01.png)

# Filosofia

- **Simplicitat (en el sentit KISS: "Keep It Simple, Stupid")**: no afegeix capes d'abstracció innecessàries ni eines gràfiques que amaguin què fa realment el sistema.
- **Control total per l'usuari**: no ve amb res preinstal·lat que no hagis demanat. Tu decideixes quin entorn d'escriptori, quins dimonis, quins paquets vols.
- **Documentació excel·lent**: l'ArchWiki és una de les millors fonts de documentació Linux que existeixen, útil fins i tot per a gent que fa servir altres distribucions.

# Característiques tècniques

- **Rolling release**: no hi ha versions numerades (com Ubuntu 26.04, 24.04...). El sistema s'actualitza contínuament amb els paquets més recents.
- **Gestor de paquets `pacman`**: ràpid i senzill, complementat amb l'**AUR** (Arch User Repository), un dipòsit mantingut per la comunitat amb milers de paquets addicionals.
- **Instal·lació manual**: tradicionalment es configura des de la línia d'ordres pas a pas (particions, sistema base, bootloader, xarxa...), encara que ara hi ha un script `archinstall` que ho simplifica per a qui vulgui.

# Per a qui és?

Està pensat per a usuaris que volen entendre i controlar cada part del seu sistema, més que per a algú que busca "instal·lar i oblidar-se'n". Per això és molt popular entre administradors de sistemes, desenvolupadors i entusiastes de Linux, però té una corba d'aprenentatge més pronunciada que Ubuntu o Debian.

# 1. Preparació: descarrega i arrenca l'ISO

Descarrega l'ISO des d'[archlinux.org](https://archlinux.org/download/) i crea un USB d'arrencada:

>**A Linux**
>
>Substitueix la `X` de `/dev/sdX` per la lletra que correspongui a l'USB en el teu cas.
>
>```bash
>sudo dd if=archlinux-*.iso of=/dev/sdX bs=4M status=progress oflag=sync
>```

>**A Windows**
>
>Usa [Rufus](https://rufus.ie/ca/) o [Ventoy](https://www.ventoy.net/en/index.html)

Engega l'ordinador des de l'USB (canvia l'ordre al Boot Menú). Arribaràs a un shell de root.

# 2. Configuració inicial del Shell

Canvia el teclat a Català/Espanyol si cal:

```bash
loadkeys es
```

Canvia la mida de la font si et sembla petita. Pots triar entre: `ter-v16b`, `ter-v18b`, `ter-v20b`, `ter-v24b`, `ter-v28b` i `ter-v32b`:

```bash
setfont ter-v32b
```

Connecta a la xarxa Wi-Fi si cal (amb cable funciona sol):

```bash
iwctl
  device list
  station wlan0 scan
  station wlan0 connect "NomXarxa"
  exit
```

Verifica la connexió:

```bash
ping google.cat
```

# 3. Particiona el disc

Identifica el disc:

```bash
lsblk
```

## 3.1. Particiona

Particions amb GPT (sistema UEFI modern):

```bash
fdisk /dev/nvme0n1
```

Esquema recomanat per a un sistema UEFI:

| Partició | Mida | Tipus | Punt de muntatge |
|---|---|---|---|
| nvme0n1p1 | 512 MB | EFI System (ESP) | /boot/efi |
| nvme0n1p2 | >512 MB | Linux swap | swap |
| nvme0n1p3 | resta | Linux filesystem | / |

**Opcions dins de `fdisk`:**

- `n` → Crea una nova partició.
- `d` → Elimina una partició.
- `p` → Mostra la taula de particions.
- `w` → Desa i surt.
- `q` → Surt sense desar.

## 3.2. Formata les particions

La partició EFI System en FAT32:

```bash
mkfs.fat -F32 /dev/nvme0n1p1
```

La d'intercanvi tipus SWAP:

```bash
mkswap /dev/nvme0n1p2
```

L'arrel en EXT4 (o btrfs si prefereixes):

```bash
mkfs.ext4 /dev/nvme0n1p3
```

## 3.3. Munta-les

Munta la partició per a l'arrel a `/mnt`:

```bash
mount /dev/nvme0n1p3 /mnt
```

Crea la carpeta `/mnt/boot/efi`:

```bash
mkdir -p /mnt/boot/efi
```

Munta la partició EFI a la carpeta `/mnt/boot/efi`:

```bash
mount /dev/nvme0n1p1 /mnt/boot/efi
```

Munta la partició SWAP:

```bash
swapon /dev/nvme0n1p2
```

# 4. Instal·la el sistema base

Tria mirrors ràpids (opcional però recomanat):

```bash
reflector --country Spain,France --sort rate --save /etc/pacman.d/mirrorlist
```

Instal·la el sistema base + kernel + eines essencials:

```bash
pacstrap -K /mnt base linux linux-firmware base-devel networkmanager nano sudo
```

Aquí pacstrap instal·la el kernel Linux, les eines bàsiques i el gestor de xarxa al disc real, no al sistema en viu.

# 5. Configura el sistema instal·lat

Genera `/etc/fstab` automàticament a partir dels muntatges actuals:

```bash
genfstab -U /mnt >> /mnt/etc/fstab
```

Entra al sistema instal·lat com a `chroot`:

```bash
arch-chroot /mnt
```

**A partir d'aquí estàs dins del sistema nou:**

Estableix la zona horària:

```bash
ln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime
```

Copia la data i hora del rellotge del sistema cap al rellotge de maquinari:

```bash
hwclock --systohc
```

Estableix l'idioma Català:

```bash
echo "ca_ES.UTF-8 UTF-8" >> /etc/locale.gen
```

Estableix l'idioma Anglès:

```bash
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
```

Genera els fitxers binaris de les localitzacions Català i Anglès:

```bash
locale-gen
```

Defineix la variable d'entorn `LANG` per defecte de tot el sistema. Això fa que, un cop arrencat, el sistema faci servir el català com a idioma principal:

```bash
echo "LANG=ca_ES.UTF-8" > /etc/locale.conf
```

Defineix la disposició de teclat per a la consola virtual (TTY, abans que arrenqui cap entorn gràfic). `KEYMAP=es` configura el teclat espanyol (amb la ñ, els accents oberts, etc.).

```bash
echo "KEYMAP=es" > /etc/vconsole.conf
```

Posa el nom de l'ordinador:

```bash
echo "nomordinador" > /etc/hostname
```

Estableix la contrasenya de root:

```bash
passwd
```

Crea un usuari del grup `wheel` (sudoers):

```bash
useradd -m -G wheel -s /bin/bash elteunomdusuari
```

Defineix la contrasenya:

```bash
passwd elteunomdusuari
```

Executa l'ordre `visudo` amb l'editor `nano`: 

```bash
EDITOR=nano visudo
```

Activa sudo per al grup `wheel` descomentant la línia: `%wheel ALL=(ALL:ALL) ALL`

```nano
%wheel ALL=(ALL:ALL) ALL
```

# 6. Instal·la el bootloader GRUB

Instal·la GRUB i eines UEFI:

```bash
pacman -S grub efibootmgr
```

Instal·la GRUB a la partició ESP:

```bash
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ARCH
```

Genera el `grub.cfg`:

```bash
grub-mkconfig -o /boot/grub/grub.cfg
```

# 7. Activa els serveis essencials

Activa NetworkManager per tenir xarxa en arrencar:

```bash
systemctl enable NetworkManager
```

Si tens SSD, activa TRIM periòdic:

```bash
systemctl enable fstrim.timer
```

# 8. Reinicia al sistema nou

Surt del `chroot`:

```bash
exit
```

Desmunta `/mnt`:

```bash
umount -R /mnt
```

Reinicia:

```bash
reboot
```

Treu l'USB quan s'apagui. Ha d'arrencar directament a Arch Linux amb GRUB.

# 9. Primera arrencada: entorn gràfic (opcional)

Ara tens un sistema en mode text. Si vols escriptori:

Drivers de GPU (tria el que et correspon)

```bash
pacman -S mesa                          # Intel / AMD
pacman -S nvidia nvidia-utils           # NVIDIA propietari
```

GNOME complet

```bash
pacman -S gnome gnome-extra
systemctl enable gdm
systemctl enable NetworkManager
reboot
```

KDE Plasma

```bash
pacman -S plasma kde-applications sddm
systemctl enable sddm
reboot
```

Comparant amb Debian o Ubuntu, que fan tot això automàticament amb el seu instal·lador, en Arch has fet a mà: el particionament i format del disc, la generació del fstab, la configuració de la zona horària i l'idioma, la creació d'usuaris i permisos sudo, la instal·lació i configuració de GRUB a la partició ESP, i la selecció de quins serveis arrenquen. Cada decisió que has pres manualment és una cosa que Ubuntu o Debian decidien per tu. Ara saps exactament per què cada fitxer és on és i què fa.

# 10. Recursos addicionals

ArchWiki <https://wiki.archlinux.org/title/Main_page_(Català)>

Guia d'instal·lació d'ArchLinux <https://wiki.archlinux.org/title/Installation_guide_(Català)>

Per a més informació consulta les [equivalències entre apt i pacman](https://proferamon.com/tic/pacman.html).

#### Versions d'aquest document

+ HTML - [arch.html](https://proferamon.com/tic/arch.html)
+ PDF - [arch.pdf](https://proferamon.com/tic/docs/arch.pdf)
+ ODT - [arch.odt](https://proferamon.com/tic/odt/arch.odt)
+ MD - [arch.md](https://proferamon.com/tic/md/arch.md)

[Domini Públic (CC0)](https://creativecommons.org/publicdomain/zero/1.0/deed.ca)


