Questions Réponses

Nos bénévoles compétents répondront ici à vos Questions posées soit :

  • à l'occasion d'une permanence ou au cours de toute autre réunion de notre association,
  • par l'intermédiaire de l'envoi d'un email à notre intention à contact@linuxchallans.org.

Memo

L'environnement virtuel en Python

Faire une mise à jour :

sudo apt update

sudo apt upgrade

Vérifiez que Python 3.x et pip3 sont bien installés ( N.B. : Pensez à installer de préférence Python3-full ( sudo apt install python3-full )

python3 --version

pip3 --version

On peut tout installer en même temps :

sudo apt install python3-full python3-venv python3-pip

Allez dans le dossier de votre projet pour lui créer un environnement virtuel venv :

cd mon_projet

Utilisez la commande python3 -m venv pour créer un environnement virtuel dans ce répertoire.

python3 -m venv venv

Un sous-répertoire venv est créé dans le répertoire de votre projet. Toutes les dépendances de votre projet y seront installées. Vous devez activer ensuite votre environnement pour qu’il soit utilisé. Vous pouvez le faire en restant dans le dossier de votre projet avec la commande :

source venv/bin/activate

Vous devriez voir le nom de votre environnement virtuel (venv) apparaître dans votre invite de commande :

(venv) user@hostname:~/mon_projet

Essayez d’installer à nouveau les dépendances avec pip.

L’erreur externally-managed-environment ne devrait pas se reproduire et vous allez pouvoir utiliser votre projet.

Lorsque vous avez terminé de travailler dans l’environnement virtuel, vous pouvez aussi le désactiver :

deactivate

Cela vous ramène à l’environnement Python global du système. Si vous n’avez plus besoin de l’environnement virtuel, vous pouvez simplement supprimer le répertoire venv :

rm -rf venv

Cela supprimera l’environnement virtuel ainsi que tous les paquets installés dans cet environnement.

Modifier les couleurs de Mkdocs

Surcharger le css avec un extra.css dans docs/stylesheets/

:root {

    /* Primary color shades */
    --md-primary-fg-color: #861f41;
    --md-primary-fg-color--light: #861f4194;
    --md-primary-fg-color--dark: #ac325a;
    --md-primary-bg-color: hsla(0, 0%, 100%, 1);
    --md-primary-bg-color--light: hsla(0, 0%, 100%, 0.7);
    --md-text-link-color: hsla(231, 48%, 48%, 1);

    /* Accent color shades */
    --md-accent-fg-color: rgb(98, 18, 189);
    --md-accent-fg-color--transparent: hsla(189, 100%, 37%, 0.1);
    --md-accent-bg-color: hsla(0, 0%, 100%, 1);
    --md-accent-bg-color--light: hsla(0, 0%, 100%, 0.7);
  }

  :root > * {

    /* Code block color shades */
    --md-code-bg-color: hsla(0, 0%, 96%, 1);
    --md-code-fg-color: hsla(200, 18%, 26%, 1);

    /* Footer */
    --md-footer-bg-color: #861f41;
    --md-footer-bg-color--dark: hsla(0, 0%, 0%, 0.32);
    --md-footer-fg-color: hsla(0, 0%, 100%, 1);
    --md-footer-fg-color--light: hsla(0, 0%, 100%, 0.7);
    --md-footer-fg-color--lighter: hsla(0, 0%, 100%, 0.3);
  }

Modifiez ensuite mkdocs.yml

extra_css:
  - stylesheets/extra.css

Archiver et Compresser un fichier ou un dossier

Si vous voulez archiver des documents sous une forme compressée deux étapes sont obligatoires : - Créer une archive, - Compresser cette archive.

Réalisez les deux opérations en même temps avec L'utilitaire "tar" dans le terminal en tapant :

cd /chemin_vers_l'endroit_où_se_situe_votre_fichier_ou_votre_dossier/

puis validez et ensuite tapez :

tar -czvf archive.tar.gz nom_du_fichier_ou_du_dossier

puis validez.

  • "archive.tar.gz" est l'archive qui sera créée,
  • -czvf est l'ordre de créer l'archive, de la compresser en utilisant le fichier ou le dossier de manière verbeuse (bavarde),
  • puis vient le "nom du fichier ou du dossier".

Votre archive est créée à l'endroit que vous aurez choisi.

Créer un raccourci sur le bureau

Avec le terminal allez dans le répertoire "Bureau" :

cd Bureau

Puis tapez :

ln -s ~/Documents/Bricolage Bricolage

(si on veut par exemple copier sur le Bureau un dossier "Bricolage" qui se trouverait dans "Documents").

La commande cat et le chevron > :

  • exemple : on crée et on écrit dans "monfichier" en terminant par "ctrl + D

cat > monfichier

  • On peut ajouter du texte à "monfichier" :

cat >> monfichier

  • en terminant également par ctrl + `D

La commande "history"

  • comme son nom l'indique, retrace tout l'historique des commandes passées en console.

  • faire !xxx ou xxx est le numéro de la ligne du history pour refaire la commande passée.

  • Il existe un man history.

  • Ctrl-R pour rechercher une commande tapée précédemment.

  • Conserver votre historique dans un fichier texte sur votre Bureau : dans votre terminal tapez successivement :

  • cd Bureau

  • history > mon_historique.txt

Administration Linux :

  • https://linux.goffinet.org/

Les pages Github :

  • https://docs.github.com/fr/pages

ACER : arrêt impossible :

  • nano /etc/default/grub puis,
  • GRUB_CMDLINE_LINUX_DEFAULT="pci=nocrs" puis,
  • sudo update-grub

Le paquet grml-rescueboot

  • facilite l'intégration du démarrage des ISOs au menu GRUB

MAJ automatique

  • sudo apt-get install unattended-upgrades

Reconfiguration d'un paquet

  • avec la commande dpkg-reconfigure

Antisèches :

  • https://devhints.io/
  • https://blog.shevarezo.fr/post/2018/08/02/devhints-io-collection-cheatsheets-langages
  • https://devdocs.io/

Connexion refusée sous LightDM

  • La francisation avec setxkbmap fr ne persiste pas au reboot
  • Certains ont résolu le problème en supprimant tout texte dans /etc/lightdm/lightdm.conf, par exemple avec le traitement de texte nano :

  • sudo nano /etc/lightdm/lightdm.conf

  • supprimer tout texte, sauvegarder (Ctrl O), puis rebooter.

  • essai :

sudo systemctl stop lightdm

sudo dpkg-reconfigure keyboard-configuration

sudo systemctl start lightdm

  • solution ? :

`sudo dpkg-reconfigure keyboard-configuration\

  • Solution :

Dans ibus --> preference et dans l'onglet: input method ajouter ou enlever un clavier et aussi dans keyboard.

Piratebox

  • Pour ce qui concerne le matériel :

https://pirateboxfr.com/matos/

  • Le logiciel de la PirateBox ne semble plus maintenu.

Un équivalent possible, la moodlebox :

https://moodlebox.net/fr/

Son créateur Nicolas Martignoni :

https://blog.martignoni.net/a-propos/

La Brique Internet :

  • https://labriqueinter.net/

Quel formatage pour une clé USB ?

1 fat32 attention taille du fichier !

2 NTFS

3 exFAT a utiliser de préférence si le système est récent car pas de limitation.

Fonctionnement de l'ordinateur :

  • http://chezlescartier.free.fr/Micro_inf/Micro_informatique.htm

Installation MAJ firmware :

  • https://en.m.wikipedia.org/wiki/Fwupd

Imprimer un calendrier :

  • Aller sur le Bureau : cd /Bureau puis

  • cal 2025 > moncalendrier.txt

QR code pour le Wifi de sa Box..

La connexion à votre box est protégée par un long et compliqué mot de passe qui est pénible de partager à vos invités chaque fois qu'ils viennent chez vous.

A l'aide d'un QR code que la plupart des smartphones comprennent on peut facilement communiquer les informations WiFi d'une box. Certaines le proposent comme la box de Bouygues telecom d'autres non comme celle d'Orange.

Des sites Web proposent gratuitement la création d'un QR code en leur fournissant seulement 3 données : le SSID (le nom du réseau ou celui de la box), le type de sécurité (WPA ou WEP), et le mot de passe.

Sinon il est possible de créer en ligne de commande ce genre de QR code avec le programme qrencode.

Exemple :

qrencode -o qrcode_a_scanner_pour_acceder_a_internet.png 'WIFI:S:nom_de_ma_box;T:WPA;P:mon_mot_de_passe_compliqué;;'

qrcode.png

LTSP

Linux Terminal Server Project (LTSP) permet de démarrer des machines connectées sur le réseau et sans disque dur à partir de fichiers téléchargés du serveur LTSP.

  • Testé à l'aide de GNOME Boxes entre une machine cliente sans système d'exploitation et sans disque dur, et une machine Xubuntu 20.04 servant de serveur LTSP. (N.B. : Utiliser les paramètres par défaut).

  • Comme GNOME Boxes utilise QEMU, KVM et libvirt, nous pouvons voir les machines virtuelles dans Virtual Machine Manager (virt-manager). Le démarrage de la VM cliente est un peu long.

  • Choisir l'ISO contenant le chargeur de démarrage réseau iPXE. Le projet donne d'autres possibilités comme l'installation du paquet grub-ipxe sur une installation Linux existante afin d'ajouter un option de démarrage au menu GRUB.

  • Un serveur puissant, des raspberry pi en pagaille, et voilà une infra à faible coût pour votre entreprise, votre école, votre salle de jeu ou cybercafé.

  • On pourrait utiliser LTSP à Linux Challans pour ses futurs ateliers.

Mail en SSH

  • Petite astuce pour l'envoi d’un mail et d'informations sur le système lors d’une connexion SSH sur une machine distante (serveur SSH):

Installation de la commande mail pour Ubuntu/Debian/LinuxMint :

sudo apt-get install mailutils

On modifie ou créer avec un editeur de fichier : /etc/ssh/sshrc

sudo nano /etc/ssh/sshrc

On copie :

ip=echo $SSH_CONNECTION | cut -d " " -f 1

host= "hostname -f"

dat="date "+%d.%m.%Y--%Hh%Mm"

dns="dig -x $ip +short"

logger -t ssh-wrapper $USER login from $ip

echo "User $USER just logged in from $ip ($dns) on $dat" | mail -s "SSH connection on $host" <votre adresse mail>

Où renseigne t on les propriétés du serveur SMTP ? Lors de l'installation du paquet mailutils ?

Sur un serveur SMTP configuré (postfix ou autre) et un nom de domaine , il est probablement plus facile à installer pour utiliser la commande mail .

Envoyer des mails sans avoir à configurer son propre serveur de messagerie MTA en installant le client SMTP msmtp.

  • msmtp est un client SMTP très simple et facile à configurer pour l'envoi de courriels.
  • Son mode de fonctionnement par défaut consiste à transférer les courriels au serveur SMTP que vous aurez indiqué dans sa configuration. Ce dernier se chargera de distribuer les courriels à leurs destinataires.
  • Il est entièrement compatible avec sendmail, prend en charge le transport sécurisé TLS, les comptes multiples, diverses méthodes d’authentification et les notifications de distribution.

msmtp est la solution idéale si vous avez besoin que votre serveur vous envoie les courriels de notifications.

Source : https://doc.ubuntu-fr.org/msmtp

Pour envoyer un mail avec msmtp nous devons donc installer les paquets msmtp msmtp-mta, configurer le fichier /etc/msmtprc avec les paramètres donnés par le fournisseur du service de messagerie (Gmail, OVH, Infomaniak, etc.), et enfin appeler le programme en lui passant le corps du message en paramètre.

Plus d'info à l'adresse https://doc.ubuntu-fr.org/tutoriel/comment_envoyer_un_mail_par_smtp_en_ligne_de_commande et https://www.systutorials.com/docs/linux/man/1-msmtp/

Installation de la commande screenfetch pour les informations systeme pour Ubuntu/Debian/LinuxMint :

Pour l'avoir, si pas présente (avec ubuntu par exemple) :

  • sudo apt-get install screenfetch

Puis :

  • screenfetch

  • Plus d'infos : https://memo-linux.com/screenfetch-affiche-les-informations-de-votre-linux-dans-un-terminal/

  • Vous pouvez obtenir les informations de screenfetch à chaque fois que vous ouvrez une nouvelle fenêtre de terminal en l'ajoutant à votre fichier bashrc. Tapez ce qui suit dans une fenêtre de terminal pour éditer votre fichier bashrc :

sudo nano ~/.bashrc

Utilisez la flèche vers le bas pour aller à la fin du fichier et écrire :

if [ -f /usr/bin/screenfetch ]; then screenfetch; fi

Cette commande vérifie l'existence de screenfetch dans le répertoire /usr/bin et si c'est le cas, elle l'exécute.

  • plus d'infos : https://www.lifewire.com/show-system-information-terminal-with-screenfetch-2201159

Réseau TCP/IP

Vous souhaitez comprendre les bases du fonctionnement des réseaux TCP/IP alors ce cours d'Eric Lalitte est pour vous !

https://openclassrooms.com/fr/courses/857447-apprenez-le-fonctionnement-des-reseaux-tcp-ip

UBOUND

  • Le DNS de votre FAI n'est pas toujours très sympa en matière d’anonymité.

  • Vous pouvez l'installer en local ou sur votre propre machine en dhcp ou ip fixe.

Pour la configuration et la doc:

https://homeserver-diy.net/wiki/index.php?title=Installer_et_configurer_son_serveur_DNS_connecté_aux_serveurs_root_avec_Unbound

https://memo-linux.com/debian-installer-le-serveur-dns-unbound

https://doc.ubuntu-fr.org/unbound

en anglais:

https://www.unbound.net/documentation/unbound.conf.html

Pour la résolution des noms de domaine, on peut utiliser les serveurs DNS publics de OpenNIC.

Comme il n'est pas possible de modifier ceux renseignés dans ceertaines box, paramètrez l'interface réseau en DHCP (adresse seulement) ou manuel et renseignez l'adresse IP de ces serveurs avec 2 IP récupérées sur leur site https://www.opennic.org/

en anglais :

A local DNS server may cache and respond more quickly than querying an outside name server.

When one queries for www.FreeBSD.org, the resolver usually queries the uplink ISP's name server, and retrieves the reply. With a local, caching DNS server, the query only has to be made once to the outside world by the caching DNS server. Additional queries will not have to go outside the local network, since the information is cached locally.

En d'autres termes, l'utilisation d'un serveur DNS local tel que Unbound offre des temps de réponse meilleurs que ceux d'un serveur externe. L'accès aux pages web déjà visitées est donc accéléré.

Prise de contrôle à distance