Skip to content

Linux

Choisir sa distribution

  • DistroChooser : https://distrochooser.de/fr
  • Debian : https://www.debian.org/
  • Ubuntu : https://ubuntu.com/
  • Mint : https://linuxmint.com/
  • Pop'OS : https://pop.system76.com/
  • Guix : https://guix.gnu.org/
  • /e/OS : https://e.foundation/fr/e-os/
  • Distrowatch : https://distrowatch.com/

Ligne de commande

  • http://nmesnier.free.fr/tips.html#historique-des-commandes

  • https://cdn.hostinger.com/tutorials/pdf/Linux-Commands-Cheatsheet-FR.pdf

Réparer

  • https://recoverit.wondershare.fr/

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"

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/

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

  • Créer en ligne de commande un 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é;;'

Réseau TCP/IP

Le cours d'Eric Lalitte :

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

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

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.

Imprimer un calendrier :

Aller sur le Bureau : cd /Bureau puis

cal 2025 > moncalendrier.txt

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

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

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

L'environnement virtuel en Python

sudo apt update

sudo apt upgrade

Vérifiez que Python 3.x et pip sont bien installés :

python3 --version

pip --version

N.B. : installer Python3-full de préférence.

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

Créer un environnement virtuel venv :

cd mon_projet

python3 -m venv venv

Toutes les dépendances y sont installées.

Activer votre environnement :

source venv/bin/activate

Votre environnement virtuel (venv) apparaît :

(venv) user@hostname:~/mon_projet

Installer les dépendances avec pip.

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

Pour désactiver l'environnement :

deactivate

Pour supprimer l’environnement virtuel :

rm -rf venv

Installer mdbook

installer Rust (rustup)

  • Ouvrir un terminal avec CTRL Alt T

  • curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

  • répondre : 1 (press enter)

Variable d'environnement PATH

  • le répertoire où se trouvent rustc, cargo, rustup : ~/.cargo/bin

  • inclure ce répertoire dans PATH :

  • echo $PATH pour visualiser la variable puis ouvrir nano ~/.bashrc et y coller :

export PATH=$PATH:~/.cargo/bin

  • Mettre à jour le shell : source ~/.bashrc
  • vérifier : echo $PATH

  • Pour définir PATH globalement : nano /etc/environment ou nano /etc/profile et ajouter le chemin du répertoire.

mdbook

cargo install mdbook pour les mises à jour : cargo install mdbook

  • installer la dernière version (avec git)

cargo install --git https://github.com/rust-lang/mdBook.git mdbook

  • vérifier : mdbook --version

  • nouveau projet : mdbook init monmdbook

  • structure :

.book

.book.toml

    .src

        .SUMMARY.md

        .chapter 1.md
  • puis ajouter les chapitres dans SUMMARY.md

Compiler

Installer - sudo apt install build-essential

Code source à télécharger

  • apt-get source packagename

ou

  • git clone https://github.com/path-to-the-repo

ou depuis le site officiel

  • wget ou curl pour obtenir les tar.gz

N.B. ---> apprendre à tarer

  • tar -czvf nom-de-l-archive.tar.gz /chemin/vers/répertoire-ou-fichier

    – c : crée un archive. – z : compresse l’archive avec gzip. – v : mode verbeux, affiche la progression. – f : permet de spécifier le nom du fichier d’archive.

et à détarer :

  • tar -xzvf archive.tar.gz

x à la place de c !!!

Lancer le script de configuration :

  • ./configure

crée le makefile.

N.B. ---> si erreur : c'est qu'il manque un package, une librairie ou d'autres outlls (librairie de développement type "libxxx-dev")

Les drapeaux

Les paramètres du script de configuration = drapeaux (flags)

./configure --conf-path=/chemin/fichier/conf/nginx.conf

Compiler avec Make

Le fichier Makefile définit les tâches à accomplir lors de la compilation d'après le script de configuration. (en-têtes des variables, flags et dépendances).

  • lancer make

Installer le logiciel dans le système

  • sudo make install

GIT

PWD # affiche nom et chemin du répertoire courant. ls # affiche la liste des fichiers. cd # change de répertoire. mkdir # crée un nouveau répertoire. touch # crée unfichier. mv # renome ou déplace des fichiers.

  • Intaller GIT : https://gitforwindows.org/

  • Paramétrer GIT : git config git config --global user.name "papinou" # renseigner le nom. git config --global user.email papinou85300@.gmail.com # renseigner l'email. git config user.name # pour vérifier le nom. git config user.email # pour vérifier l'email. git config --global core.editor nom_de_votre_editeur # choisir son éditeur.

  • Initialiser un dépôt GIT (à partir d'un répertoire existant) : git init dans ce répertoire --> d'où création du sous répertoire .git. git status # pour voir les fichiers (pas sous suivi de version : "untracked", pas validés\ en base ("commit") ni ajoutés pour validation), branche sur laquelle on se trouve (master).

  • Indexer les fichiers puis les valider en base (premier historique de version) : git add + nom de fichier ou nom d'un répertoire ou "fileglob" (par exemple *.txt ou ?).

La commande xdg-open

  • pour ouvrir un dossier avec le gestionnaire de fichiers depuis le terminal

  • pour ouvrir une url avec le navigateur depuis le terminal