ArchLinux
Installation de ArchLinux dans VirtualBox
Version de ArchLinux téléchargée : 2021.07.01-x86_64.
Version de VirtualBox : 6.1.
Configuration de la machine virtuelle
- 4Go mininum de mémoire vive.
- Disquette désactivée.
- 2 processeurs.
- 128Mo de mémoire vidéo.
- Accélération 3D désactivée.
- Mode d'accès réseau par pont (en0: Wi-Fi).
- Mode UEFI non activé.
Monter l'image ISO de ArchLinux sur le lecteur optique IDE de VirtualBox.
Lancement de l'installation
Initialisation de l'installation
- Clavier en français (Set the keyboard layout).
- Teste de la connexion (Connect to the internet).
- Permettre la synchronisation de l'horloge (Update the system clock).
- Définir le fuseau horaire.
loadkeys fr
ping -c 4 archlinux.org
# [...] 4 pings et le résumé
timedatectl set-ntp true
timedatectl set-timezone Europe/Paris
Gestion du disque
Vérifier les disques
lsblk
Résultat :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 641.6M 1 loop /run/archiso/airootfs
sda 8:0 0 40G 0 disk
sr0 11:0 1 779.3M 0 rom /run/archiso/bootmnt
Partitionner
fdisk /dev/sda
Résultat :
Command (m for help): n
Partition type
p primary (O primary, O extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Partition number (1-4, default 1):
First sector (2048-83886079, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-83886079, default 83886079): +4G
Created a new partition 1 of type 'Linux' […]
Command (m for help): t
Selected partion 1
Hex code or alias (type L to list all): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'.
Command (m for help): n
[…]
Select (default p):
Partition number (2-4, default 2):
First sector […]:
Last sector, […]:
# pour afficher le résultat final
Command (m for help): p
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Vérifier la nouvelle table de partition
lsblk
Résultat :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 641.6M 1 loop /run/archiso/airootfs
sda 8:0 0 40G 0 disk
|—sda1 8:1 0 4G 0 part
|—sda2 8:2 0 36G 0 part
sr0 11:0 1 779.3M 0 rom /run/archiso/bootmnt
Formater les partitions
Formater la partition swap
.
mkswap /dev/sda1
Formter la partition home
.
mkfs.ext4 /dev/sda2
Monter les partitions
swapon /dev/sda1
mount /dev/sda2 /mnt
Installation du système
pacstrap /mnt base base-devel linux linux-firware sudo networkmanager vim zsh git man-db man-pages texinfo
Prendre un café…
Paramétrage du système
Générer la table de partition
genfstab -U /mnt > /mnt/etc/fstab
Entrer dans le chroot
arch-chroot /mnt
Paramétrer le fuseau horaire et synchroniser l'horloge
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
hwclock --systohc
Fichier locale.gen
Génération des données locales
Décommenter les lignes en_US.UTF-8 UTF-8
(et fr_FR.UTF-8 UTF-8
si nécessaire) dans le fichier /etc/locale.gen
.
Puis générer les données locales.
locale-gen
Résultat :
Generating locale...
en_US.UTF-8... done
fr_FR.UTF-8... done
Generation comple.
Régler les données locales par défaut
echo "LANG=en_US.UTF-8
LC_COLLATE=C" > /etc/locale.conf
Régler le clavier en français
echo "KEYMAP=fr-latin9" > /etc/vconsole.conf
Entrer le hostname
echo "myarch" > /etc/hostname
Régler le fichier hosts
echo "127.0.0.1 localhost
::1 localhost
127.0.1.1 myarch.local myarch" >> /etc/hosts
Régler le mot de passe de root
passwd
Définir l'éditeur par défaut
Mais aussi ajouter quelques aliases.
echo "alias l='ls -lah'
alias vi='vim'
export EDITOR='vim'" >> /etc/skel/.bashrc
Bootloader : grub
Arch boot process - Boot loader.
GRUB - MBR.
pacman -S grub
# […]
grub-install --target=i386-pc /dev/sda
(Re-)Générer le fichier de configuration principale.
GRUB - Generate the main configuration file.
grub-mkconfig -o /boot/grub/grub.cfg
Microcode(s)
Dans l'hypothèse d'une machine virtuelle déplaçable, installer les 2 microcodes.
Microcode.
pacman -S intel-ucode amd-ucode
Regénérer le fichier de configuration de Grub.
grub-mkconfig -o /boot/grub/grub.cfg
NetworkManager
systemctl enable NetworkManager
Redémarrer
exit
umount -R /mnt
reboot
Penser à éjecter l'image ISO d'installation…
Gestion des utilisateurs
Groupe wheel
Nécessite que sudo
soit bien installé et que le VISUAL
soit bien défini (par exemple vim
).
Sudo.
visudo
Puis décommenter la ligne :
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL
Ajout d'un utilisateur
useradd -m -g wheel -c '<username>' -s /usr/bin/zsh username
passwd <username>
exit
Personnalisation de zsh
La personnalisation se fait depuis le compte utilisateur.
Installer oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Personnaliser le thème voulu dans le fichier ~/.zshrc
.
Installer le plugin zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Activer le plugin dans le fichier ~/.zshrc
.
plugins=([…] zsh-autosuggestions […])
Installer le plugin zsh-syntax-highlighting
.
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Le plugin doit être le dernier activé dans le fichier ~/.zshrc
.
plugins=( [plugins...] zsh-syntax-highlighting)
Vraiment personnaliser zsh
yay -S ttf-meslo-nerd-font-powerlevel10k zsh-theme-powerlevel10k-git
[…]
echo "source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme" >> ~/.zshrc
Relancer zsh
et répondre au question pour peronnaliser ZSH Powerline 10k.
Si besoin, pour relancer la configuration de zsh-theme-powerlevel10k
:
p10k configure
Serveur d'affichage Xorg
Vérifier le pilote vidéo nécessaire à la ligne Subsystem
.
lspci -v | grep -A1 -e VGA -e 3D
Résultat :
00:02.0 VGA compatible controller: VMware SVGA II Adapter (prog-if 00 [VGA controller])
Subsystem: VMware SVGA II Adapter
Flags: bus master, fast devsel, latency 64, IRQ 18
pacman -S xorg-server xf86-video-vmware
Environnement de bureau : Plasma & KDE
-
plasma
→ environnement de bureau. -
kde-applications
→ ensemble d'applications. - Des polices…
-
packagekit-qt5
→ permet àDiscover
de fonctionner correctement (Discover does not show any applications).
pacman -S plasma kde-applications ttf-{bitstream-vera,liberation,freefont,dejavu} freetype2 packagekit-qt5
Reprendre un deux trois cafés…
Gestionnaire d'affichage : SDDM
pacman -S sddm
systemctl enable sddm
localectl set-x11-keymap fr-latin9
systemctl start sddm
Il est possible de personnaliser le thème.
mkdir /etc/sddm.conf.d/
cat << EOF > /etc/sddm.conf.d/theme.conf
[Theme]
Current=breeze
EOF
Gestionnaire de paquets AUR
L'installation du gestionnaire de paquet soit se faire depuis un compte utilisateur (autre que root
), sans quoi il n'est pas possible de lancer le makepkg
.
AUR helpers.
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay -S yay
Si il y a une erreur, réinstaller base-devel
.
Installer le Guest Additions
pacman -S virtualbox-guest-utils
systemctl enable vboxservice
systemctl start vboxservice
Recommandations générales
Installer ArchLinux - UEFI
Version de ArchLinux téléchargée : 2021.07.01-x86_64
Type de connection : Ethernet
Mode de démarrage : UEFI
Lancer de l'installation
Initialiser l'installation
Mettre le clavier en français
La première commande permet de lister les claviers français.
ls /usr/share/kbd/keymaps/**/*fr*.map.gz
loadkeys fr
Tester la connexion
ping -c 4 archlinux.org
# [...] 4 pings et le résumé
Régler le fuseau horaire
timedatectl set-ntp true
timedatectl set-timezone Europe/Paris
Vérifier le système de démarrage
ls /sys/firmware/efi/efivars
Si la commande révèle bien le dossier sans erreur, le système de démarrage est bien en UEFI.
Gérer les disques
Vérifier les disques
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 620.8M 1 loop /run/archiso/airootfs
sda 8:0 0 465.8G 0 disk
[…]
sdb 8:16 1 998.3M 0 disk /run/archiso/bootmnt
[…]
sr0 11:0 1 779.3M 0 rom /run/archiso/bootmnt
Sauvegarder la table de partition
Backup and restore partition table.
sfdisk -d /dev/sda > sda.dump
Partitionner
fdisk /dev/sda
Noter la mention :
Changes will remain in memory onlu, until you decide to write them.
Be careful bfore using the write command.
Command (m for help): m
Help:
GPT
M enter protective/hybrid MBR
Generic
d delete a partition
F list free un partitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dum disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new lable
g create a new empty GPT parition table
G create a new empty SGI (IRIX) parition table
o create a new empty DOS partition table
s create a new empty Sun partition table
Créer la table de partition et les partitions
Create a partition table and partitions.
Créer une table GPT vide
Command (m for help): g
Créer les partitions
Schéma de partitions :
Point de montage | Partition | Type de partition | Taille suggérée |
---|---|---|---|
/mnt/boot or /mnt/efi | /dev/sda1 | EFI system partition | Au moins 260 MiB |
SWAP | /dev/sda2 | Linux swap | Plus de 512 MiB |
/mnt | /dev/sda3 | Linux x86-64 root (/) | Reste du disque |
Command (m for help): n
Partition number (1-128, default 1):
First sector ([…]):
Last sector, +/-sectors or +/-size{K,M,G,T,P} ([…]): +360M
[…]
Command (m for help): n
Partition number (1-128, default 2):
First sector ([…]):
Last sector, +/-sectors or +/-size{K,M,G,T,P} ([…]): +4G
[…]
Command (m for help): n
Partition number (1-128, default 3):
First sector ([…]):
Last sector, +/-sectors or +/-size{K,M,G,T,P} ([…]):
[…]
Command (m for help): t
Partition number (1-128, default 3): 1
Partition type or alias (type L to list all): uefi
[…]
Command (m for help): t
Partition number (1-128, default 3): 2
Partition type or alias (type L to list all): swap
[…]
Command (m for help): t
Partition number (1-128, default 3):
Partition type or alias (type L to list all): 23
[…]
Command (m for help): w
Formater les partitions
Formater la partition EFI.
mkfs.fat -F32 /dev/sda1
Formater la partition swap.
mkswap /dev/sda2
[…]
Formter la partition home.
mkfs.ext4 /dev/sda3
[…]
Monter les partitions
Monter la partition home.
mount /dev/sda3 /mnt
Monter la partition EFI.
mkdir /mnt/efi
mount /dev/sda1 /mnt/efi
Monter la partition swap.
swapon /dev/sda2
Paramétrage du système
Générer la table de partition
genfstab -U /mnt >> /mnt/etc/fstab
Entrer dans le chroot
arch-chroot /mnt
Paramétrer le fuseau horaire et synchroniser l'horloge
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
hwclock --systohc
Localisation
Génération des données locales
Décommenter les lignes fr_FR.UTF-8 UTF-8
(et en_US.UTF-8 UTF-8
si nécessaire) dans le fichier /etc/locale.gen
.
Puis générer les données locales.
locale-gen
Régler les données locales par défaut
echo "LANG=fr_FR.UTF-8
LC_COLLATE=C" > /etc/locale.conf
Régler le clavier en français
echo "KEYMAP=fr-latin9" > /etc/vconsole.conf
Entrer le hostname
echo "<hostname voulu>" > /etc/hostname
Régler le fichier hosts
echo "127.0.0.1 localhost
::1 localhost
127.0.1.1 <hostname voulu>.local <hostname voulu>" >> /etc/hosts
Régler le mot de passe de root
passwd
Définir l'éditeur par défaut
Mais aussi ajouter quelques alias…
echo "alias l='ls -lah'
alias vi='vim'
export EDITOR='vim'" >> /etc/skel/.bashrc
Bootloader : GRUB
Arch boot process - Boot loader. GRUB - GPT.
pacman -S --noconfirm grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
Générer le fichier de configuration principale.
Generate the main configuration file.
grub-mkconfig -o /boot/grub/grub.cfg
Microcode
pacman -S intel-ucode
grub-mkconfig -o /boot/grub/grub.cfg
NetworkManager
Redémarrer
exit
umount -R /mnt
reboot
Liens pouvant servir
Update error keyring
sudo pacman -Syy
sudo pacman-key --refresh-keys
sudo pacman-key --populate archlinux manjaro
sudo pacman -Sc
Or:
sudo rm -r /etc/pacman.d/gnupg
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman-key --refresh-keys
sudo pacman -Sy gnupg archlinux-keyring
sudo pacman -Sc
Or (e.g. for EndeavourOS):
sudo pacman -Syy archlinux-keyring endeavouros-keyring
sudo pacman -Su
Source: