Logo carnetderootxzz@carnetderoot.net"La simplicité est la sophistication suprême" - Léonard De Vinci
dimanche 26 mars 2023

:: Alacritty ::

Lors de la connexion à un système distant depuis un terminal Alacritty, par exemple via SSH, il peut arriver que le système n'ait pas d'entrée pour Alacritty dans sa base de données terminfo/termcap. Par conséquent, toutes les fonctionnalités du terminal interactif ne fonctionnent pas. Pour résoudre ce problème, appliquer les instructions ci-dessous en fonction du cas rencontré (terminfo ou termcap).

Terminfo

Génération du fichier terminfo et copie sur l'hôte distant

$ infocmp > alacritty.terminfo
$ scp alacritty.terminfo user@remotehost:~/

Mise en place sur l'hôte distant et nettoyage

$ ssh user@remotehost
$ tic -x ~/alacritty.terminfo
$ rm ~/alacritty.terminfo

Termcap

Génération du fichier termcap et copie sur l'hôte distant

$ infocmp -Cr > alacritty.termcap
$ scp alacritty.termcap root@remotehost:~/

Mise en place sur l'hôte distant

$ ssh root@remotehost
# cat ~/alacritty.termcap >> /usr/share/misc/termcap

Note : si nécessaire éditer le fichier termcap et déplacer le bloc "END OF TERMCAP" à la fin.

Génération de la base termcap et nettoyage

# cap_mkdb /usr/share/misc/termcap
# rm ~/alacritty.termcap

lundi 11 avril 2022

:: Installation Calculate Directory Server sur un hôte KVM/qemu ::

Création de la machine virtuelle

La machine virtuelle est créée via virt-manager, avec la configuration suivante :

  • Disque virtio 40Go
  • Volume virtio de 5.5To
    • Note : ce volume est créé directement sur l'hôte et se compose de 4 disque de 2To en RAID5 sur lequel un seul volume logique a été défini (volume logique 'data' sur raid5)
  • Image iso montée sur le lecteur cdrom
  • Ordre de démarrage : cdrom puis disque

Installation de Calculate Directory Server

Partitionnement automatique

Note : pour que le partitionnement automatique fonctionne, le disque doit avoir une taille minimale de 40Go.

# cl-install -D /dev/vda \
             --locale 'fr_FR' \
             --keymap 'fr_FR' \
             --timezone 'Europe/Paris' \
             --hostname 'hostname.domaine.local' \
             --user username

Avec :

  • -D : partitionnement automatique
  • --locale : définition de la locale
  • --keymap : localisation du clavier
  • --timezone : choix du fuseau horaire
  • --hostname : nom d'hôte
  • --user : création d'un utilisateur

Partitionnement manuel

L'objectif est d'avoir la partition racine la plus grande possible montée sur le disque vda de 40Go et /var/calculate sur le volume virtio vdb de 5.5To. Cela implique de se passer de la partition de mise à jour.

Dans ce cas, le partitionnement doit être effectué avant de lancer l'installation :

# gdisk /dev/vda
  • Partitionnement cible :

    Number  Start (sector)    End (sector)  Size       Code  Name
       1            2048        83865599   40.0 GiB    8300  Linux filesystem
       2        83865600        83886046   10.0 MiB    EF02  BIOS boot partition

Une fois le partitionnement terminé, lancer l'installation en précisant le point de montage de la partition racine :

# cl-install --locale 'fr_FR' \
             --keymap 'fr_FR' \
             --timezone 'Europe/Paris' \
             --disk /dev/vda1 \
             --hostname 'hostname.domaine.local' \
             --user username

Avec :

  • --locale : définition de la locale
  • --keymap : localisation du clavier
  • --timezone : choix du fuseau horaire
  • --disk : définition des points de montage
  • --hostname : nom d'hôte
  • --user : création d'un utilisateur

Finalisation de l'installation

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.

Configuration du serveur

Gestion d'applications

eix

cf.EIX

Mise à jour Portage

$ cl-update

Recherche

$ 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-useradd -p --gid "Domain Admins" -c "Domain Admin" d_admin samba

Utilisateurs avec pouvoirs

