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