mardi 14 novembre 2017

Installer Arch Linux en UEFI avec systemd pour le démarrage

j'utilise Etcher pour créer la clé USB de démarrage

1. La table de partition GUID (GPT) fait partie des spécifications UEFI (Unified Extensible Firmware Interface). Elle est plus moderne, elle peut supporter jusqu'à 128 partitions. Les partitions sont identifiées par des UUIDs ( globally unique identifiers). C'est le choix pour cette installation.

2. Vérifiez d'abord si le mode UEFI est activé. Si c'est le cas, Archiso (ensemble de scripts sur la clé USB de démarrage) va démarrer avec systemd. Tapez cette commande pour confirmer la présence du mode UEFI : 
  • ls /sys/firmware/efi/efivars qui va afficher les variables du répertoire
3. Vérifiez la connexion Internet avec: ping archilinux.org 

4. Mise à jour de l'heure du système: timedatectl set-ntp true et pour vérifier le status, faites timedatectl status

5. La table de partition doit être de type GPT. Faites fdisk -l pour vérifier la table et les partitions en place.

  • Pour créer une table de partition GPT, faites démarrer parted puis la commande mklabel GPT
  • Pour créer de nouvelles partitions, vous pouvez utiliser la commande cgdisk /dev/sda. Suivez ensuite les instructions pour définir le type de partition, le nom et la taille.
    • sda1 pour la partition /boot/ (512M)
    • sda2 pour le système / (50G)
    • sda3 pour la partition /swap (4G)
    • sda4 pour le /home (le reste du disque)
6. Pour maximiser la performance des disques SSD, on peut s'assurer que les partitions sont parfaitement alignées avec la commande blockdev --getalignoff /dev/sda (pour le disque sda, un résultat de 0 est attendu). Pour vérifier que votre SSD supporte le TRIM on peut faire la commande hdparm -I /dev/sda | grep TRIM

7. La commande lsblk -f permet de voir les partitions installées et leurs points de montage

8. Si ce n'est déjà fait, formater les partitions avec mkfs.
  • La partition de démarrage (boot) sera une partition de type EFI. Pour la formater, on fait:
    • mkfs.fat -F32 /dev/sda1 

  • mkfs.ext4 /dev/sda2 permet de créer un système de fichier ext4 sur la partition sda2 (/)
  • mkswap /dev/sda3 pour créer la partition swap
  • mkfs.ext4 /dev/sda4 permet de créer un système de fichier ext4 sur la partition sda4 (/home)
9. On doit ensuite monter les partitions pour installer le système (pour créer un répertoire, on utilise la commande mkdir)
  • On monte la partition système (/) avec la commande mount /dev/sda2 /mnt 
  • On créé ensuite le répertoire boot: mkdir /mnt/boot 
  • On monte le répertoire boot: mount /dev/sda1 /mnt/boot/
  • Pour activer le swap, on fait swapon /dev/sda3. Pour voir le statut de swap on utilise la commande free -h
  • Pour créer le dossier utilisateur on fait: mkdir /mnt/home >> mount /dev/sda4 /mnt/home