Créer le groupe "Utilisateurs avec pouvoirs" (Power Users) afin d'accorder des privilèges étendus à certains utilisateurs Windows.

# cl-groupadd -g 547 --rid 547 -t 5 'Power Users' samba

Gestion des utilisateurs et groupes

Commande Action
cl-info -u unix Liste des utilisateurs Unix
cl-info -u samba Liste des utilisateurs Samba
cl-info -U user1 unix Détail de l'utilisateur Unix user1
cl-info -U user1 samba Détail de l'utilisateur Samba user1
cl-info -g unix Liste des groupes Unix
cl-info -g samba Liste des groupes Samba
cl-info -G group unix Détail du groupe Unix 'group'
cl-info -G 'Domain Users' samba Détail du groupe Samba 'Domain Users'

Serveur de messagerie

Configuration

# 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
 * 

Enregistrement MX

# cl-dns-zonemod -n domain.lan --mx mail.domain.lan
 * Modified MX hosts in zone domain.lan
 * domain.lan --> mail.domain.lan
 *
 * Modified zone "domain.lan"

Note : un enregistrement A pour le serveur mail.domain.lan doit exister au niveau de la zone

Ajout d'enregistrements

Enregistrements A et PTR

# cl-dns-recadd --host host1.domain.lan --ip 192.168.10.21
 * Added A-record in LDAP
 * host1.domain.lan --> 192.168.10.21
 * 
 * Added PTR-record in LDAP
 * 192.168.10.21 --> host1.domain.lan
 * 

Enregistrement CNAME

# cl-dns-recadd --type cname --host mail.domain.lan --cname host1.domain.lan
 * Added CNAME-record in LDAP
 * mail.domain.lan --> host1.domain.lan
 *

Références


dimanche 03 octobre 2021

:: Gestion des disques sous Linux ::

Lister les disques

$ lsblk | grep disk
sda               8:0    0 119,2G  0 disk
sdb               8:16   0 931,5G  0 disk
sdc               8:32   0 149,1G  0 disk

Vérification de la santé d'un disque

smartmontools

Afficher les informations du disque

Entre autres informations, cette commande permet de vérifier si le disque supporte S.M.A.R.T.

$ sudo smartctl -i /dev/sdc
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.14.8-arch1-1] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
[...]
SMART support is: Available - device has SMART capability.
SMART support is: Disabled

Ici, on voit que le disque supporte S.M.A.R.T. mais qu'il est désactivé. Pour l'activer :

$ sudo smartctl -s on /dev/sdc
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.14.8-arch1-1] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.

Lancer un test court

$ sudo smartctl -t short /dev/sdc
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.14.8-arch1-1] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Sun Oct  3 11:18:14 2021 CEST
Use smartctl -X to abort test.

Consulter les résultats du test

Pour vérifier si le test s'est bien déroulé :

$ sudo smartctl -H /dev/sdc
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.14.8-arch1-1] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Afficher un rapport complet du disque

Ici, les paramètres à regarder sont Reallocated_Sector_Ct et Current_Pending_Sector au niveau de la colonne RAW_VALUE.
Si la colonne RAW_VALUE contient une valeur différente de zéro, il est temps de penser à sauvegarder votre disque.
Pour information, le paramètre Reallocated_Sector_Ct correspond au nombre de secteurs défectueux ayant été réalloués et le paramètre Current_Pending_Sector au nombre de secteurs défectueux en attente de réallocation.

$ sudo smartctl -a /dev/sdc
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.14.8-arch1-1] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
[...]

=== START OF READ SMART DATA SECTION ===
[...]
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   100   100   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0007   252   252   025    Pre-fail  Always       -       2000
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       702
  5 Reallocated_Sector_Ct   0x0033   252   252   010    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000e   252   252   051    Old_age   Always       -       0
  8 Seek_Time_Performance   0x0024   252   252   015    Old_age   Offline      -       0
  9 Power_On_Hours          0x0032   252   252   000    Old_age   Always       -       166
 10 Spin_Retry_Count        0x0032   100   100   051    Old_age   Always       -       2
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       211
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       1
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       39
194 Temperature_Celsius     0x0022   169   100   000    Old_age   Always       -       23 (Min/Max 13/47)
195 Hardware_ECC_Recovered  0x001a   100   100   000    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   252   252   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0012   252   252   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   252   252   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0036   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x000a   100   100   000    Old_age   Always       -       0
201 Soft_Read_Error_Rate    0x0032   252   252   000    Old_age   Always       -       0
223 Load_Retry_Count        0x0032   100   100   000    Old_age   Always       -       24
225 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       7646
[...]

