2024-11-28 11:42:23 +01:00
<?xml version="1.0" encoding="utf-8"?> <feed xmlns= "http://www.w3.org/2005/Atom" xml:lang= "fr" > <generator uri= "https://jekyllrb.com/" version= "4.3.4" > Jekyll</generator> <link href= "https://static.rnmkcy.eu/feed.xml" rel= "self" type= "application/atom+xml" /> <link href= "https://static.rnmkcy.eu/" rel= "alternate" type= "text/html" hreflang= "fr" /> <updated > 2024-11-28T07:40:25+01:00</updated> <id > https://static.rnmkcy.eu/feed.xml</id> <title type= "html" > YannStatic</title> <subtitle > Expérimentations et tests
</subtitle> <entry > <title type= "html" > NordVPN fournisseur de services de réseau privé virtuel (VPN)</title> <link href= "https://static.rnmkcy.eu/2024/11/23/NordVPN.html" rel= "alternate" type= "text/html" title= "NordVPN fournisseur de services de réseau privé virtuel (VPN)" /> <published > 2024-11-23T00:00:00+01:00</published> <updated > 2024-11-23T00:00:00+01:00</updated> <id > https://static.rnmkcy.eu/2024/11/23/NordVPN</id> <content type= "html" xml:base= "https://static.rnmkcy.eu/2024/11/23/NordVPN.html" > < ![CDATA[*NordVPN est un fournisseur de services de réseau privé virtuel personnel. NordVPN est basé au Panama. Le pays n'a pas de lois obligatoires sur la conservation des données et ne participe pas aux alliances Five Eyes ou Fourteen Eyes. Sous Linux, NordVPN fonctionne via un outil de ligne de commande.*
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/NordVPN-logo.png)
<mark > NordVPN propose à ses utilisateurs d’ installer son application VPN sur 10 appareils différents</mark>
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
## Compte NordVPN
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
### Créer un compte
Pour utiliser NordVPN, vous devez créer votre propre compte sur le site officiel de NordVPN. https://nordvpn.com
### Autorisation multi facteur (double authentification)
Se connecter sur le compte et ouvrir "Paramètres du compte"
![](/images/NordVPN-mfa01.png)
![](/images/NordVPN-mfa02.png){:height="300"}
Saisir le code envoyé par messagerie
![](/images/NordVPN-mfa03.png)
Suivre la procédure pour paramétrer le mobile avec le qrcode et l'application KeepassXC
![](/images/NordVPN-mfa04.png)
## Linux NordVPN
### Installation
1-NordVPN peut être installé avec le package nordvpn-bin AUR
yay -S nordvpn-bin
2-Méthode manuelle
Ouvrir un terminal. Puis saisir les commandes suivantes pour installer NordVPN
2024-11-21 17:20:33 +01:00
```bash
2024-11-28 11:42:23 +01:00
sudo apt intall curl
sh < (curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh)
2024-11-21 17:20:33 +01:00
```
2024-11-28 11:42:23 +01:00
3-séquence de commandes bash utilisée pour configurer votre environnement
2024-11-21 17:20:33 +01:00
```bash
2024-11-28 11:42:23 +01:00
sudo groupadd nordvpn
sudo usermod -aG nordvpn $USER
2024-11-21 17:20:33 +01:00
```
2024-11-28 11:42:23 +01:00
Obligation de se reconnecter pour prise en comte
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
### Service systemd
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Pour utiliser NordVPN, vous devez activer et démarrer **nordvpnd.service**
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
sudo systemctl enable nordvpnd.service --now
### Première connexion
Se connecter au compte NordVPN
nordvpn login
Vous recevez la réponse suivante
Continue in the browser: https://api.nordvpn.com/v1/users/oauth/login-redirect?attempt=83b07c63-339d-44ce-8c31-c56f26f85e21
Ouvrir le lien dans le navigateur et après saisie
![](/images/NordVPN10.png){:width="300"}
Vous pouvez fermer le navigateur
### Liste des commandes
* nordvpn login : s'identifier.
* nordvpn connect ou nordvpn c : se connecter au VPN. Pour se connecter à des serveurs spécifiques, utilisez country_code server_number> (par exemple : nordvpn connect uk715).
* nordvpn disconnect ou nordvpn d : se déconnecter du VPN.
* nordvpn c double_vpn : se connecter au serveur Double VPN le plus proche.
* nordvpn connect --group double_vpn <country_code > : se connecter à un pays spécifique via les serveurs Double VPN.
* nordvpn connect --group p2p <country_code > : se connecter à un pays spécifique via les serveurs P2P.
* nordvpn connect P2P : se connecter à un serveur P2P.
* nordvpn connect The_Americas : se connecter à un serveur situé en Amérique.
* nordvpn connect Dedicated_IP : se connecter à un serveur avec IP dédiée.
* nordvpn set ou nordvpn s : définir une option de configuration.
* Options possibles :
* nordvpn set threatprotectionlite on / off : activer ou désactiver Protection Anti-menaces Lite.
* nordvpn set killswitch on / off : activer ou désactiver le Kill Switch.
* nordvpn set autoconnect on / off : activer ou désactiver la connexion automatique. Vous pouvez définir un serveur spécifique pour la connexion automatique en utilisant nordvpn set autoconnect on country_code+server_number. Exemple : nordvpn set autoconnect on us2435.
* nordvpn set notify on / off : activer ou désactiver les notifications.
* nordvpn set dns 1.1.1.1 1.0.0.1 : configurer un DNS personnalisé (vous pouvez configurer un DNS unique ou deux, comme indiqué dans cette commande)..
* nordvpn set protocol udp / tcp : basculer entre les protocoles UDP et TCP.
* nordvpn set obfuscate on / off : activer ou désactiver les serveurs obfusqués.
* nordvpn set technology : définir la technologie de connexion (OpenVPN ou NordLynx.)
* nordvpn set meshnet on : activer Réseau Mesh sur votre appareil.
* nordvpn set lan-discovery enable / disable : activer ou désactiver la découverte du réseau local.
* nordvpn set lan-discovery --help : obtenir plus d'informations sur la découverte du réseau local.
* nordvpn whitelist add port 22 : ajouter une règle pour autoriser un port entrant spécifié. Vous pouvez autoriser plusieurs ports : il vous suffit de séparer leurs numéros avec un espace
* .nordvpn whitelist remove port 22 : retirer la règle pour autoriser un port entrant spécifié.
* nordvpn whitelist add subnet 192.168.0.0/16 : ajouter une règle pour autoriser un sous-réseau spécifié.
* nordvpn whitelist remove subnet 192.168.0.0/16 : retirer la règle pour autoriser un sous-réseau spécifié.
* nordvpn account : voir les informations sur le compte.
* nordvpn register : créer un nouveau compte utilisateur.
* nordvpn rate : noter la qualité de votre dernière connexion (de 1 à 5).
* nordvpn settings : voir les paramètres actuels.
* nordvpn status : afficher l'état de la connexion.
* nordvpn countries : voir la liste des pays.
* nordvpn cities : voir la liste des villes. Exemple : nordvpn cities united_states
* nordvpn groups : afficher une liste de groupes de serveurs disponibles.
* nordvpn logout : se déconnecter.
* nordvpn help ou nordvpn h : voir la liste des commandes disponibles ou obtenir de l'aide pour une commande spécifique.
Vous pouvez obtenir une explication détaillée de toutes les commandes en utilisant la commande man nordvpn dans Terminal.
## Utilisation NordVPN en ligne de commande
* [Support NordVPN](https://support.nordvpn.com/hc/fr/articles/20196094470929-NordVPN-sur-Debian-Ubuntu-Raspberry-Pi-Elementary-OS-Linux-Mint)
* [How to use NordVPN command-line utility](https://sleeplessbeastie.eu/2019/02/04/how-to-use-nordvpn-command-line-utility/)
### Connexion au compte
Connexion au compte NordVPN
2024-11-21 17:20:33 +01:00
```bash
2024-11-28 11:42:23 +01:00
nordvpn login
2024-11-21 17:20:33 +01:00
```
2024-11-28 11:42:23 +01:00
Vous connecte à votre compte NordVPN.
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/NordVPN01.png){:height="300"}
clic droit sur « Continuer » dans votre navigateur après la connexion)
![](/images/NordVPN02.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
### Paramétres
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Accédez à des imprimantes, des téléviseurs et d'autres appareils sur votre réseau local tout en étant connecté à un VPN.
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
nordvpn set lan-discovery on
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/NordVPN06.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Vérification : <https: / / i p l e a k . n e t />
![](/images/NordVPN04.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Définir la connexion automatique
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
nordvpn set autoconnect on Dedicated_IP
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/NordVPN07.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Lister le paramétrage
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
nordvpn settings
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/NordVPN09.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
### Connexion/Déconnexion VPN
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Connexion vpn ip dédiée
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
```bash
nordvpn connect Dedicated_IP
2024-11-21 17:20:33 +01:00
```
2024-11-28 11:42:23 +01:00
![](/images/NordVPN03.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Déconnexion
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
nordvpn d
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/NordVPN08.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Connexion France Paris
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
nordvpn connect France Paris
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Définir la connexion automatique France Paris
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
nordvpn set autoconnect on France Paris
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
## Android NordVPN
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
### Application NordVPN
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Comment télécharger et installer NordVPN sur Android
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Tout d’ abord, téléchargez NordVPN pour Android, puis installez l'application sur votre appareil Android.
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/NordVPN-android01.png){:height="400"} ![](/images/NordVPN-android02.png){:height="400"} ![](/images/NordVPN-android03.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/NordVPN-android04.png){:height="400"} ![](/images/NordVPN-android05.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
**Pour une connexion à Internet sécurisée et confidentielle**, connectez-vous à un serveur de NordVPN. Ceci peut être effectué de plusieurs façons :
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
* en appuyant sur le bouton CONNEXION INSTANTANÉE
* en cliquant sur le nom d'un pays dans la liste des pays
* en tapant dans la barre de recherche pour trouver un serveur.
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/NordVPN-android06.png){:height="400"} ![](/images/NordVPN-android07.png){:height="400"} ![](/images/NordVPN-android08.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Sur l'écran principal, faites glisser vers le haut pour afficher toutes les options et fonctionnalités des serveurs.
![](/images/NordVPN-android09.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
1. **Connexion instantanée** : connectez-vous au serveur le plus proche et le moins chargé. Cette méthode de connexion est utile si les particularités comme l'emplacement du serveur ou d'autres paramètres ne sont pas aussi importantes que d'accéder à un service ultra-rapide.
2. **Barre de recherche** : utilisez-la pour trouver des serveurs spécifiques. Vous pouvez saisir un pays, une ville, un numéro de serveur ou encore la catégorie de spécialité.
3. **Serveurs spécialisés** : NordVPN propose divers types de serveurs, chacun présentant des avantages uniques. Découvrez-en plus à ce sujet dans notre article dédié : À quoi correspondent les différentes catégories de serveurs ?
4. **Liste de tous les pays** : il s’ agit d’ une autre méthode de connexion. Il vous suffit de faire défiler la liste pour trouver le pays auquel vous souhaitez vous connecter, puis de cliquer sur celui-ci.
5. **Réseau Mesh** : cette fonctionnalité vous permet de créer un réseau privé et sécurisé pour de nombreux appareils à travers le monde, d'y accéder à distance et d'acheminer toute votre activité en ligne par un autre appareil.
7. **Notifications** : vous y trouverez toute l’ actualité sur les dernières mises à jour et des conseils de sécurité.
8. **Statistiques et paramètres** : cliquez ici pour retrouver vos statistiques de connexion et appuyez sur l’ icône en forme de roue dentée pour afficher le menu des paramètres. La section ci-dessous décrit toutes les options que vous y trouverez.
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
### Choisir parmi différents serveurs
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
**Connexion à un pays spécifique** : faites glisser vers le haut pour afficher la liste des pays. Dans celle-ci, appuyez sur le pays souhaité et vous serez automatiquement connecté à un serveur à cet emplacement.
![](/images/NordVPN-android10.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Par ailleurs, les épingles sur la carte du monde indiquent où nous disposons de serveurs et leur nombre dans ce pays. Appuyez dessus pour afficher les villes où nous disposons de serveurs.
![](/images/NordVPN-android11.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Vous pouvez appuyer sur les épingles ne présentant pas de numéro et vous connecter à la ville de votre choix.
![](/images/NordVPN-android12.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
**cliquer sur la barre de recherche** et y saisir le nom du pays souhaité.
![](/images/NordVPN-android13.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
**Connexion à une ville spécifique** : vous pouvez appuyer sur les trois points à côté d'un pays pour sélectionner une ville spécifique.
![](/images/NordVPN-android14.png){:height="400"} ![](/images/NordVPN-android15.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
**Connexion à un serveur spécifique** : vous connaissez le numéro d’ un serveur que vous souhaitez utiliser à nouveau ? Saisissez-le dans la barre de recherche et vous le trouverez
![](/images/NordVPN-android16.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
### Configurer les paramètres du VPN
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Sur l'écran de la carte, appuyez sur l'icône du **profil utilisateur** dans le coin inférieur droit pour accéder aux Statistiques et paramètres du compte.
![](/images/NordVPN-android17.png){:height="400"} ![](/images/NordVPN-android18.png){:height="400"}
Faire défiler vers le hau et appuyez sur l’ icône en forme d'engrenage **Réglages** dans le coin supérieur droit pour accéder à tous les paramètres de l'application.
![](/images/NordVPN-android19.png){:height="400"} ![](/images/NordVPN-android20.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Désactiver
![](/images/NordVPN-android21.png){:height="400"}
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
## AndroidTV NordVPN
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Application spécifique androidtv <https: / / n o r d v p n . c o m / f r / d o w n l o a d / a n d r o i d - t v />
Après installation et connexion au compte
On se connecte sur le VPN le plus rapide
![](/images/NordVPN-androidtv01.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Paramétrage, activer la connexion automatique
![](/images/NordVPN-androidtv02.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Désactiver le suivi
![](/images/NordVPN-androidtv03.png)
2024-11-21 17:20:33 +01:00
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
## NordVPN MeshNet
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
*Avec MeshNet, NordVPN permet à ses clients de mettre en place un réseau privé entre leurs appareils sans passer par les serveurs de la société. De quoi renforcer la confidentialité.*
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
<iframe width= "640" height= "480" src= "https://www.youtube.com/embed/fsUF6TKdM68?rel=0&showinfo=0" frameborder= "0" scrolling= "no" allowfullscreen= "" > </iframe> ]]></content> <author > <name > </name> </author> <category term= "vpn" /> <summary type= "html" > <![CDATA[NordVPN est un fournisseur de services de réseau privé virtuel personnel. NordVPN est basé au Panama. Le pays n’ a pas de lois obligatoires sur la conservation des données et ne participe pas aux alliances Five Eyes ou Fourteen Eyes. Sous Linux, NordVPN fonctionne via un outil de ligne de commande.]]> </summary> </entry> <entry > <title type= "html" > PC1 - Endeavour Neo XFCE sur partition LVM chiffrée (NOVEMBRE 2024)</title> <link href= "https://static.rnmkcy.eu/2024/11/21/PC1-EndeavourOS-nvme_2To-LVM-Chiffre.html" rel= "alternate" type= "text/html" title= "PC1 - Endeavour Neo XFCE sur partition LVM chiffrée (NOVEMBRE 2024)" /> <published > 2024-11-21T00:00:00+01:00</published> <updated > 2024-11-21T00:00:00+01:00</updated> <id > https://static.rnmkcy.eu/2024/11/21/PC1-EndeavourOS-nvme_2To-LVM-Chiffre</id> <content type= "html" xml:base= "https://static.rnmkcy.eu/2024/11/21/PC1-EndeavourOS-nvme_2To-LVM-Chiffre.html" > < ![CDATA[*EndeavourOS est une distribution GNU/Linux basée sur Arch Linux*
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
* [Description matériel mini tour PC1](/2023/01/20/Description_materiel_minitour_PC1.html)
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/yannick.drawio.png)
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
* **LVM/LUKS**, flexibilité de partitionnement en utilisant LVM dans une seule partition cryptée LUKS.
* <u > Avantages</u> :
* partitionnement simple avec connaissance de LVM
* Une seule clé nécessaire pour déverrouiller tous les volumes (p. ex. installation facile de récupération de disque)
* Mise en page du volume non visible lorsque verrouillé
* Méthode la plus facile pour permettre la [suspension du disque](https://wiki.archlinux.org/title/Dm-crypt/Swap_encryption#With_suspend-to-disk_support)
* <u > Inconvénients</u> :
* LVM ajoute une couche de mappage supplémentaire et un "hook"
* Moins utile, si un volume doit recevoir une clé séparée
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
`Installer une distribution EndeavourOS chiffrée sur une partition LVM est impossible avec l'outil "Calamarès"`{:.warning}
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
## EndeavourOS temporaire
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
*Pour une installation EndavourOS LVM/LUKS, il faut passer par une installation temporaire*
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
### Création Eos USB Live
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
*Création d'une clé USB EndeavourOS bootable*
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
Dans un terminal linux
Télécharger le dernier fichier iSO : <https: / / e n d e a v o u r o s . c o m / l a t e s t - r e l e a s e />
**EndeavourOS_Endeavour_neo-2024.09.22.iso**
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
Vérifier checksum
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
```bash
sha512sum -c EndeavourOS_Endeavour_neo-2024.09.22.iso.sha512sum
```
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
Résultat de la commande ci dessus après quelques minutes
*EndeavourOS_Endeavour_neo-2024.09.22.iso: Réussi*
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
Créer la clé bootable
Pour savoir sur quel périphérique, connecter la clé sur un port USB d'un ordinateur et lancer la commande `sudo dmesg` ou `lsblk`
Dans le cas présent , le périphérique USB est **/dev/sdc**
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
```bash
sudo dd if=EndeavourOS_Endeavour_neo-2024.09.22.iso of=/dev/sdc bs=4M --progress
```
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
### Démarrer sur Eos USB Live
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
Insérer la clé USB EndeavourOS, redémarrer la machine, sur Eos live
Démarrage avec la clé USB insérée dans le Mini tour PC1 et appui sur F8 pour un accès au menu
Choisir `UEFI: KingstonDataTraveler 2.0PMAP (3820MB)`
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
Vous arrivez sur la page de sélection
![](/images/endos0001.png){:width="400"}
Valider le choix par défaut
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
1. Ensuite cliquer sur l'icône en bas à gauche -> Settings -> System settings
Keyboard -> Layouts, add French
2. ouvrir un terminal
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/eos-lvm-luks01.png){:width="600"}
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/eos-lvm-luks01a.png){:width="600"}
1 --> System Settings --> Keyboard
Remove Us...
Apply
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
On va se connecter en SSH
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
```
ip a # relever adresse IP
sudo systemctl start sshd
passwd liveuser # changer le mot de passe liveuser --> rtyuiop
sudo firewall-cmd --zone=public --add-port=22/tcp
```
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
Se connecter depuis un poste sur le même réseau: `ssh liveuser@adresse_IP`
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
### Partionnement
2024-11-08 14:10:33 +01:00
2024-11-28 11:42:23 +01:00
en mode su
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
sudo -s
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Le disque : `lsblk`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
nvme0n1 259:0 0 1,9T 0 disk
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
On partitionne un disque en 3 avec `gdisk`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
* Partition 1 : 512M EFI (code ef00) système de fichier FAT32
* Partition 2 : 1895G LVM (code 8e00) système de fichier EXT4
* Partition restante pour Installation temporaire
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Zapper le disque,
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
(**Attention** Ceci effacera de manière irréversible toutes les données de votre disque, veuillez sauvegarder toutes les données importantes) :
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
sgdisk --zap-all /dev/nvme0n1
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Partitionnement du disque NVME 2To GPT + LVM
Créer une table de partition GPT à l'aide de la commande `sgdisk` :
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
sgdisk --clear --new=1:0:+512MiB --typecode=1:ef00 --new=2:0:+1885G --typecode=2:8e00 /dev/nvme0n1
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Format la partition EFI
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
mkfs.fat -F32 /dev/nvme0n1p1
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Installer Eos XFCE
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Utilisation de Calamarès, cliquer sur **Démarrer l'installateur**
Installation "en ligne"
Bureau: XFCE4
Paquets : Tout sauf LTS Kernel
Chargeur: systemd-boot
Partitions:
![](/images/endos0007n.png){:width="600"}
Utilisateur: yann
Ordi: PC1
mot passe utilisateur identique admin
Résumé:
![](/images/eos-lvm-luks03.png){:width="600"}
Cliquer sur **Installer**
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
![](/images/eos-lvm-luks04.png){:width="600"}
L'installation est terminée, cliquer "Redémarrer maintenant" et sur **Terminé**
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Créer nouveau système
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
`Clé USB Eos Live insérée, redémarrer dans l'environnement Live-Cd`{:.info}
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
`Clavier QWERTY!!!`{:.warning}
Modifier pour clavier FR
Ouvrir un terminal
Créer un accès sur la machine via SSH depuis un poste distant
Lancer le service : `sudo systemctl start sshd`
Ouvrir le port 22 firewall: `sudo firewall-cmd --zone=public --add-port=22/tcp`
Créer un mot de passe à liveuser : `passwd liveuser` --> rtyuiop
Relever l'adresse ip de la machine : `ip a`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
**Déchiffrer système temporaire**
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Le système temporaire chiffré `/dev/nvme0n1p3`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Passer en mode su
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Dans l'environnement live-CD, ouvrez un Terminal ,basculez en mode su et tapez (ou marquez et copiez la ligne avec ctrl-c et collez dans le terminal avec shift-ctrl-v ) …
```shell
cryptsetup luksOpen /dev/nvme0n1p3 crypttemp # saisir la phrase mot de passe de l'installation
mkdir -p /media/crypttemp
mount /dev/mapper/crypttemp /media/crypttemp
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Nos données d'installation temporaires sont désormais accessibles sous `/media/crypttemp`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
bin boot dev efi etc home lib lib64 lost+found mnt opt proc root run sbin srv sys tmp usr var
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
**Créer nouveau système**
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Chiffrer la partition /dev/nvme0n1p2,saisir la passphrase définitive
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```shell
cryptsetup luksFormat --type luks2 /dev/nvme0n1p2
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Une demande de confirmation est exigée
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
WARNING!
========
This will overwrite data on /dev/nvme0n1p2 irrevocably.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Are you sure? (Type 'yes' in capital letters): YES
Enter passphrase for /dev/nvme0n1p2:
Verify passphrase:
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Choisissez un mot de passe sécurisé ( <https: / / x k c d . c o m / 9 3 6 /> )
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Ouvrir le nouveau système chiffré
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```shell
cryptsetup luksOpen /dev/nvme0n1p2 crypt
# Enter passphrase for /dev/nvme0n1p2:
pvcreate /dev/mapper/crypt
# Physical volume "/dev/mapper/crypt" successfully created.
vgcreate vg0 /dev/mapper/crypt
# Volume group "vg0" successfully created
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Une bonne taille de départ pour le volume racine (lvroot) est d'environ 30 Go. Si vous envisagez d'utiliser ultérieurement un fichier d'échange résidant sur root, vous devez en tenir compte.
Le redimensionnement ultérieur des volumes est assez facile, alors n'y réfléchissez pas trop.
Vous pouvez attribuer tout l'espace libre restant au volume d'accueil,
`lvcreate --extents 100%FREE vg0 -n lvhome`
mais pour augmenter les volumes plus tard et pour les instantanés , il faut de l'espace vide à l'intérieur du groupe de volumes, donc je choisis généralement une taille pour lvhome qui laisse environ 30 Go d'espace inutilisé global dans le volume groupe (en supposant un lecteur de 500 Go, par exemple 500 – 0,512 – 40 – 430 = 29,488)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```shell
# 40G root dont 8 swapfile
lvcreate -L 40G vg0 -n lvroot # Logical volume "lvroot" created.
lvcreate -L 150G vg0 -n lvhome # Logical volume "lvhome" created.
lvcreate -L 300G vg0 -n lvmedia # Logical volume "lvmedia" created.
#lvcreate -l 100%FREE vg0 -n lvhome # Logical volume "lvhome" created.
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Créez un système de fichiers ext4 sur les volumes logiques.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```shell
mkfs.ext4 -L root /dev/mapper/vg0-lvroot
mkfs.ext4 -L home /dev/mapper/vg0-lvhome
mkfs.ext4 -L home /dev/mapper/vg0-lvmedia
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Montage sur "mnt"
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Monter le nouveau système sur `/mnt` pour les systèmes UEFI
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```shell
mount /dev/mapper/vg0-lvroot /mnt
mkdir -p /mnt/home
mount /dev/mapper/vg0-lvhome /mnt/home
mkdir -p /mnt/efi
mount /dev/nvme0n1p1 /mnt/efi
```
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
lsblk
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
devrait maintenant fournir une sortie similaire à la suivante (ignorez les tailles, celles-ci proviennent d'une installation de test) …
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
pour les systèmes UEFI :
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
nvme0n1 259:0 0 1.9T 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /mnt/efi
├─nvme0n1p2 259:2 0 1.8T 0 part
│ └─crypt 254:3 0 1.8T 0 crypt
│ ├─vg0-lvroot 254:4 0 40G 0 lvm /mnt
│ ├─vg0-lvhome 254:5 0 150G 0 lvm /mnt/home
│ └─vg0-lvmedia 254:6 0 300G 0 lvm
└─nvme0n1p3 259:3 0 22.2G 0 part
└─crypttemp 254:2 0 22.2G 0 crypt /media/crypttemp
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Cloner système temporaire
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
pour remplir les nouveaux points de montage
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
rsync -avA /media/crypttemp/ /mnt
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
*Veuillez patienter quelques minutes*
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Démonter système temporaire
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```shell
umount /media/crypttemp
cryptsetup luksClose crypttemp
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
lsblk
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
nvme0n1 259:0 0 1.9T 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /mnt/efi
├─nvme0n1p2 259:2 0 1.8T 0 part
│ └─crypt 254:3 0 1.8T 0 crypt
│ ├─vg0-lvroot 254:4 0 40G 0 lvm /mnt
│ ├─vg0-lvhome 254:5 0 150G 0 lvm /mnt/home
│ └─vg0-lvmedia 254:6 0 300G 0 lvm
└─nvme0n1p3 259:3 0 22.2G 0 part
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Configurer "crypttab"
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Configuration `/etc/crypttab`
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
cryptsetup luksUUID /dev/nvme0n1p2
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
renvoie **62061a11-24fd-497c-aa20-bf00f103d359**
Votre UUID sera différent, alors <u > **assurez-vous d'utiliser votre UUID à l'étape suivante !**</u>
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
nano /mnt/etc/crypttab
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
contient une ligne non commentée commençant par `luks-`...
Remplacez cette ligne par la suivante ; <u > **n'oubliez pas d' utiliser votre UUID**</u>
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
cryptlvm UUID=62061a11-24fd-497c-aa20-bf00f103d359 none luks
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Sauvegarder et quitter.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Basculer en chroot
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Passer en chroot
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
arch-chroot /mnt
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
le prompt `[root@EndeavourOS /]#`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Configurer "fstab"
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Configurer /etc/fstab
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
blkid -s UUID -o value /dev/mapper/vg0-lvroot
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
renvoie l'UUID du volume racine : **5a88d848-65e3-4f08-801a-146f36830d7b**.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
blkid -s UUID -o value /dev/mapper/vg0-lvhome
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
renvoie l'UUID du volume d'accueil : **06f12177-66e9-4214-8bd7-7e4fb1478d1a**.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
nano /etc/fstab
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
contient une ligne commençant par `/dev/mapper/luks-`...
**Supprimez** cette ligne et ajoutez ce qui suit (<u > **n'oubliez pas d' utiliser vos UUID**</u> )
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
UUID=5a88d848-65e3-4f08-801a-146f36830d7b / ext4 noatime 0 0
UUID=06f12177-66e9-4214-8bd7-7e4fb1478d1a /home ext4 noatime 0 0
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Sauvegarder et quitter.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Options du noyau
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Dans **systemd-boot**, vous éditez le fichier d'entrée approprié qui se trouve sur votre partition EFI dans le répertoire `loader/entries`
Chaque entrée est une option de démarrage dans le menu et chacune a une ligne appelée options. Vous pouvez modifier ces entrées directement, mais ces changements peuvent être écrasés lors de l'installation ou de la mise à jour de paquets.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
UUID de /dev/nvme0n1p2 : `blkid -s UUID -o value /dev/nvme0n1p2`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Pour effectuer les changements, au lieu de modifier les entrées, modifiez le fichier `/etc/kernel/cmdline` qui est un fichier d'une ligne contenant une liste d'options du noyau.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
nano /etc/kernel/cmdline
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
nvme_load=YES nowatchdog rw rd.luks.uuid=62061a11-24fd-497c-aa20-bf00f103d359 root=/dev/mapper/vg0-lvroot
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Exécutez ensuite `reinstall-kernels` qui remplira les entrées et régénérera les initrds.
reinstall-kernels
### Sortie chroot
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
exit
umount -R /mnt
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Oter la clé USB , redémarrer
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
reboot
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
`FINI! Vous devriez maintenant avoir un système LVMonLUKS fonctionnel avec un volume logique séparé pour /home`{:.info}
## EndeavourOS chiffré LVM/LUKS
### Premier démarrage
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
La partition est chiffrée
![](/images/eos-lvm-luks05.png)
Au message "Please enter passphrase for disk endeavouros...", saisir la phrase mot de passe pour déchiffrer le disque
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
#### Activation SSH
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Activer et lancer le service
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
sudo systemctl enable sshd --now
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Autoriser ssh
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```bash
sudo firewall-cmd --zone=public --add-port=22/tcp
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Relever adresse : `ip a` --> 192.168.0.37
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Se connecter depuis un poste sur le même réseau: `ssh yann@192.168.0.37`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
#### Accès sudo
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Modifier sudoers pour accès sudo sans mot de passe à l'utilisateur yano
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
su # mot de passe root identique utilisateur
echo "yann ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/20-yann
exit # sortie su
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
#### Historique de la ligne de commande
Ajoutez la recherche d’ historique de la ligne de commande au terminal
Se connecter en utilisateur
Tapez un début de commande précédent, puis utilisez shift + up (flèche haut) pour rechercher l’ historique filtré avec le début de la commande.
```shell
# Global, tout utilisateur
echo '"\e[1;2A": history-search-backward' | sudo tee -a /etc/inputrc
echo '"\e[1;2B": history-search-forward' | sudo tee -a /etc/inputrc
```
#### Unités disques
Liste : `lsblk`
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 111,8G 0 disk
└─sda1 8:1 0 111,8G 0 part
└─ssd--120-lv120 254:1 0 111,8G 0 lvm
sdb 8:16 0 476,9G 0 disk
└─sdb1 8:17 0 476,9G 0 part
└─ssd--512-virtuel 254:0 0 476,9G 0 lvm
nvme0n1 259:0 0 1,9T 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /efi
├─nvme0n1p2 259:2 0 1,8T 0 part
│ └─cryptlvm 254:2 0 1,8T 0 crypt
│ ├─vg0-lvroot 254:3 0 40G 0 lvm /
│ ├─vg0-lvhome 254:4 0 150G 0 lvm /home
│ └─vg0-lvmedia 254:5 0 300G 0 lvm
└─nvme0n1p3 259:3 0 22,2G 0 part
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Créer les points de montage
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```bash
sudo mkdir -p /srv/media
sudo chown $USER:$USER /srv/media
sudo mkdir -p /mnt/{ssd,sharenfs,FreeUSB2To}
sudo chown $USER:$USER /mnt/{ssd,sharenfs,FreeUSB2To}
sudo mkdir -p /virtuel
sudo chown $USER:$USER /virtuel
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Relever les UUID des unités : `sudo blkid`
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
/dev/mapper/ssd--120-lv120: UUID="6b48e98c-9b85-461b-9371-040765aae682" BLOCK_SIZE="4096" TYPE="ext4"
/dev/nvme0n1p3: UUID="9884d324-fe55-4cf8-9230-4b580086b147" TYPE="crypto_LUKS" PARTLABEL="endeavouros" PARTUUID="314c792a-926d-4129-bf83-c5bc0930168c"
/dev/nvme0n1p1: UUID="2873-8CC1" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="4ff1219a-c3da-4f10-b50a-f5ef9c14da2d"
/dev/nvme0n1p2: UUID="62061a11-24fd-497c-aa20-bf00f103d359" TYPE="crypto_LUKS" PARTUUID="e2a32111-81a6-48b1-861c-c3c085ab7bbc"
/dev/sdb1: UUID="AYko64-7Ysg-IK1P-2hCq-9MUo-VjQl-4NOuWY" TYPE="LVM2_member" PARTUUID="19dd6163-01"
/dev/mapper/vg0-lvhome: LABEL="home" UUID="06f12177-66e9-4214-8bd7-7e4fb1478d1a" BLOCK_SIZE="4096" TYPE="ext4"
/dev/mapper/cryptlvm: UUID="7kpdfv-AeNq-9eos-HO7p-hIOe-Qy2d-pm8dNo" TYPE="LVM2_member"
/dev/mapper/ssd--512-virtuel: UUID="84bc1aa9-23ac-4530-b861-bc33171b7b42" BLOCK_SIZE="4096" TYPE="ext4"
/dev/sda1: UUID="o2NaLz-2Biv-Dx3C-LYJD-vuyp-1Ogl-Oa4Iu2" TYPE="LVM2_member" PARTLABEL="Linux LVM" PARTUUID="3eee16e4-fe68-42bf-861a-cd9e46d22805"
/dev/mapper/vg0-lvmedia: LABEL="home" UUID="0b98f634-c8ca-49b2-8b46-d0e8820b0746" BLOCK_SIZE="4096" TYPE="ext4"
/dev/mapper/vg0-lvroot: LABEL="root" UUID="5a88d848-65e3-4f08-801a-146f36830d7b" BLOCK_SIZE="4096" TYPE="ext4"
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Ajout au fichier `/etc/fstab`
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
# /dev/mapper/vg0-lvmedia
UUID=0b98f634-c8ca-49b2-8b46-d0e8820b0746 /srv/media ext4 rw,relatime 0 2
# /dev/mapper/ssd--512-virtuel
UUID=84bc1aa9-23ac-4530-b861-bc33171b7b42 /virtuel ext4 defaults 0 2
# /dev/mapper/ssd--120-lv120
UUID=6b48e98c-9b85-461b-9371-040765aae682 /mnt/ssd ext4 defaults 0 2
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Recharger et monter les unités
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
sudo systemctl daemon-reload
sudo mount -a
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
**Restauration des données /srv/data**
*Toutes les données sont une cle USB3-Nvme de 1.9To*
Créer un point de montage
sudo mkdir /mnt/usb
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Monter la clé USB3 Nvme
sudo mount /dev/sdc1 /mnt/usb
Lancer rsync
```bash
sudo -s
rsync -avA /mnt/usb/media/ /srv/media
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Patienter 20 à 30 minutes...
Le home
```bash
rsync -avA /mnt/usb/yann/Private $HOME/
rsync -avA /mnt/usb/yann/Musique/* $HOME/Musique/
rsync -avA /mnt/usb/yann/.mozilla $HOME/
rsync -avA /mnt/usb/yann/.thunderbird $HOME/
rsync -avA /mnt/usb/yann/.ssh $HOME/
rsync -avA /mnt/usb/yann/.keepassx $HOME/
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
### Paramètres XFCE
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
On déplace le **tableau de bord** du bas vers le haut de l'écran
Gestion des 2 écrans
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
* Sharp en primaire
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Modification du **tableau de bord** , clic-droit → Tableau de bord → Préférences de tableau de bord → Eléments
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Affichage date et heure
![](/images/eos-cassini-012.png)
ou **format personnalisé** dans **Horloge** : `%e %b %Y %R`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Gestionnaire d'alimentation
![](/images/alimentation01.png){:width="400"}
![](/images/alimentation02.png){:width="400"}
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Supprimer icône alimentation dans la barre des tâches
![](/images/alimentation03.png)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Apparence
![](/images/apparence.png){:width="300"}![](/images/apparence-icones.png){:width="300"}
Economiseur d'écran
![](/images/economiseur01.png){:width="400"}
![](/images/economiseur02.png){:width="400"}
Deux cartes réseau sont installés
![](/images/reseau01.png){:width="400"}
![](/images/reseau02.png){:width="400"}
![](/images/reseau03.png){:width="400"}
### LightDM
*Utilise `lightdm-slick-greeter` Un greeter basé sur GTK plus axé sur l'apparence que `lightdm-gtk-greeter`*
Les paramètres sont dans le fichier `/etc/lightdm/slick-greeter.conf`
```
[Greeter]
background=/srv/media/dplus/images/Fonds/wp2618258.jpg
draw-user-backgrounds=false
draw-grid=false
theme-name=Arc-Dark
icon-theme-name=Qogir
cursor-theme-name=Qogir
cursor-theme-size=16
show-a11y=false
show-power=false
background-color=#000000
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Démarre auto ou pas de la session, modifier le fichier `/etc/lightdm/lightdm.conf` ', (début ligne sans ou avec commentaire `#`)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
sudo nano /etc/lightdm/lightdm.conf
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
[Seat:*]
autologin-user=yann
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Ecran principal pour la fenêtre de connexion : [EndeavourOS XFCE - LightDM sur les systèmes multi-affichages](/2023/08/02/EndeavourOS_XFCE_-_Environnements_de_bureau_LightDM.html)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Si vous changez l'image de fond, il désactiver draw-grid
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
background=/usr/share/endeavouros/backgrounds/light_sky_stars_85555_1366x768_yano.jpg
draw-grid=false
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
### Mise à jour Système
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Mode terminal
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
yay -Syu
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Mode graphique
![](/images/plasma-kde01.png)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Réseau
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
* [Réseau NetworkManager - nmcli](/2024/10/31/NetworkManager-nmcli.html)
* Carte réseau pcie 2 ports ethernet 1Ghz
* Carte réseau tp-link pcie 2.5Ghz TX201*
![](/images/Tx201-tp-link.png){:height="200"}
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
*Le périphérique réseau interne à la carte mère est désactivé dans le bios*
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
#### Configuration de base
Les ports ethernet disponibles : `ip link`
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
1: lo: <LOOPBACK , U P , L O W E R _ U P > mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST , M U L T I C A S T , U P , L O W E R _ U P > mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether f0:09:0d:fa:af:ff brd ff:ff:ff:ff:ff:ff
3: enp3s0f0: <BROADCAST , M U L T I C A S T , U P , L O W E R _ U P > mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 6c:b3:11:32:04:c8 brd ff:ff:ff:ff:ff:ff
4: enp3s0f1: <NO-CARRIER , B R O A D C A S T , M U L T I C A S T , U P > mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 6c:b3:11:32:04:c9 brd ff:ff:ff:ff:ff:ff
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Le statut : `nmcli device status`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
DEVICE TYPE STATE CONNECTION
enp3s0f0 ethernet connecté Connexion filaire 2
enp2s0 ethernet connecté Connexion filaire 1
lo loopback connecté (en externe) lo
enp3s0f1 ethernet indisponible --
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
enp2s0 liaison ethernet 2.5Ghz vers routeur relié à la box par une liaison ethernet 2.5Ghz
enp3s0f0 liaison ethernet 1Ghz vers routeur wifi Tenda
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
#### Configurer un pont réseau
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
* [Réseau - Doc RedHat](https://docs.redhat.com/fr/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_networking/configuring-a-network-bridge_configuring-and-managing-networking#configuring-a-network-bridge-by-using-nmcli_configuring-a-network-bridge)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Passer en mode su
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
1-Créer une interface de pont
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
nmcli connection add type bridge con-name bridge0 ifname bridge0
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Cette commande crée un pont nommé bridge0
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
2-Affichez les interfaces réseau et notez les noms des interfaces que vous souhaitez ajouter au pont
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
nmcli device status
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
![](/images/nmcli-PC-01.png)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Dans notre cas :
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
* enp3s0f1 n'est pas configuré. Pour utiliser ces dispositifs comme ports, ajoutez des profils de connexion à l'étape suivante.
* enp2s0 et enp3s0f0 ont des profils de connexion existants. Pour utiliser ces dispositifs comme ports, modifiez leurs profils à l'étape suivante.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
3-Attribuer les interfaces au pont.
3.1-Si l'interface que vous souhaitez affecter au pont n'est pas configuré, créez un nouveau profil de connexion pour elle
```bash
nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp3s0f1 master bridge0
# si autre interface on renouvelle la commande
#nmcli connection add type ethernet slave-type bridge con-name bridge0-port2 ifname enp3s0f2 master bridge0
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Cette commande crée un profil pour enp3s0f1 et l'ajoute à la connexion bridge0
Résultat commande : *Connexion « bridge0-port1 » (435b879b-0337-4402-bc8b-32322400345d) ajoutée avec succès.*
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
3.2-Si vous souhaitez affecter un profil de connexion existant à la passerelle
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Réglez le paramètre master de ces connexions sur bridge0:
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```bash
nmcli connection modify 'Connexion filaire 2' master bridge0 # enp3s0f0
#nmcli connection modify 'Connexion filaire 1' master bridge0 # enp2s0
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Ces commandes affectent les profils de connexion existants nommés enp3s0f0 et enp2s0 à la connexion bridge0.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Réactiver les connexions :
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```bash
nmcli connection up 'Connexion filaire 2' # enp3s0f0
nmcli connection up 'Connexion filaire 1' # enp2s0
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
4-Configurez les paramètres
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Pour utiliser le DHCP, aucune action n'est nécessaire
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
5-Activer la connexion
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
nmcli connection up bridge0
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
6-Vérifications
Utilisez l'utilitaire ip pour afficher l'état des liens des périphériques Ethernet qui sont des ports d'un pont spécifique
ip link show master bridge0
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
3: enp3s0f0: <BROADCAST , M U L T I C A S T , U P , L O W E R _ U P > mtu 1500 qdisc mq master bridge0 state UP mode DEFAULT group default qlen 1000
link/ether 6c:b3:11:32:04:c8 brd ff:ff:ff:ff:ff:ff
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Utilisez l'utilitaire bridge pour afficher l'état des périphériques Ethernet qui sont des ports de n'importe quel périphérique de pont
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
bridge link show
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
3: enp3s0f0: <BROADCAST , M U L T I C A S T , U P , L O W E R _ U P > mtu 1500 master bridge0 state forwarding priority 32 cost 100
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Partage disque
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
[Partage disque externe USB sur Freebox](/2022/08/03/Partage_disque_externe_USB_sur_Freebox.html)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
#### Disque freebox partagé FreeUSB2To
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
**FreeBox**
HDD Mobile 2To connecté en USB sur la freebox
Nom de partage : FreeUSB2To + EXT4 + vérification après formatage
Partage windows activé : yannfreebox + mot de passe
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
**PC1**
Partage linux samba : `sudo pacman -S cifs-utils` Installé par défaut
Point de montage : `sudo mkdir -p /mnt/FreeUSB2To`
Lien : `sudo ln -s /mnt/FreeUSB2To $HOME/FreeUSB2To`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Credential : `/root/.smbcredentials` avec 2 lignes
username=XXXXXX
password=XXXXXX
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Droits
2024-11-07 22:37:17 +01:00
```shell
2024-11-28 11:42:23 +01:00
sudo chown -R root:root /root/.smbcredentials
sudo chmod -R 600 /root/.smbcredentials
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Les fichiers systèmes
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
# /etc/systemd/system/mnt-FreeUSB2To.mount
[Unit]
Description=cifs mount script
Requires=network-online.target
After=network-online.service
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
[Mount]
What=//192.168.0.254/FreeUSB2To
Where=/mnt/FreeUSB2To
Options=credentials=/root/.smbcredentials,rw,uid=1000,gid=1000,vers=3.0
Type=cifs
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
[Install]
WantedBy=multi-user.target
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# /etc/systemd/system/mnt-FreeUSB2To.automount
[Unit]
Description=cifs mount script
Requires=network-online.target
After=network-online.service
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
[Automount]
Where=/mnt/FreeUSB2To
TimeoutIdleSec=10
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
[Install]
WantedBy=multi-user.target
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Activation
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
sudo systemctl enable mnt-FreeUSB2To.automount --now
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
#### Partage avec Lenovo serveur NFS
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
**PC1**
Points de montage : `sudo mkdir -p /mnt/sharenfs`
Lien : `sudo ln -s /mnt/sharenfs $HOME/sharenfs`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Ajouter les points de montage du serveur nfs au fichier `/etc/fstab`
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
# Les montage NFS du serveur lenovo 192.168.0.215
192.168.0.215:/sharenfs /mnt/sharenfs nfs4 nofail,x-systemd.automount,x-systemd.requires=network-online.target,x-systemd.device-timeout=10s,rsize=8192,wsize=8192 0 0
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Rechargement et montage
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
sudo systemctl daemon-reload & & sudo mount -a
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Points de montage : `sudo mkdir -p /mnt/nfs-ssd`
Lien : `sudo ln -s /mnt/nfs-ssd $HOME/nfs-ssd`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Ajouter les points de montage du serveur nfs au fichier `/etc/fstab`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
192.168.0.215:/mnt/nfs-ssd /mnt/nfs-ssd nfs4 nofail,x-systemd.automount,x-systemd.requires=network-online.target,x-systemd.device-timeout=10s,rsize=8192,wsize=8192 0 0
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Rechargement et montage
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
sudo systemctl daemon-reload & & sudo mount -a
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
#### Dossiers et Liens
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Les dossiers et **Liens sur les autres unités** et les dossiers `.keepassx` , `Notes` , `scripts` `statique/images` et `statique/_posts`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
sudo mkdir -p /srv/media/{Notes,statique}
sudo mkdir -p /srv/media/statique/{images,_posts}
sudo ln -s /srv/media $HOME/media
sudo ln -s /virtuel $HOME/virtuel
mkdir -p ~/{.ssh,.keepassx}
sudo mkdir -p /mnt/sharenfs/scripts
sudo chown $USER:$USER -R /mnt/sharenfs/scripts
2024-11-21 17:20:33 +01:00
```
2024-11-28 11:42:23 +01:00
Créer liens sharenfs
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
```bash
ln -s /mnt/sharenfs/pc1/.borg $HOME/Private/.borg
ln -s /mnt/sharenfs/scripts $HOME/scripts
```
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
**Liens "statique" et "Notes"**
les liens pour la rédaction des posts markdown et le dossier des fichiers
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
# Lien pour affichage des images avec éditeur Retext
sudo ln -s /srv/media/statique/images /images
# Lien pour les fichiers autres
sudo ln -s /srv/media/statique/files /files
```
**Dossiers Documents et Musique**
Supprimer les dossiers par défaut Documents et Musique et créer des liens
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
# suppression Documents et Musique
sudo rm -r $HOME/Documents
sudo rm -r $HOME/Musique
#Création des liens
sudo ln -s /srv/media/Documents $HOME/Documents
sudo ln -s /mnt/sharenfs/Musique $HOME/Musique
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Installation Paquets
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On commence par tout ce qui est graphique : gimp, cups (gestion de l’ imprimante) et hplip (si vous avez une imprimante scanner Hewlett Packard). Le paquet python-pyqt5 est indispensable pour l’ interface graphique de HPLIP+scan. Webkigtk2 étant indispensable pour la lecture de l’ aide en ligne de Gimp. outil rsync, Retext éditeur markdown, firefox fr, thunderbird, libreoffice, gdisk, bluefish, **Double Commander** , **Menulibre** pour la gestion des menus , outils android clementine
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
yay -S cups system-config-printer gimp hplip libreoffice-fresh-fr thunderbird-i18n-fr jq figlet p7zip tmux calibre retext bluefish gedit doublecmd-gtk2 terminator filezilla minicom zenity android-tools yt-dlp qrencode zbar xclip nmap jre-openjdk-headless openbsd-netcat borg python-llfuse xterm gparted tigervnc xournalpp qbittorrent ldns strawberry
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Autres avec compilation
yay -S freetube-bin signal-desktop xsane
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Gestion des menus du bureau, construction du paquet avant installation
yay -S menulibre
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* **System-config-printer** est une interface graphique écrite en Python et qui utilise Gtk+ pour configurer un serveur CUPS. Son but premier est de configurer le système d'impression sur l'hôte local, mais il peut également configurer une imprimante distante.
* **HPLIP** est un ensemble de pilotes pour l'impression sous GNU / Linux des imprimantes Hewlett Packard.
* **FIGlet** est un logiciel qui crée des bannières textuelles dans différentes polices d'écriture
* **Jq** est un programme qui permet de filtrer, découper, transformer et grouper des données JSON facilement.
* **p7zip** est le portage en ligne de commande Unix de 7-Zip, un archiveur de fichier qui compresse avec des gros ratios de compression.
* **Tmux** est un outil qui permet d'exploiter plusieurs terminaux au sein d'un seul affichage.
* **calibre** est un logiciel gratuit et open source qui vous permet de gérer, convertir et synchroniser vos livres numériques.
* **ReText** est multiplateforme et écrit en Python. Il permet d’ éditer des documents au balisage léger, en particulier le Markdown, et peut afficher le rendu HTML, en écran partagé
* **Bluefish** est un éditeur de texte dédié à la programmation informatique. Il se distingue notamment par ses nombreux outils et par la longue liste de langages de développement compatibles.
* **Double Commander** est un gestionnaire de fichiers multiplateforme au source ouvert avec deux panneaux côte à côte.
* **Terminator** est un terminal virtuel qui a la particularité de permettre de partager la fenêtre selon vos envies et ainsi organiser plus simplement vos différentes fenêtres.
* **FileZilla** est un logiciel qui vous permet de transférer des fichiers entre votre ordinateur et un serveur distant. Il est compatible avec Windows, Mac, Linux et les protocoles FTP, FTPS et SFTP.
* **Minicom** est un programme de contrôle de modem et d'émulation de terminal pour les Unix-like. Il permet de configurer des équipements réseaux via leur port console, comme les routeurs Cisco.
* **Zenity** est un outil qui permet d'afficher des boîtes de dialogue GTK+ depuis la ligne de commandes ou au travers de scripts shell
* **Android SDK Platform-Tools** (ADB) est l'outil officiel de Google qui permet d'utiliser les commandes ADB sur les appareils Android.
* **yt-dlp**, script écrit en Python, est un logiciel open source qui permet de télécharger des vidéos à partir de plusieurs sites de partage de vidéos, notamment YouTube
* **Qrencode** est une bibliothèque rapide et compacte pour l'encodage de données en QR Code, un symbole 2D qui peut être scanné par un téléphone portable
* **ZBar** est un logiciel de lecture de codes-barres à partir de diverses sources, telles que les flux vidéo, les fichiers d'images et les capteurs d'intensité brute. Il prend en charge de nombreuses symbologies courantes, dispose d'une mise en œuvre souple et en couches et d'un code de petite taille, et convient à une utilisation embarquée.
* **Xournal** est un outil open source permettant d'annoter des fichiers PDF. Il prend en charge la saisie au stylo, à la souris et au clavier. Il est couramment utilisé, avec Xournal++, pour ajouter des annotations et des signatures électroniques aux fichiers PDF, en particulier sur les ordinateurs de bureau Linux.
* **TigerVNC** (de l'anglais, « Tiger Virtual Network Computing ») est un système pour le partage de bureau graphique vous permettant de contrôler d'autres ordinateurs à distance.
* **Borg Backup** (Borg en abrégé) est un programme de sauvegarde incrémentielle en ligne de commande.
**python-llfuse** est utilisé avec **borg** pour monter des sauvegardes en tant que système de fichiers FUSE
* **qBittorrent** est un client Bittorrent gratuit et fiable qui vous permet de télécharger et de partager des fichiers via le protocole BitTorrent
* **Xclip** Cette application permet d'utiliser le presse-papier en ligne de commande. Elle permet notamment de rediriger la sortie standard d'une commande directement vers le presse-papier, afin de pouvoir s'en servir immédiatement.
* **ldns** est une bibliothèque DNS rapide avec le but de simplifier la programmation DNS et pour permettre aux développeurs de facilement créer des programmes qui soient conformes aux RFC actuelles et aux brouillons Internet.
* **Nmap** (« Network Mapper ») est un outil open source d'exploration réseau et d'audit de sécurité. Il a été conçu pour rapidement scanner de grands réseaux, mais il fonctionne aussi très bien sur une cible unique.
* **GParted** est une application de gestion et d'organisation de partitions distribuée sous licence libre GPLv2. Elle permet de créer, d'effacer et de modifier les partitions de vos disques durs, clés USB, cartes SD, etc.
* **openbsd-netcat** L'utilitaire nc (ou netcat) est utilisé pour tout ce qui concerne TCP, UDP ou les sockets du domaine UNIX. Il peut ouvrir des connexions TCP, envoyer des paquets UDP, écouter sur des ports TCP et UDP arbitraires, effectuer un balayage des ports et gérer à la fois IPv4 et IPv6.
* **xterm** est l'émulateur de terminal standard pour l'environnement graphique X Window System. Un utilisateur peut disposer de plusieurs instances de xterm simultanément dans le même écran, chacune d'entre elles offrant des entrées/sorties indépendantes pour les processus qui s'y exécutent
* **Strawberry Music Player** excelle par la richesse de ses fonctionnalités. Outre la lecture de musique, l'utilisateur peut créer et gérer des playlists, organiser aisément sa collection selon divers critères, et même éditer les tags des pistes audio.
* **FreeTube** est un client privé multiplateforme qui vous permet de regarder YouTube sur votre ordinateur en toute tranquillité.
* **Signal**, l'équivalent libre de WhatsApp. Signal est une application de messagerie similaire à WhatsApp, mais étant plus indépendante. Elle permet aux utilisateurs de se transmettre des messages, des photos, des vidéos et des documents. La transmission des messages est chiffrée de bout en bout.
* **XSane** a été conçu pour l'acquisition d'images avec votre scanner. Vous pouvez scanner un fichier, faire une photocopie, créer un fax, créer un courriel, et enfin démarrer xSane à partir de GIMP avec un greffon spécifique.
* **MenuLibre** est un éditeur de menu pour les environnements de bureau tels que Budgie, LXDE (Lubuntu), XFCE (Xubuntu), et également GNOME ou Unity.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### ReText
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Restauration `cp /mnt/usb/yann/.config/ReText project/ReText.conf ~/.config/ReText project/ReText.conf`
Fichier de configuration `~/.config/ReText project/ReText.conf`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```conf
[General]
appStyleSheet=/home/yann/.config/ReText project/retext.qss
defaultPreviewState=normal-preview
recentFileList=
styleSheet=/home/yann/.config/ReText project/retext.css
useWebEngine=true
useWebKit=true
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Les fichiers retext.css et retext.qss
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
<details >
<summary > <b > Etendre Réduire retext.css</b> </summary>
{% highlight css %}
body {
font-family: Helvetica, Arial, sans-serif;
font-size: 15px;
line-height: 1.3;
color: #f6e6cc;
width: 700px;
margin: auto;
/*background: #27221a;*/
background: #121212;
position: relative;
padding: 0 30px;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
body>:first-child
{
margin-top:0!important;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
img {
max-width: 100%;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
table {
width: 100%;
border-collapse: collapse;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
th {
background-color: rgba(0, 0, 0, 0.3);
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
table, th, td {
padding: 5px;
border: 1px solid rgba(0, 0, 0, 0.3);
border-radius: 0.4em;
-moz-border-radius: 0.4em;
-webkit-border-radius: 0.4em;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
tr:nth-child(even) {
background-color: rgba(0, 0, 0, 0.3);
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
p, ul, ol, dl, table, pre {
margin-bottom: 1em;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ul {
margin-left: 20px;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
a {
text-decoration: none;
cursor: pointer;
color: #ba832c;
font-weight: bold;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
a:focus {
outline: 1px dotted;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
a:visited {}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
a:hover, a:focus {
color: #d3a459;
text-decoration: none;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
a *, button * {
cursor: pointer;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
hr {
display: none;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
small {
font-size: 90%;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
input, select, button, textarea, option {
font-family: Arial, "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
font-size: 100%;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
button, label, select, option, input[type=submit] {
cursor: pointer;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sup {
font-size: 80%;
line-height: 1;
vertical-align: super;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
h1, h2, h3, h4, h5, h6 {
line-height: 1.1;
font-family: Baskerville, "Goudy Old Style", "Palatino", "Book Antiqua", serif;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
h1 {
font-size: 24pt;
margin: 1em 0 0.1em;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
h2 {
font-size: 22pt;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
h3 {
font-size: 20pt;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
h4 {
font-size: 18pt;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
h5 {
font-size: 16pt;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
h6 {
font-size: 14pt;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
h1 a, h1 a:hover {
color: #d7af72;
font-weight: normal;
text-decoration: none;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
::selection {
background: #745626;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
::-moz-selection {
background: #745626;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
pre {
background: #1B1812;
color: #fff;
padding: 8px 10px;
overflow-x: hidden;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
pre code {
font-size: 10pt;
}
{% endhighlight %}
</details>
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Fichier retext.qss
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```css
QTextEdit {
color: black;
background-color: white;
}
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Tmux
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Fichier de configuration tmux
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
<details >
<summary > <b > Etendre Réduire fichier de configuration "~/.tmux.conf"</b> </summary>
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
{% highlight text %}
#Configuration de tmux
#Origine : http://denisrosenkranz.com
#Yannick juin 2017
# Copier/Coller par la souris se fait avec la touche "Shift" appuyée
##################################
#Changements des raccourcis claviers
##################################
#On change Control +b par Control +x
#set -g prefix C-x
#unbind C-b
#bind C-x send-prefix
#On utilise control + flèches pour naviguer entre les terminaux
bind-key -n C-right next
bind-key -n C-left prev
#on utilise alt + flèches our naviguer entre les panels
bind-key -n M-left select-pane -L
bind-key -n M-right select-pane -R
bind-key -n M-up select-pane -U
bind-key -n M-down select-pane -D
#On change les raccourcis pour faire du split vertical et horizontal
#On utilise la touche "|" (pipe) pour faire un split vertical
bind | split-window -h
#Et la touche "-" pour faire un split horizontal
bind - split-window -v
##################################
#Changements pratiques
##################################
#On permet l'utilisation de la souris pour changer de terminal et de panel
set -g mouse on
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Sélection zone par clic gauche souris (texte sélectionné sur fond jaune)
# Après relachement du clic , le texte sélectionné est copié dans le presse-papier
# Le fond jaune disparaît
set-option -s set-clipboard off
# For emacs copy mode bindings
# Il faut installer l'utilitaire 'xclip' (sudo pacman -S xclip)
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#Les fenêtres commencent par 1 et non par 0
set -g base-index 1
##################################
#Changements visuels
##################################
#On met les panneaux non actif en gris
#set -g pane-border-fg colour244
#set -g pane-border-bg default
#On met le panneau actif en rouge
#set -g pane-active-border-fg colour124
#set -g pane-active-border-bg default
#On met la barre de status en gris
set -g status-fg colour235
set -g status-bg colour250
#set -g status-attr dim
# On surligne les fenêtres actives dans la barre de status en gris foncés
#set-window-option -g window-status-current-fg colour15
#set-window-option -g window-status-current-bg colour0
{% endhighlight %}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
</details>
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Client Nextcloud
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installation client nextcloud
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yay -S nextcloud-client libgnome-keyring gnome-keyring
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Démarrer le client nextcloud , après avoir renseigné l'url ,login et mot de passe pour la connexion
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Trousseau de clé avec mot de passe idem connexion utilisateur
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Paramétrage
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* Menu → Lancer **Client de synchronisation nextcloud**
* Adresse du serveur : <https: / / c l o u d . x o y a z . x y z >
![](/images/nextcloud_xfce01.png){:width="300"}
* Nom d’ utilisateur : yann
* Mot de passe : xxxxx
![](/images/nextcloud_xfce02.png){:width="200"}
![](/images/nextcloud_xfce03.png){:width="300"}
![](/images/nextcloud_xfce04.png){:width="200"}
* Sauter les dossiers à synchroniser, Ignorer la configuration des dossiers
* Trousseau de clés = mot de passe connexion utilisateur
![](/images/nextcloud_xfce05.png){:width="400"}
* Paramètres nextcloud
![](/images/e6230-nextcloud-a.png){:width="400"}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Saisir les différents dossiers à synhroniser
![](/images/e6230-nextcloud.png){:width="400"}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Au prochain redémarrage, il faudra confirmer le mot de passe du trousseau
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Gestion mot de passe (keepassxc)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/KeePassXC.png){:width="50"}
Ajouter une synchronisation de dossier nextcloud : /home/yann/.keepassx (local) → Home/.keepasx (serveur)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installer keepassxc
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yay -S keepassxc
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajouter aux favoris "KeepassXC" et lancer l'application → **Ouvrir une base de données existante**
Base de données --> Ouvrir une base de données (afficher les fichiers cachés) : **~/.keepassx/yannick_xc.kdbx** --> Ouvrir
![](/images/e6230-keepassx01.png){:width="400"}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Affichage → Thème** : Sombre
**Affichage → Mode compact** , un redémarrage de l'application est nécessaire
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Déverrouillage avec clé matérielle
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Minicom
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Paramétrage de l'application terminale **minicom**
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo minicom -s
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
>Seul les paramètres à modifier sont cités
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Configuration du port série
![](/images/minicom01.png)
A - Port série : **/dev/ttyUSB0**
F - Contrôle de flux matériel : **Non**
![](/images/minicom02.png)
Echap
Enregistrer config. sous dfl
![](/images/minicom03.png)
Sortir de Minicom
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Flameshot (copie écran)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Copie écran (flameshot)**
**[Flameshot](https://github.com/lupoDharkael/flameshot)** c’ est un peu THE TOOL pour faire des captures d’ écrans
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yay -S flameshot
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lancer l'application XFCE Flameshot et l'icône est visible dans la barre des tâches
![](/images/flameshot_e6230-1a.png){:width="300"}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Paramétrage de flameshot, clic droit sur icône , Configuration
![](/images/flameshot_e6230-1b.png){:width="300"}
Paramétrage de flameshot
![](/images/flameshot01.png){:width="300"}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### scrpy émulation android
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Utilise adb et le port USB
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yay -S scrcpy
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### SSHFS (facultatif)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/sshfs-logo.png){:width="50"}
*SSHFS sert à monter sur son système de fichier, un autre système de fichier distant, à travers une connexion SSH, le tout avec des droits utilisateur.*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installer paquet SSHFS
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo pacman -S sshfs
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sshfs n'est pas installé par défaut sur la distribution EndeavourOS
{:.warning}
2024-11-07 22:37:17 +01:00
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Création des partages utilisés par sshfs (facultatif)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
mkdir -p $HOME/vps/{borgbackup,lxc,vdb,xoyaz.xyz,xoyize.xyz}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Exemple de montage manuel
`sshfs -oIdentityFile=<clé p r i v é e > utilisateur@domaine.tld:<dossier d i s t a n t > <dossier l o c a l > -C -p <port s i d f f é r e n t d e 2 2 > `
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Gestionnaire de fichiers
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*Double Commander est un gestionnaire de fichiers open source multiplateforme avec deux panneaux côte à côte. Il s'inspire de Total Commander*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Application GTK
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yay -S doublecmd-gtk2
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Les paramètres sont stockés dans le dossier `~/.config/doublecmd`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Thunderbird
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lancer thunderbird à l'ouverture de session xfce
Paramètres → Session et démarrage → Démarrage automatique d'application
![](/images/thunderbird01a.png){:width="300"}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajouter thunderbird aux favoris et lancer
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### bashrc alias
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajouter les alias au fichier `$HOME/.bashrc`
<details >
<summary > <b > Etendre Réduire</b> </summary>
{% highlight bash %}
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias ll='ls -lav --ignore=..' # show long listing of all except ".."
alias l='ls -lav --ignore=.?*' # show long listing but no hidden dotfiles except "."
alias aide='xdg-open https://static.rnmkcy.eu/aide-jekyll-text-theme.html#autres-styles'
alias android='$HOME/virtuel/KVM/bliss.sh'
alias audio='yt-dlp --extract-audio --audio-format m4a --audio-quality 0 --output "~/Musique/%(title)s.%(ext)s"'
alias audiomp3='yt-dlp --extract-audio --audio-format mp3 --audio-quality 0 --output "~/Musique/%(title)s.%(ext)s"'
alias borglist='$HOME/scripts/borglist.sh'
alias calibreraz='adb -s CNBT80D20191101145 shell -x rm /sdcard/Document/metadata.calibre'
alias certok='$HOME/scripts/ssl-cert-check'
alias compress='$HOME/scripts/compress'
alias dnsleak='$HOME/scripts/dnsleaktest.py'
alias etat='$HOME/scripts/etat_des_lieux.sh'
alias findh='cat $HOME/scripts/findhelp.txt'
alias homer="ssh bookvm@192.168.0.225 -p 55215 -i $HOME/.ssh/vm-debian12 '/home/bookvm/homer/remoh.py'"
alias iceyanwg="sh /mnt/sharenfs/pc1/scripts/wgiceyan.sh"
alias ipleak='curl https://ipv4.ipleak.net/json/'
alias l='ls -lav --ignore=.?*'
alias ll='ls -lav --ignore=..'
alias ls='ls --color=auto'
alias mediasync='$HOME/scripts/sav-yann-media.sh'
alias mediajour='/usr/bin/journalctl --no-pager -t sauvegardes --since today'
alias nmapl='sudo nmap -T4 -sP 192.168.0.0/24'
alias odt2html='$HOME/scripts/_odt2html+index'
alias odtprivate='$HOME/scripts/_odt2html+index_private'
alias orphelin='sudo pacman -Rsn $(pacman -Qdtq)'
alias otp='$HOME/scripts/generer-code-2fa-vers-presse-papier-toutes-les-30s.sh'
alias ovh="ssh leno@192.168.0.215 -p 55215 -i $HOME/.ssh/lenovo-ed25519 'cd /home/leno/scripts/ovh_api/; /home/leno/scripts/ovh_api/ApiOvh/bin/python domain.py xoyize.xyz cinay.eu xoyaz.xyz ouestline.xyz rnmkcy.eu yanfi.net icevps.xyz xoyize.net iceyan.xyz; cd /home/leno'"
alias rename='$HOME/scripts/remplacer-les-espaces-accents-dans-une-expression.sh'
alias service='systemctl --type=service'
alias sshm='$HOME/scripts/ssh-manager.sh'
alias ssl='$HOME/scripts/ssl-cert-check'
alias static='cd $HOME/media/yannstatic; $HOME/.local/share/gem/ruby/3.3.0/bin/bundle exec jekyll build -d $HOME/media/yannstatic/static; cd ~'
alias status='$HOME/scripts/status.sh'
alias synchro='journalctl --user -u media_yannstatic_site.service --no-pager --since today'
alias toc='$HOME/scripts/toc/toc.sh'
alias tocplus='$HOME/scripts/toc/tocplus.sh'
alias tracesgpx="/srv/media/osm-new/osm_python/OsmScripts/bin/python /srv/media/osm-new/osm_python/OsmScripts/tracesgpxnew.py /srv/media/osm-new/file /run/media/yann/GARMIN/Garmin/GPX; sh /srv/media/osm-new/osm-new-synchro.sh"
alias traduc='/usr/local/bin/trans'
alias ttrss="bash $HOME/scripts/articles_remarquables_ttrss"
alias vncasus='sh $HOME/scripts/vncasus.sh'
alias vncdell='sh $HOME/scripts/vncdell.sh'
alias vncmarina='sh $HOME/scripts/vncmarina.sh'
alias wgiceyan='sh $HOME/scripts/wgiceyan.sh'
alias x96='adb connect 192.168.0.22:5555'
alias youtube='yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" --output "~/Vidéos/%(title)s.%(ext)s" --ignore-errors'
{% endhighlight %}
</details>
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Recharger le fichier pour appliquer les modifications
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
source ~/.bashrc
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour afficher les alias dans un terminal
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
alias
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Imprimante et scanner
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Prérequis , paquets **cups cups-filters cups-pdf system-config-printer hplip installés** (Pilotes HP pour DeskJet, OfficeJet, Photosmart, Business Inkjet et quelques modèles de LaserJet aussi bien qu'un certain nombre d'imprimantes Brother)...
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installer graphiquement l'imprimante
![](/images/hp7510-00.png){:width="300"}
![](/images/hp7510-01.png)
![](/images/hp7510-02.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/hp7510-03.png){:width="300"}
Pour contourner le problème , éditer le fichier `/etc/nsswitch.conf`
Ajouter `mdns_minimal [NOTFOUND=return]` avant `resolve`
`hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns`
{:.warning}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Après correctif
![](/images/hp7510-04.png){:width="300"}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Avec cups : http://localhost:631/
![](/images/hp_cups.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installation du scanner
Coté logiciel il vous faudra **sane** et son interface graphique **xsane**, ainsi qu’ éventuellement xsane-gimp le plugin pour gimp.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yay -S xsane xsane-gimp
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Vérifier si le scaner est reconnu : `sudo scanimage -L`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
device `escl:https://192.168.0.24:443' is a HP OfficeJet 7510 series [C22036] platen,adf scanner
device `hpaio:/net/officejet_7510_series?ip=192.168.0.24& queue=false' is a Hewlett-Packard officejet_7510_series all-in-one
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Test scan, placer un original pour photocopie
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
scanimage --device hpaio:/net/officejet_7510_series?ip=192.168.0.24 --format=png > test.png
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Navigateur Floorp
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*Floorp est un navigateur basé sur Firefox qui bloque les traceurs malveillants, offre une mise en page flexible et personnalisable, et ne collecte pas les données des utilisateurs. Découvrez ses fonctionnalités, ses thèmes, ses mises à jour et son code source ouvert.*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yay -S floorp-bin
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Générateur site statique
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*Ensemble d'applications basé sur ruby et jekyll qui permet la génération de site statique à partir de fichiers markdown*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Ruby jekyll yannstatic - générateur site statique](/2024/07/13/Archlinux_Ruby_Jekyll_site_statique.html#option-b---ruby-choix-par-defaut)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Sauvegardes locales
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Sauvegardes locales avec systemd utilisateur service et timer](/2021/05/28/Sauvegardes_locales_avec_systemd_utilisateur_service_et_timer.html)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
La sauvegarde démarre 3 minutes après la mise sous tension de PC1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Les logs : `journalctl --user -u savyann.service`
Liste des timers : `systemctl --user list-timers --all`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Pacman Hooks
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* [Pacman hooks for setting up certain system identification files of EndeavourOS (eos-hooks)](https://github.com/endeavouros-team/PKGBUILDS/tree/master/eos-hooks)
* [Pacman hooks](https://github.com/Strykar/pacman-hooks)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Liste paquets installés**
*Ce hook sauvegardera une liste de vos paquets natifs et étrangers (AUR) installés. Cela garantit que vous aurez toujours une liste à jour de tous vos paquets que vous pourrez réinstaller.*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Prérequis pour la création du hook et des scripts, créez des sous-répertoires
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo mkdir -p /etc/pacman.d/hooks
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créez le hook
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo nano /etc/pacman.d/hooks/50-pacman-list.hook
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
#/etc/pacman.d/hooks/50-pacman-list.hook
[Trigger]
Type = Package
Operation = Install
Operation = Upgrade
Operation = Remove
Target = *
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Action]
Description = Création liste des paquets installés
When = PostTransaction
Exec = /bin/sh -c '/usr/bin/pacman -Qqe > /mnt/sharenfs/pc1/PC1_eos_pkg_list.txt'
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour installer des paquets depuis une sauvegarde antérieure de la liste des paquets, tout en ne réinstallant pas ceux qui sont déjà installés et à jour, lancer:
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo pacman -S --needed - < PC1_eos_pkg_list.txt
sudo pacman -S --needed $(comm -12 < (pacman -Slq | sort) < (sort pkglist.txt))
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Synchro serveurs
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Dossier "BiblioCalibre"**
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Le but est de synchroniser le dossier **/srv/media/BiblioCalibre** avec le(s) serveur(s) web distant(s)
Avec les unités de chemin, vous pouvez surveiller les fichiers et les répertoires pour certains événements. Si un événement spécifique se produit, une unité de service est exécutée, et elle porte généralement le même nom que l'unité de chemin
{:.info}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Nous allons surveiller dans le dossier */srv/media/BiblioCalibre/* toute modification du fichier **metadata.db** qui entrainera l'exécution d'un script
Dans le répertoire systemd utilisateur nous créons une unité de cheminement **media_BiblioCalibre_site.path**
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
nano ~/.config/systemd/user/media_BiblioCalibre_site.path
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```ini
[Unit]
Description=Surveiller metadata.db pour les changements
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Path]
PathChanged=/srv/media/BiblioCalibre/metadata.db
Unit=media_BiblioCalibre_site.service
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Install]
WantedBy=default.target
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Dans la section `[Path]`, `PathChanged=` indique le chemin absolu du fichier à surveiller, tandis que `Unit=` indique l'unité de service à exécuter si le fichier change. Cette unité (**media_BiblioCalibre_site.path**) doit être lancée lorsque le système est en mode multi-utilisateur.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ensuite, nous créons l'unité de service correspondante, **media_BiblioCalibre_site.service**, dans le répertoire `~/.config/systemd/user/`
Si le fichier **metadata.db** change (c'est-à-dire qu'il est à la fois écrit et fermé), l'unité de service suivante sera appelée pour exécuter le script spécifié :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
nano ~/.config/systemd/user/media_BiblioCalibre_site.service
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```ini
[Unit]
Description="Exécute le script si metadata.db a été modifié."
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Service]
ExecStart=/mnt/sharenfs/scripts/media_BiblioCalibre_site.sh
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Install]
WantedBy=default.target
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Le script `media_BiblioCalibre_site.sh` lance une synchronisation locale distante via rsync ssh
<details >
<summary > <b > Etendre Réduire media_BiblioCalibre_site.sh</b> </summary>
{% highlight bash %}
#!/bin/bash
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Modification mode rsync suivant serveur distant
#
# Chaque modification du fichier metadata.db dans le dossier local /srv/media/BiblioCalibre
# déclenche une synchronisation du dossier local avec le dossier distant '/sharenfs/multimedia/eBook/BiblioCalibre'
# des serveurs VPS Yunohost
# le dossier local est également sauvegardé dans le dossier 'backup/datayan/static' de la boîte de stockage
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Fonction pour tester si le serveur est présent
# Host=$1 et Port=$2
# Réponse $?=0 -> OK $?=1 -> NOK
host_ok () {
nc -4 -d -z -w 1 $1 $2 & > /dev/null
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
synchro () {
# Synchronisation locale distante du dossier _site
host_ok $SERVER $PORT
if [[ $? == 0 ]]
then
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
echo 'rsync -avz --progress --stats --human-readable --delete -e "ssh -p '$PORT' -i '$PRIVKEY'" '$REPLOC' '$USERDIS':'$REPDIS'/eBook/'
rsync -avz --progress --stats --human-readable --delete --rsync-path="$RSYNCMOD" -e "ssh -p $PORT -i $PRIVKEY" $REPLOC $USERDIS:$REPDIS/eBook/ > /dev/null
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Analyse résultat de la commande rsync
if [ ! $? -eq 0 ]; then
#echo "Synchro $REPLOC avec $SERVER -> OK" | systemd-cat -t BiblioCalibre -p info
#echo "Synchro $REPLOC avec $SERVER -> OK"
#else
echo "Synchro $REPLOC avec $SERVER -> ERREUR" | systemd-cat -t BiblioCalibre -p emerg
#echo "Synchro $REPLOC avec $SERVER -> ERREUR"
fi
else
echo "Site $SERVER port $PORT Inaccessible !" | systemd-cat -t BiblioCalibre -p emerg
#echo "Site $SERVER port $PORT Inaccessible !"
fi
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#*******************************************************************
#
# DEPART SCRIPT
#
#*******************************************************************
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Tester la présence du fichier des serveurs distants
if [ ! -f /home/yann/scripts/serveurs.csv ]; then
echo "Fichier serveurs.csv inexistant!" | systemd-cat -t BiblioCalibre -p emerg
exit 1
fi
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Mesure temps exécution
begin=$(date +"%s")
echo "***DEPART*** Exécution script $0"
echo "***DEPART*** Exécution script $0" | systemd-cat -t BiblioCalibre -p info
#echo "Exécution script $0"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Dossier local
REPLOC="/srv/media/BiblioCalibre"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Synchro serveurs
while IFS="," read -r SERVER REPDIS USERDIS PORT PRIVKEY RSYNCMOD LOCAL
do
#echo " $SERVER $REPDIS $USERDIS $PORT $PRIVKEY $RSYNCMOD $LOCAL"
if [[ "$SERVER" = "rnmkcy.eu" ]]; then
synchro
echo "ssh $USERDIS -p $PORT -i $PRIVKEY 'sudo systemctl restart calibreweb'"
ssh $USERDIS -p $PORT -i $PRIVKEY 'sudo systemctl restart calibreweb'
fi
done < < (tail -n +2 /home/yann/scripts/serveurs.csv)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Calcul et affichage temps exécution
termin=$(date +"%s")
difftimelps=$(($termin-$begin))
echo "***FIN*** $0 exécuté en $(($difftimelps / 60)) mn $(($difftimelps % 60)) s" | systemd-cat -t BiblioCalibre -p info
echo "***FIN*** $0 exécuté en $(($difftimelps / 60)) mn $(($difftimelps % 60)) s"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
exit 0
{% endhighlight %}
</details>
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Activer et lancer
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
systemctl --user enable media_BiblioCalibre_site.path --now
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Voir le fichier journal
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
journalctl --user -f -u media_BiblioCalibre_site.service
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
juin 06 09:39:32 yann-pc1 systemd[1537]: Started "Exécute le script si metadata.db a été modifié.".
juin 06 09:39:32 yann-pc1 media_BiblioCalibre_site.sh[11100]: ***DEPART*** Exécution script /home/yann/scripts/media_BiblioCalibre_site.sh
juin 06 09:39:32 yann-pc1 media_BiblioCalibre_site.sh[11100]: rsync -avz --progress --stats --human-readable --delete -e "ssh -p 55215 -i /home/yann/.ssh/lenovo-ed25519" /srv/media/BiblioCalibre leno@192.168.0.215:/sharenfs/multimedia/Divers/
juin 06 09:39:33 yann-pc1 media_BiblioCalibre_site.sh[11100]: ***FIN*** /home/yann/scripts/media_BiblioCalibre_site.sh exécuté en 0 mn 1 s
juin 06 09:44:40 yann-pc1 systemd[1537]: Started "Exécute le script si metadata.db a été modifié.".
juin 06 09:44:40 yann-pc1 media_BiblioCalibre_site.sh[11278]: ***DEPART*** Exécution script /home/yann/scripts/media_BiblioCalibre_site.sh
juin 06 09:44:40 yann-pc1 media_BiblioCalibre_site.sh[11278]: rsync -avz --progress --stats --human-readable --delete -e "ssh -p 55215 -i /home/yann/.ssh/lenovo-ed25519" /srv/media/BiblioCalibre leno@192.168.0.215:/sharenfs/multimedia/Divers/
juin 06 09:44:41 yann-pc1 media_BiblioCalibre_site.sh[11278]: ssh leno@192.168.0.215 -p 55215 -i /home/yann/.ssh/lenovo-ed25519 'sudo systemctl restart calibreweb'
juin 06 09:44:42 yann-pc1 media_BiblioCalibre_site.sh[11278]: ***FIN*** /home/yann/scripts/media_BiblioCalibre_site.sh exécuté en 0 mn 2 s
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On peut créer un accès graphique sur le poste archlinux
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
~/.local/share/applications/suivi_BiblioCalibre_site.desktop
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
[Desktop Entry]
Version=1.1
Type=Application
Name=Synchro BiblioCalibre
Comment=synchro site rnmkcy.eu
Icon=xterm-color_48x48
Exec=xterm -rv -geometry 250x30+10+50 -T suivi_BiblioCalibre_site -e 'journalctl --user -u media_BiblioCalibre_site.service --no-pager; read -p "Touche Entrée pour sortir..."'
Actions=
Categories=Utility;
Path=
Terminal=false
StartupNotify=false
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Déverrouillage des volumes LUKS2 avec clé matérielle
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installer librairie libfido2 pour la prise en charge des clés Yubico et SoloKeys
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo pacman -S libfido2
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#### Enroler clé USB YubiKey 5 NFC
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/yubikey5nfc.png){:height="150"}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Vérifier que la YubiKey est insérée dans un port USB
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lister et enroler la yubikey
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo systemd-cryptenroll --fido2-device=list
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
PATH MANUFACTURER PRODUCT
/dev/hidraw6 Yubico YubiKey OTP+FIDO+CCID
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Enroler la clé pour le déverrouillage du disque chiffré nvme0n1p2
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo systemd-cryptenroll --fido2-device=auto /dev/nvme0n1p2
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
🔐 Please enter current passphrase for disk /dev/nvme0n1p2: *********************
Requested to lock with PIN, but FIDO2 device /dev/hidraw5 does not support it, disabling.
Initializing FIDO2 credential on security token.
👆 (Hint: This might require confirmation of user presence on security token.)
Generating secret key on FIDO2 security token.
👆 In order to allow secret key generation, please confirm presence on security token.
New FIDO2 token enrolled as key slot 1.
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Le **Y** de la clé se met à clignoter , il suffit de poser son doigt sur l'emplacement du **Y** pour le déverrouillage
{:.info}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Retirer la première clé et répéter l'opération ci-dessus pour les autres clés
#### Enroler une passphrase de recouvrement
Les jetons et puces de sécurité FIDO2, PKCS#11 et TPM2 s'associent bien avec les clés de recouvrement : puisque vous n'avez plus besoin de taper votre mot de passe tous les jours, il est logique de vous en débarrasser et d'enregistrer à la place une clé de recouvrement à forte entropie que vous imprimez ou scannez hors écran et conservez dans un endroit physique sûr.
Voici comment procéder :
sudo systemd-cryptenroll --recovery-key /dev/nvme0n1p2
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
🔐 Please enter current passphrase for disk /dev/nvme0n1p2: ***********
A secret recovery key has been generated for this volume:
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
🔐 vbcrnbjn-vkrkihte-rctbufne-nlihihjl-tegudteu-rkjthcgd-hvhuvgik-rugeregh
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Please save this secret recovery key at a secure location. It may be used to
regain access to the volume if the other configured access credentials have
been lost or forgotten. The recovery key may be entered in place of a password
whenever authentication is requested.
New recovery key enrolled as key slot 4.
```
Cette opération génère une clé, l'enregistre dans le volume LUKS2, l'affiche à l'écran et génère un code QR que vous pouvez scanner en dehors de l'écran si vous le souhaitez.
La clé possède la plus grande entropie et peut être saisie partout où vous pouvez saisir une phrase d'authentification.
C'est pourquoi il n'est pas nécessaire de modifier le fichier /etc/crypttab pour que la clé de récupération fonctionne.
#### Enroler une clé USB SoloKeys (OPTIONNEL)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/solokeys.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lister la clé
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
systemd-cryptenroll --fido2-device=list
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
PATH MANUFACTURER PRODUCT
/dev/hidraw4 SoloKeys Solo 4.1.5
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajout de la solokeys
sudo systemd-cryptenroll --fido2-device=auto /dev/nvme0n1p2
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
🔐 Please enter current passphrase for disk /dev/nvme0n1p2: ***********
Requested to lock with PIN, but FIDO2 device /dev/hidraw1 does not support it, disabling.
Initializing FIDO2 credential on security token.
👆 (Hint: This might require confirmation of user presence on security token.)
Generating secret key on FIDO2 security token.
👆 In order to allow secret key generation, please confirm presence on security token.
New FIDO2 token enrolled as key slot 3.
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lors du boot , le **S** de la SoloKeys passe au ROUGE et il suffit d'appuyer sur le voyant pour qu'il repasse au vert afin de lancer le processus de déchiffrement et finir le démarrage
{:.info}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#### Prise en charge YubiKey et SoloKey
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Les options timeout de [crypttab](https://www.man7.org/linux/man-pages/man5/crypttab.5.html)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
timeout=
Spécifie le délai d'attente pour la demande d'un mot de passe. Si aucune unité
n'est spécifiée, l'unité utilisée est la seconde. Les unités prises en charge sont s, ms, us,
min, h, d. Un délai de 0 permet d'attendre indéfiniment (valeur par défaut).
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
token-timeout=
Spécifie le temps d'attente maximum pour que les dispositifs de sécurité configurés (c'est-à-dire FIDO2, PKCS#11, TPM2) apparaissent.Prend une valeur
en secondes (mais d'autres unités de temps peuvent être spécifiées,
voir systemd.time(7) pour les formats supportés). La valeur par défaut est 30s.
Une fois le délai spécifié écoulé, l'authentification par
mot de passe est tentée. Notez que ce délai s'applique à
l'attente de l'apparition du dispositif de sécurité -
Il ne s'applique pas à la demande de code PIN pour le dispositif (le cas échéant)
ou autre. Passez 0 pour désactiver le délai et attendre indéfiniment.
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Configurer /etc/crypttab pour la prise en charge des clés
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo nano /etc/crypttab
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
# <name > <device > <password > <options >
#cryptlvm UUID=62061a11-24fd-497c-aa20-bf00f103d359 /crypto_keyfile.bin luks
cryptlvm UUID=62061a11-24fd-497c-aa20-bf00f103d359 - fido2-device=auto,token-timeout=10s
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
`token-timeout=20s` --> Si aucune clé n'est connectée , le mot de passe devra être saisi après 10 secondes de délai
Réinitialiser le kernel
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
sudo reinstall-kernels
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
`Redémarrer la machine`{:.info}
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
#### Plymouth - Processus de démarrage graphique
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
[Plymouth - Processus de démarrage graphique](/2023/10/14/Plymouth_Processus_de_demarrage_graphique.html)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Plymouth de base
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yay -S plymouth plymouth-theme-endeavouros
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajouter le paramètre kernel “splash” dans le fichier `/etc/kernel/cmdline` pour que Plymouth soit affiché au démarrage
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
nvme_load=YES splash nowatchdog rw rd.luks.uuid=62061a11-24fd-497c-aa20-bf00f103d359 root=/dev/mapper/vg0-lvroot
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Réinitialiser le kernel
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo reinstall-kernels
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
`Redémarrer la machine`{:.info}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Ntfy
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*Ntfy, qui se prononce “notify”, est un service de notification ultra léger, permettant d’ envoyer des messages vers un smartphone ou un ordinateur via de simples scripts, sans besoin de compte et totalement gratuitement !*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Ntfy service de notification](/2024/02/22/Ntfy.html)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yay -S ntfysh-bin
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### FreeTuxTv
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*FreetuxTV est une application qui permet de regarder et enregistrer facilement les chaînes de télévision sous GNU/Linux et les chaînes de télévision de votre fournisseur d'accès internet.*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour la freebox
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
echo "192.168.0.254 mafreebox.freebox.fr" | sudo tee -a /etc/hosts
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installation
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yay -S freetuxtv
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Paramétrage du parefeu firewalld ([Configuration de firewalld pour le multicast VLC freebox](https://forums.fedora-fr.org/d/59161-configuration-de-firewalld-pour-le-multicast-vlc-freebox-de-chez-free))
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créer les services **/etc/firewalld/services/mafreebox.xml** et **/etc/firewalld/services//vlc.xml** pour firewalld
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**mafreebox.xml**
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```xml
<?xml version="1.0" encoding="utf-8"?>
<service >
<short > mafreebox</short>
<description > Permission pour mafreebox et vlc</description>
<port protocol= "udp" port= "" />
</service>
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**vlc.xml**
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```xml
<?xml version="1.0" encoding="utf-8"?>
<service >
<short > vlc2</short>
<description > Permission pour mafreebox et vlc</description>
<port protocol= "udp" port= "15947" />
<destination ipv4= "228.67.43.91" />
</service>
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajouter à la **zone public** , fichier `/etc/firewalld/zones/public.xml`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```xml
<service name= "mafreebox" />
<service name= "vlc" />
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
pour rendre ces règles permanentes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```xml
<?xml version="1.0" encoding="utf-8"?>
<zone >
<short > Public</short>
<description > For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name= "ssh" />
<service name= "dhcpv6-client" />
<service name= "ipp-client" />
<service name= "mdns" />
<service name= "ipp" />
<service name= "mafreebox" />
<service name= "vlc" />
<forward />
</zone>
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Recharger le parefeu
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo firewall-cmd --reload
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## VPN
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### NordVPN
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* [NordVPN fournisseur de services de réseau privé virtuel (VPN)](/2024/11/23/NordVPN.html)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Mullvad
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* [Archlinux Mullvad](/2024/09/14/Mullvad-2024.html#archlinux-mullvad)
* [Utilisation application VPN Mullvad](/htmldoc/Utilisation application VPN Mullvad.html)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Virtuel QEMU KVM VMM
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Virt-Manager
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
1. [Virt-Manager Complete Edition - Installation simplifiée](/2023/05/31/EndeavourOS-Virt-Manager_Complete_Edition.html#installation-simplifiée)
2. [Accés aux machines virtuelles KVM distantes via virt-manager](/2023/12/17/Installer_KVM_Kernel_Virtual_Machine_sur_un_serveur.html#accés-aux-machines-virtuelles-kvm-distantes-via-virt-manager)
3. [Pont réseau virtuel “host-bridge”](/2023/05/31/EndeavourOS-Virt-Manager_Complete_Edition.html#pont-réseau-virtuel-host-bridge)
![](/images/host-bridge-br0.png){:width="400"}
4. Gestionnaire de machine virtuelles, activer "xml editing"
![](/images/xml-editing.png){:width="400"}
5. Restaurer les configurations de VM
`sudo cp ~/virtuel/etc-libvirt-qemu/*.xml /etc/libvirt/qemu/`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Résumé - Installation complète avec outis
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo pacman -Syu --needed virt-manager qemu-desktop libvirt edk2-ovmf dnsmasq vde2 bridge-utils iptables-nft dmidecode swtpm libguestfs guestfs-tools
Activer "Enable XML editing" dans Préférences , Général
Créer un pool "yannick"
Désactiver au démarrage le pool default
**Déclarer le pont (bridge) à KVM**
Créer un fichier de définition de réseau au format XML : `nano router-tenda.xml`
```xml
<network >
<name > router-tenda</name>
<forward mode= "bridge" />
<bridge name= "bridge0" />
</network>
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Appliquer la configuration :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
sudo virsh net-define router-tenda.xml # -> Réseau host-tenda défini depuis router-tenda.xml
sudo virsh net-start router-tenda # -> Réseau router-tenda démarré
sudo virsh net-autostart router-tenda # -> Réseau router-tenda marqué en démarrage automatique
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Vérification
sudo virsh net-list --all
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Nom État Démarrage automatique Persistant
--------------------------------------------------------------
default inactif non oui
router-tenda actif oui oui
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
La structure libvirt
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
# Les configurations xml
[root@pc1 yann]# tree -L 2 /etc/libvirt/qemu
/etc/libvirt/qemu
├── autostart
│ └── vm-debian12.xml -> /etc/libvirt/qemu/vm-debian12.xml
├── EndeavourOS.xml
├── networks
│ ├── autostart
│ ├── default.xml
│ └── router-tenda.xml
└── win11.xml
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# les images sous KVM
[yann@pc1 ~]$ tree -L 2 ~/virtuel/
/home/yann/virtuel/
├── eos
│ └── eos-chiffre_luks_backup.bin
├── KVM
│ ├── eos-lvm-luks-1.qcow2
│ └── wineleven.qcow2
├── KVM_SAV
│ ├── etc-libvirt-qemu
│ └── images_qcow2
└── nspawn
└── nspbullseye
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Pour activer la gestion des machines virtuelles distantes
[KVM: virt-manager to connect to a remote console using qemu+ssh](https://fabianlee.org/2019/02/16/kvm-virt-manager-to-connect-to-a-remote-console-using-qemussh/)
Saisir la commande suivante
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
virt-manager -c 'qemu+ssh://leno@192.168.0.215:55215/system?keyfile=/home/yann/.ssh/lenovo-ed25519'
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Ensuite ouvrir le "Gestionnaire de machines virtuelles"
![](/images/qemu-pc1-leno01.png)
![](/images/qemu-pc1-leno02.png)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
## Développement
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Wing personal python IDE
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
**Wing personal python IDE** → [Téléchargement](https://wingware.com/downloads/wing-personal)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
# Décompression de la version téléchargée
tar xjvf wing-personal-10.0.6.0-linux-x64.tar.bz2
# Passage en root
sudo -s
# Lancement procédure installation
cd wing-personal-10.0.6.0-linux-x64
./wing-install.py
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Déroulement de la commande
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
Where do you want to install the support files for Wing Personal (default
= /usr/local/lib/wing-personal9)?
/usr/local/lib/wing-personal10 does not exist, create it (y/N)? y
Where do you want to install links to the Wing Personal startup scripts
(default = /usr/local/bin)?
[...]
Writing file-list.txt
Icon/menu install returned err=0
Done installing. Make sure that /usr/local/bin is in your path and type
"wing-personal10" to start Wing Personal.
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Effacer les fichiers
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
# Suppression dossier et fichier
cd ..
rm -rf wing-personal*
# sortie root
exit
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Installer python pip
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
yay -S python-pip
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Go
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Archlinux Go
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
yay -S go
go version
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
*go version go1.23.3 linux/amd64*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### NodeJS et nvm
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Archlinux Node.js npm
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
yay -S nodejs npm
node --version & & npm --version
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
v23.1.0
10.9.0
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
NVM, également appelé « Node Version Manager », est un outil utilisé pour installer et gérer plusieurs versions de Node.js sur le système.
Installer la dernière version de NVM à l'aide de la commande suivante
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
source ~/.bashrc
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Vérifier
nvm --version
*0.39.2*
**Installer Node.js avec NVM**
Pour lister toutes les versions disponibles Node.js
nvm list-remote
Vous obtiendrez une liste de toutes les versions
```
v22.9.0
v22.10.0
v22.11.0 (Latest LTS: Jod)
v23.0.0
v23.1.0
v23.2.0
v23.3.0
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour installer la dernière version de Node.js
`nvm install node`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour installer la dernière version stable de Node.js
`nvm install --lts`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour installer une version spécifique de Node.js
`nvm install 23.2.0`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour lister toutes les versions installées de Node.js
`nvm ls`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour modifier la version Node.js par défaut à 19.0.0
`nvm utilisation 23.2.0`
## Base de données
*Dbeaver gestionnaire de bases de données MariaDB, PostgreSQL et Sqlite*
### Dbeaver
*DBeaver est basé sur le framework Eclipse, il est open source et il supporte plusieurs types de serveurs de bases de données comme : MySQL, SQLite, DB2, PostgreSQL, Oracle...*
Version java installée : `java --version`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
openjdk 23 2024-09-17
OpenJDK Runtime Environment (build 23)
OpenJDK 64-Bit Server VM (build 23, mixed mode, sharing)
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installation
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yay -S dbeaver
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
Sync Explicit (1): dbeaver-24.2.1-1
résolution des dépendances…
:: Il y a 6 fournisseurs disponibles pour java-runtime>=17 :
:: Dépôt extra
1) jdk-openjdk 2) jdk17-openjdk 3) jdk21-openjdk 4) jre-openjdk 5) jre17-openjdk 6) jre21-openjdk
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Entrer un nombre (par défaut, 1 est sélectionné): 1
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### MariaDB
[MariaDB archlinux](/2019/02/09/MariaDB-sur-Debian-Stretch.html#archlinux)
Résumé des commandes en mode su
```shell
pacman -S mariadb
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
systemctl enable mariadb --now
systemctl status --no-pager --full mariadb
```
Sécuriser
sudo mysql_secure_installation
`Valider tous les choix par défaut SAUF le changement de mot de passe (n)`{:.info}
### PostgreSQL
[PostgreSQL](/2024/11/08/PostgreSQL.html)
Création d'un bash nommé `articles_remarquables_ttrss` pour exécuter les opérations suivantes:
* Connexion ssh à la machine virtuelle Alpine Linux et exécution d-un dump de la base de données
* La commande dump : `sudo docker exec -i aluser-db-1 /bin/bash -c "PGPASSWORD=Mot_Passe_Base pg_dump --username postgres postgres" > dump_ttrss.sql`
* Note: La commande est dans un fichier nommé `import_base.sh`
* Importer localement la base au format SQL
* Recréer la base PostgreSQL (PostgreSQL installé sur la machine où s'exécute le bash)
* Exécuter une requête qui génére un fichier markdown qui sera automatiquement intégré dans le site statique
Le bash `$HOME/scripts/articles_remarquables_ttrss`
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```bash
2024-11-28 11:42:23 +01:00
#!/bin/bash
set -euo pipefail
trap 'echo "Une erreur est survenue."; exit 1' ERR
# Connexion SSH VM Alpine ttrss, récupération base postgresql ttrss sous forme de fichier SQL
ssh -o ProxyCommand="ssh -W %h:%p -p 55215 -i /home/yann/.ssh/lenovo-ed25519 leno@192.168.0.215" -i /home/yann/.ssh/ttrss_alpine-vm -p 55217 aluser@192.168.100.20 'sh import_base.sh'
scp -o ProxyCommand="ssh -W %h:%p -p 55215 -i /home/yann/.ssh/lenovo-ed25519 leno@192.168.0.215" -i /home/yann/.ssh/ttrss_alpine-vm -P 55217 aluser@192.168.100.20:/home/aluser/dump_ttrss.sql /home/yann/media/devel/psql/
# Localement, supprimer et recréer base vide postgresql ttrss
psql -U postgres -c "DROP DATABASE ttrss"
psql -U postgres -c "CREATE DATABASE ttrss"
# Import fichier SQL dans la base
psql -U postgres ttrss < /srv/media/devel/psql/dump_ttrss.sql
# Générer le fichier markdown
psql ttrss -U postgres -c "\COPY (
select concat('<li > <a href= \"' | | t t r s s _ e n t r i e s . l i n k | | ' \ " > ', ttrss_entries.title || ' (' ,ttrss_feeds.title || ')</a> </li> ' )
from ttrss_entries
join ttrss_user_entries
on ttrss_entries.id = ttrss_user_entries.int_id
join ttrss_feeds
on ttrss_feeds.id = ttrss_user_entries.feed_id
where ttrss_user_entries.marked = true
order by ttrss_entries.updated DESC)
TO '/srv/media/devel/psql/ttrss.md'"
# Créer le fichier liens_ttrss.md dans le dossier yannstatic
# cat /srv/media/devel/psql/Entete_liens_ttrss.txt /srv/media/devel/psql/ttrss.md /srv/media/devel/psql/Pied_liens_ttrss.txt > /srv/media/yannstatic/liens_ttrss.md
LIENS_TTRSS="/srv/media/yannstatic/liens_ttrss.md"
cat < < EOF > $LIENS_TTRSS
---
layout: article
titles: Liens ttrss au format HTML
---
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
<html lang= "fr" >
<body >
<head >
<meta charset= "utf-8" >
<title > Doc Html</title>
</head>
<div class= "search-bar" >
<div class= "search-box js-search-box" >
<input type= "text" id= "saisie-recherche" onkeyup= "rechercheFonction()" placeholder= "Rechercher..." title= "Saisir" a u t o f o c u s >
</div>
</div>
<ul id= "articlesTTRSS" >
EOF
cat /srv/media/devel/psql/ttrss.md >> $LIENS_TTRSS
cat < < EOF > > $LIENS_TTRSS
</ul>
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
<button onclick= "topFunction()" id= "myBtn" title= "Haut de page" > ↑ </button>
<script >
//Get the button
var mybutton = document.getElementById("myBtn");
// When the user scrolls down 20px from the top of the document, show the button
window.onscroll = function() {scrollFunction()};
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
mybutton.style.display = "block";
} else {
mybutton.style.display = "none";
}
}
// When the user clicks on the button, scroll to the top of the document
function topFunction() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
function rechercheFonction() {
var input, filter, ul, li, a, i, txtValue;
input = document.getElementById("saisie-recherche");
filter = input.value.toUpperCase();
ul = document.getElementById("articlesTTRSS");
li = ul.getElementsByTagName("li");
for (i = 0; i < li.length ; i + + ) {
a = li[i].getElementsByTagName("a")[0];
txtValue = a.textContent || a.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = "";
} else {
li[i].style.display = "none";
}
}
}
// Cacher le champ de recherche
var mysearchbox = document.getElementById("searchbox");
mysearchbox.style.visibility = "hidden";
</script>
</body>
</html>
EOF
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Maintenance
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Changer Nvme ou SSD chiffré
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Remplacer M.2 2280 NVMe 1To par une 2To
![](/images/ssd_Fikwot_FN501_Pro.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Boot sur usb live EndeavourOS
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Passer en mode su
Les partitions du disque chiffré nvme0n1
```
nvme0n1 259:0 0 931.5G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part
├─nvme0n1p2 259:2 0 920G 0 part
│ └─crypttemp 254:3 0 920G 0 crypt
│ ├─vg0-lvroot 254:4 0 70G 0 lvm
│ ├─vg0-lvhome 254:5 0 120G 0 lvm
│ └─vg0-lvmedia 254:6 0 600G 0 lvm
└─nvme0n1p3 259:3 0 11G 0 part
```
Déchiffrer la partition nvme0n1p2
cryptsetup luksOpen /dev/nvme0n1p2 crypttemp
Créer et monter le système à sauvegarder sur /media
```shell
mkdir -p /media
mkdir -p /media/home
mkdir -p /media/efi
mount /dev/vg0/lvroot /media
mount /dev/vg0/lvhome /media/home
mount /dev/nvme0n1p1 /media/efi
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Monter le système qui va recevoir la sauvegarde
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
mount /dev/vg-nas-one/sav /mnt
mkdir -p /mnt/pc1
mkdir -p /mnt/pc1/efi
mkdir -p /mnt/pc1/home
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Sauvegarder le système actuel (racine,home et efi)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
rsync -avA /media/ /mnt/pc1
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Patienter plusieurs minutes, suivant la taille
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Arrêter la machine PC1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Remplacer la carte SSD M2
Redémarrer la machine sur un USB Live EndeavourOS
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Zapper le nouveau disque SSD M.2
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sgdisk --zap-all /dev/nvme0n1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Partitionnement du disque NVME 2To GPT + LVM
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
gdisk /dev/nvme0n1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créer 2 partitions
Partition 1 : 512M EFI (code ef00) système de fichier FAT32
Partition 2 : le reste LVM (code 8e00) système de fichier EXT4
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Formater partition EFI
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
mkfs.fat -F32 /dev/nvme0n1p1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Chiffrer la partition /dev/nvme0n1p2
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
cryptsetup luksFormat --type luks2 /dev/nvme0n1p2
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ouvrir la partition chiffrée
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
cryptsetup luksOpen /dev/nvme0n1p2 crypt
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créer LVM
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
pvcreate /dev/mapper/crypt
vgcreate vg0 /dev/mapper/crypt
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créer les volumes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
lvcreate -L 60G vg0 -n lvroot # Logical volume "lvroot" created.
lvcreate -L 120G vg0 -n lvhome # Logical volume "lvhome" created.
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Système de fichier
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
mkfs.ext4 -L root /dev/mapper/vg0-lvroot
mkfs.ext4 -L home /dev/mapper/vg0-lvhome
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Monter le nouveau système sur /mnt
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
mount /dev/mapper/vg0-lvroot /mnt
mkdir -p /mnt/home
mount /dev/mapper/vg0-lvhome /mnt/home
mkdir -p /mnt/efi
mount /dev/nvme0n1p1 /mnt/efi
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Monter la sauvegarde sur media
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
mount /dev/vg-nas-one/sav /media
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Restaurer le système
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
rsync -avA /media/pc1/ /mnt
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Patienter plusieurs minutes, suivant la taille
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Création volume logique LVM media et montage
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
lvcreate -L 800G vg0 -n lvmedia
mkfs.ext4 -L media /dev/mapper/vg0-lvmedia
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
mkdir -p /mnt/srv/media
mount /dev/vg0/lvmedia /mnt/srv/media
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Restaurer la sauvegarde multimedia
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
rsync -avA /media/pc1_20240201/media/srv/media/ /mnt/srv/media
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Démonter le système de sauvegarde
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
umount /media
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajouter un fichier de clé existant LUKS
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
cryptsetup luksAddKey /dev/nvme0n1p2 /mnt/crypto_keyfile.bin
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Il faut saisir le phrase mot de passe
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Configuration /etc/crypttab
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
cryptsetup luksUUID /dev/nvme0n1p2
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Renvoie UUID ae37e59d-35f7-4920-8428-be8be8d15243
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Modifier /mnt/etc/crypttab
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Contenu
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
# <name > <device > <password > <options >
cryptlvm UUID=ae37e59d-35f7-4920-8428-be8be8d15243 /crypto_keyfile.bin luks
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Passer en chroot
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
arch-chroot /mnt
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Relever les UUID
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
blkid -s UUID -o value /dev/mapper/vg0-lvroot
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
renvoie l’ UUID du volume racine : 2a6cab35-6c52-4382-9aee-06a376a8acc0
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
blkid -s UUID -o value /dev/mapper/vg0-lvhome
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
renvoie l’ UUID du volume d’ accueil : b4e52069-a8c9-459e-b39f-6ac1b682b0d6
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
blkid -s UUID -o value /dev/mapper/vg0-lvmedia
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
renvoie l’ UUID du volume media : 1ca4bfc7-3d31-4859-aeb3-656214fab490
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
blkid -s UUID -o value /dev/nvme0n1p1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
renvoie l’ UUID du volume media : E5E4-A4AE
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Configurer /etc/fstab
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
nano /etc/fstab
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
UUID=E5E4-A4AE /efi vfat defaults,noatime 0 2
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
UUID=2a6cab35-6c52-4382-9aee-06a376a8acc0 / ext4 defaults,acl,noatime,discard 0 0
UUID=b4e52069-a8c9-459e-b39f-6ac1b682b0d6 /home ext4 defaults,acl,noatime,discard 0 0
/swapfile none swap defaults,pri=-2 0 0
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# /dev/mapper/vg0-lvmedia
UUID=86a7c58c-8f30-42e2-bd39-d1ae7464c837 /srv/media ext4 rw,relatime 0 2
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# /dev/mapper/ssd--512-virtuel
UUID=84bc1aa9-23ac-4530-b861-bc33171b7b42 /virtuel ext4 defaults 0 2
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# /dev/mapper/vg--nas--one-sav
UUID=c5b9eefc-1daa-4a0d-8a72-6169b3c8c91f /sauvegardes ext4 defaults 0 2
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# /dev/vg-nas-one/iso - Volume logique 200G du disque 4To
UUID=58f4b6c7-3811-41d5-9964-f47ac32375f6 /iso ext4 defaults 0 2
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
options du noyau
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
blkid -s UUID -o value /dev/nvme0n1p2 # --> ae37e59d-35f7-4920-8428-be8be8d15243
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Modifier /etc/kernel/cmdline
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
nano /etc/kernel/cmdline
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
nvme_load=YES nowatchdog rw rd.luks.uuid=ae37e59d-35f7-4920-8428-be8be8d15243 root=/dev/mapper/vg0-lvroot
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Réinstaller noyau
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
reinstall-kernels
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Sortie du chroot , retirer la clé USB Live et reboot de la machine
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Mise à jour , si erreur de paquet ou signature PGP
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
En cas d'erreur de paquet ou signature PGP
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo pacman -S endeavouros-keyring archlinux-keyring
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
`Redémarrer la machine`{:.info}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Etat des lieux
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajouter un alias dans le fichier `~/.bashrc`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
alias etat='$HOME/scripts/etat_des_lieux.sh'
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Recharger et exécuter
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
source ~/.bashrc
etat
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Ajout disque LVM
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Exemple disque SSD 120Go
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Disque sda
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
lsblk
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 111,8G 0 disk
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**gdisk**
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo gdisk /dev/sda
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
o : nouvelle partion dos
n : nouvelle partition typt LVM 8e00
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Format fichier ext4
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo mkfs.ext4 /dev/sda1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**LVM** (Logical Volume Manager, ou gestionnaire de volumes logiques en français) permet la création et la gestion de volumes logiques sous Linux. L'utilisation de volumes logiques remplace en quelque sorte le partitionnement des disques.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Volume physique : `sudo pvcreate /dev/sda1`
GroupevVolumes : `sudo vgcreate ssd-120 /dev/sda1`
Volume logique : `sudo lvcreate -n lv120 -l +100%FREE ssd-120`
Fichier ext4 : `sudo mkfs.ext4 /dev/ssd-120/lv120`
Relever UUID `sudo blkid |grep lv120`
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
/dev/mapper/ssd--120-lv120: UUID="6b48e98c-9b85-461b-9371-040765aae682" BLOCK_SIZE="4096" TYPE="ext4"
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Création point de montage
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo mkdir -p /mnt/ssd
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajouter les lignes suivantes au fichier **/etc/fstab**
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
# /dev/mapper/ssd--120-lv120
UUID=6b48e98c-9b85-461b-9371-040765aae682 /mnt/ssd ext4 defaults 0 2
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Rechargement et montage
sudo systemctl daemon-reload
sudo mount -a
Vérification : `df -h /mnt/ssd/`
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/mapper/ssd--120-lv120 110G 2,1M 104G 1% /mnt/ssd
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Droits en écriture à l'utilisateur
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo chown $USER:$USER /mnt/ssd/]]></content> <author > <name > </name> </author> <category term= "archlinux" /> <category term= "chiffrement" /> <summary type= "html" > <![CDATA[EndeavourOS est une distribution GNU/Linux basée sur Arch Linux]]> </summary> </entry> <entry > <title type= "html" > Lynis pour auditer et renforcer la sécurité des systèmes basés sur Linux</title> <link href= "https://static.rnmkcy.eu/2024/11/09/Lynis.html" rel= "alternate" type= "text/html" title= "Lynis pour auditer et renforcer la sécurité des systèmes basés sur Linux" /> <published > 2024-11-09T00:00:00+01:00</published> <updated > 2024-11-09T00:00:00+01:00</updated> <id > https://static.rnmkcy.eu/2024/11/09/Lynis</id> <content type= "html" xml:base= "https://static.rnmkcy.eu/2024/11/09/Lynis.html" > < ![CDATA[*Lynis est un outil conçu pour auditer et renforcer la sécurité des systèmes d’ exploitation basés sur Unix et Linux qui a la capacité à fournir des analyses détaillées et des recommandations personnalisées*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Audit Sécurité
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* [Auditez la sécurité de vos serveurs avec Lynis](https://blog.stephane-robert.info/docs/securiser/durcissement/lynis/)
* [Comment effectuer un audit de sécurité Linux avec Lynis ?](https://www.it-connect.fr/scan-de-votre-systeme-unix-avec-lynis/)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Installer lynis
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
cd /home/leno/scripts
git clone https://github.com/CISOfy/lynis
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour une exécution en mode su : `sudo -s`
2024-11-07 22:37:17 +01:00
```bash
2024-11-28 11:42:23 +01:00
cd ~
chown -R 0:0 lynis
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Lancement audit
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On passe en mode su
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo -s
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Se rendre dans le dossier lynis et lancer le bash
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
cd /home/leno/scripts/lynis
./lynis audit system
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lynis affiche des informations en temps réel pendant l’ audit. Vous verrez des sections telles que “Boot and services”, “Software: antivirus”, “Kernel”, etc.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
<details >
<summary > <b > Audit en cours...</b> </summary>
{% highlight text %}
[...]
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[+] Initializing program
------------------------------------
- Detecting OS... [ DONE ]
- Checking profiles... [ DONE ]
- Detecting language and localization [ fr ]
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
---------------------------------------------------
Program version: 3.1.3
Operating system: Linux
Operating system name: Debian
Operating system version: 12
Kernel version: 6.1.0
Hardware platform: x86_64
Hostname: rnmkcy
---------------------------------------------------
Profiles: /home/leno/scripts/lynis/default.prf
Log file: /var/log/lynis.log
Report file: /var/log/lynis-report.dat
Report version: 1.0
Plugin directory: ./plugins
---------------------------------------------------
Auditor: [Not Specified]
Language: fr
Test category: all
Test group: all
---------------------------------------------------
- Program update status... [ PAS DE MISE A JOUR ]
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[...]
{% endhighlight %}
</details>
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lynis utilise des codes de couleur pour souligner l’ importance des résultats. Par exemple, le rouge indique un problème critique, tandis que le jaune signale des avertissements.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Analyse du score de l’ audit
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Le score de l’ audit Lynis est une mesure quantitative qui reflète l’ état de sécurité de votre système. À la fin de chaque audit, Lynis attribue un score, exprimé en pourcentage, qui évalue la robustesse de votre configuration de sécurité. Ce score est calculé en fonction de divers facteurs, tels que les vulnérabilités détectées, les configurations de sécurité non optimales et les bonnes pratiques en matière de sécurité qui sont déjà en place.
![](/images/lynis01.png)
Un score élevé indique que votre système est bien configuré et qu’ il respecte de nombreuses bonnes pratiques de sécurité. Cela signifie que Lynis a trouvé moins de problèmes et de vulnérabilités et que les mesures de sécurité importantes sont déjà en place. Inversement, un score bas suggère que des améliorations significatives sont nécessaires pour renforcer la sécurité de votre système. Il indique généralement la présence de nombreuses vulnérabilités ou de configurations de sécurité inadéquates.
Il est important d’ utiliser le score de l’ audit comme un indicateur de progression dans vos efforts de sécurisation. Après avoir apporté des changements recommandés par Lynis, vous devriez ré-exécuter l’ outil pour voir si vos actions ont conduit à une amélioration du score. L’ augmentation du score d’ un audit à l’ autre est un signe positif que vous avez réussi à améliorer la sécurité de votre système.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Analyse Détaillée des Résultats
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
À la fin de l’ audit, Lynis fournit un résumé des résultats, y compris les avertissements et suggestions. Pour chaque point soulevé, Lynis fournit des détails spécifiques sur la nature du problème ou de la suggestion. Lynis liste également les tests effectués et leurs résultats, ce qui vous aide à comprendre quels aspects de votre système ont été audités.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lynis enregistre les résultats dans des fichiers de log, généralement situés dans `/var/log/lynis.log`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Chaque avertissement ou suggestion est accompagné d’ un code unique (par exemple, SSH-7408) et d’ un message descriptif. Ce code peut être utilisé pour rechercher des informations supplémentaires dans la documentation de Lynis ou sur internet.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Recherche mot clé "Suggestion" dans le fichier log
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On va traiter l'amélioration du paramétrage SSH
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
[...]
2024-11-09 10:19:48 Suggestion: Consider hardening SSH configuration [test:SSH-7408] [details:AllowTcpForwarding (set YES to NO)] [solution:-]
2024-11-09 10:19:48 Suggestion: Consider hardening SSH configuration [test:SSH-7408] [details:ClientAliveCountMax (set 3 to 2)] [solution:-]
2024-11-09 10:19:48 Suggestion: Consider hardening SSH configuration [test:SSH-7408] [details:LogLevel (set INFO to VERBOSE)] [solution:-]
2024-11-09 10:19:48 Suggestion: Consider hardening SSH configuration [test:SSH-7408] [details:MaxAuthTries (set 6 to 3)] [solution:-]
2024-11-09 10:19:48 Suggestion: Consider hardening SSH configuration [test:SSH-7408] [details:MaxSessions (set 10 to 2)] [solution:-]
2024-11-09 10:19:48 Suggestion: Consider hardening SSH configuration [test:SSH-7408] [details:TCPKeepAlive (set YES to NO)] [solution:-]
2024-11-09 10:19:49 Suggestion: Consider hardening SSH configuration [test:SSH-7408] [details:X11Forwarding (set YES to NO)] [solution:-]
2024-11-09 10:19:49 Suggestion: Consider hardening SSH configuration [test:SSH-7408] [details:AllowAgentForwarding (set YES to NO)] [solution:-]
[...]
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Les modifications des paramètres fichier /etc/ssh/sshd_config
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
LogLevel VERBOSE
ClientAliveCountMax 2
MaxAuthTries 3
MaxSessions 3
TCPKeepAlive no
X11Forwarding no
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Redémarrer le service
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo systemctl restart sshd
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créer un profile `lenovo.prf` à partir de `default.prf` et modification pour désactiver des tests
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
<details >
<summary > <b > lenovo.prf</b> </summary>
{% highlight text %}
#################################################################################
#
#
# Lynis - Default scan profile
#
#
#################################################################################
#
#
# This profile provides Lynis with most of its initial values to perform a
# system audit.
#
#
# WARNINGS
# ----------
#
# Do NOT make changes to this file. Instead, copy only your changes into
# the file custom.prf and put it in the same directory as default.prf
#
# To discover where your profiles are located: lynis show profiles
#
#
# Lynis performs a strict check on profiles to avoid the inclusion of
# possibly harmful injections. See include/profiles for details.
#
#
#################################################################################
#
# All empty lines or with the # prefix will be skipped
#
#################################################################################
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Use colored output
colors=yes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Compressed uploads (set to zero when errors with uploading occur)
compressed-uploads=yes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Amount of connections in WAIT state before reporting it as a suggestion
#connections-max-wait-state=5000
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Debug mode (for debugging purposes, extra data logged to screen)
#debug=yes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Show non-zero exit code when warnings are found
error-on-warnings=no
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Use Lynis in your own language (by default auto-detected)
language=
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Log tests from another guest operating system (default: yes)
#log-tests-incorrect-os=yes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Define if available NTP daemon is configured as a server or client on the network
# values: server or client (default: client)
#ntpd-role=client
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Defines the role of the system (personal, workstation or server)
machine-role=server
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Ignore some stratum 16 hosts (for example when running as time source itself)
#ntp-ignore-stratum-16-peer=127.0.0.1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Profile name, will be used as title/description
profile-name=Default Audit Template
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Number of seconds to pause between every test (0 is no pause)
pause-between-tests=0
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Quick mode (do not wait for keypresses)
quick=yes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Refresh software repositories to help detecting vulnerable packages
refresh-repositories=yes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Show solution for findings
show-report-solution=yes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Show inline tips about the tool
show-tool-tips=yes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Skip plugins
skip-plugins=no
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Skip a test (one per line)
skip-test=NETW-3015
skip-test=STRG-1930
skip-test=BOOT-5122
skip-test=BOOT-5264
skip-test=KRNL-5820
skip-test=AUTH-9230
skip-test=AUTH-9262
skip-test=AUTH-9282
skip-test=AUTH-9284
skip-test=AUTH-9286
skip-test=AUTH-9286
skip-test=AUTH-9328
skip-test=FILE-6310
skip-test=FILE-6310
skip-test=USB-1000
skip-test=STRG-1846
skip-test=NAME-4404
skip-test=PKGS-7346
skip-test=PKGS-7370
skip-test=PKGS-7392
skip-test=PKGS-7394
skip-test=PKGS-7410
skip-test=PKGS-7420
skip-test=NETW-3200
skip-test=NETW-3200
skip-test=NETW-3200
skip-test=NETW-3200
skip-test=FIRE-4513
skip-test=HTTP-6710
skip-test=HTTP-6712
skip-test=SSH-7408
skip-test=SSH-7408
skip-test=SSH-7408
skip-test=DBS-1884
skip-test=DBS-1886
skip-test=PHP-2376
skip-test=LOGG-2154
skip-test=LOGG-2190
skip-test=BANN-7126
skip-test=BANN-7130
skip-test=ACCT-9622
skip-test=ACCT-9626
skip-test=ACCT-9628
skip-test=CRYP-7902
skip-test=FINT-4350
skip-test=TOOL-5002
skip-test=FILE-7524
skip-test=KRNL-6000
skip-test=HRDN-7222
skip-test=HRDN-7230
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Skip a particular option within a test (when applicable)
#skip-test=SSH-7408:loglevel
#skip-test=SSH-7408:permitrootlogin
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Skip Lynis upgrade availability test (default: no)
#skip-upgrade-test=yes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Locations where to search for SSL certificates (separate paths with a colon)
ssl-certificate-paths=/etc/apache2:/etc/dovecot:/etc/httpd:/etc/letsencrypt:/etc/pki:/etc/postfix:/etc/refind.d/keys:/etc/ssl:/opt/psa/var/certificates:/usr/local/psa/var/certificates:/usr/local/share/ca-certificates:/usr/share/ca-certificates:/usr/share/gnupg:/var/www:/srv/www
ssl-certificate-paths-to-ignore=/etc/letsencrypt/archive:
ssl-certificate-include-packages=no
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Scan type - how deep the audit should be (light, normal or full)
test-scan-mode=full
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Verbose output
verbose=no
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#################################################################################
#
# Plugins
# ---------------
# Define which plugins are enabled
#
# Notes:
# - Nothing happens if plugin isn't available
# - There is no order in execution of plugins
# - See documentation about how to use plugins and phases
# - Some are for Lynis Enterprise users only
#
#################################################################################
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Lynis plugins to enable
plugin=authentication
plugin=compliance
plugin=configuration
plugin=control-panels
plugin=crypto
plugin=dns
plugin=docker
plugin=file-integrity
plugin=file-systems
plugin=firewalls
plugin=forensics
plugin=hardware
plugin=intrusion-detection
plugin=intrusion-prevention
plugin=kernel
plugin=malware
plugin=memory
plugin=nginx
plugin=pam
plugin=processes
plugin=security-modules
plugin=software
plugin=system-integrity
plugin=systemd
plugin=users
plugin=krb5
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# Disable a particular plugin (will overrule an enabled plugin)
#disable-plugin=authentication
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#################################################################################
#
# Kernel options
# ---------------
# config-data=, followed by:
#
# - Type = Set to 'sysctl'
# - Setting = value of sysctl key (e.g. kernel.sysrq)
# - Expected value = Preferred value for key (e.g. 0)
# - Hardening Points = Number of hardening points (typically 1 point per key) (1)
# - Description = Textual description about the sysctl key(Disable magic SysRQ)
# - Related file or command = For example, sysctl -a to retrieve more details
# - Solution field = Specifies more details or where to find them (url:URL, text:TEXT, or -)
#
#################################################################################
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Config
# - Type (sysctl)
# - Setting (kernel.sysrq)
# - Expected value (0)
# - Hardening Points (1)
# - Description (Disable magic SysRQ)
# - Related file or command (sysctl -a)
# - Solution field (url:URL, text:TEXT, or -)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Processes
config-data=sysctl;security.bsd.see_other_gids;0;1;Groups only see their own processes;sysctl -a;-;category:security;
config-data=sysctl;security.bsd.see_other_uids;0;1;Users only see their own processes;sysctl -a;-;category:security;
config-data=sysctl;security.bsd.stack_guard_page;1;1;Enable stack smashing protection (SSP)/ProPolice to defend against possible buffer overflows;-;category:security;
config-data=sysctl;security.bsd.unprivileged_proc_debug;0;1;Unprivileged processes can not use process debugging;sysctl -a;-;category:security;
config-data=sysctl;security.bsd.unprivileged_read_msgbuf;0;1;Unprivileged processes can not read the kernel message buffer;sysctl -a;-;category:security;
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Kernel
config-data=sysctl;fs.suid_dumpable;0;1;Restrict core dumps;sysctl -a;url:https;//www.kernel.org/doc/Documentation/sysctl/fs.txt;category:security;
config-data=sysctl;fs.protected_fifos;2;1;Restrict FIFO special device creation behavior;sysctl -a;url:https;//www.kernel.org/doc/Documentation/sysctl/fs.txt;category:security;
config-data=sysctl;fs.protected_hardlinks;1;1;Restrict hardlink creation behavior;sysctl -a;url:https;//www.kernel.org/doc/Documentation/sysctl/fs.txt;category:security;
config-data=sysctl;fs.protected_regular;2;1;Restrict regular files creation behavior;sysctl -a;url:https;//www.kernel.org/doc/Documentation/sysctl/fs.txt;category:security;
config-data=sysctl;fs.protected_symlinks;1;1;Restrict symlink following behavior;sysctl -a;url:https;//www.kernel.org/doc/Documentation/sysctl/fs.txt;category:security;
#config-data=sysctl;kern.randompid=2345;Randomize PID numbers with a specific modulus;sysctl -a;-;category:security;
config-data=sysctl;kern.sugid_coredump;0;1;No description;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.core_setuid_ok;0;1;No description;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.core_uses_pid;1;1;No description;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.ctrl-alt-del;0;1;No description;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.dmesg_restrict;1;1;Restrict use of dmesg;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.exec-shield-randomize;1;1;No description;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.exec-shield;1;1;No description;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.kptr_restrict;2;1;Restrict access to kernel symbols;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.maps_protect;1;1;Restrict access to /proc/[pid]/maps;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.modules_disabled;1;1;Restrict module loading once this sysctl value is loaded;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.perf_event_paranoid;2|3|4;1;Restrict unprivileged access to the perf_event_open() system call.;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.randomize_va_space;2;1;Randomize of memory address locations (ASLR);sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.suid_dumpable;0;1;Restrict core dumps;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.sysrq;0;1;Disable magic SysRQ;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.unprivileged_bpf_disabled;1;1;Restrict BPF for unprivileged users;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.use-nx;0;1;No description;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;kernel.yama.ptrace_scope;1|2|3;1;Disable process tracing for everyone;-;category:security;
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Network
config-data=sysctl;net.core.bpf_jit_harden;2;1;Hardened BPF JIT compilation;sysctl -a;url:https;//kernel.org/doc/Documentation/sysctl/kernel.txt;category:security;
config-data=sysctl;net.inet.ip.linklocal.in.allowbadttl;0;
config-data=sysctl;net.inet.tcp.always_keepalive;0;1;Disable TCP keep alive detection for dead peers as the keepalive can be spoofed;-;category:security;
#config-data=sysctl;net.inet.tcp.fast_finwait2_recycle;1;1;Recycle FIN/WAIT states more quickly (DoS mitigation step, with risk of false RST);-;category:security;
config-data=sysctl;net.inet.tcp.nolocaltimewait;1;1;Remove the TIME_WAIT state for loopback interface;-;category:security;
config-data=sysctl;net.inet.tcp.path_mtu_discovery;0;1;Disable MTU discovery as many hosts drop the ICMP type 3 packets;-;category:security;
config-data=sysctl;net.inet.icmp.bmcastecho;0;1;Ignore ICMP packets directed to broadcast address;-;category:security;
config-data=sysctl;net.inet.tcp.icmp_may_rst;0;1;ICMP may not send RST to avoid spoofed ICMP/UDP floods;-;category:security;
config-data=sysctl;net.inet.icmp.drop_redirect;1;1;Do not allow redirected ICMP packets;-;category:security;
config-data=sysctl;net.inet.icmp.rediraccept;0;1;Disable incoming ICMP redirect routing redirects;-;category:security;
config-data=sysctl;net.inet.icmp.timestamp;0;1;Disable timestamps;-;category:security;
config-data=sysctl;net.inet.ip.accept_sourceroute;0;1;Disable IP source routing;-;category:security;
config-data=sysctl;net.inet.ip.check_interface;1;1;Verify that a packet arrived on the right interface;-;category:security;
config-data=sysctl;net.inet.ip.forwarding;0;1;Do not allow forwarding of traffic;-;category:security;
config-data=sysctl;net.inet.ip.process_options;0;1;Ignore any IP options in the incoming packets;-;category:security;
config-data=sysctl;net.inet.ip.random_id;1;1;Use a random IP id to each packet leaving the system;-;category:security;
config-data=sysctl;net.inet.ip.redirect;0;1;Disable/Ignore ICMP routing redirects;-;category:security;
config-data=sysctl;net.inet.ip.sourceroute;0;1;Disable IP source routing;-;category:security;
config-data=sysctl;net.inet.ip6.redirect;0;1;Disable/Ignore ICMP routing redirects;-;category:security;
config-data=sysctl;net.inet.tcp.blackhole;2;1;Do not sent RST but drop traffic when delivered to closed TCP port;-;category:security;
config-data=sysctl;net.inet.tcp.drop_synfin;1;1;SYN/FIN packets will be dropped on initial connection;-;category:security;
config-data=sysctl;net.inet.udp.blackhole;1;1;Do not sent RST but drop traffic when delivered to closed UDP port;-;category:security;
config-data=sysctl;net.inet6.icmp6.rediraccept;0;1;Disable incoming ICMP redirect routing redirects;-;category:security;
config-data=sysctl;net.inet6.ip6.forwarding;0;1;Do not allow forwarding of traffic;-;category:security;
config-data=sysctl;net.inet6.ip6.fw.enable;1;1;Enable filtering;-;category:security;
config-data=sysctl;net.inet6.ip6.redirect;0;1;Disable sending ICMP redirect routing redirects;-;category:security;
config-data=sysctl;net.ipv4.conf.all.accept_redirects;0;1;Disable/Ignore ICMP routing redirects;-;category:security;
config-data=sysctl;net.ipv4.conf.all.accept_source_route;0;1;Disable IP source routing;-;category:security;
config-data=sysctl;net.ipv4.conf.all.bootp_relay;0;1;Do not relay BOOTP packets;-;category:security;
config-data=sysctl;net.ipv4.conf.all.forwarding;0;1;Disable IP source routing;-;category:security;
config-data=sysctl;net.ipv4.conf.all.log_martians;1;1;Log all packages for which the host does not have a path back to the source;-;category:security;
config-data=sysctl;net.ipv4.conf.all.mc_forwarding;0;1;Disable IP source routing;-;category:security;
config-data=sysctl;net.ipv4.conf.all.proxy_arp;0;1;Do not relay ARP packets;-;category:security;
config-data=sysctl;net.ipv4.conf.all.rp_filter;1;1;Enforce ingress/egress filtering for packets;-;category:security;
config-data=sysctl;net.ipv4.conf.all.send_redirects;0;1;Disable/Ignore ICMP routing redirects;-;category:security;
config-data=sysctl;net.ipv4.conf.default.accept_redirects;0;1;Disable/Ignore ICMP routing redirects;-;category:security;
config-data=sysctl;net.ipv4.conf.default.accept_source_route;0;1;Disable IP source routing;-;category:security;
config-data=sysctl;net.ipv4.conf.default.log_martians;1;1;Log all packages for which the host does not have a path back to the source;-;category:security;
config-data=sysctl;net.ipv4.icmp_echo_ignore_broadcasts;1;1;Ignore ICMP packets directed to broadcast address;-;category:security;
config-data=sysctl;net.ipv4.icmp_ignore_bogus_error_responses;1;1;Ignore-;category:security;
#config-data=sysctl;net.ipv4.ip_forward;0;1;Do not forward traffic;-;category:security;
config-data=sysctl;net.ipv4.tcp_syncookies;1;1;Use SYN cookies to prevent SYN attack;-;category:security;
config-data=sysctl;net.ipv4.tcp_timestamps;0|1;1;Disable TCP time stamps or enable them with different offsets;-;category:security;
config-data=sysctl;net.ipv6.conf.all.send_redirects;0;1;Disable/ignore ICMP routing redirects;-;category:security;
config-data=sysctl;net.ipv6.conf.all.accept_redirects;0;1;Disable/Ignore ICMP routing redirects;-;category:security;
config-data=sysctl;net.ipv6.conf.all.accept_source_route;0;1;Disable IP source routing;-;category:security;
config-data=sysctl;net.ipv6.conf.default.accept_redirects;0;1;Disable/Ignore ICMP routing redirects;-;category:security;
config-data=sysctl;net.ipv6.conf.default.accept_source_route;0;1;Disable IP source routing;-;category:security;
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Other
config-data=sysctl;dev.tty.ldisc_autoload;0;1;Disable loading of TTY line disciplines;-;category:security;
config-data=sysctl;hw.kbd.keymap_restrict_change;4;1;Disable changing the keymap by non-privileged users;-;category:security;
#sysctl;kern.securelevel;1^2^3;1;FreeBSD security level;
#security.jail.jailed; 0
#security.jail.jail_max_af_ips; 255
#security.jail.mount_allowed; 0
#security.jail.chflags_allowed; 0
#security.jail.allow_raw_sockets; 0
#security.jail.enforce_statfs; 2
#security.jail.sysvipc_allowed; 0
#security.jail.socket_unixiproute_only; 1
#security.jail.set_hostname_allowed; 1
#security.bsd.suser_enabled; 1
#security.bsd.unprivileged_proc_debug; 1
#security.bsd.conservative_signals; 1
#security.bsd.unprivileged_read_msgbuf; 1
#security.bsd.unprivileged_get_quota; 0
config-data=sysctl;security.bsd.hardlink_check_gid;1;1;Unprivileged processes are not allowed to create hard links to files which are owned by other groups;-;category:security;
config-data=sysctl;security.bsd.hardlink_check_uid;1;1;Unprivileged processes are not allowed to create hard links to files which are owned by other users;-;category:security;
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#################################################################################
#
# permfile
# ---------------
# permfile=file name:file permissions:owner:group:action:
# Action = NOTICE or WARN
# Examples:
# permfile=/etc/test1.dat:600:root:wheel:NOTICE:
# permfile=/etc/test1.dat:640:root:-:WARN:
#
#################################################################################
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#permfile=/etc/inetd.conf:rw-------:root:-:WARN:
#permfile=/etc/fstab:rw-r--r--:root:-:WARN:
permfile=/boot/grub/grub.cfg:rw-------:root:root:WARN:
permfile=/boot/grub2/grub.cfg:rw-------:root:root:WARN:
permfile=/boot/grub2/user.cfg:rw-------:root:root:WARN:
permfile=/etc/at.allow:rw-------:root:-:WARN:
permfile=/etc/at.deny:rw-------:root:-:WARN:
permfile=/etc/cron.allow:rw-------:root:-:WARN:
permfile=/etc/cron.deny:rw-------:root:-:WARN:
permfile=/etc/crontab:rw-------:root:-:WARN:
permfile=/etc/group:rw-r--r--:root:-:WARN:
permfile=/etc/group-:rw-r--r--:root:-:WARN:
permfile=/etc/hosts.allow:rw-r--r--:root:root:WARN:
permfile=/etc/hosts.deny:rw-r--r--:root:root:WARN:
permfile=/etc/issue:rw-r--r--:root:root:WARN:
permfile=/etc/issue.net:rw-r--r--:root:root:WARN:
permfile=/etc/lilo.conf:rw-------:root:-:WARN:
permfile=/etc/motd:rw-r--r--:root:root:WARN:
permfile=/etc/passwd:rw-r--r--:root:-:WARN:
permfile=/etc/passwd-:rw-r--r--:root:-:WARN:
permfile=/etc/ssh/sshd_config:rw-------:root:-:WARN:
permfile=/etc/hosts.equiv:rw-r--r--:root:root:WARN:
permfile=/etc/shosts.equiv:rw-r--r--:root:root:WARN:
permfile=/root/.rhosts:rw-------:root:root:WARN:
permfile=/root/.rlogin:rw-------:root:root:WARN:
permfile=/root/.shosts:rw-------:root:root:WARN:
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# These permissions differ by OS
#permfile=/etc/gshadow:---------:root:-:WARN:
#permfile=/etc/gshadow-:---------:root:-:WARN:
#permfile=/etc/shadow:---------:root:-:WARN:
#permfile=/etc/shadow-:---------:root:-:WARN:
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#################################################################################
#
# permdir
# ---------------
# permdir=directory name:file permissions:owner:group:action when permissions are different:
#
#################################################################################
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
permdir=/root/.ssh:rwx------:root:-:WARN:
permdir=/etc/cron.d:rwx------:root:root:WARN:
permdir=/etc/cron.daily:rwx------:root:root:WARN:
permdir=/etc/cron.hourly:rwx------:root:root:WARN:
permdir=/etc/cron.weekly:rwx------:root:root:WARN:
permdir=/etc/cron.monthly:rwx------:root:root:WARN:
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Ignore some specific home directories
# One directory per line; directories will be skipped for home directory specific
# checks, like file permissions, SSH and other configuration files
#ignore-home-dir=/home/user
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Allow promiscuous interfaces
# <option > :<promiscuous i n t e r f a c e n a m e > :<description > :
#if_promisc:pflog0:pf log daemon interface:
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# The URL prefix and append to the URL for controls or your custom tests
# Link will be formed as {control-url-protocol}://{control-url-prepend}CONTROL-ID{control-url-append}
#control-url-protocol=https
#control-url-prepend=cisofy.com/control/
#control-url-append=/
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# The URL prefix and append to URL's for your custom tests
#custom-url-protocol=https
#custom-url-prepend=your-domain.example.org/control-info/
#custom-url-append=/
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
#################################################################################
#
# Operating system specific
# -------------------------
#
#################################################################################
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# Skip the FreeBSD portaudit test
#freebsd-skip-portaudit=yes
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# Skip security repository check for Debian based systems
#debian-skip-security-repository=yes
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
#################################################################################
#
# Lynis Enterprise options
# ------------------------
#
#################################################################################
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# Allow this system to be purged when it is outdated (default: not defined).
# This is useful for ephemeral systems which are short-lived.
#allow-auto-purge=yes
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# Sometimes it might be useful to override the host identifiers.
# Use only hexadecimal values (0-9, a-f), with 40 and 64 characters in length.
#
#hostid=40-char-hash
#hostid2=64-char-hash
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# Lynis Enterprise license key
license-key=
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# Proxy settings
# Protocol (http, https, socks5)
#proxy-protocol=https
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# Proxy server
#proxy-server=10.0.1.250
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# Define proxy port to use
#proxy-port=3128
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
# Define the group names to link to this system (preferably single words). Default setting: append
# To clear groups before assignment, add 'action:clear' as last groupname
#system-groups=groupname1,groupname2,groupname3
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Define which compliance standards are audited and reported on. Disable this if not required.
compliance-standards=cis,hipaa,iso27001,pci-dss
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Provide the name of the customer/client
#system-customer-name=mycustomer
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Upload data to central server
upload=no
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# The hostname/IP address to receive the data
upload-server=
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Provide options to cURL (or other upload tool) when uploading data.
# upload-options=--insecure (use HTTPS, but skip certificate check for self-signed certificates)
upload-options=
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Link one or more tags to a system
#tags=db,production,ssn-1304
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#EOF
{% endhighlight %}
</details>
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Rapport après modification
![](/images/lynis02.png)]]></content> <author > <name > </name> </author> <category term= "outils" /> <summary type= "html" > <![CDATA[Lynis est un outil conçu pour auditer et renforcer la sécurité des systèmes d’ exploitation basés sur Unix et Linux qui a la capacité à fournir des analyses détaillées et des recommandations personnalisées]]> </summary> </entry> <entry > <title type= "html" > Rkhunter (Rootkit Hunter)</title> <link href= "https://static.rnmkcy.eu/2024/11/09/Rkhunter-Rootkit_Hunter.html" rel= "alternate" type= "text/html" title= "Rkhunter (Rootkit Hunter)" /> <published > 2024-11-09T00:00:00+01:00</published> <updated > 2024-11-09T00:00:00+01:00</updated> <id > https://static.rnmkcy.eu/2024/11/09/Rkhunter-Rootkit_Hunter</id> <content type= "html" xml:base= "https://static.rnmkcy.eu/2024/11/09/Rkhunter-Rootkit_Hunter.html" > < ![CDATA[*Rootkit Hunter analyse les systèmes pour détecter les rootkits, portes dérobées, renifleurs et exploits connus et inconnus.*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Il vérifie :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* SHA256 hash
* les fichiers couramment créés par rootkits
* les exécutables avec des permissions de fichiers anormales
* les chaînes suspectes dans les modules du noyau
* les fichiers cachés dans les répertoires système
* peut éventuellement scanner dans les fichiers.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Utiliser seul **rkhunter** ne garantit pas qu'un système n'est pas compromis. Il est recommandé d ' effectuer des essais supplémentaires, tels que le **[chkrootkit](https://linuxcapable.com/how-to-install-chkrootkit-on-ubuntu-linux/ 'How to Install Chkrootkit on Ubuntu 24.04, 22.04, or 20.04')**.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
## Rkhunter
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/rkhunter01.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* [Installer et configurer Rootkit-Hunter](https://wiki-sinp.cbn-alpin.fr/serveurs/installation/rkhunter)
* [Comment installer et configurer Rootkit Hunter sur Ubuntu/Debian](https://www.webhi.com/how-to/fr/comment-installer-et-configurer-rootkit-hunter-sur-ubuntu-debian/)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Mise à jour système
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Avant installation, mise à jour système debian
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo apt update & & sudo apt upgrade -y
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Installation et configuration
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installation
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo apt install rkhunter
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Configuration
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* Fichiers de config : `/etc/rkhunter.conf` et `/etc/default/rkhunter`
* Fichier de log : `/var/log/rkhunter.log`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Après avoir installé Rkhunter, vous devez le configurer
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo nano /etc/default/rkhunter
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
# Défauts pour rkhunter tâches automatiques
# sourced by /etc/cron.*/rkhunter and /etc/apt/apt.conf.d/90rkhunter
#
# C'est un fragment de shell POSIX
#
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Définir ceci à oui pour permettre les courses quotidiennes rkhunter
# (par défaut: faux)
CRON_DAILY_RUN="true"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Définir ceci à oui pour permettre la mise à jour de la base de données hebdomadaire rkhunter
# (par défaut: faux)
CRON_DB_UPDATE="true"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Définir ceci à oui pour permettre les rapports des mises à jour hebdomadaires de la base de données
# (par défaut: faux)
DB_UPDATE_EMAIL="false"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Définir ceci à l'adresse e-mail où les rapports et la sortie d'exécution doivent être envoyés
# (par défaut: root)
REPORT_EMAIL="root"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Définir ceci à oui pour activer les mises à jour automatiques de la base de données
# (par défaut: faux)
APT_AUTOGEN="true"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Les Nicenesses vont de -20 (horaire le plus favorable) à 19 (le moins favorable)
# (par défaut: 0)
NICE="0"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Si le contrôle quotidien est effectué lors de la batterie
# powermgmt-base est nécessaire pour détecter si fonctionnant sur la batterie ou sur la puissance AC
# (par défaut: faux)
RUN_CHECK_ON_BATTERY="false"
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Indiquer les faux positifs, en ajoutant au fichier de config `/etc/rkhunter.conf`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo nano /etc/rkhunter.conf
```
ALLOW_SSH_ROOT_USER=prohibit-password
# Config permettant la mise à jour pour éviter l'erreur :
# Invalid WEB_CMD configuration option: Relative pathname: "/bin/false"
UPDATE_MIRRORS=1
MIRRORS_MODE=0
WEB_CMD=""
# Gestion des emails
MAIL-ON-WARNING=postmaster@rnmkcy.eu
MAIL_CMD=mail -s "[rkhunter] Avertissements sur ${HOST_NAME}" -r postmaster@rnmkcy.eu
# Option évitant les faux positifs en se basant sur Dpkg
# ATTENTION : lancer ''rkhunter --propupd'' après avoir modifier cet option !
PKGMGR=DPKG
# Pour Debian 10 uniquement, corriger l'emplacement des scripts suivant (/usr/bin/ au lieu de /bin) :
SCRIPTWHITELIST=/usr/bin/egrep
SCRIPTWHITELIST=/usr/bin/fgrep
SCRIPTWHITELIST=/usr/bin/which
# Désactiver les faux positifs sur db-srv
ALLOWDEVFILE="/dev/shm/PostgreSQL.*"
# Exemples de faux positifs à désactiver :
ALLOWHIDDENDIR="/dev/.udev"
ALLOWHIDDENDIR="/dev/.static"
ALLOWDEVFILE="/dev/.udev/rules.d/root.rules"
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ATTENTION : suite à l'installation et configuration de Rkhunter, il est nécessaire de lancer la commande suivante :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo rkhunter --propupd
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
[ Rootkit Hunter version 1.4.6 ]
File updated: searched for 181 files, found 143
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Mise à jour de la base de données Rkhunter
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Avant de lancer l’ analyse de Rkhunter, vous devez mettre à jour sa base de données de rootkits et de logiciels malveillants connus
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo rkhunter update
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Exécuter analyse rkhunter
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
lancer l’ analyse Rkhunter
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo rkhunter --check
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Patienter...
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Examiner rapport Rkhunter
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Une fois l’ analyse de Rkhunter terminée, examiner le rapport de Rkhunter afin d’ identifier toute menace potentielle.
Le rapport Rkhunter se trouve dans le fichier `/var/log/rkhunter.log`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
System checks summary
=====================
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
File properties checks...
Files checked: 143
Suspect files: 0
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Rootkit checks...
Rootkits checked : 498
Possible rootkits: 0
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Applications checks...
All checks skipped
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
The system checks took: 42 minutes and 12 seconds
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
All results have been written to the log file: /var/log/rkhunter.log
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
No warnings were found while checking the system.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Utilisation et commandes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* Vérifier dernière version : `rkhunter --versioncheck`
* Mettre à jour le programme : `rkhunter --update`
* Lister les différents tests effectués : `rkhunter --list`
* **ATTENTION** : suite à l'installation et configuration de Rkhunter, il est nécessaire de lancer la commande suivante (=> indique à Rkhunter que tout est OK) : `rkhunter --propupd`
* Effectuer une vérification : `rkhunter --checkall`
* Vérification avec juste les alertes importantes : `rkhunter -c --rwo`
* Tester uniquement les //malwares// : `rkhunter -c -sk --enable malware`
* Accéder aux logs de RkHunter : `nano /var/log/rkhunter.log`]]></content> <author > <name > </name> </author> <category term= "outils" /> <summary type= "html" > <![CDATA[Rootkit Hunter analyse les systèmes pour détecter les rootkits, portes dérobées, renifleurs et exploits connus et inconnus.]]> </summary> </entry> <entry > <title type= "html" > PostgreSQL</title> <link href= "https://static.rnmkcy.eu/2024/11/08/PostgreSQL.html" rel= "alternate" type= "text/html" title= "PostgreSQL" /> <published > 2024-11-08T00:00:00+01:00</published> <updated > 2024-11-08T00:00:00+01:00</updated> <id > https://static.rnmkcy.eu/2024/11/08/PostgreSQL</id> <content type= "html" xml:base= "https://static.rnmkcy.eu/2024/11/08/PostgreSQL.html" > < ![CDATA[## PostgreSQL
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
<div class= "item" >
<div class= "item__image" >
<img class= "image" src= "/images/postgresql-logo.png" />
</div>
<div class= "item__content" >
<div class= "item__header" >
<h4 > PostgreSQL</h4>
</div>
<div class= "item__description" >
<li > <a href= "https://linuxgenie.net/install-postgresql-psql-arch-linux/" > How to Install PostgreSQL (psql) on Arch Linux</a> </li>
<li > <a href= "https://www.postgresqltutorial.com/postgresql-cheat-sheet/" > PostgreSQL Cheat Sheet</a> </li>
<li > <a href= "https://public.dalibo.com/exports/formation/manuels/modules/i1/i1.handout.html" > Sauvegarde et restauration</a> </li>
</div>
</div>
</div>
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Installation
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installation sur archlinux
yay -S postgresql
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Relever version `postgres --version`
*postgres (PostgreSQL) 16.3*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Configurer le serveur PostgreSQL
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour configurer le serveur PostgreSQL sur Arch Linux, vous devez installer le paquetage Postgresql. Ensuite, vous pouvez démarrer le service en initialisant le cluster de base de données. Vous pouvez définir un mot de passe pour le super-utilisateur et créer des bases de données et des tables.
Comme nous avons déjà installé PostgreSQL, nous devons maintenant le configurer. Pour cela, passez d'abord à l'utilisateur Postgres avec cette commande :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo -iu postgres
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Prompt : `[postgres@pc1 ~]$`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
initialiser le répertoire pour les données.
PostgreSQL stockera ses données dans ce répertoire. Vous pouvez utiliser l'emplacement par défaut `/var/lib/postgres/data` ou en choisir un autre.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data/'
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/postgresql01.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Démarrer et activer PostgreSQL
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo systemctl enable postgresql --now
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Vérifier : `systemctl status postgresql`
![](/images/postgresql03.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Accès
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour accéder
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
psql -U postgres
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Importation base
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour importer une base SQL
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
# Créer une base
psql -U postgres -c "CREATE DATABASE ttrss"
# Importer
psql -U postgres ttrss < nom_fichier.sql
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### OPTIONS
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Vous pouvez également activer les sommes de contrôle des données pour renforcer l'intégrité des données en ajoutant l'argument `--data-checksums` à la commande précédente. Pour savoir si les sommes de contrôle des données sont activées, exécutez la commande suivante :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo -iu postgres
psql --tuples-only -c "SHOW data_checksums"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/postgresql02.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour initialiser le répertoire de données avec les sommes de contrôle activées
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data/' --data-checksums
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Cela créera un nouveau répertoire de données dans `/var/lib/postgres/data/` avec la locale et l'encodage spécifiés. De plus, il effectue une vérification de la somme de contrôle des données pour chaque page écrite sur le disque. Cela permet de détecter les corruptions de données causées par un matériel défectueux.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Vous pouvez également modifier les méthodes d'authentification pour les connexions locales et distantes en ajoutant l'argument ci-dessous à la commande précédente :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
--auth-local=peer --auth-host=scram-sha-256
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
La méthode par défaut est la confiance, ce qui signifie que n'importe qui sur l'hôte peut se connecter en tant qu'utilisateur de la base de données. Cette méthode n'étant pas très sûre, vous pouvez en utiliser une autre.]]></content> <author > <name > </name> </author> <category term= "psql" /> <summary type= "html" > <![CDATA[PostgreSQL]]> </summary> </entry> <entry > <title type= "html" > Contabo VPS debian 12 (bookworm) - Yunohost xoyaz.xyz</title> <link href= "https://static.rnmkcy.eu/2024/11/06/Contabo_VPS_debian_bookworm-Yunohost.html" rel= "alternate" type= "text/html" title= "Contabo VPS debian 12 (bookworm) - Yunohost xoyaz.xyz" /> <published > 2024-11-06T00:00:00+01:00</published> <updated > 2024-11-06T00:00:00+01:00</updated> <id > https://static.rnmkcy.eu/2024/11/06/Contabo_VPS_debian_bookworm-Yunohost</id> <content type= "html" xml:base= "https://static.rnmkcy.eu/2024/11/06/Contabo_VPS_debian_bookworm-Yunohost.html" > < ![CDATA[*YunoHost est une distribution basée sur Debian GNU/Linux composée de logiciels libres et ayant pour objectif de faciliter la pratique de l’ auto-hébergement*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[![Contabo](/images/contabo-logo-a.png)](https://contabo.com/en/)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**VPS** 1 SSD
**IP**: 37.60.230.30
**IPv6**: 2a02:c206:2162:8819::1
**Location**: Dusseldorf
**OS**: Debian 12
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Debian 12 (bookworm)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/debian12-logo.png){:height="50"}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On se connecte en root sur le VPS
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ssh root@37.60.230.30
Le terminal
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Linux vmi1628819.contaboserver.net 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64
_____
/ ___/___ _ _ _____ _ ___ ___
| | / _ \| \| |_ _/ \ | _ )/ _ \
| |__| (_) | .` | | |/ _ \| _ \ (_) |
\____\___/|_|\_| |_/_/ \_|___/\___/
Welcome!
This server is hosted by Contabo. If you have any questions or need help,
please don't hesitate to contact us at support@contabo.com.
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Mise à jour + Réseau IPV6
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Les commandes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
apt update & & apt upgrade -y # Mise à jour
apt autoremove -y # supprimer les paquets inutilisés
apt install rsync curl tmux jq figlet git tree -y # Quelques outils
enable_ipv6 # Activation ipv6
reboot # redémarrage
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
se reconnecter ssh
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ssh root@37.60.230.30
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Vérifier l'adressage : `ip a`
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
1: lo: <LOOPBACK , U P , L O W E R _ U P > mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST , M U L T I C A S T , U P , L O W E R _ U P > mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:50:56:4e:73:83 brd ff:ff:ff:ff:ff:ff
altname enp0s18
altname ens18
inet 37.60.230.30/20 brd 37.60.239.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 2a02:c206:2162:8819::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fe4e:7383/64 scope link
valid_lft forever preferred_lft forever
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Date et heure + Synchro
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Activer le fuseau Europe/Paris
timedatectl set-timezone Europe/Paris
Horloge système synchronisée : `timedatectl`
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Local time: Mon 2024-11-04 14:21:24 CET
Universal time: Mon 2024-11-04 13:21:24 UTC
RTC time: Mon 2024-11-04 13:21:24
Time zone: Europe/Paris (CET, +0100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
### Reconfigurer locales
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Activer uniquement **en_GB.UTF-8**, **en_US.UTF-8** et **fr_FR.UTF-8**
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
dpkg-reconfigure locales
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Default en_US.UTF-8
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
Generating locales (this might take a while)...
en_GB.UTF-8... done
en_US.UTF-8... done
fr_FR.UTF-8... done
Generation complete.
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Reverse DNS
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Activer le reverse DNS IPV4 et IPV6 pour le domaine xoyaz.xyz : Control panel → Reverse DNS management
![](/images/contabo-reverse-dns.png){:width="400"}
Désactiver VNC: Your services → Manage → VPS Control → Manage → Disable VNC et valider par un clic sur Disable
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
## Yunohost xoyaz.xyz
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
![ ](/images/yunohost.png)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
**Pré-requis**
Un serveur dédié ou virtuel avec Debian 12 (Bookworm) pré-installé (avec un kernel >= 6.1), avec au moins 512Mo de RAM et 16Go de capacité de stockage
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Script installation
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
**Lancer le script d'installation**
Ouvrez la ligne de commande sur votre serveur (soit directement, soit avec SSH)
Vous devez être connecté en tant que root, curl installé (which curl)
Lancez la commande suivante :
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
curl https://install.yunohost.org | bash
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Détails de l'installation dans `/var/log/yunohost-installation_20241104_150816.log`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Post-installation
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
post-installation de Yunohost.
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
yunohost tools postinstall
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Suivre la procédure
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
Main domain: xoyaz.xyz
Admin username: yani
Admin full name: yani bopro
New administration password: ********************
Confirm new administration password: ********************
Warning: The YunoHost project is a team of volunteers who have made common cause to create a free operating system for servers, called YunoHost. The YunoHost software is published under the AGPLv3 license (<https: / / w w w . g n u . o r g / l i c e n s e s / a g p l - 3 . 0 . t x t > ). In connection with this software, the project administers and makes available several technical and community services for various purposes. By using these services, you agree to be bound by the following Terms of Services: <https: / / y u n o h o s t . o r g / t e r m s _ o f _ s e r v i c e s > .
I have read and understand the Terms of Services [Y/N]: Y
Info: Installing YunoHost…
Success! Self-signed certificate now installed for the domain 'xoyaz.xyz'
Success! Domain created
Info: The email alias 'root@xoyaz.xyz' will be added to the group 'admins'
Info: The email alias 'admin@xoyaz.xyz' will be added to the group 'admins'
Info: The email alias 'admins@xoyaz.xyz' will be added to the group 'admins'
Info: The email alias 'webmaster@xoyaz.xyz' will be added to the group 'admins'
Info: The email alias 'postmaster@xoyaz.xyz' will be added to the group 'admins'
Info: The email alias 'abuse@xoyaz.xyz' will be added to the group 'admins'
Info: Updating aliases for group 'admins'
Info: The app catalog cache is empty or obsolete.
Info: Updating application catalog…
Info: (Will fetch 537 logos, this may take a couple minutes)
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### DNS OVH xoyaz.xyz
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
![](/images/dns-logo.png){:width="50"}
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Configuration DNS domaine par défaut **xoyaz.xyz**
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
yunohost domain dns suggest xoyaz.xyz
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
La configuration DNS du domaine
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
Warning: No diagnosis cache yet for category 'dnsrecords'
Info: This command shows you the *recommended* configuration. It does not actually set up the DNS configuration for you. It is your responsability to configure your DNS zone in your registrar according to this recommendation.
; Basic ipv4/ipv6 records
@ 3600 IN A 37.60.230.30
@ 3600 IN AAAA 2a02:c206:2162:8819::1
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
; Mail
@ 3600 IN MX 10 xoyaz.xyz.
@ 3600 IN TXT "v=spf1 a mx -all"
mail._domainkey 3600 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb....EQIDAQAB"
_dmarc 3600 IN TXT "v=DMARC1; p=none"
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
; Extra
* 3600 IN A 37.60.230.30
* 3600 IN AAAA 2a02:c206:2162:8819::1
@ 3600 IN CAA 0 issue "letsencrypt.org"
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
![](/images/ovh-logo-a.png){:height="20"}
Se connecter à l'espace client du site OVH : **Web cloud → Domaines → xoyaz.xyz → Zone DNS**
Cliquer sur **"Modifier en mode textuel"**, garder les 4 premières lignes :
![](/images/dns-ovh-zone.png){:width="600"}
puis effacer tout ce qu'il y a en-dessous, et le remplacer par la configuration donnée par votre serveur avec la commande `yunohost domain dns suggest xoyaz.xyz`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Certificats SSL Let's Encrypt xoyaz.xyz
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
![](/images/LetsEncrypt-a.png){:height="30"}
On active les certificats SSL pour le domaine xoyaz.xyz
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
yunohost domain cert install xoyaz.xyz --no-checks
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Résultat
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```
[...]
Success! Configuration updated for 'nginx'
Success! Let's Encrypt certificate now installed for the domain 'xoyize.xyz'
```
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### OpenSSH, clé et motd
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![OpenSSH](/images/openssh-logo.png){:height="40"}
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
<u > Sur l'ordinateur de bureau</u>
Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) nommé **xoyaz-ed25519** pour une liaison SSH avec le serveur yunohost
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/xoyaz-ed25519
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Envoyer les clés publiques sur le serveur yunohost en se se connectant avec l'utilisateur administrateur
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
ssh-copy-id -i ~/.ssh/xoyaz-ed25519.pub yani@37.60.230.30
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
On se connecte avec l'utilisateur administrateur
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
ssh yani@37.60.230.30
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
<u > Sur le serveur Yunohost</u>
La liste des paramètres modifiables : `sudo yunohost settings list`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Sur votre serveur, la modification du fichier de configuration SSH pour désactiver l'authentification par mot de passe est gérée par un paramètre système
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo yunohost settings set security.ssh.ssh_password_authentication -v no
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Modifier le port SSH
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*Pour empêcher les tentatives de connexion SSH par des robots qui analysent Internet à la recherche de tout serveur sur lequel SSH est activé, vous pouvez modifier le port SSH. Ceci est géré par un paramètre système, qui prend en charge la mise à jour de la configuration SSH et Fail2Ban.*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo yunohost settings set security.ssh.ssh_port -v 55030
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Accès depuis <u > l'ordinateur de bureau</u> avec la clé privée
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
ssh -p 55030 -i ~/.ssh/xoyaz-ed25519 yani@37.60.230.30 # avec ip serveur
ssh -p 55030 -i ~/.ssh/xoyaz-ed25519 yani@xoyaz.xyz # avec domaine serveur
```
**Motd:** `/etc/motd`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
__ __ _ _
\ \ / /_ _ _ _ ___ | |_ ___ ___| |_
\ V /| || || ' \ / _ \| ' \ / _ \(_-< | _|
|_| \_,_||_||_|\___/|_||_|\___//__/ \__|
__ __ ___ _ _ __ _ ___ __ __ _ _ ___
\ \ // _ \| || |/ _` ||_ / _ \ \ /| || ||_ /
/_\_\\___/ \_, |\__,_|/__|(_)/_\_\ \_, |/__|
|__/ |__/
____ ____ __ __ ___ ____ __ ____ __
|__ /|__ | / / / \ |_ )|__ / / \ |__ / / \
|_ \ / /_ / _ \| () |_ / / |_ \| () |_ |_ \| () |
|___/ /_/(_)\___/ \__/(_)/___||___/ \__/(_)|___/ \__/
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Historique de la ligne de commande
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajoutez la recherche d’ historique de la ligne de commande au terminal
Se connecter en utilisateur debian
Tapez un début de commande précédent, puis utilisez shift + up (flèche haut) pour rechercher l’ historique filtré avec le début de la commande.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
# Global, tout utilisateur
echo '"\e[1;2A": history-search-backward' | sudo tee -a /etc/inputrc
echo '"\e[1;2B": history-search-forward' | sudo tee -a /etc/inputrc
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Diagnostique
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
La machine ayant été redémarré après la configuration dns , on peut lancer une vérification
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo yunohost diagnosis run
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lecture après exécution
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo yunohost diagnosis show --human-readable
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Résultat
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
=================================
Base system (basesystem)
=================================
[INFO] Server hardware architecture is kvm amd64
- Server model is QEMU Standard PC (i440FX + PIIX, 1996)
[INFO] Server is running Linux kernel 6.1.0-26-amd64
[INFO] Server is running Debian 12.7
[INFO] Server is running YunoHost 12.0.6 (stable)
- yunohost version: 12.0.6 (stable)
- yunohost-admin version: 12.0.3.5 (stable)
- yunohost-portal version: 12.0.6 (stable)
- moulinette version: 12.0.3 (stable)
- ssowat version: 12.0.3 (stable)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
=================================
Internet connectivity (ip)
=================================
[SUCCESS] Domain name resolution is working!
[SUCCESS] The server is connected to the Internet through IPv4!
- Global IP: 37.60.230.30
- Local IP: 37.60.230.30
[SUCCESS] The server is connected to the Internet through IPv6!
- Global IP: 2a02:c206:2162:8819::1
- Local IP: 2a02:c206:2162:8819::1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
=================================
DNS records (dnsrecords)
=================================
[SUCCESS] DNS records are correctly configured for domain xoyaz.xyz (category basic)
[SUCCESS] DNS records are correctly configured for domain xoyaz.xyz (category mail)
[SUCCESS] DNS records are correctly configured for domain xoyaz.xyz (category extra)
[SUCCESS] Your domains are registered and not going to expire anytime soon.
- xoyaz.xyz expires in 119 days.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
=================================
Ports exposure (ports)
=================================
[SUCCESS] Port 25 is reachable from the outside.
- Exposing this port is needed for email features (service postfix)
[SUCCESS] Port 80 is reachable from the outside.
- Exposing this port is needed for web features (service nginx)
[SUCCESS] Port 443 is reachable from the outside.
- Exposing this port is needed for web features (service nginx)
[SUCCESS] Port 587 is reachable from the outside.
- Exposing this port is needed for email features (service postfix)
[SUCCESS] Port 993 is reachable from the outside.
- Exposing this port is needed for email features (service dovecot)
[SUCCESS] Port 55030 is reachable from the outside.
- Exposing this port is needed for admin features (service ssh)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
=================================
Web (web)
=================================
[SUCCESS] Domain xoyaz.xyz is reachable through HTTP from outside the local network.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
=================================
Email (mail)
=================================
[SUCCESS] The SMTP mail server is able to send emails (outgoing port 25 is not blocked).
[SUCCESS] The SMTP mail server is reachable from the outside and therefore is able to receive emails!
[SUCCESS] Your reverse DNS is correctly configured!
[SUCCESS] The IPs and domains used by this server do not appear to be blacklisted
[SUCCESS] 0 pending emails in the mail queues
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
=================================
Services status check (services)
=================================
[SUCCESS] Service dnsmasq is running!
[SUCCESS] Service dovecot is running!
[SUCCESS] Service fail2ban is running!
[SUCCESS] Service nginx is running!
[SUCCESS] Service opendkim is running!
[SUCCESS] Service postfix is running!
[SUCCESS] Service slapd is running!
[SUCCESS] Service ssh is running!
[SUCCESS] Service yunohost-api is running!
[SUCCESS] Service yunohost-firewall is running!
[SUCCESS] Service yunohost-portal-api is running!
[SUCCESS] Service yunomdns is running!
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
=================================
System resources (systemresources)
=================================
[SUCCESS] The system still has 5.2 GiB (90%) RAM available out of 5.8 GiB.
[INFO] The system has no swap at all. You should consider adding at least 512 MiB of swap to avoid situations where the system runs out of memory.
- Please be careful and aware that if the server is hosting swap on an SD card or SSD storage, it may drastically reduce the life expectancy of the device.
[SUCCESS] Storage / (on device /dev/sda3) still has 368 GiB (99.3%) space left (out of 371 GiB)!
[SUCCESS] Storage /boot (on device /dev/sda2) still has 1.7 GiB (94.5%) space left (out of 1.8 GiB)!
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
=================================
System configurations (regenconf)
=================================
[SUCCESS] All configuration files are in line with the recommended configuration!
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
=================================
Applications (apps)
=================================
[SUCCESS] All installed apps respect basic packaging practices
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Ldap admin sudo
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*On veut autoriser l’ utilisateur administrateur de Yunohost à exécuter des commandes root sans avoir à saisir le mot de passe*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ouvrir un terminal en mode administrateur
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lecture du paramétrage ldap admins sudo
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ldapsearch -H ldap://127.0.0.1:389 -x -LLL -b "cn=admins,ou=sudo,dc=yunohost,dc=org" -s sub -x "(objectclass=*)"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
dn: cn=admins,ou=sudo,dc=yunohost,dc=org
cn: admins
objectClass: sudoRole
objectClass: top
sudoCommand: ALL
sudoUser: %admins
sudoHost: ALL
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Il faut ajouter l’ option `sudoOption` avec pour valeur `!authenticate` à la branche `cn=admins`
Créer un fichier `add-to-sudo-role.ldif`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
cat > add-to-sudo-role.ldif < < 'EOL'
dn: cn=admins,ou=sudo,dc=yunohost,dc=org
changetype: modify
add: sudoOption
sudoOption: !authenticate
EOL
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Exécuter la commande suivante
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ldapmodify -Y EXTERNAL -H ldapi:/// -f add-to-sudo-role.ldif
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Résultat de la commande
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=admins,ou=sudo,dc=yunohost,dc=org"
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lecture du paramétrage ldap admins sudo après modification
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ldapsearch -H ldap://127.0.0.1:389 -x -LLL -b "cn=admins,ou=sudo,dc=yunohost,dc=org" -s sub -x "(objectclass=*)"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
dn: cn=admins,ou=sudo,dc=yunohost,dc=org
cn: admins
objectClass: sudoRole
objectClass: top
sudoCommand: ALL
sudoUser: %admins
sudoHost: ALL
sudoOption: !authenticate
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Domaine cinay.eu
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Création domaine
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yunohost domain add cinay.eu
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
Success! Self-signed certificate now installed for the domain 'cinay.eu'
Success! Configuration updated for 'nginx'
Success! Configuration updated for 'postfix'
Success! Configuration updated for 'dovecot'
Success! Configuration updated for 'dnsmasq'
Success! Domain created
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Paramètres DNS cinay.eu
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yunohost domain dns suggest cinay.eu
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
La configuration DNS du domaine
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
Info: This command shows you the *recommended* configuration. It does not actually set up the DNS configuration for you. It is your responsability to configure your DNS zone in your registrar according to this recommendation.
; Basic ipv4/ipv6 records
@ 3600 IN A 37.60.230.30
@ 3600 IN AAAA 2a02:c206:2162:8819::1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
; Mail
@ 3600 IN MX 10 cinay.eu.
@ 3600 IN TXT "v=spf1 a mx -all"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
; Extra
* 3600 IN A 37.60.230.30
* 3600 IN AAAA 2a02:c206:2162:8819::1
@ 3600 IN CAA 0 issue "letsencrypt.org"
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/ovh-logo-a.png){:height="20"}
Se connecter à l'espace client du site OVH : **Web cloud → Domaines → cinay.eu → Zone DNS**
Cliquer sur **"Modifier en mode textuel"**, garder les 4 premières lignes :
![](/images/dns-ovh-zone.png){:width="600"}
puis effacer tout ce qu'il y a en-dessous, et le remplacer par la configuration donnée par votre serveur avec la commande `yunohost domain dns suggest cinay.eu`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Certificats SSL Let's Encrypt cinay.eu
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/LetsEncrypt-a.png){:height="30"}
On active les certificats SSL pour le domaine cinay.eu
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yunohost domain cert install cinay.eu --no-checks
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Résultat
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
[...]
Success! Configuration updated for 'nginx'
Success! Let's Encrypt certificate now installed for the domain 'cinay.eu'
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Utilisateur domaine cinay.eu
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créer un utilisateur dans le domaine cinay.eu
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yunohost user create yack -F 'yack cinay' -p Mot_de_passe_ou_passphrase -d cinay.eu
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajout des alias
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
yunohost user update yack --add-mailalias yann@cinay.eu
yunohost user update yack --add-mailalias boproyan@cinay.eu
yunohost user update yack --add-mailalias discord@cinay.eu
yunohost user update yack --add-mailalias wg@cinay.eu
yunohost user update yack --add-mailalias vps@cinay.eu
yunohost user update yack --add-mailalias vpn@cinay.eu
yunohost user update yack --add-mailalias yannick@cinay.eu
yunohost user update yack --add-mailalias cnx@cinay.eu
yunohost user update yack --add-mailalias yannick.meunier@cinay.eu
yunohost user update yack --add-mailalias domo@cinay.eu
yunohost user update yack --add-mailalias fubo@cinay.eu
yunohost user update yack --add-mailalias iptv@cinay.eu
yunohost user update yack --add-mailalias ign@cinay.eu
yunohost user update yack --add-mailalias map@cinay.eu
yunohost user update yack --add-mailalias debyan@cinay.eu
yunohost user update yack --add-mailalias rnmkcy@cinay.eu
yunohost user update yack --add-mailalias leno@cinay.eu
yunohost user update yack --add-mailalias buyonrakuten@cinay.eu
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Domaine yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Création domaine
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yunohost domain add yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Success! Self-signed certificate now installed for the domain 'yanfi.net'
Success! Configuration updated for 'nginx'
Success! Configuration updated for 'postfix'
Success! Configuration updated for 'dovecot'
Success! Configuration updated for 'dnsmasq'
Success! Domain created
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Paramètres DNS yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yunohost domain dns suggest yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
La configuration DNS du domaine
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
Info: This command shows you the *recommended* configuration. It does not actually set up the DNS configuration for you. It is your responsability to configure your DNS zone in your registrar according to this recommendation.
; Basic ipv4/ipv6 records
@ 3600 IN A 37.60.230.30
@ 3600 IN AAAA 2a02:c206:2162:8819::1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
; Mail
@ 3600 IN MX 10 yanfi.net.
@ 3600 IN TXT "v=spf1 a mx -all"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
; Extra
* 3600 IN A 37.60.230.30
* 3600 IN AAAA 2a02:c206:2162:8819::1
@ 3600 IN CAA 0 issue "letsencrypt.org"
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/ovh-logo-a.png){:height="20"}
Se connecter à l'espace client du site OVH : **Web cloud → Domaines → yanfi.net → Zone DNS**
Cliquer sur **"Modifier en mode textuel"**, garder les 4 premières lignes :
![](/images/dns-ovh-zone.png){:width="600"}
puis effacer tout ce qu'il y a en-dessous, et le remplacer par la configuration donnée par votre serveur avec la commande `yunohost domain dns suggest yanfi.net`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Certificats SSL Let's Encrypt yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/LetsEncrypt-a.png){:height="30"}
On active les certificats SSL pour le domaine yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yunohost domain cert install yanfi.net --no-checks
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Résultat
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
[...]
Success! Configuration updated for 'nginx'
Success! Let's Encrypt certificate now installed for the domain 'yanfi.net'
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Utilisateurs domaine yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créer utilisateur 'yanfi' dans le domaine yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yunohost user create yanfi -F 'yanfi net' -p Mot_de_passe_ou_passphrase -d yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajout des alias
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
yunohost user update yanfi --add-mailalias foryuno@yanfi.net
yunohost user update yanfi --add-mailalias yannick@yanfi.net
yunohost user update yanfi --add-mailalias ffsync@yanfi.net
yunohost user update yanfi --add-mailalias yannick.meunier@yanfi.net
yunohost user update yanfi --add-mailalias foroli@yanfi.net
yunohost user update yanfi --add-mailalias windy@yanfi.net
yunohost user update yanfi --add-mailalias div@yanfi.net
yunohost user update yanfi --add-mailalias api@yanfi.net
yunohost user update yanfi --add-mailalias assur@yanfi.net
yunohost user update yanfi --add-mailalias randos@yanfi.net
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créer utilisateur 'claudine' dans le domaine yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yunohost user create claudine -F 'Claudine Meunier' -p Mot_de_passe_ou_passphrase -d yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Migration imap
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Migrer ses emails facilement avec imapsync](https://jesuisadmin.fr/migrer-emails-facilement-imapsync/)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*imapsync est comme son nom l'indique un outil (développé en perl) qui permet de synchroniser des boîtes mail en utilisant le protocol imap*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On se connecte sur le serveur xoyize.xyz (109.123.254.249)
En mode sudo, on installe impasync
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
sudo apt-get install libauthen-ntlm-perl libclass-load-perl libcrypt-ssleay-perl \
libdata-uniqid-perl libdigest-hmac-perl libdist-checkconflicts-perl \
libfile-copy-recursive-perl \
libio-compress-perl libio-socket-inet6-perl \
libio-socket-ssl-perl libio-tee-perl libmail-imapclient-perl \
libmodule-scandeps-perl \
libnet-ssleay-perl libpar-packer-perl libreadonly-perl libregexp-common-perl \
libsys-meminfo-perl libterm-readkey-perl libtest-fatal-perl libtest-mock-guard-perl \
libtest-pod-perl libtest-requires-perl libtest-simple-perl libunicode-string-perl \
liburi-perl libtest-nowarnings-perl \
libtest-deep-perl libtest-warn-perl \
make \
cpanminus
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo cpanm Mail::IMAPClient
sudo cpanm JSON::WebToken
sudo cpan Encode::IMAPUTF7
sudo cpan File::Tail
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Transfert imap cluadine xoyize.xyz (109.123.254.249) --> imap claudine xoyaz.yz
```
imapsync --host1 109.123.254.249 --port1 993 --ssl1 --user1 claudine --password1 Mot_de_passe --host2 37.60.230.30 --port2 993 --ssl2 --user2 claudine --password2 Mot_de_passe
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## BorgBackup
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Sauvegardes borgbackup seront effectuées sur un "Storage Box" Hetzner (u326239.your-storagebox.de), dans le dépôt `ssh://u326239@u326239.your-storagebox.de:23/./backup/borg/xoyaz.xyz`
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
### Installation
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Se connecter sur la page web administration yunohost xoyaz.xyz et installer **Borg Backup**
![](/images/yuno-borg01.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Renseigner et installer l'application
![](/images/yuno-borg02.png)
Les fichiers des clés `id_borg_ed25519.pub` et `id_borg_ed25519` dans le dossier `/root/.ssh/
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Boite de stockage
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajouter la clé Publique `ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAGSDBEyWPgDHgNuWNtaygp6jmIlpWCs6VKnC0oGLTXO root@xoyaz.xyz` au fichier authorized_keys de la boîte de stockage
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*Cette opération va se dérouler sur poste ayant accès à la boîte de stockage avec clés SSH*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On télécharge le fichier existant `authorized_keys` de la boîte de stockage **bx11-yann** dans un fichier local nommé `storagebox_authorized_keys`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
echo -e "get .ssh/authorized_keys storagebox_authorized_keys" | sftp -P 23 -i ~/.ssh/bx11-yann-ed25519 u326239@u326239.your-storagebox.de
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajout clé publique
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAGSDBEyWPgDHgNuWNtaygp6jmIlpWCs6VKnC0oGLTXO root@xoyaz.xyz" >> storagebox_authorized_keys
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On renvoie le fichier modifié `storagebox_authorized_keys` dans le fichier `authorized_keys` de la boîte de stockage **bx11-yann**
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
echo -e "put storagebox_authorized_keys .ssh/authorized_keys" | sftp -P 23 -i ~/.ssh/bx11-yann-ed25519 u326239@u326239.your-storagebox.de
```
Valider la connexion SSH avec la clé privée borg située sous /root/.ssh (en mode su)
sftp -P 23 -i /root/.ssh/id_borg_ed25519 u326239@u326239.your-storagebox.de
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
The authenticity of host '[u326239.your-storagebox.de]:23 ([2a01:4f8:2b01:d53::2]:23)' can't be established.
ED25519 key fingerprint is SHA256:XqONwb1S0zuj5A1CDxpOSuD2hnAArV1A3wKY7Z3sdgM.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[u326239.your-storagebox.de]:23' (ED25519) to the list of known hosts.
Connected to u326239.your-storagebox.de.
sftp> quit
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Rappel concernant la phrase de passe
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
La phrase de passe est le seul moyen de décrypter vos sauvegardes. Vous devez veiller à la conserver en sécurité dans un endroit « extérieur » à votre serveur afin de couvrir le scénario dans lequel votre serveur serait détruit pour une raison ou une autre.
{:.info}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Tester la sauvegarde
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
À cette étape, votre sauvegarde doit s'exécuter à l'heure prévue. Notez que la première sauvegarde peut prendre beaucoup de temps, car de nombreuses données doivent être copiées via ssh. Les sauvegardes suivantes sont incrémentales : seules les données nouvellement générées depuis la dernière sauvegarde seront copiées.
{:.info}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Si vous souhaitez tester la configuration correcte de Borg Apps avant l'heure prévue, vous pouvez lancer une sauvegarde manuellement à partir de la ligne de commande :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo systemctl start borg
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Si tout démarre correctement, un message est envoyé:
![](/images/yuno-borg03.png){:width="300"}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Une fois la sauvegarde terminée, vous pouvez vérifier qu'une sauvegarde est listée dans le **webadmin > Applications > Borg > 'Last backups list'**.
![](/images/yuno-borg04.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Exécution manuelle des commandes borg
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Le panneau de configuration dispose d'une « Liste des dernières sauvegardes » qui permet de consulter rapidement les archives de sauvegarde récemment créées.
Cependant, vous pouvez vouloir vérifier manuellement que les sauvegardes sont effectivement effectuées régulièrement et qu'elles contiennent le contenu attendu.
Tout d'abord, préparez l'environnement avec les variables borg appropriées :
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
app=borg
PATH="/var/www/$app/venv/bin/:$PATH"
export BORG_PASSPHRASE="$(sudo yunohost app setting $app passphrase)"
export BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes"
repository="$(sudo yunohost app setting $app repository)"
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Les commandes exécutables
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* Lister les archives:
* borg list "$repository" | less
* Lister les fichiers d'une archive spécifique:
* borg list "$repository::ARCHIVE_NAME" | less
* Voir les informations sur l'archive:
* borg info "$repository::ARCHIVE_NAME"
* Vérifier l'intégrité des données:
* borg info "$repository::ARCHIVE_NAME" --verify-data
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Restauration d'archives à partir de Borg
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Une « archive » borg peut être exportée vers un fichier `.tar` qui peut ensuite être restauré en utilisant la procédure classique de sauvegarde et de restauration de Yunohost :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**NB : cette commande suppose que vous avez préparé l'environnement comme dans la section précédente**
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
borg export-tar « $repository::ARCHIVE_NAME » /home/yunohost/archives/ARCHIVE_NAME.tar
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#### Restaurez ensuite en utilisant le flux de travail classique :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* à partir de la ligne de commande :
* yunohost backup restore ARCHIVE_NAME
* ou dans le webadmin > Sauvegardes
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#### Restaurer la « source+config » de l'application, et ses données séparément
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour les applications contenant une grande quantité de données, il n'est pas pratique de tout restaurer en une seule fois en raison de l'espace et du temps que cela prendrait.
Au lieu de cela, vous voudrez peut-être restaurer d'abord le « noyau » (la source, la configuration, etc.) de l'application, - et ensuite les données.
Tout d'abord, borg peut exporter une archive `.tar` mais ignorer le chemin correspondant aux données de l'application.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Par exemple, pour exporter une archive tar pour Nextcloud, mais sans ses données :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
borg export-tar --exclude apps/nextcloud/backup/home/yunohost.app "$repository::ARCHIVE_NAME" /home/yunohost.backup/archives/ARCHIVE_NAME.tar
yunohost backup restore ARCHIVE_NAME
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ensuite, extrayez les données de Nextcloud directement au bon endroit, **sans passer** par le processus classique de restauration de sauvegarde de YunoHost :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
cd /home/yunohost.app/
borg extract "$repository::ARCHIVE_NAME" apps/nextcloud/backup/home/yunohost.app/
mv apps/nextcloud/backup/home/yunohost.app/nextcloud ./
rm -r apps
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Outils
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Cockpit
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installer cockpit en tant que "client"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo apt install cockpit
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Mainenance
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### DNS
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Suite au diagnostique du 27/11/2024
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
The automatic diagnosis on your YunoHost server identified some issues on your server. You will find a description of the issues below. You can manage those issues in the 'Diagnosis' section in your webadmin.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
---
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
=================================
DNS records (dnsrecords)
=================================
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[WARNING] Some DNS records are missing or incorrect for domain cinay.eu (category mail)
- Please check the documentation at https://yunohost.org/dns_config if you need help configuring DNS records.
- According to the recommended DNS configuration, you should add a DNS record with the following info.
Type: TXT
Name: mail._domainkey
Value: "v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVq+aoWGvWxCYV1otSNQhNhcG7z6ysvLxSWLPgMUYhyR1/N4wStnwsAbuPFWhv1Jxry3gPqSr07q+9hb4G3aHfiMrQ/fT1nH0ZF2AdARnoIX1UbEaOCNNMS8YybaTH1w/WOas+afA529AxADMXvecYOJTWuJFXA8/PAjAqa5GwtwIDAQAB"
[WARNING] Some DNS records are missing or incorrect for domain yanfi.net (category mail)
- Please check the documentation at https://yunohost.org/dns_config if you need help configuring DNS records.
- According to the recommended DNS configuration, you should add a DNS record with the following info.
Type: TXT
Name: mail._domainkey
Value: "v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDaAuogXSjk3a8VXD4vMeIAyfZd5L/lX03W2X0q5poFJsZ3DXJdJJE+vT66U1PYSoijEU73V667wYpDmGQZk2pspvYDQAxg93Czl+5dosdcT7AZmoVUrIJp7+Jm0RX6u8236MnXk1l5fEHlIzDea/NnFJFONEG3zrZHtOkwA778awIDAQAB"
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Se connecter SSH
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Liste des domaines : `yunohost domain list`
domains:
- cinay.eu
- xoyaz.xyz
- yanfi.net
Suggestions DNS : `yunohost domain suggest <Domaine > `
yunohost domain dns suggest xoyaz.xyz
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Info: This command shows you the *recommended* configuration. It does not actually set up the DNS configuration for you. It is your responsability to configure your DNS zone in your registrar according to this recommendation.
; Basic ipv4/ipv6 records
@ 3600 IN A 37.60.230.30
@ 3600 IN AAAA 2a02:c206:2162:8819::1
; Mail
@ 3600 IN MX 10 xoyaz.xyz.
@ 3600 IN TXT "v=spf1 a mx -all"
mail._domainkey 3600 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTrrlvw4tSVSD2kN/9bXNmAeplz/oZRcyM4Mhz6Xl8ZlXNoPVSnXqz0CLHHQ3zoM7tOQuKZ1TeNNcc7H6ffuSU1zV2sNJyfSOLQUi5uTjT0wA6Wur5sxCRYEpWHfYCyUrh6gvQ/JQCw/AbHzhr0wyNb+dN8FMZQU/4m5JPL+AbEQIDAQAB"
_dmarc 3600 IN TXT "v=DMARC1; p=none"
; Extra
* 3600 IN A 37.60.230.30
* 3600 IN AAAA 2a02:c206:2162:8819::1
@ 3600 IN CAA 0 issue "letsencrypt.org"
```
yunohost domain dns suggest cinay.eu
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
Info: This command shows you the *recommended* configuration. It does not actually set up the DNS configuration for you. It is your responsability to configure your DNS zone in your registrar according to this recommendation.
; Basic ipv4/ipv6 records
@ 3600 IN A 37.60.230.30
@ 3600 IN AAAA 2a02:c206:2162:8819::1
; Mail
@ 3600 IN MX 10 cinay.eu.
@ 3600 IN TXT "v=spf1 a mx -all"
mail._domainkey 3600 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVq+aoWGvWxCYV1otSNQhNhcG7z6ysvLxSWLPgMUYhyR1/N4wStnwsAbuPFWhv1Jxry3gPqSr07q+9hb4G3aHfiMrQ/fT1nH0ZF2AdARnoIX1UbEaOCNNMS8YybaTH1w/WOas+afA529AxADMXvecYOJTWuJFXA8/PAjAqa5GwtwIDAQAB"
_dmarc 3600 IN TXT "v=DMARC1; p=none"
; Extra
* 3600 IN A 37.60.230.30
* 3600 IN AAAA 2a02:c206:2162:8819::1
@ 3600 IN CAA 0 issue "letsencrypt.org"
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
yunohost domain dns suggest yanfi.net
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Info: This command shows you the *recommended* configuration. It does not actually set up the DNS configuration for you. It is your responsability to configure your DNS zone in your registrar according to this recommendation.
; Basic ipv4/ipv6 records
@ 3600 IN A 37.60.230.30
@ 3600 IN AAAA 2a02:c206:2162:8819::1
; Mail
@ 3600 IN MX 10 yanfi.net.
@ 3600 IN TXT "v=spf1 a mx -all"
mail._domainkey 3600 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDaAuogXSjk3a8VXD4vMeIAyfZd5L/lX03W2X0q5poFJsZ3DXJdJJE+vT66U1PYSoijEU73V667wYpDmGQZk2pspvYDQAxg93Czl+5dosdcT7AZmoVUrIJp7+Jm0RX6u8236MnXk1l5fEHlIzDea/NnFJFONEG3zrZHtOkwA778awIDAQAB"
_dmarc 3600 IN TXT "v=DMARC1; p=none"
; Extra
* 3600 IN A 37.60.230.30
* 3600 IN AAAA 2a02:c206:2162:8819::1
@ 3600 IN CAA 0 issue "letsencrypt.org"
```]]></content> <author > <name > </name> </author> <category term= "vps" /> <category term= "yunohost" /> <summary type= "html" > <![CDATA[YunoHost est une distribution basée sur Debian GNU/Linux composée de logiciels libres et ayant pour objectif de faciliter la pratique de l’ auto-hébergement]]> </summary> </entry> <entry > <title type= "html" > Réseau NetworkManager - nmcli</title> <link href= "https://static.rnmkcy.eu/2024/10/31/NetworkManager-nmcli.html" rel= "alternate" type= "text/html" title= "Réseau NetworkManager - nmcli" /> <published > 2024-10-31T00:00:00+01:00</published> <updated > 2024-10-31T00:00:00+01:00</updated> <id > https://static.rnmkcy.eu/2024/10/31/NetworkManager-nmcli</id> <content type= "html" xml:base= "https://static.rnmkcy.eu/2024/10/31/NetworkManager-nmcli.html" > < ![CDATA[*nmcli (NetworkManager Command Line Interface) est une interface de ligne de commande du gestionnaire de réseau Linux.*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## nmcli
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Article original : [nmcli : configurer le réseau NetworkManager sur Linux (Debian, Ubuntu, …)](https://www.malekal.com/nmcli-configurer-reseau-networkmanager-linux/)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Interfaces réseau
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
lister les connexions réseau
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
nmcli connection show
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/nmcli-pc01.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Puis pour afficher la configuration d’ une interface réseau, saisissez la commande suivante en spécifiant le nom de la connexion réseau obtenue précédemment.
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
nmcli connection show "bridge0"
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/nmcli-pc02.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
Vous pouvez aussi utiliser cette commande pour obtenir des informations sur les interfaces réseaux.
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
nmcli -p device show
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
![](/images/nmcli-pc03.png)
![](/images/nmcli-pc03a.png)
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
### Configurer le réseau avec nmcli
2024-11-21 17:20:33 +01:00
2024-11-28 11:42:23 +01:00
**Ajouter une connexion réseau**
`sudo nmcli connection add type <type-reseau > ifname <nom-connexion > `
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Modifier une connexion réseau existante**
Avec nmcli, on peut apporter des ajustements et des configurations à une connexion réseau existante, comme basculer entre les configurations statiques et DHCP
`sudo nmcli connection modify <connection-id > <parameter > <value > `
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
les configurations que nous pouvons ajouter et modifier une connexion à l’ aide de nmcli.
Tout d’ abord, nous allons créer un nouveau profil de connexion, par exemple sous le nom “gl-inet”
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
nmcli connection add con-name gl-inet ifname enp3s0f1 type ethernet
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On obtient la sortie suivante
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Connexion « gl-inet » (afec2e60-eb76-476c-8046-5ace62449019) ajoutée avec succès.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Le problème est que l'on se connecte immédiatement à cette interface qui n'est pas encore configurée
{:.warning}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour définir le démarrage automatique (ou pas) de la connexion réseau
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
nmcli connection modify gl-inet connection.autoconnect yes
nmcli connection modify gl-inet connection.autoconnect no
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Définir une adresse IPv4 statique avec un masque de sous-réseau /24**
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo nmcli connection modify gl-inet ipv4.address 192.168.8.2/24
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Définir une adresse IPv6 statique avec un masque de sous-réseau /64** (facultatif)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo nmcli connection modify gl-inet ipv6.addresses 2001:db8:1::1/64
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Configurer une passerelle par défaut en IPv4 ou IPv6**
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
#IPv4
sudo nmcli connection modify gl-inet ipv4.gateway 192.168.8.1
#IPv6
sudo nmcli connection modify gl-inet ipv6.gateway 2001:db8:1::fffe
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Configurer un serveur DNS en IPv4 ou IPv6**
Pour spécifier les serveurs DNS sur votre connexion internet, utilisez ces commandes :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
#IPv4
sudo nmcli connection modify gl-inet ipv4.dns "192.168.0.254"
#IPv6
nmcli connection modify gl-inet ipv6.dns "2001:db8:1::ffbb"
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Définir la méthode de connexion IPv4 et IPv6 en DHCP (IP automatique)**
Pour configurer votre connexion en DHCP :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
#For IPv4
sudo nmcli connection modify gl-inet ipv4.method auto
#For IPv6
sudo sudo nmcli connection modify gl-inet ipv6.method auto
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour que les modifications apportées prennent effet, vous devez activer le profil.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
sudo nmcli connection up gl-inet
```]]></content> <author > <name > </name> </author> <category term= "network" /> <summary type= "html" > <![CDATA[nmcli (NetworkManager Command Line Interface) est une interface de ligne de commande du gestionnaire de réseau Linux.]]> </summary> </entry> <entry > <title type= "html" > Lenovo Serveur MySpeed</title> <link href= "https://static.rnmkcy.eu/2024/10/29/Lenovo_Serveur_MySpeed.html" rel= "alternate" type= "text/html" title= "Lenovo Serveur MySpeed" /> <published > 2024-10-29T00:00:00+01:00</published> <updated > 2024-10-29T00:00:00+01:00</updated> <id > https://static.rnmkcy.eu/2024/10/29/Lenovo_Serveur_MySpeed</id> <content type= "html" xml:base= "https://static.rnmkcy.eu/2024/10/29/Lenovo_Serveur_MySpeed.html" > < ![CDATA[## MySpeed
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/MySpeed.png){:height="80"}
<https: / / g i t h u b . c o m / g n m y t / m y s p e e d >
### Analyse vitesse internet
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
MySpeed est un logiciel d'analyse de test de vitesse qui enregistre votre vitesse internet pendant 30 jours.
Caractéristiques
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* 📊 MySpeed génère des statistiques claires sur la vitesse, le ping, et plus encore.
* ⏰ MySpeed automatise les tests de vitesse et vous permet de définir le temps entre les tests à l'aide d'expressions Cron.
* 🗄️ Ajouter plusieurs serveurs directement à une instance MySpeed
* 🩺 Configurez des contrôles de santé pour vous notifier par email, Signal, WhatsApp ou Telegram en cas d'erreurs ou de temps d'arrêt
* 📆 Les résultats des tests peuvent être stockés jusqu'à 30 jours
* 🔥 Prise en charge de Prometheus et Grafana
* 🗳️ Choisissez entre les serveurs de test de vitesse Ookla, LibreSpeed et Cloudflare
* 💁 En savoir plus sur MySpeed sur [notre site web](https://myspeed.dev/)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Installer MySpeed
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Prérequis
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
# debian
sudo apt install wget curl unzip
# alpine linux
sudo apk add wget curl unzip
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Vous n'avez besoin de faire cela que si vous n'avez pas encore installé NodeJS
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
curl -sSL https://deb.nodesource.com/setup_18.x | bash
sudo apt-get install nodejs -y
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Versions installées: `node -v & & npm -v`
node v20.10.0
npm 10.8.3
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créer un dossier
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
mkdir ~/sharenfs/rnmkcy/myspeed & & cd ~/sharenfs/rnmkcy/myspeed
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Télécharger la dernière version
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
wget $(curl -s https://api.github.com/repos/gnmyt/myspeed/releases/latest | grep browser_download_url | cut -d '"' -f 4)
unzip MySpeed-*.zip & & rm MySpeed-*.zip
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
npm install
npm audit fix
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Proxy nginx
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créer le proxy sur le domaine `speed.rnmkcy.eu` qui écoute sur le port 5216
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
server {
listen 80;
listen [::]:80;
server_name speed.rnmkcy.eu;
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# redirect all plain HTTP requests to HTTPS
return 301 https://speed.rnmkcy.eu$request_uri;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
server {
# ipv4 listening port/protocol
listen 443 ssl http2;
# ipv6 listening port/protocol
listen [::]:443 ssl http2;
server_name speed.rnmkcy.eu;
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
include /etc/nginx/conf.d/security.conf.inc;
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
location / {
proxy_pass http://127.0.0.1:5216;
}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
}
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Lancement MySpeed
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lancer le serveur manuellement
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
NODE_ENV=production node server
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/alpine-MySpeed01.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Depuis un navigateur, ouvrir le lien https://speed.rnmkcy.eu
![](/images/alpine-MySpeed02.png)
![](/images/alpine-MySpeed03.png)
![](/images/alpine-MySpeed04.png)
![](/images/alpine-MySpeed05.png)
![](/images/alpine-MySpeed06.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Après lancement du test
![](/images/alpine-MySpeed07.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Sur le terminal
![](/images/alpine-MySpeed08.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### MySpeed 24/7
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créez un fichier nommé `myspeed.service` sous `/etc/systemd/system`
sudo nano /etc/systemd/system/myspeed.service
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
[Unit]
Description=MySpeed
After=network.target
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Service]
Type=simple
ExecStart=/home/leno/.nvm/versions/node/v20.10.0/bin/node server
Restart=always
User=leno
Environment=NODE_ENV=production
WorkingDirectory=/sharenfs/rnmkcy/myspeed
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Install]
WantedBy=multi-user.target
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Enregistrer le fichier, CTRL + X, puis Y et enfin Entrée
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Rechargez systemd
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo systemctl daemon-reload
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Si vous voulez que MySpeed démarre au démarrage de systemd
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo systemctl enable myspeed --now
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Vérifiez maintenant le statut de MySpeed
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
systemctl status myspeed
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/MySpeed-service.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ouvrir le lien <https: / / s p e e d . r n m k c y . e u >
![](/images/MySpeed-web01.png)
![](/images/MySpeed-web02.png)
![](/images/MySpeed-web03.png)
![](/images/MySpeed-web04.png)]]></content> <author > <name > </name> </author> <category term= "debian" /> <summary type= "html" > <![CDATA[MySpeed]]> </summary> </entry> <entry > <title type= "html" > Lenovo KVM - SearXNG Alpine Linux (alpine-searx)</title> <link href= "https://static.rnmkcy.eu/2024/10/22/KVM-Alpine-Linux-Docker-SearXNG.html" rel= "alternate" type= "text/html" title= "Lenovo KVM - SearXNG Alpine Linux (alpine-searx)" /> <published > 2024-10-22T00:00:00+02:00</published> <updated > 2024-10-22T00:00:00+02:00</updated> <id > https://static.rnmkcy.eu/2024/10/22/KVM-Alpine-Linux-Docker-SearXNG</id> <content type= "html" xml:base= "https://static.rnmkcy.eu/2024/10/22/KVM-Alpine-Linux-Docker-SearXNG.html" > < ![CDATA[*Alpine Linux est une distribution Linux ultra-légère...*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/alpine-linux-logo.png){:width="300"}
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Alpine Linux
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
*Création machine virtuelle Alpine de type KVM avec 2 Go de RAM, 1 cœur de processeur et 5 Go de disque dur.*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* [Création machines virtuelles KVM avec la commande virsh](/2023/12/17/Installer_KVM_Kernel_Virtual_Machine_sur_un_serveur.html#création-machines-virtuelles-kvm-avec-la-commande-virsh)
* [Accéder aux machines virtuelles KVM via le client VNC](/2023/12/17/Installer_KVM_Kernel_Virtual_Machine_sur_un_serveur.html#accéder-aux-machines-virtuelles-kvm-via-le-client-vnc)
* [Wiki Alpine Linux](https://wiki.alpinelinux.org/wiki/)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Créer alpine-searx sur un serveur
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[Les dernières images Alpine Linux](https://alpinelinux.org/downloads/)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Création d'une image virtuelle **alpine-searx** sous le serveur Lenovo rnmkcy.eu
On se connecte sur le serveur Lenovo en SSH, puis on exécute la commande suivante pour créer une machine virtuelle Alpine avec 2 Go de RAM, 1 cœur de processeur et 5 Go de disque dur
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
sudo virt-install \
--osinfo alpinelinux3.17 \
--name alpine-searx \
--memory 2048 \
--vcpus 1 \
--cpu host \
--hvm \
--disk path=/srv/kvm/libvirt/images/alpine-searx.qcow2,format=qcow2,size=5 \
--cdrom /srv/kvm/libvirt/boot/alpine-standard-3.20.3-x86_64.iso \
--network bridge=br0 \
--graphics vnc
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Note: La dernière version Alpine Linux est alpinelinux3.20 au 10/07/2024 mais KVM ne connait que alpinelinux3.17 (`sudo virt-install --osinfo list |grep alpine`)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Après exécution dans un terminal de la commande ci dessus, on arrive sur l'écran suivant
![](/images/alpine-linux01.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Configurer alpine-searx
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Le serveur Lenovo n'a pas d'affichage, il faut créer un tunnel ssh depuis un poste client
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ssh -L 5900:127.0.0.1:5900 leno@192.168.0.215 -p 55215 -i /home/yann/.ssh/lenovo-ed25519
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Puis lancer de ce même poste un client VNC
![](/images/alpine-linux02.png){:width="300"}
la console s'affiche
![](/images/alpine-linux03.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Une fois l'image ISO lancée, on arrive à un invite de connexion.
Indiquez `root` comme nom d'utilisateur, aucun mot de passe ne vous sera demandé à cette étape.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Le système est utilisable, mais on veut l'installer, ce qui passe par la commande suivante (clavier qwerty)
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
setup-alpine # saisir setup)qlpine
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Une suite de questions :
![](/images/alpine-linux04.png)
mot de passe root (toorrtyuiop)
![](/images/alpine-linux05.png)
APK mirror (f) ,patienter ...
![](/images/alpine-linux06.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
user : alsearx
password: MoelleEndetteSingle
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Relever l'adresse ip allouée : `ip a` --> 192.168.0.31
Puis redémarrer : `reboot`
La fenêtre vnc se ferme
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Explications sur la procédure
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*Normalement, vous n'avez rien à faire, les paramètres par défaut doivent convenir. Mais si vous le désirez, vous pouvez les modifier pour utiliser une interface particulière, une IP fixe, un serveur proxy, etc.
Une soixantaine de serveurs mirroir vous seront proposés pour télécharger les paquets. Choisissez un numéro dans la liste ou demandez au système de les tester et de sélectionner le plus rapide. Vous pouvez aussi modifier le fichier des sources. Il vous faudra ensuite choisir votre serveur SSH : OpenSSH, Dropbear ou aucun.*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On termine par la méthode d'installation. Il en existe quatre :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* none : le système et ses données sont placés en RAM et seront perdus après le redémarrage
* sys : le système et ses données sont placés sur un HDD/SSD
* data : le système est placé en RAM, les données sur un HDD/SSD
* lvm : utilisation de Logical Volume Manager, les deux choix précédents seront proposés (lvmsys, lvmdata)
Si vous stockez le système en mémoire, il faudra trouver un moyen de sauvegarder la configuration. Vous pourrez le faire uniquement depuis un lecteur de disquettes (!) ou une clé USB. Une fois le système installé, vous pourrez l'utiliser directement s'il est placé en mémoire ou redémarrer si vous avez opté pour un stockage classique.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Il n'est pas conseillé d'utiliser directement le compte root pour les actions du quotidien.
Si utilisateur non créé dans la procédure d'installation, le créer avec son propre espace dans /home/
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
adduser alsearx
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Vous pouvez utiliser l'utilisateur pour vous connecter via SSH (impossible avec le compte root)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Connexion alpine-searx via SSH
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Sur un poste linux du réseau
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ssh alsearx@192.168.0.31
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Une fois connecté ,vous pouvez accéder au "root" de manière classique avec la commande :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
su -
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Mise à jour
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
apk update
apk upgrade
# Vous pouvez fusionner les deux lignes avec
apk -U upgrade
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Editeur nano (Vous pouvez aussi opter pour vi qui est nativement présent sur le système)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
apk add nano
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Réseau - IP statique
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
[How to configure static IP address on Alpine Linux](https://www.cyberciti.biz/faq/how-to-configure-static-ip-address-on-alpine-linux/)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Le fichier de configuration `/etc/network/interfaces`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
/etc/network/interfaces
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
auto lo
iface lo inet loopback
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
auto eth0
iface eth0 inet static
address 192.168.100.15/24
gateway 192.168.100.1
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Fichier de résolution dns
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
/etc/resolv.conf
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
nameserver 1.1.1.1
nameserver 9.9.9.9
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Les modifications apportées à /etc/network/interfaces peuvent être activées en exécutant
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```shell
service networking restart
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### OpenSSH avec clés
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*Connexion ssh sur un autre port avec un jeu de clés*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Générer une paire de clé sur l'ordinateur de bureau PC1
Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) pour une liaison SSH avec le serveur.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/vm-alpine-searx
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Copier la clé publique `cat ~/.ssh/vm-alpine-searx.pub` dans le presse-papier
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBQu0LRiDjPM7BJAfjECl22fnEchVuxnw38RV2IJs0+l yann@yann-pc1
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On se connecte sur la machine virtuelle alpine linux "ttrss alpine-searx"
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ssh alsearx@192.168.100.15
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Créer le répertoire et ouvrir nouveau fichier
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
mkdir -p $HOME/.ssh/
nano $HOME/.ssh/authorized_keys
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Coller le contenu du presse-papier , sauver le fichier et sortir
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Modifier les droits
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
chmod 600 $HOME/.ssh/authorized_keys
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Passer en mode su
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
su -
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Modifier la configuration serveur SSH
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
nano /etc/ssh/sshd_config
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Modifier
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
Port = 55216
PasswordAuthentication no
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Relancer le serveur
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
service sshd restart
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Test connexion
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
ssh -p 55216 -i ~/.ssh/vm-alpine-searx alsearx@192.168.100.15
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### sudo
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Passer en root
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
su -
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Editer la configuration des dépôts
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
nano /etc/apk/repositories
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Trouvez maintenant la ligne qui se termine dans /community Ensuite, retirez le # au début de la ligne. Le fichier résultant devrait ressembler à ceci
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
#/media/cdrom/apks
http://alpinelinux.mirrors.ovh.net/v3.20/main
http://alpinelinux.mirrors.ovh.net/v3.20/community
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Mise à jour des dépôts
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
apk update
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Installer sudo
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
apk add sudo
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Pas de mot de passe sudo pour l'utilisateur alouest
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
echo "alsearx ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## Docker
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/docker-logo-a.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Installer docker sur Alpine Linux
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
[Install docker & docker-compose on Alpine Linux](https://geekscircuit.com/install-docker-docker-compose-on-alpine-linux/)
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Passer en root
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
su -
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Editer la configuration des dépôts
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
nano /etc/apk/repositories
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Trouvez maintenant la ligne qui se termine dans /community Ensuite, retirez le # au début de la ligne. Le fichier résultant devrait ressembler à ceci
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
#/media/cdrom/apks
http://alpinelinux.mirrors.ovh.net/v3.20/main
http://alpinelinux.mirrors.ovh.net/v3.20/community
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Installer docker et docker-compose
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
apk update
apk add docker docker-compose
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Activer autostart sur boot en utilisant
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
rc-update add docker default
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
puis vous pouvez lancer le service docker en utilisant la commande
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
/etc/init.d/docker start
# ou
service docker start
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
## SearxNG
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*[SearXNG](https://docs.searxng.org/) est un métamoteur qui recherche ses informations à travers plusieurs moteurs de recherche généralistes*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Image docker
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Si vous prévoyez de construire et de maintenir une image Docker par vous-même, assurez-vous que Docker est installé. Sous Linux, n'oubliez pas d'ajouter votre utilisateur au groupe Docker (déconnectez-vous et reconnectez-vous pour que votre appartenance au groupe soit réévaluée) :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
sudo adduser $USER docker
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
L'image docker est basée sur git://Dockerfile et disponible sur searxng/searxng @dockerhub. L'utilisation de l'image docker est assez simple, par exemple vous pouvez extraire l'image searxng/searxng @dockerhub et déployer une instance locale en utilisant docker run:
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
mkdir YannSearXNG
cd YannSearXNG
export PORT=8080
docker pull searxng/searxng
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
Pour avoir un démarrage automatique au boot : `--restart=always --name restart_always`
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
cd ~/YannSearXNG
export PORT=8080
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
docker run -d -p ${PORT}:8080 \
--restart=always \
--name searxng \
-v "${PWD}/searxng:/etc/searxng" \
-e "BASE_URL=http://localhost:$PORT/" \
-e "INSTANCE_NAME=YannSearXNG" \
searxng/searxng
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Sans démarrage auto...
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```bash
2024-11-28 11:42:23 +01:00
cd ~/YannSearXNG
export PORT=8080
docker run --rm \
-d -p ${PORT}:8080 \
-v "${PWD}/searxng:/etc/searxng" \
-e "BASE_URL=http://localhost:$PORT/" \
-e "INSTANCE_NAME=YannSearXNG" \
searxng/searxng
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Les variables d'environnement `UWSGI_WORKERS` et `UWSGI_THREADS` remplacent le nombre par défaut de processus UWSGI et de threads UWSGI spécifiés dans le fichier `/etc/searxng/uwsgi.ini`.
Ouvrez votre navigateur WEB et visitez l'URL :
xdg-open http://192.168.100.15:8080
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Paramétrage searxng
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Dans ${PWD}/searxng, vous trouverez `settings.yml` et `uwsgi.ini`. Vous pouvez modifier ces fichiers selon vos besoins
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
# résultat sur un nouvel onglet
sudo sed -i -e "s/\# results_on_new_tab: false/results_on_new_tab\: true/g" $HOME/YannSearXNG/searxng/settings.yml
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Identifier le container : `docker ps`
```
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
97cf004cd5d0 searxng/searxng "/sbin/tini -- /usr/…" About a minute ago Up About a minute 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp searxng
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
et redémarrer l'image Docker.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
docker container restart 97cf004cd5d0
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Mise à jour automatique
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
*Les stratégies pour automatiser le processus de mise à jour des conteneurs Docker lorsque leurs images de base sont mises à jour. Nous examinerons des scripts Bash personnalisés et des outils tiers tels que Watchtower, qui offrent un éventail de solutions([Auto-Update Docker Containers for Latest Base Images](https://www.baeldung.com/ops/docker-container-auto-update-newest-base-images))*
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Watchtower est un outil open-source qui automatise le processus de mise à jour des conteneurs Docker. Il interroge le registre Docker pour vérifier les mises à jour des images à partir desquelles les conteneurs ont été initialement instanciés.
Supposons que Watchtower détecte qu'une image a été mise à jour. Dans ce cas, elle arrête le conteneur exécutant l'image périmée, extrait la nouvelle image du registre Docker et démarre un nouveau conteneur avec les mêmes configurations que le précédent. Cela garantit que nos conteneurs exécutent toujours la dernière version de l'image de base sans intervention manuelle.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Exécution du conteneur Watchtower**
Paramètres
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
* fixer l'intervalle à 86400 secondes, ce qui demande à Watchtower de vérifier les mises à jour une fois par jour
Le paramètre `--schedule` prend comme valeur une expression crontab. Sinon, le paramètre `--interval` peut-être utilisé pour définir le nombre de secondes entre chaque vérification.
`--schedule "0 0 4 * * *"`
`--interval 86400`
Cela permet de trouver un équilibre entre l'immédiateté et la consommation des ressources du système.
* Pour configurer les notifications par courriel, nous pouvons configurer les variables d'environnement et exécuter Watchtower:
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```
-e WATCHTOWER_NOTIFICATIONS=email \
-e WATCHTOWER_NOTIFICATION_EMAIL_FROM=your-email@example.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_TO=target-email@example.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.example.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=your-email@example.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=your-email-password \
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
nous devons d'abord lancer le conteneur Watchtower lui-même en exécutant une commande Docker :
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
```bash
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-e WATCHTOWER_NOTIFICATIONS=email \
-e WATCHTOWER_NOTIFICATION_EMAIL_FROM=your-email@example.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_TO=target-email@example.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.example.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=your-email@example.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=your-email-password \
containrrr/watchtower \
--schedule "0 0 4 * * *"
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ainsi, nous exécutons Watchtower en mode détaché, ce qui lui donne accès au **socket Docker**, qui est nécessaire à Watchtower pour surveiller et mettre à jour les conteneurs.
Notre sortie montre l'identifiant unique du conteneur Watchtower qui s'exécute maintenant en arrière-plan.
`694862e2a2a6fbf61da8e7336fca4b4bac5f45c459024d5338224007c8838c5c`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Voir journal : `docker logs watchtower`
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
time="2024-10-22T13:19:49Z" level=info msg="Watchtower 1.7.1"
time="2024-10-22T13:19:49Z" level=info msg="Using notifications: smtp"
time="2024-10-22T13:19:49Z" level=info msg="Checking all containers (except explicitly disabled with label)"
time="2024-10-22T13:19:49Z" level=info msg="Scheduling first run: 2024-10-23 04:00:00 +0000 UTC"
time="2024-10-22T13:19:49Z" level=info msg="Note that the first check will be performed in 14 hours, 40 minutes, 10 seconds"
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Commandes docker
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Utilisez la commande `container ls` pour lister les conteneurs en cours d'exécution, ajoutez le drapeau `-a` pour lister les conteneurs éteints également. La commande `container stop` permet d'arrêter un conteneur en cours d'exécution. Pour se débarrasser d'un conteneur, utilisez la commande `container rm`:
```
localhost:~/YannSearXNG$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e8557899b8e9 searxng/searxng "/sbin/tini -- /usr/…" About a minute ago Up About a minute 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp nice_chaplygin
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Si vous n'utilisez plus Docker et que vous souhaitez vous débarrasser de tous les conteneurs et images, utilisez la commande prune suivante :
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
docker stop $(docker ps -aq) # stop all containers
docker system prune # make some housekeeping
docker rmi -f $(docker images -q) # drop all images
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Mise à jour automatique du container**
Watchtower est un outil open-source permettant d'automatiser ces mises à jour. Il se présente sous la forme d'une image Docker à lancer très simplement
```
docker run \
--name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
--detach \
v2tec/watchtower \
--interval "30"
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Le paramètre `--volume` est obligatoire pour que Watchtower puisse communiquer avec le démon Docker sur le système hôte.
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Proxy nginx searx.rnmkcy.eu
Sur le serveur Lenovo rnmkcy.eu, créer un proxy pour SearXNG `/etc/nginx/conf.d/searx.rnmkcy.eu.conf`
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```nginx
2024-11-28 11:42:23 +01:00
server {
listen 80;
listen [::]:80;
server_name searx.rnmkcy.eu;
# redirect all plain HTTP requests to HTTPS
return 301 https://searx.rnmkcy.eu$request_uri;
}
2024-11-07 22:37:17 +01:00
server {
# ipv4 listening port/protocol
listen 443 ssl http2;
# ipv6 listening port/protocol
listen [::]:443 ssl http2;
2024-11-28 11:42:23 +01:00
server_name searx.rnmkcy.eu;
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
include /etc/nginx/conf.d/security.conf.inc;
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
location / {
proxy_pass http://192.168.100.15:8080;
}
2024-11-07 22:37:17 +01:00
}
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Recharger nginx
sudo systemctl reload nginx
Ouvrir le lien <https: / / s e a r x . r n m k c y . e u >
![](/images/searx.rnmkcy.eu.png){:width="500"}]]></content> <author > <name > </name> </author> <category term= "virtuel" /> <summary type= "html" > <![CDATA[Alpine Linux est une distribution Linux ultra-légère…]]> </summary> </entry> <entry > <title type= "html" > Cartographie</title> <link href= "https://static.rnmkcy.eu/2024/10/14/OSM_Python.html" rel= "alternate" type= "text/html" title= "Cartographie" /> <published > 2024-10-14T00:00:00+02:00</published> <updated > 2024-10-14T00:00:00+02:00</updated> <id > https://static.rnmkcy.eu/2024/10/14/OSM_Python</id> <content type= "html" xml:base= "https://static.rnmkcy.eu/2024/10/14/OSM_Python.html" > < ![CDATA[## Cartographie python
*virtualenv est un outil utilisé pour créer un espace de travail isolé pour une application Python. Il présente divers avantages tels que la possibilité d'installer des modules localement, d'exporter un environnement de travail et d'exécuter un programme Python dans cet environnement*
### OsmScripts
*Python 3.3+ est livré avec un module appelé venv.*
`$HOME/media` identique `/srv/media`
**Environnement python**
Créer un dossier `osm_python`
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```bash
2024-11-28 11:42:23 +01:00
mkdir $HOME/media/osm-new/osm_python
cd $HOME/media/osm-new/osm_python
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Pour créer un environnement, utilisez la commande `python -m venv <environment n a m e > `
Créer un environnement pour l'application
python3 -m venv OsmScripts
activer l'environnement virtuel
source OsmScripts/bin/activate
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
On arrive sur un prompt : `(OsmScripts) [yann@pc1 osm_python]$`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Mettre à jour pip dans l'environnement
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
python -m pip install --upgrade pip
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
![](/images/OsmScripts03.png)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Installer des paquets à l'aide de pip**
[Install packages in a virtual environment using pip and venv](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Lorsque votre environnement virtuel est activé, vous pouvez installer des paquets. Utilisez la commande pip install pour installer des paquets.Par exemple, installons la bibliothèque Requests à partir de l'index des paquets Python (PyPI) : `python3 -m pip install requests`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Rechercher et installer les paquets `gpxpy` et `geopy` sur <https: / / p y p i . o r g /> qui sont utilisés dans le projet
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```bash
2024-11-28 11:42:23 +01:00
pip install gpxpy
pip install geopy
```
**Wing Personal projet OsmScripts**
Dans le dossier `$HOME/media/osm-new`
Projet --> Nouveau projet
![](/images/wp001.png){width="400"}
![](/images/wp002.png){width="400"}
![](/images/wp003.png){width="500"}
![](/images/wp004.png){width="400"}
Projet : `$HOME/media/osm-new/osm_python/OsmScripts.wpr`
Structure
```
[yann@pc1 ~]$ tree -L 2 -d /srv/media/osm-new/
/srv/media/osm-new/
├── archives
├── css
│ └── images
├── file
│ ├── photos
│ └── tmp
├── fonts
├── images
├── js
└── osm_python
└── OsmScripts
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
**Le script python**
Le script python `$HOME/media/osm-new/osm_python/OsmScripts/tracesgpxnew.py`
<details >
<summary > <b > Etendre Réduire</b> </summary>
{% highlight python %}
#!/usr/bin/python
# -*- coding: utf-8 -*-
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
"""
tracesgpxnew.py
Créé le 10 juin 2021
Modifié le 14 octobre 2024
"""
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
import pdb
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
import sys as mod_sys
import logging as mod_logging
import math as mod_math
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
import gpxpy as mod_gpxpy
import os, fnmatch
import sys
import shutil
import json
from xml.dom import minidom
import datetime
import calendar
import geopy.geocoders
from geopy.geocoders import Nominatim
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def format_time(time_s):
if not time_s:
return 'n/a'
else:
minutes = mod_math.floor(time_s / 60.)
hours = mod_math.floor(minutes / 60.)
return '%s:%s:%s' % (str(int(hours)).zfill(2), str(int(minutes % 60)).zfill(2), str(int(time_s % 60)).zfill(2))
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def format_date(date_s):
if not date_s:
return 'n/a'
else:
#start_time.strftime("%d %b %Y")
return '%s' % (date_s.strftime("%d %b %Y"))
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def format_heure(heure_s):
if not heure_s:
return 'n/a'
else:
#start_time.strftime("%H:%M:%S")
return '%s' % (heure_s.strftime("%H:%M:%S"))
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def format_long_length(length):
return '{:.3f}km'.format(length / 1000.)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def format_long_length_num(length):
return '{:.3f}'.format(length / 1000.)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def format_short_length(length):
return '{:.2f}m'.format(length)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def format_short_length_num(length):
return '{:.2f}'.format(length)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def format_speed(speed):
if not speed:
speed = 0
else:
#return '{:.2f}m/s = {:.2f}km/h'.format(speed, speed * 3600. / 1000.)
return '{:.2f}km/h'.format(speed * 3600. / 1000.)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def format_speed_num(speed):
if not speed:
speed = 0
else:
#return '{:.2f}m/s = {:.2f}km/h'.format(speed, speed * 3600. / 1000.)
return '{:.2f}'.format(speed * 3600. / 1000.)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def quelJour(date):
jour = datetime.datetime.strptime(date, '%d %m %Y').weekday()
return (calendar.day_name[jour])
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def nblignes(nf):
#
return len(open(nf).readlines( ))
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
def print_gpx_part_info(gpx_part,jsTraces,dataTraces,fichier,dataIndex):
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
data = gpx_part.tracks[0].segments[0].points
data = gpx_part.tracks[0].segments[0].points
lati=data[0].latitude
longi=data[0].longitude
# Nominatim
geopy.geocoders.options.default_user_agent = 'gxinforep'
geopy.geocoders.options.default_timeout = None
geolocator = Nominatim()
location = geolocator.reverse(str(lati) + "," + str(longi))
y=location.address.split(",")
z=0
for x in y:
z=z+1
nom=y[z-8] + ' ' + y[z-7] + ' ' + y[z-2]
lieu=y[z-8].strip()
commune=y[z-7].strip()
cposte=y[z-2].strip()
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
length_2d = gpx_part.length_2d()
moving_time, stopped_time, moving_distance, stopped_distance, max_speed = gpx_part.get_moving_data()
uphill, downhill = gpx_part.get_uphill_downhill()
start_time, end_time = gpx_part.get_time_bounds()
vmoy=(format_speed(moving_distance / moving_time) if moving_time > 0 else "?")
vmoy_num=(format_speed_num(moving_distance / moving_time) if moving_time > 0 else "?")
# les randonnées du dimanche sont par défaut privées
# si dimanche (Sunday) --> private sinon public
privpub = "public"
if quelJour(start_time.strftime("%d %m %Y")) == "Sunday":
privpub = "private"
# latitude longitude lieu commune cp distance vitesse niveau jour gpx indexation
# { genre: 'Rap', band: 'Migos', albums: 2},
jsTraces.write('{\n "id": ' + str(dataIndex) + ',"latitude": ' + str(lati) + ', "longitude": ' + str(longi) + ', "lieu": "' + lieu \
+ '", "commune": "' + commune + '", "cp": "' + cposte + '", "distance": "' + format_long_length_num(length_2d) \
+ '", "vitesse": "' + vmoy_num + '", "niveau": "' + format_short_length_num(uphill) \
+ '", "jour": "' + start_time.strftime("%Y-%m-%d") + '", "gpx": "' + fichier + '"\n}')
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
#
if dataIndex == initial_count - 1:
jsTraces.write('\n')
else:
jsTraces.write(',\n')
dataChaine='[' + str(lati) + ',' + str(longi) + ',"' + lieu + '","' + commune + '","' + cposte + '","' + format_long_length_num(length_2d) + '","' + vmoy_num \
+ '","' + format_short_length_num(uphill) + '","' + start_time.strftime("%Y-%m-%d") + '","' + fichier + '",' + str(dataIndex) + '],\n'
dataTraces.write(dataChaine)
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
if __name__ == '__main__':
# Le dossier qui contient les traces gpx
dossier=os.getcwd()+'/'
# on teste si arguments
if len( sys.argv ) > 1:
for strParam in sys.argv[1:]:
dossier=strParam+'/'
# parsing folder
print("Dossier gpx: " + dossier)
# ---------------
# le nom du fichier sans extension : ztest ou traces
NomSansExt = "tracestableau"
jsonFile= dossier + NomSansExt + ".json"
jsonFileExist = False
# Fichier utilisé dans osm-new
dataFile= dossier + "tracesdataset.js"
dataFileExist = False
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
if os.path.exists(jsonFile):
#os.remove(jsonFile)
jsonFileExist = True
if os.path.exists(dataFile):
#os.remove(dataFile)
dataFileExist = True
# Les fichiers gpx à traiter sont dans /tmp
listOfFiles = sorted(os.listdir(dossier + 'tmp/'))
pattern = "*.gpx"
if len(listOfFiles) == 0:
print("pas de fichier à traiter")
quit()
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
# Nb fichiers
initial_count = 0
dir = dossier + 'tmp/'
for path in os.listdir(dir):
if os.path.isfile(os.path.join(dir, path)):
initial_count += 1
print("Nombre de fichiers: " + str(initial_count))
# Traitement du fichier jsonFile suivant existance ou pas
if not jsonFileExist:
jsTraces = open(jsonFile, "a+")
jsTraces.write("[\n")
else:
#supprimer la dernière ligne du fichier jsonFile
os.system('sed -i "$ d" {0}'.format(jsonFile))
jsTraces = open(jsonFile, "a+")
# Traitement du fichier dataFile suivant existance ou pas
if not dataFileExist:
dataIndex = 0
dataTraces = open(dataFile, "a+")
dataTraces.write("var addressPoints = [\n")
else:
# fichier existe , nombre de lignes
dataIndex = nblignes(dataFile) - 2
#supprimer la dernière ligne du fichier dataFile
os.system('sed -i "$ d" {0}'.format(dataFile))
dataTraces = open(dataFile, "a+")
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
for fichier in listOfFiles:
if fnmatch.fnmatch(fichier, pattern):
try:
print('gpx : %s' % fichier)
gpx = mod_gpxpy.parse(open(dossier +'tmp/' + fichier))
print_gpx_part_info(gpx,jsTraces,dataTraces,fichier,dataIndex)
# Déplacer le fichier gpx après traitement:
shutil.move(dossier +'tmp/' + fichier, dossier + fichier)
# Incrémenter l'index:
dataIndex = dataIndex + 1
except Exception as e:
mod_logging.exception(e)
print('Error processing %s' % dossier +'/' + fichier)
mod_sys.exit(1)
print('Ecriture fichier ' + jsonFile)
jsTraces.write(']')
jsTraces.close()
print('Ecriture fichier ' + dataFile)
dataTraces.write('];')
dataTraces.close()
{% endhighlight %}
</details>
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Utilisation 'tracesgpxnew.py'
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Le lancement du script tient compte de l'environnement python, du chemin complet du script et du paramètre dossier qui contiendra le(s) fichiers gpx
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```bash
2024-11-28 11:42:23 +01:00
/srv/media/osm-new/osm_python/OsmScripts/bin/python /srv/media/osm-new/osm_python/OsmScripts/tracesgpxnew.py /srv/media/osm-new/file
2024-11-07 22:37:17 +01:00
```
2024-11-28 11:42:23 +01:00
### Synchronisation distante
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
Après intégration des nouveaux fichiers gpx par le script python, faire une mise à jour des dossiers distants par rsync
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
```bash
#!/bin/bash
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
echo "-----------------------------------------------
Synchro osm-new avec xoyize.xyz"
rsync -avz --delete --exclude 'archives' --exclude 'osm_python' --rsync-path="sudo rsync" -e "ssh -p 55249 -i /home/yann/.ssh/xoyize-ed25519 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" /srv/media/osm-new yako@xoyize.xyz:/home/yunohost.multimedia/share/Divers/
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
echo "-----------------------------------------------
Synchro osm-new avec nfs sharenfs/multimedia/Divers/osm-new"
rsync -avz --delete --exclude 'archives' --exclude 'osm_python' /srv/media/osm-new /home/yann/sharenfs/multimedia/Divers/
2024-11-07 22:37:17 +01:00
2024-11-28 11:42:23 +01:00
exit
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Exécuter `sh /srv/media/osm-new/osm-new-synchro.sh`
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
### Alias local 'tracesgpx'
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Alias 'tracesgpx' dans `.bashrc`
2024-10-31 20:18:37 +01:00
2024-11-07 22:37:17 +01:00
```bash
2024-11-28 11:42:23 +01:00
alias tracesgpx="/srv/media/osm-new/osm_python/OsmScripts/bin/python /srv/media/osm-new/osm_python/OsmScripts/tracesgpxnew.py /srv/media/osm-new/file"
2024-11-07 22:37:17 +01:00
```
2024-10-31 20:18:37 +01:00
2024-11-28 11:42:23 +01:00
Ajout synchronisation à l'alias 'tracesgpx' dans `.bashrc`
```bash
alias tracesgpx="/srv/media/osm-new/osm_python/OsmScripts/bin/python /srv/media/osm-new/osm_python/OsmScripts/tracesgpxnew.py /srv/media/osm-new/file; sh /srv/media/osm-new/osm-new-synchro.sh"
```]]></content> <author > <name > </name> </author> <category term= "cartographie" /> <summary type= "html" > <![CDATA[Cartographie python]]> </summary> </entry> </feed>