Aller au contenu

Mémo pour installation de Arch

·1610 mots

Installation de Linux Arch avec

  • linux-lts
  • partition en BRTFS (subvolume @rootfs et @home)
  • wayland avec Hyprland comme environnement de bureau et gestionnaire de fenêtres.
  • repo chaotic AUR

Voir aussi : script d’installation automatique avec option d’installation du système complet sur clé USB

Avant l’installation
#

Arch est un distribution Linux pour utilisateur avancé. Ceci ne s’adresse pas aux débutants sous linux.

Aide du site officiel Arch
#

Voici qqs pages utiles d’aide sur Arch :

Usage basique de Linux
#

Connaître l’usage basique de Linux avant de se lancer dans l’installation

Préparation du partitionnement
#

⚠ Connaître son futur plan de partitionnement AVANT de se lancer dans l’installation.

Usage possible d’une clé bootable, comme par exemple Kali Linux Live pour voir et éditer son disque dur avec une interface graphique (+ gparted).



L’installation
#

Après le boot sur la clé USB d’installation, on arrive sur la ligne de commande. Voici les commandes pas-à-pas ….

localectl list-keymaps
loadkeys fr-latin1

Vérification qu’on est en mode UEFI

cat /sys/firmware/efi/fw_platform_size
 => réponse 64, OK c'est UEFI

Connexion internet : à vous de faire le nécessaire suivant votre situation

ip link
 -> liste les interfaces réseau reconnues et disponibles
iwctl
 -> utilitaire pour la connexion via WIFI
	station wlan0 scan
	station wlan0 get-networks
	station wlan0 connect "Network Name"

ping 1.1.1.1 -> pour vérification que la connexion internet que ça marche

** Une manière simple d’avoir une connexion internet fonctionnant sans aucune configuration pour l’installation**

  • en utilisant la connexion 4G d’un téléphone portable + un partage de connexion via USB


Partitionnement
#

Partitionnement = étape critique … bien comprendre ce qu’on fait avant de s’y lancer
Ici j’utilise /dev/sdX qui ne désigne aucun disque, ni partition. A vous de mettre la partition correcte. En cas d’erreur possibilité d’effacement d’autres disque connecté à l’ordinateur. ATTENTION

Voici le schéma de Partitionnement que j’utilise:

  • partition EFI (fat32) minimum 500 Mo (pour boot sur plusieurs OS !!!!!!!!!)
  • partition avec Linux + vos données (BTRFS) avec 2 subvolume: @rootfs et @home pour séparer / et /home
  • partition swap/cache (optionnelle)

OS déjà installé à conserver Si un OS est déjà installé, et à conserver, comme Windows, alors il faudra préserver plusieurs partitions:

  • la partition de Windows
  • la partition EFI sur les ordinateurs récents
  • des partitions restore de Windows …

Vu d’ensemble des disques et partitions sur l’ordinateur

fdisk -l

Choisir le disque sur lequel sera fait l’installation