Références


jeudi 17 juin 2021

:: Gestion RAID avec mdadm ::

Créer un RAID1 logiciel

Configurer les disques

Créer une partition sur chaque disque à l'aide de gdisk :

$ sudo gdisk /dev/sda
$ sudo gdisk /dev/sdb

Si une partition existe déjà, vider la partition avant de construire le volume RAID :

$ sudo mdadm --misc --zero-superblock /dev/sda1
$ sudo mdadm --misc --zero-superblock /dev/sdb1

Construire le volume RAID

$ sudo mdadm --create /dev/md0 --level=1 

Reconstruire un RAID1 logiciel

Copie de la table de partition à partir du disque sain

# sfdisk -d /dev/sda | sfdisk /dev/sdb 

Reconstruction de la grappe

# mdadm --manage --add /dev/md0 /dev/sdb1 

Suivi de la reconstruction

# watch -n 60 cat /proc/mdstat 

md1 : active raid1 sdc5[3] sda5[2] 
      488133496 blocks super 1.2 [2/1] [U_] 
      [>....................]  recovery =  0.3% (1780160/488133496) finish=59.1min speed=136935K/sec 

Ajouter un disque à un ensemble RAID5

Copie de la table des partitions

# sfdisk -d /dev/sdb > sdb.output
# sfdisk /dev/sde < sdb.output

Ajout d'un quatrième disque au RAID5

# mdadm --add /dev/md2 /dev/sde1

Extension du RAID

# mdadm --grow /dev/md2 -n 4

# watch cat /proc/mdstat
[...]
md2 : active raid5 sde1[3] sdc1[0] sdb1[1] sdf1[2]
      1953257472 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
      [>....................]  reshape =  0.2% (2835920/976628736) finish=1070.3min speed=15163K/sec
      bitmap: 0/8 pages [0KB], 65536KB chunk

Agrandissement du volume logique et du système de fichiers

# umount /dev/md2
# pvdisplay
# pvresize /dev/md2
# lvdisplay
# lvresize -l +100%FREE /dev/vg1/data
# e2fsck -f /dev/vg1/data
# resize2fs /dev/vg1/data
# e2fsck -f /dev/vg1/data

lundi 05 avril 2021

:: Installation d'Archlinux et Wayland sur Asus Zenbook ::

Liens intéressants

Arch Linux

Wayland

Installation d'Arch Linux

Caractéristiques du portable

Asus Zenbook UX 303 LN
Ecran 13.3 pouces, résolution 3200x1800px, IPS, tactile
Processeur Intel Haswell Core i7-4510U CPU
Chipset Intel HM87
Video Intel 4400 HD intégré + Nvidia GeForce GT840M 2Go
Memory 8Go DDR3
Stockage 256Go SSD
Connectivity 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

  1. 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 :

    $ wget http://archlinux.mirrors.ovh.net/archlinux/iso/2021.02.01/archlinux-2021.02.01-x86_64.iso
    $ wget http://archlinux.mirrors.ovh.net/archlinux/iso/2021.02.01/sha1sums.txt
    $ sha1sum -c sha1sums.txt 
  2. Créer la clé USB

    $ sudo dd if=archlinux-2021.02.01-x86_64.iso of=/dev/sdx bs=16384

    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

Création des partitions

# gdisk /dev/sda
Partition Périphérique Taille Système Hex code
EFI /dev/sda1 512M vfat ef00
boot /dev/sda2 512M ext2 8300
cryptroot /dev/sda3 Espace disque restant luks 8300

Formatage des partitions

# mkfs.vfat -F32 /dev/sda1
# mkfs.ext2 /dev/sda2

Chiffrement de la partition principale

# cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 -y --use-random /dev/sda3
# cryptsetup luksOpen /dev/sda3 crypt

