où /dev/sdx correspond au périphérique USB (Attention à ne pas se tromper !!)
Démarrage de l'installation
Démarrer sur la clé et sélectionner "Arch Linux install medium (x86_64, UEFI)" dans le menu de démarrage. On arrive sur la ligne de commande avec un prompt root.
Agencement du clavier
# loadkeys fr
Pour lister les agencements disponibles :
# find /usr/share/kbd/keymaps/ -type f
Vérifier que l'on est en mode EFI. Si c'est bien le cas, la commande ci-dessous doit afficher les variables EFI :
# efivar -l
Connexion réseau wifi
Utiliser la commande iwctl fournie par iwd (iNet wireless daemon) :
# iwctl device list ---> Récupérer le nom de l'interface (ici, wlan0)
# iwctl station wlan0 scan ---> Scan wifi
# iwctl station wlan0 get-networks ---> Lister les réseaux wifi détectés
# iwctl --passphrase passphrase station wlan0 connect myssid ---> Connexion au point d'accès
# ping www.google.com ---> Test de la connexion
Partitionner l'espace disque.
Schéma de partitionnement cible :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 238,5G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 512M 0 part /boot
└─sda3 8:3 0 237,5G 0 part
└─cryptroot 254:0 0 G 0 crypt
├─vg0-swap 254:1 0 G 0 lvm [SWAP]
├─vg0-root 254:2 0 G 0 lvm /
└─vg0-home 254:3 0 G 0 lvm /home
# mount /dev/mapper/arch-root /mnt
# mkdir /mnt/boot && mount /dev/sda2 /mnt/boot
# mkdir /mnt/boot/efi && mount /dev/sda1 /mnt/boot/efi
# mkdir /mnt/home && mount /dev/mapper/arch-home /mnt/home
Sélection des miroirs
Automatique
Sur le système Live, lorsqu'on active la connexion internet, reflector met à jour la liste des miroirs en choisissant les 70 derniers miroirs synchronisés et en les classant par leur bande passante (le plus rapide en haut).
Manuelle
Décommenter et déplacer le miroir préféré en haut du fichier /etc/pacman.d/mirrorlist.
Préférer un miroir géographiquement proche (vérifier sur http://archlinux.org/mirrorlist/).
Installation du système et des outils nécessaires au premier démarrage.
Système de base
# pacstrap /mnt base base-devel linux linux-firmware
Ajouter les options suivantes avant 'filesystems' :
keymap : chargement du clavier
encrypt : gestion du chiffrement
lvm2 : gestion des volumes logiques
resume : gestion du mode hibernation
Note : quelque soit l'ordre choisi, pensez toujours à placer keymap devant encrypt, sous peine de vous retrouver avec un clavier qwerty pour taper la passphrase permettant de déchiffrer le volume principal
Editer le fichier /etc/default/grub et modifier la variable GRUB_CMDLINE_LINUX afin de préciser le périphérique chiffré (cryptroot) et le périphérique d'hibernation (partition de swap) :
Au démarrage la passphrase est demandée afin de déchiffrer le volume puis on accède à la console.
On a maintenant un système minimal installé et fonctionnel.
Gestion d'écran HiDPI (High Dots Per Inch)
L'écran de l'UX303LN est un écran 13.3" avec une résolution QuadHD+ de 3200x1800 pixels.
Les éléments affichés apparaissent donc trés petits (boutons, polices, etc.), à la limite du lisible.
Vous trouverez ci-dessous une liste (non exhaustive) de modifications permettant de profiter pleinement d'une haute résolution sans avoir besoin d'une loupe :-)
Paramètres X
En l'absence d'un environnement de bureau manipulant les paramètres X (Gnome, KDE, Xfce, etc.), il faut définir ces paramètres manuellement dans le fichier ~/.Xresources :
Note : Adaptez le paramètre Xft.dpi à votre définition d'écran (ici 192dpi).
XTerm
Ici aussi on modifie le fichier ~/.Xresources pour préciser la police désirée, sa taille et sa résolution :
# Police XTerm
xterm*faceName:DejaVu Sans Mono:size=11:antialias=false
xterm*font: 7x13
Note : Modifiez ces paramètres selon vos desideratas.
Firefox et Thunderbird
Dans Firefox, aller dans les préférences avancées (about:config) et modifier le paramètre layout.css.devPixelsPerPx à 2 (défaut : -1).
Dans le cas d'une utilisation multi-écran, il est possible d'utiliser le module Firefox AutoHiDPI (Non testé).
Dans Thunderbird, les paramètres avancés sont disponibles sous Edition / Préférences / Avancé / Editeur de configuration.
Installation de yaourt (Yet AnOther User Repository Tool)
Important : Il est vivement conseillé de se documenter sur AUR afin d'en comprendre les mécanismes et d'utiliser yaourt, ainsi que ABS et makepkg.
Méthode 1 - Installation depuis AUR
curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
tar zxvf package-query.tar.gz
cd package-query
makepkg -si
cd ..
curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar zxvf yaourt.tar.gz
cd yaourt
makepkg -si
cd ..
Méthode 2 - Installation depuis le dépôt archlinux.fr
Editer le fichier /etc/pacman.conf et ajouter les lignes suivantes :
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
Puis, installer le paquet yaourt :
pacman -Sy yaourt
vendredi 12 février 2021
:: Installation d'Archlinux et Openbox sur Asus Zenbook ::
Wireless AC, Bluetooth, Lan (avec adapteur USB-Ethernet)
Ports
3 x USB3.0, lecteur de carte SD, HDMI, mini-DisplayPort
Batterie
50 Wh
Dimensions
Epaisseur 21mm avec les pieds (18mm sans)
Poids
1.5 kg (3.3 pounds)
Extras
Clavier retro-éclairé, haut-parleurs Bang and Olufsen
Préparation de l'installation
Télécharger la dernière iso sur le site de téléchargement Arch Linux et vérifier son intégrité à l'aide des sommes de contrôle MD5 ou SHA1 :
$ md5sum archlinux-2015.01.01-dual.iso
ou
$ sha1sum archlinux-2015.01.01-dual.iso
puis comparer la somme de contrôle obtenue à celle présente sur la page de téléchargement.
Créer la clé USB
$ sudo dd if=archlinux.iso of=/dev/sdx bs=512k
où /dev/sdx correspond au périphérique USB (Attention à ne pas se tromper !!)
Démarrer sur la clé et sélectionner "Arch Linux archiso x86_64 UEFI" dans le menu de démarrage. On arrive sur la ligne de commande avec un prompt root.
Avant toute chose, modifier l'agencement du clavier (par défaut US-qwerty) :
# loadkeys fr
Pour lister les agencements disponibles :
# find /usr/share/kbd/keymaps/ -type f
Vérifier que l'on est en mode EFI. Si c'est bien le cas, la commande ci-dessous doit afficher les variables EFI :
# efivar -l
Etablir une connexion internet. N'ayant pas de port ethernet, ni de câble USB-Ethernet, j'ai configuré le wifi :
# iw dev ---> Récupérer le nom de l'interface (ici, wlp2s0)
# ip link set wlp2s0 up ---> Activation de l'interface
# wifi-menu wlp2s0 ---> Connexion au point d'accès
# ping www.google.com ---> Test de la connexion
Partitionner l'espace disque. N'ayant pas l'utilité d'un Windows 8.1, j'ai supprimé l'intégralité du disque.
Pour cela, utiliser j'utilise gdisk, un équivalent de fdisk pour GPT (GUID Partition Table), nécessaire pour le mode EFI.
L'écran de l'UX303LN est un écran 13.3" avec une résolution QuadHD+ de 3200x1800 pixels.
Les éléments affichés apparaissent donc trés petits (boutons, polices, etc.), à la limite du lisible.
Vous trouverez ci-dessous une liste (non exhaustive) de modifications permettant de profiter pleinement d'une haute résolution sans avoir besoin d'une loupe :-)
Paramètres X
En l'absence d'un environnement de bureau manipulant les paramètres X (Gnome, KDE, Xfce, etc.), il faut définir ces paramètres manuellement dans le fichier ~/.Xresources :
Note : Adaptez le paramètre Xft.dpi à votre définition d'écran (ici 192dpi).
XTerm
Ici aussi on modifie le fichier ~/.Xresources pour préciser la police désirée, sa taille et sa résolution :
# Police XTerm
xterm*faceName:DejaVu Sans Mono:size=11:antialias=false
xterm*font: 7x13
Note : Modifiez ces paramètres selon vos desideratas.
Firefox et Thunderbird
Dans Firefox, aller dans les préférences avancées (about:config) et modifier le paramètre layout.css.devPixelsPerPx à 2 (défaut : -1).
Dans le cas d'une utilisation multi-écran, il est possible d'utiliser le module Firefox AutoHiDPI (Non testé).
Dans Thunderbird, les paramètres avancés sont disponibles sous Edition / Préférences / Avancé / Editeur de configuration.
Installation de yaourt (Yet AnOther User Repository Tool)
Important : Il est vivement conseillé de se documenter sur AUR afin d'en comprendre les mécanismes et d'utiliser yaourt, ainsi que ABS et makepkg.
Méthode 1 - Installation depuis AUR
curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
tar zxvf package-query.tar.gz
cd package-query
makepkg -si
cd ..
curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar zxvf yaourt.tar.gz
cd yaourt
makepkg -si
cd ..
Méthode 2 - Installation depuis le dépôt archlinux.fr
Editer le fichier /etc/pacman.conf et ajouter les lignes suivantes :
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
$ perlbrew list
* perl-5.22.0
perl-5.21.6
perl-5.20.1
perl-5.18.4
perl-5.16.3
Installation d'une version particulière
$ perlbrew install 5.32.1
Installing /home/starman/perl5/perlbrew/build/perl-5.32.1/perl-5.32.1 into ~/perl5/perlbrew/perls/perl-5.32.1
This could take a while. You can run the following command on another shell to track the status:
tail -f ~/perl5/perlbrew/build.perl-5.32.1.log
Mise à jour vers la dernière version mineure (ici 5.22.0 vers 5.22.4)
Script upgrade-perl
$ perlbrew upgrade-perl
Upgrading perl-5.22.0 to 5.22.4
Fetching perl 5.22.4 as /home/starman/perl5/perlbrew/dists/perl-5.22.4.tar.bz2
Download http://www.cpan.org/src/5.0/perl-5.22.4.tar.bz2 to /home/starman/perl5/perlbrew/dists/perl-5.22.4.tar.bz2
Installing /home/starman/perl5/perlbrew/build/perl-5.22.4 into ~/perl5/perlbrew/perls/perl-5.22.0
This could take a while. You can run the following command on another shell to track the status:
tail -f ~/perl5/perlbrew/build.perl-5.22.4.log
Pour utiliser perlbrew dans un script, il faut definir PERLBREW_ROOT et PERLBREW_HOME avant de charger l'environnement bashrc.
#!/bin/bash
## Variables d'environnement requises
export PERLBREW_ROOT=/opt/perlbrew
export PERLBREW_HOME=/tmp/.perlbrew
source ${PERLBREW_ROOT}/etc/bashrc
## Utilisation de la version 5.14.1
perlbrew use 5.14.1
perl /app/mon-application
## Utilisation de la version 5.12.3
perlbrew use 5.12.3
perl /app/mon-application
Gestion des modules CPAN
Installation d'un client CPAN
Pour installer des modules CPAN additionnels, on utilisera cpanm, une alternative à cpan offrant une meilleure compatibilité avec perlbrew.
La méthode habituelle d'installation (cpan -i App::cpanminus) installe bien cpanm, mais uniquement dans l'environnement perlbrew utilisé. Dans ce cas, si on en change, plus de cpanm ('cpanm is not found'...).
Afin d'éviter ce désagrément, Perlbrew fournit un script pour installer cpanm sous ~/perl5/perlbrew/bin, il sera ainsi disponible quelque soit la version de Perl utilisée.
$ perlbrew install-cpanm
Installation de modules
$ cpanm List::Util
Lister les modules installés
$ perlbrew list-modules
Mettre à jour les modules installés
$ perlbrew list-modules | perlbrew exec cpanm
Migrer les modules installés dans la version de perl courante vers une autre (ici 5.16.3).
Renseigner les éléments demandés tels les mots de passe de l'utilisateur à créer et de root.
Redémarrer la machine virtuelle à la fin de l'installation.
$ eix terme_de_recherche
$ eix iftop
* net-analyzer/iftop
Available versions: 1.0_pre4-r2 ~1.0_pre4-r3
Homepage: http://www.ex-parrot.com/pdw/iftop/
Description: display bandwidth usage on an interface
Installation
# emerge category/application
Serveur LDAP
Configuration
# cl-setup ldap
* WARNING: Executing of the program will change the configuration files and database of LDAP service.
If you are ready to continue executing the program, input 'yes', if not 'no': yes
* Erased LDAP Database ... [ ok ]
* Added ldif file ... [ ok ]
* LDAP service configured ... [ ok ]
Integration authentification LDAP à PAM
# cl-setup unix
* WARNING: Executing of the program will change the configuration files and database of LDAP service.
If you are ready to continue executing the program, input 'yes', if not 'no': yes
* Added ldif file ... [ ok ]
* Unix service configured ... [ ok ]
Gestion des utilisateurs
Après avoir configuré l'annuaire LDAP comme base de comptes Unix, utiliser les commandes alternatives suivantes pour gérer les utilisateurs :
Commande
Alternative
useradd (adduser)
cl-useradd [options] user unix
userdel
cl-userdel [options] user unix
usermod
cl-usermod [options] user unix
passwd
cl-passwd [options] user unix
groupadd
cl-groupadd [options] user unix
groupdel
cl-groupdel [options] user unix
groupmod
cl-groupmod [options] user unix
A noter le service qui doit être indiqué à la fin de la commande, avec comme services possibles :
liste non-exhaustive
unix
unix group
samba
samba group
mail
mail group
jabber
jabber group
proxy
proxy group
Serveur Samba
Configuration
# cl-setup -n hostname -w WORKGROUP samba
* WARNING: Executing of the program will change the configuration files of Samba service.
If you are ready to continue executing the program, input 'yes', if not 'no': yes
* Added ldif file ... [ ok ]
* Starting Samba ... [ ok ]
* Added user client in Unix service
* Added user client in Samba service
* Added user admin in Unix service
* Added user admin in Samba service
* Samba service configured ... [ ok ]
Mot de passe administrateur Samba
L'administrateur Samba est utilisé pour ajouter/supprimer des machines du domaine
# cl-passwd --smb admin samba
New password:
Retype new password:
* Samba password of user admin is changed
Administrateur de domaine
Créer un administrateur de domaine pour gérer les machines Windows et l'ajouter au groupe "Administateurs du domaine" (Domain Admins).
# cl-setup -t pop3,imap mail
* WARNING: Executing of the program will change the configuration files of Mail service (programs Postfix and Dovecot).
If you are ready to continue executing the program, input 'yes', if not 'no': yes
* Generating DH. This is going to take a long time ... [ ok ]
* Generating DH. This is going to take a long time ... [ ok ]
* Added ldif file ... [ ok ]
* Starting Postfix ... [ ok ]
* Starting Dovecot ... [ ok ]
* Mail service configured ... [ ok ]
Serveur Jabber
Configuration
# cl-setup jabber
* WARNING: Executing of the program will change the configuration files of Jabber service (program Ejabberd).
If you are ready to continue executing the program, input 'yes', if not 'no': yes
Enter the admin@willy.greenbee.lan password
New password:
Retype new password:
* Added user in Jabber service
* Added ldif file ... [ ok ]
* Generating DH. This is going to take a long time ... [ ok ]
* Starting Ejabberd ... [ ok ]
* Jabber service configured ... [ ok ]
Serveur FTP
Configuration
# cl-setup ftp
* WARNING: Executing of the program will change the configuration files of FTP service (program proftpd).
If you are ready to continue executing the program, input 'yes', if not 'no': yes
* Added ldif file ... [ ok ]
* Starting Proftpd ... [ ok ]
* FTP service configured ... [ ok ]
Serveur DNS
Configuration
# cl-setup dns
* WARNING: Executing of the program will change the configuration files of DNS service (program bind).
If you are ready to continue executing the program, input 'yes', if not 'no': yes
* Added ldif file ... [ ok ]
* Starting Named ... [ ok ]
* DNS service configured ... [ ok ]
Zone DNS maître
# cl-dns-zoneadd -n domain.lan --server hostname.domain.lan --ipserver 192.168.10.20
* Appended DNS master zone domain.lan [ ok ]
* Added A-record in LDAP
* localhost.domain.lan --> 127.0.0.1
*
* Appended DNS master zone 10.168.192.in-addr.arpa [ ok ]
* Added A-record in LDAP
* hostname.domain.lan --> 192.168.10.20
*
* Added PTR-record in LDAP
* 192.168.10.20 --> hostname.domain.lan
*
# cl-info -u service
# cl-info -u unix
All users in LDAP for service Unix
+------+---------+-----------------------------+---------------+----------------+
| ID | Login | Name | Primary group | Home directory |
+------+---------+-----------------------------+---------------+----------------+
| 900 | client | Client unix workstation | 900 | /dev/null |
| 901 | admin | Administrator samba service | 544 | /dev/null |
| 1001 | d_admin | Domain Admin | 512 | /home/d_admin |
+------+---------+-----------------------------+---------------+----------------+
(3 rows)
# cl-info -u samba
All users in LDAP for service Samba
+---------+-----------------------------+------+----------+
| Login | Name | Lock | Password |
+---------+-----------------------------+------+----------+
| client | Client unix workstation | Yes | No |
| admin | Administrator samba service | No | Yes |
| d_admin | Domain Admin | No | Yes |
+---------+-----------------------------+------+----------+
(3 rows)
Détails d'un utilisateur
# cl-info -U utilisateur service
# cl-info -U admin unix
Information about user admin for service Unix
+----------------------+-----------------------------+
| Field | Value |
+----------------------+-----------------------------+
| ID | 901 |
| Login | admin |
| Name | Administrator samba service |
| Lock | No |
| Visible | No |
| Primary group | 544 |
| Supplementary groups | 544 |
| Home directory | /dev/null |
| Shell | /bin/false |
| Password | No |
| Last change password | 16.01.2020 |
| Jabber ID | admin@willy.greenbee.lan |
| Mail | No |
+----------------------+-----------------------------+
(13 rows)
# cl-info -U admin samba
Information about user admin for service Samba
+----------------------+----------------------------------------+
| Field | Value |
+----------------------+----------------------------------------+
| Login | admin |
| Name | Administrator samba service |
| Lock | No |
| Password | Yes |
| Last change password | 16.01.2020 |
| Primary group | Administrators |
| Supplementary groups | Administrators |
| Share directory | /var/calculate/server-data/samba/share |
+----------------------+----------------------------------------+
(8 rows)
--hostname spécifier le nom d'hôte
--iface configurer l'interface réseau
--route configurer la route par défaut
--dns spécifier le serveur dns
cl-setup-update
cl-setup-update permet de configurer la mise à jour automatique.
# cl-setup-update -a ON -I 12h --clean-pkg ON -o ON
Paramètres de mises à jour :
-a ON vérifier les mises à jour automatiquement (enabled by default)
-I 12h spécifier l'intervalle de vérification de mises à jour ('list' pour afficher les valeurs possibles)
--clean-pkg ON supprimer les archives logicielles obsolètes
-o ON actualiser les autres overlays
:: Boîte à outils Calculate Directory Server ::
Conflit lors de la mise à jour de Perl
Une mise à jour système peut parfois provoquer des conflits lors de la mise à jour de Perl. Dans ce cas, mettre à jour selon la méthode conseillée :