Ubuntu
- Ubtunu - installation libcaca
- Ubuntu - Commandes utiles
- Ubuntu - Exemple configuration Netplan
- Ubuntu - système de fichier
Ubtunu - installation libcaca
lib caca est une librairie python qui, couplée à un parseur de lien permet de jouer une video dans le terminal en faisant une conversion directe du flus vidéo en Ascii art.
Bien que n'ayant aucune réelle utilité en soi, cela peut être drôle lorsque utilisé sur un honeypot par exemple.
Pour l'installer :
sudo apt update
sudo apt install python3.12-venv caca-utils mpv
Initialiser le venv python avec :
python3 -m venv venv
source venv/bin/activate
Installer le convertisseur de flux dans le venv :
python3 -m pip install yt-dlp
Pour lancer une vidéo :
mpv -vo caca <lien de video> 2>/dev/null
Pour interrompre la video : 'ctrl+c'
Ubuntu - Commandes utiles
I. Commandes génériques
Récupérer l’historique des commandes entrées :
history
Voir le répertoire courant :
pwd
Voir avec quel utilisateur l'on est connecté :
whoami
Astuce : Pour filtrer le résultat d'une commande, ajouter : | grep "chainedecaractèreàrechercher"
II. Ressources systèmes
lancer le ressource monitor :
htop
voir les processus et leurs PID :
psaux
III. Disques & partitions
Voir sur quels SCSI et contrôleurs sont les disques :
lsblk --scsi
voir l'ensemble des chemins des disques et points de montages :
lsblk
Voir l'utilisation des disques :
df -H
Rescanner la capacité disque après un extend :
echo 1>/sys/class/block/sdd/device/rescan
ou
echo 1>/sys/class/scsi_device/X:X:X:X/device/block/device/rescan
Voir le top 10 des fichiers les plus volumineux :
du -ah /path/to/dir | sort -rh | head -n 10
IV. traitement des logs
Voir un log en live :
tail -f /chemin/vers/le/log
Supprimer les logs plus vieux que x jours :
find /var/log/ -type f -mtime +<nbjours> -exec rm -f {} \;
Archiver les logs plus vieux que x jours :
find /var/log/ -type f -mtime +<nbjours> -exec gz {} \;
Voir le top 10 des fichiers les plus lourds :
find /var/log -type f -exec du -Sh {} + | sort -rh | head -n 10
Vider toutes les lignes sauf les n dernières :
echo "$(tail -1000 /var/log/messages)" > /var/log/messages
echo -e "\n### Log reduced via purge command at $(date) ###\n" >> /var/log/messages
V. Date / Heure
Vérifier la date et l'heure :
timedatectl
Trouver la timezone et la paramétrer :
timedatectl list-timezones | grep <motclédelatimezone>
timedatectl set-timezone Region/Location
Ou pour le Paramétrer en UTC
timedatectl set-timezone UTC
Définir la date et l'heure :
timedatectl set-time yyyy-mm-dd
timedatectl set-time hh:mm:ss
Changer la source NTP :
Pour changer le serveur source de temps : Editer le fichier '/etc/systemd/timesyncd.conf'.
Redémarrer le service ntp :
systemctl restart systemd-timesyncd
VI. raccourcis VIM
copier les x prochaines lignes : xyy (exemple pour 3 lignes : 3yy)
couper les x prochaines lignes : xdd (exemple pour 3 lignes : 3dd)
coller la ou les ligne(s) copiées/coupées : p
chercher une chaîne de caractères : /chainedecaractères (pour chercher l'occurence suivante, appuyer sur 'n')
enregistrer : :w
eregistrer et quitter : :wq
quitter : :q
quitter sans enregistrer : :q!
Ubuntu - Exemple configuration Netplan
I. Nouveau format (ipfixe):
network:
ethernets:
eth0:
dhcp4: false
addresses: [192.168.1.253/24]
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
routes:
- to: default
via: 192.168.1.254
version: 2
II. En WIFI
network:
version: 2
wifis:
wlp3s0:
dhcp4: no
dhcp6: no
addresses: [192.168.80.222/24]
nameservers:
addresses: [192.168.80.1, 8.8.8.8]
access-points:
"bssid":
password: "pass"
routes:
- to: default
via: 192.168.80.32
III. Avec LAGG et VLAN
network:
version: 2
renderer: NetworkManager
bonds:
bond0:
dhcp4: no
interfaces: [enp4s0,enp0s31f6]
parameters:
lacp-rate: fast
mode: 802.3ad
transmit-hash-policy: layer2
mii-monitor-interval: 100
ethernets:
enp4s0: {}
enp0s31f6: {}
vlans:
bond0.30:
dhcp4: no
addresses: [192.168.1.225/24]
gateway4: 192.168.1.254
id: 30
link: bond0
routes:
-to: 238.0.0.0
via: 192.168.1.225
bond0.31:
dhcp4: no
addresses: [172.20.6.225/16]
gateway4: 172.20.0.254
id: 31
link: bond0
bond0.33:
dhcp4: no
addresses: [192.168.33.95/24]
gateway4: 192.168.33.254
id: 33
link: bond0
nameservers:
addresses: [192.168.33.11, 192.168.33.12]
Ubuntu - système de fichier
Les systèmes de fichiers linux sont la plupars du temps organisés comme suit:
/ (la racine du système)
- /bin (Utilitaires et programmes pour l'utilisateur)
- commandes principales du systèmes
- interpreteurs de commandes (sh, bash, ...)
- outils d'administrations systèmes (sudo, su, passwd, ...)
- outils de manipulation de texte (grep, sed, awk, ...)
- outils de compressions (tar, zip, gzip, ...)
- utilitaires réseaux (ping, ifconfig, ssh, ...)
- /boot (Noyaux système et fichiers associés)
- Images du noyau
- Images du fichier RAM
- secteurs de boot
- /dev (Composants et périphériques reconnus par le système)
- /etc (Fichiers de configuration du système et des services)
- crontab (gestionaire de tâche)
- hosts (fichier host)
- hostname (nom de la machine)
- passwd (liste des utilisateurs et leurs mots de passes Hashés)
- groups (liste des groupes et de leurs membres
- /etc/fstab (montage des disques et volumes au démarrage)
- /home (Répertoires utilisateurs et leurs environements)
- /lib (Librairies partagées par les programmes et composants système)
- /lost+founds (Présent sur chaque point de montage, contient des fichiers de récupération en cas de problèmes)
- /media ( Points de montage des périphériques retirables. ex: clé usb, lecteur CD, image iso, ...)
- /mnt (Points de montage pour les disques ou volumes montés manuellement)
- /opt (Répertoire d'installation pour les logiciels 'optionnels' ou installés manuellement)
- /proc (Système de fichier virtuel contenant des mappages en lecture vers les fichiers du Kernel)
- /root (Répertoire personnel de l'administrateur système)
- /sbin (Utilitaires et programes systèmes, souvent réservé au sperutilisateur)
- /tmp (Stockage pour les fichiers temporaires. Selon la configuration, se vide à chaque redémarrage)
- /usr (Programmes et fichiers de support utilisés par les utilisateurs)
- /usr/bin (Programmes exécutables installés par la distribution linux utilisée)
- /usr/lib (Librairies partagées pour les programes dans /usr/bin)
- /usr/local (Programmes non fournis par la distribution mais nécéssitant d'être exécutés par le système)
- /usr/sbin (Utilitaires d'administrations systèmes additionnels)
- /usr/share (Données partagées utilisées par les programmes. Icônes, fichiers de configurations par défaut, ...)
- /usr/share/doc (Documentation des logiciels additionnels installés sur le système. Organisés par paquets)
- /var (Toutes les données dynamiques ou variables du systèmes et des logiciels)
- /var/log (Fichiers journaux du système et des applications)