Création des volumes logiques

Créer un groupe de volume (arch) et les volumes logiques suivants :

Volume logique Taille
swap 8G
root 40G
home le reste
# pvcreate /dev/mapper/crypt
# vgcreate arch /dev/mapper/crypt
# lvcreate --size 8G arch --name swap
# lvcreate --size 40G arch --name root
# lvcreate --extents +100%FREE vg0 --name home

Création des systèmes de fichiers

# mkfs.ext4 /dev/mapper/arch-root
# mkfs.ext4 /dev/mapper/arch-home
# mkswap /dev/mapper/arch-swap
# swapon /dev/mapper/arch-swap

Montage des partitions

# 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 

Outils supplémentaires (liste non-exhaustive) :

# pacstrap /mnt grub efibootmgr mkinitcpio lvm2 iwd vim bash-completion man-db

Création du fstab

# genfstab -pU /mnt >> /mnt/etc/fstab

tempfs sur /tmp

# /tmp
tmpfs   /tmp    tmpfs   defaults,noatime,mode=1777  0   0

Options pour SSD

Remplacer les options relatime par noatime sur les partitions sauf celle de boot (limite les accès et augmente donc la durée de vie d'un disque SSD).

Entrer dans le nouveau système

# arch-chroot /mnt /bin/bash

Fuseau horaire

# ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
# hwclock --systohc --utc

Localisation

  • /etc/locale.gen

Décommenter fr_FR.UTF-8 UTF-8 dans le fichier puis regénérer les locales :

# locale-gen
  • /etc/locale.conf

    LANG=fr_FR.UTF-8
  • /etc/vconsole.conf

    KEYMAP=fr

Nom d'hôte

  • /etc/hostname

    myhostname
  • /etc/hosts

    127.0.0.1    localhost
    ::1          localhost
    127.0.1.1    myhostname.domain.local myhostname

Utilisateurs

Modification du mot de passe root

# passwd

Utilisateur supplémentaire

# useradd -m -g users -G wheel username
# passwd username

Configuration de mkinitcpio

Editer le fichier /etc/mkinitcpio.conf

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

Au final, cela donne :

HOOKS=(base udev autodetect modconf block keymap encrypt lvm2 resume filesystems keyboard fsck)

Regénérer l'image initrd

# mkinitcpio -p linux

GRUB

Installation

# grub-install

Configuration

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) :

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda3:crypt resume=/dev/mapper/arch-swap"

Regénérer le grub.cfg

# grub-mkconfig -o /boot/grub/grub.cfg

Fin de l'installation et redémarrage

# exit
# umount -R /mnt
# swapoff -a
# reboot

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 :

# Gestion HiDPI
Xft.dpi: 192
Xft.autohint: 0
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb

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 ::

Liens intéressants

Arch Linux

Openbox

Installation d'Arch Linux

Caractéristiques du portable

Asus Zenbook UX 303 LN
Ecran 13.3 pouces, résolution 3200x1800px, IPS, tactile
Processeur Intel Haswell Core i7-4510U CPU
Chipset Intel HM87
Video Intel 4400 HD intégré + Nvidia GeForce GT840M 2Go
Memory 8Go DDR3
Stockage 256Go SSD
Connectivity 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

  1. 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.

  2. 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 !!)

  3. 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.

  4. 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
  5. 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 
  6. 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
  7. 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.

    # gdisk /dev/sda

    Schéma de partitionnement cible :

    Périphérique Point de montage Taille Type
    /dev/sda1 / 20 GiB 8300
    /dev/sda2 /boot 1024 MiB EF00
    /dev/sda3 /home le reste de l'espace disque 8300
  8. Formater les partitions

    # mkfs.ext4 /dev/sda1
    # mkfs.ext4 /dev/sda3
    # mkfs.fat -F32 /dev/sda2
  9. Monter les partitions

    # mount /dev/sda1 /mnt
    # mkdir /mnt/home && mount /dev/sda3 /mnt/home
    # mkdir /mnt/boot && mount /dev/sda2 /mnt/boot

