Aller au contenu

LINUX

LIENS

Appréhender GNU/Linux :
Choisir sa distribution
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").

Réparer
La Ligne de commande
Administration Linux :
Github :
Réseau TCP/IP

Le cours d'Eric Lalitte :

Antisèches :
Fonctionnement de l'ordinateur :
Installation MAJ firmware :
Piratebox
  • Pour ce qui concerne le matériel : le matos

Le logiciel de la PirateBox ne semble plus maintenu.

La Brique Internet :

LES COMMANDES

Les Bases :
  • 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 un fichier.
  • mv : renomme ou déplace des fichiers.
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.

Le paquet grml-rescueboot :
  • facilite l'intégration du démarrage des ISOs au menu GRUB
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.

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

Il existe un man history.

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

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

cd Bureau

history > mon_historique.txt

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

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 >> monfichieren terminant également par "ctrl +D"

MAJ AUTOMATIQUE

avec le terminal
  • sudo apt-get install unattended-upgrades

RECONFIGURER un PAQUET

avec la commande
  • dpkg-reconfigure

IMPRIMER un CALENDRIER :

pour l'imprimer
  • Aller sur le Bureau : cd /Bureau puis

  • cal 2025 > moncalendrier.txt

QR CODE pour WIFI de sa BOX

Créer en ligne de commande un QR code avec le programme qrencode :

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

ACER : arrêt impossible

pour rendre l'arrêt possible :

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

REFUS de francisation sous LightDM

pour essayer de corriger le problème
  • 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.

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

une astuce ?
  • 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"

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

Installer le client SMTP msmtp.

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

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

LE RESEAU 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

MKDOCS

Mkdocs : modifier les couleurs
  • 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);
Mcdocs en français
  • Avec le terminal et pip, installez mkdocs[il18n] :

pip install mkdocs[i18n]

  • Ensuite modifiez le fichier mkdocs.yml :
theme:
     name: mkdocs
     language: fr

Mkdocs : pieds de pages avec flèches de direction

  • modifier le fichier mkdocs.yml :
theme
  features:
    - navigation.footer

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.

Installer 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

VIRTUALISER EN PYTHON

La méthode :

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

COMPILER

Installer le compilateur :
  • 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

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

N.B. ---> Les drapeaux sont des paramètres du script de configuration = (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

Intaller GIT :

GIT

Paramétrer GIT :

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