11. Installation des paquets de base: pacstrap /mnt base base-devel (base-devel permet l'utilisation de AUR)

12. Il faut ensuite générer le fichier fstab: genfstab -U /mnt >> /mnt/etc/fstab


13. Maintenant, il faut aller dans le système, faites la commande arch-chroot /mnt 

14. Installer les paramètres de temps de la zone:

  • ln -sf /usr/share/zoneinfo/Canada/Eastern /etc/localtime

15. Actionnez  hwclock --systohc pour l'ajustement de l'heure

16. Éditer le fichier /etc/locale.gen pour choisir votre language (locale), puis exécuter la commande locale-gen

17. Ajouter le nom de la locale au fichier /etc/locale.conf
  • echo LANG=''fr_CA.UTF-8'' > /etc/locale.conf 
18. Il faut donner un nom à l'ordinateur avec la commande echo NomDeLaMachine > /etc/hostname puis echo '127.0.1.1 NomDeLaMachine.localdomain NomDeLaMachine' > /etc/hosts

19. Créer le nouveau fichier initramfs avec la commande mkinitcpio -p linux

20. Définir le password root avec la commande passwd

20. Pour les processeurs Intel, installez intel-ucode: pacman -S intel-ucode

21. Pour installer le démarreur systemd, faites : bootctl --path=/boot install

22. Pour configurer le démarreur, fait: 
  • Configurer le fichier /boot/loader/loader.conf
    • nano /boot/loader/loader.conf et y inscrire les lignes suivantes:
      • #timout 3
      • default arch-*
  • Trouver le PARTUUID: ls -l /dev/disk/by-partuuid/
  • Créé un fichier arch.conf : nano /boot/loader/entries/arch.conf
    • title Arch Linux
    • linux /vmlinuz-linux
    • initrd /intel-ucode.img
    • initrd /initramfs-linux.img
    • options root=PARTUUID=1be66c6c-17c3-0148-8999-9f8959bf70c9 rw
23. À la fin, on fait exit pour sortir de arch-chroot et on démonte le système avec umount -R /mnt puis reboot pour redémarrer.

24. En cas de problème avec l'installation, on peut redémarrer avec la version live sur USB et monter la partition root sur /mnt et faire arch-chroot /mnt




mardi 7 novembre 2017

Préparer l'installation d'Arch Linux

Ma démarche pour l'installation d'Arch Linux.

Voici quelques éléments préparatoires en vue de l'installation:


  • Comment améliorer la stabilité d'Arch Linux:
    • https://wiki.archlinux.fr/Enhancing_Arch_Linux_Stability
      • Une partition Var de 6 à 8 Go afin de récupérer d'anciens paquets en cas d'instabilité des nouveaux.
      • S'assurer que les miroirs sont à jour.
        • https://www.archlinux.org/mirrors/status/
      • Prudence avec les paquets dans AUR
      • Éviter les paquets ''testing'' et de développement (dev, devel, svn, cvs, git, hg, bzr, ou darcs) surtout pour les paquets du noyau et de glibc.
      • Vérifier le PKGBUILD
      • Favoriser le noyau LTS
      • Installer des logiciels matures (version 2.5.1 au lieu de 2.5.0)
      • Favoriser les pilotes libres (https://www.linux-drivers.org/)
      • Mise à jour des paquets avec  pacman -S paquet et non pacman -Sy paquet
      • Mettre à jour le système régulièrement avec pacman -Syu
      • Éviter d'installer un paquet avec --force
      • Ne pas utiliser pacman -Rd paquet
      • Ne pas lancer  pacman -Scc, mais plutôt pacman -Sc
      • Rétrograder un paquet en cas d'instabilité
      • Sauvegarder régulièrement la liste des paquets installés
        • pacman -Qqe | grep -vx "$(pacman -Qqm)" > /path/to/chosen/directory/pkg.list
      • En cas de problèmes, ces paquets peuvent-être réinstallés facilement
        • xargs -a /path/to/chosen/directory/pkg.list pacman -S --needed
      • Pour sauvegarder les paquets de AUR, il faut faire la commande suivante:
        • pacman -Qqme > /path/to/chosen/directory/aur.list
      • Sauvegarder régulièrement la base de données pacman
        • tar -cjf /chemin/vers/où/sauver/pacman-database.tar.bz2 /var/lib/pacman/local
      • Pour la récupérer, il faut faire:
        • tar -xjvf /chemin/vers/sauvegarde/pacman-database.tar.bz2 -C /
      • Désactiver la commande ''make install'' dans  /root/.bashrc en ajoutant
        •  make() {
             [ "$1" == 'install' ] &&
               echo -e "WARNING:\nDON'T INSTALL SOFTWARE MANUALY\nDON'T USE unset make TO OVERRIDE" &&
               echo "Tip: It's easy to make own custom package see: man PKGBUILD makepkg" &&
               return 1;
             /usr/bin/make $@;
           }
      • Sauvegarder les fichiers de configuration avant de les modifier
        • cp config config.bak
      • Sauvegarder régulièrement les répertoires /etc, /home, /srv, et /var
        • Ex pour etc: tar -cjf /chemin/vers/où/sauver/etc-backup.tar.bz2 /etc
        • Pour restaurer etc: tar -xvjf /chemin/où/trouver/etc-backup.tar.bz2 -C /