|
|
Ligne 9 : |
Ligne 9 : |
| = [http://wiki.archlinux.org/index.php/Partitioning Partitionnement] = | | = [http://wiki.archlinux.org/index.php/Partitioning Partitionnement] = |
| {| class="wikitable wtp wtmono1" | | {| class="wikitable wtp wtmono1" |
| | / || 25 Go | | | / || 30 Go |
| |- | | |- |
| | /var || 25 Go. Contient le cache pacman, comme celui-ci grossit il est intéressant de mettre {{boxx|/var}} dans une partition à part afin de ne pas bloquer le système si la partition n'a plus d'espace libre.<br>Éviter de le mettre sur un disque SSD car elle contient les logs ce qui génère beaucoup d'écriture. | | | /var || 25 Go. Contient le cache pacman, comme celui-ci grossit il est intéressant de mettre {{boxx|/var}} dans une partition à part afin de ne pas bloquer le système si la partition n'a plus d'espace libre.<br>Éviter de le mettre sur un disque SSD car elle contient les logs ce qui génère beaucoup d'écriture. |
Version du 23 mai 2023 à 22:33
|
loadkeys fr_CH
# _ → ?
# loadkeys fr-pc
|
/ |
30 Go
|
/var |
25 Go. Contient le cache pacman, comme celui-ci grossit il est intéressant de mettre /var dans une partition à part afin de ne pas bloquer le système si la partition n'a plus d'espace libre. Éviter de le mettre sur un disque SSD car elle contient les logs ce qui génère beaucoup d'écriture.
|
/boot |
512 Mo
|
/home |
40 Go
|
Swap |
2/5 of the RAM size for hibernation
|
Swap file |
dans un fichier plutôt que dans une partition. Permet d'en modifier facilement la taille.
|
|
# listez les disques: list block devices
lsblk
# -f: Output info about filesystems like UUID
|
|
# création des partitions
gdisk /dev/sda
|
Commandes:
- n → new partition
- p → print the partition list
- w → write and exit
- q → quit
Codes de partitions:
- ef00 → EFI System Partition
- ef02 → BIOS boot partition (GRUB avec BIOS/GPT)
- 8200 Swap
- 8300 Linux (/, /var)
- 8302 Linux home (/home)
- 0700 NTFS
|
Pour un système UEFI, la première partition doit être l'EFI System Partition d'une taille comprise entre 100MiB et 512MiB et formatée en FAT32
Pour un système BIOS/GPT, une partition dans les premiers 2TiB doit être la BIOS boot partition d'une taille de 1MiB et formatée en FAT32 |
|
# création des partitions
fdisk /dev/sda
# fdisk codes: 82 → Swap, 83 → Linux
|
|
# ext4
mkfs.ext4 /dev/sdx0
# add a label
e2label /dev/sdx0 myLabel
# EFI
mkfs.fat -F 32 /dev/sdx0
# swap
mkswap /dev/sdx0
# fat 32
mkfs.vfat -F 32 -n LABEL /dev/sdx0
|
Montage des partitions
|
# root
mount /dev/sdaX /mnt
# var
mkdir /mnt/var
mount /dev/sdaX /mnt/var
# home
mkdir /mnt/home
mount /dev/sdaX /mnt/home
# boot pour UEFI
mkdir /mnt/boot
mount /dev/sdaX /mnt/boot
|
Connexion au réseau
|
Nécessaire pour l'installation du système |
Wifi
Installation du système de base
|
pacstrap /mnt base base-devel linux linux-firmware
# activez la swap pour qu'elle soit détectée par genfstab
swapon /dev/sdx0
# Générer le fichier /etc/fstab
genfstab -U /mnt >> /mnt/etc/fstab
# -U Use UUIDs for source identifiers
# -L Use labels for source identifiers
# -p Avoid printing pseudofs mounts (default behavior)
# Chrooter dans le nouveau système
arch-chroot /mnt
|
Configuration
/etc/hostname
|
# équivalent: ajoute MON_PC au fichier /etc/hostname
hostnamectl set-hostname MON_PC
|
/etc/localtime
|
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
|
/etc/locale.gen
/etc/locale.gen
|
# Décommentez la ligne suivante pour le français
fr_FR.UTF-8 UTF-8
|
|
# Puis générez les locales
locale-gen
|
/etc/locale.conf
|
LANG=en_US.UTF-8
# LANG=fr_FR.UTF-8
# LANG=fr_CH.UTF-8
# LC_COLLATE: ordre de trie des fichiers
# . E e f é
LC_COLLATE=C
# é e E f
LC_COLLATE=fr_FR.UTF-8
# dates
LC_TIME=fr_FR.UTF-8
|
|
Format: langage[_pays][.encodage][@modification] |
|
# liste les locales disponibles
locale -a
|
/etc/vconsole.conf
|
KEYMAP=fr_CH-latin1
# KEYMAP=fr-latin9
# pour latin1
FONT=lat1-16
FONT_MAP=8859-1
# pour latin9
FONT=lat9w-16
FONT_MAP=8859-15
|
- KEYMAP configure le mapping du clavier
- FONT gère l'affichage des caractères spéciaux.
- lat1 (Latin-1) pour l’Europe de l'ouest (8859 specification)
- 16 pour la taille de la police
|
# liste des keymap disponibles
ls /usr/share/kbd/keymaps/
localectl list-keymaps
# liste des fonts disponibles
ls /usr/share/kbd/consolefonts/
# chamgement temporaire
loadkeys fr-pc
|
|
- lat0 → Latin-0, Latin-9, ISO 8859-15
- lat9 → Latin-9 sans mapping unicode
- lat9u → Latin-9 encodé dans une séquence non ISO
- lat9v → Latin-9 avec mapping unicode intégral
- lat9w → Latin-9 avec mapping unicode partiel, compatible Latin-1, Latin-9 et Unicode, €
/usr/share/kbd/consolefonts/README.lat9 |
/etc/mkinitcpio.conf
|
# Créer le RAM disk
mkinitcpio -P
|
/etc/hosts
Fichier de traduction nom de domaine → adresse IP
|
Inutile d'ajouter le nom d'hôte au fichier /etc/hosts car systemd gère la résolution de noms d'hôte |
/etc/hosts
|
# Ajouter le HOSTNAME du fichier /etc/hostname
127.0.0.1 localhost.localdomain localhost MON_PC
::1 localhost.localdomain localhost MON_PC
|
Autres
/etc/modprobe.conf |
Configuration des modules
|
/etc/pacman.conf |
Configuration des dépôts
|
/etc/pacman.d/mirrorlist |
Définition du site de téléchargement pour pacman
|
|
sudo mkdir /etc/systemd/system/getty@.service.d
|
/etc/systemd/system/getty@.service.d/activate-numlock.conf
|
[Service]
ExecStartPost=/bin/sh -c 'setleds +num < /dev/%I'
|
Installer un boot loader
Mot de passe root
|
passwd
|
Unmount and reboot
|
# exit the chroot environment
exit
# unmount all the partitions
umount -R /mnt
# restart
reboot
|
Environnement de bureau
DHCP
|
# listez les noms des périphériques réseau
ls /sys/class/net
# activez le service DHCP pour le périphériques réseau enp3s0
dhcpcd enp3s0
# activez au démarrage le service DHCP pour le périphériques réseau enp3s0
systemctl enable dhcpcd@enp3s0
|
Ajouter un utilisateur
|
useradd -m -s /bin/bash utilisateur
# -m, --create-home
passwd utilisateur
usermod -G users,wheel,audio,optical,lp,scanner,log,power,floppy,storage,video utilisateur
|
|
# Installation
pacman -S sudo
# run command as another user
sudo -u <user> <command>
|
|
# éditez le fichier /etc/sudoers avec la commande visudo
sudo EDITOR=nano visudo
# afficher la configuration de l'utilisateur courant
sudo -ll
# afficher la configuration d'un utilisateur
sudo -lU <user>
|
/etc/sudoers
|
# Reset environment by default
Defaults env_reset
# afficher des étoiles lors de la saisie du mdp
Defaults pwfeedback
# Set default EDITOR to nano, and do not allow visudo to use EDITOR/VISUAL.
Defaults editor=/usr/bin/nano, !env_editor
# changer les autorisations des utilisateurs
<user> <host>=(<user>:<group>) <commands>
# Autorise l'utilisateur 'nicolas' à utiliser 'sudo' depuis la machine locale
# HostName est le HOSTNAME définit dans /etc/hostname
nicolas HostName=(ALL) ALL
# L'option 'NOPASSWD: ALL' permet d'utiliser 'sudo' sans mot de passe
nicolas HostName=(ALL) NOPASSWD: ALL
# Autorise tous les utilisateurs du group 'wheel' à utiliser 'sudo'
%wheel ALL=(ALL) ALL NOPASSWD: ALL
# Le groupe wheel correspond aux utilisateurs ayant le droit de lancer la commande 'su'
# plus de saisie de mot de passe pour <USER_NAME>
Defaults:<USER_NAME> !authenticate
|
|
Quand un utilisateur correspond à plusieurs lignes, c'est la dernière qui sera utilisée.
Ajouter les nouvelles entrées à la fin du fichier. |
Complétion avec bash
~/.bashrc
|
complete -cf sudo
|
Obtenir le chemin vers le dossier de l'utilisateur courant dans un script lancé avec sudo
|
echo $(getent passwd $SUDO_USER | cut -d: -f6)
|
Date/Heure
|
# Définir la date et l'heure réelle, décalage compris
sudo timedatectl set-time "2013-05-18 20:06:00"
|
https://wiki.archlinux.org/index.php/Time
|
# changez le hardware clock en mode "localtime"
# même date/heure que le system clock
hwclock --localtime
# changez le hardware clock en mode "utc"
# utc: date/heure à GMT +0 sans notion de changement d'heure (DST = Daylight Saving Time)
# le system clock est donc calculé en prenant en compte la time zone et le changement d'heure
hwclock --utc
# changez durablement le mode de hardware clock
# editez le fichier /etc/rc.conf
HARDWARECLOCK="localtime"
HARDWARECLOCK="UTC"
|
|
# affichez la hardware clock
hwclock --show
# définir la hardware clock
hwclock --set --date "MM/DD/YYYY hh:mm:ss"
# définir la hardware clock à partir de la system clock
hwclock --systohc
# affichez la system clock
date
# définir la system clock
date MMDDhhmmYYYY
# définir la system clock à partir de la hardware clock
hwclock --hctosys
|
|
# activer au démarrage et démarrer
timedatectl set-ntp true
# status
timedatectl status
|
/etc/systemd/timesyncd.conf
|
[Time]
NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.fr.pool.ntp.org
|
UTC in Windows
Mettre à 1 le DWORD
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
|
# verify TRIM support
lsblk --discard
# TRIM support if DISC-GRAN (discard granularity) and DISC-MAX (discard max bytes) != 0
# periodic TRIM
sc-start fstrim.timer
sc-enable fstrim.timer
# list running timers
systemctl list-timers
|