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 :
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.
- Un équivalent possible, la moodlebox, son créateur : Nicolas Martignoni
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 >> monfichier
en 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 /Bureaupuis -
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_commandeethttps://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 ~/.bashrcet 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 :
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 ?).