fdisk -l /dev/sdX
 -> vérification que Disklabel (ou Type d'étiquette de disque) est : "gpt"

Ensuite choisir les 2 (ou 3) partitions nécessaire : EFI (boot) + Linux + swap/cache (optionelle)

Création du répertoire d travail temporaire

mkdir tmp

Partition Linux
#

Création de sys. fichier BTRFS pour root.

  • => Si tout est à formater :
mkfs.btrfs /dev/sdXn
  • => Si partition BTRFS existante, et des données à conserver : gérer les subvolume avec
mount /dev/sdXn /tmp
btrfs subvolume list .....
btrfs subvolume delete ....
btrfs subvolume create ....
umount /tmp

Config BTRFS, avec création des 2 subvolume, @ (/root) et @home (/home)

mount /dev/sdXn /tmp
btrfs subvolume create /tmp/@rootfs
btrfs subvolume create /tmp/@home
umount /tmp
  • Puis dans tous les cas, montage
mount -o noatime,nodiratime,compress-force=zstd:3,discard=async,subvol=@rootfs /dev/sdXn /tmp
mount --mkdir -o compress=zstd,subvol=@home /dev/sdXn /tmp/home

Partition EFI
#

Si windows (ou autre OS) est présent, et à conserver, alors ne pas formater EFI.

Formatage EFI

mkfs.fat -F 32 /dev/sdXn

Montage EFI

mount --mkdir /dev/sdXn /tmp/boot

Partition SWAP
#

mkswap /dev/partition_d'échange
swapon /dev/partition_d'échange


Installation du système de base
#

reflector --latest 10 --protocol https,http --sort rate --save /etc/pacman.d/mirrorlist
pacstrap -K /tmp base linux linux-firmware nano grub efibootmgr intel-ucode bash man sudo zram-generator resolvconf reflector networkmanager

Dans la liste ci-dessus à installer, choisir intel-ucode avec un processeur intel, et amd-ucode avec un AMD of course

Possibilité d’utiliser refind en la place ou avec grub. A inclure dans la liste dans ce cas.



Génération de fstab
#

genfstab -U /tmp >> /tmp/etc/fstab
cat /tmp/etc/fstab
	-> vérification (possible) que tout est OK


Passage sur le nouveau système
#

arch-chroot /tmp

Timezone

ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
hwclock --systohc

Set langue

nano /etc/locale.gen
 -> décommenter fr....UTF-8

locale-gen

nano /etc/locale.conf
 -> avec LANG=fr_FR.UTF-8

nano /etc/vconsole.conf
 -> avec KEYMAP=fr-latin1

Hostname

nano /etc/hostname
 -> avec votre_nom_de_système

nano /etc/hosts
 -> avec 
		127.0.0.1 localhost
		::1 localhost
		127.0.1.1 votre_nom_de_système

Users

passwd
 -> mot de passe root

useradd -mG wheel,storage,power,audio,video -s /bin/bash votre_nom_utilisateur

passwd votre_nom_utilisateur
 -> mot de passe du nouvel utilisateur
 
EDITOR=nano visudo
 -> décommenter la ligne suivante pour exécuter des commandes avec sudo : %wheel ALL=(ALL) ALL

Grub

nano /etc/default/grub
 -> activer ces 3 paramètres pour enregistrer le dernier boot utilisé, et pas de sous-menu
	GRUB_DISABLE_SUBMENU=y
	GRUB_DEFAULT=saved
	GRUB_SAVEDEFAULT=true

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB 
grub-mkconfig -o /boot/grub/grub.cfg

Refind (optionnel)

refind-install

Gestion réseau

systemctl enable systemd-networkd
systemctl enable systemd-resolved
systemctl enable NetworkManager

Installation gestionnaire login (optionnel)

pacman -S lightdm lightdm-gtk-greeter
 -> ou sddm
 
systemctl enable lightdm

Install Xorg + LXDE (optionnel)

pacman -S --needed xorg xorg-xinit xorg-xlsfonts brightnessctl
pacman -S --needed lxde openbox pcmanfm network-manager-applet 
localectl set-x11-keymap fr
xhost si:localuser:root

Video driver

pacman -S --needed xf86-video-intel mesa vulkan-intel libva-mesa-driver mesa-vdpau

à adapter suivant votre config matérielle …. ici pour un portable avec carte vidéo intel

Enfin, redémarrage

exit
umount -R /tmp
reboot


Après l’installation … encore bien des étapes
#

Si LXDE + lightdm installé, permet de continuer la configuration plus facilement, en mode graphique.

Si démarrage en console, et LXDE installé alors faire pour lancer le mode graphique

echo "exec startlxde" >> .xinitrc
startx

Suite installation

timedatectl set-ntp true


Gestion Swap, RAM, écritures disques …

sudo nano /etc/fstab
 -> ajout de "tmpfs   /tmp         tmpfs   rw,nodev,nosuid,size=2G          0  0"
 -> modif pour pour / et /home avec "noatime,nodiratime"
 -> pour partitions BTRFS, ajout options avec "compress-force=zstd:3"
 -> pour disque SSD, ajout options "discard=async"


Config zram (avec zram-generator)

sudo nano /etc/systemd/zram-generator.conf
 -> avec
		[zram0]
		zram-size = min(ram / 2, 4096)
		compression-algorithm = zstd


Gestion Energie : TLP

sudo pacman -S tlp tlp-rdw
sudo systemctl enable --now tlp
sudo systemctl enable --now NetworkManager-dispatcher
systemctl mask systemd-rfkill.service systemd-rfkill.socket

Config TLP

sudo nano /etc/tlp.conf
 -> et décommenter "DEVICES_TO_DISABLE_ON_STARTUP="bluetooth nfc wifi wwan"

Limite de la charge batterie à 60%

sudo tlp-stat -b
 -> trouver l’id de votre batterie, ex : BAT0

sudo nano /etc/tlp.conf
 -> décommenter/modifier ces 2 lignes, avec l’id de votre batterie
			START_CHARGE_THRESH_BAT0=50
			STOP_CHARGE_THRESH_BAT0=80

sudo tlp start
 -> relance TLP
 
sudo tlp-stat -b
 -> vérification

tlp-stat -s
 -> permet de voir la config


Installation d’utilitaires

sudo pacman -S --needed wget bluez bluez-utils blueman


Config Bluetooth

sudo systemctl enable --now bluetooth
sudo nano /etc/bluetooth/main.conf
 -> décommenter pour ne pas démarrer auto #AutoEnable=false


Config du DNS



Config Reflector - optionnel https://wiki.archlinux.org/title/Reflector

systemctl is-enabled NetworkManager-wait-online
 -> vérif que enabled

sudo nano /etc/xdg/reflector/reflector.conf
 -> avec
		--save /etc/pacman.d/mirrorlist
		--country France,Germany
		--protocol https,http
		--latest 10

sudo systemctl enable --now reflector


Gestion des mots de passe des apps (comme pour nextcloud ….)

voir ici



Installation drivers son

sudo pacman -S --needed pipewire pipewire-alsa pipewire-pulse pipewire-jack wireplumber pavucontrol


Activation du dépôt chaotic AUR (https://aur.chaotic.cx/)

sudo pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com
sudo pacman-key --lsign-key 3056513887B78AEB

sudo pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst'
sudo pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'

sudo nano /etc/pacman.conf
 -> avec ajout à la fin de
	[chaotic-aur]
	Include = /etc/pacman.d/chaotic-mirrorlist

sudo pacman -Syu


Gestion des paquets AUR

https://wiki.archlinux.org/title/Arch_User_Repository

Installation de yay

Installation de paru (https://github.com/Morganamilo/paru). Installation possible avec pacman grâce au dépôt chaotic AUR

sudo pacman -S --needed base-devel git paru

Configuration de paru dans ~/.config/paru/paru.conf avec

[options]
AurOnly = true

# Disable editing PKGBUILD by default
SkipReview = true

Utilisation de paru Install : paru --aur -S Update seulement les paquets AUR: paru -Sua Uninstall : paru --aur -Rns

L’option –aur bloque l’utilisation de paru uniquement sur les paquets AUR. Donc paru ne touche pas aux paquets que pacman gère.

Création d’un alias de console afin de limiter paru aux paquets AUR : avec l’option –aur

nano .bashrc -> ajout de : alias paru='paru --aur'


Installation autres utilitaires

sudo pacman -S --needed gparted lshw git zip unzip p7zip htop tree dialog bash-completion net-tools ethtool btrfs-progs smartmontools gnome-calendar gvfs-mtp gnome-disk-utility brightnessctl profile-cleaner peazip octopi pacseek


Hyprland (wayland) and co …..

sudo pacman -S --needed hyprland swaync waypaper wlogout waybar wayland-protocols kitty qt5-wayland qt6-wayland hyprpolkitagent hyprpaper rofi-wayland hypridle hyprlock aquamarine hyprcursor hyprgraphics xdg-desktop-portal-gtk xdg-desktop-portal-hyprland hyprland-qt-support hyprland-qtutils xorg-xwayland hyprlang hyprpicker hyprutils eza awesome-terminal-fonts ttf-font-awesome otf-font-awesome noto-fonts noto-fonts-emoji ttf-fira-sans ttf-hack papirus-icon-theme imagemagick ttf-fira-sans qt6ct nwg-look adw-gtk-theme gsimplecal hyprshade bibata-rainbow-cursor-theme bibata-cursor-theme"

Pour faire des screenshots

sudo pacman -S --needed jq grim slurp wl-clipboard grimblast-git

Puis installer les fichiers de config hyprland.



Activation de la compatibilité avec programmes 32 bits (wine, freefilesync ….)

https://wiki.archlinux.org/title/Official_repositories#multilib

sudo nano /etc/pacman.conf
 -> décommenter 
	[multilib]
	Include = /etc/pacman.d/mirrorlist


Installation programmes basiques

sudo pacman -S --needed firefox catfish thunderbird baobab guvcview file-roller evince xournalpp libreoffice vlc obs-studio geany geany-plugins keepassxc audacious nextcloud-client gimp vlc mpv hunspell-fr hunspell-es_es hunspell-en_gb masterpdfeditor-free


Installation programmes AUR

paru -S slimbookbattery xnviewmp


Config No Hibernation

sudo nano /etc/systemd/sleep.conf
 -> avec
		AllowSuspend=yes
		AllowHibernation=no
		AllowSuspendThenHibernate=no
		AllowHybridSleep=no


Config Firewall

https://wiki.archlinux.org/title/Uncomplicated_Firewall

sudo pacman -S ufw gufw
sudo systemctl enable --now ufw
sudo ufw enable
sudo ufw status

à configurer avec gufw

aide : https://fr.linux-console.net/?p=16742 et https://leshirondellesdunet.com/pare-feu-ufw



Activation compatibilité programmes 32_bits (wine freefilesync …)
#

https://wiki.archlinux.org/title/Official_repositories#multilib

sudo nano /etc/pacman.conf
 -> décommenter 
	[multilib]
	Include = /etc/pacman.d/mirrorlist\n"


Gestion des paquets
#

Voir ici



Installation de programmes
#

Voir ces pages



Réglages divers
#

Voir ces pages avec des astuces de configuration pour différents logiciels



Sécurisation du démarrage (boot)
#

Par ici quelques réglages sur la sécurisation du démarrage de votre ordinateur.



Qqs commandes avancées
#

Par ici