Installer Manjaro
Au sommaire :
- 1-Qu'est-ce que Manjaro ?
- 2-Prérequis
- 3-Création de la machine virtuelle
- 4-Installation
- 5-Configuration avancée
- 6-Idéal pour un usage professionnel ?
1-Qu'est-ce que Manjaro ?
Manjaro est une distribution Linux basé sur Arch Linux mis en ligne pour la première fois en 2011 et qui en est actuellement à la version 25.
Cette distribution à la particularité d'être en "rolling release", c'est à dire en mise à jour continue. Donc pas de version LTS tous les deux ans ou de version intermédiaire comme c'est le cas sur Ubuntu par exemple.
Compatible avec la plupart des environnements bureautiques, Manjaro est tout comme Arch Linux proposé avec le gestionnaire de paquets Pacman (package manager) et est compatible avec les dépôts utilisateurs Arch (AUR).
2-Prérequis
Pour les besoins de ce tutoriel, il vous faudra :
Proxmox VE
Pour pouvoir virtualiser Manjaro, il vous faudra un serveur avec Proxmox Ve d'installé. Si ce n'est pas le cas, veuillez suivre le guide ci-dessous.
Manjaro
Cliquez sur le lien ci-dessous et téléchargez la dernière version stable de Manjaro (le tutoriel sera basé sur la l'environnement bureautique Plasma).
Pensez bien à téléverser le fichier ISO (local/ISO Images/Select File/Upload) sur votre serveur.
3-Création de la machine virtuelle
Accédez à l'interface web de PVE puis cliquez sur "create VM".
Note : cochez la case "Advanced" pour voir l'ensemble des options disponibles.
- VMID : par défaut, PVE vous indiquera le prochain VMID disponible
- Name : choisissez un nom pour votre VM
- Storage : Sélectionnez le fichier ISO de votre choix
- Guest OS : laissez par défaut lorsque c'est un OS sous Linux
- Graphic card : vous pouvez laisser par défaut ou bien choisir SPICE (voir dans la partie prérequis pour en savoir plus).
- SCSI Controller : laissez par défaut (c'est le meilleur choix possible en terme de performance).
- BIOS et Machine : laissez Seabios et i440fx par défaut.
- Cliquez sur Qemu Agent pour que PVE puisse recevoir des informations de la VM et lui envoyer des commandes (shutdown, reboot).
- Bus/Device : laissez par défaut.
- Storage : choisissez "local-lvm" pour un provisionnement dynamique.
- Disk size (GiB) : laissez par défaut (vous pourrez l'augmenter par la suite)
Ici, deux options sont à cocher :
- SSD emulation : indique au système virtualisé qu'il démarre sur un SSD et non sur un disque rotatif.
- Discard : active le TRIM et indique à PVE quels sont les blocs non utilisés dans la VM qui peuvent être effacés.
- Socket : laissez par défaut.
- Cores : 2 cores (minimum) ou 4 cores (recommandés)
- Type : laissez par défaut (voir les notes plus bas pour plus d'informations).
- Memory (MiB) : laissez par défaut.
- Bridge : le pont par défaut du serveur.
- Firewall : le pare-feu de PVE (iptable) activé par défaut.
- Model : VirtIO est installé d'office dans les distributions Linux et vous permettra de profiter des gains de performance grâce à la para-virtualisation.
Notes pour le type générique "x86-64-v2-AES" :
- C'est le nouveau choix par défaut sur PVE depuis la version 8 et remplace le type "kvm64"
- Il supporte le jeu d'instruction AES
- "v2" signifie tous les processeurs d'avant 2015
- C'est le minimum requis pour RHEL9 (incompatible avec le type "kvm64").
- Choisissez le type "x86-64-v2-AES" si votre VM tourne sur un cluster non homogène et que vous comptez un jour la migrer.
- Privilégiez le type "Host" pour un accès direct au processeur du serveur et des performances maximales si votre VM ne tournera que sur une seule machine.
Pour plus d'informations : https://www.reddit.com/r/Proxmox/comments/14l4iru/x8664v2aes_vs_host/?tl=fr
Vérifiez que tout est correct puis finalisez la création de la machine virtuelle.
Dans les options de la VM, pensez toujours à décocher l'option "Use tablet for pointer" qui dans le cadre d'un serveur est inutile et consomme beaucoup de ressources.
4-Installation
- tz : sélectionnez Europe/Paris.
- keytable : sélectionnez "fr".
- lang : laissez sur "en-US" si vous êtes habitués à l'anglais.
Le choix "Boot with proprietary drivers" est nécessaire si vous installez Manjaro sur une machine physique/virtuelle avec un GPU Nvidia car les pilotes propriétaires du fabricant sont supérieurs à ceux qu'on trouvent en open-source.
En ce qui concerne les pilotes, sélectionnez "Boot with open source drivers", c'est amplement suffisant pour une VM mais c'est un choix valide également si vous installez Manjaro sur une machine physique/virtuelle qui dispose d'un GPU AMD ou Intel (pilotes d'excellente facture).
Restez sur "Boot with open source drivers" puis validez en appuyant sur la touche "Entrée".
Cliquez sur "Launch Installer"
Sélectionnez la langue d'affichage (American English) ou laissez en français selon votre convenance.
Laissez par défaut et cliquez sur "Next".
Sélectionnez le type de clavier :
- French
- French (AZERTY)
Puis cliquez sur "Next".
Effacez entièrement le disque puis cliquez sur "Next".
Note : on abordera le chiffrement et le partitionnement dans un prochain tutoriel.
Indiquez votre nom, le nom d'hôte, votre mot de passe et cochez "Use the same password for the administrator account" (pour plus de commodité).
Sélectionnez "No Office Suite" et cliquez sur "Next".
Cliquez sur "Install" et "Install Now".
Manjaro est en cours d'installation.
Lorsque l'installation est terminé, cochez "Restart now" et cliquez sur "Done".
5-Post-installation
Au redémarrage, authentifiez-vous puis désactivez le pop-up en cliquant sur "Launch ar start".
Mise à jour des miroirs
Mettez à jour la liste des miroirs avec la commande suivante.
sudo pacman-mirrors --fasttrack
La liste sera enregistré dans le fichier /etc/pacman.d/mirrorlist.
Ou bien sélectionnez les plus rapides avec la commande suivante.
sudo pacman-mirrors --interfactive --api
Cliquez sur "Sync", sélectionnez les plus rapides tout en haut de la liste puis cliquez sur "OK".
Vous pouvez également sélectionner par pays avec la commande suivante.
sudo pacman-mirrors --country Germany,France,Spain
Mise à jour du système
Après avoir mis à jour la liste des miroirs, mettez à jour le système avec la commande suivante :
- Syu : sync, refresh et upgrade.
- --noconfirm : acceptation automatique
sudo pacman -Syu --noconfirm
Activer le SSD Trim
Si Manjaro tourne sur un stockage à mémoire flash, il est activé par défaut.
Tapez la commande suivante pour vérifier.
sudo systemctl status fstrim.timer
Si inactif, activez-le.
sudo systemctl enable fstrim.timer
sudo systemctl start fstrim.timer
cat /proc/sys/vm/swappiness
Activer AUR
AUR (Arch User Repository) est un référentiel composé d'un ensemble de scripts soumis par les utilisateurs.
Il n'y a aucun paquet pré-compilé. La compilation se fait sur la machine hôte avec la commande "makepkg" au moment de l'installation.
AUR est moins sécurisé donc la règle est d'installer à partir du dépot officiel si l'application est disponible et si ce n'est pas le cas, d'allez voir sur AUR (via la commande yay) et de vérifier les PKGBUILD.
En contrepartie, AUR vous permet d'accéder à une bibliothèque gigantesque d'applications, bien plus grande que celle se trouvant sur le dépôt officiel.
Installez git et base-devel (indispensable pour les paquets AUR).
sudo pacman -S git base-devel
Clonez le dépôt git.
git clone https://aur.archlinux.org/yay.git
Allez dans le dossier "yay"
cd yay
Puis construisez le fichier pkg avec la commande "makepkg"
makepkg -si --noconfirm
Installer une application
Pour chercher une application (Ss pour Sync et search).
sudo pacman -Ss htop
Pour l'installer (S pour Sync).
sudo pacman -S htop
Pour le référentiel AUR, c'est identique.
sudo yay -Ss htop
Si vous voulez par exemple récupérer le script qui vous permettra d'être le plus à jour possible avec l'application htop (htop-git), tapez la commande suivante.
sudo yay -S htop-git --noconfirm
La compilation du paquet se fera sur le système hôte et prendra donc plus de temps que de simplement installer le paquet avec pacman.
En suivant ce guide, vous avez de quoi démarrer sereinement avec Manjaro. On approfondira davantage dans un prochain tutoriel.
6-Idéal pour un usage professionnel ?
En discutant avec un collègue par mail de l'usage de Manjaro dans un cadre professionnel, j'ai trouver pertinent de vous partager son message car il semble avoir bien exploré en profondeur le système.
Collègue : je connais très bien la distribution « mère » de Manjaro, Archlinux qui fut ma distribution GNU/Linux personnelle pendant 12 ans avant de passer sur Fedora Kinoite. Manjaro comme Arch sont d’excellentes distributions, mais très exigeantes pour l’utilisateur surtout si l’on veut atteindre un bon niveau de sécurité.
Pour un usage perso, c’est idéal, mais pour un usage en environnement professionnel de production, j’y serai totalement défavorable :
- Tout comme Archlinux, Manjaro ne propose pas d’implémentation par défaut d’UEFI Secure Boot, il faut la faire à la main, signer son bootloader, enroller les clés (MOK) et signer le noyau à chaque mise à jour pour que ça fonctionne. Je l’ai fait pendant très longtemps c’est très contraignant. Mais sans Secure Boot, la sécurité de la machine est amoindrie. Nous avons eu un débat pour les nouvelles machines et j’ai fixé la règle que même sous GNU/Linux, le Secure Boot devait toujours être actif puisque c’est désormais bien supporté sous Linux. Typiquement, sans Secure Boot, impossible d’avoir du kernel lockdown (https://manpages.debian.org/bullseye/manpages/kernel_lockdown.7.en.html et ça aujourd’hui ça me semble être le minimum si on veut être safe.
- Tout comme Archlinux, Manjaro n’implémente aucun MAC/LSM par défaut. Le système n’est pas durci. On n’y trouve ni AppArmor, ni SELinux. Il faut donc installer ces modules de sécurité et surtout les configurer à la main pour protéger le système convenablement. Là où des distributions comme Fedora, Debian et Ubuntu ont une implémentation minimale de ces modules de sécurité pour protéger a minima le « sensible » (SELinux dans le cas du premier, AppArmor pour les deux autres). Archlinux ne supportant pas SELinux officiellement, il faudrait implémenter AppArmor à la main, écrire les règles etc.
- Manjaro est également une rolling release, elle applique la même philosophie qu’Archlinux, les paquets viennent « upstream » au plus proche de leur sortie par le développeur d’origine et ils sont fournies avec une configuration « neutre ». Sur Arch/Manjaro l’utilisateur doit tout choisir et paramétrer. Cela signifie que contrairement à Debian, les paquets sont peu testés avant leur déploiement dans les miroirs de la distribution. Ils évoluent très souvent et cela peut créer des soucis de dépendances ou de versions qui vont rendre la collaboration avec des collègues utilisant des versions plus anciennes très difficile. Au-delà du risque de bugs ou de casse système après un upgrade (du vécu…), il y a aussi un risque pour la sécurité, car cela signifie qu’une version vulnérable à la sortie upstream sera installée sur le système et restera vulnérable jusqu’au déploiement de la mise à jour. Sachant qu’ici, il y a un délai de plusieurs jours entre l’arrivée du paquet sur les dépôts d’Archlinux et son arrivée dans les dépôts de Manjaro.
- Cette distribution s’éloignant beaucoup du « commun », il est parfois difficile de trouver des paquets nécessaires aux besoins professionnels. Il faut donc activer des dépôts tiers ou des dépôts utilisateurs comme AUR (Arch User Repository) qui vont nuire à la sécurité car on ne peut pas savoir si l’intermédiaire qui a recompilé le paquet pour Arch est un tiers de confiance ou non. Il faudrait relire chaque PKGBUILD pour s’assurer que ça ne fait pas n’importe quoi…