===== Installation de Archlinux =====
==== Récupérer l'ISO ====
La télécharger depuis le [[https://www.archlinux.org/download/|site officiel]] puis la graver ou créer une clé avec. Sous Windows, on peut utiliser Unetbootin ou LinuxLive USB Creator. Sous Linux, on peut utiliser TuxBoot, dd, unetbootin. Pour Mac, on s'en fou on s'en sert pas :D
* dd sur linux : dd if=/chemin/archlinux-xxx.iso of=/dev/sdg status=progress
=== À savoir ===
Pour ce wiki, on admet que notre disque dur principal est **/dev/sda**, on part aussi sur un modèle classique root+swap+home.
=== Après avoir démarré sur l'ISO, activer le NTP, régler l'heure si besoin (attention l'iso démarre en UTC) et clavier FR ===
timedatectl set-ntp true
date -s "23 APR 2018 16:55:00"
loadkeys fr
==== Partionner et monter ====
Dans le tableau ci-dessous, **E** signifie l'appuie sur *Entrée*.
|Installation classique|Installation avec EFI|
|Créer une partition pour **/**, une swap de 4Go si il y a de la place sinon 2Go, et le reste pour **/home** (facultatif mais conseillé)|idem classique, mais d'abord créer une partition de 512Mo en VFAT avec le type “ESP Partition” au début disque|
|Lancer Fdisk /
fdisk /dev/sda
||
|*pas d'esp*|Créer la partition ESP **“n” E “p” E E E “+512M” E** puis lui donner le type ESP **“t” E “ef” E**|
|Créer la partition root **“n” E “p” E E E** pour 20G taper **“+20G” E**||
|Créer la swap **“n” E “p” E E E “+4G” E**||
|Créer la home **“n” E “p” E E E E E** au niveau du choix de la taille, on fait directement entrée pour qu'elle prenne automatiquement toute la place restante.||
|**“w” E** pour écrire la table de partition sur le disque et fermer.||
|*pas d'esp*|Formatage de la ESP
mkfs.vfat /dev/sda1 -n "EFI System"
|
|Formatage de la Root
mkfs.ext4 /dev/sda1 -L Archlinux
|Formatage de la Root
mkfs.ext4 /dev/sda2 -L Archlinux
|
|Formatage de la Swap
mkswap /dev/sda2 -L Swap
|Formatage de la Swap
mkswap /dev/sda3 -L Swap
|
|Formatage de la Home
mkfs.ext4 /dev/sda3 -L Home
|Formatage de la Home
mkfs.ext4 /dev/sda4 -L Home
|
|
mount /dev/sda1 /mnt/
swapon /dev/sda2
mkdir /mnt/home
mount /dev/sda3 /mnt/home
|
mount /dev/sda2 /mnt
swapon /dev/sda3
mkdir /mnt/{boot,ESP,home}
mount /dev/sda1 /mnt/ESP
mount /dev/sda4 /mnt/home
mkdir /mnt/ESP/boot
|
==== Mise à jour des mirroirs + classement par débit ====
cd /etc/pacman.d
cp mirrorlist mirrorlist.old
sed -i 's/^#Server/Server/' mirrorlist.old
# paquet pacman-contrib si rankmirrors n'est pas installé
rankmirrors -n 10 mirrorlist.old > mirrorlist
==== Installation du système de base et des outils dev pour l'AUR ====
pacstrap /mnt base base-devel linux linux-headers nano
==== Génération le fstab ====
genfstab -U -p /mnt >> /mnt/etc/fstab
==== Chroot de la nouvelle install ====
arch-chroot /mnt
**→ Installation avec EFI** il faut “bind-mount” la partition boot juste après avoir “chrooté”
mount -o bind /ESP/boot /boot
puis rajouter cette ligne dans le fstab
/ESP/boot /boot none bind 0 0
==== Réseau ====
=== dhcpcd / NetworkManager ===
Si vous faites une installation ne nécessitant pas de configurer un accès wifi, donc uniquement par cable, vous pouvez rester juste avec le client dhcp (dhcpcd). Sinon, je conseille d'installer NetworkManager.
pacman -S dhcpcd # pour le client dhcp seul
pacman -S NetworkManager # pour NM
=== Hostname ===
echo NomDeLaMachine > /etc/hostname
=== Hosts ===
echo '127.0.0.1 NomDeLaMachine.localdomain NomDeLaMachine' >> /etc/hosts
=== Fuseau horaire ===
ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
==== Locale & Clavier ====
=== locale ===
nano /etc/locale.gen #Décommenter sa langue
locale-gen
echo LANG="fr_FR.UTF-8" > /etc/locale.conf
export LANG=fr_FR.UTF-8
=== Clavier & font console ===
Télécharger la police terminus et éditer vconsole.conf
pacman -S terminus-font
* **/etc/vconsole.conf**
KEYMAP=fr-latin1
FONT=ter-218b
FONT_MAP=8859-15
Pour activer le chargement de la police juste après grub, ajouter **consolefont** aux HOOKS de **/etc/mkinitcpio.conf**
==== Générer l'initrd ====
mkinitcpio -p linux
pacman -S grub
==== Installation et configuration de GRUB ====
* Installation classique (en MBR)
grub-install /dev/sda --target=i386-pc
grub-mkconfig -o /boot/grub/grub.cfg
* Installation avec EFI 64
grub-mkstandalone -d /usr/lib/grub/x86_64-efi/ -O x86_64-efi --modules="part_gpt part_msdos" --locales="en@quot" --themes="" -o "ESP/EFI/grub/grubx64.efi" "boot/grub/grub.cfg" -v
* Installation avec EFI 32
grub-mkstandalone -d /usr/lib/grub/i386-efi -O i386-efi --modules="part_gpt part_msdos" --locales="en@quot" --themes="" -o "/ESP/EFI/boot/bootia32.efi" "boot/grub/grub.cfg" -v
==== Mots de passe & utilisateurs ====
=== Définir le mot de passe root ===
passwd
=== Création d'un utilisateur ===
useradd -g users -G audio,lp,optical,scanner,sys,storage,wheel -m utilisateur` #remarque : sys pour admin cups | wheel pour le sudo
passwd utilisateur
On décommente la ligne suivante dans **/etc/sudoers**
%wheel ALL=(ALL) ALL
Cela permet aux utilisateurs du groupe **wheel** d'utiliser **sudo**.
==== Réseau ====
Pour gérer un réseau mixte (LAN+WLAN), ou WLAN uniquement, je conseille d'installer NetworkManager.
Pour gérer un réseau LAN uniquement et par DHCP, je conseille d'utiliser dhcpcd
systemctl enable dhcpcd
On peut aussi l'activer seulement pour une interface spécifique
systemctl enable dhcpcd@eth0.service
=== Démonter le tout puis reboot ===
exit
umount -R /mnt
reboot
==== AUR Helper ====
=== YAY ===
MuX recommande YAY depuis la mort du projet Yaourt.
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Yeppee kay **yay** motherfuckeeeer :D
[[https://itsfoss.com/best-aur-helpers/|source]]
=== PIKAUR ===
Yay n'étant pas disponible pour l'architecture 32bits, MuX recommande l'utilisation de Pikaur sur ces systèmes.
git clone https://aur.archlinux.org/pikaur
cd pikaur/
makepkg -si
===== Astuces =====
==== i3 & keyring ====
Une application (nextcloud dans mon cas) vous redemande sans cesse le mot de passe à chaque ouverture de session ? Solution :
* **~/.xinitrc**
eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
export $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
dbus-update-activation-environment --systemd DISPLAY
exec i3
[[https://bbs.archlinux.org/viewtopic.php?id=224652|source]]
==== Clé bootable depuis EFI x86 ====
[[:doku#archlinux_bootable_en_efi_32|Archlinux bootable depuis EFI 32 bits]]