Fichier de swap sur partition BTRFS

J’ai installé mon système Bento Openbox Remix (reconstruite sur Ubuntu LTS) sur un SSD, aussi pour éviter des usures prématurées je n’ai bien sûr pas créé de partition de swap.

J’ai bien tenté d’y installer zram-config, mais avec ma carte graphique nvidia et pas mal de RAM le PC a tendance à freezer. (Tout se bloque, plus qu’à invoquer les SysRQ magiques 🤔 )

Un petit tour dans mon système pour ajouter un fichier de swap a échoué du premier coup. Voici ce que je suivais, et qui est une très bonne doc : https://www.howtogeek.com/455981/how-to-create-a-swap-file-on-linux mais arrivée à la commande «sudo swapon /swapfile» ma console me répondit:

sudo swapon /swapfile swapon: /swapfile : échec de swapon: Argument invalide

Voici bien de quoi râler. Une recherche plus tard sur DuckDuckGo voici ce que je découvrais: https://superuser.com/questions/539287/swapon-failed-invalid-argument-on-a-linux-system-with-btrfs-filesystem.

Sympa ça, le système de fichiers BTRFS ne supporte pas d’avoir un fichier de swap, et ce jusqu’à la version  5 du kernel.

J’ai bien un noyau Linux 5.xyz donc j’ai suivi la piste depuis la discussion sur le site superuser.com et voici le lien direct vers la page la plus actuelle: https://btrfs.readthedocs.io/en/latest/Swapfile.html. Pour aller au plus court, voici comment créer et activer le fichier de swap avec un noyau Linux 5 et plus sur un système de fichiers au format BTRFS:

en root

# truncate -s 0 swapfile
# chattr +C swapfile
# fallocate -l 2G swapfile
# chmod 0600 swapfile
# mkswap swapfile
# swapon swapfile

Il sera bien sûr nécessaire de l’ajouter au fichier /etc/fstab afin qu’il soit pris en compte lors des redémarrages suivants.

Insérer le montage du swap dans /etc/fstab

Insérer le montage du swap dans /etc/fstab

Donc, ouvrir le fichier /etc/fstab en root avec votre éditeur de textes non graphique préféré (mcedit, nano, vim, le… ) et ajoutez à la fin du fichier la ligne suivante:

/swapfile    none     swap    sw    0   0

(les deux caractères de la fin de ligne sont des zéros). Pensez à enregistrer la modification avant de quitter l’éditeur de textes.

Par convention et pour faire simple, j’ai nommé le fichier de swap «swapfile», vous pouvez le nommer autrement si vous le souhaitez, tant que le même nom est employé dans les lignes de commande et dans le fichier fstab (par exemple, «fichierswap»).

 

Créer 12 répertoires numérotés en une ligne de commande

Sous GNU/Linux, pour créer les 12 dossiers correspondants à chaque mois de l’année, une courte ligne de commande suffit.

mkdir {01..12}

et les répertoires correspondant aux 12 mois de l’année sont là !

J’ai besoin de sous-répertoires pour ma comptabilité. Afin de créer automatiquement ces sous-répertoires, je les crée d’abord dans le dossier nommé «01», puis depuis le répertoire parent (celui correspondant à l’année) la ligne de commande suivante fera le job:

for dir in {02..12}; do cp -r 01/* "$dir"/; done

Le signe ‘*’ après l’argument ’01/’ permet de copier le contenu du répertoire «01». Sans le caractère ‘*’, il copierait 01 et son contenu, et ce n’est pas ce que l’on veut.

Pour le faire en une seule ligne:

mkdir -p 2024/{01..12}/{Clients,Banque,Fournisseurs/Perso}

Merci à moviuro. 🙏

 

swapfile sur btrfs et Ubuntu 20.04

L’activation du fichier swapfile échouait avec ce message :

sudo swapon /swapfile : echec de swapon : argument invalide

Après avoir galéré cherché sur le web pendant 5 à 10 minutes pour trouver la « formule magique » qui allait me permettre d’activer un fichier de swap sur un SSD, j’ai trouvé l’information dans les commentaires de cette page de rapport de bug : +bug/1788321.

J’ai fait de même, hormis pour le nom du fichier, je l’ai nommé “swapfile”. Et déjà positionnée à la racine du système j’ai utilisé le chemin relatif dans mes lignes de commande au lieu du chemin absolu. (donc ‘swapfile’ au lieu de ‘/swapfile’).

$ sudo touch swapfile
$ sudo chattr +C swapfile
$ sudo fallocate -l 1G swapfile
$ sudo chmod 600 swapfile
$ sudo mkswap swapfile 
Configure l'espace d'échange (swap) en version 1, taille = 1024 MiB (1073737728 octets)
pas d'étiquette, UUID=5a58f21f-7b7e-48f4-afb3-e3becbb279f0
$ sudo swapon swapfile
$ swapon --show
NAME TYPE SIZE USED PRIO
/dev/zram0 partition 867,3M 1,3M 5
/swapfile file 1024M 0B -2
$ sudo mcedit /etc/initramfs-tools/conf.d/resume

Et dans le fichier resume créé un peu plus tôt, j’ai ajouté:

RESUME=UUID=5a58f21f-7b7e-48f4-afb3-e3becbb279f0

Le fichier /etc/fstab contenait déjà la ligne pour swapfile:

/swapfile none swap sw 0 0

Après un redémarrage, tout était bien pris en compte.

Sécurité par le .htaccess

Vous avez un site web, et vous voudriez qu’il soit aussi à l’abri que possible des attaques ? Assurez-vous que les fichiers du moteur qui propulse votre site ne puissent pas être visibles depuis le web ou même listés par des programmes ratissant le web à la recherche de sites internet vulnérables.

Que faudrait-il ajouter à la racine du site, dans le fichier .htaccess ?

Options All -Indexes
<FilesMatch ^wp-config.php$>
deny from all
</FilesMatch>

La première ligne interdit l’accès aux listes des fichiers du site wesb (comme les fichiers d’une installation WordPress).

Les lignes suivantes concernent spécifiquement les sites WordPress et protègent le fichier de configuration qui contient les informations clé de l’installation.

Créer une ancre sans plugin avec WordPress

Source et cible

Vous écrivez un article. Et vous voulez placer un renvoi depuis une partie du texte vers une autre partie de votre texte. ⌨️ Vous allez créer une ancre en plaçant un petit code aux endroits voulus.

Pour la créer cette ancre vous pouvez utiliser un code depuis le texte qui source du renvoi et une ancre ⚓ dans la section cible du contenu de votre joli blog ! 😊

D’abord, le code qui permettra de faire le renvoi. Disons que vous écrivez un tutoriel. Par exemple,

<a href="#grub">Installation du chargeur de démarrage</a>

puis l’ancre: ⚓

<a name="grub"></a>
<h4>Installation du chargeur de démarrage</h4>

Ensuite  rendez-vous à la section →

<a href="#grub">Installation du chargeur de démarrage</a>

quelques lignes plus bas. 🤔

L’exemple présenté est tiré de cette page : http://pclinuxos-fr.org/2010/10/23/installer-pclinuxos-2010

Si chemin faisant vous voulez mettre du texte en gras, mettez-le autour du texte visible, à l’intérieur des balises “<a href” …

Je vous propose de découvrir plus de méthodes pour créer des ancres et des exemples + des avantages et inconvénients autour de l’utilisation des ancres dans vos textes avec un article chez Kinsta.com.