Installation d'Arch Linux et configuration de base

  1. Choix du miroir de téléchargement. Préférer un miroir géographiquement proche (vérifier sur http://archlinux.org/mirrorlist/).

    # nano /etc/pacman.d/mirrorlist
  2. Installer le système de base Arch Linux.

    # pacstrap -i /mnt base base-devel
  3. Créer le fichier fstab.

    # genfstab -U -p /mnt >> /mnt/etc/fstab
  4. Faire un chroot pour accéder au système nouvellement installé.

    # arch-root /mnt
  5. Définir le nom d'hôte

    # echo computer_name > /etc/hostname
  6. Configurer la time zone

    # ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
  7. Configurer les locales Editer le fichier /etc/locale.gen et décommenter la ligne fr_FR.UTF-8 UTF-8 Générer les locales :

    # locale-gen

    Créer le fichier /etc/locale.conf et modifier la valeur LANG

    # echo LANG=fr_FR.UTF-8 > /etc/locale.conf
    # export LANG=fr_FR.UTF-8
  8. Démonter les systèmes de fichiers

    # umount /mnt/boot /mnt/home /mnt
  9. Redémarrer

    # reboot

Configuration post-installation

  1. Créer un utilisateur

    # useradd -g users -m -s /bin/bash utilisateur
    # passwd utilisateur

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 :

# Gestion HiDPI
Xft.dpi: 192
Xft.autohint: 0
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb

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

mardi 05 janvier 2021

:: Outils d'administration CDS ::

Les cl-tools

Commandes cl-info

Gestion des utilisateurs

Liste des utilisateurs

# 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)

Commandes cl-setup

cl-setup
cl-setup-boot
cl-setup-locale
cl-setup-session
cl-setup-themes
cl-setup-video
cl-setup-audio
cl-setup-boot-live
cl-setup-network
cl-setup-system
cl-setup-update

cl-setup-network

cl-setup-network permet de configurer le réseau.

# cl-setup-network --hostname servername --iface enp0s3:192.168.10.20:24 --route default:192.168.10.254 --dns 192.168.10.10

Paramètres :

--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 :

root # emerge -uDNav --with-bdeps=y --backtrack=100 --autounmask-keep-masks=y @world
root # perl-cleaner --all

jeudi 26 mars 2020

:: Installation minimale d'ArchLinux avec système de fichier crypté et UEFI ::

Préparation de l'installation

  1. Télécharger l'archiso à partir du site https://www.archlinux.org/
  2. Préparer la clé usb

    # dd if=archlinux.img of=/dev/sdX bs=16M && sync
  3. Démarrer sur la clé usb et attendre le prompt root

Installation

Sélection du clavier

Pour lister les types de clavier français disponibles :

# find /usr/share/kbd/keymaps -iname '*fr*' -printf '%f\n'

Chargement du clavier :

# loadkeys fr

Configuration du wifi

# wifi-menu

Synchronisation horaire

# timedatectl set-ntp true

Schéma de partitionnement

Sur mon Thinkpad, la taille du disque SSD est de 128Go.
1G sera réservé pour les partitions de boot (boot et EFI) et le reste intégralement chiffré.

A noter que les tailles des partitions efi et boot ne sont pas optimisées, 100M serait suffisant pour efi et 250M pour boot...

Configuration cible

NAME                  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                     8:0    0 119,2G  0 disk
├─sda1                  8:1    0   512M  0 part  /boot/efi
├─sda2                  8:2    0   512M  0 part  /boot
└─sda3                  8:3    0 118,2G  0 part
  └─cryptroot         254:0    0 118,2G  0 crypt
    ├─vg0-swap        254:1    0     4G  0 lvm   [SWAP]
    ├─vg0-root        254:2    0    20G  0 lvm   /
    └─vg0-home        254:3    0  94,2G  0 lvm   /home

Une partition de swap n'est pas nécessaire, mais peut s'avérer pratique si on souhaite utiliser les fonctions d'hibernation d'un portable.
Dans ce cas, la taille de la partition doit être au moins égale à la quantité de RAM, sur mon Thinkpad -> 3915312 octets.

Création des partitions

# cgdisk /dev/sda

Créer les partitions suivantes :

Partition Périphérique Taille Système Hex code
EFI /dev/sda1 512M vfat ef00
boot /dev/sda2 512M ext2 8300
cryptroot /dev/sda3 Espace disque restant luks 8300

Formatage des partitions

# mkfs.vfat -F32 /dev/sda1
# mkfs.ext2 /dev/sda2

Chiffrement de la partition cryptroot

# cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 -y --use-random /dev/sda3
# cryptsetup luksOpen /dev/sda3 cryptroot

Création des volumes logiques

Créer un groupe de volume (vg0) et les volumes logiques suivants :

Volume logique Taille
swap 4G
root 20G
home le reste
# pvcreate /dev/mapper/cryptroot
# vgcreate vg0 /dev/mapper/cryptroot
# lvcreate --size 4G vg0 --name swap
# lvcreate --size 20G vg0 --name root
# lvcreate --extents +100%FREE vg0 --name home

Création des systèmes de fichiers

# mkfs.ext4 /dev/mapper/vg0-root
# mkfs.ext4 /dev/mapper/vg0-home
# mkswap /dev/mapper/vg0-swap
# swapon /dev/mapper/vg0-swap

Montage des partitions

# mount /dev/mapper/vg0-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/vg0-home /mnt/home

Sélection des miroirs

Manuelle

  • /etc/pacman.d/mirrorlist

Décommenter et déplacer en haut du fichier le miroir préféré.

Test des miroirs

  1. Sauvegarder le mirrorlist existant et préparer une copie de travail

    # cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
    # cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.test
  2. Modifier le fichier mirrorlist.test et décommenter les miroirs à tester

    Pour garder les miroirs français, générer le fichier à partir de la commande suivante :

    # grep -E '^## France$' -A 1 /etc/pacman.d/mirrorlist | grep -vE '^-' > /etc/pacman.d/mirrorlist.test

    Pour décommenter tous les serveurs :

    # sed -i 's/^#\s*Server/Server/' /etc/pacman.d/mirrorlist.test
  3. Tester les miroirs et générer le nouveau mirrorlist (ici avec les 5 miroirs les plus rapides uniquement) :

    # rankmirrors -n 5 /etc/pacman.d/mirrorlist.test > /etc/pacman.d/mirrorlist

Installation des paquets

Installation du système de base et des outils nécessaires au premier démarrage.

 Système de base

# pacstrap /mnt base base-devel linux linux-firmware pacman-contrib

Outils supplémentaires (liste non-exhaustive) :

# pacstrap /mnt grub-efi-x86_64 efibootmgr mkinitcpio lvm2 wpa_supplicant wireless_tools vim zip unzip alsa-utils lsb-release ntfs-3g dosfstools exfat-utils bash-completion man-db

Création du fstab

# genfstab -pU /mnt >> /mnt/etc/fstab

tempfs sur /tmp

# /tmp
tmpfs   /tmp    tmpfs   defaults,noatime,mode=1777  0   0

Options pour SSD

Remplacer les options relatime par noatime sur les partitions sauf celle de boot (limite les accès et augmente donc la durée de vie d'un disque SSD)

Entrer dans le nouveau système

# arch-chroot /mnt /bin/bash

Fuseau horaire

# ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
# hwclock --systohc --utc

Localisation

  • /etc/locale.gen

Décommenter fr_FR.UTF-8 UTF-8 dans le fichier puis regénérer les locales :

# locale-gen
  • /etc/locale.conf

    LANG=fr_FR.UTF-8
  • /etc/vconsole.conf

    KEYMAP=fr

Nom d'hôte

  • /etc/hostname

    myhostname
  • /etc/hosts

    127.0.0.1    localhost
    ::1          localhost
    127.0.1.1    myhostname.domain.local myhostname

Utilisateurs

Modification du mot de passe root

# passwd

Utilisateur supplémentaire

# useradd -m -g users -G wheel username
# passwd username

Configuration de mkinitcpio

Editer le fichier /etc/mkinitcpio.conf

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

Au final, cela donne :

HOOKS=(base udev autodetect modconf block keymap encrypt lvm2 resume filesystems keyboard fsck)

Regénérer l'image initrd

# mkinitcpio -p linux

GRUB

Installation

# grub-install

Configuration

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) :

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda3:cryptroot resume=/dev/mapper/vg0-swap"

Regénérer le grub.cfg

# grub-mkconfig -o /boot/grub/grub.cfg

Fin de l'installation et redémarrage

# exit
# umount -R /mnt
# swapoff -a
# reboot

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.

Configuration du réseau

Avec l'arrivée de la version 197 de systemd le nom des interfaces réseau est maintenant préfixé de en (ethernet), wl (wlan) ou ww (wwan), suivi par un identifiant généré automatiquement et prévisible.
Le but étant de fixer le nom des interfaces entre chaque démarrage.

Pour lister les interfaces réseaux :

# ip link show
1: lo [...]
3: enp0s25 [...]
4: wlp3s0 [...]
6: wwp0s29u1u4i6 [...]

Configuration manuelle

Dans le cas où tous les outils ne sont pas encore installés ou si il n'y a pas de serveur dhcp sur le réseau, il peut s'avérer pratique de configurer une connexion manuellement.

Ethernet

  • Activer l'interface ethernet, ici enp0s25

    # ip link set dev enp0s25 up
  • Affecter une adresse ipv4 à l'interface, ici 192.168.0.60 dans le réseau 192.168.0.0/24 :

    # ip address add 192.168.0.60/24 broadcast + dev enp0s25
  • Ajouter la route par défaut pour accéder à internet, ici 192.168.0.254 :

    # ip route add default via 192.168.0.254 dev enp0s25

systemd-networkd

systemd offre maintenant la possibilité de gérer le réseau par lui-même sans outils supplémentaires.
systemd-networkd permet de détecter, configurer et gérer les connexions réseaux; il peut aussi créer des connexions virtuelles.

Ethernet

  • Créer le fichier /etc/systemd/network/enp0s25.network

    [Match]
    Name=enp0s25
    [Network]
    DHCP=yes
    [DHCP]
    RouteMetric=10
  • Activer et démarrer le service

    # systemctl enable systemd-networkd.service
    # systemctl start systemd-networkd.service

Wifi

  • Créer le fichier /etc/systemd/network/wlp3s0.network

    [Match]
    Name=wlp3s0
    [Network]
    DHCP=yes
    [DHCP]
    RouteMetric=20
  • Créer le fichier /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf

    ctrl_interface=/var/run/wpa_supplicant
    ctrl_interface_group=wheel
    update_config=1
    ap_scan=1
    fast_reauth=1
    country=FR
  • Ajouter un réseau

    # wpa_passphrase ESSID passphrase >> /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf

    Si votre clé wifi est complexe, il est parfois plus simple de la coller dans un fichier texte et d'importer la clé directement :

    # wpa_passphrase ESSID `cat /mnt/usb/essid.pwd` >> /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf
  • Nettoyer le fichier

    La commande précédente ajoute à la fin du fichier une section network qui contient votre clé wifi en clair.
    Il est conseillé de supprimer cette ligne :

    network={
        ssid="ESSID"
        #psk="passphrase"  <------- Supprimer cette ligne
        psk=d5b7ea2dda330fb59753d126e0b98bc968644423abb76bb52374a027718219c6
    }
  • Activer et démarrer les services

    # systemctl enable systemd-networkd.service
    # systemctl enable wpa_supplicant@wlp3s0.service
    # systemctl start systemd-networkd.service
    # systemctl start wpa_supplicant@wlp3s0.service

systemd-resolved

systemd-resolved est un service systemd fournissant la résolution de noms aux applications locales.

Dans notre cas, le plus simple (et recommandé) est d'utiliser le fichier de stub DNS :

# ln -s /run/systemd/resolved/stub-resolv.conf /etc/resolv.conf

Activer et démarrer le service systemd-resolved.service

# systemctl enable systemd-resolved.service
# systemctl start systemd-resolved.service

Configuration post-install

Pour configurer un environnement graphique basé sur openbox, cf. Configuration environnement graphique avec Openbox

References


vendredi 20 décembre 2019

:: Gestion des utilisateurs sous Linux ::

Modification

Renommer un utilisateur et déplacer son répertoire home

# usermod -l new_username username
# usermod -m -d /home/new_username new_username