Logo carnetderootxzz@carnetderoot.net"La simplicité est la sophistication suprême" - Léonard De Vinci
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

mercredi 03 février 2021

:: Gestion des versions de Perl avec Perlbrew ::

Installation

$ curl -kL http://install.perlbrew.pl | bash

Ou, si vous préférez utiliser wget :

$ wget --no-check-certificate -O - https://install.perlbrew.pl | bash

Configuration

Editer le fichier .bashrc

$ vi ~/.bashrc

Et ajouter la ligne suivante à la fin du fichier :

# Perlbrew
source ~/perl5/perlbrew/etc/bashrc

Puis charger le nouvel environnement :

$ . ~/.bashrc

Gestion des versions de Perl

Initialisation

$ perlbrew init

Versions disponibles

$ perlbrew available
perl-5.33.6   
perl-5.32.1   
perl-5.30.3   
perl-5.28.3   
perl-5.26.3   
perl-5.24.4   
perl-5.22.4   
perl-5.20.3   
perl-5.18.4   
perl-5.16.3   
[...]

Versions installées

$ 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

Vérification de la mise à jour

$ perlbrew list
perl-5.32.1
* perl-5.22.0 (5.22.4)
perl-5.21.6
perl-5.20.1
perl-5.18.4   
perl-5.16.3   

Utilisation d'une version particulière de perl

De manière permanente

$ perlbrew switch perl-5.32.1

Uniquement dans le shell courant

$ perlbrew use perl-5.32.1

Arrêt de perlbrew et retour au perl système

$ parlbrew off

Démarrage de perlbrew : commandes switch or use

$ perlbrew switch perl-5.32.1
$ perlbrew use perl-5.32.1

Tester un script sur toutes les versions de perl installées

$ perlbrew exec perl monscript.pl
$ perlbrew exec -- perl -E 'say $]'

Accéder à l'aide

$ perlbrew help

Utilisation dans un script bash

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

$ perlbrew list-modules | perlbrew exec --with perl-5.16.3 cpanm

Références